1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
3 
4 #include "nimbase.h"
5 #include <string.h>
6 #include <math.h>
7 #include <setjmp.h>
8 #undef LANGUAGE_C
9 #undef MIPSEB
10 #undef MIPSEL
11 #undef PPC
12 #undef R3000
13 #undef R4000
14 #undef i386
15 #undef linux
16 #undef mips
17 #undef near
18 #undef far
19 #undef powerpc
20 #undef unix
21 #define nimfr_(x, y)
22 #define nimln_(x, y)
23 typedef struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w;
24 typedef struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ;
25 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
26 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
27 typedef struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug;
28 typedef struct RootObj RootObj;
29 typedef struct TNimType TNimType;
30 typedef struct TNimNode TNimNode;
31 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
32 typedef struct tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw;
33 typedef struct tySequence__eiMlYcU7NrAOGD2H36QOOQ tySequence__eiMlYcU7NrAOGD2H36QOOQ;
34 typedef struct tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ;
35 typedef struct tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg;
36 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
37 typedef struct tySequence__oYkV9aFZe0MXcEAprJaOUsA tySequence__oYkV9aFZe0MXcEAprJaOUsA;
38 typedef struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q;
39 typedef struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA tySequence__Mh9agqM29bm9aP5AUL1x7dZGA;
40 typedef struct tySequence__arD7Tw6eD6lvOczWZl9buNg tySequence__arD7Tw6eD6lvOczWZl9buNg;
41 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
42 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
43 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
44 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
45 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
46 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
47 typedef struct tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw;
48 typedef struct tySequence__jWKvSdankQPoT5bw9cBU9aiw tySequence__jWKvSdankQPoT5bw9cBU9aiw;
49 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
50 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
51 typedef struct NimStringDesc NimStringDesc;
52 typedef struct TGenericSeq TGenericSeq;
53 typedef struct tySequence__xSqu3cxq5WeFlOO3YgE6yA tySequence__xSqu3cxq5WeFlOO3YgE6yA;
54 typedef struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w;
55 typedef struct tySequence__Bis5AbpONWcIRrPyPJS8Yw tySequence__Bis5AbpONWcIRrPyPJS8Yw;
56 typedef struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w;
57 typedef struct tySequence__E8pi9b5QNahsURYzXMjh3qw tySequence__E8pi9b5QNahsURYzXMjh3qw;
58 typedef struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ;
59 typedef struct tySequence__Hkw5zrAn53wlKDHdJF1GFA tySequence__Hkw5zrAn53wlKDHdJF1GFA;
60 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
61 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
62 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
63 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
64 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
65 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
66 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
67 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
68 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
69 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
70 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
71 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
72 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
73 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
74 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
75 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
76 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
77 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
78 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
79 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
80 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
81 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
82 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
83 typedef struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ tySequence__4mZLwkxT8rbt9bf3wXrXYNQ;
84 typedef struct tySequence__rQHmYk1HzcwNxKBymIFHpA tySequence__rQHmYk1HzcwNxKBymIFHpA;
85 typedef struct tySequence__XMM60DtBsc6xYsIpNANkrA tySequence__XMM60DtBsc6xYsIpNANkrA;
86 typedef struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw;
87 typedef struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg;
88 typedef struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg;
89 typedef struct tySequence__mWRMiYLthG9coLjkbElCxkw tySequence__mWRMiYLthG9coLjkbElCxkw;
90 typedef struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyObject_Table__iowAVDkco3qpbEH0z8OmkQ;
91 typedef struct tySequence__bTDCDwD2P7TodzbAefLcSw tySequence__bTDCDwD2P7TodzbAefLcSw;
92 typedef struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w;
93 typedef struct tySequence__3MPVXAHA08SszBrU4ffqEg tySequence__3MPVXAHA08SszBrU4ffqEg;
94 typedef struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw tyObject_Table__KcymdZjUsmGSK8BxmvoJgw;
95 typedef struct tySequence__YCf5zJHm4JI06qpmKwPUWg tySequence__YCf5zJHm4JI06qpmKwPUWg;
96 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
97 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
98 typedef struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ;
99 typedef struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA;
100 typedef struct tySequence__61s9cbAniKuBrdHwBhMDfQg tySequence__61s9cbAniKuBrdHwBhMDfQg;
101 typedef struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA tyObject_Table__fdKWDDO1P17zvuQPReVgRA;
102 typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
103 typedef struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ;
104 typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
105 typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
106 typedef struct tySequence__s9byh6WFJ16lPMcmqdaMTHA tySequence__s9byh6WFJ16lPMcmqdaMTHA;
107 typedef struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw tyObject_Table__Ue6w4c82v7gc7t2qntTbAw;
108 typedef struct tySequence__1U9bG8RcAedEeYkQLZjVFKA tySequence__1U9bG8RcAedEeYkQLZjVFKA;
109 typedef struct tyObject_Table__G1v8c16HePOldLeucwe05Q tyObject_Table__G1v8c16HePOldLeucwe05Q;
110 typedef struct tySequence__fIB1rTQ55aFonoft9a9bmljQ tySequence__fIB1rTQ55aFonoft9a9bmljQ;
111 typedef struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA;
112 typedef struct tySequence__23SMqauuRsbDANhthj9bWlA tySequence__23SMqauuRsbDANhthj9bWlA;
113 typedef struct tyObject_Table__NttoEzoiq5CiphZe81oadg tyObject_Table__NttoEzoiq5CiphZe81oadg;
114 typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
115 typedef struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg tyObject_Table__nagDFX4QHx0s6Fvma9blmSg;
116 typedef struct tySequence__pHNq3oXj9av2sEUdqaqeZjw tySequence__pHNq3oXj9av2sEUdqaqeZjw;
117 typedef struct tySequence__MAQKEADohlpnXTModtugbQ tySequence__MAQKEADohlpnXTModtugbQ;
118 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
119 typedef struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA;
120 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
121 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
122 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
123 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
124 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
125 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
126 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
127 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
128 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
129 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
130 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
131 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
132 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
133 typedef struct tySequence__1I3cxybVrOXM64KW2dfERQ tySequence__1I3cxybVrOXM64KW2dfERQ;
134 typedef struct tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ;
135 typedef struct tyObject_TIdentIter__Oi4goG2ACEsy9cyTe6OCPrA tyObject_TIdentIter__Oi4goG2ACEsy9cyTe6OCPrA;
136 typedef struct tyObject_ModuleIter__AFia9bW3IpMpX9c1vt0AhLlA tyObject_ModuleIter__AFia9bW3IpMpX9c1vt0AhLlA;
137 typedef struct tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg;
138 typedef struct tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw;
139 typedef struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw tySequence__vC9cvg0R8tfBaOXXi3sfMzw;
140 typedef struct tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA;
141 typedef struct tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ;
142 typedef struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA;
143 typedef struct tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ;
144 typedef struct tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg;
145 typedef struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA tyObject_Int128__9a9axPfb75jdWY25AamJewkA;
146 typedef struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA;
147 typedef struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg;
148 typedef struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ;
149 typedef struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ;
150 typedef struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA tySequence__ipEvhpHAmm8ZCn9bZAOdNYA;
151 typedef struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ;
152 typedef struct tySequence__0dpGN6F4ocevqUQGsaf41w tySequence__0dpGN6F4ocevqUQGsaf41w;
153 typedef struct tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ;
154 typedef struct tySequence__u9c10b19cqoKPxYSuh3ZKtIw tySequence__u9c10b19cqoKPxYSuh3ZKtIw;
155 typedef struct tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ;
156 typedef struct tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w;
157 typedef struct tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w;
158 typedef struct tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw;
159 typedef struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA;
160 typedef struct tyTuple__7rlNEhvBksZh9a9asniQIl9aQ tyTuple__7rlNEhvBksZh9a9asniQIl9aQ;
161 typedef struct tyTuple__ZtAk5YtH0VW1iPowvxePrg tyTuple__ZtAk5YtH0VW1iPowvxePrg;
162 typedef struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw;
163 typedef struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA;
164 typedef struct Exception Exception;
165 typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
166 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
167 typedef struct tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg;
168 typedef struct tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA;
169 typedef struct tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw;
170 typedef struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA;
171 typedef struct tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw;
172 typedef struct TSafePoint TSafePoint;
173 typedef struct tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw;
174 typedef struct tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ;
175 typedef struct tyObject_HSlice__fqLtJsaN5foHLgxLTScotw tyObject_HSlice__fqLtJsaN5foHLgxLTScotw;
176 typedef struct tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA;
177 typedef struct tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ;
178 typedef struct tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA;
179 typedef struct tyObject_TFieldsCtx__Oumniq9anVI0B7eyXhL1U9cw tyObject_TFieldsCtx__Oumniq9anVI0B7eyXhL1U9cw;
180 typedef struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w;
181 typedef struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ;
182 typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
183 typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
184 typedef struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw;
185 typedef struct tySequence__29bS0n2QNyO1R7e0qMMOvLA tySequence__29bS0n2QNyO1R7e0qMMOvLA;
186 typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
187 typedef struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg tySequence__REuPuHuSlOkZ0Q5oqzDrQg;
188 typedef struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA tySequence__I9aQmO9asXXWJ58UI9c8BCSzA;
189 typedef struct tySequence__NyaOkf8ZwxP6rkRF5TOkew tySequence__NyaOkf8ZwxP6rkRF5TOkew;
190 typedef struct tySequence__L9bOt8CaTEmIjgtuZvp6syg tySequence__L9bOt8CaTEmIjgtuZvp6syg;
191 typedef struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ tySequence__im8UB2GsZvUaQ4a1wKGWhQ;
192 typedef struct tySequence__xxnXDLpoqBo8zJzP9b1073g tySequence__xxnXDLpoqBo8zJzP9b1073g;
193 typedef struct tySequence__DfmUmNgVGnYaiV1I6227tw tySequence__DfmUmNgVGnYaiV1I6227tw;
194 typedef struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA tySequence__t8Uv4lEJ4lkuECvP9c6JMhA;
195 typedef struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg;
196 typedef struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ;
197 typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
198 typedef struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g tyObject_Table__CE4eiu6FavV1vmUiTXQ70g;
199 typedef struct tySequence__9bT7o0CflHuiE4VhmtqBPCw tySequence__9bT7o0CflHuiE4VhmtqBPCw;
200 typedef struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA;
201 typedef struct tySequence__vv5mGmK03BCr5e3LTZA5Hw tySequence__vv5mGmK03BCr5e3LTZA5Hw;
202 typedef struct tyTuple__KNXySARiHvEh2wA9asnyYmw tyTuple__KNXySARiHvEh2wA9asnyYmw;
203 typedef struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ;
204 typedef struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg;
205 typedef struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ tyTuple__NAaJgGVgNmlGoqmiWxdOHQ;
206 typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
207 typedef struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag tyTuple__Y6Ewh3MCxsjd1bsriN6Gag;
208 typedef struct tySequence__vGU8AyGT6KxtLJwEg0BpNw tySequence__vGU8AyGT6KxtLJwEg0BpNw;
209 typedef struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw tyTuple__KvKIqRIx9anKcDMu8DPSkHw;
210 typedef struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw;
211 typedef struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q tyObject_Table__TRm6MPqklA8EYBmBMY117Q;
212 typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
213 typedef struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ;
214 typedef struct tySequence__O5RcspOP32YJ4YtU5ppxxA tySequence__O5RcspOP32YJ4YtU5ppxxA;
215 typedef struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg;
216 typedef struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg tyTuple__o67sDX0wYbEuhI9cJYAbDtg;
217 typedef struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q tyTuple__9aNnDWBFMF44sfFinBpMT4Q;
218 typedef struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg;
219 typedef struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g tySequence__159bHWBGAOOs6U7OZ9cQlO0g;
220 typedef struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ tyTuple__VrD6plbUKJjYKM0lCr3hGQ;
221 typedef struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA tyTuple__1ZbjBgxAbnye0IFMZ6w4OA;
222 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
223 typedef struct tyTuple__rplX06U9bjhu9asm5pWdgqsA tyTuple__rplX06U9bjhu9asm5pWdgqsA;
224 typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
225 typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
226 typedef struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A;
227 typedef struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ tyTuple__3i6hlQmqrn6m7tuVN8FHjQ;
228 typedef struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw tyTuple__OJFzEczluV8Jmo9bRpBfkzw;
229 typedef struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw;
230 typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
231 typedef struct tyTuple__wcNatyuf8WOqAhGLhSvgiw tyTuple__wcNatyuf8WOqAhGLhSvgiw;
232 typedef struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg;
233 typedef struct tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g;
234 typedef struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ;
235 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
236 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
237 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
238 typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
239 typedef struct tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA;
240 typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
241 typedef struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow;
242 typedef struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg;
243 typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
244 typedef struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA tyTuple__Q7r9caOmeWqQGZCIBHhGRUA;
245 typedef struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg;
246 typedef struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw tyTuple__XyJ8LOAZzVVXSsmt09b8uWw;
247 typedef struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA;
248 typedef struct tyTuple__9aoobCDZB4x41HJSOmh0mwA tyTuple__9aoobCDZB4x41HJSOmh0mwA;
249 typedef struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA tyTuple__g0Q6Qx15nK53ce9aLo7YyrA;
250 typedef struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw;
251 typedef struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw;
252 typedef struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA;
253 typedef struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ;
254 typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
255 struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
256 NI32 module;
257 NI32 symId;
258 NI32 typeId_0;
259 NIM_BOOL sealed;
260 };
261 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
262 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
263 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
264 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
265 struct TNimType {
266 NI size;
267 NI align;
268 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
269 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
270 TNimType* base;
271 TNimNode* node;
272 void* finalizer;
273 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
274 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
275 };
276 struct RootObj {
277 TNimType* m_type;
278 };
279 struct tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w {
280   RootObj Sup;
281 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
282 };
283 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__d88NmFOoQ1OEoX9af4f9aptg[38];
284 struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q {
285 NI counter;
286 tySequence__Mh9agqM29bm9aP5AUL1x7dZGA* data;
287 };
288 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__RcJNn9bSvWdJgUmA1O6sbHA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
289 typedef NU32 tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ;
290 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__39auogS0nN05zO6JrT7za9cQ) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
291 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__DZXD9cPwIfL76eNszoUR9aVA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
292 typedef struct {
293 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
294 void* ClE_0;
295 } tyProc__7JwrY3AhkVNlleAJXClX9cw;
296 typedef NU32 tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
297 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);
298 typedef N_NIMCALL_PTR(tyObject_TType__facALICuu8zUj0hjvbTLFg*, tyProc__IDzB9bjws1yntQXPpMRrBvA) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
299 typedef struct {
300 N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
301 void* ClE_0;
302 } tyProc__3cacbJ4la9bDJNibHybQSnA;
303 typedef struct {
304 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);
305 void* ClE_0;
306 } tyProc__fMj9boIZZOt9cLWRnD3rtKhA;
307 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
308 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
309 NI elems;
310 NI counter;
311 NI max;
312 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
313 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
314 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
315 };
316 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
317 NI counter;
318 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
319 };
320 typedef NU8 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg;
321 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);
322 struct TGenericSeq {
323 NI len;
324 NI reserved;
325 };
326 struct NimStringDesc {
327   TGenericSeq Sup;
328 NIM_CHAR data[SEQ_DECL_SIZE];
329 };
330 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
331 struct tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w {
332 tySequence__Bis5AbpONWcIRrPyPJS8Yw* data;
333 NI counter;
334 };
335 struct tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w {
336 tySequence__E8pi9b5QNahsURYzXMjh3qw* data;
337 NI counter;
338 };
339 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
340 NU16 line;
341 NI16 col;
342 NI32 fileIndex;
343 };
344 struct tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ {
345 tySequence__Hkw5zrAn53wlKDHdJF1GFA* data;
346 NI counter;
347 };
348 struct tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug {
349   tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w Sup;
350 tyObject_TType__facALICuu8zUj0hjvbTLFg* enforceVoidContext;
351 tyObject_TType__facALICuu8zUj0hjvbTLFg* voidType;
352 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
353 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* currentScope;
354 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* moduleScope;
355 tySequence__eiMlYcU7NrAOGD2H36QOOQ* imports;
356 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* topLevelScope;
357 tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* p;
358 tyArray__d88NmFOoQ1OEoX9af4f9aptg intTypeCache;
359 tyObject_TType__facALICuu8zUj0hjvbTLFg* nilTypeCache;
360 tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* matchedConcept;
361 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* friendModules;
362 NI instCounter;
363 NI* templInstCounter;
364 NI inGenericContext;
365 NI inStaticContext;
366 NI inUnrolledContext;
367 NI compilesContextId;
368 NI compilesContextIdGenerator;
369 NI inGenericInst;
370 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* converters;
371 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* patterns;
372 tySequence__oYkV9aFZe0MXcEAprJaOUsA* optionStack;
373 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q symMapping;
374 tySequence__arD7Tw6eD6lvOczWZl9buNg* libs;
375 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstExpr;
376 tyProc__39auogS0nN05zO6JrT7za9cQ semExpr;
377 tyProc__39auogS0nN05zO6JrT7za9cQ semTryExpr;
378 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semTryConstExpr;
379 tyProc__DZXD9cPwIfL76eNszoUR9aVA computeRequiresInit;
380 tyProc__7JwrY3AhkVNlleAJXClX9cw hasUnresolvedArgs;
381 tyProc__39auogS0nN05zO6JrT7za9cQ semOperand;
382 tyProc__RcJNn9bSvWdJgUmA1O6sbHA semConstBoolExpr;
383 tyProc__qlV9aWvA5wrWVg9bI5PqwJyA semOverloadedCall;
384 tyProc__IDzB9bjws1yntQXPpMRrBvA semTypeNode;
385 tyProc__3cacbJ4la9bDJNibHybQSnA semInferredLambda;
386 tyProc__fMj9boIZZOt9cLWRnD3rtKhA semGenerateInstance;
387 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA includedFiles;
388 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA pureEnumFields;
389 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA userPragmas;
390 tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* evalContext;
391 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA unknownIdents;
392 tySequence__jWKvSdankQPoT5bw9cBU9aiw* generics;
393 NI topStmts;
394 NI lastGenericIdx;
395 NI hloLoopDetector;
396 NI inParallelStmt;
397 tyProc__zh0Qj9bYHDZFnJnPjcxz6NQ instTypeBoundOp;
398 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* selfName;
399 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
400 tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph;
401 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA signatures;
402 NimStringDesc* recursiveDep;
403 NIM_BOOL suggestionsMade;
404 NIM_BOOL isAmbiguous;
405 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
406 NI inTypeContext;
407 NI inConceptDecl;
408 tySequence__xSqu3cxq5WeFlOO3YgE6yA* unusedImports;
409 tyObject_HashSet__Gy4haGrophX9bC5RxnPAc6w exportIndirections;
410 tyObject_Table__Ea0e9azliYta9cYyn0d49ah0w importModuleMap;
411 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastTLineInfo;
412 tyObject_Table__svXG3o7j9bfi6HJT79cNF29cQ sideEffects;
413 NI inUncheckedAssignSection;
414 };
415 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
416 NI refcount;
417 TNimType* typ;
418 };
419 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
420 void* bottom;
421 };
422 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
423 NI len;
424 NI cap;
425 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
426 };
427 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
428 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
429 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
430 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
431 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
432 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
433 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
434 };
435 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
436 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
437 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
438 NI key;
439 NI upperBound;
440 NI level;
441 };
442 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
443 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
444 NI Field1;
445 };
446 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
447 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
448 NI len;
449 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
450 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
451 };
452 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
453 NI minLargeObj;
454 NI maxLargeObj;
455 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
456 NU32 flBitmap;
457 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
458 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
459 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
460 NI currMem;
461 NI maxMem;
462 NI freeMem;
463 NI occ;
464 NI lastSize;
465 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
466 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
467 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
468 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
469 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
470 NIM_BOOL locked;
471 NIM_BOOL blockChunkSizeIncrease;
472 NI nextChunkSize;
473 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
474 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
475 };
476 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
477 NI stackScans;
478 NI cycleCollections;
479 NI maxThreshold;
480 NI maxStackSize;
481 NI maxStackCells;
482 NI cycleTableSize;
483 NI64 maxPause;
484 };
485 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
486 NI counter;
487 NI max;
488 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
489 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
490 };
491 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
492 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
493 NI cycleThreshold;
494 NI zctThreshold;
495 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
496 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
497 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
498 NI recGcLock;
499 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
500 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
501 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
502 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
503 NI gcThreadId;
504 };
505 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
506 NI32 module;
507 NI32 item;
508 };
509 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
510   RootObj Sup;
511 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
512 };
513 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
514 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
515 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
516 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
517 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
518 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
519 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
520 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
521 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
522 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
523 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
524 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
525 };
526 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
527   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
528 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
529 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
530 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
531 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
532 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
533 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
534 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
535 NI64 size;
536 NI16 align;
537 NI16 paddingAtEnd;
538 NI16 lockLevel;
539 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
540 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
541 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
542 };
543 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
544 NimStringDesc* Field0;
545 NI Field1;
546 NI Field2;
547 };
548 struct tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw {
549 tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg* data;
550 NI counter;
551 };
552 struct tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg {
553 tySequence__mWRMiYLthG9coLjkbElCxkw* data;
554 NI counter;
555 };
556 struct tyObject_Table__iowAVDkco3qpbEH0z8OmkQ {
557 tySequence__bTDCDwD2P7TodzbAefLcSw* data;
558 NI counter;
559 };
560 typedef tyObject_Table__iowAVDkco3qpbEH0z8OmkQ tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ[5];
561 struct tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w {
562 tySequence__3MPVXAHA08SszBrU4ffqEg* data;
563 NI counter;
564 };
565 struct tyObject_Table__KcymdZjUsmGSK8BxmvoJgw {
566 tySequence__YCf5zJHm4JI06qpmKwPUWg* data;
567 NI counter;
568 };
569 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
570 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
571 NI counter;
572 };
573 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
574 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
575 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
576 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
577 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
578 struct tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ {
579 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
580 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
581 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
582 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
583 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
584 };
585 struct tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA {
586 tySequence__61s9cbAniKuBrdHwBhMDfQg* data;
587 NI counter;
588 };
589 struct tyObject_Table__fdKWDDO1P17zvuQPReVgRA {
590 tySequence__fdmz6VkIf1ewwrssKYqRFg* data;
591 NI counter;
592 };
593 struct tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ {
594 tySequence__kxu4GK0onha2t9bo86mdVAg* data;
595 NI counter;
596 };
597 typedef struct {
598 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
599 void* ClE_0;
600 } tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
601 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__9bjuenwQUcqO3lbmS2wX7uA[65];
602 struct tyObject_Table__Ue6w4c82v7gc7t2qntTbAw {
603 tySequence__1U9bG8RcAedEeYkQLZjVFKA* data;
604 NI counter;
605 };
606 struct tyObject_Table__G1v8c16HePOldLeucwe05Q {
607 tySequence__fIB1rTQ55aFonoft9a9bmljQ* data;
608 NI counter;
609 };
610 typedef N_NIMCALL_PTR(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, tyProc__VHDwJFdIqpwtpUGuxiXUwg) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
611 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__mjUN9alLJ31lnSKkUsuyWMw) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, NI32 fileIdx);
612 struct tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA {
613 tySequence__23SMqauuRsbDANhthj9bWlA* data;
614 NI counter;
615 };
616 struct tyObject_Table__NttoEzoiq5CiphZe81oadg {
617 tySequence__squ9b9bUH4OLHf6cEMrt6hVA* data;
618 NI counter;
619 };
620 struct tyObject_Table__nagDFX4QHx0s6Fvma9blmSg {
621 tySequence__pHNq3oXj9av2sEUdqaqeZjw* data;
622 NI counter;
623 };
624 typedef N_NIMCALL_PTR(void, tyProc__TjycsqkDBjsxd4da6KYTng) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
625 typedef N_NIMCALL_PTR(void, tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
626 typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__J7Jq15ZScfKLqcLx8sEz9cA) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
627 struct tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA {
628 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opNot;
629 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opContains;
630 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLe;
631 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLt;
632 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAnd;
633 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opOr;
634 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opIsNil;
635 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opEq;
636 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opAdd;
637 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opSub;
638 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opMul;
639 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opDiv;
640 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* opLen;
641 };
642 struct tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ {
643 tySequence__4mZLwkxT8rbt9bf3wXrXYNQ* ifaces;
644 tySequence__rQHmYk1HzcwNxKBymIFHpA* packed_0;
645 tySequence__XMM60DtBsc6xYsIpNANkrA* encoders;
646 tyObject_Table__ZqXrnX212T9bCb4lhpQ9bFBw typeInstCache;
647 tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg procInstCache;
648 tyArray__pxY9cgs6r9cBvGwlO8XZ9ccbQ attachedOps;
649 tyObject_Table__KUYGGgSxi8wBr0SXET9bi3w methodsPerType;
650 tyObject_Table__KcymdZjUsmGSK8BxmvoJgw enumToStringProcs;
651 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA emittedTypeInfo;
652 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ startupPackedConfig;
653 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageSyms;
654 tyObject_Table__hd3qB0wXU9bWPJR7fjShhbA modulesPerPackage;
655 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA deps;
656 tyObject_Table__fdKWDDO1P17zvuQPReVgRA importDeps;
657 NIM_BOOL suggestMode;
658 NIM_BOOL invalidTransitiveClosure;
659 tyObject_Table__e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
660 tySequence__48JTohSgTy339bRxHzUD8KA* importStack;
661 RootObj* backend;
662 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
663 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
664 RootObj* vm;
665 tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
666 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* usageSym;
667 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* owners;
668 tySequence__s9byh6WFJ16lPMcmqdaMTHA* methods;
669 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* systemModule;
670 tyArray__9bjuenwQUcqO3lbmS2wX7uA sysTypes;
671 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA compilerprocs;
672 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA exposed;
673 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA packageTypes;
674 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* emptyNode;
675 tyObject_Table__Ue6w4c82v7gc7t2qntTbAw canonTypes;
676 tyObject_Table__G1v8c16HePOldLeucwe05Q symBodyHashes;
677 tyProc__VHDwJFdIqpwtpUGuxiXUwg importModuleCallback;
678 tyProc__mjUN9alLJ31lnSKkUsuyWMw includeFileCallback;
679 tyObject_Table__0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
680 tyObject_Table__NttoEzoiq5CiphZe81oadg cacheCounters;
681 tyObject_Table__nagDFX4QHx0s6Fvma9blmSg cacheTables;
682 tySequence__MAQKEADohlpnXTModtugbQ* passes;
683 tyProc__TjycsqkDBjsxd4da6KYTng onDefinition;
684 tyProc__TjycsqkDBjsxd4da6KYTng onDefinitionResolveForward;
685 tyProc__TjycsqkDBjsxd4da6KYTng onUsage;
686 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
687 tyProc__Mrj9cEgtPER9bAXMDB9cTXrfQ strongSemCheck;
688 tyProc__J7Jq15ZScfKLqcLx8sEz9cA compatibleProps;
689 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
690 tyObject_Operators__EbMP71azE1HSvYAQoCH9cXA operators;
691 };
692 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
693 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
694 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
695 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
696   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
697 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
698 union{
699 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
700 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
701 } _kind_1;
702 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
703 NI bitsize;
704 NI alignment;
705 } _kind_2;
706 };
707 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
708 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
709 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
710 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
711 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
712 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
713 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
714 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
715 NI position;
716 NI offset;
717 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
718 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
719 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
720 };
721 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
722 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
723 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
724 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
725 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
726 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
727 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
728 union{
729 struct {NI64 intVal;
730 } _kind_1;
731 struct {NF floatVal;
732 } _kind_2;
733 struct {NimStringDesc* strVal;
734 } _kind_3;
735 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
736 } _kind_4;
737 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
738 } _kind_5;
739 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
740 } _kind_6;
741 };
742 };
743 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
744 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
745 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
746 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
747 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
748 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
749 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
750 NI intSize;
751 NI floatSize;
752 NI ptrSize;
753 NimStringDesc* tnl;
754 };
755 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
756 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
757 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
758 NIM_BOOL trackPosAttached;
759 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
760 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
761 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
762 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
763 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
764 NI32 systemFileIdx;
765 };
766 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
767 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
768 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
769 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
770 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
771 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
772 NI counter;
773 };
774 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
775 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
776 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
777 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
778 NI Field0;
779 NI Field1;
780 NI Field2;
781 };
782 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
783 typedef struct {
784 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
785 void* ClE_0;
786 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
787 typedef struct {
788 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
789 void* ClE_0;
790 } tyProc__k2HFjxisIgDALbEUFojxaQ;
791 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
792 typedef struct {
793 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
794 void* ClE_0;
795 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
796 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
797 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
798 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
799 NI linesCompiled;
800 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
801 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
802 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
803 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
804 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
805 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
806 NimStringDesc* unitSep;
807 NI evalTemplateCounter;
808 NI evalMacroCounter;
809 NI8 exitcode;
810 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
811 NimStringDesc* cmdInput;
812 NIM_BOOL projectIsCmd;
813 NIM_BOOL implicitCmd;
814 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
815 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
816 NIM_BOOL hintProcessingDots;
817 NI verbosity;
818 NI numberOfProcessors;
819 NF lastCmdTime;
820 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
821 NI spellSuggestMax;
822 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
823 NimStringDesc* headerFile;
824 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
825 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
826 NimStringDesc* arguments;
827 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
828 NIM_BOOL oldNewlines;
829 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
830 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
831 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
832 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
833 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
834 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
835 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
836 NI mainPackageId;
837 NI errorCounter;
838 NI hintCounter;
839 NI warnCounter;
840 NI errorMax;
841 NI maxLoopIterationsVM;
842 NIM_BOOL isVmTrace;
843 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
844 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
845 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
846 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
847 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
848 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
849 NimStringDesc* outFile;
850 NimStringDesc* outDir;
851 NimStringDesc* jsonBuildFile;
852 NimStringDesc* prefixDir;
853 NimStringDesc* libpath;
854 NimStringDesc* nimcacheDir;
855 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
856 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
857 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
858 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
859 NimStringDesc* projectName;
860 NimStringDesc* projectPath;
861 NimStringDesc* projectFull;
862 NIM_BOOL projectIsStdin;
863 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
864 NI32 projectMainIdx;
865 NI32 projectMainIdx2;
866 NimStringDesc* command;
867 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
868 NimStringDesc* commandLine;
869 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
870 NIM_BOOL keepComments;
871 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
872 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
873 NimStringDesc* docSeeSrcUrl;
874 NimStringDesc* docRoot;
875 NimStringDesc* docCmd;
876 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
877 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
878 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
879 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
880 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
881 NimStringDesc* linkOptionsCmd;
882 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
883 NimStringDesc* linkOptions;
884 NimStringDesc* compileOptions;
885 NimStringDesc* cCompilerPath;
886 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
887 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
888 NI suggestVersion;
889 NI suggestMaxResults;
890 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
891 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
892 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
893 NimStringDesc* cppCustomNamespace;
894 NimStringDesc* nimMainPrefix;
895 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
896 };
897 typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
898 typedef NU8 tySet_tyEnum_TLookupFlag__ObWMY5GMSl1GiMcrKaAhKQ;
899 typedef NU8 tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ;
900 struct tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ {
901 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
902 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* resultSym;
903 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* selfSym;
904 NI nestedLoopCounter;
905 NI nestedBlockCounter;
906 tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* next;
907 NIM_BOOL mappingExists;
908 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q mapping;
909 tySequence__1I3cxybVrOXM64KW2dfERQ* caseContext;
910 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* localBindStmts;
911 };
912 typedef NU8 tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA;
913 struct tyObject_TIdentIter__Oi4goG2ACEsy9cyTe6OCPrA {
914 NI h;
915 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
916 };
917 struct tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw {
918 NI lastModule;
919 NU32 lastLit;
920 NI32 lastFile;
921 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
922 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
923 };
924 struct tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg {
925 tyObject_PackedDecoder__mJy59aKs7COuW5kZ9cw8pGKw decoder;
926 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* values;
927 NI i;
928 NI module;
929 };
930 struct tyObject_ModuleIter__AFia9bW3IpMpX9c1vt0AhLlA {
931 NIM_BOOL fromRod;
932 NI modIndex;
933 tyObject_TIdentIter__Oi4goG2ACEsy9cyTe6OCPrA ti;
934 tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
935 NIM_BOOL importHidden;
936 };
937 typedef NU8 tyEnum_TOverloadIterMode__xCku9a0wtzKQQBbzX1t6btg;
938 struct tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ {
939 tyObject_TIdentIter__Oi4goG2ACEsy9cyTe6OCPrA it;
940 tyObject_ModuleIter__AFia9bW3IpMpX9c1vt0AhLlA mit;
941 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
942 tyEnum_TOverloadIterMode__xCku9a0wtzKQQBbzX1t6btg mode;
943 NI symChoiceIndex;
944 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* currentScope;
945 NI importIdx;
946 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA marked;
947 };
948 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
949 typedef NU8 tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
950 typedef NU8 tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
951 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
952 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
953 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
954 typedef NU8 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw;
955 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
956 NI id;
957 NimStringDesc* s;
958 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
959 NI h;
960 };
961 typedef NU16 tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw;
962 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
963 struct TNimNode {
964 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
965 NI offset;
966 TNimType* typ;
967 NCSTRING name;
968 NI len;
969 TNimNode** sons;
970 };
971 typedef NU8 tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug;
972 typedef NU8 tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw[21];
973 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
974 typedef NU8 tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g;
975 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__AB6yfoUgfWM2NtGe9bzkCmw[2];
976 typedef tyObject_TType__facALICuu8zUj0hjvbTLFg* tyArray__D9ckBqsoLaohN9chYb6MLT6w[2];
977 typedef NU8 tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw;
978 typedef NU8 tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA;
979 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__jlWPjgtbdjE069arIWHC9c9bg[1];
980 typedef NU8 tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg;
981 typedef NU8 tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w;
982 struct tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ {
983 tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w kind;
984 NI arg;
985 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* formal;
986 };
987 struct tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA {
988 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
989 NI exactMatches;
990 NI genericMatches;
991 NI subtypeMatches;
992 NI intConvMatches;
993 NI convMatches;
994 tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg state;
995 tyObject_TType__facALICuu8zUj0hjvbTLFg* callee;
996 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* calleeSym;
997 NI calleeScope;
998 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
999 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q bindings;
1000 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1001 NIM_BOOL baseTypeMatch;
1002 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag fauxMatch;
1003 NIM_BOOL genericConverter;
1004 NIM_BOOL coerceDistincts;
1005 NIM_BOOL typedescMatched;
1006 NIM_BOOL isNoCall;
1007 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* inferredTypes;
1008 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* diagnostics;
1009 NI inheritancePenalty;
1010 tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ firstMismatch;
1011 NIM_BOOL diagnosticsEnabled;
1012 };
1013 struct tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg {
1014 tyObject_TType__facALICuu8zUj0hjvbTLFg* candidateType;
1015 tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* prev;
1016 NI depth;
1017 };
1018 struct tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw {
1019 NI depthLevel;
1020 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA symbols;
1021 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* parent;
1022 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* allowPrivateAccess;
1023 };
1024 struct tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA {
1025 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
1026 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* concreteTypes;
1027 NI compilesId;
1028 };
1029 struct tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg {
1030 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
1031 tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap;
1032 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q symMap;
1033 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q localCache;
1034 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
1035 NIM_BOOL allowMetaTypes;
1036 NIM_BOOL skipTypedesc;
1037 NIM_BOOL isReturnType;
1038 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
1039 NI recursionLimit;
1040 };
1041 typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
1042 struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA {
1043 tyArray__FleBT9cC2nxhgiXmSYYnEKA udata;
1044 };
1045 typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
1046 struct tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ {
1047 NU32 module;
1048 NI32 item;
1049 };
1050 struct tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ {
1051 NI module;
1052 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ packed_0;
1053 };
1054 struct tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg {
1055 NI module;
1056 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ sym;
1057 tySequence__ipEvhpHAmm8ZCn9bZAOdNYA* concreteTypes;
1058 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
1059 };
1060 typedef NU8 tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg;
1061 struct tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ {
1062 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* genericSym;
1063 tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
1064 };
1065 typedef NU8 tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw[37];
1066 typedef NU8 tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ;
1067 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__T6RKPw8xfAeNaoei9aZGzXg[3];
1068 struct tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ {
1069 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
1070 tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ firstMismatch;
1071 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* diagnostics;
1072 NIM_BOOL enabled;
1073 };
1074 struct tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ {
1075 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
1076 NI Field1;
1077 };
1078 typedef NU16 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw;
1079 typedef tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* tyArray__O7BaHX6ctEz6BpjFNHWCFQ[8192];
1080 struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw {
1081 tyArray__O7BaHX6ctEz6BpjFNHWCFQ buckets;
1082 NI wordCounter;
1083 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* idAnon;
1084 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* idDelegator;
1085 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* emptyIdent;
1086 };
1087 struct tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w {
1088 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
1089 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA defaultCC;
1090 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* dynlib;
1091 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
1092 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
1093 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* otherPragmas;
1094 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
1095 };
1096 struct tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w {
1097 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA toMixin;
1098 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA toBind;
1099 NIM_BOOL cursorInBody;
1100 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bracketExpr;
1101 };
1102 typedef NU8 tySet_tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA;
1103 typedef NU8 tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA;
1104 struct tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ {
1105 tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q topLayer;
1106 tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* nextLayer;
1107 };
1108 struct tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw {
1109 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
1110 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA toBind;
1111 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA toMixin;
1112 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA toInject;
1113 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
1114 NIM_BOOL cursorInBody;
1115 NI scopeN;
1116 NI noGenSym;
1117 NI inTemplateHeader;
1118 };
1119 struct tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA {
1120 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
1121 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
1122 };
1123 struct tyTuple__7rlNEhvBksZh9a9asniQIl9aQ {
1124 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
1125 NIM_BOOL Field1;
1126 };
1127 typedef NimStringDesc* tyArray__24KAM9afIUgUaqBaEBB6r9bg[3];
1128 typedef NU8 tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg;
1129 typedef NU8 tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
1130 typedef NU8 tySet_tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg[35];
1131 typedef NU8 tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag;
1132 typedef NU8 tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw;
1133 typedef NU8 tySet_tyEnum_TTypeRelFlag__oebzuK0gHqNtaStfyppjAg;
1134 typedef NU8 tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ;
1135 typedef NU8 tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA;
1136 typedef struct {
1137 N_NIMCALL_PTR(NI, ClP_0) (NimStringDesc* x, NimStringDesc* y, void* ClE_0);
1138 void* ClE_0;
1139 } tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA;
1140 typedef N_CLOSURE_PTR(NI, TM__rF9caJawfOjYTjsgLVUSGFA_294) (NimStringDesc* x, NimStringDesc* y);
1141 typedef N_CLOSURE_PTR(NI, TM__rF9caJawfOjYTjsgLVUSGFA_295) (NimStringDesc* x, NimStringDesc* y);
1142 typedef N_CLOSURE_PTR(NI, TM__rF9caJawfOjYTjsgLVUSGFA_296) (NimStringDesc* x, NimStringDesc* y, void* ClE_0);
1143 struct tyTuple__ZtAk5YtH0VW1iPowvxePrg {
1144 tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw Field0;
1145 NimStringDesc* Field1;
1146 };
1147 typedef NU8 tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w;
1148 struct Exception {
1149   RootObj Sup;
1150 Exception* parent;
1151 NCSTRING name;
1152 NimStringDesc* message;
1153 tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
1154 Exception* up;
1155 };
1156 struct tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA {
1157   Exception Sup;
1158 };
1159 struct tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw {
1160   tyObject_CatchableError__qrLSDoe2oBoAqNtJ9badtnA Sup;
1161 };
1162 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
1163 NimStringDesc* fullPath;
1164 NimStringDesc* projPath;
1165 NimStringDesc* shortName;
1166 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
1167 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
1168 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
1169 NimStringDesc* dirtyFile;
1170 NimStringDesc* hash;
1171 NIM_BOOL dirty;
1172 };
1173 typedef NimStringDesc* tyArray__nr38yHugp0nuiB6VarJGiw[2];
1174 struct tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg {
1175   RootObj Sup;
1176 NI colonstate_;
1177 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c1;
1178 tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope2;
1179 };
1180 typedef struct {
1181 N_NIMCALL_PTR(void, ClP_0) (tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* args, void* ClE_0);
1182 void* ClE_0;
1183 } tyProc__5QC9cKfPJmKuW0XbCTd8ylA;
1184 struct tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw {
1185   RootObj Sup;
1186 NI colonstate_;
1187 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* orig1;
1188 };
1189 typedef struct {
1190 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);
1191 void* ClE_0;
1192 } tyProc__9aCo26f5IRYbBmS07lBztwA;
1193 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);
1194 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);
1195 typedef NU8 tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg;
1196 typedef NU8 tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg;
1197 typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
1198 struct tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA {
1199 NI a;
1200 NI b;
1201 };
1202 typedef NU8 tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog;
1203 typedef NU tyArray__VqSA39cBDWnwnJySTumCdjw[8];
1204 struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA {
1205 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* next;
1206 NI key;
1207 tyArray__VqSA39cBDWnwnJySTumCdjw bits;
1208 };
1209 struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA {
1210   RootObj Sup;
1211 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* left;
1212 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* right;
1213 NI L;
1214 NimStringDesc* data;
1215 };
1216 struct tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw {
1217 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
1218 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initExpr;
1219 NIM_BOOL needsFullInit;
1220 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* missingFields;
1221 };
1222 typedef NU8 tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ;
1223 struct TSafePoint {
1224 TSafePoint* prev;
1225 NI status;
1226 jmp_buf context;
1227 };
1228 struct tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw {
1229 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field0;
1230 NI Field1;
1231 };
1232 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__voNMFnIDThVNu9afe2zfZWA[5];
1233 typedef NU8 tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw;
1234 struct tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ {
1235 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw a;
1236 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw b;
1237 };
1238 struct tyObject_HSlice__fqLtJsaN5foHLgxLTScotw {
1239 tyObject_Int128__9a9axPfb75jdWY25AamJewkA a;
1240 tyObject_Int128__9a9axPfb75jdWY25AamJewkA b;
1241 };
1242 typedef NU8 tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA;
1243 struct tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA {
1244 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag a;
1245 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag b;
1246 };
1247 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__cypz0nHJsd9cnKgpO7fP5hQ[1];
1248 typedef NimStringDesc* tyArray__Q6RksR9bl1dCf8jl3HeN9bXg[8];
1249 typedef NU8 tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw;
1250 typedef NU8 tyEnum_TSpawnResult__YOcUu9brt5AKRflRWdxATPw;
1251 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);
1252 typedef NU8 tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg;
1253 struct tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ {
1254   RootObj Sup;
1255 NI colonstate_;
1256 tyObject_TType__facALICuu8zUj0hjvbTLFg* genericType1;
1257 };
1258 typedef struct {
1259 N_NIMCALL_PTR(NIM_BOOL, ClP_0) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, void* ClE_0);
1260 void* ClE_0;
1261 } tyProc__u9aP1I541s9an9cuSAzDOz9bTg;
1262 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_810) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1263 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_811) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1264 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_812) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1265 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_815) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1266 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_822) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1267 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_827) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1268 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_828) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1269 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_829) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1270 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_831) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1271 struct tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA {
1272 tyObject_TType__facALICuu8zUj0hjvbTLFg* tupleType;
1273 NI tupleIndex;
1274 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
1275 NIM_BOOL replaceByFieldName;
1276 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
1277 };
1278 struct tyObject_TFieldsCtx__Oumniq9anVI0B7eyXhL1U9cw {
1279 tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
1280 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m;
1281 };
1282 typedef NU8 tyEnum_TSymKind__uwRDzlpaGW5WJzgBn4R8Eg;
1283 typedef NU8 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q;
1284 struct tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw {
1285 tySequence__29bS0n2QNyO1R7e0qMMOvLA* nodes;
1286 };
1287 typedef NU8 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g;
1288 struct tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg {
1289 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* vals;
1290 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
1291 };
1292 struct tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ {
1293 tySequence__IHUFRsFxZNv7YydiUO2esQ* vals;
1294 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* keys;
1295 };
1296 struct tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ {
1297 NimStringDesc* definedSymbols;
1298 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw moduleFlags;
1299 tySequence__PXIzfWocnrafGz5p3CP5LA* includes;
1300 tySequence__9bAGqSvkAaFL9bWjsEPslrFA* imports;
1301 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw toReplay;
1302 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw topLevel;
1303 tyObject_PackedTree__8otSrA7MENGYESDkEP7nnw bodies;
1304 tySequence__b89aLriiJnVTD186H6zNIgg* exports;
1305 tySequence__b89aLriiJnVTD186H6zNIgg* hidden;
1306 tySequence__REuPuHuSlOkZ0Q5oqzDrQg* reexports;
1307 tySequence__b89aLriiJnVTD186H6zNIgg* compilerProcs;
1308 tySequence__48JTohSgTy339bRxHzUD8KA* converters;
1309 tySequence__48JTohSgTy339bRxHzUD8KA* methods;
1310 tySequence__48JTohSgTy339bRxHzUD8KA* trmacros;
1311 tySequence__48JTohSgTy339bRxHzUD8KA* pureEnums;
1312 tySequence__I9aQmO9asXXWJ58UI9c8BCSzA* macroUsages;
1313 tySequence__NyaOkf8ZwxP6rkRF5TOkew* typeInstCache;
1314 tySequence__L9bOt8CaTEmIjgtuZvp6syg* procInstCache;
1315 tySequence__im8UB2GsZvUaQ4a1wKGWhQ* attachedOps;
1316 tySequence__xxnXDLpoqBo8zJzP9b1073g* methodsPerType;
1317 tySequence__NyaOkf8ZwxP6rkRF5TOkew* enumToStringProcs;
1318 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* emittedTypeInfo;
1319 tySet_tyEnum_ModuleBackendFlag__fgnyOEZ7Q9aYVj8O59afcT4g backendFlags;
1320 tySequence__DfmUmNgVGnYaiV1I6227tw* syms;
1321 tySequence__t8Uv4lEJ4lkuECvP9c6JMhA* types;
1322 tyObject_BiTable__SMd2CpsYscvX1veKoGcqmg strings;
1323 tyObject_BiTable__DyMEQOe8VsqcG49bIhU69bBQ numbers;
1324 tyObject_PackedConfig__McwvRupqDAJbGrinIDFZJQ cfg;
1325 };
1326 struct tyObject_Table__CE4eiu6FavV1vmUiTXQ70g {
1327 tySequence__9bT7o0CflHuiE4VhmtqBPCw* data;
1328 NI counter;
1329 };
1330 struct tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w {
1331 tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q status;
1332 NIM_BOOL symsInit;
1333 NIM_BOOL typesInit;
1334 NIM_BOOL loadedButAliveSetChanged;
1335 tyObject_PackedModule__ZSxNoR2V6oK5xosmtvhjNQ fromDisk;
1336 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* syms;
1337 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* types;
1338 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
1339 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g iface;
1340 tyObject_Table__CE4eiu6FavV1vmUiTXQ70g ifaceHidden;
1341 };
1342 struct tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA {
1343 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module;
1344 tySequence__vv5mGmK03BCr5e3LTZA5Hw* converters;
1345 tySequence__vv5mGmK03BCr5e3LTZA5Hw* patterns;
1346 tySequence__vv5mGmK03BCr5e3LTZA5Hw* pureEnums;
1347 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interf;
1348 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA interfHidden;
1349 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* uniqueName;
1350 };
1351 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);
1352 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);
1353 typedef N_CLOSURE_PTR(NIM_BOOL, TM__rF9caJawfOjYTjsgLVUSGFA_978) (tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, void* ClE_0);
1354 struct tyTuple__KNXySARiHvEh2wA9asnyYmw {
1355 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field0;
1356 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field1;
1357 };
1358 typedef NU8 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ;
1359 struct tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ {
1360 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
1361 tyEnum_ImportMode__OHfXXgrGOSWpZv16VYg4yQ mode;
1362 union{
1363 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA imported;
1364 } _mode_2;
1365 struct {tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA exceptSet;
1366 } _mode_3;
1367 };
1368 };
1369 struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg {
1370 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key;
1371 RootObj* val;
1372 };
1373 struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
1374 NI Field0;
1375 NI Field1;
1376 };
1377 struct tyTuple__NAaJgGVgNmlGoqmiWxdOHQ {
1378 NI Field0;
1379 tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ Field1;
1380 };
1381 struct tyTuple__KvKIqRIx9anKcDMu8DPSkHw {
1382 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
1383 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
1384 };
1385 struct tyTuple__Y6Ewh3MCxsjd1bsriN6Gag {
1386 NI Field0;
1387 NI Field1;
1388 tySequence__vGU8AyGT6KxtLJwEg0BpNw* Field2;
1389 };
1390 struct tyObject_Table__TRm6MPqklA8EYBmBMY117Q {
1391 tySequence__9cnx3zXnWzeclW8Ko4oUgAQ* data;
1392 NI counter;
1393 };
1394 struct tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw {
1395 NI32 thisModule;
1396 NI32 lastFile;
1397 NU32 lastLit;
1398 tyObject_Table__TRm6MPqklA8EYBmBMY117Q filenames;
1399 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* pendingTypes;
1400 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* pendingSyms;
1401 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA typeMarker;
1402 tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA symMarker;
1403 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config;
1404 };
1405 struct tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg {
1406 tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ id;
1407 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
1408 };
1409 struct tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ {
1410 NI Field0;
1411 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1412 tySequence__O5RcspOP32YJ4YtU5ppxxA* Field2;
1413 };
1414 struct tyTuple__o67sDX0wYbEuhI9cJYAbDtg {
1415 NI Field0;
1416 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1417 tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA* Field2;
1418 };
1419 struct tyTuple__9aNnDWBFMF44sfFinBpMT4Q {
1420 NI Field0;
1421 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1422 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field2;
1423 };
1424 struct tyTuple__VrD6plbUKJjYKM0lCr3hGQ {
1425 NI Field0;
1426 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field1;
1427 };
1428 struct tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg {
1429 NI Field0;
1430 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1431 tySequence__159bHWBGAOOs6U7OZ9cQlO0g* Field2;
1432 };
1433 struct tyTuple__1ZbjBgxAbnye0IFMZ6w4OA {
1434 NI Field0;
1435 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1436 tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA Field2;
1437 };
1438 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
1439 NI Field0;
1440 NimStringDesc* Field1;
1441 NI32 Field2;
1442 };
1443 struct tyTuple__rplX06U9bjhu9asm5pWdgqsA {
1444 NI Field0;
1445 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g Field1;
1446 tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA Field2;
1447 };
1448 struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
1449 NI Field0;
1450 NI32 Field1;
1451 tySequence__48JTohSgTy339bRxHzUD8KA* Field2;
1452 };
1453 struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
1454 NI Field0;
1455 NI32 Field1;
1456 NI32 Field2;
1457 };
1458 struct tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A {
1459 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* Field0;
1460 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* Field1;
1461 };
1462 typedef NU8 tyArray__qtqsWM5aXmcpMIVmvq3kAA[16];
1463 struct tyTuple__3i6hlQmqrn6m7tuVN8FHjQ {
1464 NI Field0;
1465 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field1;
1466 tyObject_TType__facALICuu8zUj0hjvbTLFg* Field2;
1467 };
1468 struct tyTuple__OJFzEczluV8Jmo9bRpBfkzw {
1469 NI Field0;
1470 NI Field1;
1471 tyArray__qtqsWM5aXmcpMIVmvq3kAA Field2;
1472 };
1473 struct tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw {
1474 NI Field0;
1475 NimStringDesc* Field1;
1476 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* Field2;
1477 };
1478 struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
1479 NI Field0;
1480 NimStringDesc* Field1;
1481 NI64 Field2;
1482 };
1483 struct tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg {
1484 tyObject_NodecolonObjectType___dNELmBSmY7nthjhZupWO6g* root;
1485 NI entries;
1486 };
1487 struct tyTuple__wcNatyuf8WOqAhGLhSvgiw {
1488 NI Field0;
1489 NimStringDesc* Field1;
1490 tyObject_BTree__VZdzO0Tlflp7WMN4gS8oPg Field2;
1491 };
1492 typedef N_NIMCALL_PTR(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, tyProc__jkSFMhvPZ1AdGcvT2dK9a2w) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
1493 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
1494 typedef N_NIMCALL_PTR(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tyProc__EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1495 struct tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ {
1496 tyProc__jkSFMhvPZ1AdGcvT2dK9a2w Field0;
1497 tyProc__A7Sdoem70tRxSEmKrf9cmyg Field1;
1498 tyProc__EAEKmBUgKFg29agoUGtzDEQ Field2;
1499 NIM_BOOL Field3;
1500 };
1501 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
1502 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
1503 NimStringDesc* Field1;
1504 };
1505 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
1506 NI Field0;
1507 NimStringDesc* Field1;
1508 };
1509 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
1510 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
1511 NimStringDesc* nimname;
1512 NimStringDesc* cname;
1513 NimStringDesc* obj;
1514 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
1515 NimStringDesc* customArgs;
1516 };
1517 struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
1518 NCSTRING procname;
1519 NI line;
1520 NCSTRING filename;
1521 };
1522 struct tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA {
1523 NI ra;
1524 NI rb;
1525 NI rc;
1526 tyObject_TFullReg__GJRDbRqzZnSsmt2gZMzKBA* slots;
1527 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currentException;
1528 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q currentLineInfo;
1529 };
1530 struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
1531 NU32 Field0;
1532 NimStringDesc* Field1;
1533 };
1534 struct tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg {
1535 NU16 line;
1536 NI16 col;
1537 NU32 file;
1538 };
1539 struct tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow {
1540 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
1541 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
1542 NI32 operand;
1543 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeId_0;
1544 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1545 };
1546 struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
1547 NU32 Field0;
1548 NI32 Field1;
1549 };
1550 struct tyTuple__Q7r9caOmeWqQGZCIBHhGRUA {
1551 NU32 Field0;
1552 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1553 };
1554 struct tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg {
1555 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1556 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg Field1;
1557 };
1558 struct tyTuple__XyJ8LOAZzVVXSsmt09b8uWw {
1559 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1560 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1561 };
1562 struct tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA {
1563 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ key;
1564 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1565 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* concreteTypes;
1566 };
1567 struct tyTuple__9aoobCDZB4x41HJSOmh0mwA {
1568 tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg Field0;
1569 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field1;
1570 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1571 };
1572 struct tyTuple__g0Q6Qx15nK53ce9aLo7YyrA {
1573 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field0;
1574 NI Field1;
1575 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ Field2;
1576 };
1577 typedef NU8 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ;
1578 struct tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw {
1579 tyEnum_TLibKind__9b8v60kso59bBaw9cp8B9a9apKQ kind;
1580 NIM_BOOL generated;
1581 NIM_BOOL isOverriden;
1582 NU32 name;
1583 NI32 path;
1584 };
1585 struct tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw {
1586 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
1587 NU32 name;
1588 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typ;
1589 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
1590 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
1591 tyObject_PackedLineInfo__Q9bbXLBurHo2r5TyF6UBshg info;
1592 NI32 ast;
1593 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1594 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ guard;
1595 NI bitsize;
1596 NI alignment;
1597 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
1598 NI position;
1599 NI offset;
1600 NU32 externalName;
1601 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA locFlags;
1602 tyObject_PackedLib__oa01YzfeXO9bbIDH9cIki4Hw annex;
1603 NI32 constraint;
1604 };
1605 struct tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA {
1606 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
1607 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
1608 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
1609 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* types;
1610 NI32 n;
1611 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ sym;
1612 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ owner;
1613 NI64 size;
1614 NI16 align;
1615 NI16 paddingAtEnd;
1616 NI16 lockLevel;
1617 tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ typeInst;
1618 NI32 nonUniqueId;
1619 };
1620 struct tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ {
1621 NI Field0;
1622 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* Field1;
1623 tySequence__vC9cvg0R8tfBaOXXi3sfMzw* Field2;
1624 };
1625 struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
1626 NI Field0;
1627 NI32 Field1;
1628 NU32 Field2;
1629 };
1630 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
1631   TGenericSeq Sup;
1632   tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
1633 };
1634 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
1635   TGenericSeq Sup;
1636   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
1637 };
1638 struct tySequence__jWKvSdankQPoT5bw9cBU9aiw {
1639   TGenericSeq Sup;
1640   tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ data[SEQ_DECL_SIZE];
1641 };
1642 struct tySequence__0dpGN6F4ocevqUQGsaf41w {
1643   TGenericSeq Sup;
1644   tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ data[SEQ_DECL_SIZE];
1645 };
1646 struct tySequence__u9c10b19cqoKPxYSuh3ZKtIw {
1647   TGenericSeq Sup;
1648   tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ data[SEQ_DECL_SIZE];
1649 };
1650 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
1651   TGenericSeq Sup;
1652   NimStringDesc* data[SEQ_DECL_SIZE];
1653 };
1654 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
1655   TGenericSeq Sup;
1656   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
1657 };
1658 struct tySequence__eiMlYcU7NrAOGD2H36QOOQ {
1659   TGenericSeq Sup;
1660   tyObject_ImportedModule__kyodd8HBOgfP30dipCL3JQ data[SEQ_DECL_SIZE];
1661 };
1662 struct tySequence__oYkV9aFZe0MXcEAprJaOUsA {
1663   TGenericSeq Sup;
1664   tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w* data[SEQ_DECL_SIZE];
1665 };
1666 struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA {
1667   TGenericSeq Sup;
1668   tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg data[SEQ_DECL_SIZE];
1669 };
1670 struct tySequence__arD7Tw6eD6lvOczWZl9buNg {
1671   TGenericSeq Sup;
1672   tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* data[SEQ_DECL_SIZE];
1673 };
1674 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
1675   TGenericSeq Sup;
1676   tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
1677 };
1678 struct tySequence__xSqu3cxq5WeFlOO3YgE6yA {
1679   TGenericSeq Sup;
1680   tyTuple__KNXySARiHvEh2wA9asnyYmw data[SEQ_DECL_SIZE];
1681 };
1682 struct tySequence__Bis5AbpONWcIRrPyPJS8Yw {
1683   TGenericSeq Sup;
1684   tyTuple__NAaJgGVgNmlGoqmiWxdOHQ data[SEQ_DECL_SIZE];
1685 };
1686 struct tySequence__E8pi9b5QNahsURYzXMjh3qw {
1687   TGenericSeq Sup;
1688   tyTuple__47w2DboNEPf69aPgubZdd7Q data[SEQ_DECL_SIZE];
1689 };
1690 struct tySequence__vGU8AyGT6KxtLJwEg0BpNw {
1691   TGenericSeq Sup;
1692   tyTuple__KvKIqRIx9anKcDMu8DPSkHw data[SEQ_DECL_SIZE];
1693 };
1694 struct tySequence__Hkw5zrAn53wlKDHdJF1GFA {
1695   TGenericSeq Sup;
1696   tyTuple__Y6Ewh3MCxsjd1bsriN6Gag data[SEQ_DECL_SIZE];
1697 };
1698 struct tySequence__4mZLwkxT8rbt9bf3wXrXYNQ {
1699   TGenericSeq Sup;
1700   tyObject_Iface__uvkV248cZcsEQKaQm7C9aEA data[SEQ_DECL_SIZE];
1701 };
1702 struct tySequence__rQHmYk1HzcwNxKBymIFHpA {
1703   TGenericSeq Sup;
1704   tyObject_LoadedModule__14iJKkvOiWT62KF2D8f9c5w data[SEQ_DECL_SIZE];
1705 };
1706 struct tySequence__XMM60DtBsc6xYsIpNANkrA {
1707   TGenericSeq Sup;
1708   tyObject_PackedEncoder__B9cE9a0GbvqWW9aHf4N7RAaIw data[SEQ_DECL_SIZE];
1709 };
1710 struct tySequence__O5RcspOP32YJ4YtU5ppxxA {
1711   TGenericSeq Sup;
1712   tyObject_LazyType__Q19c34D32PKyTKlx6R6yODg data[SEQ_DECL_SIZE];
1713 };
1714 struct tySequence__ChDZ6dokJ9aj9cg3KBoCU5vg {
1715   TGenericSeq Sup;
1716   tyTuple__l7R9cf53SDCcRmz9aWTyEKqQ data[SEQ_DECL_SIZE];
1717 };
1718 struct tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA {
1719   TGenericSeq Sup;
1720   tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg data[SEQ_DECL_SIZE];
1721 };
1722 struct tySequence__mWRMiYLthG9coLjkbElCxkw {
1723   TGenericSeq Sup;
1724   tyTuple__o67sDX0wYbEuhI9cJYAbDtg data[SEQ_DECL_SIZE];
1725 };
1726 struct tySequence__bTDCDwD2P7TodzbAefLcSw {
1727   TGenericSeq Sup;
1728   tyTuple__9aNnDWBFMF44sfFinBpMT4Q data[SEQ_DECL_SIZE];
1729 };
1730 struct tySequence__159bHWBGAOOs6U7OZ9cQlO0g {
1731   TGenericSeq Sup;
1732   tyTuple__VrD6plbUKJjYKM0lCr3hGQ data[SEQ_DECL_SIZE];
1733 };
1734 struct tySequence__3MPVXAHA08SszBrU4ffqEg {
1735   TGenericSeq Sup;
1736   tyTuple__dT8l9anHpNRgQSBAI9ctQ2wg data[SEQ_DECL_SIZE];
1737 };
1738 struct tySequence__YCf5zJHm4JI06qpmKwPUWg {
1739   TGenericSeq Sup;
1740   tyTuple__1ZbjBgxAbnye0IFMZ6w4OA data[SEQ_DECL_SIZE];
1741 };
1742 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
1743   TGenericSeq Sup;
1744   tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
1745 };
1746 struct tySequence__61s9cbAniKuBrdHwBhMDfQg {
1747   TGenericSeq Sup;
1748   tyTuple__rplX06U9bjhu9asm5pWdgqsA data[SEQ_DECL_SIZE];
1749 };
1750 struct tySequence__48JTohSgTy339bRxHzUD8KA {
1751   TGenericSeq Sup;
1752   NI32 data[SEQ_DECL_SIZE];
1753 };
1754 struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
1755   TGenericSeq Sup;
1756   tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
1757 };
1758 struct tySequence__kxu4GK0onha2t9bo86mdVAg {
1759   TGenericSeq Sup;
1760   tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
1761 };
1762 struct tySequence__s9byh6WFJ16lPMcmqdaMTHA {
1763   TGenericSeq Sup;
1764   tyTuple__a9bBCAQ2tegdUQVlHYxdJ2A data[SEQ_DECL_SIZE];
1765 };
1766 struct tySequence__1U9bG8RcAedEeYkQLZjVFKA {
1767   TGenericSeq Sup;
1768   tyTuple__3i6hlQmqrn6m7tuVN8FHjQ data[SEQ_DECL_SIZE];
1769 };
1770 struct tySequence__fIB1rTQ55aFonoft9a9bmljQ {
1771   TGenericSeq Sup;
1772   tyTuple__OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
1773 };
1774 struct tySequence__23SMqauuRsbDANhthj9bWlA {
1775   TGenericSeq Sup;
1776   tyTuple__2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
1777 };
1778 struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
1779   TGenericSeq Sup;
1780   tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
1781 };
1782 struct tySequence__pHNq3oXj9av2sEUdqaqeZjw {
1783   TGenericSeq Sup;
1784   tyTuple__wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
1785 };
1786 struct tySequence__MAQKEADohlpnXTModtugbQ {
1787   TGenericSeq Sup;
1788   tyTuple__4o9cW9aUwdGqgZI9bSHHYnbaQ data[SEQ_DECL_SIZE];
1789 };
1790 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
1791   TGenericSeq Sup;
1792   tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
1793 };
1794 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
1795   TGenericSeq Sup;
1796   tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
1797 };
1798 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
1799   TGenericSeq Sup;
1800   tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
1801 };
1802 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
1803   TGenericSeq Sup;
1804   tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
1805 };
1806 struct tySequence__1I3cxybVrOXM64KW2dfERQ {
1807   TGenericSeq Sup;
1808   tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw data[SEQ_DECL_SIZE];
1809 };
1810 struct tySequence__vC9cvg0R8tfBaOXXi3sfMzw {
1811   TGenericSeq Sup;
1812   tyObject_PackedItemId__FzcXUzSZ9cNfGYsfibgjWlQ data[SEQ_DECL_SIZE];
1813 };
1814 struct tySequence__ipEvhpHAmm8ZCn9bZAOdNYA {
1815   TGenericSeq Sup;
1816   tyObject_FullId__pfGm9bmVgXcP2kl6OfHhZgQ data[SEQ_DECL_SIZE];
1817 };
1818 struct tySequence__uB9b75OUPRENsBAu4AnoePA {
1819   TGenericSeq Sup;
1820   tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
1821 };
1822 struct tySequence__PXIzfWocnrafGz5p3CP5LA {
1823   TGenericSeq Sup;
1824   tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE];
1825 };
1826 struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
1827   TGenericSeq Sup;
1828   NU32 data[SEQ_DECL_SIZE];
1829 };
1830 struct tySequence__29bS0n2QNyO1R7e0qMMOvLA {
1831   TGenericSeq Sup;
1832   tyObject_PackedNode__7lDGAZiNp4zbO65GEpoKow data[SEQ_DECL_SIZE];
1833 };
1834 struct tySequence__b89aLriiJnVTD186H6zNIgg {
1835   TGenericSeq Sup;
1836   tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE];
1837 };
1838 struct tySequence__REuPuHuSlOkZ0Q5oqzDrQg {
1839   TGenericSeq Sup;
1840   tyTuple__Q7r9caOmeWqQGZCIBHhGRUA data[SEQ_DECL_SIZE];
1841 };
1842 struct tySequence__I9aQmO9asXXWJ58UI9c8BCSzA {
1843   TGenericSeq Sup;
1844   tyTuple__7Wlwbz8zSe7Udyf7mmsd9cg data[SEQ_DECL_SIZE];
1845 };
1846 struct tySequence__NyaOkf8ZwxP6rkRF5TOkew {
1847   TGenericSeq Sup;
1848   tyTuple__XyJ8LOAZzVVXSsmt09b8uWw data[SEQ_DECL_SIZE];
1849 };
1850 struct tySequence__L9bOt8CaTEmIjgtuZvp6syg {
1851   TGenericSeq Sup;
1852   tyObject_PackedInstantiation__39cWRURu69agjI9c1ohiUmxiA data[SEQ_DECL_SIZE];
1853 };
1854 struct tySequence__im8UB2GsZvUaQ4a1wKGWhQ {
1855   TGenericSeq Sup;
1856   tyTuple__9aoobCDZB4x41HJSOmh0mwA data[SEQ_DECL_SIZE];
1857 };
1858 struct tySequence__xxnXDLpoqBo8zJzP9b1073g {
1859   TGenericSeq Sup;
1860   tyTuple__g0Q6Qx15nK53ce9aLo7YyrA data[SEQ_DECL_SIZE];
1861 };
1862 struct tySequence__DfmUmNgVGnYaiV1I6227tw {
1863   TGenericSeq Sup;
1864   tyObject_PackedSym__XjVn21MwvH8ij6CfopYZWw data[SEQ_DECL_SIZE];
1865 };
1866 struct tySequence__t8Uv4lEJ4lkuECvP9c6JMhA {
1867   TGenericSeq Sup;
1868   tyObject_PackedType__IhXsK7mrwumUBtEqbZ2BqA data[SEQ_DECL_SIZE];
1869 };
1870 struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
1871   TGenericSeq Sup;
1872   NI64 data[SEQ_DECL_SIZE];
1873 };
1874 struct tySequence__9bT7o0CflHuiE4VhmtqBPCw {
1875   TGenericSeq Sup;
1876   tyTuple__8x6vq4Dc9aLvKX9actMeR9avQ data[SEQ_DECL_SIZE];
1877 };
1878 struct tySequence__vv5mGmK03BCr5e3LTZA5Hw {
1879   TGenericSeq Sup;
1880   tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA data[SEQ_DECL_SIZE];
1881 };
1882 struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
1883   TGenericSeq Sup;
1884   tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE];
1885 };
1886 N_LIB_PRIVATE N_NIMCALL(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug*, newContext__semdata_503)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module);
1887 static N_INLINE(void, asgnRef)(void** dest, void* src);
1888 static N_INLINE(void, incRef__system_5309)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1889 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
1890 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5271)(void* usr);
1891 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1892 static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1893 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1894 static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1895 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5265)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1896 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newType__ast_3896)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1897 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
1898 static N_INLINE(void, nimZeroMem)(void* p, NI size);
1899 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
1900 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
1901 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConstExpr__sem_611)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1902 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprWithType__sem_56)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
1903 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprCheck__sem_13933)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
1904 N_LIB_PRIVATE N_NIMCALL(void, illFormedAst__semdata_1071)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1905 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExpr__sem_52)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
1906 N_LIB_PRIVATE N_NIMCALL(void, suggestExpr__sigmatch_6536)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1907 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, qualifiedLookUp__lookups_1233)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TLookupFlag__ObWMY5GMSl1GiMcrKaAhKQ flags);
1908 N_LIB_PRIVATE N_NIMCALL(void, semCaptureSym__lambdalifting_4995)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1909 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);
1910 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, initOverloadIter__lookups_1374)(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ* o, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1911 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, nextOverloadIter__lookups_1528)(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ* o, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1912 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, getCallLineInfo__sem_2390)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1913 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1914 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3719)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1915 N_LIB_PRIVATE N_NIMCALL(void, markUsed__sigmatch_85)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1916 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeIT__ast_3378)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
1917 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newTypeS__semdata_733)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1918 N_LIB_PRIVATE N_NIMCALL(void, markOwnerModuleAsUsed__sigmatch_89)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1919 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
1920 static N_INLINE(void, markIndirect__semdata_1060)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1921 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeVarType__semdata_766)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
1922 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, enumFieldSymChoice__sem_20195)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1923 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);
1924 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getGenSym__semdata_408)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1925 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
1926 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, inlineConst__sem_14003)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1927 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTree__ast_4431)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
1928 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);
1929 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
1930 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
1931 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
1932 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, typeToString__types_50)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
1933 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
1934 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
1935 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1936 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, base__types_63)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1937 N_LIB_PRIVATE N_NIMCALL(NI, requiredParams__ast_4714)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1938 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);
1939 N_LIB_PRIVATE N_NIMCALL(void, rememberExpansion__semdata_3656)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* expandedSym);
1940 N_LIB_PRIVATE N_NIMCALL(void, pushInfoContext__msgs_490)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* detail);
1941 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
1942 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree__renderer_46)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag__wrPgUo1ExBlHvFnXN2nSHw renderFlags);
1943 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);
1944 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);
1945 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getModule__astalgo_216)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1946 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
1947 N_LIB_PRIVATE N_NIMCALL(void, resetSemFlag__sem_2771)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1948 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStmt__sem_84)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
1949 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprNoType__sem_60)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1950 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasHint__options_517)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug note);
1951 N_LIB_PRIVATE N_NIMCALL(void, discardCheck__sem_9323)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
1952 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, implicitlyDiscardable__sem_9282)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1953 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1954 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCallExpr__ast_3176)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1955 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3360)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI children);
1956 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___renderer_2106)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1957 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___msgs_624)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1958 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
1959 N_LIB_PRIVATE N_NIMCALL(void, popInfoContext__msgs_507)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1960 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
1961 N_LIB_PRIVATE N_NIMCALL(void, transitionSonsKind__ast_4359)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g kind);
1962 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeNode__sem_80)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
1963 N_LIB_PRIVATE N_NIMCALL(void, checkSonsLen__semdata_1077)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI length, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
1964 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeOf__sem_5872)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
1965 N_LIB_PRIVATE N_NIMCALL(tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*, openScope__lookups_69)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1966 N_LIB_PRIVATE N_NIMCALL(void, closeScope__lookups_101)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1967 N_LIB_PRIVATE N_NIMCALL(void, fixupTypeOf__sem_5584)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typExpr);
1968 N_LIB_PRIVATE N_NIMCALL(void, rawAddSon__ast_4288)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, NIM_BOOL propagateHasAsgn);
1969 N_LIB_PRIVATE N_NIMCALL(void, assignType__ast_3976)(tyObject_TType__facALICuu8zUj0hjvbTLFg* dest, tyObject_TType__facALICuu8zUj0hjvbTLFg* src);
1970 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semAnonTuple__sem_3569)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
1971 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newOrPrevType__sem_2916)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1972 N_LIB_PRIVATE N_NIMCALL(void, addSonSkipIntLit__magicsys_136)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id);
1973 static N_INLINE(NIM_BOOL, eqeq___idents_220)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* a, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* b);
1974 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
1975 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
1976 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
1977 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
1978 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semRangeAux__sem_3219)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
1979 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, errorType__semdata_1002)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
1980 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipIntLit__magicsys_124)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id);
1981 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, copyType__ast_4046)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
1982 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameType__types_1824)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
1983 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);
1984 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOrdinalType__types_299)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NIM_BOOL allowEnumWithHoles);
1985 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, enumHasHoles__types_287)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1986 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasUnresolvedArgs__sem_142)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1987 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUnresolvedSym__sem_15006)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
1988 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMetaType__ast_3495)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
1989 N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, considerQuotedIdent__lookups_28)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* origin);
1990 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, searchInScopes__lookups_423)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* s, NIM_BOOL* ambiguous);
1991 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, makeStaticExpr__semdata_826)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
1992 static N_INLINE(NIM_BOOL, isNaN__sem_3286)(NF x);
1993 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, weakLeValue__astalgo_151)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
1994 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, freshType__sem_5619)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* res, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
1995 N_LIB_PRIVATE N_NIMCALL(void, copyTypeProps__modulegraphs_8872)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module, tyObject_TType__facALICuu8zUj0hjvbTLFg* dest, tyObject_TType__facALICuu8zUj0hjvbTLFg* src);
1996 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeExpr__sem_5593)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
1997 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, maybeAliasType__sem_5571)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typeExpr, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
1998 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeAndType__semdata_855)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t1, tyObject_TType__facALICuu8zUj0hjvbTLFg* t2);
1999 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeOrType__semdata_890)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t1, tyObject_TType__facALICuu8zUj0hjvbTLFg* t2);
2000 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeTypeFromExpr__semdata_804)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2001 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTree__ast_3392)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
2002 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeNotType__semdata_945)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t1);
2003 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);
2004 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newConstraint__sem_2929)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag k);
2005 N_LIB_PRIVATE N_NIMCALL(void, checkMinSonsLen__semdata_1084)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI length, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
2006 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);
2007 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
2008 N_LIB_PRIVATE N_NIMCALL(void, initPackedSet__pureZcollectionsZintsets_16)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
2009 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypesOrNil__ast_4185)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
2010 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipGenericInvocation__sem_4428)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2011 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
2012 N_LIB_PRIVATE N_NIMCALL(void, addInheritedFields__sem_4443)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, NI* pos, tyObject_TType__facALICuu8zUj0hjvbTLFg* obj);
2013 N_LIB_PRIVATE N_NIMCALL(void, addInheritedFieldsAux__sem_4383)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, NI* pos, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2014 N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_55)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
2015 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);
2016 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConstBoolExpr__sem_2877)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2017 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, forceBool__sem_2869)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2018 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);
2019 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);
2020 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);
2021 N_LIB_PRIVATE N_NIMCALL(void, newCandidate__sigmatch_195)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* Result);
2022 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);
2023 N_LIB_PRIVATE N_NIMCALL(void, instGenericConvertersArg__sem_2292)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* x);
2024 static N_INLINE(NIM_BOOL, isGenericRoutineStrict__ast_4639)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2025 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2026 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2027 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);
2028 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info);
2029 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
2030 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
2031 static N_INLINE(NIM_BOOL, isTopLevel__semdata_1091)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2032 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, copySym__ast_4054)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id);
2033 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
2034 N_LIB_PRIVATE N_NIMCALL(void, pushOwner__semdata_322)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
2035 N_LIB_PRIVATE N_NIMCALL(void, fillMixinScope__sem_1283)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2036 N_LIB_PRIVATE N_NIMCALL(void, strTableAdd__astalgo_3332)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* n);
2037 N_LIB_PRIVATE N_NIMCALL(tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA*, new__sem_1335)(void);
2038 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
2039 static N_INLINE(void, nimGCunrefRC1)(void* p);
2040 N_LIB_PRIVATE N_NIMCALL(void*, newSeqRC1)(TNimType* typ, NI len);
2041 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);
2042 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getCurrOwner__semdata_315)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2043 N_LIB_PRIVATE N_NIMCALL(RootObj*, idTableGet__astalgo_64)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key);
2044 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);
2045 static N_INLINE(void, addDecl__lookups_845)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
2046 static N_INLINE(void, addDeclAt__lookups_837)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
2047 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);
2048 N_LIB_PRIVATE N_NIMCALL(void, rawPushProcCon__sem_849)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
2049 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);
2050 N_LIB_PRIVATE N_NIMCALL(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*, initLayeredTypeMap__semtypinst_134)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt);
2051 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);
2052 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, instCopyType__semtypinst_480)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2053 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, shallowCopy__ast_4413)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
2054 N_LIB_PRIVATE N_NIMCALL(void, resetIdTable__ast_4104)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* x);
2055 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, replaceTypeVarsT__semtypinst_178)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2056 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, replaceTypeVarsN__semtypinst_130)(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg* cl, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI start);
2057 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, referencesAnotherParam__sem_1165)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* p);
2058 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, errorNode__semdata_1009)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2059 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fitNodePostMatch__sem_164)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg);
2060 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConv__types_3597)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2061 N_LIB_PRIVATE N_NIMCALL(void, changeType__sem_75)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* newType, NIM_BOOL check);
2062 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, elemType__types_263)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2063 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getSymFromList__astalgo_245)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* list, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident, NI start);
2064 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___int495056_738)(NI64 a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
2065 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, firstOrd__types_1353)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2066 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___int495056_721)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
2067 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lastOrd__types_1470)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2068 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_6)(NI64 x);
2069 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, floatRangeCheck__types_1613)(NF x, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2070 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
2071 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___system_3118)(NF x);
2072 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipHiddenSubConv__types_3674)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
2073 N_LIB_PRIVATE N_NIMCALL(void, propagateToOwner__ast_4219)(tyObject_TType__facALICuu8zUj0hjvbTLFg* owner, tyObject_TType__facALICuu8zUj0hjvbTLFg* elem, NIM_BOOL propagateHasAsgn);
2074 N_LIB_PRIVATE N_NIMCALL(void, eraseVoidParams__semtypinst_682)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2075 N_LIB_PRIVATE N_NIMCALL(void, skipIntLiteralParams__semtypinst_738)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
2076 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);
2077 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__modulegraphs_3568)(tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g key);
2078 N_LIB_PRIVATE N_NIMCALL(tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA**, X5BX5D___modulegraphs_3884)(tyObject_Table__UVZI5J9aS51B4B0eYPpW1Rg* t, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g key);
2079 N_LIB_PRIVATE N_NIMCALL(tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA*, resolveInst__modulegraphs_2881)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg* t);
2080 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameInstantiation__sem_965)(tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA a, tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA b);
2081 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);
2082 N_LIB_PRIVATE N_NIMCALL(void, rawHandleSelf__sem_865)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
2083 N_LIB_PRIVATE N_NIMCALL(void, addObjFieldsToLocalScope__sem_805)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2084 static N_INLINE(NIM_BOOL, fieldVisible__sigmatch_4944)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f);
2085 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, strTableIncl__astalgo_3381)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* n, NIM_BOOL onConflictKeepOld);
2086 N_LIB_PRIVATE N_NIMCALL(void, addToGenericProcCache__semdata_1185)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst);
2087 N_LIB_PRIVATE N_NIMCALL(void, makeInstPair__semdata_297)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst, tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ* Result);
2088 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);
2089 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody__modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2090 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);
2091 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);
2092 N_LIB_PRIVATE N_NIMCALL(void, maybeAddResult__sem_100)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2093 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, sysTypeFromName__magicsys_55)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* name);
2094 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);
2095 N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, getIdent__idents_143)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NimStringDesc* identifier);
2096 N_LIB_PRIVATE N_NIMCALL(void, swapResult__sem_12374)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sRes, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dNode);
2097 N_LIB_PRIVATE N_NIMCALL(void, addParamOrResult__sem_1024)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind);
2098 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, findEnforcedStaticType__sem_4687)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2099 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getSysSym__magicsys_16)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* name);
2100 static N_INLINE(NIM_BOOL, isInlineIterator__ast_4989)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2101 N_LIB_PRIVATE N_NIMCALL(void, initIdTable__ast_4096)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* x);
2102 N_LIB_PRIVATE N_NIMCALL(void, idTablePut__astalgo_70)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key, RootObj* val);
2103 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);
2104 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semProcBody__sem_67)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2105 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2106 N_LIB_PRIVATE N_NIMCALL(void, fixNilType__sem_9307)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2107 static N_INLINE(NIM_BOOL, isAtom__ast_4768)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2108 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAsgn__sem_15307)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ mode);
2109 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, builtinFieldAccess__sem_17178)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2110 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);
2111 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupInRecord__astalgo_84)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* field);
2112 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeTypeDesc__concepts_49)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2113 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);
2114 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);
2115 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, linkTo__ast_3532)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2116 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipGenericAlias__types_2219)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2117 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTypeExpr__sem_16750)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2118 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);
2119 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, createSetType__sem_16757)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType);
2120 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
2121 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getSysType__magicsys_60)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
2122 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);
2123 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, makeDeref__sem_9872)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2124 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);
2125 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIdentNode__ast_3712)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2126 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
2127 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);
2128 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);
2129 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);
2130 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);
2131 N_LIB_PRIVATE N_NIMCALL(void, semOpAux__sem_88)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2132 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);
2133 N_LIB_PRIVATE N_NIMCALL(NI, lastOverloadScope__lookups_1472)(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ* o);
2134 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);
2135 N_LIB_PRIVATE N_NIMCALL(void, determineType__sem_1460)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2136 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);
2137 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semProcAnnotation__sem_12464)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prc, tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw validPragmas);
2138 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw, whichPragma__trees_244)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2139 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, strTableGet__astalgo_3390)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA t, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name);
2140 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyExcept__sem_12447)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i);
2141 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
2142 N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
2143 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);
2144 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);
2145 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, semIdentDef__sem_9679)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind);
2146 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);
2147 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);
2148 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newSymG__sem_458)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2149 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toHumanStr__ast_5158)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind);
2150 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, getLineInfo__sem_9696)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2151 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);
2152 N_LIB_PRIVATE N_NIMCALL(void, setGenericParamsMisc__sem_6510)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2153 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semGenericParamList__sem_6334)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* father);
2154 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newTypeWithSons__semdata_821)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons);
2155 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
2156 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semGenericConstraints__sem_6326)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* x);
2157 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGenericType__types_3360)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2158 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);
2159 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);
2160 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newProcType__sem_5053)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2161 N_LIB_PRIVATE N_NIMCALL(tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w*, lastOptionEntry__semdata_341)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2162 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semParamType__sem_5032)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** constraint);
2163 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semNodeKindConstraints__parampatterns_186)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI start);
2164 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMagic__sem_5062)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
2165 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasPragma__pragmas_2498)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw pragma);
2166 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semGenericStmt__sem_2885)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2167 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);
2168 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);
2169 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, skipAlias__lookups_118)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
2170 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_3496)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
2171 N_LIB_PRIVATE N_NIMCALL(void, errorUndeclaredIdentifier__lookups_1199)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* name, NimStringDesc* extra);
2172 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);
2173 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNodeTypeDesc__semfold_835)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2174 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);
2175 N_LIB_PRIVATE N_NIMCALL(tySequence__eHqUwlHGGaPw0TDPDeL79cQ*, searchInScopesFilterBy__lookups_464)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* s, tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw filter);
2176 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDot__sem_8259)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
2177 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semMixinStmt__sem_6701)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* toMixin);
2178 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBindStmt__sem_6647)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* toBind);
2179 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);
2180 N_LIB_PRIVATE N_NIMCALL(void, addTempDecl__sem_8354)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind);
2181 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newSymS__sem_453)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2182 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getIdentNode__sem_8093)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2183 N_LIB_PRIVATE N_NIMCALL(void, addPrelimDecl__lookups_848)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
2184 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);
2185 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInfixAs__ast_4935)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2186 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyContainer__types_3626)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2187 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);
2188 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);
2189 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, exactReplica__ast_4051)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2190 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);
2191 N_LIB_PRIVATE N_NIMCALL(void, transitionGenericParamToType__ast_4390)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2192 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astalgo_402)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
2193 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semPattern__sem_7129)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2194 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, flattenStmts__trees_355)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2195 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semPatternBody__sem_7835)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2196 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, handleSym__sem_7855)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2197 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newParam__sem_7841)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2198 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, expectParam__sem_7897)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2199 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, stupidStmtListExpr__trees_404)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2200 N_LIB_PRIVATE N_NIMCALL(void, addPattern__semdata_692)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA p);
2201 N_LIB_PRIVATE N_NIMCALL(void, searchForProc__procfind_73)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn, tyTuple__7rlNEhvBksZh9a9asniQIl9aQ* Result);
2202 N_LIB_PRIVATE N_NIMCALL(void, addInterfaceOverloadableSymAt__lookups_899)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
2203 N_LIB_PRIVATE N_NIMCALL(void, addInterfaceDeclAt__lookups_875)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
2204 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);
2205 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);
2206 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);
2207 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);
2208 N_LIB_PRIVATE N_NIMCALL(void, addGenericParamListToScope__sem_11585)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2209 N_LIB_PRIVATE N_NIMCALL(void, addParams__sem_96)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind);
2210 static N_INLINE(NIM_BOOL, importantComments__options_3985)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
2211 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, comment__ast_993)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2212 N_LIB_PRIVATE N_NIMCALL(void, commenteq___ast_1361)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* a);
2213 N_LIB_PRIVATE N_NIMCALL(void, popOwner__semdata_329)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2214 N_LIB_PRIVATE N_NIMCALL(void, semOverride__sem_12810)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2215 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuNormalize)(NimStringDesc* s);
2216 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);
2217 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, canonType__sem_12663)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2218 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getAttachedOp__modulegraphs_4011)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg op);
2219 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);
2220 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);
2221 static N_INLINE(NIM_BOOL, contains__stdZenumutils_43)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
2222 static N_INLINE(NI, find__stdZenumutils_48)(NimStringDesc** a, NI aLen_0, NimStringDesc* item);
2223 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cursorInProc__sem_12968)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2224 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cursorInProcAux__sem_12953)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2225 N_LIB_PRIVATE N_NIMCALL(tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg, inCheckpoint__sigmatch_5312)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q current, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos);
2226 N_LIB_PRIVATE N_NIMCALL(void, semMethodPrototype__sem_12992)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2227 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4646)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2228 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);
2229 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasObjParam__sem_12972)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2230 N_LIB_PRIVATE N_NIMCALL(void, methodDef__cgmeth_263)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2231 N_LIB_PRIVATE N_NIMCALL(void, pushProcCon__sem_898)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
2232 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, hloBody__sem_783)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2233 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, hlo__sem_668)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2234 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, applyPatterns__sem_692)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2235 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, applyRule__patterns_548)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2236 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalPattern__sem_671)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig);
2237 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDirectOp__sem_511)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2238 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);
2239 N_LIB_PRIVATE N_NIMCALL(void, semFinishOperands__sigmatch_4162)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2240 N_LIB_PRIVATE N_NIMCALL(void, activate__sem_108)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2241 N_LIB_PRIVATE N_NIMCALL(void, fixAbstractType__sem_14966)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2242 static N_INLINE(NIM_BOOL, isArrayConstr__sem_145)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2243 N_LIB_PRIVATE N_NIMCALL(void, analyseIfAddressTakenInCall__sem_15142)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2244 N_LIB_PRIVATE N_NIMCALL(tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag, isAssignable__sem_15001)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isUnsafeAddr);
2245 N_LIB_PRIVATE N_NIMCALL(tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag, isAssignable__parampatterns_334)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isUnsafeAddr);
2246 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, analyseIfAddressTaken__sem_15084)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2247 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newHiddenAddrTaken__sem_15054)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2248 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderNotLValue__sem_1612)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2249 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, magicsAfterOverloadResolution__sem_16026)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2250 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAddrArg__sem_15262)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isUnsafeAddr);
2251 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makePtrType__semdata_742)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType);
2252 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTypeOf__sem_132)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2253 N_LIB_PRIVATE N_NIMCALL(void, computeSizeAlign__types_2924)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2254 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntNode__ast_3723)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NI64 intVal);
2255 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semArrGet__sem_15315)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2256 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSubscript__sem_15311)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2257 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDeref__sem_17356)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2258 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semStaticType__sem_128)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* childNode, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2259 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, getOrdValue__types_161)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_Int128__9a9axPfb75jdWY25AamJewkA onError);
2260 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_752)(NI64 a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
2261 N_LIB_PRIVATE N_NIMCALL(NI, toInt__int495056_170)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg);
2262 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSymGenericInstantiation__sem_13998)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2263 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, maybeInstantiateGeneric__sem_17378)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2264 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, explicitGenericInstantiation__sem_2621)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2265 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
2266 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, explicitGenericSym__sem_2571)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2267 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);
2268 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);
2269 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, explicitGenericInstError__sem_2567)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2270 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, symNodeFromType__sem_543)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2271 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, symFromType__sem_530)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2272 N_LIB_PRIVATE N_NIMCALL(void, bracketNotFoundError__sem_1937)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2273 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
2274 N_LIB_PRIVATE N_NIMCALL(void, notFoundError__sem_1922)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__0dpGN6F4ocevqUQGsaf41w* errors);
2275 N_LIB_PRIVATE N_NIMCALL(void, presentFailedCandidates__sem_1636)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__0dpGN6F4ocevqUQGsaf41w* errors, tyTuple__ZtAk5YtH0VW1iPowvxePrg* Result);
2276 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, describeArgs__sigmatch_384)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI startIdx, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer);
2277 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
2278 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getProcHeader__types_222)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer, NIM_BOOL getDeclarationPath);
2279 N_LIB_PRIVATE N_NIMCALL(void, addDeclaredLocMaybe__astmsgs_21)(NimStringDesc** result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
2280 N_LIB_PRIVATE N_NIMCALL(void, addTypeDeclVerboseMaybe__types_53)(NimStringDesc** result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2281 N_LIB_PRIVATE N_NIMCALL(void, addPragmaAndCallConvMismatch__types_3795)(NimStringDesc** message, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
2282 N_LIB_PRIVATE N_NIMCALL(void, effectProblem__sem_1583)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, NimStringDesc** result, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2283 N_LIB_PRIVATE N_NIMCALL(tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ, compatibleEffects__types_3425)(tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TType__facALICuu8zUj0hjvbTLFg* actual);
2284 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
2285 static N_INLINE(void, nimGCunrefNoCycle)(void* p);
2286 N_LIB_PRIVATE N_NIMCALL(void, sort__sem_1792)(NimStringDesc** a, NI aLen_0, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
2287 N_LIB_PRIVATE N_NIMCALL(void, sort__sem_1803)(NimStringDesc** a, NI aLen_0, tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
2288 N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ*, newSeq__systemZio_501)(NI len);
2289 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);
2290 static N_INLINE(NI, star___pureZalgorithm_8)(NI x, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order);
2291 N_LIB_PRIVATE N_NIMCALL(NI, cmp__sem_1796)(NimStringDesc* x, NimStringDesc* y);
2292 static N_INLINE(NI, cmpStrings)(NimStringDesc* a, NimStringDesc* b);
2293 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuJoinSep)(NimStringDesc** a, NI aLen_0, NimStringDesc* sep);
2294 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
2295 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
2296 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semArrPut__sem_15338)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2297 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipAddr__ast_5218)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2298 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAsgnOpr__sem_15367)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2299 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semShallowCopy__sem_15753)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2300 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIsPartOf__sem_15375)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2301 N_LIB_PRIVATE N_NIMCALL(tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w, isPartOf__aliases_129)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
2302 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);
2303 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, toInt128__types_1378)(NI arg);
2304 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTypeTraits__sem_15631)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2305 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);
2306 N_LIB_PRIVATE N_NIMCALL(NI, hashString)(NimStringDesc* s);
2307 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, toNode__sem_15428)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q i);
2308 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);
2309 N_LIB_PRIVATE N_NIMCALL(tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw, parseEnum__sem_15509)(NimStringDesc* s);
2310 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimIdentNormalize__pureZstrutils_105)(NimStringDesc* s);
2311 N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e, NCSTRING ename, NCSTRING procname, NCSTRING filename, NI line);
2312 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStrNode__ast_3813)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NimStringDesc* strVal);
2313 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);
2314 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toHumanStr__ast_5188)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind);
2315 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, uninstantiate__sem_15443)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2316 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsGarbageCollectedRef__types_612)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2317 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStrNodeT__semfold_76)(NimStringDesc* strVal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g);
2318 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semInstantiationInfo__sem_15397)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2319 N_LIB_PRIVATE N_NIMCALL(NI, expectIntLit__sem_15390)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2320 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, getInfoContext__msgs_516)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI index);
2321 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toFullPath__msgs_538)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI32 fileIdx);
2322 static N_INLINE(NI, toLinenumber__msgs_609)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2323 static N_INLINE(NI, toColumn__msgs_612)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2324 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOrd__sem_15652)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2325 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOf__sem_15757)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2326 N_LIB_PRIVATE N_NIMCALL(NI, inheritanceDiff__types_2685)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
2327 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, commonSuperclass__types_2747)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
2328 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semLowHigh__sem_14549)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
2329 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, emptyRange__nimsets_273)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
2330 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBindSym__sem_15658)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2331 static N_INLINE(NIM_BOOL, isCompileTimeProc__ast_4683)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2332 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDynamicBindSym__sem_15727)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2333 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
2334 static N_NIMCALL(void, Marker_tyRef__IqGNbqKVyQ9b9an5n9bN8QJsQ)(void* p, NI op);
2335 N_LIB_PRIVATE N_NIMCALL(void, setupGlobalCtx__vm_13671)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
2336 N_LIB_PRIVATE N_NIMCALL(NI, registerCallback__vmdef_433)(tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* c, NimStringDesc* name, tyProc__5QC9cKfPJmKuW0XbCTd8ylA callback);
2337 N_LIB_PRIVATE N_CLOSURE(void, bindSymWrapper__sem_15736)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0);
2338 N_LIB_PRIVATE N_NIMCALL(void, setResult__vm_246)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2339 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);
2340 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getNode__vm_330)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI i);
2341 N_LIB_PRIVATE N_NIMCALL(NI64, getInt__vm_273)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, NI i);
2342 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntTypeNode__ast_3783)(NI64 intVal, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2343 N_LIB_PRIVATE N_NIMCALL(tyProc__RcJNn9bSvWdJgUmA1O6sbHA, getPlugin__pluginsZactive_25)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn);
2344 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConvCastAndClosure__astalgo_114)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2345 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, whereToBindTypeHook__sem_12681)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2346 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, turnFinalizerIntoDestructor__sem_15873)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* orig, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2347 static N_NIMCALL(void, Marker_tyRef__s6znTCfmZMSZG9absJgsa1w)(void* p, NI op);
2348 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);
2349 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);
2350 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTypeOrNil__types_1848)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
2351 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newProcType__ast_5056)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
2352 N_LIB_PRIVATE N_NIMCALL(void, addParam__ast_5065)(tyObject_TType__facALICuu8zUj0hjvbTLFg* procType, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param);
2353 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semUnown__sem_15809)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2354 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, unownedType__sem_15813)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2355 N_LIB_PRIVATE N_NIMCALL(tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*, newSeq__modulegraphs_2893)(NI len);
2356 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semQuantifier__sem_15916)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2357 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOld__sem_15985)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2358 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, requiresInit__typeallowed_578)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2359 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, checkIsolate__isolation95check_112)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2360 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semPrivateAccess__sem_16015)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2361 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, toObjectFromRefPtrGeneric__ast_4890)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2362 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalAtCompileTime__sem_117)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2363 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);
2364 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);
2365 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fixupTypeAfterEval__sem_570)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* eOrig);
2366 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasCycle__sem_548)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2367 N_LIB_PRIVATE N_NIMCALL(void, annotateType__semmacrosanity_69)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
2368 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);
2369 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);
2370 N_LIB_PRIVATE N_NIMCALL(void, trackProc__sempass50_4692)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body);
2371 static N_INLINE(void, popProcCon__semdata_389)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2372 static N_INLINE(void, paramsTypeCheck__sem_505)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2373 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);
2374 N_LIB_PRIVATE N_NIMCALL(void, fixupInstantiatedSymbols__sem_1095)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2375 N_LIB_PRIVATE N_NIMCALL(void, semBorrow__sem_12355)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2376 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, searchForBorrowProc__sem_2711)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* startScope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn);
2377 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, baseOfDistinct__types_3363)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
2378 N_LIB_PRIVATE N_NIMCALL(void, sideEffectsCheck__sem_1122)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2379 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);
2380 N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
2381 N_LIB_PRIVATE N_NIMCALL(NI, cmpCandidates__sigmatch_358)(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* b);
2382 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);
2383 N_LIB_PRIVATE N_NIMCALL(void, insert__liftdestructors_1579)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* item, NI i);
2384 N_LIB_PRIVATE N_NIMCALL(void, delete__closureiters_1709)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** x, NI i);
2385 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___pragmas_1672)(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ** s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** b, NI bLen_0);
2386 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b);
2387 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_3215)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x);
2388 N_NIMCALL(NimStringDesc*, mnewString)(NI len);
2389 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_80)(NI a, NI b);
2390 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);
2391 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getSymRepr__lookups_548)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, NIM_BOOL getDeclarationPath);
2392 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, typSym__astmsgs_5)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2393 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameMethodDispatcher__sem_1428)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b);
2394 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);
2395 N_LIB_PRIVATE N_NIMCALL(void, instGenericConvertersSons__sem_2316)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* x);
2396 N_LIB_PRIVATE N_NIMCALL(void, updateDefaultParams__sem_2362)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call);
2397 static N_INLINE(NIM_BOOL, canDeref__sem_2474)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2398 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryDeref__sem_2490)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2399 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, errorSym__lookups_506)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2400 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, dotTransformation__sem_17303)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2401 static N_INLINE(NIM_BOOL, isSymChoice__sem_14366)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2402 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildOverloadedSubscripts__sem_17343)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident);
2403 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);
2404 N_LIB_PRIVATE N_NIMCALL(tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw, cmpTypes__sigmatch_3047)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a);
2405 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);
2406 static N_INLINE(NIM_BOOL, scopedLifetime__sem_17670)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri);
2407 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getRoot__sem_17663)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL followDeref);
2408 static N_INLINE(NIM_BOOL, escapes__sem_17695)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le);
2409 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, goodLineInfo__sem_17739)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg);
2410 static N_INLINE(void, asgnToResultVar__sem_17611)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri);
2411 N_LIB_PRIVATE N_NIMCALL(tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog, classifyViewType__typeallowed_564)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2412 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, takeImplicitAddr__sem_17562)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isLent);
2413 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, exprRoot__parampatterns_300)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2414 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, createDocLink__lineinfos_6)(NimStringDesc* urlSuffix);
2415 static N_INLINE(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, pop__icZic_2460)(tySequence__eHqUwlHGGaPw0TDPDeL79cQ** s);
2416 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
2417 N_LIB_PRIVATE N_NIMCALL(void, finishMethod__sem_114)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2418 N_LIB_PRIVATE N_NIMCALL(void, assign__types_3929)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* dest, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* src);
2419 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);
2420 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_759)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
2421 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, lengthOrd__types_1661)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2422 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);
2423 static N_INLINE(NIM_BOOL, isRange__trees_213)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2424 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);
2425 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);
2426 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConvTakeType__types_3623)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2427 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, minus___int495056_474)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
2428 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, plus___int495056_794)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
2429 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, plus___int495056_448)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
2430 N_LIB_PRIVATE N_NIMCALL(void, delSon__ast_4313)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, NI idx);
2431 N_LIB_PRIVATE N_NIMCALL(void, inc__int495056_251)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA* a, NU32 y);
2432 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, deduplicate__nimsets_236)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
2433 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);
2434 N_LIB_PRIVATE N_NIMCALL(void, checkForOverlap__sem_3723)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, NI currentEx, NI branchIndex);
2435 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, overlap__nimsets_40)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
2436 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_313)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
2437 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, toCover__sem_3884)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2438 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, shl__int495056_379)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI b);
2439 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, formatMissingEnums__sem_4020)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2440 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderAsType__sem_3988)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* vals, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2441 N_LIB_PRIVATE N_NIMCALL(void, addQuoted__sem_4005)(NimStringDesc** s, NIM_CHAR x);
2442 static N_INLINE(void, addEscapedChar__system_7485)(NimStringDesc** s, NIM_CHAR c);
2443 static N_INLINE(NI, len__nilcheck_1772)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s);
2444 static N_INLINE(void, minus___sem_4040)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
2445 N_LIB_PRIVATE N_NIMCALL(void, difference__sem_4045)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
2446 N_LIB_PRIVATE N_NIMCALL(void, genericShallowAssign)(void* dest, void* src, TNimType* mt);
2447 N_LIB_PRIVATE N_NIMCALL(void, getIntSetOfType__sem_3930)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
2448 N_LIB_PRIVATE N_NIMCALL(NI64, toInt64__int495056_88)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA arg);
2449 N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rope__ropes_109)(NimStringDesc* s);
2450 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, computeRequiresInit__sem_135)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2451 N_LIB_PRIVATE N_NIMCALL(void, initConstrContext__sem_19652)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initExpr, tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw* Result);
2452 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNode__ast_3332)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
2453 N_LIB_PRIVATE N_NIMCALL(tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ, semConstructTypeAux__sem_19627)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw* constrCtx, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2454 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);
2455 N_LIB_PRIVATE N_NIMCALL(void, mergeInitStatus__sem_19071)(tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ* existing, tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ newStatus);
2456 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, fieldsPresentInInitExpr__sem_19294)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsRecList, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initExpr);
2457 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, locateFieldInInitExpr__sem_19118)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initExpr);
2458 N_LIB_PRIVATE N_NIMCALL(void, invalidObjConstr__sem_19105)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2459 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);
2460 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprFlagDispatched__sem_641)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2461 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryConstExpr__sem_582)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2462 static N_INLINE(void, pushSafePoint)(TSafePoint* s);
2463 static N_INLINE(void, popSafePoint)(void);
2464 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
2465 static N_INLINE(Exception*, nimBorrowCurrentException)(void);
2466 static N_INLINE(void, popCurrentException)(void);
2467 N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
2468 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);
2469 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipHidden__types_3613)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2470 N_LIB_PRIVATE N_NIMCALL(void, findUsefulCaseContext__sem_19218)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* discrimator, tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* Result);
2471 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);
2472 N_LIB_PRIVATE N_NIMCALL(void, excl__reorder_264)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
2473 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, caseBranchMatchesExpr__sem_19167)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* matched);
2474 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, exprStructuralEquivalent__trees_56)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b, NIM_BOOL strictSymEquality);
2475 N_LIB_PRIVATE N_NIMCALL(void, collectMissingFields__sem_19304)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsRecList, tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw* constrCtx);
2476 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIntLit__lowerings_695)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NI64 value);
2477 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pickCaseBranch__sem_19243)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caseExpr, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* matched);
2478 N_LIB_PRIVATE N_NIMCALL(void, rawAddSonNoPropagationOfTypeFlags__ast_4299)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son);
2479 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeOf2__sem_5878)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2480 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semWhen__sem_515)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL semCheck);
2481 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookUp__lookups_1211)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2482 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, commonType__sem_237)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TType__facALICuu8zUj0hjvbTLFg* y);
2483 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, semTypeIdent__sem_3474)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2484 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);
2485 N_LIB_PRIVATE N_NIMCALL(void, reset__sem_3561)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj);
2486 N_LIB_PRIVATE N_NIMCALL(void, transitionNoneToSym__ast_4385)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2487 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, symFromExpectedTypeNode__sem_5854)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2488 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semArray__sem_3419)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2489 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semArrayIndex__sem_3367)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2490 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeRangeWithStaticExpr__semdata_979)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2491 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);
2492 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);
2493 N_LIB_PRIVATE N_NIMCALL(void, semContainerArg__sem_3146)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* kindStr, tyObject_TType__facALICuu8zUj0hjvbTLFg* result);
2494 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semRange__sem_3307)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2495 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semSet__sem_3120)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2496 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semOrdinal__sem_3459)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2497 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semIterableType__sem_3449)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2498 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semVarargs__sem_3167)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2499 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTuple__sem_3578)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2500 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTupleRecursive__types_3996)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2501 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);
2502 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semGenericParamInInvocation__sem_5423)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2503 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);
2504 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_4168)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds, NI maxIters);
2505 N_LIB_PRIVATE N_NIMCALL(void, semObjectTypeForInheritedGenericInst__sem_5427)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2506 N_LIB_PRIVATE N_NIMCALL(void, recomputeFieldPositions__semtypinst_1006)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, NI* currPosition);
2507 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeClass__sem_5629)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2508 static N_INLINE(NIM_BOOL, isNewStyleConcept__ast_5226)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2509 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConceptDeclaration__concepts_97)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2510 N_LIB_PRIVATE N_NIMCALL(void, add__concepts_23)(tyObject_TType__facALICuu8zUj0hjvbTLFg* father, tyObject_TType__facALICuu8zUj0hjvbTLFg* son);
2511 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, makeTypeWithModifier__semdata_746)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag modifier, tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType);
2512 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConceptBody__sem_2888)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2513 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);
2514 static N_INLINE(NIM_BOOL, isSelf__concepts_38)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2515 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semDistinct__sem_3206)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2516 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);
2517 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, applyTypeSectionPragmas__sem_5714)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmas, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* operand);
2518 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTreeWithoutNode__ast_4459)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* skippedNode);
2519 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semEnum__sem_2937)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2520 N_LIB_PRIVATE N_NIMCALL(void, initStrTable__ast_4088)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* x);
2521 static N_INLINE(void, addInterfaceDecl__lookups_879)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
2522 N_LIB_PRIVATE N_NIMCALL(void, declarePureEnumField__importer_61)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2523 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, strTableInclReportConflict__astalgo_3342)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* n, NIM_BOOL onConflictKeepOld);
2524 N_LIB_PRIVATE N_NIMCALL(void, addPureEnum__semdata_674)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA e);
2525 N_LIB_PRIVATE N_NIMCALL(void, setToStringProc__modulegraphs_6035)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* value);
2526 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);
2527 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semStmtListType__sem_5374)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2528 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semBlockType__sem_5402)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev);
2529 N_LIB_PRIVATE N_NIMCALL(void, newIdTable__ast_4102)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* Result);
2530 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsthasKey)(tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* t, NimStringDesc* key);
2531 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, wrapInComesFrom__evaltempl_260)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res);
2532 static N_INLINE(NIM_BOOL, hasWarn__options_557)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug note);
2533 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getNilType__sem_20188)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2534 N_LIB_PRIVATE N_NIMCALL(void, setIntLitType__semdata_245)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result);
2535 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semFieldAccess__sem_13894)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2536 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConv__sem_14395)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2537 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStaticExpr__sem_125)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2538 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, findUnresolvedStatic__ast_4956)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2539 N_LIB_PRIVATE N_NIMCALL(void, maybeLiftType__sem_14373)(tyObject_TType__facALICuu8zUj0hjvbTLFg** t, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2540 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedSym__sem_14382)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2541 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);
2542 N_LIB_PRIVATE N_NIMCALL(tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw, checkConvertible__sem_14039)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* targetTyp, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
2543 N_LIB_PRIVATE N_NIMCALL(tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw, checkConversionBetweenObjects__sem_14019)(tyObject_TType__facALICuu8zUj0hjvbTLFg* castDest, tyObject_TType__facALICuu8zUj0hjvbTLFg* src, NI pointers);
2544 static N_INLINE(NIM_BOOL, contains__sem_14178)(tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ s, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw value);
2545 static N_INLINE(tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ, dotdot___sem_14157)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw a, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw b);
2546 static N_INLINE(NIM_BOOL, contains__semfold_120)(tyObject_HSlice__fqLtJsaN5foHLgxLTScotw* s, tyObject_Int128__9a9axPfb75jdWY25AamJewkA value);
2547 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_309)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
2548 static N_INLINE(void, dotdot___semfold_99)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b, tyObject_HSlice__fqLtJsaN5foHLgxLTScotw* Result);
2549 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, getInt__ast_4592)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
2550 N_LIB_PRIVATE N_NIMCALL(tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA, classify__pureZmath_147)(NF x);
2551 static N_INLINE(NIM_BOOL, contains__sem_14231)(tyObject_HSlice__fqLtJsaN5foHLgxLTScotw* s, NI64 value);
2552 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_745)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, NI64 b);
2553 static N_INLINE(NIM_BOOL, contains__semfold_938)(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA s, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag value);
2554 static N_INLINE(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA, dotdot___semfold_916)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag a, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag b);
2555 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___int495056_53)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a);
2556 N_LIB_PRIVATE N_NIMCALL(NF, getFloat__ast_4607)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
2557 N_LIB_PRIVATE N_NIMCALL(void, errorUseQualifier__lookups_1180)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2558 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semObjConstr__sem_16471)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2559 N_LIB_PRIVATE N_NIMCALL(void, addDeclaredLoc__astmsgs_33)(NimStringDesc** result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2560 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, listSymbolNames__astalgo_4310)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** symbols, NI symbolsLen_0);
2561 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);
2562 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDefined__sem_18104)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2563 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefined__options_2279)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* symbol);
2564 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, setMs__sem_18539)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2565 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDeclared__sem_18136)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL onlyCurrentScope);
2566 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookUpForDeclared__sem_18112)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL onlyCurrentScope);
2567 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, localSearchInScope__lookups_142)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* s);
2568 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, someSym__modulegraphs_2817)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name);
2569 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semCompiles__sem_18476)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2570 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryExpr__sem_104)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2571 N_LIB_PRIVATE N_NIMCALL(NI, getInfoContextLen__msgs_476)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
2572 N_LIB_PRIVATE N_NIMCALL(void, trackStmt__sempass50_4915)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isTopLevel);
2573 N_LIB_PRIVATE N_NIMCALL(void, setInfoContextLen__msgs_483)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI L);
2574 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIs__sem_14686)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2575 N_LIB_PRIVATE N_NIMCALL(void, fixupStaticType__sem_14592)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2576 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, makeTypeSymNode__semdata_785)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2577 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, isOpImpl__sem_14603)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2578 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);
2579 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExpandToAst__sem_18180)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2580 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semQuoteAst__sem_111)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2581 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, expectString__sem_18166)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2582 N_LIB_PRIVATE N_NIMCALL(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*, newSeq__sem_18374)(NI len);
2583 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newAnonSym__sem_18175)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2584 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);
2585 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuStartsWith)(NimStringDesc* s, NimStringDesc* prefix);
2586 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr__system_7756)(NimStringDesc* s, NI first);
2587 N_LIB_PRIVATE N_NIMCALL(void, newSons__semtypinst_404)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, NI length);
2588 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);
2589 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplateDef__sem_7666)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2590 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBodyDirty__sem_7597)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2591 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBody__sem_6788)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2592 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);
2593 N_LIB_PRIVATE N_NIMCALL(void, styleCheckUse__linter_192)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2594 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBodySons__sem_7133)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2595 N_LIB_PRIVATE N_NIMCALL(void, openScope__sem_6791)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c);
2596 N_LIB_PRIVATE N_NIMCALL(void, closeScope__sem_6793)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c);
2597 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBodyScope__sem_6795)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2598 N_LIB_PRIVATE N_NIMCALL(void, addLocalDecl__sem_6844)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw k);
2599 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw, symBinding__sem_6547)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2600 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw, whichKeyword__idents_214)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* id);
2601 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, onlyReplaceParams__sem_6799)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2602 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getIdentNode__sem_6749)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2603 static N_INLINE(NIM_BOOL, isTemplParam__sem_6768)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2604 N_LIB_PRIVATE N_NIMCALL(void, replaceIdentBySym__sem_6733)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s);
2605 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
2606 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newGenSym__sem_6831)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c);
2607 N_LIB_PRIVATE N_NIMCALL(void, semTemplSomeDecl__sem_7085)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind, NI start);
2608 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semRoutineInTemplBody__sem_7009)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw k);
2609 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semRoutineInTemplName__sem_6973)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2610 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isRunnableExamples__ast_4698)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2611 N_LIB_PRIVATE N_NIMCALL(void, symTabReplace__astalgo_3302)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prevSym, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* newSym);
2612 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getCompilerProc__magicsys_145)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NimStringDesc* name);
2613 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);
2614 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpawnResult__YOcUu9brt5AKRflRWdxATPw, spawnResult__spawn_34)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NIM_BOOL inParallel);
2615 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, createFlowVar__sem_18510)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2616 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, instantiateCreateFlowVarCall__sem_18515)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2617 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSizeof__sem_18545)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2618 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIndirectOp__sem_16548)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2619 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDeref__lowerings_11)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2620 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, bracketedMacro__sem_16491)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2621 N_LIB_PRIVATE N_NIMCALL(void, setGenericParams__sem_16507)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2622 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);
2623 N_LIB_PRIVATE N_NIMCALL(void, initCandidate__sigmatch_116)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* ctx, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* callee);
2624 N_LIB_PRIVATE N_NIMCALL(void, addDeclaredLocMaybe__astmsgs_51)(NimStringDesc** result, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2625 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, overloadedCallOpr__sem_14774)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2626 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldBeBracketExpr__sem_20029)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2627 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, asBracketExpr__sem_20084)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2628 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGeneric__sem_20088)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2629 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);
2630 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);
2631 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semArrayAccess__sem_17529)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2632 N_LIB_PRIVATE N_NIMCALL(void, invalidPragma__pragmas_148)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2633 N_LIB_PRIVATE N_NIMCALL(tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg, checkPar__sem_18916)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2634 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTupleConstr__sem_19999)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2635 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTuplePositionsConstr__sem_19039)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2636 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTupleFieldsConstr__sem_18980)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2637 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSetConstr__sem_18756)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2638 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semArrayConstr__sem_14893)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2639 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semCast__sem_14524)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2640 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCastable__sem_14277)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* dst, tyObject_TType__facALICuu8zUj0hjvbTLFg* src);
2641 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFinal__types_750)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2642 N_LIB_PRIVATE N_NIMCALL(NI64, computeSize__types_3317)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2643 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIf__sem_9366)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2644 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprBranch__sem_9264)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2645 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, commonType__sem_448)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y);
2646 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, endsInNoReturn__sem_416)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2647 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprBranchScope__sem_9277)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2648 N_LIB_PRIVATE N_NIMCALL(void, considerGenSyms__semdata_425)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2649 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTableConstr__sem_18848)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2650 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBlock__sem_19802)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2651 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStmtList__sem_13731)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2652 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUnresolvedStatic__ast_3517)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2653 N_LIB_PRIVATE N_NIMCALL(void, inferConceptStaticParam__sem_13725)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* inferred, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2654 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semRaise__sem_11562)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2655 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isImportedException__ast_4904)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
2656 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isException__types_4000)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2657 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semVarOrLet__sem_10066)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symkind);
2658 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semLowerLetVarCustomPragma__sem_9949)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2659 N_LIB_PRIVATE N_NIMCALL(void, suggestStmt__sigmatch_6552)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2660 N_LIB_PRIVATE N_NIMCALL(void, errorSymChoiceUseQualifier__sem_10047)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2661 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasEmpty__sem_9842)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2662 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);
2663 N_LIB_PRIVATE N_NIMCALL(void, fillPartialObject__sem_9910)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2664 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDiscardUnderscore__sem_9761)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v);
2665 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, findShadowedVar__sem_9651)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v);
2666 N_LIB_PRIVATE N_NIMCALL(void, setVarType__sem_9941)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2667 N_LIB_PRIVATE N_NIMCALL(void, defaultConstructionError__sem_138)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2668 N_LIB_PRIVATE N_NIMCALL(void, checkNilable__sem_9708)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v);
2669 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, astdef__ast_3483)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2670 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);
2671 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConst__sem_10429)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2672 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fitRemoveHiddenConv__sem_9629)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2673 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newFloatNode__ast_3809)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NF floatVal);
2674 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTypeSection__sem_12312)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2675 N_LIB_PRIVATE N_NIMCALL(void, typeSectionLeftSidePass__sem_11722)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2676 N_LIB_PRIVATE N_NIMCALL(void, typeDefLeftSidePass__sem_11622)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typeSection, NI i);
2677 N_LIB_PRIVATE N_NIMCALL(void, typeSectionRightSidePass__sem_11843)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2678 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, typeSectionTypeName__sem_11606)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2679 N_LIB_PRIVATE N_NIMCALL(void, processMagicType__sem_6284)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m);
2680 N_LIB_PRIVATE N_NIMCALL(void, setMagicIntegral__sem_6275)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, NI size);
2681 N_LIB_PRIVATE N_NIMCALL(void, setMagicType__sem_6266)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, NI size);
2682 N_LIB_PRIVATE N_NIMCALL(NI16, floatInt64Align__options_4700)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
2683 N_LIB_PRIVATE N_NIMCALL(void, checkCovariantParamsUsages__sem_11743)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* genericType);
2684 static N_NIMCALL(void, Marker_tyRef__XNJoeAba9c9cA3kTvTEsgqEQ)(void* p, NI op);
2685 N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, traverseSubTypes__sem_11752)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, void* ClE_0);
2686 N_LIB_PRIVATE N_NIMCALL(void, typeSectionFinalPass__sem_12118)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2687 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, safeSkipTypes__types_3552)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
2688 N_LIB_PRIVATE N_NIMCALL(void, checkConstructedType__semtypinst_26)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2689 N_LIB_PRIVATE N_NIMCALL(void, checkForMetaFields__sem_12062)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2690 N_LIB_PRIVATE N_NIMCALL(void, checkMeta__sem_12065)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
2691 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDiscard__sem_9153)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2692 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semWhile__sem_9234)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2693 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTry__sem_9422)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2694 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, toObject__ast_4879)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2695 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, toRef__ast_4871)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
2696 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBreakOrContinue__sem_9185)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2697 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semFor__sem_11337)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2698 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, handleForLoopMacro__sem_11301)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2699 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);
2700 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprNoDeref__sem_63)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2701 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrivalStmtExpr__sem_11231)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2702 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semForVars__sem_10972)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2703 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, symForVar__sem_10945)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2704 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semForFields__sem_10813)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
2705 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, systemModuleSym__modulegraphs_2829)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name);
2706 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, instFieldLoopBody__sem_10639)(tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* forLoop);
2707 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);
2708 N_LIB_PRIVATE N_NIMCALL(void, illFormedAstLocal__semdata_1074)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
2709 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsNode__ast_4545)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kinds);
2710 static N_INLINE(NIM_BOOL, isClosureIterator__ast_5004)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
2711 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, implicitIterator__sem_11206)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, NimStringDesc* it, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg);
2712 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semCase__sem_11453)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2713 N_LIB_PRIVATE N_NIMCALL(void, pushCaseContext__semdata_1105)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caseNode);
2714 N_LIB_PRIVATE N_NIMCALL(void, popCaseContext__semdata_1121)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2715 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, handleCaseStmtMacro__sem_11311)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2716 N_LIB_PRIVATE N_NIMCALL(void, setCaseContextIdx__semdata_1136)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, NI idx);
2717 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semReturn__sem_17871)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2718 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semUsing__sem_9768)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2719 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAsm__sem_9228)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2720 N_LIB_PRIVATE N_NIMCALL(NIM_CHAR, pragmaAsm__pragmas_201)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2721 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAsmOrEmit__pragmas_1133)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* con, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_CHAR marker);
2722 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semYield__sem_18051)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2723 N_LIB_PRIVATE N_NIMCALL(void, semYieldVarResult__sem_17977)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* restype);
2724 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIterator__sem_13400)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2725 N_LIB_PRIVATE N_NIMCALL(void, transitionRoutineSymKind__ast_4393)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyEnum_TSymKind__uwRDzlpaGW5WJzgBn4R8Eg kind);
2726 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semProc__sem_9261)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2727 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semFunc__sem_13456)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2728 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semMethod__sem_13466)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2729 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getDispatcher__cgmeth_42)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2730 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConverterDef__sem_13501)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2731 N_LIB_PRIVATE N_NIMCALL(void, addConverterDef__semdata_667)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA conv);
2732 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semMacroDef__sem_13520)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2733 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalImport__importer_3854)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2734 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalImportExcept__importer_3935)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2735 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalFrom__importer_3909)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2736 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalInclude__sem_13575)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2737 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);
2738 N_LIB_PRIVATE N_NIMCALL(NI32, checkModuleName__modulepaths_21)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL doLocalError);
2739 N_LIB_PRIVATE N_NIMCALL(void, addIncludeFileDep__semdata_604)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, NI32 f);
2740 N_LIB_PRIVATE N_NIMCALL(void, onProcessing__modulegraphs_11274)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, NI32 fileIdx, NimStringDesc* moduleStatus, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fromModule);
2741 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toMsgFilename__msgs_602)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI32 fileIdx);
2742 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExport__sem_19888)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2743 N_LIB_PRIVATE N_NIMCALL(void, reexportSym__semdata_717)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2744 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2709)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m);
2745 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2697)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module);
2746 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);
2747 static N_INLINE(void, specialSyms__sem_19892)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
2748 N_LIB_PRIVATE N_NIMCALL(void, addConverter__semdata_653)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA conv);
2749 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, nextRodIter__icZic_8962)(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg* it, tySequence__rQHmYk1HzcwNxKBymIFHpA** g);
2750 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExportExcept__sem_19849)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2751 N_LIB_PRIVATE N_NIMCALL(void, readExceptSet__importer_17)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result);
2752 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semPragmaBlock__sem_13647)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2753 N_LIB_PRIVATE N_NIMCALL(void, setLine__sem_13634)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
2754 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStaticStmt__sem_13685)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2755 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);
2756 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___msgs_993)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q a, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q b);
2757 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOperand__sem_13900)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2758 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasUnresolvedParams__sem_9864)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags);
2759 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semInferredLambda__sem_12601)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2760 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);
2761 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);
2762 N_LIB_PRIVATE N_NIMCALL(NI*, new__sem_20568)(void);
2763 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStmtAndGenerateGenerics__sem_20705)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2764 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isImportSystemStmt__sem_20680)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2765 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyTree__sem_20701)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2766 N_LIB_PRIVATE N_NIMCALL(void, importAllSymbols__importer_2078)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fromMod);
2767 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAllTypeSections__sem_12229)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2768 N_LIB_PRIVATE N_NIMCALL(void, gatherStmts__sem_12233)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result);
2769 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, hloStmt__sem_794)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2770 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildEchoStmt__sem_16718)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2771 N_LIB_PRIVATE N_NIMCALL(void, appendToModule__ast_3540)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2772 N_LIB_PRIVATE N_NIMCALL(void, recoverContext__sem_20740)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2773 static N_INLINE(Exception*, getCurrentException)(void);
2774 static N_INLINE(NIM_BOOL, isObjWithCache)(TNimType* obj, TNimType* subclass, TNimType** cache);
2775 N_LIB_PRIVATE N_NOINLINE(NIM_BOOL, isObjSlowPath__system_3313)(TNimType* obj, TNimType* subclass, TNimType** cache);
2776 N_LIB_PRIVATE N_NIMCALL(void, storeRodNode__semdata_1178)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2777 N_LIB_PRIVATE N_NIMCALL(void, suggestSentinel__sigmatch_6567)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2778 N_LIB_PRIVATE N_NIMCALL(void, rawCloseScope__lookups_99)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2779 N_LIB_PRIVATE N_NIMCALL(void, reportUnusedModules__sem_20768)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2780 N_LIB_PRIVATE N_NIMCALL(void, addCodeForGenerics__sem_20522)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
2781 N_LIB_PRIVATE N_NIMCALL(void, sealRodFile__semdata_3603)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c);
2782 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_2, "sem.myOpen", 10);
2783 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_4, "/home/runner/work/nightlies/nightlies/nim/compiler/sem.nim", 58);
2784 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_3 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
2785 ((NI) 556),
2786 ((NI) 30)}
2787 ;
2788 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_5 = {
2789 0x10, 0xa8, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
2790 0x00}
2791 ;
2792 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_6, "constant of type \'", 18);
2793 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_7, "\' has no value", 14);
2794 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_9, "/home/runner/work/nightlies/nightlies/nim/compiler/semexprs.nim", 63);
2795 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_8 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
2796 ((NI) 112),
2797 ((NI) 14)}
2798 ;
2799 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_10, "recursive dependency: \'$1\'", 26);
2800 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_11 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
2801 ((NI) 487),
2802 ((NI) 15)}
2803 ;
2804 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_12, "\'$1\' has unspecified generic parameters", 39);
2805 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_13 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
2806 ((NI) 493),
2807 ((NI) 15)}
2808 ;
2809 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_14, "template instantiation too nested", 33);
2810 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_15 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
2811 ((NI) 425),
2812 ((NI) 15)}
2813 ;
2814 extern TNimType NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_;
2815 static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__rF9caJawfOjYTjsgLVUSGFA_16 = {
2816 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04,
2817 0x02, 0x00, 0xe0, 0x11, 0x02, 0x0c, 0x01, 0xc0,
2818 0x00, 0x00, 0x00, 0x00, 0x00}
2819 ;
2820 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_17, "expression \'", 12);
2821 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_18, "\' is of type \'", 14);
2822 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_19, "\' and has to be used (or discarded)", 35);
2823 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_20, "; start of expression here: ", 28);
2824 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_21, "; for a function call use ()", 28);
2825 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_23, "/home/runner/work/nightlies/nightlies/nim/compiler/semstmts.nim", 63);
2826 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_22 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
2827 ((NI) 151),
2828 ((NI) 16)}
2829 ;
2830 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_24, "type expected", 13);
2831 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_26, "/home/runner/work/nightlies/nightlies/nim/compiler/semtypes.nim", 63);
2832 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_25 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2833 ((NI) 447),
2834 ((NI) 14)}
2835 ;
2836 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_27, "[]", 2);
2837 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_28, "range is empty", 14);
2838 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_29 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2839 ((NI) 231),
2840 ((NI) 14)}
2841 ;
2842 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_30 = {
2843 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
2844 0x00}
2845 ;
2846 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_31 = {
2847 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
2848 0x00}
2849 ;
2850 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_32, "ordinal or float type expected", 30);
2851 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_33 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2852 ((NI) 250),
2853 ((NI) 16)}
2854 ;
2855 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_34, "enum \'$1\' has holes", 19);
2856 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_35 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2857 ((NI) 252),
2858 ((NI) 16)}
2859 ;
2860 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_36, "NaN is not a valid start or end for a range", 43);
2861 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_37 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2862 ((NI) 263),
2863 ((NI) 14)}
2864 ;
2865 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_38 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2866 ((NI) 266),
2867 ((NI) 14)}
2868 ;
2869 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_39 = {
2870 0x10, 0x08, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
2871 0x00}
2872 ;
2873 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_40, "invalid type", 12);
2874 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_41 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2875 ((NI) 1759),
2876 ((NI) 18)}
2877 ;
2878 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_42, "expected type, but got: ", 24);
2879 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_43 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2880 ((NI) 1547),
2881 ((NI) 14)}
2882 ;
2883 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_44, "|", 1);
2884 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_45 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2885 ((NI) 1770),
2886 ((NI) 20)}
2887 ;
2888 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_46 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2889 ((NI) 1773),
2890 ((NI) 20)}
2891 ;
2892 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_47, "Invalid syntax. When used with a type, \'not\' can be followed only by \'nil\'", 74);
2893 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_48 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2894 ((NI) 1785),
2895 ((NI) 22)}
2896 ;
2897 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);
2898 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_50 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2899 ((NI) 1788),
2900 ((NI) 22)}
2901 ;
2902 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_51 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2903 ((NI) 1822),
2904 ((NI) 22)}
2905 ;
2906 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_52 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2907 ((NI) 1827),
2908 ((NI) 20)}
2909 ;
2910 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_53 = {
2911 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
2912 0x00}
2913 ;
2914 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_54, "cannot inherit from a type that is not an object type", 53);
2915 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_55 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2916 ((NI) 871),
2917 ((NI) 16)}
2918 ;
2919 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_56 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2920 ((NI) 883),
2921 ((NI) 19)}
2922 ;
2923 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_57, "addInheritedFieldsAux", 21);
2924 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_58 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2925 ((NI) 830),
2926 ((NI) 42)}
2927 ;
2928 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_59, "addInheritedFieldsAux(record case branch)", 41);
2929 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_60 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2930 ((NI) 836),
2931 ((NI) 25)}
2932 ;
2933 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_61, "addInheritedFieldsAux()", 23);
2934 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_62 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2935 ((NI) 843),
2936 ((NI) 21)}
2937 ;
2938 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_63, "inheritance only works with non-final objects; for ", 51);
2939 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_64, " to be inheritable it must be \'object of RootObj\' instead of \'object\'", 69);
2940 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_65 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2941 ((NI) 887),
2942 ((NI) 20)}
2943 ;
2944 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_66, "semObjectNode", 13);
2945 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_67 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
2946 ((NI) 892),
2947 ((NI) 40)}
2948 ;
2949 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_68, "expression has no type: ", 24);
2950 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_69 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
2951 ((NI) 89),
2952 ((NI) 14)}
2953 ;
2954 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_70 = {
2955 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
2956 0x00}
2957 ;
2958 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_71, "(", 1);
2959 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_72, ", ", 2);
2960 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_73, ")", 1);
2961 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_75, "/home/runner/work/nightlies/nightlies/nim/compiler/seminst.nim", 62);
2962 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_74 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_75),
2963 ((NI) 336),
2964 ((NI) 17)}
2965 ;
2966 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
2967 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_76, "generic instantiation too nested", 32);
2968 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_77 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_75),
2969 ((NI) 339),
2970 ((NI) 15)}
2971 ;
2972 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_78 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_75),
2973 ((NI) 362),
2974 ((NI) 17)}
2975 ;
2976 extern TNimType NTIpinstantiation__Y32tFilzS9adEEksgrCsOzQ_;
2977 extern TNimType NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_;
2978 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_79 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_75),
2979 ((NI) 61),
2980 ((NI) 17)}
2981 ;
2982 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_80 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_75),
2983 ((NI) 63),
2984 ((NI) 19)}
2985 ;
2986 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_81, "cannot instantiate: \'$1\'", 24);
2987 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_82 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_75),
2988 ((NI) 76),
2989 ((NI) 20)}
2990 ;
2991 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_83 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_75),
2992 ((NI) 79),
2993 ((NI) 18)}
2994 ;
2995 extern TNimType NTIpproccon__GJ8qR6LTU9bYLzfOArsHTSg_;
2996 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_84 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_75),
2997 ((NI) 271),
2998 ((NI) 19)}
2999 ;
3000 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_85 = {
3001 0x10, 0x28, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
3002 0x00}
3003 ;
3004 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_86, "no tuple type for constructor", 29);
3005 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_87 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3006 ((NI) 536),
3007 ((NI) 17)}
3008 ;
3009 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_88, "invalid tuple constructor", 25);
3010 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_89 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3011 ((NI) 542),
3012 ((NI) 21)}
3013 ;
3014 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_90, "unknown identifier: ", 20);
3015 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_91 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3016 ((NI) 547),
3017 ((NI) 23)}
3018 ;
3019 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_92, "cannot convert ", 15);
3020 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_93, " to ", 4);
3021 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_94 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3022 ((NI) 565),
3023 ((NI) 18)}
3024 ;
3025 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_95, "cannot convert \'$1\' to \'$2\'", 27);
3026 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_96 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3027 ((NI) 569),
3028 ((NI) 16)}
3029 ;
3030 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_97 = {
3031 0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
3032 0x00}
3033 ;
3034 extern TNimType NTIseqLtinstantiationpairT__jWKvSdankQPoT5bw9cBU9aiw_;
3035 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_98 = {
3036 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3037 0x00, 0x0c, 0x20, 0xd5, 0x1f, 0xfa, 0xfb, 0x05,
3038 0x60, 0xcc, 0xff, 0x01, 0x20, 0x40, 0x38, 0x80,
3039 0xc6, 0x00, 0x86, 0x24, 0x03, 0x40, 0x00, 0x00,
3040 0x00, 0x00, 0x00, 0x00, 0x00}
3041 ;
3042 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_99, "NimNode", 7);
3043 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_100, "incorrect result proc symbol", 28);
3044 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_101 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3045 ((NI) 1500),
3046 ((NI) 18)}
3047 ;
3048 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_102, "result", 6);
3049 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_103, "value of type \'$1\' has to be used (or discarded)", 48);
3050 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_104 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3051 ((NI) 128),
3052 ((NI) 16)}
3053 ;
3054 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_105 = {
3055 0x10, 0x00, 0xe0, 0x00, 0x00, 0xe0, 0x00, 0x00,
3056 0x00}
3057 ;
3058 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_106 = {
3059 0x10, 0x08, 0xe0, 0x00, 0x00, 0xe0, 0x00, 0x00,
3060 0x00}
3061 ;
3062 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_107 = {
3063 0x10, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3064 0x00}
3065 ;
3066 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_108, "contains", 8);
3067 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_109, "not", 3);
3068 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_110, "semstmts.nim(1567, 14) `r[0].kind == nkSym` ", 44);
3069 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_111, "semstmts.nim(1576, 14) `result != nil` ", 39);
3070 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_112, "cannot use symbol of kind \'$1\' as a \'$2\'", 40);
3071 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_113 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
3072 ((NI) 229),
3073 ((NI) 16)}
3074 ;
3075 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_114, "\'$1\' is only allowed at top level", 33);
3076 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_115, "export", 6);
3077 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_116 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3078 ((NI) 498),
3079 ((NI) 20)}
3080 ;
3081 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_117, "invalid visibility: \'$1\'", 24);
3082 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_118 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3083 ((NI) 500),
3084 ((NI) 20)}
3085 ;
3086 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_119 = {
3087 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3088 0x00, 0x00, 0x18, 0x50, 0x8f, 0x01, 0x00, 0x05,
3089 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3090 0x00, 0x00, 0x00, 0x10, 0x00, 0x40, 0x00, 0x00,
3091 0x00, 0x00, 0x00, 0x00, 0x10}
3092 ;
3093 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_120 = {
3094 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3095 0x00, 0x04, 0x18, 0x50, 0x1f, 0x13, 0x38, 0x05,
3096 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3097 0x06, 0x00, 0x26, 0x16, 0x00, 0x40, 0x04, 0x10,
3098 0x00, 0x00, 0x02, 0x00, 0x00}
3099 ;
3100 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_121 = {
3101 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3102 0x00, 0x04, 0x07, 0x50, 0x1f, 0x12, 0x30, 0x05,
3103 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3104 0x00, 0x00, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00,
3105 0x00, 0x00, 0x00, 0x00, 0x00}
3106 ;
3107 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_122, "sem.nim(524, 12) `orig.kind in {nkEmpty, nkGenericParams}` ", 59);
3108 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_123 = {
3109 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3110 0x00}
3111 ;
3112 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_124, "in", 2);
3113 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_125, "the \'$1\' modifier can be used only with imported types", 54);
3114 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_126 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3115 ((NI) 2172),
3116 ((NI) 24)}
3117 ;
3118 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_127, "{}", 2);
3119 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_128, "\'", 1);
3120 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_129, "\' is only allowed in templates and macros or magic procs", 56);
3121 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_130 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3122 ((NI) 1245),
3123 ((NI) 20)}
3124 ;
3125 extern NIM_CONST tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw OverloadableSyms__ast_3007;
3126 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_131, "{}=", 3);
3127 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_132, "[]=", 3);
3128 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_133, "cannot infer the type of parameter \'", 36);
3129 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_134 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3130 ((NI) 1264),
3131 ((NI) 20)}
3132 ;
3133 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_135, "\':\' expected", 12);
3134 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_136 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3135 ((NI) 1288),
3136 ((NI) 27)}
3137 ;
3138 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_137 = {
3139 0x10, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
3140 0x00}
3141 ;
3142 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_138 = {
3143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3144 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
3145 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3146 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
3147 0x00, 0x00, 0x00, 0x00, 0x00}
3148 ;
3149 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_139, "parameter \'$1\' requires a type", 30);
3150 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_140 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3151 ((NI) 1302),
3152 ((NI) 20)}
3153 ;
3154 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_141, ":type", 5);
3155 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_142, "the macro body cannot be compiled, because the parameter \'$1\' has a generic type", 80);
3156 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_143 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3157 ((NI) 1056),
3158 ((NI) 16)}
3159 ;
3160 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_144, "typedesc", 8);
3161 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_145, "type", 4);
3162 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_146, "illegal recursion in type \'$1\'", 30);
3163 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_147 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3164 ((NI) 1103),
3165 ((NI) 21)}
3166 ;
3167 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_148 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_75),
3168 ((NI) 178),
3169 ((NI) 17)}
3170 ;
3171 extern TNimType NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_;
3172 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_149 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3173 ((NI) 1146),
3174 ((NI) 22)}
3175 ;
3176 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_150, "attempt to redefine: \'", 22);
3177 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_151 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3178 ((NI) 1314),
3179 ((NI) 18)}
3180 ;
3181 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);
3182 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_153 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3183 ((NI) 1336),
3184 ((NI) 11)}
3185 ;
3186 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_154, "return type \'", 13);
3187 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_155, "\' is only valid for macros and templates", 40);
3188 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_156 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3189 ((NI) 1344),
3190 ((NI) 18)}
3191 ;
3192 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_157, "invalid expression", 18);
3193 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_159, "/home/runner/work/nightlies/nightlies/nim/compiler/semtempl.nim", 63);
3194 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_158 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_159),
3195 ((NI) 741),
3196 ((NI) 16)}
3197 ;
3198 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_160 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_159),
3199 ((NI) 726),
3200 ((NI) 16)}
3201 ;
3202 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_161 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_159),
3203 ((NI) 751),
3204 ((NI) 18)}
3205 ;
3206 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_162 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_159),
3207 ((NI) 753),
3208 ((NI) 16)}
3209 ;
3210 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_163, "*", 1);
3211 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_164, "**", 2);
3212 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_165, "~", 1);
3213 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_166, "a pattern cannot be empty", 25);
3214 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_167 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_159),
3215 ((NI) 823),
3216 ((NI) 16)}
3217 ;
3218 static NIM_CONST tyTuple__7rlNEhvBksZh9a9asniQIl9aQ TM__rF9caJawfOjYTjsgLVUSGFA_168 = {((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL),
3219 NIM_FALSE}
3220 ;
3221 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_169, "pragmas are only allowed in the header of a proc; redefinition of $1", 68);
3222 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_170, "\' from ", 7);
3223 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_171, " \'", 2);
3224 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_172 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3225 ((NI) 1975),
3226 ((NI) 14)}
3227 ;
3228 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_173, "semProcAux", 10);
3229 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_174 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3230 ((NI) 2003),
3231 ((NI) 46)}
3232 ;
3233 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_175, "=destroy", 8);
3234 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_176, "deepcopy", 8);
3235 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_177, "=deepcopy", 9);
3236 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_178, "=", 1);
3237 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_179, "=copy", 5);
3238 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_180, "=sink", 5);
3239 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_181, "=trace", 6);
3240 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_182 = {
3241 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
3242 0x00}
3243 ;
3244 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_183, "cannot bind another \'", 21);
3245 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_184, "\' to: ", 6);
3246 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_185, "; previous declaration was constructed here implicitly: ", 56);
3247 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_186, "; previous declaration was here: ", 33);
3248 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_187 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3249 ((NI) 1659),
3250 ((NI) 12)}
3251 ;
3252 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_188, "type bound operation `", 22);
3253 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_189, "` can be defined only in the same module with its type (", 56);
3254 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_190 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3255 ((NI) 1698),
3256 ((NI) 18)}
3257 ;
3258 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_191, "signature for \'=trace\' must be proc[T: object](x: var T; env: pointer)", 70);
3259 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_192 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3260 ((NI) 1702),
3261 ((NI) 16)}
3262 ;
3263 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_193, "signature for \'", 15);
3264 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_194, "\' must be proc[T: object](x: var T)", 35);
3265 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_195 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3266 ((NI) 1705),
3267 ((NI) 16)}
3268 ;
3269 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_196, "cannot bind another \'deepCopy\' to: ", 35);
3270 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_197 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3271 ((NI) 1730),
3272 ((NI) 20)}
3273 ;
3274 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_198, "cannot bind \'deepCopy\' to: ", 27);
3275 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_199 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3276 ((NI) 1733),
3277 ((NI) 18)}
3278 ;
3279 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_200 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3280 ((NI) 1737),
3281 ((NI) 18)}
3282 ;
3283 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_201, "signature for \'deepCopy\' must be proc[T: ptr|ref](x: T): T", 58);
3284 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_202 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3285 ((NI) 1741),
3286 ((NI) 16)}
3287 ;
3288 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_203 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3289 ((NI) 1776),
3290 ((NI) 20)}
3291 ;
3292 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_204, "\' must be proc[T: object](x: var T; y: T)", 41);
3293 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_205 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3294 ((NI) 1781),
3295 ((NI) 16)}
3296 ;
3297 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_206, "\'destroy\' or \'deepCopy\' expected for \'override\'", 47);
3298 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_207 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3299 ((NI) 1788),
3300 ((NI) 16)}
3301 ;
3302 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_209, ".", 1);
3303 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_210, ".()", 3);
3304 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_211, ".=", 2);
3305 static NIM_CONST tyArray__24KAM9afIUgUaqBaEBB6r9bg TM__rF9caJawfOjYTjsgLVUSGFA_208 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_209),
3306 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_210),
3307 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_211)}
3308 ;
3309 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_212, "the overloaded ", 15);
3310 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_213, " operator has to be enabled with {.experimental: \"dotOperators\".}", 65);
3311 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_214 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3312 ((NI) 2015),
3313 ((NI) 18)}
3314 ;
3315 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_215, "()", 2);
3316 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_216, " operator has to be enabled with {.experimental: \"callOperator\".}", 65);
3317 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_217 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3318 ((NI) 2018),
3319 ((NI) 18)}
3320 ;
3321 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_218, "implementation of \'$1\' is not allowed", 37);
3322 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_219 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3323 ((NI) 2024),
3324 ((NI) 16)}
3325 ;
3326 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_220 = {
3327 0x10, 0x0e, 0xe0, 0x00, 0x00, 0xe0, 0x00, 0x00,
3328 0x00}
3329 ;
3330 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_221, "generic methods are deprecated", 30);
3331 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_222 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3332 ((NI) 1825),
3333 ((NI) 11)}
3334 ;
3335 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_223, "\'method\' needs a parameter that has an object type", 50);
3336 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_224 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3337 ((NI) 1835),
3338 ((NI) 16)}
3339 ;
3340 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_226, "/home/runner/work/nightlies/nightlies/nim/compiler/hlo.nim", 58);
3341 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_225 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_226),
3342 ((NI) 48),
3343 ((NI) 21)}
3344 ;
3345 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_227 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_226),
3346 ((NI) 15),
3347 ((NI) 17)}
3348 ;
3349 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_228 = {
3350 0x10, 0xa9, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
3351 0x00}
3352 ;
3353 static NIM_CONST tySet_tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg TM__rF9caJawfOjYTjsgLVUSGFA_229 = {
3354 0x00, 0x00, 0x20, 0x60, 0x07, 0x03, 0x00, 0x00,
3355 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3356 0x38, 0x46, 0x30, 0x40, 0x00, 0x00, 0x00, 0x00,
3357 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3358 0x00, 0x00, 0x00}
3359 ;
3360 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_230, "for a \'var\' type a variable needs to be passed; but \'$1\' is immutable", 69);
3361 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_231 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3362 ((NI) 753),
3363 ((NI) 24)}
3364 ;
3365 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_232, "address of \'$1\' may not escape its stack frame", 46);
3366 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_233 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3367 ((NI) 760),
3368 ((NI) 18)}
3369 ;
3370 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_234 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3371 ((NI) 701),
3372 ((NI) 18)}
3373 ;
3374 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_235, "analyseIfAddressTaken", 21);
3375 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_236 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3376 ((NI) 715),
3377 ((NI) 19)}
3378 ;
3379 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_237, "expression has no address", 25);
3380 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_239, "/home/runner/work/nightlies/nightlies/nim/compiler/semmagic.nim", 63);
3381 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_238 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3382 ((NI) 21),
3383 ((NI) 16)}
3384 ;
3385 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_240, "expression has no address; maybe use \'unsafeAddr\'", 49);
3386 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_241 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3387 ((NI) 23),
3388 ((NI) 16)}
3389 ;
3390 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_242, "unsafeAddr", 10);
3391 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_243, "typeof: cannot evaluate \'mode\' parameter at compile-time", 56);
3392 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_244 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3393 ((NI) 31),
3394 ((NI) 16)}
3395 ;
3396 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_245, "can\'t compute offsetof on this ast", 34);
3397 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_247, "/home/runner/work/nightlies/nightlies/nim/compiler/sizealignoffsetimpl.nim", 74);
3398 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_246 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_247),
3399 ((NI) 508),
3400 ((NI) 16)}
3401 ;
3402 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_248, "nil dereference is not allowed", 30);
3403 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_249 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3404 ((NI) 1490),
3405 ((NI) 16)}
3406 ;
3407 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_250 = {
3408 0x10, 0x08, 0x80, 0x00, 0x00, 0xe0, 0x00, 0x00,
3409 0x00}
3410 ;
3411 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_251 = {
3412 0x10, 0x08, 0xe0, 0x00, 0x00, 0xe0, 0x20, 0x00,
3413 0x00}
3414 ;
3415 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_252 = {
3416 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3417 0x00}
3418 ;
3419 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_253 = {
3420 0x10, 0x89, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
3421 0x00}
3422 ;
3423 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_254 = {
3424 0x10, 0x88, 0x10, 0x00, 0x00, 0x40, 0x00, 0x00,
3425 0x00}
3426 ;
3427 extern NIM_CONST tyObject_Int128__9a9axPfb75jdWY25AamJewkA Max__int495056_27;
3428 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_255, "invalid index value for tuple subscript", 39);
3429 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_256 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3430 ((NI) 1583),
3431 ((NI) 22)}
3432 ;
3433 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_257, "cannot instantiate: \'", 21);
3434 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_258, "\'; got ", 7);
3435 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_259, " typeof(s) but expected ", 24);
3436 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_261, "/home/runner/work/nightlies/nightlies/nim/compiler/semcall.nim", 62);
3437 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_260 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3438 ((NI) 669),
3439 ((NI) 16)}
3440 ;
3441 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_262 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3442 ((NI) 627),
3443 ((NI) 12)}
3444 ;
3445 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_263, "AnonType", 8);
3446 extern TNimType NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_;
3447 extern TNimType NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_;
3448 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_264, "could not resolve: ", 19);
3449 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_265 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3450 ((NI) 316),
3451 ((NI) 14)}
3452 ;
3453 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_266, "type mismatch", 13);
3454 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_267 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3455 ((NI) 289),
3456 ((NI) 15)}
3457 ;
3458 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_268, "expression \'$1\' cannot be called", 32);
3459 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_269 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3460 ((NI) 292),
3461 ((NI) 14)}
3462 ;
3463 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_270, "\012", 1);
3464 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_271, "  first type mismatch at position: ", 35);
3465 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_272, "\012  unknown named parameter", 26);
3466 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_273, "\012  unknown named parameter: ", 28);
3467 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_274, "\012  named param already provided: ", 33);
3468 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_275, "\012  positional param was already given as named param", 52);
3469 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_276, "\012  extra argument given", 23);
3470 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_277, "\012  missing parameter: ", 22);
3471 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_278, "semcall.nim(235, 18) `nArg != nil` ", 35);
3472 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_279, "semcall.nim(237, 18) `err.firstMismatch.formal != nil` ", 55);
3473 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_280, "\012  required type for ", 21);
3474 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_281, ": ", 2);
3475 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_282, "\012  but expression \'", 19);
3476 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_283, "\' is immutable, not \'var\'", 25);
3477 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_284, "\' is of type: ", 14);
3478 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_285, "semcall.nim(249, 20) `wanted != nil` ", 37);
3479 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_286, "\012  This expression is not GC-safe. Annotate the proc with {.gcsafe.} to get extended error information.", 103);
3480 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_287, "\012  This expression can have side effects. Annotate the proc with {.noSideEffect.} to get extended error information.", 116);
3481 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_288, "\012  The `.raises` requirements differ.", 37);
3482 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_289, "\012  The `.raises` requirements differ. Annotate the proc with {.raises: [].} to get extended error information.", 110);
3483 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_290, "\012  The `.tags` requirements differ.", 35);
3484 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_291, "\012  The `.tags` requirements differ. Annotate the proc with {.tags: [].} to get extended error information.", 106);
3485 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_292, "\012  The `.locks` requirements differ. Annotate the proc with {.locks: 0.} to get extended error information.", 107);
3486 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_293, "\012  The `.effectsOf` annotations differ.", 39);
3487 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_297, " other mismatching symbols have been suppressed; compile with --showAllMismatches:on to see them\012", 97);
3488 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_298, "maybe misplaced space between ", 30);
3489 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_299, " and \'(\' \012", 10);
3490 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_300, "type mismatch: got <", 20);
3491 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_301, "\012but expected one of:\012", 22);
3492 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_302, "\012expression: ", 13);
3493 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_303 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3494 ((NI) 301),
3495 ((NI) 12)}
3496 ;
3497 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_304 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3498 ((NI) 205),
3499 ((NI) 17)}
3500 ;
3501 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_305 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3502 ((NI) 129),
3503 ((NI) 17)}
3504 ;
3505 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_306 = {
3506 0x10, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
3507 0x00}
3508 ;
3509 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_307, "or", 2);
3510 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_308, "and", 3);
3511 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_309, "typeToString", 12);
3512 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_310, "name", 4);
3513 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_311, "$", 1);
3514 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_312, "arity", 5);
3515 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_313, "genericHead", 11);
3516 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_314, "stripGenericParams", 18);
3517 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_315, "supportsCopyMem", 15);
3518 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_316, "isNamedTuple", 12);
3519 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_317, "tupleLen", 8);
3520 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_318, "distinctBase", 12);
3521 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_319, "prefername", 10);
3522 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_320, "preferdesc", 10);
3523 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_321, "preferexported", 14);
3524 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_322, "prefermoduleinfo", 16);
3525 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_323, "prefergenericarg", 16);
3526 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_324, "prefertypename", 14);
3527 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_325, "preferresolved", 14);
3528 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_326, "prefermixed", 11);
3529 extern TNimType NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_;
3530 extern TNimType NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_;
3531 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_327, "Invalid enum value: ", 20);
3532 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_328, "expected generic type, got: type $2 of kind $1", 46);
3533 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_329 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3534 ((NI) 174),
3535 ((NI) 16)}
3536 ;
3537 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_330 = {
3538 0x10, 0x08, 0x80, 0x00, 0x00, 0xc0, 0x80, 0x00,
3539 0x00}
3540 ;
3541 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_331 = {
3542 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3543 0x00}
3544 ;
3545 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_332 = {
3546 0x10, 0x09, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
3547 0x00}
3548 ;
3549 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_333, "unknown trait: ", 15);
3550 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_334 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3551 ((NI) 199),
3552 ((NI) 14)}
3553 ;
3554 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_335, "integer literal expected", 24);
3555 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_336 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3556 ((NI) 80),
3557 ((NI) 18)}
3558 ;
3559 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_337, "command line", 12);
3560 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_338, "\?\?\?", 3);
3561 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_339, "ordinal type expected", 21);
3562 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_340 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3563 ((NI) 220),
3564 ((NI) 14)}
3565 ;
3566 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_341 = {
3567 0x10, 0xa8, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
3568 0x00}
3569 ;
3570 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_342, "\'of\' takes object types", 23);
3571 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_343 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3572 ((NI) 322),
3573 ((NI) 16)}
3574 ;
3575 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_344 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3576 ((NI) 324),
3577 ((NI) 16)}
3578 ;
3579 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_345 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3580 ((NI) 333),
3581 ((NI) 15)}
3582 ;
3583 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_346, "\'$1\' cannot be of this subtype", 30);
3584 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_347 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3585 ((NI) 340),
3586 ((NI) 20)}
3587 ;
3588 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_348 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3589 ((NI) 342),
3590 ((NI) 17)}
3591 ;
3592 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_349, "\'of\' takes 2 arguments", 22);
3593 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_350 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3594 ((NI) 347),
3595 ((NI) 14)}
3596 ;
3597 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_351, "\'$1\' expects a type or value", 28);
3598 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_352, "low", 3);
3599 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_353, "high", 4);
3600 N_LIB_PRIVATE NIM_CONST tyArray__nr38yHugp0nuiB6VarJGiw opToStr__sem_14554 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_352),
3601 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_353)}
3602 ;
3603 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_354 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3604 ((NI) 376),
3605 ((NI) 14)}
3606 ;
3607 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_355 = {
3608 0x10, 0xa9, 0x90, 0x00, 0x00, 0x60, 0xa0, 0x00,
3609 0x00}
3610 ;
3611 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_356, "invalid argument for: ", 22);
3612 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_357 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3613 ((NI) 395),
3614 ((NI) 16)}
3615 ;
3616 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_358, "string literal expected", 23);
3617 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_359 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3618 ((NI) 229),
3619 ((NI) 25)}
3620 ;
3621 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_360, "constant expression expected", 28);
3622 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_361 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3623 ((NI) 234),
3624 ((NI) 25)}
3625 ;
3626 extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
3627 N_LIB_PRIVATE TNimType NTIobject__LF0eKAnygFo4etNDdpTetg_;
3628 extern TNimType NTIint__xHTZrq9aYs6boc9bCba0JbpQ_;
3629 extern TNimType NTIpcontext__EjEifkTC8tg9afiUW4StSSA_;
3630 extern TNimType NTIpscope__N89ckikRqMir57209a3tEeqw_;
3631 N_LIB_PRIVATE TNimType NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_;
3632 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_363, "bindSymImpl", 11);
3633 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_364, "string or ident node expected", 29);
3634 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_365 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3635 ((NI) 251),
3636 ((NI) 25)}
3637 ;
3638 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_366 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3639 ((NI) 254),
3640 ((NI) 25)}
3641 ;
3642 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_367, "cannot find plugin ", 19);
3643 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_368 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3644 ((NI) 516),
3645 ((NI) 16)}
3646 ;
3647 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_369, "finalizer must be a direct reference to a proc", 46);
3648 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_370 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3649 ((NI) 523),
3650 ((NI) 16)}
3651 ;
3652 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_371 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3653 ((NI) 530),
3654 ((NI) 20)}
3655 ;
3656 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_372 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3657 ((NI) 535),
3658 ((NI) 20)}
3659 ;
3660 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_373 = {
3661 0x10, 0xa9, 0x40, 0x00, 0x00, 0x60, 0x80, 0x00,
3662 0x00}
3663 ;
3664 N_LIB_PRIVATE TNimType NTIobject__irrxU9bX4WBQP9bu3Q627FYw_;
3665 extern TNimType NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_;
3666 N_LIB_PRIVATE TNimType NTIrefobject__s6znTCfmZMSZG9absJgsa1w_;
3667 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_377, "<quantifier> \'in\' <range> expected", 34);
3668 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_378 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3669 ((NI) 444),
3670 ((NI) 16)}
3671 ;
3672 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_379, "\'old\' takes a parameter name", 28);
3673 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_380 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3674 ((NI) 452),
3675 ((NI) 14)}
3676 ;
3677 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_381, " does not belong to ", 20);
3678 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_382 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3679 ((NI) 454),
3680 ((NI) 14)}
3681 ;
3682 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_383 = {
3683 0x10, 0x08, 0xe0, 0x00, 0x00, 0x60, 0x20, 0x00,
3684 0x00}
3685 ;
3686 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_384 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3687 ((NI) 569),
3688 ((NI) 13)}
3689 ;
3690 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_385 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3691 ((NI) 572),
3692 ((NI) 12)}
3693 ;
3694 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_386 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3695 ((NI) 575),
3696 ((NI) 13)}
3697 ;
3698 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_387, "expression cannot be isolated: ", 31);
3699 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_388 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_239),
3700 ((NI) 578),
3701 ((NI) 16)}
3702 ;
3703 static NIM_CONST tySet_tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg TM__rF9caJawfOjYTjsgLVUSGFA_389 = {
3704 0xe1, 0x00, 0x00, 0xe0, 0xf0, 0xcf, 0xff, 0xf7,
3705 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xf0, 0x3f,
3706 0xf8, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
3707 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3708 0x00, 0x00, 0x00}
3709 ;
3710 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_390, "cannot evaluate \'$1\'", 20);
3711 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_391 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3712 ((NI) 843),
3713 ((NI) 20)}
3714 ;
3715 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_392, "the resulting AST is cyclic and cannot be processed further", 59);
3716 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_393 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
3717 ((NI) 322),
3718 ((NI) 31)}
3719 ;
3720 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_394, " --> \'", 6);
3721 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_395 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_226),
3722 ((NI) 31),
3723 ((NI) 11)}
3724 ;
3725 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);
3726 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_397 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3727 ((NI) 2040),
3728 ((NI) 18)}
3729 ;
3730 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_398, "invalid type: \'$1\' for $2", 25);
3731 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_399, ". Did you mean to call the $1 with \'()\'\?", 40);
3732 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_400, "invalid type: \'$1\' in this context: \'$2\' for $3", 47);
3733 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_401 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
3734 ((NI) 266),
3735 ((NI) 14)}
3736 ;
3737 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_402, "implementation of \'$1\' expected", 31);
3738 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_403 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3739 ((NI) 2067),
3740 ((NI) 27)}
3741 ;
3742 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_404, "return type \'auto\' cannot be used in forward declarations", 57);
3743 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_405 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3744 ((NI) 2072),
3745 ((NI) 18)}
3746 ;
3747 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_406 = {
3748 0x10, 0x88, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
3749 0x00}
3750 ;
3751 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_407, "no symbol to borrow from found", 30);
3752 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_408 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3753 ((NI) 1481),
3754 ((NI) 14)}
3755 ;
3756 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_409, "\'.closure\' calling convention for top level routines is invalid", 63);
3757 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_410 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
3758 ((NI) 2089),
3759 ((NI) 14)}
3760 ;
3761 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_411 = {
3762 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
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}
3767 ;
3768 extern TNimType NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_;
3769 extern TNimType NTIseqLLpsym_intTT__u9c10b19cqoKPxYSuh3ZKtIw_;
3770 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_412 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3771 ((NI) 392),
3772 ((NI) 21)}
3773 ;
3774 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_413, "\012  found $1", 11);
3775 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_414, " for type ", 10);
3776 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_415, " ", 1);
3777 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_416, "undeclared field: \'$1\'", 22);
3778 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_417, "attempting to call undeclared routine: \'$1\'", 43);
3779 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_418, "attempting to call routine: \'$1\'$2", 34);
3780 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_419 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3781 ((NI) 427),
3782 ((NI) 16)}
3783 ;
3784 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_420 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3785 ((NI) 431),
3786 ((NI) 22)}
3787 ;
3788 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_421 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3789 ((NI) 433),
3790 ((NI) 14)}
3791 ;
3792 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_422 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3793 ((NI) 437),
3794 ((NI) 18)}
3795 ;
3796 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_423 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3797 ((NI) 447),
3798 ((NI) 19)}
3799 ;
3800 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_424, "ambiguous call", 14);
3801 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_425 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3802 ((NI) 452),
3803 ((NI) 17)}
3804 ;
3805 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_426, "ambiguous call; both $1 and $2 match for: $3", 44);
3806 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_427 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3807 ((NI) 461),
3808 ((NI) 16)}
3809 ;
3810 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_428, "Non-matching candidates for ", 28);
3811 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_429 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3812 ((NI) 593),
3813 ((NI) 13)}
3814 ;
3815 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_430 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_261),
3816 ((NI) 568),
3817 ((NI) 25)}
3818 ;
3819 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_431, "semOverloadedCallAnalyseEffects", 31);
3820 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_432 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3821 ((NI) 883),
3822 ((NI) 19)}
3823 ;
3824 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_433, "recursion is not supported in iterators: \'$1\'", 45);
3825 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_434 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3826 ((NI) 890),
3827 ((NI) 18)}
3828 ;
3829 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_435, "expression has no type", 22);
3830 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_436 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3831 ((NI) 1785),
3832 ((NI) 14)}
3833 ;
3834 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_437, "\'$1\' cannot be assigned to", 26);
3835 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_438 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3836 ((NI) 1790),
3837 ((NI) 14)}
3838 ;
3839 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_439 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3840 ((NI) 1802),
3841 ((NI) 25)}
3842 ;
3843 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_440 = {
3844 0x10, 0xa9, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00,
3845 0x00}
3846 ;
3847 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_441, "cannot return an owned pointer as an unowned pointer; use \'owned(", 65);
3848 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_442, ")\' as the return type", 21);
3849 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_443 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3850 ((NI) 1719),
3851 ((NI) 16)}
3852 ;
3853 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_444, "assignment produces a dangling ref: the unowned ref lives longer than the owned ref", 83);
3854 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_445 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3855 ((NI) 1722),
3856 ((NI) 16)}
3857 ;
3858 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_446, "\'$1\' escapes its stack frame; context: \'$2\'; see $3", 51);
3859 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_447, "var_t_return.html", 17);
3860 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_448 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3861 ((NI) 1646),
3862 ((NI) 16)}
3863 ;
3864 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_449, "\'$1\' is not the first parameter; context: \'$2\'; see $3", 54);
3865 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_450 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3866 ((NI) 1649),
3867 ((NI) 16)}
3868 ;
3869 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_451 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3870 ((NI) 1664),
3871 ((NI) 16)}
3872 ;
3873 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_452 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3874 ((NI) 1666),
3875 ((NI) 16)}
3876 ;
3877 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_453, "cannot infer the return type of \'$1\'", 36);
3878 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_454 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3879 ((NI) 1872),
3880 ((NI) 16)}
3881 ;
3882 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_455 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
3883 ((NI) 1876),
3884 ((NI) 14)}
3885 ;
3886 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_456 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
3887 ((NI) 512),
3888 ((NI) 14)}
3889 ;
3890 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_457, "semRecordCase: discriminant is no symbol", 40);
3891 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_458 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3892 ((NI) 679),
3893 ((NI) 17)}
3894 ;
3895 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_459 = {
3896 0x10, 0xa8, 0x80, 0x00, 0x00, 0xe0, 0x80, 0x00,
3897 0x00}
3898 ;
3899 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_460, "selector must be of an ordinal type, float", 42);
3900 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_461 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3901 ((NI) 697),
3902 ((NI) 14)}
3903 ;
3904 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_462, "low(", 4);
3905 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_463, ") must be 0 for discriminant", 28);
3906 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_464 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3907 ((NI) 699),
3908 ((NI) 14)}
3909 ;
3910 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_465, "len($1) must be less than 32768", 31);
3911 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_466 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3912 ((NI) 702),
3913 ((NI) 14)}
3914 ;
3915 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_467 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3916 ((NI) 541),
3917 ((NI) 35)}
3918 ;
3919 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_468, "duplicate case label", 20);
3920 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_469 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3921 ((NI) 529),
3922 ((NI) 18)}
3923 ;
3924 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_470 = {
3925 0x10, 0xa8, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
3926 0x00}
3927 ;
3928 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_471 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3929 ((NI) 714),
3930 ((NI) 15)}
3931 ;
3932 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_472 = {
3933 0x10, 0xa9, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
3934 0x00}
3935 ;
3936 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_473, "not all cases are covered; missing: $1", 38);
3937 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_474, "{", 1);
3938 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_475, "\\a", 2);
3939 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_476, "\\b", 2);
3940 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_477, "\\t", 2);
3941 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_478, "\\n", 2);
3942 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_479, "\\v", 2);
3943 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_480, "\\f", 2);
3944 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_481, "\\r", 2);
3945 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_482, "\\e", 2);
3946 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_483, "\\\\", 2);
3947 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_484, "\\\'", 2);
3948 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_485, "\\\"", 2);
3949 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_486, "\\x", 2);
3950 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_487, "0123456789ABCDEF", 16);
3951 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_488, "omitted $1 values...", 20);
3952 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_489, "}", 1);
3953 extern TNimType NTIpackedset__IhxwDBRi51nGrosBGFKcsA_;
3954 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_490 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3955 ((NI) 721),
3956 ((NI) 16)}
3957 ;
3958 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_491, "not all cases are covered", 25);
3959 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_492 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3960 ((NI) 724),
3961 ((NI) 16)}
3962 ;
3963 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_493, "initialization not allowed here", 31);
3964 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_494 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3965 ((NI) 781),
3966 ((NI) 16)}
3967 ;
3968 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_495 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3969 ((NI) 784),
3970 ((NI) 16)}
3971 ;
3972 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_496 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3973 ((NI) 808),
3974 ((NI) 18)}
3975 ;
3976 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_497 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
3977 ((NI) 819),
3978 ((NI) 16)}
3979 ;
3980 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_498, "dummy", 5);
3981 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_499 = {
3982 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3983 0x00, 0x14, 0x00, 0x70, 0xff, 0x56, 0x30, 0x05,
3984 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x08,
3985 0x40, 0x0c, 0x16, 0xc8, 0x00, 0x40, 0x00, 0x00,
3986 0x00, 0x30, 0x00, 0x00, 0x06}
3987 ;
3988 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_501, "/home/runner/work/nightlies/nightlies/nim/compiler/semobjconstr.nim", 67);
3989 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_500 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
3990 ((NI) 182),
3991 ((NI) 19)}
3992 ;
3993 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_502, "incorrect object construction syntax; use a space after the colon", 65);
3994 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_503 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
3995 ((NI) 54),
3996 ((NI) 14)}
3997 ;
3998 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_504, "incorrect object construction syntax", 36);
3999 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_505 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4000 ((NI) 56),
4001 ((NI) 14)}
4002 ;
4003 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_506, "semobjconstr.nim(134, 14) `recList.kind == nkRecList` ", 54);
4004 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);
4005 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_508 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4006 ((NI) 193),
4007 ((NI) 20)}
4008 ;
4009 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_509, "the field \'$1\' is not accessible.", 33);
4010 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_510 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4011 ((NI) 76),
4012 ((NI) 16)}
4013 ;
4014 extern TNimType NTIerecoverableerror__IxbcvonC7TQkv166Uvdu1g_;
4015 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_512, "branch initialization with a runtime discriminator only supports ordinal types with 2^16 elements or less.", 106);
4016 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_513 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4017 ((NI) 237),
4018 ((NI) 20)}
4019 ;
4020 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_514, "cannot prove that it\'s safe to initialize $1 with the runtime value for the discriminator \'$2\' ", 95);
4021 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_515 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4022 ((NI) 205),
4023 ((NI) 20)}
4024 ;
4025 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_516, "possible values $2 are in conflict with discriminator values for selected object branch $1.", 91);
4026 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_517 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4027 ((NI) 251),
4028 ((NI) 35)}
4029 ;
4030 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_518, "runtime discriminator must be immutable if branch fields are initialized, a \'let\' binding is required.", 102);
4031 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_519 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4032 ((NI) 257),
4033 ((NI) 22)}
4034 ;
4035 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_520, "branch initialization with a runtime discriminator is not supported inside of an `elif` branch.", 95);
4036 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_521 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4037 ((NI) 261),
4038 ((NI) 20)}
4039 ;
4040 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_522 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4041 ((NI) 270),
4042 ((NI) 33)}
4043 ;
4044 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_523 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4045 ((NI) 288),
4046 ((NI) 35)}
4047 ;
4048 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);
4049 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_525 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4050 ((NI) 214),
4051 ((NI) 20)}
4052 ;
4053 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_526 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4054 ((NI) 328),
4055 ((NI) 19)}
4056 ;
4057 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_527, "type \'$1 void\' is not allowed", 29);
4058 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_528 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4059 ((NI) 929),
4060 ((NI) 16)}
4061 ;
4062 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_529, "region needs to be an object type", 33);
4063 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_530 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4064 ((NI) 945),
4065 ((NI) 18)}
4066 ;
4067 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_531, "region for pointer types is deprecated", 38);
4068 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_532 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4069 ((NI) 948),
4070 ((NI) 17)}
4071 ;
4072 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_533, "typeof", 6);
4073 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_534 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4074 ((NI) 1714),
4075 ((NI) 16)}
4076 ;
4077 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_535, "owned", 5);
4078 extern TNimType NTIptype__qt2Wh0elFEz5fH0l7yusLw_;
4079 extern TNimType NTIttype__facALICuu8zUj0hjvbTLFg_;
4080 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_536 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4081 ((NI) 403),
4082 ((NI) 20)}
4083 ;
4084 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_537 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4085 ((NI) 417),
4086 ((NI) 20)}
4087 ;
4088 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_538 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4089 ((NI) 427),
4090 ((NI) 47)}
4091 ;
4092 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_539, "identifier expected", 19);
4093 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_540 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4094 ((NI) 442),
4095 ((NI) 16)}
4096 ;
4097 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_541 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4098 ((NI) 1692),
4099 ((NI) 14)}
4100 ;
4101 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_542, "Array length can\'t be negative, but was ", 40);
4102 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_543 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4103 ((NI) 305),
4104 ((NI) 18)}
4105 ;
4106 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_544 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4107 ((NI) 313),
4108 ((NI) 18)}
4109 ;
4110 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_545 = {
4111 0x10, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x10,
4112 0x00}
4113 ;
4114 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_546 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4115 ((NI) 318),
4116 ((NI) 18)}
4117 ;
4118 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_547 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4119 ((NI) 347),
4120 ((NI) 18)}
4121 ;
4122 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_548 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4123 ((NI) 349),
4124 ((NI) 18)}
4125 ;
4126 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_549, "array expects two type parameters", 33);
4127 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_550 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4128 ((NI) 359),
4129 ((NI) 14)}
4130 ;
4131 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_551, "\'$1\' is not a concrete type", 27);
4132 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_552 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4133 ((NI) 180),
4134 ((NI) 16)}
4135 ;
4136 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_553, "\'$1\' expects one type parameter", 31);
4137 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_554 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4138 ((NI) 183),
4139 ((NI) 14)}
4140 ;
4141 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_555, "openarray", 9);
4142 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_556, "UncheckedArray", 14);
4143 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_557, "..<", 3);
4144 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_558, "range types need to be constructed with \'..\', \'..<\' is not supported", 68);
4145 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_559 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4146 ((NI) 288),
4147 ((NI) 18)}
4148 ;
4149 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_560, "expected range", 14);
4150 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_561 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4151 ((NI) 290),
4152 ((NI) 18)}
4153 ;
4154 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_562, "range", 5);
4155 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_563 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4156 ((NI) 293),
4157 ((NI) 14)}
4158 ;
4159 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_564 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4160 ((NI) 169),
4161 ((NI) 18)}
4162 ;
4163 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_565, "set is too large", 16);
4164 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_566 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4165 ((NI) 171),
4166 ((NI) 18)}
4167 ;
4168 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_567, "set", 3);
4169 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_568 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4170 ((NI) 173),
4171 ((NI) 14)}
4172 ;
4173 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_569 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4174 ((NI) 377),
4175 ((NI) 18)}
4176 ;
4177 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_570, "ordinal", 7);
4178 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_571 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4179 ((NI) 380),
4180 ((NI) 14)}
4181 ;
4182 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_572, "iterable", 8);
4183 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_573 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4184 ((NI) 368),
4185 ((NI) 14)}
4186 ;
4187 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_574, "seq", 3);
4188 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_575, "varargs", 7);
4189 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_576 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4190 ((NI) 199),
4191 ((NI) 14)}
4192 ;
4193 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_577, "type \'var var\' is not allowed", 29);
4194 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_578 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4195 ((NI) 1886),
4196 ((NI) 18)}
4197 ;
4198 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_579 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4199 ((NI) 465),
4200 ((NI) 16)}
4201 ;
4202 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_580 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4203 ((NI) 468),
4204 ((NI) 16)}
4205 ;
4206 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_581 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4207 ((NI) 475),
4208 ((NI) 18)}
4209 ;
4210 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_582 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4211 ((NI) 483),
4212 ((NI) 14)}
4213 ;
4214 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_583, "cannot instantiate the \'$1\' $2", 30);
4215 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_584 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4216 ((NI) 1436),
4217 ((NI) 14)}
4218 ;
4219 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_585 = {
4220 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4221 0x00}
4222 ;
4223 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_586 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4224 ((NI) 1449),
4225 ((NI) 21)}
4226 ;
4227 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_587, "no generic parameters allowed for $1", 36);
4228 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_588 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4229 ((NI) 1461),
4230 ((NI) 14)}
4231 ;
4232 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_589, "cannot instantiate ", 19);
4233 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_590, "\012got: <$1>\012but expected: <$2>", 29);
4234 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_591 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4235 ((NI) 1472),
4236 ((NI) 16)}
4237 ;
4238 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_592 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4239 ((NI) 1493),
4240 ((NI) 18)}
4241 ;
4242 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_593 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4243 ((NI) 1503),
4244 ((NI) 14)}
4245 ;
4246 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_594, "object", 6);
4247 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_595 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4248 ((NI) 1423),
4249 ((NI) 14)}
4250 ;
4251 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_596, "inheritance only works with non-final objects", 45);
4252 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_597 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4253 ((NI) 1430),
4254 ((NI) 18)}
4255 ;
4256 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_598, "object constructor needs an object type; for named arguments use \'=\' instead of \':\'", 83);
4257 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_599 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4258 ((NI) 1896),
4259 ((NI) 16)}
4260 ;
4261 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_600 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4262 ((NI) 1902),
4263 ((NI) 16)}
4264 ;
4265 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_601 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4266 ((NI) 1918),
4267 ((NI) 38)}
4268 ;
4269 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_602 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4270 ((NI) 1921),
4271 ((NI) 21)}
4272 ;
4273 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_603 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4274 ((NI) 1943),
4275 ((NI) 25)}
4276 ;
4277 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_604, "type expected, but symbol \'$1\' has no type.", 43);
4278 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_605 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4279 ((NI) 1958),
4280 ((NI) 20)}
4281 ;
4282 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_606, "type expected, but got symbol \'$1\' of kind \'$2\'", 47);
4283 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_607 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4284 ((NI) 1960),
4285 ((NI) 20)}
4286 ;
4287 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_608 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4288 ((NI) 1614),
4289 ((NI) 19)}
4290 ;
4291 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_609 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4292 ((NI) 209),
4293 ((NI) 16)}
4294 ;
4295 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_610, "semtypes.nim(1654, 22) `r[0].kind == nkSym` ", 44);
4296 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_611, "semtypes.nim(1659, 27) `false` cannot happen", 44);
4297 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_612 = {
4298 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4299 0x00, 0x08, 0x20, 0x00, 0x00, 0x60, 0x00, 0x00,
4300 0x00, 0xc8, 0xff, 0x01, 0x00, 0x40, 0x38, 0x00,
4301 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
4302 0x00, 0x00, 0x00, 0x00, 0x00}
4303 ;
4304 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_613 = {
4305 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4306 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4307 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x08, 0x00,
4308 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4309 0x00, 0x00, 0x00, 0x00, 0x00}
4310 ;
4311 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_614, "inheritance only works with an enum", 35);
4312 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_615 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4313 ((NI) 72),
4314 ((NI) 16)}
4315 ;
4316 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_616 = {
4317 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4318 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4319 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4320 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4321 0x00, 0x00, 0x00, 0x00, 0x00}
4322 ;
4323 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_617, "ordinal type expected; given: ", 30);
4324 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_618 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4325 ((NI) 98),
4326 ((NI) 24)}
4327 ;
4328 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_619 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4329 ((NI) 102),
4330 ((NI) 22)}
4331 ;
4332 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_620, "wrong number of variables", 25);
4333 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_621 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4334 ((NI) 104),
4335 ((NI) 20)}
4336 ;
4337 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_622 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4338 ((NI) 110),
4339 ((NI) 20)}
4340 ;
4341 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_623, "invalid order in enum \'$1\'", 26);
4342 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_624 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4343 ((NI) 116),
4344 ((NI) 20)}
4345 ;
4346 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_625, "type expected, but got: ", 24);
4347 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_626 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4348 ((NI) 1996),
4349 ((NI) 14)}
4350 ;
4351 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_627 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
4352 ((NI) 449),
4353 ((NI) 18)}
4354 ;
4355 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_628 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
4356 ((NI) 501),
4357 ((NI) 11)}
4358 ;
4359 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_629 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4360 ((NI) 1246),
4361 ((NI) 21)}
4362 ;
4363 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_630, "illegal context for \'nimvm\' magic", 33);
4364 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_631 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4365 ((NI) 1250),
4366 ((NI) 16)}
4367 ;
4368 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_632 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4369 ((NI) 1260),
4370 ((NI) 13)}
4371 ;
4372 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_633 = {
4373 0x10, 0x08, 0xe0, 0x00, 0x00, 0xe0, 0x00, 0x00,
4374 0x00}
4375 ;
4376 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_634, "semexprs.nim(1294, 22) `f == s` ", 32);
4377 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_635, "bind is deprecated", 18);
4378 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_636 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4379 ((NI) 2857),
4380 ((NI) 11)}
4381 ;
4382 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_637, "a type conversion takes exactly one argument", 44);
4383 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_638 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4384 ((NI) 264),
4385 ((NI) 14)}
4386 ;
4387 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_639 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4388 ((NI) 272),
4389 ((NI) 19)}
4390 ;
4391 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_640 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4392 ((NI) 863),
4393 ((NI) 14)}
4394 ;
4395 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_641, ":anon", 5);
4396 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_642, "object construction uses \':\', not \'=\'", 37);
4397 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_643 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4398 ((NI) 306),
4399 ((NI) 14)}
4400 ;
4401 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_644 = {
4402 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
4403 0x00}
4404 ;
4405 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_645 = {
4406 0x10, 0xa8, 0x80, 0x00, 0x00, 0xc0, 0x80, 0x00,
4407 0x00}
4408 ;
4409 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_646 = {
4410 0x10, 0xa9, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
4411 0x00}
4412 ;
4413 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_647, "suspicious code: enum to enum conversion", 40);
4414 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_648 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4415 ((NI) 171),
4416 ((NI) 13)}
4417 ;
4418 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_649 = {
4419 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
4420 0x00}
4421 ;
4422 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_650 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4423 ((NI) 333),
4424 ((NI) 13)}
4425 ;
4426 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_651, "illegal conversion from \'$1\' to \'$2\'", 36);
4427 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_652 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4428 ((NI) 337),
4429 ((NI) 18)}
4430 ;
4431 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_653, " can\'t be converted to ", 23);
4432 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_654 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4433 ((NI) 342),
4434 ((NI) 16)}
4435 ;
4436 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_655, "object constructor needs an object type", 39);
4437 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_656 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4438 ((NI) 384),
4439 ((NI) 25)}
4440 ;
4441 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_657 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4442 ((NI) 395),
4443 ((NI) 25)}
4444 ;
4445 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_658, "The $1 type requires the following fields to be initialized: $2.", 64);
4446 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_659 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4447 ((NI) 409),
4448 ((NI) 14)}
4449 ;
4450 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_660, "field initialized twice: \'$1\'", 29);
4451 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_661 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4452 ((NI) 429),
4453 ((NI) 20)}
4454 ;
4455 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_662 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4456 ((NI) 434),
4457 ((NI) 16)}
4458 ;
4459 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_663, "identifier expected, but got: ", 30);
4460 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_664 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4461 ((NI) 1966),
4462 ((NI) 14)}
4463 ;
4464 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_666, "\'is\' operator takes 2 arguments", 31);
4465 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_667 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4466 ((NI) 462),
4467 ((NI) 14)}
4468 ;
4469 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_668 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4470 ((NI) 414),
4471 ((NI) 17)}
4472 ;
4473 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_669, "closure", 7);
4474 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_670, "iterator", 8);
4475 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_671, "expected a template that takes ", 31);
4476 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_672, " arguments", 10);
4477 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_673 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4478 ((NI) 2032),
4479 ((NI) 16)}
4480 ;
4481 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_674, "ambiguous symbol in \'getAst\' context: ", 38);
4482 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_675 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4483 ((NI) 2034),
4484 ((NI) 16)}
4485 ;
4486 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_676, "getAst takes a call, but got ", 29);
4487 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_677 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4488 ((NI) 2044),
4489 ((NI) 14)}
4490 ;
4491 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_678 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4492 ((NI) 2046),
4493 ((NI) 17)}
4494 ;
4495 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_679, "\'quote\' expects 1 or 2 arguments", 32);
4496 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_680 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4497 ((NI) 2099),
4498 ((NI) 14)}
4499 ;
4500 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_681 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4501 ((NI) 2000),
4502 ((NI) 14)}
4503 ;
4504 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_682, "``", 2);
4505 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
4506 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_683, "block", 5);
4507 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_684 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4508 ((NI) 2114),
4509 ((NI) 14)}
4510 ;
4511 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_685, "untyped", 7);
4512 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_686, "!=", 2);
4513 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_687, ">=", 2);
4514 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_688, ">", 1);
4515 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_689, "incl", 4);
4516 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_690, "excl", 4);
4517 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_691, "notin", 5);
4518 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_692, "isnot", 5);
4519 N_LIB_PRIVATE NIM_CONST tyArray__Q6RksR9bl1dCf8jl3HeN9bXg names__sem_7688 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_686),
4520 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_687),
4521 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_688),
4522 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_689),
4523 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_690),
4524 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_124),
4525 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_691),
4526 ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_692)}
4527 ;
4528 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_693, "vm", 2);
4529 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_694, "stackTrace", 10);
4530 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_695 = {
4531 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4532 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x05,
4533 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4534 0x01, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00,
4535 0x00, 0x00, 0x00, 0x00, 0x00}
4536 ;
4537 extern TNimType NTItspecialword__ycbpMCRV6Cd2eBh3X9biEiw_;
4538 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_696 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_159),
4539 ((NI) 681),
4540 ((NI) 16)}
4541 ;
4542 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_697 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_159),
4543 ((NI) 683),
4544 ((NI) 14)}
4545 ;
4546 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_698, "newIdentNode", 12);
4547 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_699, "getAst", 6);
4548 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_700, "use the {.experimental.} pragma to enable \'parallel\'", 52);
4549 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_701 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4550 ((NI) 2307),
4551 ((NI) 16)}
4552 ;
4553 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_702, "\'spawn\' takes a call expression; got: ", 38);
4554 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_703 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4555 ((NI) 2324),
4556 ((NI) 29)}
4557 ;
4558 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_704, "FlowVar", 7);
4559 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_705, "nimCreateFlowVar", 16);
4560 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_706, "system needs: nimCreateFlowVar", 30);
4561 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_707 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4562 ((NI) 2237),
4563 ((NI) 14)}
4564 ;
4565 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_709, "sizeof", 6);
4566 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_710 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4567 ((NI) 2255),
4568 ((NI) 14)}
4569 ;
4570 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_711 = {
4571 0x10, 0x88, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
4572 0x00}
4573 ;
4574 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_712 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4575 ((NI) 985),
4576 ((NI) 19)}
4577 ;
4578 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_713, ">\012but expected one of:\012", 23);
4579 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_714, " = ", 3);
4580 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_715 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4581 ((NI) 1010),
4582 ((NI) 20)}
4583 ;
4584 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_716, ":tmp", 4);
4585 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_717, "named expression expected", 25);
4586 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_718 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4587 ((NI) 2525),
4588 ((NI) 20)}
4589 ;
4590 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_719, "named expression not allowed here", 33);
4591 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_720 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4592 ((NI) 2529),
4593 ((NI) 20)}
4594 ;
4595 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_721, "Mixing types and values in tuples is not allowed.", 49);
4596 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_722 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4597 ((NI) 2658),
4598 ((NI) 29)}
4599 ;
4600 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_723 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4601 ((NI) 2542),
4602 ((NI) 16)}
4603 ;
4604 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_724, "typedesc not allowed as tuple field.", 36);
4605 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_725 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4606 ((NI) 2546),
4607 ((NI) 16)}
4608 ;
4609 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_726 = {
4610 0x10, 0x88, 0x80, 0x00, 0x00, 0xc0, 0x00, 0x00,
4611 0x00}
4612 ;
4613 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_727 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4614 ((NI) 2466),
4615 ((NI) 16)}
4616 ;
4617 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_728, "expected ordinal value for array ", 33);
4618 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_729, "index, got \'$1\'", 15);
4619 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_730 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4620 ((NI) 600),
4621 ((NI) 18)}
4622 ;
4623 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_731, "size of array exceeds range of index ", 37);
4624 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_732, "type \'$1\' by $2 elements", 24);
4625 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_733 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4626 ((NI) 617),
4627 ((NI) 18)}
4628 ;
4629 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_734, "invalid order in array constructor", 34);
4630 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_735 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4631 ((NI) 625),
4632 ((NI) 20)}
4633 ;
4634 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_736 = {
4635 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4636 0x00, 0x08, 0x20, 0x00, 0x00, 0xf8, 0x09, 0x00,
4637 0x00, 0xc0, 0xff, 0x01, 0x00, 0x40, 0x38, 0x00,
4638 0x06, 0x00, 0x80, 0x24, 0x00, 0x00, 0x00, 0x00,
4639 0x00, 0x00, 0x00, 0x00, 0x00}
4640 ;
4641 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_737, "cannot cast to a non concrete type: \'$1\'", 40);
4642 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_738 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4643 ((NI) 361),
4644 ((NI) 14)}
4645 ;
4646 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_739 = {
4647 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00,
4648 0x00}
4649 ;
4650 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_740 = {
4651 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
4652 0x00}
4653 ;
4654 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_741, "expression cannot be cast to ", 29);
4655 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_742 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4656 ((NI) 366),
4657 ((NI) 14)}
4658 ;
4659 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_743, "==", 2);
4660 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_744, "cannot infer the concept parameter \'%s\', due to a type mismatch. ", 65);
4661 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_745, "attempt to equate \'%s\' and \'%s\'.", 32);
4662 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_746 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4663 ((NI) 2287),
4664 ((NI) 14)}
4665 ;
4666 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_747, "concept predicate failed", 24);
4667 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_748 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4668 ((NI) 2323),
4669 ((NI) 20)}
4670 ;
4671 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_749 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4672 ((NI) 2343),
4673 ((NI) 21)}
4674 ;
4675 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_750 = {
4676 0x10, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
4677 0x00}
4678 ;
4679 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_751, "only a \'ref object\' can be raised", 33);
4680 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_752 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4681 ((NI) 1060),
4682 ((NI) 18)}
4683 ;
4684 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_753, "raised object of type $1 does not inherit from Exception", 56);
4685 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_754 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4686 ((NI) 1062),
4687 ((NI) 18)}
4688 ;
4689 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_755, "ambiguous identifier: \'", 23);
4690 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_756, " -- use one of the following:\012", 30);
4691 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_757, "  ", 2);
4692 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_758 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4693 ((NI) 508),
4694 ((NI) 12)}
4695 ;
4696 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_759 = {
4697 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x10,
4698 0x00}
4699 ;
4700 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_760, "cannot infer the type of the $1", 31);
4701 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_761 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4702 ((NI) 555),
4703 ((NI) 20)}
4704 ;
4705 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_762, "\'$1\' doesn\'t have a concrete type, due to unspecified generic parameters.", 73);
4706 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_763 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4707 ((NI) 558),
4708 ((NI) 20)}
4709 ;
4710 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_764, "tuple", 5);
4711 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_765 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4712 ((NI) 578),
4713 ((NI) 18)}
4714 ;
4715 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_766 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4716 ((NI) 580),
4717 ((NI) 18)}
4718 ;
4719 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_767 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4720 ((NI) 590),
4721 ((NI) 13)}
4722 ;
4723 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_768, "implicit object field construction requires a .partial object, but got ", 71);
4724 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_769 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4725 ((NI) 436),
4726 ((NI) 16)}
4727 ;
4728 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_770, "nkDotNode requires 2 children", 29);
4729 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_771 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4730 ((NI) 439),
4731 ((NI) 14)}
4732 ;
4733 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_772, "_", 1);
4734 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_773 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4735 ((NI) 612),
4736 ((NI) 21)}
4737 ;
4738 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_774, "a thread var cannot be initialized explicitly; this would only run for the main thread", 86);
4739 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_775 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4740 ((NI) 615),
4741 ((NI) 44)}
4742 ;
4743 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_776, "inconsistent typing for reintroduced symbol \'", 45);
4744 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_777, "\': previous type was: ", 22);
4745 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_778, "; new type is: ", 15);
4746 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_779 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4747 ((NI) 443),
4748 ((NI) 14)}
4749 ;
4750 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_780 = {
4751 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
4752 0x00}
4753 ;
4754 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_781, "The $1 type doesn\'t have a default value. The following fields must be initialized: $2.", 87);
4755 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_782 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4756 ((NI) 370),
4757 ((NI) 16)}
4758 ;
4759 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_783, "The $1 distinct type doesn\'t have a default value.", 50);
4760 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_784 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_501),
4761 ((NI) 373),
4762 ((NI) 14)}
4763 ;
4764 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_785 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4765 ((NI) 338),
4766 ((NI) 13)}
4767 ;
4768 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_786 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4769 ((NI) 340),
4770 ((NI) 13)}
4771 ;
4772 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_787, "\'let\' symbol requires an initialization", 39);
4773 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_788 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4774 ((NI) 655),
4775 ((NI) 20)}
4776 ;
4777 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_789 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4778 ((NI) 661),
4779 ((NI) 15)}
4780 ;
4781 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_790 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4782 ((NI) 291),
4783 ((NI) 18)}
4784 ;
4785 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_791 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4786 ((NI) 700),
4787 ((NI) 16)}
4788 ;
4789 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_792 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4790 ((NI) 710),
4791 ((NI) 18)}
4792 ;
4793 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_793 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4794 ((NI) 712),
4795 ((NI) 18)}
4796 ;
4797 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_794, "unknown package name: ", 22);
4798 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_795 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4799 ((NI) 1089),
4800 ((NI) 16)}
4801 ;
4802 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_796, " is not a type that can be forwarded", 36);
4803 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_797 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4804 ((NI) 1105),
4805 ((NI) 18)}
4806 ;
4807 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_798, "only top level types in a package can be \'package\'", 50);
4808 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_799 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4809 ((NI) 1123),
4810 ((NI) 18)}
4811 ;
4812 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_800, "cannot complete type \'", 22);
4813 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_801, "\' twice; previous type completion was here: ", 44);
4814 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_802 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4815 ((NI) 1131),
4816 ((NI) 22)}
4817 ;
4818 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_803 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4819 ((NI) 1232),
4820 ((NI) 16)}
4821 ;
4822 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_804, "auto", 4);
4823 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_805, "lent", 4);
4824 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_806, "sink", 4);
4825 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_807 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4826 ((NI) 2101),
4827 ((NI) 20)}
4828 ;
4829 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_808 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_26),
4830 ((NI) 2102),
4831 ((NI) 18)}
4832 ;
4833 N_LIB_PRIVATE TNimType NTIobject__pOSGedHS6i9aexCYZEItHgQ_;
4834 N_LIB_PRIVATE TNimType NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_;
4835 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_813, "non-invariant type param used in a proc type: ", 46);
4836 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_814 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4837 ((NI) 1181),
4838 ((NI) 13)}
4839 ;
4840 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_816, "covariant param \'", 17);
4841 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_817, "\' used in a non-covariant position", 34);
4842 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_818 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4843 ((NI) 1192),
4844 ((NI) 19)}
4845 ;
4846 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_819, "contravariant param \'", 21);
4847 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_820, "\' used in a non-contravariant position", 38);
4848 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_821 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4849 ((NI) 1200),
4850 ((NI) 19)}
4851 ;
4852 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_823, "non-invariant type parameters cannot be used with types such \'", 62);
4853 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_824 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4854 ((NI) 1206),
4855 ((NI) 11)}
4856 ;
4857 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_825, "non-invariant type parameters are not supported in concepts", 59);
4858 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_826 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4859 ((NI) 1208),
4860 ((NI) 11)}
4861 ;
4862 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_830 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4863 ((NI) 1218),
4864 ((NI) 21)}
4865 ;
4866 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_832, "{.exportc.} not allowed for type aliases", 40);
4867 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_833 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4868 ((NI) 1298),
4869 ((NI) 16)}
4870 ;
4871 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_834 = {
4872 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4873 0x00}
4874 ;
4875 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_835, "only a \'distinct\' type can borrow `.`", 37);
4876 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_836 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4877 ((NI) 1302),
4878 ((NI) 16)}
4879 ;
4880 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_837 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4881 ((NI) 1309),
4882 ((NI) 21)}
4883 ;
4884 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_838 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4885 ((NI) 1310),
4886 ((NI) 21)}
4887 ;
4888 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_839, ":ObjectType", 11);
4889 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_840, "\'$1\' is not a concrete type; for a callback without parameters use \'proc()\'", 75);
4890 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_841 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4891 ((NI) 1334),
4892 ((NI) 18)}
4893 ;
4894 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_842 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4895 ((NI) 1337),
4896 ((NI) 18)}
4897 ;
4898 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_843 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4899 ((NI) 1356),
4900 ((NI) 19)}
4901 ;
4902 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_844, "statement returns no value that can be discarded", 48);
4903 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_845 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4904 ((NI) 48),
4905 ((NI) 16)}
4906 ;
4907 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_846, "illegal discard proc, did you mean: ", 36);
4908 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_847 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4909 ((NI) 51),
4910 ((NI) 16)}
4911 ;
4912 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_848 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4913 ((NI) 193),
4914 ((NI) 16)}
4915 ;
4916 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_849, "exception already handled", 25);
4917 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_850 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4918 ((NI) 196),
4919 ((NI) 16)}
4920 ;
4921 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_851, "Mix of imported and native exception types is not allowed in one except branch", 78);
4922 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_852 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4923 ((NI) 247),
4924 ((NI) 20)}
4925 ;
4926 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_853, "Only one finally is allowed after all other branches", 52);
4927 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_854 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4928 ((NI) 251),
4929 ((NI) 18)}
4930 ;
4931 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_855, "Only one general except clause is allowed after more specific exceptions", 72);
4932 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_856 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4933 ((NI) 259),
4934 ((NI) 16)}
4935 ;
4936 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_857, "invalid control flow: $1", 24);
4937 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_858 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4938 ((NI) 72),
4939 ((NI) 18)}
4940 ;
4941 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_859, "\'continue\' cannot have a label", 30);
4942 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_860 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4943 ((NI) 74),
4944 ((NI) 16)}
4945 ;
4946 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_861 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4947 ((NI) 76),
4948 ((NI) 14)}
4949 ;
4950 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_862 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4951 ((NI) 881),
4952 ((NI) 22)}
4953 ;
4954 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_863, "ForLoopStmt", 11);
4955 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_864, "expression \'$1\' has no type (or is ambiguous)", 45);
4956 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_865 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
4957 ((NI) 102),
4958 ((NI) 14)}
4959 ;
4960 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_866 = {
4961 0x10, 0x08, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00,
4962 0x00}
4963 ;
4964 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_867 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4965 ((NI) 763),
4966 ((NI) 31)}
4967 ;
4968 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_868 = {
4969 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4970 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4971 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4972 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
4973 0x00, 0x00, 0x00, 0x00, 0x00}
4974 ;
4975 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_869 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4976 ((NI) 790),
4977 ((NI) 16)}
4978 ;
4979 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_870 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4980 ((NI) 792),
4981 ((NI) 14)}
4982 ;
4983 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_871 = {
4984 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
4985 0x00}
4986 ;
4987 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_872 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
4988 ((NI) 808),
4989 ((NI) 20)}
4990 ;
4991 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_873, "true", 4);
4992 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_874, "system needs: \'true\'", 20);
4993 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_876, "/home/runner/work/nightlies/nightlies/nim/compiler/semfields.nim", 64);
4994 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_875 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_876),
4995 ((NI) 111),
4996 ((NI) 14)}
4997 ;
4998 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_877 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_876),
4999 ((NI) 121),
5000 ((NI) 14)}
5001 ;
5002 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rF9caJawfOjYTjsgLVUSGFA_878 = {
5003 0x10, 0xa8, 0x80, 0x00, 0x00, 0xe0, 0xb0, 0x00,
5004 0x00}
5005 ;
5006 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_879, "no object or tuple type", 23);
5007 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_880 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_876),
5008 ((NI) 127),
5009 ((NI) 14)}
5010 ;
5011 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_881, "Field", 5);
5012 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_882, "\'continue\' not supported in a \'fields\' loop", 43);
5013 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_883 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_876),
5014 ((NI) 53),
5015 ((NI) 16)}
5016 ;
5017 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_884, "parallel \'fields\' iterator does not work for \'case\' objects", 59);
5018 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_885 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_876),
5019 ((NI) 81),
5020 ((NI) 16)}
5021 ;
5022 static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__rF9caJawfOjYTjsgLVUSGFA_886 = {
5023 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5024 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
5025 0x00, 0x00, 0x00, 0x00, 0x00}
5026 ;
5027 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_887, "items", 5);
5028 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_888, "pairs", 5);
5029 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_889, "iterator within for loop context expected", 41);
5030 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_890 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5031 ((NI) 956),
5032 ((NI) 16)}
5033 ;
5034 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_891, "case", 4);
5035 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_892, "selector must be of an ordinal type, float or string", 52);
5036 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_893 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5037 ((NI) 994),
5038 ((NI) 14)}
5039 ;
5040 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_894 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5041 ((NI) 1022),
5042 ((NI) 15)}
5043 ;
5044 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_895 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5045 ((NI) 1031),
5046 ((NI) 16)}
5047 ;
5048 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_896 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5049 ((NI) 1034),
5050 ((NI) 16)}
5051 ;
5052 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_897, "no return type declared", 23);
5053 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_898 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5054 ((NI) 1834),
5055 ((NI) 18)}
5056 ;
5057 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_899, "\'return\' not allowed here", 25);
5058 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_900 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5059 ((NI) 1841),
5060 ((NI) 14)}
5061 ;
5062 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_901, "using", 5);
5063 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_902 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5064 ((NI) 360),
5065 ((NI) 34)}
5066 ;
5067 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_903, "\'using\' section must have a type", 32);
5068 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_904 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5069 ((NI) 376),
5070 ((NI) 16)}
5071 ;
5072 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_905, "\'using\' sections cannot contain assignments", 43);
5073 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_906 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5074 ((NI) 379),
5075 ((NI) 16)}
5076 ;
5077 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_907, "\'yield\' only allowed in an iterator", 35);
5078 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_908 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5079 ((NI) 1911),
5080 ((NI) 14)}
5081 ;
5082 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_909, "semYield", 8);
5083 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_910 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5084 ((NI) 1919),
5085 ((NI) 39)}
5086 ;
5087 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_911, "tuple constructor", 17);
5088 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_912 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5089 ((NI) 1900),
5090 ((NI) 20)}
5091 ;
5092 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_913, "current routine cannot return an expression", 43);
5093 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_914 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5094 ((NI) 1929),
5095 ((NI) 16)}
5096 ;
5097 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_915, "yield statement must yield a value", 34);
5098 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_916 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5099 ((NI) 1931),
5100 ((NI) 14)}
5101 ;
5102 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_917 = {
5103 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5104 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x1f,
5105 0xff, 0x07, 0x00, 0xf8, 0x9f, 0x3b, 0xc4, 0x33,
5106 0x39, 0xf1, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
5107 0x20, 0x00, 0x00, 0x00, 0x00}
5108 ;
5109 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_918 = {
5110 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5111 0x00, 0x04, 0x20, 0x50, 0x1f, 0x6a, 0x00, 0x05,
5112 0x00, 0xc4, 0xff, 0x01, 0x00, 0x40, 0x38, 0x00,
5113 0xc0, 0x00, 0x06, 0x20, 0x00, 0x40, 0x00, 0x00,
5114 0x00, 0x00, 0x00, 0x00, 0x00}
5115 ;
5116 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_919, "iterator needs a return type", 28);
5117 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_920 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5118 ((NI) 2111),
5119 ((NI) 14)}
5120 ;
5121 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_921 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5122 ((NI) 2120),
5123 ((NI) 14)}
5124 ;
5125 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_922 = {
5126 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5127 0x00, 0x0c, 0x20, 0xd5, 0x1f, 0xfa, 0x7b, 0x05,
5128 0x60, 0xcc, 0xff, 0x01, 0x20, 0x40, 0x38, 0x80,
5129 0xc6, 0x00, 0x86, 0x24, 0x03, 0x40, 0x00, 0x00,
5130 0x00, 0x00, 0x00, 0x00, 0x00}
5131 ;
5132 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_923 = {
5133 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5134 0x00, 0x08, 0x20, 0x00, 0x00, 0xf8, 0x09, 0x00,
5135 0x00, 0xc0, 0xff, 0x01, 0x00, 0x40, 0x38, 0x00,
5136 0x06, 0x00, 0x80, 0x24, 0x00, 0x00, 0x00, 0x00,
5137 0x00, 0x00, 0x00, 0x00, 0x00}
5138 ;
5139 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_924, "method", 6);
5140 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_925 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5141 ((NI) 2134),
5142 ((NI) 34)}
5143 ;
5144 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_926 = {
5145 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5146 0x00, 0x0c, 0x20, 0xc5, 0x1f, 0xfa, 0xfb, 0x05,
5147 0x60, 0xcc, 0xff, 0x01, 0x20, 0x40, 0x38, 0x80,
5148 0xc6, 0x00, 0x86, 0x24, 0x03, 0x40, 0x00, 0x00,
5149 0x00, 0x00, 0x00, 0x00, 0x00}
5150 ;
5151 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_927, "converter", 9);
5152 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_928 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5153 ((NI) 2155),
5154 ((NI) 34)}
5155 ;
5156 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_929, "$1 needs a return type", 22);
5157 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_930 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5158 ((NI) 2166),
5159 ((NI) 28)}
5160 ;
5161 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_931, "a converter takes exactly one argument", 38);
5162 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_932 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5163 ((NI) 2167),
5164 ((NI) 27)}
5165 ;
5166 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_933 = {
5167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5168 0x00, 0x04, 0x00, 0x54, 0x1f, 0x22, 0x30, 0x05,
5169 0x00, 0xc4, 0xff, 0x01, 0x20, 0x00, 0x00, 0x00,
5170 0x80, 0x00, 0x06, 0x00, 0x00, 0x40, 0x00, 0x00,
5171 0x00, 0x00, 0x00, 0x00, 0x00}
5172 ;
5173 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_934 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5174 ((NI) 2187),
5175 ((NI) 14)}
5176 ;
5177 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_935, "import", 6);
5178 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_936 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5179 ((NI) 3034),
5180 ((NI) 16)}
5181 ;
5182 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_937 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5183 ((NI) 3037),
5184 ((NI) 36)}
5185 ;
5186 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_938, "from", 4);
5187 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_939 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5188 ((NI) 3040),
5189 ((NI) 36)}
5190 ;
5191 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_940, "/", 1);
5192 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_941, "Cannot use \'", 12);
5193 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_942, "\' in \'include\'.", 15);
5194 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_943 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5195 ((NI) 2207),
5196 ((NI) 16)}
5197 ;
5198 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_944, "include", 7);
5199 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_945 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5200 ((NI) 2195),
5201 ((NI) 16)}
5202 ;
5203 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_946 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5204 ((NI) 3046),
5205 ((NI) 36)}
5206 ;
5207 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_947, "cannot export: ", 15);
5208 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_948 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5209 ((NI) 2619),
5210 ((NI) 16)}
5211 ;
5212 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_949, "; enum field cannot be exported individually", 44);
5213 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_950 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5214 ((NI) 2632),
5215 ((NI) 20)}
5216 ;
5217 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_951, "rawImportSymbol", 15);
5218 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_952 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5219 ((NI) 2645),
5220 ((NI) 31)}
5221 ;
5222 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_953 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5223 ((NI) 3049),
5224 ((NI) 36)}
5225 ;
5226 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_954, "The export/except syntax expects a module name", 46);
5227 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_955 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5228 ((NI) 2594),
5229 ((NI) 14)}
5230 ;
5231 static NIM_CONST tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw TM__rF9caJawfOjYTjsgLVUSGFA_956 = {
5232 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5233 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x80,
5234 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
5235 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
5236 0x00, 0x00, 0x00, 0x00, 0x00}
5237 ;
5238 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_957, "invalid pragma block: ", 22);
5239 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_958 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5240 ((NI) 2240),
5241 ((NI) 18)}
5242 ;
5243 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_959, "defer statement not supported at top level", 42);
5244 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_960 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5245 ((NI) 3057),
5246 ((NI) 16)}
5247 ;
5248 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_961, "\'defer\' takes a \'void\' expression", 33);
5249 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_962 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5250 ((NI) 3060),
5251 ((NI) 16)}
5252 ;
5253 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_963, "invalid context for \'bind\' statement: ", 38);
5254 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_964 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5255 ((NI) 3073),
5256 ((NI) 16)}
5257 ;
5258 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_965, "invalid expression: ", 20);
5259 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_966 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5260 ((NI) 3076),
5261 ((NI) 14)}
5262 ;
5263 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_967 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5264 ((NI) 78),
5265 ((NI) 14)}
5266 ;
5267 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_968 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5268 ((NI) 90),
5269 ((NI) 14)}
5270 ;
5271 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_969 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
5272 ((NI) 371),
5273 ((NI) 14)}
5274 ;
5275 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_970 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
5276 ((NI) 382),
5277 ((NI) 18)}
5278 ;
5279 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_971 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
5280 ((NI) 385),
5281 ((NI) 18)}
5282 ;
5283 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_972 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5284 ((NI) 59),
5285 ((NI) 16)}
5286 ;
5287 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_973 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5288 ((NI) 64),
5289 ((NI) 14)}
5290 ;
5291 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_974, "cannot infer type of parameter: ", 32);
5292 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_975 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5293 ((NI) 1606),
5294 ((NI) 16)}
5295 ;
5296 extern TNimType NTIrefint__9ai78kkwqt3gikTN9cpHKUVg_;
5297 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_979 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_23),
5298 ((NI) 1408),
5299 ((NI) 22)}
5300 ;
5301 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_980, "echo", 4);
5302 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_981, "system needs: echo", 18);
5303 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_982 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_9),
5304 ((NI) 1058),
5305 ((NI) 29)}
5306 ;
5307 extern TNimType NTIesuggestdone__cDtWY9cE7zf8BAC5QcEZZkQ_;
5308 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_985 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
5309 ((NI) 674),
5310 ((NI) 13)}
5311 ;
5312 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_986, "n is not nil", 12);
5313 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_987 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
5314 ((NI) 685),
5315 ((NI) 17)}
5316 ;
5317 STRING_LITERAL(TM__rF9caJawfOjYTjsgLVUSGFA_988, "no code for ", 12);
5318 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__rF9caJawfOjYTjsgLVUSGFA_989 = {((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_4),
5319 ((NI) 545),
5320 ((NI) 21)}
5321 ;
5322 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5218;
5323 extern TSafePoint* excHandler__system_2565;
5324 extern TSafePoint* excHandler__system_2565;
5325 extern TSafePoint* excHandler__system_2565;
5326 extern TSafePoint* excHandler__system_2565;
5327 extern Exception* currException__system_2566;
5328 extern Exception* currException__system_2566;
5329 extern Exception* currException__system_2566;
5330 extern Exception* currException__system_2566;
5331 static TNimType* Nim_OfCheck_CACHE985[2];
N_INLINE(NI,pluspercent___system_696)5332 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
5333 	NI result;
5334 	result = (NI)0;
5335 	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
5336 	return result;
5337 }
N_INLINE(void,incRef__system_5309)5338 static N_INLINE(void, incRef__system_5309)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
5339 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
5340 }
N_INLINE(NI,minuspercent___system_716)5341 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
5342 	NI result;
5343 	result = (NI)0;
5344 	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
5345 	return result;
5346 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5271)5347 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5271)(void* usr) {
5348 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
5349 	NI T1_;
5350 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
5351 	T1_ = (NI)0;
5352 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
5353 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
5354 	return result;
5355 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)5356 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
5357 	NIM_BOOL result;
5358 	result = (NIM_BOOL)0;
5359 	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
5360 	return result;
5361 }
N_INLINE(void,rtlAddZCT__system_5314)5362 static N_INLINE(void, rtlAddZCT__system_5314)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
5363 	addZCT__system_5265((&gch__system_5218.zct), c);
5364 }
N_INLINE(void,decRef__system_5316)5365 static N_INLINE(void, decRef__system_5316)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
5366 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
5367 	{
5368 		NIM_BOOL T3_;
5369 		T3_ = (NIM_BOOL)0;
5370 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
5371 		if (!T3_) goto LA4_;
5372 		rtlAddZCT__system_5314(c);
5373 	}
5374 	LA4_: ;
5375 }
N_INLINE(void,asgnRef)5376 static N_INLINE(void, asgnRef)(void** dest, void* src) {
5377 	{
5378 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
5379 		if (!!((src == NIM_NIL))) goto LA3_;
5380 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
5381 		T5_ = usrToCell__system_5271(src);
5382 		incRef__system_5309(T5_);
5383 	}
5384 	LA3_: ;
5385 	{
5386 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
5387 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
5388 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
5389 		T10_ = usrToCell__system_5271((*dest));
5390 		decRef__system_5316(T10_);
5391 	}
5392 	LA8_: ;
5393 	(*dest) = src;
5394 }
N_INLINE(void,nimSetMem__systemZmemory_7)5395 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
5396 	void* T1_;
5397 	T1_ = (void*)0;
5398 	T1_ = memset(a, v, ((size_t) (size)));
5399 }
N_INLINE(void,nimZeroMem)5400 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
5401 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
5402 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)5403 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
5404 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
5405 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
5406 	(*x).typeId_0 += ((NI) 1);
5407 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
5408 	result.module = (*x).module;
5409 	result.item = (*x).typeId_0;
5410 	return result;
5411 }
N_INLINE(NI,len__ast_3198)5412 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5413 	NI result;
5414 	NI T1_;
5415 	result = (NI)0;
5416 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
5417 	result = T1_;
5418 	return result;
5419 }
N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q,getCallLineInfo__sem_2390)5420 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, getCallLineInfo__sem_2390)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5421 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q result;
5422 {	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
5423 	switch ((*n).kind) {
5424 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
5425 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
5426 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27):
5427 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28):
5428 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26):
5429 	{
5430 		{
5431 			NI T4_;
5432 			T4_ = (NI)0;
5433 			T4_ = len__ast_3198(n);
5434 			if (!(((NI) 0) < T4_)) goto LA5_;
5435 			result = getCallLineInfo__sem_2390((*n)._kind_6.sons->data[((NI) 0)]);
5436 			goto BeforeRet_;
5437 		}
5438 		LA5_: ;
5439 	}
5440 	break;
5441 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
5442 	{
5443 		{
5444 			NI T10_;
5445 			T10_ = (NI)0;
5446 			T10_ = len__ast_3198(n);
5447 			if (!(((NI) 1) < T10_)) goto LA11_;
5448 			result = getCallLineInfo__sem_2390((*n)._kind_6.sons->data[((NI) 1)]);
5449 			goto BeforeRet_;
5450 		}
5451 		LA11_: ;
5452 	}
5453 	break;
5454 	default:
5455 	{
5456 	}
5457 	break;
5458 	}
5459 	result = (*n).info;
5460 	}BeforeRet_: ;
5461 	return result;
5462 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,symChoice__sem_6586)5463 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) {
5464 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5465 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a;
5466 	tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
5467 	NI i;
5468 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
5469 	result = NIM_NIL;
5470 	a = NIM_NIL;
5471 	nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
5472 	i = ((NI) 0);
5473 	a = initOverloadIter__lookups_1374((&o), c, n);
5474 	{
5475 		while (1) {
5476 			if (!!((a == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA2;
5477 			{
5478 				if (!!(((*a).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)))) goto LA5_;
5479 				i += ((NI) 1);
5480 				{
5481 					if (!(((NI) 1) < i)) goto LA9_;
5482 					goto LA1;
5483 				}
5484 				LA9_: ;
5485 			}
5486 			LA5_: ;
5487 			a = nextOverloadIter__lookups_1528((&o), c, n);
5488 		} LA2: ;
5489 	} LA1: ;
5490 	info = getCallLineInfo__sem_2390(n);
5491 	{
5492 		NIM_BOOL T13_;
5493 		T13_ = (NIM_BOOL)0;
5494 		T13_ = (i <= ((NI) 1));
5495 		if (!(T13_)) goto LA14_;
5496 		T13_ = !((r == ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 2)));
5497 		LA14_: ;
5498 		if (!T13_) goto LA15_;
5499 		{
5500 			NIM_BOOL T19_;
5501 			T19_ = (NIM_BOOL)0;
5502 			T19_ = !(isField);
5503 			if (T19_) goto LA20_;
5504 			T19_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0));
5505 			LA20_: ;
5506 			if (!T19_) goto LA21_;
5507 			result = newSymNode__ast_3719(s, info);
5508 			markUsed__sigmatch_85(c, info, s);
5509 		}
5510 		goto LA17_;
5511 		LA21_: ;
5512 		{
5513 			result = n;
5514 		}
5515 		LA17_: ;
5516 	}
5517 	goto LA11_;
5518 	LA15_: ;
5519 	{
5520 		tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
5521 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T32_;
5522 		{
5523 			NIM_BOOL T27_;
5524 			T27_ = (NIM_BOOL)0;
5525 			T27_ = (r == ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0));
5526 			if (T27_) goto LA28_;
5527 			T27_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45));
5528 			LA28_: ;
5529 			if (!T27_) goto LA29_;
5530 			kind = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56);
5531 		}
5532 		goto LA25_;
5533 		LA29_: ;
5534 		{
5535 			kind = ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57);
5536 		}
5537 		LA25_: ;
5538 		T32_ = NIM_NIL;
5539 		T32_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
5540 		result = newNodeIT__ast_3378(kind, info, T32_);
5541 		a = initOverloadIter__lookups_1374((&o), c, n);
5542 		{
5543 			while (1) {
5544 				if (!!((a == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA34;
5545 				{
5546 					NIM_BOOL T37_;
5547 					NIM_BOOL T39_;
5548 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
5549 					T37_ = (NIM_BOOL)0;
5550 					T37_ = !(((*a).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
5551 					if (!(T37_)) goto LA38_;
5552 					T39_ = (NIM_BOOL)0;
5553 					T39_ = !(isField);
5554 					if (T39_) goto LA40_;
5555 					T39_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0));
5556 					LA40_: ;
5557 					T37_ = T39_;
5558 					LA38_: ;
5559 					if (!T37_) goto LA41_;
5560 					(*a).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
5561 					markOwnerModuleAsUsed__sigmatch_89(c, a);
5562 					T43_ = NIM_NIL;
5563 					T43_ = newSymNode__ast_3719(a, info);
5564 					add__ast_4797(result, T43_);
5565 				}
5566 				LA41_: ;
5567 				a = nextOverloadIter__lookups_1528((&o), c, n);
5568 			} LA34: ;
5569 		}
5570 	}
5571 	LA11_: ;
5572 	return result;
5573 }
N_INLINE(void,markIndirect__semdata_1060)5574 static N_INLINE(void, markIndirect__semdata_1060)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
5575 	{
5576 		if (!((126976 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA3_;
5577 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 17)) & 63);
5578 	}
5579 	LA3_: ;
5580 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,enumFieldSymChoice__sem_20195)5581 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, enumFieldSymChoice__sem_20195)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
5582 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5583 	tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
5584 	NI i;
5585 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a;
5586 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
5587 	result = NIM_NIL;
5588 	nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
5589 	i = ((NI) 0);
5590 	a = initOverloadIter__lookups_1374((&o), c, n);
5591 	{
5592 		while (1) {
5593 			if (!!((a == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA2;
5594 			{
5595 				if (!((1568768 &((NU32)1<<((NU)((*a).kind)&31U)))!=0)) goto LA5_;
5596 				i += ((NI) 1);
5597 				{
5598 					if (!(((NI) 1) < i)) goto LA9_;
5599 					goto LA1;
5600 				}
5601 				LA9_: ;
5602 			}
5603 			LA5_: ;
5604 			a = nextOverloadIter__lookups_1528((&o), c, n);
5605 		} LA2: ;
5606 	} LA1: ;
5607 	info = getCallLineInfo__sem_2390(n);
5608 	{
5609 		if (!(i <= ((NI) 1))) goto LA13_;
5610 		{
5611 			if (!!((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA17_;
5612 			result = newSymNode__ast_3719(s, info);
5613 			markUsed__sigmatch_85(c, info, s);
5614 		}
5615 		goto LA15_;
5616 		LA17_: ;
5617 		{
5618 			result = n;
5619 		}
5620 		LA15_: ;
5621 	}
5622 	goto LA11_;
5623 	LA13_: ;
5624 	{
5625 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T21_;
5626 		T21_ = NIM_NIL;
5627 		T21_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
5628 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56), info, T21_);
5629 		a = initOverloadIter__lookups_1374((&o), c, n);
5630 		{
5631 			while (1) {
5632 				if (!!((a == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA23;
5633 				{
5634 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
5635 					if (!((1568768 &((NU32)1<<((NU)((*a).kind)&31U)))!=0)) goto LA26_;
5636 					(*a).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
5637 					markOwnerModuleAsUsed__sigmatch_89(c, a);
5638 					T28_ = NIM_NIL;
5639 					T28_ = newSymNode__ast_3719(a, info);
5640 					add__ast_4797(result, T28_);
5641 				}
5642 				LA26_: ;
5643 				a = nextOverloadIter__lookups_1528((&o), c, n);
5644 			} LA23: ;
5645 		}
5646 	}
5647 	LA11_: ;
5648 	return result;
5649 }
N_INLINE(void,nimCopyMem)5650 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
5651 	void* T1_;
5652 	T1_ = (void*)0;
5653 	T1_ = memcpy(dest, source, ((size_t) (size)));
5654 }
N_INLINE(void,copyMem__system_1727)5655 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
5656 	nimCopyMem(dest, source, size);
5657 }
N_INLINE(void,appendString)5658 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
5659 	{
5660 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
5661 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
5662 		(*dest).Sup.len += (*src).Sup.len;
5663 	}
5664 	LA3_: ;
5665 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,inlineConst__sem_14003)5666 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, inlineConst__sem_14003)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
5667 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5668 	result = NIM_NIL;
5669 	result = copyTree__ast_4431((*s).ast);
5670 	{
5671 		NimStringDesc* T5_;
5672 		NimStringDesc* T6_;
5673 		if (!(result == 0)) goto LA3_;
5674 		T5_ = NIM_NIL;
5675 		T6_ = NIM_NIL;
5676 		T6_ = typeToString__types_50((*s).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
5677 		T5_ = rawNewString((T6_ ? T6_->Sup.len : 0) + 32);
5678 appendString(T5_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_6));
5679 appendString(T5_, T6_);
5680 appendString(T5_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_7));
5681 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T5_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_8, NIM_FALSE);
5682 		result = newSymNode__ast_3716(s);
5683 	}
5684 	goto LA1_;
5685 	LA3_: ;
5686 	{
5687 		asgnRef((void**) (&(*result).typ), (*s).typ);
5688 		(*result).info = (*n).info;
5689 	}
5690 	LA1_: ;
5691 	return result;
5692 }
N_INLINE(NI,safeLen__ast_3191)5693 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5694 	NI result;
5695 	result = (NI)0;
5696 	{
5697 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
5698 		result = ((NI) 0);
5699 	}
5700 	goto LA1_;
5701 	LA3_: ;
5702 	{
5703 		result = len__ast_3198(n);
5704 	}
5705 	LA1_: ;
5706 	return result;
5707 }
N_NIMCALL(void,resetSemFlag__sem_2771)5708 N_LIB_PRIVATE N_NIMCALL(void, resetSemFlag__sem_2771)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5709 	{
5710 		if (!!((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
5711 		(*n).flags &= ~(((NU32)1) << ((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7)) & 31));
5712 		{
5713 			NI i;
5714 			NI colontmp_;
5715 			NI i_2;
5716 			i = (NI)0;
5717 			colontmp_ = (NI)0;
5718 			colontmp_ = safeLen__ast_3191(n);
5719 			i_2 = ((NI) 0);
5720 			{
5721 				while (1) {
5722 					if (!(i_2 < colontmp_)) goto LA7;
5723 					i = i_2;
5724 					resetSemFlag__sem_2771((*n)._kind_6.sons->data[i]);
5725 					i_2 += ((NI) 1);
5726 				} LA7: ;
5727 			}
5728 		}
5729 	}
5730 	LA3_: ;
5731 }
N_NIMCALL(NIM_BOOL,implicitlyDiscardable__sem_9282)5732 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, implicitlyDiscardable__sem_9282)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5733 	NIM_BOOL result;
5734 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
5735 	NIM_BOOL T3_;
5736 	NIM_BOOL T5_;
5737 	NIM_BOOL T6_;
5738 	result = (NIM_BOOL)0;
5739 	n_2 = n;
5740 	{
5741 		while (1) {
5742 			if (!((TM__rF9caJawfOjYTjsgLVUSGFA_16[(NU)((*n_2).kind)>>3] &(1U<<((NU)((*n_2).kind)&7U)))!=0)) goto LA2;
5743 			n_2 = lastSon__ast_4832(n_2);
5744 		} LA2: ;
5745 	}
5746 	T3_ = (NIM_BOOL)0;
5747 	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));
5748 	if (T3_) goto LA4_;
5749 	T5_ = (NIM_BOOL)0;
5750 	T6_ = (NIM_BOOL)0;
5751 	T6_ = isCallExpr__ast_3176(n_2);
5752 	if (!(T6_)) goto LA7_;
5753 	T6_ = ((*(*n_2)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
5754 	LA7_: ;
5755 	T5_ = T6_;
5756 	if (!(T5_)) goto LA8_;
5757 	T5_ = (((*(*(*n_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 34))&63U)))!=0);
5758 	LA8_: ;
5759 	T3_ = T5_;
5760 	LA4_: ;
5761 	result = T3_;
5762 	return result;
5763 }
N_NIMCALL(void,discardCheck__sem_9323)5764 N_LIB_PRIVATE N_NIMCALL(void, discardCheck__sem_9323)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
5765 {	{
5766 		NIM_BOOL T3_;
5767 		T3_ = (NIM_BOOL)0;
5768 		T3_ = !(((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)));
5769 		if (T3_) goto LA4_;
5770 		T3_ = ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0);
5771 		LA4_: ;
5772 		if (!T3_) goto LA5_;
5773 		goto BeforeRet_;
5774 	}
5775 	LA5_: ;
5776 	{
5777 		NIM_BOOL T9_;
5778 		T9_ = (NIM_BOOL)0;
5779 		T9_ = !(((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
5780 		if (!(T9_)) goto LA10_;
5781 		T9_ = !(((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7) || (*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63)));
5782 		LA10_: ;
5783 		if (!T9_) goto LA11_;
5784 		{
5785 			NIM_BOOL T15_;
5786 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
5787 			T15_ = (NIM_BOOL)0;
5788 			T15_ = implicitlyDiscardable__sem_9282(result);
5789 			if (!T15_) goto LA16_;
5790 			n = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114), (*result).info, ((NI) 1));
5791 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), result);
5792 		}
5793 		goto LA13_;
5794 		LA16_: ;
5795 		{
5796 			NIM_BOOL T19_;
5797 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
5798 			NimStringDesc* s;
5799 			NimStringDesc* T25_;
5800 			NimStringDesc* T26_;
5801 			NimStringDesc* T27_;
5802 			T19_ = (NIM_BOOL)0;
5803 			T19_ = !(((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50)));
5804 			if (!(T19_)) goto LA20_;
5805 			T19_ = !(((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 24)));
5806 			LA20_: ;
5807 			if (!T19_) goto LA21_;
5808 			n_2 = result;
5809 			{
5810 				while (1) {
5811 					if (!((TM__rF9caJawfOjYTjsgLVUSGFA_16[(NU)((*n_2).kind)>>3] &(1U<<((NU)((*n_2).kind)&7U)))!=0)) goto LA24;
5812 					n_2 = lastSon__ast_4832(n_2);
5813 				} LA24: ;
5814 			}
5815 			T25_ = NIM_NIL;
5816 			T26_ = NIM_NIL;
5817 			T26_ = dollar___renderer_2106(n_2);
5818 			T27_ = NIM_NIL;
5819 			T27_ = typeToString__types_50((*result).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
5820 			T25_ = rawNewString((T26_ ? T26_->Sup.len : 0) + (T27_ ? T27_->Sup.len : 0) + 61);
5821 appendString(T25_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_17));
5822 appendString(T25_, T26_);
5823 appendString(T25_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_18));
5824 appendString(T25_, T27_);
5825 appendString(T25_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_19));
5826 			s = T25_;
5827 			{
5828 				NIM_BOOL T30_;
5829 				NimStringDesc* T34_;
5830 				NimStringDesc* T35_;
5831 				T30_ = (NIM_BOOL)0;
5832 				T30_ = !(((*result).info.line == (*n_2).info.line));
5833 				if (T30_) goto LA31_;
5834 				T30_ = !(((*result).info.fileIndex == (*n_2).info.fileIndex));
5835 				LA31_: ;
5836 				if (!T30_) goto LA32_;
5837 				T34_ = NIM_NIL;
5838 				T35_ = NIM_NIL;
5839 				T35_ = dollar___msgs_624((*(*c).graph).config, (*result).info);
5840 				T34_ = rawNewString((T35_ ? T35_->Sup.len : 0) + 28);
5841 appendString(T34_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_20));
5842 appendString(T34_, T35_);
5843 				s = resizeString(s, (T34_ ? T34_->Sup.len : 0) + 0);
5844 appendString(s, T34_);
5845 			}
5846 			LA32_: ;
5847 			{
5848 				if (!((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25))) goto LA38_;
5849 				s = resizeString(s, 28);
5850 appendString(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_21));
5851 			}
5852 			LA38_: ;
5853 			liMessage__msgs_1118((*(*c).graph).config, (*n_2).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), s, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_22, NIM_FALSE);
5854 		}
5855 		goto LA13_;
5856 		LA21_: ;
5857 		LA13_: ;
5858 	}
5859 	LA11_: ;
5860 	}BeforeRet_: ;
5861 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprNoType__sem_60)5862 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprNoType__sem_60)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
5863 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5864 	NIM_BOOL isPush;
5865 	result = NIM_NIL;
5866 	isPush = hasHint__options_517((*(*c).graph).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 100));
5867 	{
5868 		if (!isPush) goto LA3_;
5869 		pushInfoContext__msgs_490((*(*c).graph).config, (*n).info, ((NimStringDesc*) NIM_NIL));
5870 	}
5871 	LA3_: ;
5872 	result = semExpr__sem_52(c, n, 128);
5873 	discardCheck__sem_9323(c, result, 0);
5874 	{
5875 		if (!isPush) goto LA7_;
5876 		popInfoContext__msgs_507((*(*c).graph).config);
5877 	}
5878 	LA7_: ;
5879 	return result;
5880 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semStmt__sem_84)5881 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStmt__sem_84)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
5882 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
5883 	result = NIM_NIL;
5884 	{
5885 		if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0))) goto LA3_;
5886 		result = semExprNoType__sem_60(c, n);
5887 	}
5888 	goto LA1_;
5889 	LA3_: ;
5890 	{
5891 		result = semExpr__sem_52(c, n, flags);
5892 	}
5893 	LA1_: ;
5894 	return result;
5895 }
N_INLINE(NI,len__ast_4002)5896 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
5897 	NI result;
5898 	NI T1_;
5899 	result = (NI)0;
5900 	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
5901 	result = T1_;
5902 	return result;
5903 }
N_NIMCALL(void,fixupTypeOf__sem_5584)5904 N_LIB_PRIVATE N_NIMCALL(void, fixupTypeOf__sem_5584)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typExpr) {
5905 	{
5906 		tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5907 		if (!!((prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3_;
5908 		result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4), c);
5909 		rawAddSon__ast_4288(result, (*typExpr).typ, NIM_TRUE);
5910 		asgnRef((void**) (&(*result).sym), (*prev).sym);
5911 		assignType__ast_3976(prev, result);
5912 	}
5913 	LA3_: ;
5914 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semTypeOf__sem_5872)5915 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeOf__sem_5872)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
5916 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5917 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
5918 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t;
5919 	result = NIM_NIL;
5920 	T1_ = NIM_NIL;
5921 	T1_ = openScope__lookups_69(c);
5922 	t = semExprWithType__sem_56(c, n, 8);
5923 	closeScope__lookups_101(c);
5924 	fixupTypeOf__sem_5584(c, prev, t);
5925 	result = (*t).typ;
5926 	return result;
5927 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,newOrPrevType__sem_2916)5928 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newOrPrevType__sem_2916)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
5929 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5930 	result = NIM_NIL;
5931 	{
5932 		if (!(prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
5933 		result = newTypeS__semdata_733(kind, c);
5934 	}
5935 	goto LA1_;
5936 	LA3_: ;
5937 	{
5938 		result = prev;
5939 		{
5940 			if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30))) goto LA8_;
5941 			(*result).kind = kind;
5942 		}
5943 		LA8_: ;
5944 	}
5945 	LA1_: ;
5946 	return result;
5947 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semAnonTuple__sem_3569)5948 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semAnonTuple__sem_3569)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
5949 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
5950 	result = NIM_NIL;
5951 	{
5952 		NI T3_;
5953 		T3_ = (NI)0;
5954 		T3_ = len__ast_3198(n);
5955 		if (!(T3_ == ((NI) 0))) goto LA4_;
5956 		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);
5957 	}
5958 	LA4_: ;
5959 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18), prev, c);
5960 	{
5961 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
5962 		it = NIM_NIL;
5963 		{
5964 			NI i;
5965 			NI colontmp_;
5966 			NI i_2;
5967 			i = (NI)0;
5968 			colontmp_ = (NI)0;
5969 			colontmp_ = safeLen__ast_3191(n);
5970 			i_2 = ((NI) 0);
5971 			{
5972 				while (1) {
5973 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
5974 					if (!(i_2 < colontmp_)) goto LA9;
5975 					i = i_2;
5976 					it = (*n)._kind_6.sons->data[i];
5977 					T10_ = NIM_NIL;
5978 					T10_ = semTypeNode__sem_80(c, it, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
5979 					addSonSkipIntLit__magicsys_136(result, T10_, (*c).Sup.idgen);
5980 					i_2 += ((NI) 1);
5981 				} LA9: ;
5982 			}
5983 		}
5984 	}
5985 	return result;
5986 }
N_INLINE(NIM_BOOL,eqeq___idents_220)5987 static N_INLINE(NIM_BOOL, eqeq___idents_220)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* a, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* b) {
5988 	NIM_BOOL result;
5989 	result = (NIM_BOOL)0;
5990 	{
5991 		NIM_BOOL T3_;
5992 		T3_ = (NIM_BOOL)0;
5993 		T3_ = (a == 0);
5994 		if (T3_) goto LA4_;
5995 		T3_ = (b == 0);
5996 		LA4_: ;
5997 		if (!T3_) goto LA5_;
5998 		result = (a == b);
5999 	}
6000 	goto LA1_;
6001 	LA5_: ;
6002 	{
6003 		result = ((*a).id == (*b).id);
6004 	}
6005 	LA1_: ;
6006 	return result;
6007 }
N_INLINE(int,nimCmpMem)6008 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
6009 	int result;
6010 	result = (int)0;
6011 	result = memcmp(a, b, ((size_t) (size)));
6012 	return result;
6013 }
N_INLINE(NIM_BOOL,equalMem__system_1735)6014 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
6015 	NIM_BOOL result;
6016 	int T1_;
6017 	result = (NIM_BOOL)0;
6018 	T1_ = (int)0;
6019 	T1_ = nimCmpMem(a, b, size);
6020 	result = (T1_ == ((NI32) 0));
6021 	return result;
6022 }
N_INLINE(NIM_BOOL,eqStrings)6023 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
6024 	NIM_BOOL result;
6025 	NI alen;
6026 	NI blen;
6027 {	result = (NIM_BOOL)0;
6028 	alen = (a ? a->Sup.len : 0);
6029 	blen = (b ? b->Sup.len : 0);
6030 	{
6031 		if (!(alen == blen)) goto LA3_;
6032 		{
6033 			if (!(alen == ((NI) 0))) goto LA7_;
6034 			result = NIM_TRUE;
6035 			goto BeforeRet_;
6036 		}
6037 		LA7_: ;
6038 		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
6039 		goto BeforeRet_;
6040 	}
6041 	LA3_: ;
6042 	}BeforeRet_: ;
6043 	return result;
6044 }
N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg *,skipIntLit__magicsys_124)6045 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipIntLit__magicsys_124)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* id) {
6046 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
6047 	result = NIM_NIL;
6048 	{
6049 		NIM_BOOL T3_;
6050 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T7_;
6051 		T3_ = (NIM_BOOL)0;
6052 		T3_ = !(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
6053 		if (!(T3_)) goto LA4_;
6054 		T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36));
6055 		LA4_: ;
6056 		if (!T3_) goto LA5_;
6057 		T7_ = nextTypeId__ast_3151(id);
6058 		result = copyType__ast_4046(t, T7_, (*t).owner);
6059 		asgnRef((void**) (&(*result).n), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
6060 	}
6061 	goto LA1_;
6062 	LA5_: ;
6063 	{
6064 		result = t;
6065 	}
6066 	LA1_: ;
6067 	return result;
6068 }
N_NIMCALL(NIM_BOOL,isUnresolvedSym__sem_15006)6069 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isUnresolvedSym__sem_15006)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
6070 	NIM_BOOL result;
6071 	result = (NIM_BOOL)0;
6072 	result = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4));
6073 	{
6074 		NIM_BOOL T3_;
6075 		NIM_BOOL T7_;
6076 		NIM_BOOL T8_;
6077 		NIM_BOOL T10_;
6078 		NIM_BOOL T13_;
6079 		T3_ = (NIM_BOOL)0;
6080 		T3_ = !(result);
6081 		if (!(T3_)) goto LA4_;
6082 		T3_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
6083 		LA4_: ;
6084 		if (!T3_) goto LA5_;
6085 		T7_ = (NIM_BOOL)0;
6086 		T8_ = (NIM_BOOL)0;
6087 		T8_ = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 27))&63U)))!=0);
6088 		if (T8_) goto LA9_;
6089 		T10_ = (NIM_BOOL)0;
6090 		T10_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
6091 		if (!(T10_)) goto LA11_;
6092 		T10_ = isMetaType__ast_3495((*s).typ);
6093 		LA11_: ;
6094 		T8_ = T10_;
6095 		LA9_: ;
6096 		T7_ = T8_;
6097 		if (T7_) goto LA12_;
6098 		T13_ = (NIM_BOOL)0;
6099 		T13_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
6100 		if (!(T13_)) goto LA14_;
6101 		T13_ = !((((*(*s).typ).flags & 100663296) == 0));
6102 		LA14_: ;
6103 		T7_ = T13_;
6104 		LA12_: ;
6105 		result = T7_;
6106 	}
6107 	LA5_: ;
6108 	return result;
6109 }
N_NIMCALL(NIM_BOOL,hasUnresolvedArgs__sem_142)6110 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasUnresolvedArgs__sem_142)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6111 	NIM_BOOL result;
6112 {	result = (NIM_BOOL)0;
6113 	switch ((*n).kind) {
6114 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6115 	{
6116 		result = isUnresolvedSym__sem_15006((*n)._kind_4.sym);
6117 		goto BeforeRet_;
6118 	}
6119 	break;
6120 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
6121 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
6122 	{
6123 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
6124 		NIM_BOOL amb;
6125 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
6126 		ident = considerQuotedIdent__lookups_28(c, n, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
6127 		amb = NIM_FALSE;
6128 		sym = searchInScopes__lookups_423(c, ident, (&amb));
6129 		{
6130 			if (!!((sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA5_;
6131 			result = isUnresolvedSym__sem_15006(sym);
6132 			goto BeforeRet_;
6133 		}
6134 		goto LA3_;
6135 		LA5_: ;
6136 		{
6137 			result = NIM_FALSE;
6138 			goto BeforeRet_;
6139 		}
6140 		LA3_: ;
6141 	}
6142 	break;
6143 	default:
6144 	{
6145 		{
6146 			NI i;
6147 			NI colontmp_;
6148 			NI i_2;
6149 			i = (NI)0;
6150 			colontmp_ = (NI)0;
6151 			colontmp_ = safeLen__ast_3191(n);
6152 			i_2 = ((NI) 0);
6153 			{
6154 				while (1) {
6155 					if (!(i_2 < colontmp_)) goto LA11;
6156 					i = i_2;
6157 					{
6158 						NIM_BOOL T14_;
6159 						T14_ = (NIM_BOOL)0;
6160 						T14_ = hasUnresolvedArgs__sem_142(c, (*n)._kind_6.sons->data[i]);
6161 						if (!T14_) goto LA15_;
6162 						result = NIM_TRUE;
6163 						goto BeforeRet_;
6164 					}
6165 					LA15_: ;
6166 					i_2 += ((NI) 1);
6167 				} LA11: ;
6168 			}
6169 		}
6170 		result = NIM_FALSE;
6171 		goto BeforeRet_;
6172 	}
6173 	break;
6174 	}
6175 	}BeforeRet_: ;
6176 	return result;
6177 }
N_INLINE(NIM_BOOL,isNaN__sem_3286)6178 static N_INLINE(NIM_BOOL, isNaN__sem_3286)(NF x) {
6179 	NIM_BOOL result;
6180 	result = (NIM_BOOL)0;
6181 	result = isnan(x);
6182 	return result;
6183 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semRangeAux__sem_3219)6184 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semRangeAux__sem_3219)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
6185 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
6186 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
6187 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw range;
6188 	tyArray__D9ckBqsoLaohN9chYb6MLT6w rangeT;
6189 	NIM_BOOL hasUnknownTypes;
6190 	NIM_BOOL T12_;
6191 	NIM_BOOL T13_;
6192 	result = NIM_NIL;
6193 	checkSonsLen__semdata_1077(n, ((NI) 3), (*(*c).graph).config);
6194 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20), prev, c);
6195 	asgnRef((void**) (&(*result).n), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44), (*n).info));
6196 	T1_ = NIM_NIL;
6197 	T1_ = errorType__semdata_1002(c);
6198 	addSonSkipIntLit__magicsys_136(result, T1_, (*c).Sup.idgen);
6199 	{
6200 		NIM_BOOL T4_;
6201 		T4_ = (NIM_BOOL)0;
6202 		T4_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
6203 		if (T4_) goto LA5_;
6204 		T4_ = ((*(*n)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
6205 		LA5_: ;
6206 		if (!T4_) goto LA6_;
6207 		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);
6208 	}
6209 	LA6_: ;
6210 	nimZeroMem((void*)range, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
6211 	range[(((NI) 0))- 0] = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 512);
6212 	range[(((NI) 1))- 0] = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 2)], 512);
6213 	nimZeroMem((void*)rangeT, sizeof(tyArray__D9ckBqsoLaohN9chYb6MLT6w));
6214 	{
6215 		NI i;
6216 		NI res;
6217 		i = (NI)0;
6218 		res = ((NI) 0);
6219 		{
6220 			while (1) {
6221 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T11_;
6222 				if (!(res <= ((NI) 1))) goto LA10;
6223 				i = res;
6224 				T11_ = NIM_NIL;
6225 				T11_ = skipTypes__ast_3735((*range[(i)- 0]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_30);
6226 				rangeT[(i)- 0] = skipIntLit__magicsys_124(T11_, (*c).Sup.idgen);
6227 				res += ((NI) 1);
6228 			} LA10: ;
6229 		}
6230 	}
6231 	T12_ = (NIM_BOOL)0;
6232 	T13_ = (NIM_BOOL)0;
6233 	T13_ = (((NI) 0) < (*c).inGenericContext);
6234 	if (!(T13_)) goto LA14_;
6235 	T13_ = ((*rangeT[(((NI) 0))- 0]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61));
6236 	LA14_: ;
6237 	T12_ = T13_;
6238 	if (T12_) goto LA15_;
6239 	T12_ = ((*rangeT[(((NI) 1))- 0]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61));
6240 	LA15_: ;
6241 	hasUnknownTypes = T12_;
6242 	{
6243 		if (!!(hasUnknownTypes)) goto LA18_;
6244 		{
6245 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T22_;
6246 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T23_;
6247 			NIM_BOOL T24_;
6248 			T22_ = NIM_NIL;
6249 			T22_ = skipTypes__ast_3735(rangeT[(((NI) 0))- 0], TM__rF9caJawfOjYTjsgLVUSGFA_31);
6250 			T23_ = NIM_NIL;
6251 			T23_ = skipTypes__ast_3735(rangeT[(((NI) 1))- 0], TM__rF9caJawfOjYTjsgLVUSGFA_31);
6252 			T24_ = (NIM_BOOL)0;
6253 			T24_ = sameType__types_1824(T22_, T23_, 0);
6254 			if (!!(T24_)) goto LA25_;
6255 			typeMismatch__types_3870((*(*c).graph).config, (*n).info, rangeT[(((NI) 0))- 0], rangeT[(((NI) 1))- 0], n);
6256 		}
6257 		goto LA20_;
6258 		LA25_: ;
6259 		{
6260 			NIM_BOOL T28_;
6261 			NIM_BOOL T29_;
6262 			NIM_BOOL T30_;
6263 			T28_ = (NIM_BOOL)0;
6264 			T29_ = (NIM_BOOL)0;
6265 			T30_ = (NIM_BOOL)0;
6266 			T30_ = isOrdinalType__types_299(rangeT[(((NI) 0))- 0], NIM_FALSE);
6267 			T29_ = !(T30_);
6268 			if (!(T29_)) goto LA31_;
6269 			T29_ = !(((*rangeT[(((NI) 0))- 0]).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*rangeT[(((NI) 0))- 0]).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39)));
6270 			LA31_: ;
6271 			T28_ = T29_;
6272 			if (T28_) goto LA32_;
6273 			T28_ = ((*rangeT[(((NI) 0))- 0]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
6274 			LA32_: ;
6275 			if (!T28_) goto LA33_;
6276 			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);
6277 		}
6278 		goto LA20_;
6279 		LA33_: ;
6280 		{
6281 			NIM_BOOL T36_;
6282 			NimStringDesc* T39_;
6283 			NimStringDesc* T40_;
6284 			T36_ = (NIM_BOOL)0;
6285 			T36_ = enumHasHoles__types_287(rangeT[(((NI) 0))- 0]);
6286 			if (!T36_) goto LA37_;
6287 			T39_ = NIM_NIL;
6288 			T39_ = typeToString__types_50(rangeT[(((NI) 0))- 0], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
6289 			T40_ = NIM_NIL;
6290 			T40_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_34), T39_);
6291 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T40_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_35, NIM_FALSE);
6292 		}
6293 		goto LA20_;
6294 		LA37_: ;
6295 		LA20_: ;
6296 	}
6297 	LA18_: ;
6298 	{
6299 		NI i_2;
6300 		NI res_2;
6301 		i_2 = (NI)0;
6302 		res_2 = ((NI) 0);
6303 		{
6304 			while (1) {
6305 				if (!(res_2 <= ((NI) 1))) goto LA43;
6306 				i_2 = res_2;
6307 				{
6308 					NIM_BOOL T46_;
6309 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T49_;
6310 					T46_ = (NIM_BOOL)0;
6311 					T46_ = hasUnresolvedArgs__sem_142(c, range[(i_2)- 0]);
6312 					if (!T46_) goto LA47_;
6313 					T49_ = NIM_NIL;
6314 					T49_ = makeStaticExpr__semdata_826(c, range[(i_2)- 0]);
6315 					add__ast_4797((*result).n, T49_);
6316 					(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)) & 63);
6317 				}
6318 				goto LA44_;
6319 				LA47_: ;
6320 				{
6321 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T51_;
6322 					T51_ = NIM_NIL;
6323 					T51_ = semConstExpr__sem_611(c, range[(i_2)- 0]);
6324 					add__ast_4797((*result).n, T51_);
6325 				}
6326 				LA44_: ;
6327 				res_2 += ((NI) 1);
6328 			} LA43: ;
6329 		}
6330 	}
6331 	{
6332 		NIM_BOOL T54_;
6333 		NIM_BOOL T55_;
6334 		NIM_BOOL T58_;
6335 		T54_ = (NIM_BOOL)0;
6336 		T55_ = (NIM_BOOL)0;
6337 		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));
6338 		if (!(T55_)) goto LA56_;
6339 		T55_ = isNaN__sem_3286((*(*(*result).n)._kind_6.sons->data[((NI) 0)])._kind_2.floatVal);
6340 		LA56_: ;
6341 		T54_ = T55_;
6342 		if (T54_) goto LA57_;
6343 		T58_ = (NIM_BOOL)0;
6344 		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));
6345 		if (!(T58_)) goto LA59_;
6346 		T58_ = isNaN__sem_3286((*(*(*result).n)._kind_6.sons->data[((NI) 1)])._kind_2.floatVal);
6347 		LA59_: ;
6348 		T54_ = T58_;
6349 		LA57_: ;
6350 		if (!T54_) goto LA60_;
6351 		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);
6352 	}
6353 	LA60_: ;
6354 	{
6355 		tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA T64_;
6356 		T64_ = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
6357 		T64_ = weakLeValue__astalgo_151((*(*result).n)._kind_6.sons->data[((NI) 0)], (*(*result).n)._kind_6.sons->data[((NI) 1)]);
6358 		if (!(T64_ == ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1))) goto LA65_;
6359 		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);
6360 	}
6361 	LA65_: ;
6362 	asgnRef((void**) (&(*result).sons->data[((NI) 0)]), rangeT[(((NI) 0))- 0]);
6363 	return result;
6364 }
N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg *,freshType__sem_5619)6365 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, freshType__sem_5619)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* res, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
6366 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
6367 	result = NIM_NIL;
6368 	{
6369 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T5_;
6370 		if (!(prev == 0)) goto LA3_;
6371 		T5_ = nextTypeId__ast_3151((*c).Sup.idgen);
6372 		result = copyType__ast_4046(res, T5_, (*res).owner);
6373 		copyTypeProps__modulegraphs_8872((*c).graph, ((NI) ((*(*c).Sup.idgen).module)), result, res);
6374 	}
6375 	goto LA1_;
6376 	LA3_: ;
6377 	{
6378 		result = res;
6379 	}
6380 	LA1_: ;
6381 	return result;
6382 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,maybeAliasType__sem_5571)6383 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, maybeAliasType__sem_5571)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typeExpr, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
6384 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
6385 	result = NIM_NIL;
6386 	{
6387 		NIM_BOOL T3_;
6388 		T3_ = (NIM_BOOL)0;
6389 		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));
6390 		if (!(T3_)) goto LA4_;
6391 		T3_ = !((prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
6392 		LA4_: ;
6393 		if (!T3_) goto LA5_;
6394 		result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4), c);
6395 		rawAddSon__ast_4288(result, typeExpr, NIM_TRUE);
6396 		asgnRef((void**) (&(*result).sym), (*prev).sym);
6397 		assignType__ast_3976(prev, result);
6398 	}
6399 	LA5_: ;
6400 	return result;
6401 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semTypeExpr__sem_5593)6402 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeExpr__sem_5593)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
6403 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
6404 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
6405 	result = NIM_NIL;
6406 	n_2 = semExprWithType__sem_56(c, n, 512);
6407 	{
6408 		if (!((*(*n_2).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA3_;
6409 		result = base__types_63((*n_2).typ);
6410 		{
6411 			NIM_BOOL T7_;
6412 			T7_ = (NIM_BOOL)0;
6413 			T7_ = !((prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
6414 			if (!(T7_)) goto LA8_;
6415 			T7_ = !(((*prev).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
6416 			LA8_: ;
6417 			if (!T7_) goto LA9_;
6418 			{
6419 				if (!((*result).sym == 0)) goto LA13_;
6420 				asgnRef((void**) (&(*result).sym), (*prev).sym);
6421 				asgnRef((void**) (&(*(*result).sym).typ), result);
6422 			}
6423 			goto LA11_;
6424 			LA13_: ;
6425 			{
6426 				tyObject_TType__facALICuu8zUj0hjvbTLFg* alias;
6427 				alias = maybeAliasType__sem_5571(c, result, prev);
6428 				{
6429 					if (!!((alias == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA18_;
6430 					result = alias;
6431 				}
6432 				LA18_: ;
6433 			}
6434 			LA11_: ;
6435 		}
6436 		LA9_: ;
6437 	}
6438 	goto LA1_;
6439 	LA3_: ;
6440 	{
6441 		NimStringDesc* T21_;
6442 		NimStringDesc* T22_;
6443 		T21_ = NIM_NIL;
6444 		T22_ = NIM_NIL;
6445 		T22_ = renderTree__renderer_46(n_2, 0);
6446 		T21_ = rawNewString((T22_ ? T22_->Sup.len : 0) + 24);
6447 appendString(T21_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_42));
6448 appendString(T21_, T22_);
6449 		liMessage__msgs_1118((*(*c).graph).config, (*n_2).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_43, NIM_FALSE);
6450 		result = errorType__semdata_1002(c);
6451 	}
6452 	LA1_: ;
6453 	return result;
6454 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,newConstraint__sem_2929)6455 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newConstraint__sem_2929)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag k) {
6456 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
6457 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
6458 	result = NIM_NIL;
6459 	result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51), c);
6460 	(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
6461 	T1_ = NIM_NIL;
6462 	T1_ = newTypeS__semdata_733(k, c);
6463 	addSonSkipIntLit__magicsys_136(result, T1_, (*c).Sup.idgen);
6464 	return result;
6465 }
N_INLINE(void,initIntSet__pureZcollectionsZintsets_238)6466 static N_INLINE(void, initIntSet__pureZcollectionsZintsets_238)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
6467 	initPackedSet__pureZcollectionsZintsets_16(Result);
6468 }
N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg *,skipGenericInvocation__sem_4428)6469 static N_INLINE(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipGenericInvocation__sem_4428)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
6470 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
6471 	result = NIM_NIL;
6472 	result = t;
6473 	{
6474 		if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA3_;
6475 		result = (*result).sons->data[((NI) 0)];
6476 	}
6477 	LA3_: ;
6478 	{
6479 		while (1) {
6480 			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;
6481 			result = lastSon__ast_3743(result);
6482 		} LA6: ;
6483 	}
6484 	return result;
6485 }
N_NIMCALL(void,addInheritedFieldsAux__sem_4383)6486 N_LIB_PRIVATE N_NIMCALL(void, addInheritedFieldsAux__sem_4383)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, NI* pos, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6487 	switch ((*n).kind) {
6488 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
6489 	{
6490 		{
6491 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA4_;
6492 			internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_57), TM__rF9caJawfOjYTjsgLVUSGFA_58);
6493 		}
6494 		LA4_: ;
6495 		addInheritedFieldsAux__sem_4383(c, check, pos, (*n)._kind_6.sons->data[((NI) 0)]);
6496 		{
6497 			NI i;
6498 			NI colontmp_;
6499 			NI i_2;
6500 			i = (NI)0;
6501 			colontmp_ = (NI)0;
6502 			colontmp_ = len__ast_3198(n);
6503 			i_2 = ((NI) 1);
6504 			{
6505 				while (1) {
6506 					if (!(i_2 < colontmp_)) goto LA8;
6507 					i = i_2;
6508 					switch ((*(*n)._kind_6.sons->data[i]).kind) {
6509 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
6510 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
6511 					{
6512 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
6513 						T10_ = NIM_NIL;
6514 						T10_ = lastSon__ast_4832((*n)._kind_6.sons->data[i]);
6515 						addInheritedFieldsAux__sem_4383(c, check, pos, T10_);
6516 					}
6517 					break;
6518 					default:
6519 					{
6520 						internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_59), TM__rF9caJawfOjYTjsgLVUSGFA_60);
6521 					}
6522 					break;
6523 					}
6524 					i_2 += ((NI) 1);
6525 				} LA8: ;
6526 			}
6527 		}
6528 	}
6529 	break;
6530 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
6531 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 140):
6532 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
6533 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
6534 	{
6535 		{
6536 			NI i_3;
6537 			NI colontmp__2;
6538 			NI colontmp__3;
6539 			NI i_4;
6540 			i_3 = (NI)0;
6541 			colontmp__2 = (NI)0;
6542 			colontmp__3 = (NI)0;
6543 			colontmp__2 = ((NI) (((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86))));
6544 			colontmp__3 = len__ast_3198(n);
6545 			i_4 = colontmp__2;
6546 			{
6547 				while (1) {
6548 					if (!(i_4 < colontmp__3)) goto LA15;
6549 					i_3 = i_4;
6550 					addInheritedFieldsAux__sem_4383(c, check, pos, (*n)._kind_6.sons->data[i_3]);
6551 					i_4 += ((NI) 1);
6552 				} LA15: ;
6553 			}
6554 		}
6555 	}
6556 	break;
6557 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
6558 	{
6559 		incl__pureZcollectionsZintsets_55(check, (*(*(*n)._kind_4.sym).name).id);
6560 		(*pos) += ((NI) 1);
6561 	}
6562 	break;
6563 	default:
6564 	{
6565 		internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_61), TM__rF9caJawfOjYTjsgLVUSGFA_62);
6566 	}
6567 	break;
6568 	}
6569 }
N_NIMCALL(void,addInheritedFields__sem_4443)6570 N_LIB_PRIVATE N_NIMCALL(void, addInheritedFields__sem_4443)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* check, NI* pos, tyObject_TType__facALICuu8zUj0hjvbTLFg* obj) {
6571 	{
6572 		NIM_BOOL T3_;
6573 		NI T4_;
6574 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
6575 		T3_ = (NIM_BOOL)0;
6576 		T4_ = (NI)0;
6577 		T4_ = len__ast_4002(obj);
6578 		T3_ = (((NI) 0) < T4_);
6579 		if (!(T3_)) goto LA5_;
6580 		T3_ = !(((*obj).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
6581 		LA5_: ;
6582 		if (!T3_) goto LA6_;
6583 		T8_ = NIM_NIL;
6584 		T8_ = skipGenericInvocation__sem_4428((*obj).sons->data[((NI) 0)]);
6585 		addInheritedFields__sem_4443(c, check, pos, T8_);
6586 	}
6587 	LA6_: ;
6588 	addInheritedFieldsAux__sem_4383(c, check, pos, (*obj).n);
6589 }
N_INLINE(NIM_BOOL,isGenericParams__ast_4616)6590 static N_INLINE(NIM_BOOL, isGenericParams__ast_4616)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6591 	NIM_BOOL result;
6592 	NIM_BOOL T1_;
6593 	result = (NIM_BOOL)0;
6594 	T1_ = (NIM_BOOL)0;
6595 	T1_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
6596 	if (!(T1_)) goto LA2_;
6597 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75));
6598 	LA2_: ;
6599 	result = T1_;
6600 	return result;
6601 }
N_INLINE(NIM_BOOL,isGenericRoutine__ast_4627)6602 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4627)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
6603 	NIM_BOOL result;
6604 	NIM_BOOL T1_;
6605 	NIM_BOOL T2_;
6606 	result = (NIM_BOOL)0;
6607 	T1_ = (NIM_BOOL)0;
6608 	T2_ = (NIM_BOOL)0;
6609 	T2_ = !((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
6610 	if (!(T2_)) goto LA3_;
6611 	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));
6612 	LA3_: ;
6613 	T1_ = T2_;
6614 	if (!(T1_)) goto LA4_;
6615 	T1_ = isGenericParams__ast_4616((*n)._kind_6.sons->data[((NI) 2)]);
6616 	LA4_: ;
6617 	result = T1_;
6618 	return result;
6619 }
N_INLINE(NIM_BOOL,isGenericRoutineStrict__ast_4639)6620 static N_INLINE(NIM_BOOL, isGenericRoutineStrict__ast_4639)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
6621 	NIM_BOOL result;
6622 	NIM_BOOL T1_;
6623 	result = (NIM_BOOL)0;
6624 	T1_ = (NIM_BOOL)0;
6625 	T1_ = ((520192 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
6626 	if (!(T1_)) goto LA2_;
6627 	T1_ = isGenericRoutine__ast_4627((*s).ast);
6628 	LA2_: ;
6629 	result = T1_;
6630 	return result;
6631 }
N_INLINE(void,addInt__stdZprivateZdigitsutils_189)6632 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
6633 	addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
6634 }
N_INLINE(NimStringDesc *,toFileLineCol__msgs_615)6635 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) {
6636 	NimStringDesc* result;
6637 	result = NIM_NIL;
6638 	result = resizeString(result, (info.Field0 ? info.Field0->Sup.len : 0) + 0);
6639 appendString(result, info.Field0);
6640 	{
6641 		if (!(((NI) 0) < info.Field1)) goto LA3_;
6642 		result = resizeString(result, 1);
6643 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_71));
6644 		addInt__stdZprivateZdigitsutils_189((&result), info.Field1);
6645 		{
6646 			if (!(((NI) 0) < (NI)(info.Field2 + ((NI) 1)))) goto LA7_;
6647 			result = resizeString(result, 2);
6648 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
6649 			addInt__stdZprivateZdigitsutils_189((&result), (NI)(info.Field2 + ((NI) 1)));
6650 		}
6651 		LA7_: ;
6652 		result = resizeString(result, 1);
6653 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_73));
6654 	}
6655 	LA3_: ;
6656 	return result;
6657 }
N_INLINE(NIM_BOOL,isTopLevel__semdata_1091)6658 static N_INLINE(NIM_BOOL, isTopLevel__semdata_1091)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
6659 	NIM_BOOL result;
6660 	result = (NIM_BOOL)0;
6661 	result = ((*(*c).currentScope).depthLevel <= ((NI) 2));
6662 	return result;
6663 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextSymId__ast_3132)6664 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
6665 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
6666 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
6667 	(*x).symId += ((NI) 1);
6668 	nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
6669 	result.module = (*x).module;
6670 	result.item = (*x).symId;
6671 	return result;
6672 }
N_NIMCALL(void,fillMixinScope__sem_1283)6673 N_LIB_PRIVATE N_NIMCALL(void, fillMixinScope__sem_1283)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
6674 	tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* p;
6675 	p = (*c).p;
6676 	{
6677 		while (1) {
6678 			if (!!((p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)))) goto LA2;
6679 			{
6680 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** bnd;
6681 				NI i;
6682 				NI L;
6683 				NI T4_;
6684 				bnd = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
6685 				i = ((NI) 0);
6686 				T4_ = ((*p).localBindStmts ? (*p).localBindStmts->Sup.len : 0);
6687 				L = T4_;
6688 				{
6689 					while (1) {
6690 						if (!(i < L)) goto LA6;
6691 						bnd = &(*p).localBindStmts->data[i];
6692 						{
6693 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
6694 							n = NIM_NIL;
6695 							{
6696 								NI i_2;
6697 								NI colontmp_;
6698 								NI i_3;
6699 								i_2 = (NI)0;
6700 								colontmp_ = (NI)0;
6701 								colontmp_ = safeLen__ast_3191((*bnd));
6702 								i_3 = ((NI) 0);
6703 								{
6704 									while (1) {
6705 										if (!(i_3 < colontmp_)) goto LA10;
6706 										i_2 = i_3;
6707 										n = (*(*bnd))._kind_6.sons->data[i_2];
6708 										strTableAdd__astalgo_3332((&(*(*c).currentScope).symbols), (*n)._kind_4.sym);
6709 										i_3 += ((NI) 1);
6710 									} LA10: ;
6711 								}
6712 							}
6713 						}
6714 						i += ((NI) 1);
6715 					} LA6: ;
6716 				}
6717 			}
6718 			p = (*p).next;
6719 		} LA2: ;
6720 	}
6721 }
N_NIMCALL(tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA *,new__sem_1335)6722 N_LIB_PRIVATE N_NIMCALL(tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA*, new__sem_1335)(void) {
6723 	tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* result;
6724 	tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* r;
6725 {	result = NIM_NIL;
6726 	r = NIM_NIL;
6727 	r = (tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA*) newObj((&NTIpinstantiation__Y32tFilzS9adEEksgrCsOzQ_), sizeof(tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA));
6728 	result = r;
6729 	goto BeforeRet_;
6730 	}BeforeRet_: ;
6731 	return result;
6732 }
N_INLINE(void,nimGCunrefRC1)6733 static N_INLINE(void, nimGCunrefRC1)(void* p) {
6734 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
6735 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
6736 	T1_ = usrToCell__system_5271(p);
6737 	decRef__system_5316(T1_);
6738 }
N_INLINE(void,addDeclAt__lookups_837)6739 static N_INLINE(void, addDeclAt__lookups_837)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
6740 	addDeclAt__lookups_815(c, scope, sym, (*sym).info);
6741 }
N_INLINE(void,addDecl__lookups_845)6742 static N_INLINE(void, addDecl__lookups_845)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
6743 	addDeclAt__lookups_837(c, (*c).currentScope, sym);
6744 }
N_NIMCALL(void,rawPushProcCon__sem_849)6745 N_LIB_PRIVATE N_NIMCALL(void, rawPushProcCon__sem_849)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner) {
6746 	tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* x;
6747 	x = NIM_NIL;
6748 	x = (tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) newObj((&NTIpproccon__GJ8qR6LTU9bYLzfOArsHTSg_), sizeof(tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ));
6749 	asgnRef((void**) (&(*x).owner), owner);
6750 	asgnRef((void**) (&(*x).next), (*c).p);
6751 	asgnRef((void**) (&(*c).p), x);
6752 }
N_NIMCALL(NIM_BOOL,referencesAnotherParam__sem_1165)6753 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, referencesAnotherParam__sem_1165)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* p) {
6754 	NIM_BOOL result;
6755 {	result = (NIM_BOOL)0;
6756 	{
6757 		NIM_BOOL T5_;
6758 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
6759 		T5_ = (NIM_BOOL)0;
6760 		T5_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
6761 		if (!(T5_)) goto LA6_;
6762 		T5_ = ((*(*n)._kind_4.sym).owner == p);
6763 		LA6_: ;
6764 		result = T5_;
6765 		goto BeforeRet_;
6766 	}
6767 	goto LA1_;
6768 	LA3_: ;
6769 	{
6770 		{
6771 			NI i;
6772 			NI colontmp_;
6773 			NI i_2;
6774 			i = (NI)0;
6775 			colontmp_ = (NI)0;
6776 			colontmp_ = safeLen__ast_3191(n);
6777 			i_2 = ((NI) 0);
6778 			{
6779 				while (1) {
6780 					if (!(i_2 < colontmp_)) goto LA10;
6781 					i = i_2;
6782 					{
6783 						NIM_BOOL T13_;
6784 						T13_ = (NIM_BOOL)0;
6785 						T13_ = referencesAnotherParam__sem_1165((*n)._kind_6.sons->data[i], p);
6786 						if (!T13_) goto LA14_;
6787 						result = NIM_TRUE;
6788 						goto BeforeRet_;
6789 					}
6790 					LA14_: ;
6791 					i_2 += ((NI) 1);
6792 				} LA10: ;
6793 			}
6794 		}
6795 		result = NIM_FALSE;
6796 		goto BeforeRet_;
6797 	}
6798 	LA1_: ;
6799 	}BeforeRet_: ;
6800 	return result;
6801 }
N_NIMCALL(void,changeType__sem_75)6802 N_LIB_PRIVATE N_NIMCALL(void, changeType__sem_75)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* newType, NIM_BOOL check) {
6803 {	switch ((*n).kind) {
6804 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
6805 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
6806 	{
6807 		{
6808 			NI i;
6809 			NI colontmp_;
6810 			NI i_2;
6811 			i = (NI)0;
6812 			colontmp_ = (NI)0;
6813 			colontmp_ = len__ast_3198(n);
6814 			i_2 = ((NI) 0);
6815 			{
6816 				while (1) {
6817 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
6818 					if (!(i_2 < colontmp_)) goto LA4;
6819 					i = i_2;
6820 					T5_ = NIM_NIL;
6821 					T5_ = elemType__types_263(newType);
6822 					changeType__sem_75(c, (*n)._kind_6.sons->data[i], T5_, check);
6823 					i_2 += ((NI) 1);
6824 				} LA4: ;
6825 			}
6826 		}
6827 	}
6828 	break;
6829 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
6830 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
6831 	{
6832 		tyObject_TType__facALICuu8zUj0hjvbTLFg* tup;
6833 		tup = skipTypes__ast_3735(newType, TM__rF9caJawfOjYTjsgLVUSGFA_85);
6834 		{
6835 			if (!!(((*tup).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18)))) goto LA9_;
6836 			{
6837 				if (!((*tup).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA13_;
6838 				goto BeforeRet_;
6839 			}
6840 			LA13_: ;
6841 			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);
6842 		}
6843 		goto LA7_;
6844 		LA9_: ;
6845 		{
6846 			NIM_BOOL T16_;
6847 			NI T17_;
6848 			T16_ = (NIM_BOOL)0;
6849 			T17_ = (NI)0;
6850 			T17_ = len__ast_3198(n);
6851 			T16_ = (((NI) 0) < T17_);
6852 			if (!(T16_)) goto LA18_;
6853 			T16_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34));
6854 			LA18_: ;
6855 			if (!T16_) goto LA19_;
6856 			{
6857 				NI i_3;
6858 				NI colontmp__2;
6859 				NI i_4;
6860 				i_3 = (NI)0;
6861 				colontmp__2 = (NI)0;
6862 				colontmp__2 = len__ast_3198(n);
6863 				i_4 = ((NI) 0);
6864 				{
6865 					while (1) {
6866 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
6867 						if (!(i_4 < colontmp__2)) goto LA23;
6868 						i_3 = i_4;
6869 						m = (*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[((NI) 0)];
6870 						{
6871 							if (!!(((*m).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA26_;
6872 							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);
6873 							goto BeforeRet_;
6874 						}
6875 						LA26_: ;
6876 						{
6877 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
6878 							if (!!(((*tup).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA30_;
6879 							f = getSymFromList__astalgo_245((*tup).n, (*(*m)._kind_4.sym).name, ((NI) 0));
6880 							{
6881 								NimStringDesc* T36_;
6882 								if (!(f == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA34_;
6883 								T36_ = NIM_NIL;
6884 								T36_ = rawNewString(((*(*(*m)._kind_4.sym).name).s ? (*(*(*m)._kind_4.sym).name).s->Sup.len : 0) + 20);
6885 appendString(T36_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_90));
6886 appendString(T36_, (*(*(*m)._kind_4.sym).name).s);
6887 								liMessage__msgs_1118((*(*c).graph).config, (*m).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T36_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_91, NIM_FALSE);
6888 								goto BeforeRet_;
6889 							}
6890 							LA34_: ;
6891 							changeType__sem_75(c, (*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[((NI) 1)], (*f).typ, check);
6892 						}
6893 						goto LA28_;
6894 						LA30_: ;
6895 						{
6896 							changeType__sem_75(c, (*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[((NI) 1)], (*tup).sons->data[i_3], check);
6897 						}
6898 						LA28_: ;
6899 						i_4 += ((NI) 1);
6900 					} LA23: ;
6901 				}
6902 			}
6903 		}
6904 		goto LA7_;
6905 		LA19_: ;
6906 		{
6907 			{
6908 				NI i_5;
6909 				NI colontmp__3;
6910 				NI i_6;
6911 				i_5 = (NI)0;
6912 				colontmp__3 = (NI)0;
6913 				colontmp__3 = len__ast_3198(n);
6914 				i_6 = ((NI) 0);
6915 				{
6916 					while (1) {
6917 						if (!(i_6 < colontmp__3)) goto LA41;
6918 						i_5 = i_6;
6919 						changeType__sem_75(c, (*n)._kind_6.sons->data[i_5], (*tup).sons->data[i_5], check);
6920 						i_6 += ((NI) 1);
6921 					} LA41: ;
6922 				}
6923 			}
6924 		}
6925 		LA7_: ;
6926 	}
6927 	break;
6928 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
6929 	{
6930 		{
6931 			NIM_BOOL T45_;
6932 			NIM_BOOL T46_;
6933 			NIM_BOOL T49_;
6934 			NI64 value;
6935 			T45_ = (NIM_BOOL)0;
6936 			T46_ = (NIM_BOOL)0;
6937 			T46_ = check;
6938 			if (!(T46_)) goto LA47_;
6939 			T46_ = !(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15)));
6940 			LA47_: ;
6941 			T45_ = T46_;
6942 			if (!(T45_)) goto LA48_;
6943 			T49_ = (NIM_BOOL)0;
6944 			T49_ = sameType__types_1824((*n).typ, newType, 0);
6945 			T45_ = !(T49_);
6946 			LA48_: ;
6947 			if (!T45_) goto LA50_;
6948 			value = (*n)._kind_1.intVal;
6949 			{
6950 				NIM_BOOL T54_;
6951 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T55_;
6952 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T57_;
6953 				NimStringDesc* T60_;
6954 				NimStringDesc* T61_;
6955 				NimStringDesc* T62_;
6956 				T54_ = (NIM_BOOL)0;
6957 				T55_ = firstOrd__types_1353((*(*c).graph).config, newType);
6958 				T54_ = lt___int495056_738(value, T55_);
6959 				if (T54_) goto LA56_;
6960 				T57_ = lastOrd__types_1470((*(*c).graph).config, newType);
6961 				T54_ = lt___int495056_721(T57_, value);
6962 				LA56_: ;
6963 				if (!T54_) goto LA58_;
6964 				T60_ = NIM_NIL;
6965 				T61_ = NIM_NIL;
6966 				T61_ = dollar___systemZdollars_6(value);
6967 				T62_ = NIM_NIL;
6968 				T62_ = typeToString__types_50(newType, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
6969 				T60_ = rawNewString((T61_ ? T61_->Sup.len : 0) + (T62_ ? T62_->Sup.len : 0) + 19);
6970 appendString(T60_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_92));
6971 appendString(T60_, T61_);
6972 appendString(T60_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_93));
6973 appendString(T60_, T62_);
6974 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T60_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_94, NIM_FALSE);
6975 			}
6976 			LA58_: ;
6977 		}
6978 		LA50_: ;
6979 	}
6980 	break;
6981 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
6982 	{
6983 		{
6984 			NIM_BOOL T66_;
6985 			NIM_BOOL T68_;
6986 			tyArray__Re75IspeoxXy2oCZHwcRrA T71_;
6987 			NimStringDesc* T72_;
6988 			T66_ = (NIM_BOOL)0;
6989 			T66_ = check;
6990 			if (!(T66_)) goto LA67_;
6991 			T68_ = (NIM_BOOL)0;
6992 			T68_ = floatRangeCheck__types_1613((*n)._kind_2.floatVal, newType);
6993 			T66_ = !(T68_);
6994 			LA67_: ;
6995 			if (!T66_) goto LA69_;
6996 			nimZeroMem((void*)T71_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
6997 			T71_[0] = dollar___system_3118((*n)._kind_2.floatVal);
6998 			T71_[1] = typeToString__types_50(newType, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
6999 			T72_ = NIM_NIL;
7000 			T72_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_95), T71_, 2);
7001 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T72_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_96, NIM_FALSE);
7002 		}
7003 		LA69_: ;
7004 	}
7005 	break;
7006 	default:
7007 	{
7008 	}
7009 	break;
7010 	}
7011 	asgnRef((void**) (&(*n).typ), newType);
7012 	}BeforeRet_: ;
7013 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,fitNodePostMatch__sem_164)7014 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fitNodePostMatch__sem_164)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* formal, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg) {
7015 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
7016 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
7017 	result = NIM_NIL;
7018 	x = skipConv__types_3597(arg);
7019 	{
7020 		NIM_BOOL T3_;
7021 		NIM_BOOL T4_;
7022 		NIM_BOOL T5_;
7023 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
7024 		NIM_BOOL T10_;
7025 		T3_ = (NIM_BOOL)0;
7026 		T4_ = (NIM_BOOL)0;
7027 		T5_ = (NIM_BOOL)0;
7028 		T5_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39));
7029 		if (!(T5_)) goto LA6_;
7030 		T5_ = ((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19));
7031 		LA6_: ;
7032 		T4_ = T5_;
7033 		if (!(T4_)) goto LA7_;
7034 		T8_ = NIM_NIL;
7035 		T8_ = base__types_63(formal);
7036 		T4_ = !(((*T8_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
7037 		LA7_: ;
7038 		T3_ = T4_;
7039 		if (T3_) goto LA9_;
7040 		T10_ = (NIM_BOOL)0;
7041 		T10_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160));
7042 		if (!(T10_)) goto LA11_;
7043 		T10_ = !(((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51)));
7044 		LA11_: ;
7045 		T3_ = T10_;
7046 		LA9_: ;
7047 		if (!T3_) goto LA12_;
7048 		changeType__sem_75(c, x, formal, NIM_TRUE);
7049 	}
7050 	LA12_: ;
7051 	result = arg;
7052 	result = skipHiddenSubConv__types_3674(result, (*c).graph, (*c).Sup.idgen);
7053 	return result;
7054 }
N_NIMCALL(void,instantiateProcType__sem_1187)7055 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) {
7056 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* typeMap;
7057 	tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg cl;
7058 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
7059 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* originalParams;
7060 	pushInfoContext__msgs_490((*(*c).graph).config, info, ((NimStringDesc*) NIM_NIL));
7061 	typeMap = initLayeredTypeMap__semtypinst_134(pt);
7062 	nimZeroMem((void*)(&cl), sizeof(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg));
7063 	initTypeVars__semtypinst_982(c, typeMap, info, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), (&cl));
7064 	result = instCopyType__semtypinst_480((&cl), (*prc).typ);
7065 	originalParams = (*result).n;
7066 	asgnRef((void**) (&(*result).n), shallowCopy__ast_4413(originalParams));
7067 	{
7068 		NI i;
7069 		NI colontmp_;
7070 		NI i_2;
7071 		i = (NI)0;
7072 		colontmp_ = (NI)0;
7073 		colontmp_ = len__ast_4002(result);
7074 		i_2 = ((NI) 1);
7075 		{
7076 			while (1) {
7077 				tyObject_TType__facALICuu8zUj0hjvbTLFg* typeToFit;
7078 				NIM_BOOL needsStaticSkipping;
7079 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* oldParam;
7080 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
7081 				tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T25_;
7082 				if (!(i_2 < colontmp_)) goto LA3;
7083 				i = i_2;
7084 				{
7085 					if (!(((NI) 1) < i)) goto LA6_;
7086 					resetIdTable__ast_4104((&cl.symMap));
7087 					resetIdTable__ast_4104((&cl.localCache));
7088 				}
7089 				LA6_: ;
7090 				typeToFit = (*result).sons->data[i];
7091 				needsStaticSkipping = ((*(*result).sons->data[i]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61));
7092 				asgnRef((void**) (&(*result).sons->data[i]), replaceTypeVarsT__semtypinst_178((&cl), (*result).sons->data[i]));
7093 				{
7094 					if (!needsStaticSkipping) goto LA10_;
7095 					asgnRef((void**) (&(*result).sons->data[i]), skipTypes__ast_3735((*result).sons->data[i], TM__rF9caJawfOjYTjsgLVUSGFA_30));
7096 				}
7097 				LA10_: ;
7098 				{
7099 					NIM_BOOL T14_;
7100 					NIM_BOOL T15_;
7101 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
7102 					T14_ = (NIM_BOOL)0;
7103 					T15_ = (NIM_BOOL)0;
7104 					T15_ = !(((*typeToFit).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)));
7105 					if (T15_) goto LA16_;
7106 					T17_ = NIM_NIL;
7107 					T17_ = base__types_63(typeToFit);
7108 					T15_ = !(((*T17_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
7109 					LA16_: ;
7110 					T14_ = T15_;
7111 					if (!(T14_)) goto LA18_;
7112 					T14_ = !(((*typeToFit).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60)));
7113 					LA18_: ;
7114 					if (!T14_) goto LA19_;
7115 					typeToFit = (*result).sons->data[i];
7116 				}
7117 				LA19_: ;
7118 				{
7119 					NimStringDesc* argX60gensym191_;
7120 					if (!!(((*(*originalParams)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA23_;
7121 					argX60gensym191_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_84);
7122 					internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym191_, TM__rF9caJawfOjYTjsgLVUSGFA_84);
7123 				}
7124 				LA23_: ;
7125 				oldParam = (*(*originalParams)._kind_6.sons->data[i])._kind_4.sym;
7126 				T25_ = nextSymId__ast_3132((*c).Sup.idgen);
7127 				param = copySym__ast_4054(oldParam, T25_);
7128 				asgnRef((void**) (&(*param).owner), prc);
7129 				asgnRef((void**) (&(*param).typ), (*result).sons->data[i]);
7130 				{
7131 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
7132 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* converted;
7133 					if (!!(((*oldParam).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA28_;
7134 					def = copyTree__ast_4431((*oldParam).ast);
7135 					{
7136 						if (!((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27))) goto LA32_;
7137 						{
7138 							NI i_3;
7139 							NI colontmp__2;
7140 							NI i_4;
7141 							i_3 = (NI)0;
7142 							colontmp__2 = (NI)0;
7143 							colontmp__2 = len__ast_3198(def);
7144 							i_4 = ((NI) 1);
7145 							{
7146 								while (1) {
7147 									if (!(i_4 < colontmp__2)) goto LA36;
7148 									i_3 = i_4;
7149 									asgnRef((void**) (&(*def)._kind_6.sons->data[i_3]), replaceTypeVarsN__semtypinst_130((&cl), (*def)._kind_6.sons->data[i_3], ((NI) 0)));
7150 									i_4 += ((NI) 1);
7151 								} LA36: ;
7152 							}
7153 						}
7154 					}
7155 					LA32_: ;
7156 					def = semExprWithType__sem_56(c, def, 0);
7157 					{
7158 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T39_;
7159 						NIM_BOOL T40_;
7160 						T39_ = NIM_NIL;
7161 						T39_ = getCurrOwner__semdata_315(c);
7162 						T40_ = (NIM_BOOL)0;
7163 						T40_ = referencesAnotherParam__sem_1165(def, T39_);
7164 						if (!T40_) goto LA41_;
7165 						(*def).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19)) & 31);
7166 					}
7167 					LA41_: ;
7168 					converted = indexTypesMatch__sem_120(c, typeToFit, (*def).typ, def);
7169 					{
7170 						if (!(converted == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA45_;
7171 						asgnRef((void**) (&(*param).ast), errorNode__semdata_1009(c, def));
7172 					}
7173 					goto LA43_;
7174 					LA45_: ;
7175 					{
7176 						asgnRef((void**) (&(*param).ast), fitNodePostMatch__sem_164(c, typeToFit, converted));
7177 					}
7178 					LA43_: ;
7179 					asgnRef((void**) (&(*param).typ), (*result).sons->data[i]);
7180 				}
7181 				LA28_: ;
7182 				asgnRef((void**) (&(*(*result).n)._kind_6.sons->data[i]), newSymNode__ast_3716(param));
7183 				propagateToOwner__ast_4219(result, (*result).sons->data[i], NIM_TRUE);
7184 				addDecl__lookups_845(c, param);
7185 				i_2 += ((NI) 1);
7186 			} LA3: ;
7187 		}
7188 	}
7189 	resetIdTable__ast_4104((&cl.symMap));
7190 	resetIdTable__ast_4104((&cl.localCache));
7191 	cl.isReturnType = NIM_TRUE;
7192 	asgnRef((void**) (&(*result).sons->data[((NI) 0)]), replaceTypeVarsT__semtypinst_178((&cl), (*result).sons->data[((NI) 0)]));
7193 	cl.isReturnType = NIM_FALSE;
7194 	asgnRef((void**) (&(*(*result).n)._kind_6.sons->data[((NI) 0)]), copyTree__ast_4431((*originalParams)._kind_6.sons->data[((NI) 0)]));
7195 	{
7196 		if (!!(((*result).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA50_;
7197 		propagateToOwner__ast_4219(result, (*result).sons->data[((NI) 0)], NIM_TRUE);
7198 	}
7199 	LA50_: ;
7200 	eraseVoidParams__semtypinst_682(result);
7201 	skipIntLiteralParams__semtypinst_738(result, (*c).Sup.idgen);
7202 	asgnRef((void**) (&(*prc).typ), result);
7203 	popInfoContext__msgs_507((*(*c).graph).config);
7204 }
N_NIMCALL(NIM_BOOL,sameInstantiation__sem_965)7205 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameInstantiation__sem_965)(tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA a, tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA b) {
7206 	NIM_BOOL result;
7207 {	result = (NIM_BOOL)0;
7208 	{
7209 		NI T3_;
7210 		NI T4_;
7211 		T3_ = (a.concreteTypes ? a.concreteTypes->Sup.len : 0);
7212 		T4_ = (b.concreteTypes ? b.concreteTypes->Sup.len : 0);
7213 		if (!(T3_ == T4_)) goto LA5_;
7214 		{
7215 			NI i;
7216 			NI colontmp_;
7217 			NI T8_;
7218 			NI res;
7219 			i = (NI)0;
7220 			colontmp_ = (NI)0;
7221 			T8_ = ((a.concreteTypes ? a.concreteTypes->Sup.len : 0)-1);
7222 			colontmp_ = T8_;
7223 			res = ((NI) 0);
7224 			{
7225 				while (1) {
7226 					if (!(res <= colontmp_)) goto LA10;
7227 					i = res;
7228 					{
7229 						NIM_BOOL T13_;
7230 						T13_ = (NIM_BOOL)0;
7231 						T13_ = compareTypes__types_2668(a.concreteTypes->data[i], b.concreteTypes->data[i], ((tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg) 0), 164);
7232 						if (!!(T13_)) goto LA14_;
7233 						goto BeforeRet_;
7234 					}
7235 					LA14_: ;
7236 					res += ((NI) 1);
7237 				} LA10: ;
7238 			}
7239 		}
7240 		result = NIM_TRUE;
7241 	}
7242 	LA5_: ;
7243 	}BeforeRet_: ;
7244 	return result;
7245 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,genericCacheGet__sem_983)7246 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) {
7247 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
7248 {	result = NIM_NIL;
7249 	{
7250 		tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* inst;
7251 		inst = NIM_NIL;
7252 		{
7253 			NIM_BOOL T4_;
7254 			tySequence__Or1y9bNpmj8PM8AcK9c9cg7RA** x;
7255 			T4_ = (NIM_BOOL)0;
7256 			T4_ = contains__modulegraphs_3568((*g).procInstCache, (*genericSym).Sup.itemId);
7257 			if (!T4_) goto LA5_;
7258 			x = X5BX5D___modulegraphs_3884((&(*g).procInstCache), (*genericSym).Sup.itemId);
7259 			{
7260 				tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg* t;
7261 				NI i;
7262 				NI L;
7263 				NI T8_;
7264 				t = (tyObject_LazyInstantiation__rlce0Sj8mBfLfm69c2yVTZg*)0;
7265 				i = ((NI) 0);
7266 				T8_ = ((*x) ? (*x)->Sup.len : 0);
7267 				L = T8_;
7268 				{
7269 					while (1) {
7270 						if (!(i < L)) goto LA10;
7271 						t = (&(*x)->data[i]);
7272 						inst = resolveInst__modulegraphs_2881(g, t);
7273 						{
7274 							NIM_BOOL T13_;
7275 							NIM_BOOL T14_;
7276 							T13_ = (NIM_BOOL)0;
7277 							T14_ = (NIM_BOOL)0;
7278 							T14_ = ((*inst).compilesId == ((NI) 0));
7279 							if (T14_) goto LA15_;
7280 							T14_ = ((*inst).compilesId == id);
7281 							LA15_: ;
7282 							T13_ = T14_;
7283 							if (!(T13_)) goto LA16_;
7284 							T13_ = sameInstantiation__sem_965(entry, (*inst));
7285 							LA16_: ;
7286 							if (!T13_) goto LA17_;
7287 							result = (*inst).sym;
7288 							goto BeforeRet_;
7289 						}
7290 						LA17_: ;
7291 						i += ((NI) 1);
7292 					} LA10: ;
7293 				}
7294 			}
7295 		}
7296 		LA5_: ;
7297 	}
7298 	}BeforeRet_: ;
7299 	return result;
7300 }
N_INLINE(NIM_BOOL,fieldVisible__sigmatch_4944)7301 static N_INLINE(NIM_BOOL, fieldVisible__sigmatch_4944)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f) {
7302 	NIM_BOOL result;
7303 	NI fmoduleId;
7304 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym794_;
7305 	NIM_BOOL T1_;
7306 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym796_;
7307 {	result = (NIM_BOOL)0;
7308 	xX60gensym794_ = getModule__astalgo_216(f);
7309 	fmoduleId = (NI)((NI)((NU64)(((NI) ((*xX60gensym794_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym794_).Sup.itemId.item)));
7310 	T1_ = (NIM_BOOL)0;
7311 	T1_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 1))&63U)))!=0);
7312 	if (T1_) goto LA2_;
7313 	xX60gensym796_ = (*c).module;
7314 	T1_ = (fmoduleId == (NI)((NI)((NU64)(((NI) ((*xX60gensym796_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym796_).Sup.itemId.item))));
7315 	LA2_: ;
7316 	result = T1_;
7317 	{
7318 		if (!!(result)) goto LA5_;
7319 		{
7320 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** module;
7321 			NI i;
7322 			NI L;
7323 			NI T8_;
7324 			module = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
7325 			i = ((NI) 0);
7326 			T8_ = ((*c).friendModules ? (*c).friendModules->Sup.len : 0);
7327 			L = T8_;
7328 			{
7329 				while (1) {
7330 					if (!(i < L)) goto LA10;
7331 					module = &(*c).friendModules->data[i];
7332 					{
7333 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym797_;
7334 						xX60gensym797_ = (*module);
7335 						if (!(fmoduleId == (NI)((NI)((NU64)(((NI) ((*xX60gensym797_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym797_).Sup.itemId.item))))) goto LA13_;
7336 						result = NIM_TRUE;
7337 						goto BeforeRet_;
7338 					}
7339 					LA13_: ;
7340 					i += ((NI) 1);
7341 				} LA10: ;
7342 			}
7343 		}
7344 		{
7345 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symObj;
7346 			if (!((*f).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19))) goto LA17_;
7347 			symObj = (*f).owner;
7348 			{
7349 				if (!((*(*symObj).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*(*symObj).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA21_;
7350 				symObj = (*(*(*symObj).typ).sons->data[((NI) 0)]).sym;
7351 			}
7352 			LA21_: ;
7353 			{
7354 				tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
7355 				tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
7356 				scope = NIM_NIL;
7357 				current = (*c).currentScope;
7358 				{
7359 					while (1) {
7360 						if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA25;
7361 						scope = current;
7362 						{
7363 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** sym;
7364 							NI i_2;
7365 							NI L_2;
7366 							NI T27_;
7367 							sym = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
7368 							i_2 = ((NI) 0);
7369 							T27_ = ((*scope).allowPrivateAccess ? (*scope).allowPrivateAccess->Sup.len : 0);
7370 							L_2 = T27_;
7371 							{
7372 								while (1) {
7373 									if (!(i_2 < L_2)) goto LA29;
7374 									sym = &(*scope).allowPrivateAccess->data[i_2];
7375 									{
7376 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym800_;
7377 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym801_;
7378 										xX60gensym800_ = symObj;
7379 										xX60gensym801_ = (*sym);
7380 										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_;
7381 										result = NIM_TRUE;
7382 										goto BeforeRet_;
7383 									}
7384 									LA32_: ;
7385 									i_2 += ((NI) 1);
7386 								} LA29: ;
7387 							}
7388 						}
7389 						current = (*current).parent;
7390 					} LA25: ;
7391 				}
7392 			}
7393 		}
7394 		LA17_: ;
7395 	}
7396 	LA5_: ;
7397 	}BeforeRet_: ;
7398 	return result;
7399 }
N_NIMCALL(void,addObjFieldsToLocalScope__sem_805)7400 N_LIB_PRIVATE N_NIMCALL(void, addObjFieldsToLocalScope__sem_805)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7401 	switch ((*n).kind) {
7402 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
7403 	{
7404 		{
7405 			NI i;
7406 			NI colontmp_;
7407 			NI i_2;
7408 			i = (NI)0;
7409 			colontmp_ = (NI)0;
7410 			colontmp_ = len__ast_3198(n);
7411 			i_2 = ((NI) 0);
7412 			{
7413 				while (1) {
7414 					if (!(i_2 < colontmp_)) goto LA4;
7415 					i = i_2;
7416 					addObjFieldsToLocalScope__sem_805(c, (*n)._kind_6.sons->data[i]);
7417 					i_2 += ((NI) 1);
7418 				} LA4: ;
7419 			}
7420 		}
7421 	}
7422 	break;
7423 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
7424 	{
7425 		{
7426 			NI T8_;
7427 			T8_ = (NI)0;
7428 			T8_ = len__ast_3198(n);
7429 			if (!(((NI) 0) < T8_)) goto LA9_;
7430 			addObjFieldsToLocalScope__sem_805(c, (*n)._kind_6.sons->data[((NI) 0)]);
7431 		}
7432 		LA9_: ;
7433 		{
7434 			NI i_3;
7435 			NI colontmp__2;
7436 			NI i_4;
7437 			i_3 = (NI)0;
7438 			colontmp__2 = (NI)0;
7439 			colontmp__2 = len__ast_3198(n);
7440 			i_4 = ((NI) 1);
7441 			{
7442 				while (1) {
7443 					if (!(i_4 < colontmp__2)) goto LA13;
7444 					i_3 = i_4;
7445 					{
7446 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
7447 						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_;
7448 						T18_ = NIM_NIL;
7449 						T18_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
7450 						addObjFieldsToLocalScope__sem_805(c, T18_);
7451 					}
7452 					LA16_: ;
7453 					i_4 += ((NI) 1);
7454 				} LA13: ;
7455 			}
7456 		}
7457 	}
7458 	break;
7459 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
7460 	{
7461 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
7462 		f = (*n)._kind_4.sym;
7463 		{
7464 			NIM_BOOL T22_;
7465 			NIM_BOOL T26_;
7466 			T22_ = (NIM_BOOL)0;
7467 			T22_ = ((*f).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19));
7468 			if (!(T22_)) goto LA23_;
7469 			T22_ = fieldVisible__sigmatch_4944(c, f);
7470 			LA23_: ;
7471 			if (!T22_) goto LA24_;
7472 			T26_ = (NIM_BOOL)0;
7473 			T26_ = strTableIncl__astalgo_3381((&(*(*c).currentScope).symbols), f, NIM_TRUE);
7474 			(*f).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
7475 		}
7476 		LA24_: ;
7477 	}
7478 	break;
7479 	default:
7480 	{
7481 	}
7482 	break;
7483 	}
7484 }
N_NIMCALL(void,rawHandleSelf__sem_865)7485 N_LIB_PRIVATE N_NIMCALL(void, rawHandleSelf__sem_865)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner) {
7486 	{
7487 		NIM_BOOL T3_;
7488 		NIM_BOOL T4_;
7489 		NIM_BOOL T5_;
7490 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params;
7491 		T3_ = (NIM_BOOL)0;
7492 		T4_ = (NIM_BOOL)0;
7493 		T5_ = (NIM_BOOL)0;
7494 		T5_ = eqeq___idents_220((*c).selfName, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
7495 		T4_ = !(T5_);
7496 		if (!(T4_)) goto LA6_;
7497 		T4_ = ((258048 &((NU32)1<<((NU)((*owner).kind)&31U)))!=0);
7498 		LA6_: ;
7499 		T3_ = T4_;
7500 		if (!(T3_)) goto LA7_;
7501 		T3_ = !(((*owner).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7502 		LA7_: ;
7503 		if (!T3_) goto LA8_;
7504 		params = (*(*owner).typ).n;
7505 		{
7506 			NI T12_;
7507 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* arg;
7508 			T12_ = (NI)0;
7509 			T12_ = len__ast_3198(params);
7510 			if (!(((NI) 1) < T12_)) goto LA13_;
7511 			arg = (*(*params)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
7512 			{
7513 				tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
7514 				if (!((*(*arg).name).id == (*(*c).selfName).id)) goto LA17_;
7515 				asgnRef((void**) (&(*(*c).p).selfSym), arg);
7516 				(*arg).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35)) & 63);
7517 				t = skipTypes__ast_3735((*(*(*c).p).selfSym).typ, TM__rF9caJawfOjYTjsgLVUSGFA_97);
7518 				{
7519 					while (1) {
7520 						if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA20;
7521 						addObjFieldsToLocalScope__sem_805(c, (*t).n);
7522 						{
7523 							if (!((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA23_;
7524 							goto LA19;
7525 						}
7526 						LA23_: ;
7527 						t = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_53);
7528 					} LA20: ;
7529 				} LA19: ;
7530 			}
7531 			LA17_: ;
7532 		}
7533 		LA13_: ;
7534 	}
7535 	LA8_: ;
7536 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getBody__modulegraphs_11241)7537 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getBody__modulegraphs_11241)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
7538 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
7539 	result = NIM_NIL;
7540 	result = (*(*s).ast)._kind_6.sons->data[((NI) 6)];
7541 	{
7542 		NIM_BOOL T3_;
7543 		T3_ = (NIM_BOOL)0;
7544 		T3_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
7545 		if (!(T3_)) goto LA4_;
7546 		T3_ = ((28 &((NU8)1<<((NU)((*(*g).config).symbolFiles)&7U)))!=0);
7547 		LA4_: ;
7548 		if (!T3_) goto LA5_;
7549 		result = loadProcBody__icZic_8390((*g).config, (*g).cache, (&(*g).packed_0), s);
7550 		asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), result);
7551 	}
7552 	LA5_: ;
7553 	return result;
7554 }
N_NIMCALL(void,swapResult__sem_12374)7555 N_LIB_PRIVATE N_NIMCALL(void, swapResult__sem_12374)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sRes, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dNode) {
7556 	{
7557 		NI i;
7558 		NI colontmp_;
7559 		NI i_2;
7560 		i = (NI)0;
7561 		colontmp_ = (NI)0;
7562 		colontmp_ = safeLen__ast_3191(n);
7563 		i_2 = ((NI) 0);
7564 		{
7565 			while (1) {
7566 				if (!(i_2 < colontmp_)) goto LA3;
7567 				i = i_2;
7568 				{
7569 					NIM_BOOL T6_;
7570 					T6_ = (NIM_BOOL)0;
7571 					T6_ = ((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7572 					if (!(T6_)) goto LA7_;
7573 					T6_ = ((*(*n)._kind_6.sons->data[i])._kind_4.sym == sRes);
7574 					LA7_: ;
7575 					if (!T6_) goto LA8_;
7576 					asgnRef((void**) (&(*n)._kind_6.sons->data[i]), dNode);
7577 				}
7578 				LA8_: ;
7579 				swapResult__sem_12374((*n)._kind_6.sons->data[i], sRes, dNode);
7580 				i_2 += ((NI) 1);
7581 			} LA3: ;
7582 		}
7583 	}
7584 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,findEnforcedStaticType__sem_4687)7585 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, findEnforcedStaticType__sem_4687)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
7586 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
7587 {	result = NIM_NIL;
7588 	{
7589 		if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
7590 		result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
7591 		goto BeforeRet_;
7592 	}
7593 	LA3_: ;
7594 	{
7595 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA7_;
7596 		result = t;
7597 		goto BeforeRet_;
7598 	}
7599 	LA7_: ;
7600 	{
7601 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56))) goto LA11_;
7602 		{
7603 			tyObject_TType__facALICuu8zUj0hjvbTLFg** s;
7604 			NI i;
7605 			NI L;
7606 			NI T14_;
7607 			s = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
7608 			i = ((NI) 0);
7609 			T14_ = ((*t).sons ? (*t).sons->Sup.len : 0);
7610 			L = T14_;
7611 			{
7612 				while (1) {
7613 					tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
7614 					if (!(i < L)) goto LA16;
7615 					s = &(*t).sons->data[i];
7616 					t_2 = findEnforcedStaticType__sem_4687((*s));
7617 					{
7618 						if (!!((t_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA19_;
7619 						result = t_2;
7620 						goto BeforeRet_;
7621 					}
7622 					LA19_: ;
7623 					i += ((NI) 1);
7624 				} LA16: ;
7625 			}
7626 		}
7627 	}
7628 	LA11_: ;
7629 	}BeforeRet_: ;
7630 	return result;
7631 }
N_NIMCALL(void,addParamOrResult__sem_1024)7632 N_LIB_PRIVATE N_NIMCALL(void, addParamOrResult__sem_1024)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind) {
7633 	{
7634 		tyObject_TType__facALICuu8zUj0hjvbTLFg* staticType;
7635 		if (!(kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17))) goto LA3_;
7636 		staticType = findEnforcedStaticType__sem_4687((*param).typ);
7637 		{
7638 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a;
7639 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T9_;
7640 			if (!!((staticType == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA7_;
7641 			T9_ = nextSymId__ast_3132((*c).Sup.idgen);
7642 			a = copySym__ast_4054(param, T9_);
7643 			asgnRef((void**) (&(*a).typ), base__types_63(staticType));
7644 			addDecl__lookups_845(c, a);
7645 		}
7646 		goto LA5_;
7647 		LA7_: ;
7648 		{
7649 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* nn;
7650 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a_2;
7651 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T11_;
7652 			nn = getSysSym__magicsys_16((*c).graph, (*param).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_99));
7653 			T11_ = nextSymId__ast_3132((*c).Sup.idgen);
7654 			a_2 = copySym__ast_4054(param, T11_);
7655 			asgnRef((void**) (&(*a_2).typ), (*nn).typ);
7656 			addDecl__lookups_845(c, a_2);
7657 		}
7658 		LA5_: ;
7659 	}
7660 	goto LA1_;
7661 	LA3_: ;
7662 	{
7663 		{
7664 			if (!(((*param).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0)) goto LA15_;
7665 			{
7666 				if (!((*param).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA19_;
7667 				asgnRef((void**) (&(*param).owner), getCurrOwner__semdata_315(c));
7668 			}
7669 			LA19_: ;
7670 		}
7671 		goto LA13_;
7672 		LA15_: ;
7673 		{
7674 			addDecl__lookups_845(c, param);
7675 		}
7676 		LA13_: ;
7677 	}
7678 	LA1_: ;
7679 }
N_NIMCALL(void,addResult__sem_12395)7680 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) {
7681 	{
7682 		NIM_BOOL T3_;
7683 		T3_ = (NIM_BOOL)0;
7684 		T3_ = (owner == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
7685 		if (T3_) goto LA4_;
7686 		T3_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7687 		LA4_: ;
7688 		if (!T3_) goto LA5_;
7689 		{
7690 			NIM_BOOL T9_;
7691 			NI T10_;
7692 			T9_ = (NIM_BOOL)0;
7693 			T10_ = (NI)0;
7694 			T10_ = len__ast_3198(n);
7695 			T9_ = (((NI) 7) < T10_);
7696 			if (!(T9_)) goto LA11_;
7697 			T9_ = !(((*n)._kind_6.sons->data[((NI) 7)] == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
7698 			LA11_: ;
7699 			if (!T9_) goto LA12_;
7700 			{
7701 				if (!!(((*(*(*n)._kind_6.sons->data[((NI) 7)])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11)))) goto LA16_;
7702 				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);
7703 			}
7704 			LA16_: ;
7705 			{
7706 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T20_;
7707 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sResSym;
7708 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
7709 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T23_;
7710 				tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T24_;
7711 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T25_;
7712 				T20_ = NIM_NIL;
7713 				T20_ = getCurrOwner__semdata_315(c);
7714 				if (!!(((*(*(*n)._kind_6.sons->data[((NI) 7)])._kind_4.sym).owner == T20_))) goto LA21_;
7715 				sResSym = (*(*n)._kind_6.sons->data[((NI) 7)])._kind_4.sym;
7716 				T23_ = NIM_NIL;
7717 				T23_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_102));
7718 				T24_ = nextSymId__ast_3132((*c).Sup.idgen);
7719 				T25_ = NIM_NIL;
7720 				T25_ = getCurrOwner__semdata_315(c);
7721 				s = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11), T23_, T24_, T25_, (*n).info, 0);
7722 				asgnRef((void**) (&(*s).typ), t);
7723 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
7724 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 7)]), newSymNode__ast_3716(s));
7725 				swapResult__sem_12374(n, sResSym, (*n)._kind_6.sons->data[((NI) 7)]);
7726 			}
7727 			LA21_: ;
7728 			asgnRef((void**) (&(*(*c).p).resultSym), (*(*n)._kind_6.sons->data[((NI) 7)])._kind_4.sym);
7729 		}
7730 		goto LA7_;
7731 		LA12_: ;
7732 		{
7733 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
7734 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T27_;
7735 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T28_;
7736 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T29_;
7737 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T30_;
7738 			T27_ = NIM_NIL;
7739 			T27_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_102));
7740 			T28_ = nextSymId__ast_3132((*c).Sup.idgen);
7741 			T29_ = NIM_NIL;
7742 			T29_ = getCurrOwner__semdata_315(c);
7743 			s_2 = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11), T27_, T28_, T29_, (*n).info, 0);
7744 			asgnRef((void**) (&(*s_2).typ), t);
7745 			(*s_2).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
7746 			asgnRef((void**) (&(*(*c).p).resultSym), s_2);
7747 			T30_ = NIM_NIL;
7748 			T30_ = newSymNode__ast_3716((*(*c).p).resultSym);
7749 			add__ast_4797(n, T30_);
7750 		}
7751 		LA7_: ;
7752 		addParamOrResult__sem_1024(c, (*(*c).p).resultSym, owner);
7753 	}
7754 	LA5_: ;
7755 }
N_INLINE(NIM_BOOL,isInlineIterator__ast_4989)7756 static N_INLINE(NIM_BOOL, isInlineIterator__ast_4989)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
7757 	NIM_BOOL result;
7758 	NIM_BOOL T1_;
7759 	NIM_BOOL T2_;
7760 	result = (NIM_BOOL)0;
7761 	T1_ = (NIM_BOOL)0;
7762 	T2_ = (NIM_BOOL)0;
7763 	T2_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
7764 	if (!(T2_)) goto LA3_;
7765 	T2_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15))&63U)))!=0);
7766 	LA3_: ;
7767 	T1_ = T2_;
7768 	if (!(T1_)) goto LA4_;
7769 	T1_ = !(((*typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)));
7770 	LA4_: ;
7771 	result = T1_;
7772 	return result;
7773 }
N_NIMCALL(void,maybeAddResult__sem_100)7774 N_LIB_PRIVATE N_NIMCALL(void, maybeAddResult__sem_100)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7775 	{
7776 		tyObject_TType__facALICuu8zUj0hjvbTLFg* resultType;
7777 		if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17))) goto LA3_;
7778 		resultType = sysTypeFromName__magicsys_55((*c).graph, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_99));
7779 		addResult__sem_12395(c, n, resultType, (*s).kind);
7780 	}
7781 	goto LA1_;
7782 	LA3_: ;
7783 	{
7784 		NIM_BOOL T6_;
7785 		NIM_BOOL T8_;
7786 		T6_ = (NIM_BOOL)0;
7787 		T6_ = !(((*(*s).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7788 		if (!(T6_)) goto LA7_;
7789 		T8_ = (NIM_BOOL)0;
7790 		T8_ = isInlineIterator__ast_4989((*s).typ);
7791 		T6_ = !(T8_);
7792 		LA7_: ;
7793 		if (!T6_) goto LA9_;
7794 		addResult__sem_12395(c, n, (*(*s).typ).sons->data[((NI) 0)], (*s).kind);
7795 	}
7796 	goto LA1_;
7797 	LA9_: ;
7798 	LA1_: ;
7799 }
N_NIMCALL(void,freshGenSyms__sem_990)7800 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) {
7801 	{
7802 		NIM_BOOL T3_;
7803 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
7804 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* x;
7805 		RootObj* T7_;
7806 		T3_ = (NIM_BOOL)0;
7807 		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
7808 		if (!(T3_)) goto LA4_;
7809 		T3_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
7810 		LA4_: ;
7811 		if (!T3_) goto LA5_;
7812 		s = (*n)._kind_4.sym;
7813 		T7_ = NIM_NIL;
7814 		T7_ = idTableGet__astalgo_64((*symMap), &s->Sup);
7815 		x = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) (T7_));
7816 		{
7817 			if (!!((x == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA10_;
7818 			asgnRef((void**) (&(*n)._kind_4.sym), x);
7819 		}
7820 		goto LA8_;
7821 		LA10_: ;
7822 		{
7823 			NIM_BOOL T13_;
7824 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T17_;
7825 			T13_ = (NIM_BOOL)0;
7826 			T13_ = ((*s).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
7827 			if (T13_) goto LA14_;
7828 			T13_ = ((*(*s).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 24));
7829 			LA14_: ;
7830 			if (!T13_) goto LA15_;
7831 			T17_ = nextSymId__ast_3132((*c).Sup.idgen);
7832 			x = copySym__ast_4054(s, T17_);
7833 			asgnRef((void**) (&(*x).owner), owner);
7834 			idTablePut__astalgo_70(symMap, &s->Sup, (*((RootObj**) (&(x)))));
7835 			asgnRef((void**) (&(*n)._kind_4.sym), x);
7836 		}
7837 		goto LA8_;
7838 		LA15_: ;
7839 		LA8_: ;
7840 	}
7841 	goto LA1_;
7842 	LA5_: ;
7843 	{
7844 		{
7845 			NI i;
7846 			NI colontmp_;
7847 			NI i_2;
7848 			i = (NI)0;
7849 			colontmp_ = (NI)0;
7850 			colontmp_ = safeLen__ast_3191(n);
7851 			i_2 = ((NI) 0);
7852 			{
7853 				while (1) {
7854 					if (!(i_2 < colontmp_)) goto LA21;
7855 					i = i_2;
7856 					freshGenSyms__sem_990(c, (*n)._kind_6.sons->data[i], owner, orig, symMap);
7857 					i_2 += ((NI) 1);
7858 				} LA21: ;
7859 			}
7860 		}
7861 	}
7862 	LA1_: ;
7863 }
N_INLINE(NIM_BOOL,isEmptyType__ast_4779)7864 static N_INLINE(NIM_BOOL, isEmptyType__ast_4779)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
7865 	NIM_BOOL result;
7866 	NIM_BOOL T1_;
7867 	result = (NIM_BOOL)0;
7868 	T1_ = (NIM_BOOL)0;
7869 	T1_ = (t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
7870 	if (T1_) goto LA2_;
7871 	T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
7872 	LA2_: ;
7873 	result = T1_;
7874 	return result;
7875 }
N_INLINE(NIM_BOOL,isAtom__ast_4768)7876 static N_INLINE(NIM_BOOL, isAtom__ast_4768)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7877 	NIM_BOOL result;
7878 	NIM_BOOL T1_;
7879 	result = (NIM_BOOL)0;
7880 	T1_ = (NIM_BOOL)0;
7881 	T1_ = (((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) <= (*n).kind);
7882 	if (!(T1_)) goto LA2_;
7883 	T1_ = ((*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
7884 	LA2_: ;
7885 	result = T1_;
7886 	return result;
7887 }
N_NIMCALL(void,fixNilType__sem_9307)7888 N_LIB_PRIVATE N_NIMCALL(void, fixNilType__sem_9307)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
7889 	{
7890 		NIM_BOOL T3_;
7891 		T3_ = (NIM_BOOL)0;
7892 		T3_ = isAtom__ast_4768(n);
7893 		if (!T3_) goto LA4_;
7894 		{
7895 			NIM_BOOL T8_;
7896 			NimStringDesc* T12_;
7897 			NimStringDesc* T13_;
7898 			T8_ = (NIM_BOOL)0;
7899 			T8_ = !(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)));
7900 			if (!(T8_)) goto LA9_;
7901 			T8_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
7902 			LA9_: ;
7903 			if (!T8_) goto LA10_;
7904 			T12_ = NIM_NIL;
7905 			T12_ = typeToString__types_50((*n).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
7906 			T13_ = NIM_NIL;
7907 			T13_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_103), T12_);
7908 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T13_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_104, NIM_FALSE);
7909 		}
7910 		LA10_: ;
7911 	}
7912 	goto LA1_;
7913 	LA4_: ;
7914 	{
7915 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA15_;
7916 		transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 115));
7917 		{
7918 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
7919 			it = NIM_NIL;
7920 			{
7921 				NI i;
7922 				NI colontmp_;
7923 				NI i_2;
7924 				i = (NI)0;
7925 				colontmp_ = (NI)0;
7926 				colontmp_ = safeLen__ast_3191(n);
7927 				i_2 = ((NI) 0);
7928 				{
7929 					while (1) {
7930 						if (!(i_2 < colontmp_)) goto LA20;
7931 						i = i_2;
7932 						it = (*n)._kind_6.sons->data[i];
7933 						fixNilType__sem_9307(c, it);
7934 						i_2 += ((NI) 1);
7935 					} LA20: ;
7936 				}
7937 			}
7938 		}
7939 	}
7940 	goto LA1_;
7941 	LA15_: ;
7942 	LA1_: ;
7943 	asgnRef((void**) (&(*n).typ), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
7944 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,readTypeParameter__sem_16914)7945 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) {
7946 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
7947 {	result = NIM_NIL;
7948 	{
7949 		if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53))) goto LA3_;
7950 		{
7951 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* statement;
7952 			statement = NIM_NIL;
7953 			{
7954 				NI i;
7955 				NI colontmp_;
7956 				NI i_2;
7957 				i = (NI)0;
7958 				colontmp_ = (NI)0;
7959 				colontmp_ = safeLen__ast_3191((*typ).n);
7960 				i_2 = ((NI) 0);
7961 				{
7962 					while (1) {
7963 						if (!(i_2 < colontmp_)) goto LA8;
7964 						i = i_2;
7965 						statement = (*(*typ).n)._kind_6.sons->data[i];
7966 						switch ((*statement).kind) {
7967 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
7968 						{
7969 							{
7970 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
7971 								def = NIM_NIL;
7972 								{
7973 									NI i_3;
7974 									NI colontmp__2;
7975 									NI i_4;
7976 									i_3 = (NI)0;
7977 									colontmp__2 = (NI)0;
7978 									colontmp__2 = safeLen__ast_3191(statement);
7979 									i_4 = ((NI) 0);
7980 									{
7981 										while (1) {
7982 											if (!(i_4 < colontmp__2)) goto LA13;
7983 											i_3 = i_4;
7984 											def = (*statement)._kind_6.sons->data[i_3];
7985 											{
7986 												tyObject_TType__facALICuu8zUj0hjvbTLFg* foundType;
7987 												tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T18_;
7988 												tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T19_;
7989 												tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T20_;
7990 												if (!((*(*(*(*def)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).id == (*paramName).id)) goto LA16_;
7991 												foundType = makeTypeDesc__concepts_49(c, (*(*def)._kind_6.sons->data[((NI) 2)]).typ);
7992 												T18_ = nextSymId__ast_3132((*c).Sup.idgen);
7993 												T19_ = NIM_NIL;
7994 												T19_ = copySym__ast_4054((*(*def)._kind_6.sons->data[((NI) 0)])._kind_4.sym, T18_);
7995 												T20_ = NIM_NIL;
7996 												T20_ = linkTo__ast_3532(T19_, foundType);
7997 												result = newSymNode__ast_3719(T20_, info);
7998 												goto BeforeRet_;
7999 											}
8000 											LA16_: ;
8001 											i_4 += ((NI) 1);
8002 										} LA13: ;
8003 									}
8004 								}
8005 							}
8006 						}
8007 						break;
8008 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
8009 						{
8010 							{
8011 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def_2;
8012 								def_2 = NIM_NIL;
8013 								{
8014 									NI i_5;
8015 									NI colontmp__3;
8016 									NI i_6;
8017 									i_5 = (NI)0;
8018 									colontmp__3 = (NI)0;
8019 									colontmp__3 = safeLen__ast_3191(statement);
8020 									i_6 = ((NI) 0);
8021 									{
8022 										while (1) {
8023 											if (!(i_6 < colontmp__3)) goto LA25;
8024 											i_5 = i_6;
8025 											def_2 = (*statement)._kind_6.sons->data[i_5];
8026 											{
8027 												if (!((*(*(*(*def_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).id == (*paramName).id)) goto LA28_;
8028 												result = (*def_2)._kind_6.sons->data[((NI) 2)];
8029 												goto BeforeRet_;
8030 											}
8031 											LA28_: ;
8032 											i_6 += ((NI) 1);
8033 										} LA25: ;
8034 									}
8035 								}
8036 							}
8037 						}
8038 						break;
8039 						default:
8040 						{
8041 						}
8042 						break;
8043 						}
8044 						i_2 += ((NI) 1);
8045 					} LA8: ;
8046 				}
8047 			}
8048 		}
8049 	}
8050 	LA3_: ;
8051 	{
8052 		tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
8053 		tyObject_TType__facALICuu8zUj0hjvbTLFg* tbody;
8054 		if (!!(((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52)))) goto LA33_;
8055 		{
8056 			if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54))) goto LA37_;
8057 			ty = skipGenericAlias__types_2219((*typ).sons->data[((NI) 1)]);
8058 		}
8059 		goto LA35_;
8060 		LA37_: ;
8061 		{
8062 			ty = skipGenericAlias__types_2219(typ);
8063 		}
8064 		LA35_: ;
8065 		tbody = (*ty).sons->data[((NI) 0)];
8066 		{
8067 			NI s;
8068 			NI colontmp__4;
8069 			NI T41_;
8070 			NI i_7;
8071 			s = (NI)0;
8072 			colontmp__4 = (NI)0;
8073 			T41_ = (NI)0;
8074 			T41_ = len__ast_4002(tbody);
8075 			colontmp__4 = (NI)(T41_ - ((NI) 1));
8076 			i_7 = ((NI) 0);
8077 			{
8078 				while (1) {
8079 					tyObject_TType__facALICuu8zUj0hjvbTLFg* tParam;
8080 					if (!(i_7 < colontmp__4)) goto LA43;
8081 					s = i_7;
8082 					tParam = (*tbody).sons->data[s];
8083 					{
8084 						tyObject_TType__facALICuu8zUj0hjvbTLFg* rawTyp;
8085 						if (!((*(*(*tParam).sym).name).id == (*paramName).id)) goto LA46_;
8086 						rawTyp = (*ty).sons->data[(NI)(s + ((NI) 1))];
8087 						{
8088 							if (!((*rawTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA50_;
8089 							{
8090 								if (!!(((*rawTyp).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA54_;
8091 								result = (*rawTyp).n;
8092 								goto BeforeRet_;
8093 							}
8094 							goto LA52_;
8095 							LA54_: ;
8096 							{
8097 								result = (*(*c).graph).emptyNode;
8098 								goto BeforeRet_;
8099 							}
8100 							LA52_: ;
8101 						}
8102 						goto LA48_;
8103 						LA50_: ;
8104 						{
8105 							tyObject_TType__facALICuu8zUj0hjvbTLFg* foundTyp;
8106 							tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T58_;
8107 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T59_;
8108 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T60_;
8109 							foundTyp = makeTypeDesc__concepts_49(c, rawTyp);
8110 							T58_ = nextSymId__ast_3132((*c).Sup.idgen);
8111 							T59_ = NIM_NIL;
8112 							T59_ = copySym__ast_4054((*tParam).sym, T58_);
8113 							T60_ = NIM_NIL;
8114 							T60_ = linkTo__ast_3532(T59_, foundTyp);
8115 							result = newSymNode__ast_3719(T60_, info);
8116 							goto BeforeRet_;
8117 						}
8118 						LA48_: ;
8119 					}
8120 					LA46_: ;
8121 					i_7 += ((NI) 1);
8122 				} LA43: ;
8123 			}
8124 		}
8125 	}
8126 	LA33_: ;
8127 	result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
8128 	goto BeforeRet_;
8129 	}BeforeRet_: ;
8130 	return result;
8131 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,tryReadingGenericParam__sem_17124)8132 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) {
8133 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8134 	result = NIM_NIL;
8135 	switch ((*t).kind) {
8136 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
8137 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
8138 	{
8139 		result = readTypeParameter__sem_16914(c, t, i, (*n).info);
8140 		{
8141 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
8142 			if (!(result == (*(*c).graph).emptyNode)) goto LA4_;
8143 			result = n;
8144 			T6_ = NIM_NIL;
8145 			T6_ = copyTree__ast_4431(n);
8146 			asgnRef((void**) (&(*n).typ), makeTypeFromExpr__semdata_804(c, T6_));
8147 		}
8148 		LA4_: ;
8149 	}
8150 	break;
8151 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
8152 	{
8153 		{
8154 			if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0)) goto LA10_;
8155 			result = readTypeParameter__sem_16914(c, t, i, (*n).info);
8156 		}
8157 		goto LA8_;
8158 		LA10_: ;
8159 		{
8160 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
8161 			T13_ = NIM_NIL;
8162 			T13_ = copyTree__ast_4431(n);
8163 			asgnRef((void**) (&(*n).typ), makeTypeFromExpr__semdata_804(c, T13_));
8164 			result = n;
8165 		}
8166 		LA8_: ;
8167 	}
8168 	break;
8169 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
8170 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
8171 	{
8172 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
8173 		T15_ = NIM_NIL;
8174 		T15_ = copyTree__ast_4431(n);
8175 		asgnRef((void**) (&(*n).typ), makeTypeFromExpr__semdata_804(c, T15_));
8176 		result = n;
8177 	}
8178 	break;
8179 	default:
8180 	{
8181 	}
8182 	break;
8183 	}
8184 	return result;
8185 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,tryReadingTypeField__sem_17138)8186 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) {
8187 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8188 	tyObject_TType__facALICuu8zUj0hjvbTLFg* ty_2;
8189 	result = NIM_NIL;
8190 	ty_2 = skipTypes__ast_3735(ty, TM__rF9caJawfOjYTjsgLVUSGFA_105);
8191 	switch ((*ty_2).kind) {
8192 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
8193 	{
8194 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
8195 		f = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
8196 		{
8197 			while (1) {
8198 				if (!!((ty_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3;
8199 				f = getSymFromList__astalgo_245((*ty_2).n, i, ((NI) 0));
8200 				{
8201 					if (!!((f == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA6_;
8202 					goto LA2;
8203 				}
8204 				LA6_: ;
8205 				ty_2 = (*ty_2).sons->data[((NI) 0)];
8206 			} LA3: ;
8207 		} LA2: ;
8208 		{
8209 			if (!!((f == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA10_;
8210 			result = newSymNode__ast_3716(f);
8211 			(*result).info = (*n).info;
8212 			asgnRef((void**) (&(*result).typ), ty_2);
8213 			markUsed__sigmatch_85(c, (*n).info, f);
8214 		}
8215 		LA10_: ;
8216 	}
8217 	break;
8218 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
8219 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
8220 	{
8221 		{
8222 			NIM_BOOL T15_;
8223 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
8224 			T15_ = (NIM_BOOL)0;
8225 			T15_ = !(((*ty_2).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8226 			if (!(T15_)) goto LA16_;
8227 			T15_ = ((*(*ty_2).n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138));
8228 			LA16_: ;
8229 			if (!T15_) goto LA17_;
8230 			field = lookupInRecord__astalgo_84((*ty_2).n, i);
8231 			{
8232 				if (!!((field == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA21_;
8233 				asgnRef((void**) (&(*n).typ), makeTypeDesc__concepts_49(c, (*field).typ));
8234 				result = n;
8235 			}
8236 			LA21_: ;
8237 		}
8238 		LA17_: ;
8239 	}
8240 	break;
8241 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
8242 	{
8243 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T24_;
8244 		T24_ = NIM_NIL;
8245 		T24_ = lastSon__ast_3743(ty_2);
8246 		result = tryReadingTypeField__sem_17138(c, n, i, T24_);
8247 		{
8248 			if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA27_;
8249 			result = tryReadingGenericParam__sem_17124(c, n, i, ty_2);
8250 		}
8251 		LA27_: ;
8252 	}
8253 	break;
8254 	default:
8255 	{
8256 		result = tryReadingGenericParam__sem_17124(c, n, i, ty_2);
8257 	}
8258 	break;
8259 	}
8260 	return result;
8261 }
N_NIMCALL(NIM_BOOL,isTypeExpr__sem_16750)8262 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTypeExpr__sem_16750)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
8263 	NIM_BOOL result;
8264 	result = (NIM_BOOL)0;
8265 	switch ((*n).kind) {
8266 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
8267 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
8268 	{
8269 		result = NIM_TRUE;
8270 	}
8271 	break;
8272 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
8273 	{
8274 		result = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
8275 	}
8276 	break;
8277 	default:
8278 	{
8279 		result = NIM_FALSE;
8280 	}
8281 	break;
8282 	}
8283 	return result;
8284 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,createSetType__sem_16757)8285 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, createSetType__sem_16757)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType) {
8286 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
8287 	result = NIM_NIL;
8288 	result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19), c);
8289 	rawAddSon__ast_4288(result, baseType, NIM_TRUE);
8290 	return result;
8291 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,lookupInRecordAndBuildCheck__sem_16768)8292 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) {
8293 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
8294 {	result = NIM_NIL;
8295 	result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
8296 	switch ((*r).kind) {
8297 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
8298 	{
8299 		{
8300 			NI i;
8301 			NI colontmp_;
8302 			NI i_2;
8303 			i = (NI)0;
8304 			colontmp_ = (NI)0;
8305 			colontmp_ = len__ast_3198(r);
8306 			i_2 = ((NI) 0);
8307 			{
8308 				while (1) {
8309 					if (!(i_2 < colontmp_)) goto LA4;
8310 					i = i_2;
8311 					result = lookupInRecordAndBuildCheck__sem_16768(c, n, (*r)._kind_6.sons->data[i], field, check);
8312 					{
8313 						if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA7_;
8314 						goto BeforeRet_;
8315 					}
8316 					LA7_: ;
8317 					i_2 += ((NI) 1);
8318 				} LA4: ;
8319 			}
8320 		}
8321 	}
8322 	break;
8323 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
8324 	{
8325 		tyObject_TType__facALICuu8zUj0hjvbTLFg* setType;
8326 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
8327 		checkMinSonsLen__semdata_1084(r, ((NI) 2), (*(*c).graph).config);
8328 		{
8329 			if (!!(((*(*r)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA12_;
8330 			illFormedAst__semdata_1071(r, (*(*c).graph).config);
8331 		}
8332 		LA12_: ;
8333 		result = lookupInRecordAndBuildCheck__sem_16768(c, n, (*r)._kind_6.sons->data[((NI) 0)], field, check);
8334 		{
8335 			if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA16_;
8336 			goto BeforeRet_;
8337 		}
8338 		LA16_: ;
8339 		setType = createSetType__sem_16757(c, (*(*r)._kind_6.sons->data[((NI) 0)]).typ);
8340 		s = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39), (*r).info, setType);
8341 		{
8342 			NI i_3;
8343 			NI colontmp__2;
8344 			NI i_4;
8345 			i_3 = (NI)0;
8346 			colontmp__2 = (NI)0;
8347 			colontmp__2 = len__ast_3198(r);
8348 			i_4 = ((NI) 1);
8349 			{
8350 				while (1) {
8351 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
8352 					if (!(i_4 < colontmp__2)) goto LA20;
8353 					i_3 = i_4;
8354 					it = (*r)._kind_6.sons->data[i_3];
8355 					switch ((*it).kind) {
8356 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
8357 					{
8358 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
8359 						T22_ = NIM_NIL;
8360 						T22_ = lastSon__ast_4832(it);
8361 						result = lookupInRecordAndBuildCheck__sem_16768(c, n, T22_, field, check);
8362 						{
8363 							if (!(result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA25_;
8364 							{
8365 								NI j;
8366 								NI colontmp__3;
8367 								NI T28_;
8368 								NI i_5;
8369 								j = (NI)0;
8370 								colontmp__3 = (NI)0;
8371 								T28_ = (NI)0;
8372 								T28_ = len__ast_3198(it);
8373 								colontmp__3 = (NI)(T28_ - ((NI) 1));
8374 								i_5 = ((NI) 0);
8375 								{
8376 									while (1) {
8377 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
8378 										if (!(i_5 < colontmp__3)) goto LA30;
8379 										j = i_5;
8380 										T31_ = NIM_NIL;
8381 										T31_ = copyTree__ast_4431((*it)._kind_6.sons->data[j]);
8382 										add__ast_4797(s, T31_);
8383 										i_5 += ((NI) 1);
8384 									} LA30: ;
8385 								}
8386 							}
8387 						}
8388 						goto LA23_;
8389 						LA25_: ;
8390 						{
8391 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* inExpr;
8392 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T42_;
8393 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T43_;
8394 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T44_;
8395 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T45_;
8396 							{
8397 								if (!((*check) == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA35_;
8398 								unsureAsgnRef((void**) (&(*check)), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46), (*n).info));
8399 								add__ast_4797((*check), (*(*c).graph).emptyNode);
8400 							}
8401 							LA35_: ;
8402 							s = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39), (*n).info, setType);
8403 							{
8404 								NI j_2;
8405 								NI colontmp__4;
8406 								NI T38_;
8407 								NI i_6;
8408 								j_2 = (NI)0;
8409 								colontmp__4 = (NI)0;
8410 								T38_ = (NI)0;
8411 								T38_ = len__ast_3198(it);
8412 								colontmp__4 = (NI)(T38_ - ((NI) 1));
8413 								i_6 = ((NI) 0);
8414 								{
8415 									while (1) {
8416 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T41_;
8417 										if (!(i_6 < colontmp__4)) goto LA40;
8418 										j_2 = i_6;
8419 										T41_ = NIM_NIL;
8420 										T41_ = copyTree__ast_4431((*it)._kind_6.sons->data[j_2]);
8421 										add__ast_4797(s, T41_);
8422 										i_6 += ((NI) 1);
8423 									} LA40: ;
8424 								}
8425 							}
8426 							T42_ = NIM_NIL;
8427 							T42_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
8428 							inExpr = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, T42_);
8429 							T43_ = NIM_NIL;
8430 							T43_ = getSysMagic__magicsys_29((*c).graph, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_108), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 134));
8431 							T44_ = NIM_NIL;
8432 							T44_ = newSymNode__ast_3719(T43_, (*n).info);
8433 							add__ast_4797(inExpr, T44_);
8434 							add__ast_4797(inExpr, s);
8435 							T45_ = NIM_NIL;
8436 							T45_ = copyTree__ast_4431((*r)._kind_6.sons->data[((NI) 0)]);
8437 							add__ast_4797(inExpr, T45_);
8438 							add__ast_4797((*check), inExpr);
8439 							goto BeforeRet_;
8440 						}
8441 						LA23_: ;
8442 					}
8443 					break;
8444 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
8445 					{
8446 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T47_;
8447 						T47_ = NIM_NIL;
8448 						T47_ = lastSon__ast_4832(it);
8449 						result = lookupInRecordAndBuildCheck__sem_16768(c, n, T47_, field, check);
8450 						{
8451 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* inExpr_2;
8452 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T56_;
8453 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T57_;
8454 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T58_;
8455 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T59_;
8456 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* notExpr;
8457 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T60_;
8458 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T61_;
8459 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T62_;
8460 							if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA50_;
8461 							{
8462 								if (!((*check) == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA54_;
8463 								unsureAsgnRef((void**) (&(*check)), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46), (*n).info));
8464 								add__ast_4797((*check), (*(*c).graph).emptyNode);
8465 							}
8466 							LA54_: ;
8467 							T56_ = NIM_NIL;
8468 							T56_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
8469 							inExpr_2 = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, T56_);
8470 							T57_ = NIM_NIL;
8471 							T57_ = getSysMagic__magicsys_29((*c).graph, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_108), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 134));
8472 							T58_ = NIM_NIL;
8473 							T58_ = newSymNode__ast_3719(T57_, (*n).info);
8474 							add__ast_4797(inExpr_2, T58_);
8475 							add__ast_4797(inExpr_2, s);
8476 							T59_ = NIM_NIL;
8477 							T59_ = copyTree__ast_4431((*r)._kind_6.sons->data[((NI) 0)]);
8478 							add__ast_4797(inExpr_2, T59_);
8479 							T60_ = NIM_NIL;
8480 							T60_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
8481 							notExpr = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, T60_);
8482 							T61_ = NIM_NIL;
8483 							T61_ = getSysMagic__magicsys_29((*c).graph, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_109), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96));
8484 							T62_ = NIM_NIL;
8485 							T62_ = newSymNode__ast_3719(T61_, (*n).info);
8486 							add__ast_4797(notExpr, T62_);
8487 							add__ast_4797(notExpr, inExpr_2);
8488 							add__ast_4797((*check), notExpr);
8489 							goto BeforeRet_;
8490 						}
8491 						LA50_: ;
8492 					}
8493 					break;
8494 					default:
8495 					{
8496 						illFormedAst__semdata_1071(it, (*(*c).graph).config);
8497 					}
8498 					break;
8499 					}
8500 					i_4 += ((NI) 1);
8501 				} LA20: ;
8502 			}
8503 		}
8504 	}
8505 	break;
8506 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
8507 	{
8508 		{
8509 			if (!((*(*(*r)._kind_4.sym).name).id == (*field).id)) goto LA67_;
8510 			result = (*r)._kind_4.sym;
8511 		}
8512 		LA67_: ;
8513 	}
8514 	break;
8515 	default:
8516 	{
8517 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
8518 	}
8519 	break;
8520 	}
8521 	}BeforeRet_: ;
8522 	return result;
8523 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,makeDeref__sem_9872)8524 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, makeDeref__sem_9872)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
8525 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8526 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
8527 	result = NIM_NIL;
8528 	t = (*n).typ;
8529 	{
8530 		NIM_BOOL T3_;
8531 		T3_ = (NIM_BOOL)0;
8532 		T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53));
8533 		if (!(T3_)) goto LA4_;
8534 		T3_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0);
8535 		LA4_: ;
8536 		if (!T3_) goto LA5_;
8537 		t = lastSon__ast_3743(t);
8538 	}
8539 	LA5_: ;
8540 	t = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_39);
8541 	result = n;
8542 	{
8543 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA9_;
8544 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n).info, (*t).sons->data[((NI) 0)]);
8545 		add__ast_4797(result, n);
8546 		t = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_39);
8547 	}
8548 	LA9_: ;
8549 	{
8550 		while (1) {
8551 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
8552 			tyObject_TType__facALICuu8zUj0hjvbTLFg* baseTyp;
8553 			if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA12;
8554 			a = result;
8555 			baseTyp = lastSon__ast_3743(t);
8556 			result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n).info, baseTyp);
8557 			add__ast_4797(result, a);
8558 			t = skipTypes__ast_3735(baseTyp, TM__rF9caJawfOjYTjsgLVUSGFA_39);
8559 		} LA12: ;
8560 	}
8561 	return result;
8562 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,builtinFieldAccess__sem_17178)8563 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, builtinFieldAccess__sem_17178)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
8564 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8565 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
8566 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* i;
8567 	tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
8568 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
8569 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* check;
8570 {	result = NIM_NIL;
8571 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
8572 	s = qualifiedLookUp__lookups_1233(c, n, 7);
8573 	{
8574 		if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA3_;
8575 		{
8576 			if (!((1568832 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA7_;
8577 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
8578 			{
8579 				if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA11_;
8580 				result = semSym__sem_16966(c, n, s, flags);
8581 			}
8582 			LA11_: ;
8583 		}
8584 		goto LA5_;
8585 		LA7_: ;
8586 		{
8587 			markUsed__sigmatch_85(c, (*(*n)._kind_6.sons->data[((NI) 1)]).info, s);
8588 			result = semSym__sem_16966(c, n, s, flags);
8589 		}
8590 		LA5_: ;
8591 		goto BeforeRet_;
8592 	}
8593 	LA3_: ;
8594 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], (flags | 516)));
8595 	i = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 1)], n);
8596 	ty = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
8597 	f = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
8598 	result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
8599 	{
8600 		if (!((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA16_;
8601 		{
8602 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T20_;
8603 			T20_ = NIM_NIL;
8604 			T20_ = base__types_63(ty);
8605 			if (!((*T20_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA21_;
8606 			{
8607 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T25_;
8608 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
8609 				T25_ = NIM_NIL;
8610 				T25_ = getCurrOwner__semdata_315(c);
8611 				if (!!(((*T25_).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)))) goto LA26_;
8612 				T28_ = NIM_NIL;
8613 				T28_ = copyTree__ast_4431(n);
8614 				asgnRef((void**) (&(*n).typ), makeTypeFromExpr__semdata_804(c, T28_));
8615 				result = n;
8616 				goto BeforeRet_;
8617 			}
8618 			goto LA23_;
8619 			LA26_: ;
8620 			{
8621 				result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
8622 				goto BeforeRet_;
8623 			}
8624 			LA23_: ;
8625 		}
8626 		goto LA18_;
8627 		LA21_: ;
8628 		{
8629 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T31_;
8630 			T31_ = NIM_NIL;
8631 			T31_ = base__types_63(ty);
8632 			result = tryReadingTypeField__sem_17138(c, n, i, T31_);
8633 			goto BeforeRet_;
8634 		}
8635 		LA18_: ;
8636 	}
8637 	goto LA14_;
8638 	LA16_: ;
8639 	{
8640 		NIM_BOOL T33_;
8641 		T33_ = (NIM_BOOL)0;
8642 		T33_ = isTypeExpr__sem_16750((*n)._kind_6.sons->data[((NI) 0)]);
8643 		if (!T33_) goto LA34_;
8644 		result = tryReadingTypeField__sem_17138(c, n, i, ty);
8645 		goto BeforeRet_;
8646 	}
8647 	goto LA14_;
8648 	LA34_: ;
8649 	{
8650 		if (!((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50))) goto LA37_;
8651 		result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
8652 		goto BeforeRet_;
8653 	}
8654 	goto LA14_;
8655 	LA37_: ;
8656 	LA14_: ;
8657 	{
8658 		NIM_BOOL T41_;
8659 		T41_ = (NIM_BOOL)0;
8660 		T41_ = ((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) || (*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53));
8661 		if (!(T41_)) goto LA42_;
8662 		T41_ = (((*ty).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0);
8663 		LA42_: ;
8664 		if (!T41_) goto LA43_;
8665 		ty = lastSon__ast_3743(ty);
8666 	}
8667 	LA43_: ;
8668 	ty = skipTypes__ast_3735(ty, TM__rF9caJawfOjYTjsgLVUSGFA_106);
8669 	{
8670 		while (1) {
8671 			if (!(((*ty).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 32))&63U)))!=0)) goto LA46;
8672 			ty = skipTypes__ast_3735(ty, TM__rF9caJawfOjYTjsgLVUSGFA_107);
8673 		} LA46: ;
8674 	}
8675 	check = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
8676 	{
8677 		if (!((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA49_;
8678 		{
8679 			while (1) {
8680 				check = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
8681 				f = lookupInRecordAndBuildCheck__sem_16768(c, n, (*ty).n, i, &check);
8682 				{
8683 					if (!!((f == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA55_;
8684 					goto LA51;
8685 				}
8686 				LA55_: ;
8687 				{
8688 					if (!((*ty).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA59_;
8689 					goto LA51;
8690 				}
8691 				LA59_: ;
8692 				ty = skipTypes__ast_3735((*ty).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_53);
8693 			}
8694 		} LA51: ;
8695 		{
8696 			NIM_BOOL visibilityCheckNeeded;
8697 			if (!!((f == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA63_;
8698 			{
8699 				NIM_BOOL T67_;
8700 				T67_ = (NIM_BOOL)0;
8701 				T67_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
8702 				if (!(T67_)) goto LA68_;
8703 				T67_ = ((*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym == f);
8704 				LA68_: ;
8705 				if (!T67_) goto LA69_;
8706 				visibilityCheckNeeded = NIM_FALSE;
8707 			}
8708 			goto LA65_;
8709 			LA69_: ;
8710 			{
8711 				visibilityCheckNeeded = NIM_TRUE;
8712 			}
8713 			LA65_: ;
8714 			{
8715 				NIM_BOOL T74_;
8716 				T74_ = (NIM_BOOL)0;
8717 				T74_ = !(visibilityCheckNeeded);
8718 				if (T74_) goto LA75_;
8719 				T74_ = fieldVisible__sigmatch_4944(c, f);
8720 				LA75_: ;
8721 				if (!T74_) goto LA76_;
8722 				markUsed__sigmatch_85(c, (*(*n)._kind_6.sons->data[((NI) 1)]).info, f);
8723 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), makeDeref__sem_9872((*n)._kind_6.sons->data[((NI) 0)]));
8724 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), newSymNode__ast_3716(f));
8725 				asgnRef((void**) (&(*n).typ), (*f).typ);
8726 				{
8727 					if (!(check == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA80_;
8728 					result = n;
8729 				}
8730 				goto LA78_;
8731 				LA80_: ;
8732 				{
8733 					asgnRef((void**) (&(*check)._kind_6.sons->data[((NI) 0)]), n);
8734 					asgnRef((void**) (&(*check).typ), (*n).typ);
8735 					result = check;
8736 				}
8737 				LA78_: ;
8738 			}
8739 			LA76_: ;
8740 		}
8741 		LA63_: ;
8742 	}
8743 	goto LA47_;
8744 	LA49_: ;
8745 	{
8746 		NIM_BOOL T84_;
8747 		T84_ = (NIM_BOOL)0;
8748 		T84_ = ((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
8749 		if (!(T84_)) goto LA85_;
8750 		T84_ = !(((*ty).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
8751 		LA85_: ;
8752 		if (!T84_) goto LA86_;
8753 		f = getSymFromList__astalgo_245((*ty).n, i, ((NI) 0));
8754 		{
8755 			if (!!((f == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA90_;
8756 			markUsed__sigmatch_85(c, (*(*n)._kind_6.sons->data[((NI) 1)]).info, f);
8757 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), makeDeref__sem_9872((*n)._kind_6.sons->data[((NI) 0)]));
8758 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), newSymNode__ast_3716(f));
8759 			asgnRef((void**) (&(*n).typ), (*f).typ);
8760 			result = n;
8761 		}
8762 		LA90_: ;
8763 	}
8764 	goto LA47_;
8765 	LA86_: ;
8766 	LA47_: ;
8767 	{
8768 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
8769 		if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA94_;
8770 		t = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_105);
8771 		result = tryReadingGenericParam__sem_17124(c, n, i, t);
8772 	}
8773 	LA94_: ;
8774 	}BeforeRet_: ;
8775 	return result;
8776 }
N_INLINE(void,appendChar)8777 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
8778 	(*dest).data[(*dest).Sup.len] = c;
8779 	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
8780 	(*dest).Sup.len += ((NI) 1);
8781 }
N_NIMCALL(void,semOpAux__sem_88)8782 N_LIB_PRIVATE N_NIMCALL(void, semOpAux__sem_88)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
8783 	{
8784 		NI i;
8785 		NI colontmp_;
8786 		NI i_2;
8787 		i = (NI)0;
8788 		colontmp_ = (NI)0;
8789 		colontmp_ = len__ast_3198(n);
8790 		i_2 = ((NI) 1);
8791 		{
8792 			while (1) {
8793 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
8794 				if (!(i_2 < colontmp_)) goto LA3;
8795 				i = i_2;
8796 				a = (*n)._kind_6.sons->data[i];
8797 				{
8798 					NIM_BOOL T6_;
8799 					NI T8_;
8800 					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
8801 					tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T11_;
8802 					T6_ = (NIM_BOOL)0;
8803 					T6_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33));
8804 					if (!(T6_)) goto LA7_;
8805 					T8_ = (NI)0;
8806 					T8_ = len__ast_3198(a);
8807 					T6_ = (T8_ == ((NI) 2));
8808 					LA7_: ;
8809 					if (!T6_) goto LA9_;
8810 					info = (*(*a)._kind_6.sons->data[((NI) 0)]).info;
8811 					T11_ = NIM_NIL;
8812 					T11_ = considerQuotedIdent__lookups_28(c, (*a)._kind_6.sons->data[((NI) 0)], a);
8813 					asgnRef((void**) (&(*a)._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(T11_, info));
8814 					asgnRef((void**) (&(*a)._kind_6.sons->data[((NI) 1)]), semExprWithType__sem_56(c, (*a)._kind_6.sons->data[((NI) 1)], 512));
8815 					asgnRef((void**) (&(*a).typ), (*(*a)._kind_6.sons->data[((NI) 1)]).typ);
8816 				}
8817 				goto LA4_;
8818 				LA9_: ;
8819 				{
8820 					asgnRef((void**) (&(*n)._kind_6.sons->data[i]), semExprWithType__sem_56(c, a, 512));
8821 				}
8822 				LA4_: ;
8823 				i_2 += ((NI) 1);
8824 			} LA3: ;
8825 		}
8826 	}
8827 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,copyExcept__sem_12447)8828 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyExcept__sem_12447)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i) {
8829 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8830 	result = NIM_NIL;
8831 	result = copyNode__ast_4336(n);
8832 	{
8833 		NI j;
8834 		NI colontmp_;
8835 		NI i_2;
8836 		j = (NI)0;
8837 		colontmp_ = (NI)0;
8838 		colontmp_ = len__ast_3198(n);
8839 		i_2 = ((NI) 0);
8840 		{
8841 			while (1) {
8842 				if (!(i_2 < colontmp_)) goto LA3;
8843 				j = i_2;
8844 				{
8845 					if (!!((j == i))) goto LA6_;
8846 					add__ast_4797(result, (*n)._kind_6.sons->data[j]);
8847 				}
8848 				LA6_: ;
8849 				i_2 += ((NI) 1);
8850 			} LA3: ;
8851 		}
8852 	}
8853 	return result;
8854 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplateExpr__sem_519)8855 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) {
8856 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8857 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
8858 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T1_;
8859 	result = NIM_NIL;
8860 	rememberExpansion__semdata_3656(c, (*n).info, s);
8861 	info = getCallLineInfo__sem_2390(n);
8862 	markUsed__sigmatch_85(c, info, s);
8863 	pushInfoContext__msgs_490((*(*c).graph).config, (*n).info, (*(*s).name).s);
8864 	T1_ = NIM_NIL;
8865 	T1_ = getCurrOwner__semdata_315(c);
8866 	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));
8867 	{
8868 		if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 13))&31U)))!=0))) goto LA4_;
8869 		result = semAfterMacroCall__sem_2787(c, n, result, s, flags);
8870 	}
8871 	LA4_: ;
8872 	popInfoContext__msgs_507((*(*c).graph).config);
8873 	(*result).info = info;
8874 	return result;
8875 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semProcAnnotation__sem_12464)8876 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semProcAnnotation__sem_12464)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prc, tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw validPragmas) {
8877 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
8878 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
8879 {	result = NIM_NIL;
8880 	n = (*prc)._kind_6.sons->data[((NI) 4)];
8881 	{
8882 		NIM_BOOL T3_;
8883 		T3_ = (NIM_BOOL)0;
8884 		T3_ = (n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
8885 		if (T3_) goto LA4_;
8886 		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
8887 		LA4_: ;
8888 		if (!T3_) goto LA5_;
8889 		goto BeforeRet_;
8890 	}
8891 	LA5_: ;
8892 	{
8893 		NI i;
8894 		NI colontmp_;
8895 		NI i_2;
8896 		i = (NI)0;
8897 		colontmp_ = (NI)0;
8898 		colontmp_ = len__ast_3198(n);
8899 		i_2 = ((NI) 0);
8900 		{
8901 			while (1) {
8902 				if (!(i_2 < colontmp_)) goto LA9;
8903 				i = i_2;
8904 				{
8905 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
8906 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key;
8907 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
8908 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
8909 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
8910 					it = (*n)._kind_6.sons->data[i];
8911 					{
8912 						NIM_BOOL T13_;
8913 						NI T15_;
8914 						T13_ = (NIM_BOOL)0;
8915 						T13_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28));
8916 						if (!(T13_)) goto LA14_;
8917 						T15_ = (NI)0;
8918 						T15_ = len__ast_3198(it);
8919 						T13_ = (((NI) 1) <= T15_);
8920 						LA14_: ;
8921 						if (!T13_) goto LA16_;
8922 						key = (*it)._kind_6.sons->data[((NI) 0)];
8923 					}
8924 					goto LA11_;
8925 					LA16_: ;
8926 					{
8927 						key = it;
8928 					}
8929 					LA11_: ;
8930 					{
8931 						tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T21_;
8932 						T21_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
8933 						T21_ = whichPragma__trees_244(it);
8934 						if (!!((T21_ == ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 0)))) goto LA22_;
8935 						goto LA10;
8936 					}
8937 					goto LA19_;
8938 					LA22_: ;
8939 					{
8940 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
8941 						ident = considerQuotedIdent__lookups_28(c, key, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
8942 						{
8943 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T27_;
8944 							T27_ = NIM_NIL;
8945 							T27_ = strTableGet__astalgo_3390((*c).userPragmas, ident);
8946 							if (!!((T27_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA28_;
8947 							goto LA10;
8948 						}
8949 						goto LA25_;
8950 						LA28_: ;
8951 						{
8952 							NIM_BOOL amb;
8953 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
8954 							amb = NIM_FALSE;
8955 							sym = searchInScopes__lookups_423(c, ident, (&amb));
8956 							{
8957 								NIM_BOOL T33_;
8958 								T33_ = (NIM_BOOL)0;
8959 								T33_ = !((sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
8960 								if (!(T33_)) goto LA34_;
8961 								T33_ = (((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0);
8962 								LA34_: ;
8963 								if (!T33_) goto LA35_;
8964 								goto LA10;
8965 							}
8966 							LA35_: ;
8967 						}
8968 						LA25_: ;
8969 					}
8970 					LA19_: ;
8971 					x = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*key).info);
8972 					add__ast_4797(x, key);
8973 					{
8974 						NIM_BOOL T39_;
8975 						NI T41_;
8976 						T39_ = (NIM_BOOL)0;
8977 						T39_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28));
8978 						if (!(T39_)) goto LA40_;
8979 						T41_ = (NI)0;
8980 						T41_ = len__ast_3198(it);
8981 						T39_ = (((NI) 1) < T41_);
8982 						LA40_: ;
8983 						if (!T39_) goto LA42_;
8984 						{
8985 							NI i_3;
8986 							NI colontmp__2;
8987 							NI i_4;
8988 							i_3 = (NI)0;
8989 							colontmp__2 = (NI)0;
8990 							colontmp__2 = len__ast_3198(it);
8991 							i_4 = ((NI) 1);
8992 							{
8993 								while (1) {
8994 									if (!(i_4 < colontmp__2)) goto LA46;
8995 									i_3 = i_4;
8996 									add__ast_4797(x, (*it)._kind_6.sons->data[i_3]);
8997 									i_4 += ((NI) 1);
8998 								} LA46: ;
8999 							}
9000 						}
9001 					}
9002 					LA42_: ;
9003 					asgnRef((void**) (&(*prc)._kind_6.sons->data[((NI) 4)]), copyExcept__sem_12447(n, i));
9004 					{
9005 						NIM_BOOL T49_;
9006 						NI T51_;
9007 						T49_ = (NIM_BOOL)0;
9008 						T49_ = !(((*(*prc)._kind_6.sons->data[((NI) 4)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
9009 						if (!(T49_)) goto LA50_;
9010 						T51_ = (NI)0;
9011 						T51_ = len__ast_3198((*prc)._kind_6.sons->data[((NI) 4)]);
9012 						T49_ = (T51_ == ((NI) 0));
9013 						LA50_: ;
9014 						if (!T49_) goto LA52_;
9015 						asgnRef((void**) (&(*prc)._kind_6.sons->data[((NI) 4)]), (*(*c).graph).emptyNode);
9016 					}
9017 					LA52_: ;
9018 					add__ast_4797(x, prc);
9019 					r = semOverloadedCall__sem_2498(c, x, x, 393216, 262144);
9020 					{
9021 						if (!(r == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA56_;
9022 						asgnRef((void**) (&(*prc)._kind_6.sons->data[((NI) 4)]), n);
9023 						goto LA10;
9024 					}
9025 					LA56_: ;
9026 					{
9027 						if (!!(((*(*r)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA60_;
9028 						failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_110));
9029 					}
9030 					LA60_: ;
9031 					m = (*(*r)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
9032 					switch ((*m).kind) {
9033 					case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
9034 					{
9035 						result = semMacroExpr__sem_524(c, r, r, m, 0);
9036 					}
9037 					break;
9038 					case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
9039 					{
9040 						result = semTemplateExpr__sem_519(c, r, m, 0);
9041 					}
9042 					break;
9043 					default:
9044 					{
9045 						asgnRef((void**) (&(*prc)._kind_6.sons->data[((NI) 4)]), n);
9046 						goto LA10;
9047 					}
9048 					break;
9049 					}
9050 					{
9051 						if (!!(!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))))) goto LA67_;
9052 						failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_111));
9053 					}
9054 					LA67_: ;
9055 					{
9056 						NIM_BOOL T71_;
9057 						NIM_BOOL T72_;
9058 						T71_ = (NIM_BOOL)0;
9059 						T72_ = (NIM_BOOL)0;
9060 						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));
9061 						if (!(T72_)) goto LA73_;
9062 						T72_ = ((*(*result)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
9063 						LA73_: ;
9064 						T71_ = T72_;
9065 						if (!(T71_)) goto LA74_;
9066 						T71_ = !(((*(*result)._kind_6.sons->data[((NI) 4)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
9067 						LA74_: ;
9068 						if (!T71_) goto LA75_;
9069 						pragma__pragmas_123(c, (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym, (*result)._kind_6.sons->data[((NI) 4)], validPragmas, NIM_FALSE);
9070 					}
9071 					LA75_: ;
9072 					goto BeforeRet_;
9073 				} LA10: ;
9074 				i_2 += ((NI) 1);
9075 			} LA9: ;
9076 		}
9077 	}
9078 	}BeforeRet_: ;
9079 	return result;
9080 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,newSymG__sem_458)9081 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newSymG__sem_458)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
9082 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
9083 	result = NIM_NIL;
9084 	{
9085 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
9086 		result = (*n)._kind_4.sym;
9087 		{
9088 			tyArray__Re75IspeoxXy2oCZHwcRrA T9_;
9089 			NimStringDesc* T10_;
9090 			if (!!(((*result).kind == kind || (*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 5)))) goto LA7_;
9091 			nimZeroMem((void*)T9_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
9092 			T9_[0] = toHumanStr__ast_5158((*result).kind);
9093 			T9_[1] = toHumanStr__ast_5158(kind);
9094 			T10_ = NIM_NIL;
9095 			T10_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_112), T9_, 2);
9096 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T10_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_113, NIM_FALSE);
9097 		}
9098 		LA7_: ;
9099 		asgnRef((void**) (&(*result).owner), getCurrOwner__semdata_315(c));
9100 	}
9101 	goto LA1_;
9102 	LA3_: ;
9103 	{
9104 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T12_;
9105 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T13_;
9106 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T14_;
9107 		T12_ = NIM_NIL;
9108 		T12_ = considerQuotedIdent__lookups_28(c, n, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
9109 		T13_ = nextSymId__ast_3132((*c).Sup.idgen);
9110 		T14_ = NIM_NIL;
9111 		T14_ = getCurrOwner__semdata_315(c);
9112 		result = newSym__ast_3445(kind, T12_, T13_, T14_, (*n).info, 0);
9113 	}
9114 	LA1_: ;
9115 	return result;
9116 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,semIdentVis__sem_471)9117 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) {
9118 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
9119 	result = NIM_NIL;
9120 	{
9121 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31))) goto LA3_;
9122 		{
9123 			NI T7_;
9124 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* v;
9125 			T7_ = (NI)0;
9126 			T7_ = len__ast_3198(n);
9127 			if (!(T7_ == ((NI) 2))) goto LA8_;
9128 			result = newSymG__sem_458(kind, (*n)._kind_6.sons->data[((NI) 1)], c);
9129 			v = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
9130 			{
9131 				NIM_BOOL T12_;
9132 				T12_ = (NIM_BOOL)0;
9133 				T12_ = ((allowed &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 1))&63U)))!=0);
9134 				if (!(T12_)) goto LA13_;
9135 				T12_ = ((*v).id == ((NI) 72));
9136 				LA13_: ;
9137 				if (!T12_) goto LA14_;
9138 				(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 1)) & 63);
9139 			}
9140 			goto LA10_;
9141 			LA14_: ;
9142 			{
9143 				{
9144 					NimStringDesc* T21_;
9145 					if (!!(((allowed &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 1))&63U)))!=0))) goto LA19_;
9146 					T21_ = NIM_NIL;
9147 					T21_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_115));
9148 					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);
9149 				}
9150 				goto LA17_;
9151 				LA19_: ;
9152 				{
9153 					NimStringDesc* T23_;
9154 					NimStringDesc* T24_;
9155 					T23_ = NIM_NIL;
9156 					T23_ = renderTree__renderer_46((*n)._kind_6.sons->data[((NI) 0)], 0);
9157 					T24_ = NIM_NIL;
9158 					T24_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_117), T23_);
9159 					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);
9160 				}
9161 				LA17_: ;
9162 			}
9163 			LA10_: ;
9164 		}
9165 		goto LA5_;
9166 		LA8_: ;
9167 		{
9168 			illFormedAst__semdata_1071(n, (*(*c).graph).config);
9169 		}
9170 		LA5_: ;
9171 	}
9172 	goto LA1_;
9173 	LA3_: ;
9174 	{
9175 		result = newSymG__sem_458(kind, n, c);
9176 	}
9177 	LA1_: ;
9178 	return result;
9179 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,semIdentWithPragma__sem_476)9180 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) {
9181 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
9182 	result = NIM_NIL;
9183 	{
9184 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA3_;
9185 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
9186 		result = semIdentVis__sem_471(c, kind, (*n)._kind_6.sons->data[((NI) 0)], allowed);
9187 		switch (kind) {
9188 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
9189 		{
9190 		}
9191 		break;
9192 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19):
9193 		{
9194 			pragma__pragmas_123(c, result, (*n)._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_119, NIM_FALSE);
9195 		}
9196 		break;
9197 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8):
9198 		{
9199 			pragma__pragmas_123(c, result, (*n)._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_120, NIM_FALSE);
9200 		}
9201 		break;
9202 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9):
9203 		{
9204 			pragma__pragmas_123(c, result, (*n)._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_120, NIM_FALSE);
9205 		}
9206 		break;
9207 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10):
9208 		{
9209 			pragma__pragmas_123(c, result, (*n)._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_121, NIM_FALSE);
9210 		}
9211 		break;
9212 		default:
9213 		{
9214 		}
9215 		break;
9216 		}
9217 	}
9218 	goto LA1_;
9219 	LA3_: ;
9220 	{
9221 		result = semIdentVis__sem_471(c, kind, n, allowed);
9222 	}
9223 	LA1_: ;
9224 	return result;
9225 }
N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q,getLineInfo__sem_9696)9226 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, getLineInfo__sem_9696)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
9227 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q result;
9228 {	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
9229 	switch ((*n).kind) {
9230 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
9231 	{
9232 		{
9233 			NI T4_;
9234 			T4_ = (NI)0;
9235 			T4_ = len__ast_3198(n);
9236 			if (!(((NI) 1) < T4_)) goto LA5_;
9237 			result = getLineInfo__sem_9696((*n)._kind_6.sons->data[((NI) 1)]);
9238 			goto BeforeRet_;
9239 		}
9240 		LA5_: ;
9241 	}
9242 	break;
9243 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
9244 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
9245 	{
9246 		{
9247 			NI T10_;
9248 			T10_ = (NI)0;
9249 			T10_ = len__ast_3198(n);
9250 			if (!(((NI) 0) < T10_)) goto LA11_;
9251 			result = getLineInfo__sem_9696((*n)._kind_6.sons->data[((NI) 0)]);
9252 			goto BeforeRet_;
9253 		}
9254 		LA11_: ;
9255 	}
9256 	break;
9257 	default:
9258 	{
9259 	}
9260 	break;
9261 	}
9262 	result = (*n).info;
9263 	}BeforeRet_: ;
9264 	return result;
9265 }
N_INLINE(void,suggestSym__sigmatch_5375)9266 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) {
9267 	tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf;
9268 	conf = (*g).config;
9269 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,semIdentDef__sem_9679)9270 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, semIdentDef__sem_9679)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind) {
9271 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
9272 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
9273 	result = NIM_NIL;
9274 	{
9275 		NIM_BOOL T3_;
9276 		T3_ = (NIM_BOOL)0;
9277 		T3_ = isTopLevel__semdata_1091(c);
9278 		if (!T3_) goto LA4_;
9279 		result = semIdentWithPragma__sem_476(c, kind, n, 2);
9280 		(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3)) & 63);
9281 	}
9282 	goto LA1_;
9283 	LA4_: ;
9284 	{
9285 		result = semIdentWithPragma__sem_476(c, kind, n, 0);
9286 		{
9287 			if (!((*(*result).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA9_;
9288 			(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3)) & 63);
9289 		}
9290 		LA9_: ;
9291 	}
9292 	LA1_: ;
9293 	(*result).options = (*(*(*c).graph).config).options;
9294 	info = getLineInfo__sem_9696(n);
9295 	suggestSym__sigmatch_5375((*c).graph, info, result, &(*(*c).graph).usageSym, NIM_TRUE);
9296 	return result;
9297 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semGenericConstraints__sem_6326)9298 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semGenericConstraints__sem_6326)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* x) {
9299 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
9300 	tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T1_;
9301 	result = NIM_NIL;
9302 	T1_ = NIM_NIL;
9303 	T1_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
9304 	asgnRef((void**) (&T1_->data[0]), x);
9305 	result = newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12), T1_);
9306 	return result;
9307 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semGenericParamList__sem_6334)9308 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semGenericParamList__sem_6334)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* father) {
9309 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9310 {	result = NIM_NIL;
9311 	result = copyNode__ast_4336(n);
9312 	{
9313 		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75)))) goto LA3_;
9314 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
9315 		goto BeforeRet_;
9316 	}
9317 	LA3_: ;
9318 	{
9319 		NI i;
9320 		NI colontmp_;
9321 		NI i_2;
9322 		i = (NI)0;
9323 		colontmp_ = (NI)0;
9324 		colontmp_ = len__ast_3198(n);
9325 		i_2 = ((NI) 0);
9326 		{
9327 			while (1) {
9328 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
9329 				if (!(i_2 < colontmp_)) goto LA7;
9330 				i = i_2;
9331 				a = (*n)._kind_6.sons->data[i];
9332 				switch ((*a).kind) {
9333 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
9334 				{
9335 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T17_;
9336 					{
9337 						if (!!((father == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA11_;
9338 						addSonSkipIntLit__magicsys_136(father, (*(*a)._kind_4.sym).typ, (*c).Sup.idgen);
9339 					}
9340 					LA11_: ;
9341 					{
9342 						if (!!((((*(*a)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA15_;
9343 						addDecl__lookups_845(c, (*a)._kind_4.sym);
9344 					}
9345 					LA15_: ;
9346 					T17_ = NIM_NIL;
9347 					T17_ = newSymNode__ast_3716((*a)._kind_4.sym);
9348 					add__ast_4797(result, T17_);
9349 				}
9350 				break;
9351 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35):
9352 				{
9353 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
9354 					NI T19_;
9355 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
9356 					NI T20_;
9357 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
9358 					T19_ = (NI)0;
9359 					T19_ = len__ast_3198(a);
9360 					def = (*a)._kind_6.sons->data[(NI)(T19_ - ((NI) 1))];
9361 					T20_ = (NI)0;
9362 					T20_ = len__ast_3198(a);
9363 					constraint = (*a)._kind_6.sons->data[(NI)(T20_ - ((NI) 2))];
9364 					typ = NIM_NIL;
9365 					{
9366 						if (!!(((*constraint).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA23_;
9367 						typ = semTypeNode__sem_80(c, constraint, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
9368 						{
9369 							NIM_BOOL T27_;
9370 							NI T29_;
9371 							T27_ = (NIM_BOOL)0;
9372 							T27_ = !(((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60)));
9373 							if (T27_) goto LA28_;
9374 							T29_ = (NI)0;
9375 							T29_ = len__ast_4002(typ);
9376 							T27_ = (T29_ == ((NI) 0));
9377 							LA28_: ;
9378 							if (!T27_) goto LA30_;
9379 							{
9380 								if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA34_;
9381 								{
9382 									tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T40_;
9383 									if (!((*(*typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA38_;
9384 									T40_ = NIM_NIL;
9385 									T40_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
9386 									asgnRef((void**) (&T40_->data[0]), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c));
9387 									typ = newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8), T40_);
9388 									(*typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
9389 								}
9390 								LA38_: ;
9391 							}
9392 							goto LA32_;
9393 							LA34_: ;
9394 							{
9395 								typ = semGenericConstraints__sem_6326(c, typ);
9396 							}
9397 							LA32_: ;
9398 						}
9399 						LA30_: ;
9400 					}
9401 					LA23_: ;
9402 					{
9403 						if (!!(((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA44_;
9404 						def = semConstExpr__sem_611(c, def);
9405 						{
9406 							if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA48_;
9407 							{
9408 								tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T54_;
9409 								if (!!(((*(*def).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA52_;
9410 								T54_ = NIM_NIL;
9411 								T54_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
9412 								asgnRef((void**) (&T54_->data[0]), (*def).typ);
9413 								typ = newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), T54_);
9414 							}
9415 							LA52_: ;
9416 						}
9417 						goto LA46_;
9418 						LA48_: ;
9419 						{
9420 							asgnRef((void**) (&(*def).typ), skipTypes__ast_3735((*def).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123));
9421 							{
9422 								NIM_BOOL T58_;
9423 								T58_ = (NIM_BOOL)0;
9424 								T58_ = containsGenericType__types_3360((*def).typ);
9425 								if (!!(T58_)) goto LA59_;
9426 								def = fitNode__sem_70(c, typ, def, (*def).info);
9427 							}
9428 							LA59_: ;
9429 						}
9430 						LA46_: ;
9431 					}
9432 					LA44_: ;
9433 					{
9434 						if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA63_;
9435 						typ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12), c);
9436 						{
9437 							if (!(father == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA67_;
9438 							(*typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30)) & 63);
9439 						}
9440 						LA67_: ;
9441 					}
9442 					LA63_: ;
9443 					(*typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 25)) & 63);
9444 					{
9445 						NI j;
9446 						NI colontmp__2;
9447 						NI T70_;
9448 						NI i_3;
9449 						j = (NI)0;
9450 						colontmp__2 = (NI)0;
9451 						T70_ = (NI)0;
9452 						T70_ = len__ast_3198(a);
9453 						colontmp__2 = (NI)(T70_ - ((NI) 2));
9454 						i_3 = ((NI) 0);
9455 						{
9456 							while (1) {
9457 								tyObject_TType__facALICuu8zUj0hjvbTLFg* finalType;
9458 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* paramName;
9459 								tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw covarianceFlag;
9460 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
9461 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T132_;
9462 								if (!(i_3 < colontmp__2)) goto LA72;
9463 								j = i_3;
9464 								finalType = NIM_NIL;
9465 								{
9466 									if (!(j == ((NI) 0))) goto LA75_;
9467 									finalType = typ;
9468 								}
9469 								goto LA73_;
9470 								LA75_: ;
9471 								{
9472 									tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T78_;
9473 									T78_ = nextTypeId__ast_3151((*c).Sup.idgen);
9474 									finalType = copyType__ast_4046(typ, T78_, (*typ).owner);
9475 									copyTypeProps__modulegraphs_8872((*c).graph, ((NI) ((*(*c).Sup.idgen).module)), finalType, typ);
9476 								}
9477 								LA73_: ;
9478 								paramName = (*a)._kind_6.sons->data[j];
9479 								covarianceFlag = ((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9);
9480 								{
9481 									NI T81_;
9482 									T81_ = (NI)0;
9483 									T81_ = safeLen__ast_3191(paramName);
9484 									if (!(T81_ == ((NI) 2))) goto LA82_;
9485 									{
9486 										NIM_BOOL T86_;
9487 										T86_ = (NIM_BOOL)0;
9488 										T86_ = NIM_TRUE;
9489 										if (T86_) goto LA87_;
9490 										T86_ = eqStrings((*(*(*paramName)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_124));
9491 										LA87_: ;
9492 										if (!T86_) goto LA88_;
9493 										{
9494 											NIM_BOOL T92_;
9495 											NimStringDesc* T96_;
9496 											NimStringDesc* T97_;
9497 											T92_ = (NIM_BOOL)0;
9498 											T92_ = (father == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
9499 											if (T92_) goto LA93_;
9500 											T92_ = !((((*(*father).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0));
9501 											LA93_: ;
9502 											if (!T92_) goto LA94_;
9503 											T96_ = NIM_NIL;
9504 											T96_ = dollar___renderer_2106((*paramName)._kind_6.sons->data[((NI) 0)]);
9505 											T97_ = NIM_NIL;
9506 											T97_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_125), T96_);
9507 											liMessage__msgs_1118((*(*c).graph).config, (*paramName).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T97_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_126, NIM_FALSE);
9508 										}
9509 										LA94_: ;
9510 									}
9511 									LA88_: ;
9512 									{
9513 										if (!eqStrings((*(*(*paramName)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_124))) goto LA100_;
9514 										covarianceFlag = ((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 37);
9515 									}
9516 									goto LA98_;
9517 									LA100_: ;
9518 									{
9519 										covarianceFlag = ((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 35);
9520 									}
9521 									LA98_: ;
9522 									{
9523 										if (!!((father == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA105_;
9524 										(*father).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 35)) & 63);
9525 									}
9526 									LA105_: ;
9527 									paramName = (*paramName)._kind_6.sons->data[((NI) 1)];
9528 								}
9529 								LA82_: ;
9530 								{
9531 									NIM_BOOL T109_;
9532 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T113_;
9533 									T109_ = (NIM_BOOL)0;
9534 									T109_ = ((*finalType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
9535 									if (T109_) goto LA110_;
9536 									T109_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0);
9537 									LA110_: ;
9538 									if (!T109_) goto LA111_;
9539 									T113_ = NIM_NIL;
9540 									T113_ = newSymG__sem_458(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4), paramName, c);
9541 									s = linkTo__ast_3532(T113_, finalType);
9542 								}
9543 								goto LA107_;
9544 								LA111_: ;
9545 								{
9546 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T115_;
9547 									T115_ = NIM_NIL;
9548 									T115_ = newSymG__sem_458(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), paramName, c);
9549 									s = linkTo__ast_3532(T115_, finalType);
9550 								}
9551 								LA107_: ;
9552 								{
9553 									if (!!((covarianceFlag == ((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)))) goto LA118_;
9554 									(*(*s).typ).flags |= ((NU64)1)<<((covarianceFlag) & 63);
9555 								}
9556 								LA118_: ;
9557 								{
9558 									if (!!(((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA122_;
9559 									asgnRef((void**) (&(*s).ast), def);
9560 								}
9561 								LA122_: ;
9562 								(*s).position = len__ast_3198(result);
9563 								{
9564 									if (!!((father == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA126_;
9565 									addSonSkipIntLit__magicsys_136(father, (*s).typ, (*c).Sup.idgen);
9566 								}
9567 								LA126_: ;
9568 								{
9569 									if (!!((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA130_;
9570 									addDecl__lookups_845(c, s);
9571 								}
9572 								LA130_: ;
9573 								T132_ = NIM_NIL;
9574 								T132_ = newSymNode__ast_3716(s);
9575 								add__ast_4797(result, T132_);
9576 								i_3 += ((NI) 1);
9577 							} LA72: ;
9578 						}
9579 					}
9580 				}
9581 				break;
9582 				default:
9583 				{
9584 					illFormedAst__semdata_1071(n, (*(*c).graph).config);
9585 				}
9586 				break;
9587 				}
9588 				i_2 += ((NI) 1);
9589 			} LA7: ;
9590 		}
9591 	}
9592 	}BeforeRet_: ;
9593 	return result;
9594 }
N_NIMCALL(void,setGenericParamsMisc__sem_6510)9595 N_LIB_PRIVATE N_NIMCALL(void, setGenericParamsMisc__sem_6510)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
9596 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig;
9597 	orig = (*n)._kind_6.sons->data[((NI) 2)];
9598 	{
9599 		if (!!(((*orig).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) || (*orig).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75)))) goto LA3_;
9600 		failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_122));
9601 	}
9602 	LA3_: ;
9603 	{
9604 		if (!((*(*n)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA7_;
9605 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75), (*n).info));
9606 	}
9607 	goto LA5_;
9608 	LA7_: ;
9609 	{
9610 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), semGenericParamList__sem_6334(c, orig, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
9611 	}
9612 	LA5_: ;
9613 	{
9614 		tyArray__AB6yfoUgfWM2NtGe9bzkCmw T14_;
9615 		if (!((*(*n)._kind_6.sons->data[((NI) 5)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA12_;
9616 		nimZeroMem((void*)T14_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
9617 		T14_[0] = (*(*c).graph).emptyNode;
9618 		T14_[1] = orig;
9619 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 5)]), newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), T14_, 2));
9620 	}
9621 	goto LA10_;
9622 	LA12_: ;
9623 	{
9624 		asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 5)])._kind_6.sons->data[((NI) 1)]), orig);
9625 	}
9626 	LA10_: ;
9627 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,newProcType__sem_5053)9628 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newProcType__sem_5053)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
9629 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
9630 	tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w* T1_;
9631 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
9632 	result = NIM_NIL;
9633 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25), prev, c);
9634 	T1_ = NIM_NIL;
9635 	T1_ = lastOptionEntry__semdata_341(c);
9636 	(*result).callConv = (*T1_).defaultCC;
9637 	asgnRef((void**) (&(*result).n), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76), info));
9638 	rawAddSon__ast_4288(result, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), NIM_TRUE);
9639 	T2_ = NIM_NIL;
9640 	T2_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), info);
9641 	add__ast_4797((*result).n, T2_);
9642 	return result;
9643 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semParamType__sem_5032)9644 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semParamType__sem_5032)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** constraint) {
9645 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
9646 	result = NIM_NIL;
9647 	{
9648 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40))) goto LA3_;
9649 		result = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
9650 		unsureAsgnRef((void**) (&(*constraint)), semNodeKindConstraints__parampatterns_186(n, (*(*c).graph).config, ((NI) 1)));
9651 	}
9652 	goto LA1_;
9653 	LA3_: ;
9654 	{
9655 		NIM_BOOL T6_;
9656 		NIM_BOOL T7_;
9657 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T10_;
9658 		T6_ = (NIM_BOOL)0;
9659 		T7_ = (NIM_BOOL)0;
9660 		T7_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27));
9661 		if (!(T7_)) goto LA8_;
9662 		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));
9663 		LA8_: ;
9664 		T6_ = T7_;
9665 		if (!(T6_)) goto LA9_;
9666 		T10_ = NIM_NIL;
9667 		T10_ = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
9668 		T6_ = eqStrings((*T10_).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_127));
9669 		LA9_: ;
9670 		if (!T6_) goto LA11_;
9671 		result = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
9672 		unsureAsgnRef((void**) (&(*constraint)), semNodeKindConstraints__parampatterns_186(n, (*(*c).graph).config, ((NI) 2)));
9673 	}
9674 	goto LA1_;
9675 	LA11_: ;
9676 	{
9677 		result = semTypeNode__sem_80(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
9678 	}
9679 	LA1_: ;
9680 	return result;
9681 }
N_NIMCALL(NIM_BOOL,isMagic__sem_5062)9682 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMagic__sem_5062)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
9683 	NIM_BOOL result;
9684 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nPragmas;
9685 {	result = (NIM_BOOL)0;
9686 	nPragmas = (*(*sym).ast)._kind_6.sons->data[((NI) 4)];
9687 	result = hasPragma__pragmas_2498(nPragmas, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 74));
9688 	goto BeforeRet_;
9689 	}BeforeRet_: ;
9690 	return result;
9691 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semGenericStmtSymbol__sem_8131)9692 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) {
9693 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9694 	result = NIM_NIL;
9695 	(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
9696 	switch ((*s).kind) {
9697 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0):
9698 	{
9699 		result = n;
9700 	}
9701 	break;
9702 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12):
9703 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13):
9704 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14):
9705 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
9706 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
9707 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6):
9708 	{
9709 		result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 1), NIM_FALSE);
9710 	}
9711 	break;
9712 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
9713 	{
9714 		{
9715 			NIM_BOOL T6_;
9716 			NIM_BOOL T7_;
9717 			NIM_BOOL T8_;
9718 			NI T11_;
9719 			T6_ = (NIM_BOOL)0;
9720 			T7_ = (NIM_BOOL)0;
9721 			T8_ = (NIM_BOOL)0;
9722 			T8_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0));
9723 			if (!(T8_)) goto LA9_;
9724 			T8_ = ((393216 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
9725 			LA9_: ;
9726 			T7_ = T8_;
9727 			if (!(T7_)) goto LA10_;
9728 			T11_ = (NI)0;
9729 			T11_ = len__ast_4002((*s).typ);
9730 			T7_ = (T11_ == ((NI) 1));
9731 			LA10_: ;
9732 			T6_ = T7_;
9733 			if (!(T6_)) goto LA12_;
9734 			T6_ = !(fromDotExpr);
9735 			LA12_: ;
9736 			if (!T6_) goto LA13_;
9737 			result = semTemplateExpr__sem_519(c, n, s, 8192);
9738 			result = semGenericStmt__sem_8113(c, result, 0, ctx);
9739 		}
9740 		goto LA4_;
9741 		LA13_: ;
9742 		{
9743 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 1), NIM_FALSE);
9744 		}
9745 		LA4_: ;
9746 	}
9747 	break;
9748 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
9749 	{
9750 		{
9751 			NIM_BOOL T19_;
9752 			NIM_BOOL T20_;
9753 			NIM_BOOL T21_;
9754 			NI T24_;
9755 			T19_ = (NIM_BOOL)0;
9756 			T20_ = (NIM_BOOL)0;
9757 			T21_ = (NIM_BOOL)0;
9758 			T21_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0));
9759 			if (!(T21_)) goto LA22_;
9760 			T21_ = ((393216 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
9761 			LA22_: ;
9762 			T20_ = T21_;
9763 			if (!(T20_)) goto LA23_;
9764 			T24_ = (NI)0;
9765 			T24_ = len__ast_4002((*s).typ);
9766 			T20_ = (T24_ == ((NI) 1));
9767 			LA23_: ;
9768 			T19_ = T20_;
9769 			if (!(T19_)) goto LA25_;
9770 			T19_ = !(fromDotExpr);
9771 			LA25_: ;
9772 			if (!T19_) goto LA26_;
9773 			result = semMacroExpr__sem_524(c, n, n, s, 8192);
9774 			result = semGenericStmt__sem_8113(c, result, 0, ctx);
9775 		}
9776 		goto LA17_;
9777 		LA26_: ;
9778 		{
9779 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 1), NIM_FALSE);
9780 		}
9781 		LA17_: ;
9782 	}
9783 	break;
9784 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4):
9785 	{
9786 		{
9787 			NIM_BOOL T32_;
9788 			T32_ = (NIM_BOOL)0;
9789 			T32_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
9790 			if (!(T32_)) goto LA33_;
9791 			T32_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
9792 			LA33_: ;
9793 			if (!T32_) goto LA34_;
9794 			{
9795 				if (!!(((*(*s).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA38_;
9796 				result = (*(*s).typ).n;
9797 			}
9798 			goto LA36_;
9799 			LA38_: ;
9800 			{
9801 				result = n;
9802 			}
9803 			LA36_: ;
9804 		}
9805 		goto LA30_;
9806 		LA34_: ;
9807 		{
9808 			result = newSymNodeTypeDesc__semfold_835(s, (*c).Sup.idgen, (*n).info);
9809 		}
9810 		LA30_: ;
9811 	}
9812 	break;
9813 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
9814 	{
9815 		result = n;
9816 	}
9817 	break;
9818 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
9819 	{
9820 		{
9821 			NIM_BOOL T46_;
9822 			T46_ = (NIM_BOOL)0;
9823 			T46_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
9824 			if (!(T46_)) goto LA47_;
9825 			T46_ = (((*(*s).typ).flags & 100663296) == 0);
9826 			LA47_: ;
9827 			if (!T46_) goto LA48_;
9828 			result = newSymNodeTypeDesc__semfold_835(s, (*c).Sup.idgen, (*n).info);
9829 		}
9830 		goto LA44_;
9831 		LA48_: ;
9832 		{
9833 			result = n;
9834 		}
9835 		LA44_: ;
9836 	}
9837 	break;
9838 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20):
9839 	{
9840 		{
9841 			if (!(((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 15))&31U)))!=0)) goto LA54_;
9842 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 1), NIM_FALSE);
9843 		}
9844 		goto LA52_;
9845 		LA54_: ;
9846 		{
9847 			result = newSymNode__ast_3719(s, (*n).info);
9848 		}
9849 		LA52_: ;
9850 	}
9851 	break;
9852 	default:
9853 	{
9854 		result = newSymNode__ast_3719(s, (*n).info);
9855 	}
9856 	break;
9857 	}
9858 	return result;
9859 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,lookup__sem_8193)9860 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) {
9861 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9862 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
9863 	NIM_BOOL amb;
9864 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
9865 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T1_;
9866 	result = NIM_NIL;
9867 	result = n;
9868 	ident = considerQuotedIdent__lookups_28(c, n, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
9869 	amb = NIM_FALSE;
9870 	T1_ = NIM_NIL;
9871 	T1_ = searchInScopes__lookups_423(c, ident, (&amb));
9872 	s = skipAlias__lookups_118(T1_, n, (*(*c).graph).config);
9873 	{
9874 		if (!(s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA4_;
9875 		s = strTableGet__astalgo_3390((*c).pureEnumFields, ident);
9876 	}
9877 	LA4_: ;
9878 	{
9879 		if (!(s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA8_;
9880 		{
9881 			NIM_BOOL T12_;
9882 			NIM_BOOL T13_;
9883 			T12_ = (NIM_BOOL)0;
9884 			T13_ = (NIM_BOOL)0;
9885 			T13_ = contains__astalgo_3496((&(*ctx).toMixin), (*ident).id);
9886 			T12_ = !(T13_);
9887 			if (!(T12_)) goto LA14_;
9888 			T12_ = !(((flags &((NU8)1<<((NU)(((tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA) 2))&7U)))!=0));
9889 			LA14_: ;
9890 			if (!T12_) goto LA15_;
9891 			errorUndeclaredIdentifier__lookups_1199(c, (*n).info, (*ident).s, ((NimStringDesc*) NIM_NIL));
9892 		}
9893 		LA15_: ;
9894 	}
9895 	goto LA6_;
9896 	LA8_: ;
9897 	{
9898 		{
9899 			NIM_BOOL T20_;
9900 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym2002_;
9901 			T20_ = (NIM_BOOL)0;
9902 			T20_ = ((flags &((NU8)1<<((NU)(((tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA) 0))&7U)))!=0);
9903 			if (T20_) goto LA21_;
9904 			xX60gensym2002_ = s;
9905 			T20_ = contains__astalgo_3496((&(*ctx).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym2002_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym2002_).Sup.itemId.item))));
9906 			LA21_: ;
9907 			if (!T20_) goto LA22_;
9908 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
9909 		}
9910 		goto LA18_;
9911 		LA22_: ;
9912 		{
9913 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sX60gensym2003_;
9914 			NIM_BOOL T25_;
9915 			NIM_BOOL T27_;
9916 			NIM_BOOL T28_;
9917 			sX60gensym2003_ = s;
9918 			T25_ = (NIM_BOOL)0;
9919 			T25_ = contains__astalgo_3496((&(*ctx).toMixin), (*(*sX60gensym2003_).name).id);
9920 			if (T25_) goto LA26_;
9921 			T27_ = (NIM_BOOL)0;
9922 			T28_ = (NIM_BOOL)0;
9923 			T28_ = ((flags &((NU8)1<<((NU)(((tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA) 3))&7U)))!=0);
9924 			if (!(T28_)) goto LA29_;
9925 			T28_ = ((*sX60gensym2003_).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
9926 			LA29_: ;
9927 			T27_ = T28_;
9928 			if (!(T27_)) goto LA30_;
9929 			T27_ = ((OverloadableSyms__ast_3007 &((NU32)1<<((NU)((*sX60gensym2003_).kind)&31U)))!=0);
9930 			LA30_: ;
9931 			T25_ = T27_;
9932 			LA26_: ;
9933 			if (!T25_) goto LA31_;
9934 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 2), NIM_FALSE);
9935 		}
9936 		goto LA18_;
9937 		LA31_: ;
9938 		{
9939 			result = semGenericStmtSymbol__sem_8131(c, n, s, ctx, flags, NIM_FALSE);
9940 		}
9941 		LA18_: ;
9942 	}
9943 	LA6_: ;
9944 	return result;
9945 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newDot__sem_8259)9946 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDot__sem_8259)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
9947 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9948 	result = NIM_NIL;
9949 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), (*n).info);
9950 	add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 0)]);
9951 	add__ast_4797(result, b);
9952 	return result;
9953 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,fuzzyLookup__sem_8272)9954 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) {
9955 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
9956 	tySet_tyEnum_TLookupFlag__ObWMY5GMSl1GiMcrKaAhKQ luf;
9957 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
9958 	result = NIM_NIL;
9959 	{
9960 		if (!!(((flags &((NU8)1<<((NU)(((tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA) 2))&7U)))!=0))) goto LA3_;
9961 		luf = 6;
9962 	}
9963 	goto LA1_;
9964 	LA3_: ;
9965 	{
9966 		luf = 4;
9967 	}
9968 	LA1_: ;
9969 	s = qualifiedLookUp__lookups_1233(c, n, luf);
9970 	{
9971 		if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA8_;
9972 		result = semGenericStmtSymbol__sem_8131(c, n, s, ctx, flags, NIM_FALSE);
9973 	}
9974 	goto LA6_;
9975 	LA8_: ;
9976 	{
9977 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
9978 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
9979 		tySequence__eHqUwlHGGaPw0TDPDeL79cQ* candidates;
9980 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 0)], flags, ctx));
9981 		result = n;
9982 		n_2 = (*n)._kind_6.sons->data[((NI) 1)];
9983 		ident = considerQuotedIdent__lookups_28(c, n_2, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
9984 		candidates = searchInScopesFilterBy__lookups_464(c, ident, 520192);
9985 		{
9986 			NI T13_;
9987 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
9988 			T13_ = (candidates ? candidates->Sup.len : 0);
9989 			if (!(((NI) 0) < T13_)) goto LA14_;
9990 			s_2 = candidates->data[((NI) 0)];
9991 			(*isMacro) = ((393216 &((NU32)1<<((NU)((*s_2).kind)&31U)))!=0);
9992 			{
9993 				NIM_BOOL T18_;
9994 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym2020_;
9995 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
9996 				T18_ = (NIM_BOOL)0;
9997 				T18_ = ((flags &((NU8)1<<((NU)(((tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA) 0))&7U)))!=0);
9998 				if (T18_) goto LA19_;
9999 				xX60gensym2020_ = s_2;
10000 				T18_ = contains__astalgo_3496((&(*ctx).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym2020_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym2020_).Sup.itemId.item))));
10001 				LA19_: ;
10002 				if (!T18_) goto LA20_;
10003 				T22_ = NIM_NIL;
10004 				T22_ = symChoice__sem_6586(c, n_2, s_2, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
10005 				result = newDot__sem_8259(result, T22_);
10006 			}
10007 			goto LA16_;
10008 			LA20_: ;
10009 			{
10010 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sX60gensym2021_;
10011 				NIM_BOOL T24_;
10012 				NIM_BOOL T26_;
10013 				NIM_BOOL T27_;
10014 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T32_;
10015 				sX60gensym2021_ = s_2;
10016 				T24_ = (NIM_BOOL)0;
10017 				T24_ = contains__astalgo_3496((&(*ctx).toMixin), (*(*sX60gensym2021_).name).id);
10018 				if (T24_) goto LA25_;
10019 				T26_ = (NIM_BOOL)0;
10020 				T27_ = (NIM_BOOL)0;
10021 				T27_ = ((flags &((NU8)1<<((NU)(((tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA) 3))&7U)))!=0);
10022 				if (!(T27_)) goto LA28_;
10023 				T27_ = ((*sX60gensym2021_).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
10024 				LA28_: ;
10025 				T26_ = T27_;
10026 				if (!(T26_)) goto LA29_;
10027 				T26_ = ((OverloadableSyms__ast_3007 &((NU32)1<<((NU)((*sX60gensym2021_).kind)&31U)))!=0);
10028 				LA29_: ;
10029 				T24_ = T26_;
10030 				LA25_: ;
10031 				if (!T24_) goto LA30_;
10032 				T32_ = NIM_NIL;
10033 				T32_ = symChoice__sem_6586(c, n_2, s_2, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 2), NIM_FALSE);
10034 				result = newDot__sem_8259(result, T32_);
10035 			}
10036 			goto LA16_;
10037 			LA30_: ;
10038 			{
10039 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* syms;
10040 				syms = semGenericStmtSymbol__sem_8131(c, n_2, s_2, ctx, flags, NIM_TRUE);
10041 				{
10042 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* choice;
10043 					if (!((*syms).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA36_;
10044 					choice = symChoice__sem_6586(c, n_2, s_2, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 2), NIM_FALSE);
10045 					transitionSonsKind__ast_4359(choice, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 56));
10046 					result = newDot__sem_8259(result, choice);
10047 				}
10048 				goto LA34_;
10049 				LA36_: ;
10050 				{
10051 					result = newDot__sem_8259(result, syms);
10052 				}
10053 				LA34_: ;
10054 			}
10055 			LA16_: ;
10056 		}
10057 		LA14_: ;
10058 	}
10059 	LA6_: ;
10060 	return result;
10061 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semMixinStmt__sem_6701)10062 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semMixinStmt__sem_6701)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* toMixin) {
10063 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
10064 	NI count;
10065 	result = NIM_NIL;
10066 	result = copyNode__ast_4336(n);
10067 	count = ((NI) 0);
10068 	{
10069 		NI i;
10070 		NI colontmp_;
10071 		NI i_2;
10072 		i = (NI)0;
10073 		colontmp_ = (NI)0;
10074 		colontmp_ = len__ast_3198(n);
10075 		i_2 = ((NI) 0);
10076 		{
10077 			while (1) {
10078 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T4_;
10079 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
10080 				NI T5_;
10081 				if (!(i_2 < colontmp_)) goto LA3;
10082 				i = i_2;
10083 				T4_ = NIM_NIL;
10084 				T4_ = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[i], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
10085 				incl__pureZcollectionsZintsets_55(toMixin, (*T4_).id);
10086 				x = symChoice__sem_6586(c, (*n)._kind_6.sons->data[i], ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 2), NIM_FALSE);
10087 				T5_ = (NI)0;
10088 				T5_ = len__ast_3198(x);
10089 				count += T5_;
10090 				add__ast_4797(result, x);
10091 				i_2 += ((NI) 1);
10092 			} LA3: ;
10093 		}
10094 	}
10095 	{
10096 		if (!(count == ((NI) 0))) goto LA8_;
10097 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
10098 	}
10099 	LA8_: ;
10100 	return result;
10101 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semBindStmt__sem_6647)10102 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBindStmt__sem_6647)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* toBind) {
10103 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
10104 	result = NIM_NIL;
10105 	result = copyNode__ast_4336(n);
10106 	{
10107 		NI i;
10108 		NI colontmp_;
10109 		NI i_2;
10110 		i = (NI)0;
10111 		colontmp_ = (NI)0;
10112 		colontmp_ = len__ast_3198(n);
10113 		i_2 = ((NI) 0);
10114 		{
10115 			while (1) {
10116 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
10117 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
10118 				if (!(i_2 < colontmp_)) goto LA3;
10119 				i = i_2;
10120 				a = (*n)._kind_6.sons->data[i];
10121 				s = qualifiedLookUp__lookups_1233(c, a, 2);
10122 				{
10123 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sc;
10124 					if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA6_;
10125 					sc = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
10126 					{
10127 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1627_;
10128 						if (!((*sc).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA10_;
10129 						xX60gensym1627_ = (*sc)._kind_4.sym;
10130 						incl__pureZcollectionsZintsets_55(toBind, (NI)((NI)((NU64)(((NI) ((*xX60gensym1627_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1627_).Sup.itemId.item))));
10131 						add__ast_4797(result, sc);
10132 					}
10133 					goto LA8_;
10134 					LA10_: ;
10135 					{
10136 						{
10137 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
10138 							x = NIM_NIL;
10139 							{
10140 								NI i_3;
10141 								NI colontmp__2;
10142 								NI i_4;
10143 								i_3 = (NI)0;
10144 								colontmp__2 = (NI)0;
10145 								colontmp__2 = safeLen__ast_3191(sc);
10146 								i_4 = ((NI) 0);
10147 								{
10148 									while (1) {
10149 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1628_;
10150 										if (!(i_4 < colontmp__2)) goto LA16;
10151 										i_3 = i_4;
10152 										x = (*sc)._kind_6.sons->data[i_3];
10153 										xX60gensym1628_ = (*x)._kind_4.sym;
10154 										incl__pureZcollectionsZintsets_55(toBind, (NI)((NI)((NU64)(((NI) ((*xX60gensym1628_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1628_).Sup.itemId.item))));
10155 										add__ast_4797(result, x);
10156 										i_4 += ((NI) 1);
10157 									} LA16: ;
10158 								}
10159 							}
10160 						}
10161 					}
10162 					LA8_: ;
10163 				}
10164 				goto LA4_;
10165 				LA6_: ;
10166 				{
10167 					illFormedAst__semdata_1071(a, (*(*c).graph).config);
10168 				}
10169 				LA4_: ;
10170 				i_2 += ((NI) 1);
10171 			} LA3: ;
10172 		}
10173 	}
10174 	return result;
10175 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semGenericStmtScope__sem_8118)10176 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) {
10177 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
10178 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
10179 	result = NIM_NIL;
10180 	T1_ = NIM_NIL;
10181 	T1_ = openScope__lookups_69(c);
10182 	result = semGenericStmt__sem_8113(c, n, flags, ctx);
10183 	closeScope__lookups_101(c);
10184 	return result;
10185 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,newSymS__sem_453)10186 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newSymS__sem_453)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
10187 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
10188 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
10189 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
10190 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T3_;
10191 	result = NIM_NIL;
10192 	T1_ = NIM_NIL;
10193 	T1_ = considerQuotedIdent__lookups_28(c, n, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
10194 	T2_ = nextSymId__ast_3132((*c).Sup.idgen);
10195 	T3_ = NIM_NIL;
10196 	T3_ = getCurrOwner__semdata_315(c);
10197 	result = newSym__ast_3445(kind, T1_, T2_, T3_, (*n).info, 0);
10198 	return result;
10199 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getIdentNode__sem_8093)10200 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getIdentNode__sem_8093)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
10201 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
10202 	result = NIM_NIL;
10203 	switch ((*n).kind) {
10204 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
10205 	{
10206 		result = getIdentNode__sem_8093(c, (*n)._kind_6.sons->data[((NI) 1)]);
10207 	}
10208 	break;
10209 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
10210 	{
10211 		result = getIdentNode__sem_8093(c, (*n)._kind_6.sons->data[((NI) 0)]);
10212 	}
10213 	break;
10214 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
10215 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
10216 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
10217 	{
10218 		result = n;
10219 	}
10220 	break;
10221 	default:
10222 	{
10223 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
10224 		result = n;
10225 	}
10226 	break;
10227 	}
10228 	return result;
10229 }
N_NIMCALL(void,addTempDecl__sem_8354)10230 N_LIB_PRIVATE N_NIMCALL(void, addTempDecl__sem_8354)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind) {
10231 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
10232 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
10233 	T1_ = NIM_NIL;
10234 	T1_ = getIdentNode__sem_8093(c, n);
10235 	s = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0), T1_, c);
10236 	addPrelimDecl__lookups_848(c, s);
10237 	{
10238 		NIM_BOOL T4_;
10239 		T4_ = (NIM_BOOL)0;
10240 		T4_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
10241 		if (!(T4_)) goto LA5_;
10242 		T4_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
10243 		LA5_: ;
10244 		if (!T4_) goto LA6_;
10245 		nep1CheckDefImpl__linter_110((*(*c).graph).config, (*n).info, s, kind);
10246 	}
10247 	LA6_: ;
10248 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semGenericStmt__sem_8113)10249 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) {
10250 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
10251 	result = NIM_NIL;
10252 	result = n;
10253 	switch ((*n).kind) {
10254 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
10255 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
10256 	{
10257 		result = lookup__sem_8193(c, n, flags, ctx);
10258 		{
10259 			NIM_BOOL T4_;
10260 			T4_ = (NIM_BOOL)0;
10261 			T4_ = !((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
10262 			if (!(T4_)) goto LA5_;
10263 			T4_ = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
10264 			LA5_: ;
10265 			if (!T4_) goto LA6_;
10266 			markUsed__sigmatch_85(c, (*n).info, (*result)._kind_4.sym);
10267 		}
10268 		LA6_: ;
10269 	}
10270 	break;
10271 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
10272 	{
10273 		NIM_BOOL dummy;
10274 		dummy = (NIM_BOOL)0;
10275 		result = fuzzyLookup__sem_8272(c, n, flags, ctx, (&dummy));
10276 	}
10277 	break;
10278 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
10279 	{
10280 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a;
10281 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b;
10282 		a = (*n)._kind_4.sym;
10283 		b = getGenSym__semdata_408(c, a);
10284 		{
10285 			if (!!((b == a))) goto LA12_;
10286 			asgnRef((void**) (&(*n)._kind_4.sym), b);
10287 		}
10288 		LA12_: ;
10289 	}
10290 	break;
10291 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
10292 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
10293 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24):
10294 	{
10295 	}
10296 	break;
10297 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 55):
10298 	{
10299 		result = semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 0)], (flags | 1), ctx);
10300 	}
10301 	break;
10302 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
10303 	{
10304 		result = semMixinStmt__sem_6701(c, n, (&(*ctx).toMixin));
10305 	}
10306 	break;
10307 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
10308 	{
10309 		result = semBindStmt__sem_6647(c, n, (&(*ctx).toBind));
10310 	}
10311 	break;
10312 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27):
10313 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
10314 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29):
10315 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30):
10316 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26):
10317 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28):
10318 	{
10319 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fn;
10320 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
10321 		NI first;
10322 		NIM_BOOL mixinContext;
10323 		tySet_tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA flags_2;
10324 		checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
10325 		fn = (*n)._kind_6.sons->data[((NI) 0)];
10326 		s = qualifiedLookUp__lookups_1233(c, fn, 0);
10327 		{
10328 			NIM_BOOL T21_;
10329 			NIM_BOOL T22_;
10330 			NIM_BOOL T23_;
10331 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T27_;
10332 			NIM_BOOL T28_;
10333 			NimStringDesc* T31_;
10334 			T21_ = (NIM_BOOL)0;
10335 			T22_ = (NIM_BOOL)0;
10336 			T23_ = (NIM_BOOL)0;
10337 			T23_ = (s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
10338 			if (!(T23_)) goto LA24_;
10339 			T23_ = ((12 & flags) == 0);
10340 			LA24_: ;
10341 			T22_ = T23_;
10342 			if (!(T22_)) goto LA25_;
10343 			T22_ = ((*fn).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2) || (*fn).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53));
10344 			LA25_: ;
10345 			T21_ = T22_;
10346 			if (!(T21_)) goto LA26_;
10347 			T27_ = NIM_NIL;
10348 			T27_ = considerQuotedIdent__lookups_28(c, fn, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
10349 			T28_ = (NIM_BOOL)0;
10350 			T28_ = contains__astalgo_3496((&(*ctx).toMixin), (*T27_).id);
10351 			T21_ = !(T28_);
10352 			LA26_: ;
10353 			if (!T21_) goto LA29_;
10354 			T31_ = NIM_NIL;
10355 			T31_ = renderTree__renderer_46(fn, 0);
10356 			errorUndeclaredIdentifier__lookups_1199(c, (*n).info, T31_, ((NimStringDesc*) NIM_NIL));
10357 		}
10358 		LA29_: ;
10359 		first = ((flags &((NU8)1<<((NU)(((tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA) 3))&7U)))!=0);
10360 		mixinContext = NIM_FALSE;
10361 		{
10362 			tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA whichChoice;
10363 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sc;
10364 			if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA34_;
10365 			(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
10366 			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));
10367 			{
10368 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym2045_;
10369 				NIM_BOOL T38_;
10370 				xX60gensym2045_ = s;
10371 				T38_ = (NIM_BOOL)0;
10372 				T38_ = contains__astalgo_3496((&(*ctx).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym2045_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym2045_).Sup.itemId.item))));
10373 				if (!T38_) goto LA39_;
10374 				whichChoice = ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0);
10375 			}
10376 			goto LA36_;
10377 			LA39_: ;
10378 			{
10379 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sX60gensym2046_;
10380 				NIM_BOOL T42_;
10381 				NIM_BOOL T44_;
10382 				NIM_BOOL T45_;
10383 				sX60gensym2046_ = s;
10384 				T42_ = (NIM_BOOL)0;
10385 				T42_ = contains__astalgo_3496((&(*ctx).toMixin), (*(*sX60gensym2046_).name).id);
10386 				if (T42_) goto LA43_;
10387 				T44_ = (NIM_BOOL)0;
10388 				T45_ = (NIM_BOOL)0;
10389 				T45_ = ((flags &((NU8)1<<((NU)(((tyEnum_TSemGenericFlag__awL4DUaf8OhTzyAenbxDoA) 3))&7U)))!=0);
10390 				if (!(T45_)) goto LA46_;
10391 				T45_ = ((*sX60gensym2046_).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
10392 				LA46_: ;
10393 				T44_ = T45_;
10394 				if (!(T44_)) goto LA47_;
10395 				T44_ = ((OverloadableSyms__ast_3007 &((NU32)1<<((NU)((*sX60gensym2046_).kind)&31U)))!=0);
10396 				LA47_: ;
10397 				T42_ = T44_;
10398 				LA43_: ;
10399 				if (!T42_) goto LA48_;
10400 				whichChoice = ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 2);
10401 			}
10402 			goto LA36_;
10403 			LA48_: ;
10404 			{
10405 				whichChoice = ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 1);
10406 			}
10407 			LA36_: ;
10408 			sc = symChoice__sem_6586(c, fn, s, whichChoice, NIM_FALSE);
10409 			switch ((*s).kind) {
10410 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
10411 			{
10412 				{
10413 					NIM_BOOL T54_;
10414 					NIM_BOOL T55_;
10415 					NIM_BOOL T57_;
10416 					NI T58_;
10417 					NI T61_;
10418 					T54_ = (NIM_BOOL)0;
10419 					T55_ = (NIM_BOOL)0;
10420 					T55_ = ((393216 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
10421 					if (!(T55_)) goto LA56_;
10422 					T57_ = (NIM_BOOL)0;
10423 					T58_ = (NI)0;
10424 					T58_ = len__ast_4002((*s).typ);
10425 					T57_ = (T58_ == ((NI) 1));
10426 					if (T57_) goto LA59_;
10427 					T57_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 9))&63U)))!=0);
10428 					LA59_: ;
10429 					T55_ = T57_;
10430 					LA56_: ;
10431 					T54_ = T55_;
10432 					if (!(T54_)) goto LA60_;
10433 					T61_ = (NI)0;
10434 					T61_ = safeLen__ast_3191(sc);
10435 					T54_ = (T61_ <= ((NI) 1));
10436 					LA60_: ;
10437 					if (!T54_) goto LA62_;
10438 					result = semMacroExpr__sem_524(c, n, n, s, 8192);
10439 					result = semGenericStmt__sem_8113(c, result, flags, ctx);
10440 				}
10441 				goto LA52_;
10442 				LA62_: ;
10443 				{
10444 					asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), sc);
10445 					result = n;
10446 				}
10447 				LA52_: ;
10448 				mixinContext = NIM_TRUE;
10449 			}
10450 			break;
10451 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
10452 			{
10453 				{
10454 					NIM_BOOL T68_;
10455 					NIM_BOOL T69_;
10456 					NIM_BOOL T71_;
10457 					NI T72_;
10458 					NI T75_;
10459 					T68_ = (NIM_BOOL)0;
10460 					T69_ = (NIM_BOOL)0;
10461 					T69_ = ((393216 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
10462 					if (!(T69_)) goto LA70_;
10463 					T71_ = (NIM_BOOL)0;
10464 					T72_ = (NI)0;
10465 					T72_ = len__ast_4002((*s).typ);
10466 					T71_ = (T72_ == ((NI) 1));
10467 					if (T71_) goto LA73_;
10468 					T71_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 9))&63U)))!=0);
10469 					LA73_: ;
10470 					T69_ = T71_;
10471 					LA70_: ;
10472 					T68_ = T69_;
10473 					if (!(T68_)) goto LA74_;
10474 					T75_ = (NI)0;
10475 					T75_ = safeLen__ast_3191(sc);
10476 					T68_ = (T75_ <= ((NI) 1));
10477 					LA74_: ;
10478 					if (!T68_) goto LA76_;
10479 					result = semTemplateExpr__sem_519(c, n, s, 8192);
10480 					result = semGenericStmt__sem_8113(c, result, flags, ctx);
10481 				}
10482 				goto LA66_;
10483 				LA76_: ;
10484 				{
10485 					asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), sc);
10486 					result = n;
10487 				}
10488 				LA66_: ;
10489 				mixinContext = NIM_TRUE;
10490 			}
10491 			break;
10492 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0):
10493 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
10494 			{
10495 			}
10496 			break;
10497 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12):
10498 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13):
10499 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14):
10500 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
10501 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
10502 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6):
10503 			{
10504 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), sc);
10505 				first = ((NI) 1);
10506 				{
10507 					if (!((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 267))) goto LA83_;
10508 					first = safeLen__ast_3191(result);
10509 				}
10510 				LA83_: ;
10511 			}
10512 			break;
10513 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4):
10514 			{
10515 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNodeTypeDesc__semfold_835(s, (*c).Sup.idgen, (*fn).info));
10516 				first = ((NI) 1);
10517 			}
10518 			break;
10519 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
10520 			{
10521 				{
10522 					NIM_BOOL T89_;
10523 					T89_ = (NIM_BOOL)0;
10524 					T89_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
10525 					if (!(T89_)) goto LA90_;
10526 					T89_ = !(((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
10527 					LA90_: ;
10528 					if (!T89_) goto LA91_;
10529 					asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNodeTypeDesc__semfold_835(s, (*c).Sup.idgen, (*fn).info));
10530 					first = ((NI) 1);
10531 				}
10532 				LA91_: ;
10533 			}
10534 			break;
10535 			default:
10536 			{
10537 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(s, (*fn).info));
10538 				first = ((NI) 1);
10539 			}
10540 			break;
10541 			}
10542 		}
10543 		goto LA32_;
10544 		LA34_: ;
10545 		{
10546 			if (!((*fn).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA95_;
10547 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), fuzzyLookup__sem_8272(c, fn, flags, ctx, (&mixinContext)));
10548 			first = ((NI) 1);
10549 		}
10550 		goto LA32_;
10551 		LA95_: ;
10552 		LA32_: ;
10553 		{
10554 			if (!mixinContext) goto LA99_;
10555 			flags_2 = (flags | 4);
10556 		}
10557 		goto LA97_;
10558 		LA99_: ;
10559 		{
10560 			flags_2 = flags;
10561 		}
10562 		LA97_: ;
10563 		{
10564 			NI i;
10565 			NI colontmp_;
10566 			NI i_2;
10567 			i = (NI)0;
10568 			colontmp_ = (NI)0;
10569 			colontmp_ = safeLen__ast_3191(result);
10570 			i_2 = first;
10571 			{
10572 				while (1) {
10573 					if (!(i_2 < colontmp_)) goto LA104;
10574 					i = i_2;
10575 					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), semGenericStmt__sem_8113(c, (*result)._kind_6.sons->data[i], flags_2, ctx));
10576 					i_2 += ((NI) 1);
10577 				} LA104: ;
10578 			}
10579 		}
10580 	}
10581 	break;
10582 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
10583 	{
10584 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T106_;
10585 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T107_;
10586 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
10587 		T106_ = NIM_NIL;
10588 		T106_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_127));
10589 		T107_ = NIM_NIL;
10590 		T107_ = newIdentNode__ast_3712(T106_, (*n).info);
10591 		add__ast_4797(result, T107_);
10592 		{
10593 			NI i_3;
10594 			NI colontmp__2;
10595 			NI i_4;
10596 			i_3 = (NI)0;
10597 			colontmp__2 = (NI)0;
10598 			colontmp__2 = len__ast_3198(n);
10599 			i_4 = ((NI) 0);
10600 			{
10601 				while (1) {
10602 					if (!(i_4 < colontmp__2)) goto LA110;
10603 					i_3 = i_4;
10604 					add__ast_4797(result, (*n)._kind_6.sons->data[i_3]);
10605 					i_4 += ((NI) 1);
10606 				} LA110: ;
10607 			}
10608 		}
10609 		result = semGenericStmt__sem_8113(c, result, flags, ctx);
10610 	}
10611 	break;
10612 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
10613 	{
10614 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T112_;
10615 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T113_;
10616 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
10617 		T112_ = NIM_NIL;
10618 		T112_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_27));
10619 		T113_ = NIM_NIL;
10620 		T113_ = newIdentNode__ast_3712(T112_, (*n).info);
10621 		add__ast_4797(result, T113_);
10622 		{
10623 			NI i_5;
10624 			NI colontmp__3;
10625 			NI i_6;
10626 			i_5 = (NI)0;
10627 			colontmp__3 = (NI)0;
10628 			colontmp__3 = len__ast_3198(n);
10629 			i_6 = ((NI) 0);
10630 			{
10631 				while (1) {
10632 					if (!(i_6 < colontmp__3)) goto LA116;
10633 					i_5 = i_6;
10634 					add__ast_4797(result, (*n)._kind_6.sons->data[i_5]);
10635 					i_6 += ((NI) 1);
10636 				} LA116: ;
10637 			}
10638 		}
10639 		result = semGenericStmt__sem_8113(c, result, flags, ctx);
10640 	}
10641 	break;
10642 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
10643 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
10644 	{
10645 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
10646 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b_2;
10647 		tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw k;
10648 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
10649 		a_2 = (*n)._kind_6.sons->data[((NI) 0)];
10650 		b_2 = (*n)._kind_6.sons->data[((NI) 1)];
10651 		k = (*a_2).kind;
10652 		switch (k) {
10653 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
10654 		{
10655 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T119_;
10656 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T120_;
10657 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
10658 			T119_ = NIM_NIL;
10659 			T119_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_131));
10660 			T120_ = NIM_NIL;
10661 			T120_ = newIdentNode__ast_3712(T119_, (*n).info);
10662 			add__ast_4797(result, T120_);
10663 			{
10664 				NI i_7;
10665 				NI colontmp__4;
10666 				NI i_8;
10667 				i_7 = (NI)0;
10668 				colontmp__4 = (NI)0;
10669 				colontmp__4 = len__ast_3198(a_2);
10670 				i_8 = ((NI) 0);
10671 				{
10672 					while (1) {
10673 						if (!(i_8 < colontmp__4)) goto LA123;
10674 						i_7 = i_8;
10675 						add__ast_4797(result, (*a_2)._kind_6.sons->data[i_7]);
10676 						i_8 += ((NI) 1);
10677 					} LA123: ;
10678 				}
10679 			}
10680 			add__ast_4797(result, b_2);
10681 			result = semGenericStmt__sem_8113(c, result, flags, ctx);
10682 		}
10683 		break;
10684 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
10685 		{
10686 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T125_;
10687 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T126_;
10688 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
10689 			T125_ = NIM_NIL;
10690 			T125_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_132));
10691 			T126_ = NIM_NIL;
10692 			T126_ = newIdentNode__ast_3712(T125_, (*n).info);
10693 			add__ast_4797(result, T126_);
10694 			{
10695 				NI i_9;
10696 				NI colontmp__5;
10697 				NI i_10;
10698 				i_9 = (NI)0;
10699 				colontmp__5 = (NI)0;
10700 				colontmp__5 = len__ast_3198(a_2);
10701 				i_10 = ((NI) 0);
10702 				{
10703 					while (1) {
10704 						if (!(i_10 < colontmp__5)) goto LA129;
10705 						i_9 = i_10;
10706 						add__ast_4797(result, (*a_2)._kind_6.sons->data[i_9]);
10707 						i_10 += ((NI) 1);
10708 					} LA129: ;
10709 				}
10710 			}
10711 			add__ast_4797(result, b_2);
10712 			result = semGenericStmt__sem_8113(c, result, flags, ctx);
10713 		}
10714 		break;
10715 		default:
10716 		{
10717 			{
10718 				NI i_11;
10719 				NI colontmp__6;
10720 				NI i_12;
10721 				i_11 = (NI)0;
10722 				colontmp__6 = (NI)0;
10723 				colontmp__6 = len__ast_3198(n);
10724 				i_12 = ((NI) 0);
10725 				{
10726 					while (1) {
10727 						if (!(i_12 < colontmp__6)) goto LA133;
10728 						i_11 = i_12;
10729 						asgnRef((void**) (&(*result)._kind_6.sons->data[i_11]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[i_11], flags, ctx));
10730 						i_12 += ((NI) 1);
10731 					} LA133: ;
10732 				}
10733 			}
10734 		}
10735 		break;
10736 		}
10737 	}
10738 	break;
10739 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
10740 	{
10741 		{
10742 			NI i_13;
10743 			NI colontmp__7;
10744 			NI i_14;
10745 			i_13 = (NI)0;
10746 			colontmp__7 = (NI)0;
10747 			colontmp__7 = len__ast_3198(n);
10748 			i_14 = ((NI) 0);
10749 			{
10750 				while (1) {
10751 					if (!(i_14 < colontmp__7)) goto LA137;
10752 					i_13 = i_14;
10753 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_13]), semGenericStmtScope__sem_8118(c, (*n)._kind_6.sons->data[i_13], flags, ctx));
10754 					i_14 += ((NI) 1);
10755 				} LA137: ;
10756 			}
10757 		}
10758 	}
10759 	break;
10760 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
10761 	{
10762 		{
10763 			NI i_15;
10764 			NI colontmp__8;
10765 			NI i_16;
10766 			i_15 = (NI)0;
10767 			colontmp__8 = (NI)0;
10768 			colontmp__8 = len__ast_3198(n);
10769 			i_16 = ((NI) 0);
10770 			{
10771 				while (1) {
10772 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
10773 					if (!(i_16 < colontmp__8)) goto LA141;
10774 					i_15 = i_16;
10775 					it = (*n)._kind_6.sons->data[i_15];
10776 					{
10777 						if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86))) goto LA144_;
10778 						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));
10779 						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));
10780 					}
10781 					goto LA142_;
10782 					LA144_: ;
10783 					{
10784 						asgnRef((void**) (&(*n)._kind_6.sons->data[i_15]), semGenericStmt__sem_8113(c, it, (flags | 4), ctx));
10785 					}
10786 					LA142_: ;
10787 					i_16 += ((NI) 1);
10788 				} LA141: ;
10789 			}
10790 		}
10791 	}
10792 	break;
10793 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
10794 	{
10795 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T148_;
10796 		T148_ = NIM_NIL;
10797 		T148_ = openScope__lookups_69(c);
10798 		{
10799 			NI i_17;
10800 			NI colontmp__9;
10801 			NI i_18;
10802 			i_17 = (NI)0;
10803 			colontmp__9 = (NI)0;
10804 			colontmp__9 = len__ast_3198(n);
10805 			i_18 = ((NI) 0);
10806 			{
10807 				while (1) {
10808 					if (!(i_18 < colontmp__9)) goto LA151;
10809 					i_17 = i_18;
10810 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_17]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[i_17], flags, ctx));
10811 					i_18 += ((NI) 1);
10812 				} LA151: ;
10813 			}
10814 		}
10815 		closeScope__lookups_101(c);
10816 	}
10817 	break;
10818 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
10819 	{
10820 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T153_;
10821 		T153_ = NIM_NIL;
10822 		T153_ = openScope__lookups_69(c);
10823 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 0)], flags, ctx));
10824 		{
10825 			NI i_19;
10826 			NI colontmp__10;
10827 			NI i_20;
10828 			i_19 = (NI)0;
10829 			colontmp__10 = (NI)0;
10830 			colontmp__10 = len__ast_3198(n);
10831 			i_20 = ((NI) 1);
10832 			{
10833 				while (1) {
10834 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_3;
10835 					NI T161_;
10836 					NI T162_;
10837 					if (!(i_20 < colontmp__10)) goto LA156;
10838 					i_19 = i_20;
10839 					a_3 = (*n)._kind_6.sons->data[i_19];
10840 					checkMinSonsLen__semdata_1084(a_3, ((NI) 1), (*(*c).graph).config);
10841 					{
10842 						NI j;
10843 						NI colontmp__11;
10844 						NI T158_;
10845 						NI i_21;
10846 						j = (NI)0;
10847 						colontmp__11 = (NI)0;
10848 						T158_ = (NI)0;
10849 						T158_ = len__ast_3198(a_3);
10850 						colontmp__11 = (NI)(T158_ - ((NI) 1));
10851 						i_21 = ((NI) 0);
10852 						{
10853 							while (1) {
10854 								if (!(i_21 < colontmp__11)) goto LA160;
10855 								j = i_21;
10856 								asgnRef((void**) (&(*a_3)._kind_6.sons->data[j]), semGenericStmt__sem_8113(c, (*a_3)._kind_6.sons->data[j], flags, ctx));
10857 								i_21 += ((NI) 1);
10858 							} LA160: ;
10859 						}
10860 					}
10861 					T161_ = (NI)0;
10862 					T161_ = len__ast_3198(a_3);
10863 					T162_ = (NI)0;
10864 					T162_ = len__ast_3198(a_3);
10865 					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));
10866 					i_20 += ((NI) 1);
10867 				} LA156: ;
10868 			}
10869 		}
10870 		closeScope__lookups_101(c);
10871 	}
10872 	break;
10873 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
10874 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
10875 	{
10876 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T164_;
10877 		NI T165_;
10878 		NI T166_;
10879 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T184_;
10880 		NI T185_;
10881 		NI T186_;
10882 		T164_ = NIM_NIL;
10883 		T164_ = openScope__lookups_69(c);
10884 		T165_ = (NI)0;
10885 		T165_ = len__ast_3198(n);
10886 		T166_ = (NI)0;
10887 		T166_ = len__ast_3198(n);
10888 		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));
10889 		{
10890 			NI i_22;
10891 			NI colontmp__12;
10892 			NI T168_;
10893 			NI i_23;
10894 			i_22 = (NI)0;
10895 			colontmp__12 = (NI)0;
10896 			T168_ = (NI)0;
10897 			T168_ = len__ast_3198(n);
10898 			colontmp__12 = (NI)(T168_ - ((NI) 2));
10899 			i_23 = ((NI) 0);
10900 			{
10901 				while (1) {
10902 					if (!(i_23 < colontmp__12)) goto LA170;
10903 					i_22 = i_23;
10904 					{
10905 						if (!((*(*n)._kind_6.sons->data[i_22]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA173_;
10906 						{
10907 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s_2;
10908 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__13;
10909 							s_2 = NIM_NIL;
10910 							colontmp__13 = NIM_NIL;
10911 							colontmp__13 = (*n)._kind_6.sons->data[i_22];
10912 							{
10913 								NI i_24;
10914 								NI colontmp__14;
10915 								NI i_25;
10916 								i_24 = (NI)0;
10917 								colontmp__14 = (NI)0;
10918 								colontmp__14 = safeLen__ast_3191(colontmp__13);
10919 								i_25 = ((NI) 0);
10920 								{
10921 									while (1) {
10922 										if (!(i_25 < colontmp__14)) goto LA178;
10923 										i_24 = i_25;
10924 										s_2 = (*colontmp__13)._kind_6.sons->data[i_24];
10925 										{
10926 											if (!((*s_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA181_;
10927 											addTempDecl__sem_8354(c, s_2, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21));
10928 										}
10929 										LA181_: ;
10930 										i_25 += ((NI) 1);
10931 									} LA178: ;
10932 								}
10933 							}
10934 						}
10935 					}
10936 					goto LA171_;
10937 					LA173_: ;
10938 					{
10939 						addTempDecl__sem_8354(c, (*n)._kind_6.sons->data[i_22], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21));
10940 					}
10941 					LA171_: ;
10942 					i_23 += ((NI) 1);
10943 				} LA170: ;
10944 			}
10945 		}
10946 		T184_ = NIM_NIL;
10947 		T184_ = openScope__lookups_69(c);
10948 		T185_ = (NI)0;
10949 		T185_ = len__ast_3198(n);
10950 		T186_ = (NI)0;
10951 		T186_ = len__ast_3198(n);
10952 		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));
10953 		closeScope__lookups_101(c);
10954 		closeScope__lookups_101(c);
10955 	}
10956 	break;
10957 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
10958 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
10959 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 129):
10960 	{
10961 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T188_;
10962 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
10963 		T188_ = NIM_NIL;
10964 		T188_ = openScope__lookups_69(c);
10965 		{
10966 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA191_;
10967 			addTempDecl__sem_8354(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 22));
10968 		}
10969 		LA191_: ;
10970 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 1)], flags, ctx));
10971 		closeScope__lookups_101(c);
10972 	}
10973 	break;
10974 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
10975 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
10976 	{
10977 		checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
10978 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semGenericStmtScope__sem_8118(c, (*n)._kind_6.sons->data[((NI) 0)], flags, ctx));
10979 		{
10980 			NI i_26;
10981 			NI colontmp__15;
10982 			NI i_27;
10983 			i_26 = (NI)0;
10984 			colontmp__15 = (NI)0;
10985 			colontmp__15 = len__ast_3198(n);
10986 			i_27 = ((NI) 1);
10987 			{
10988 				while (1) {
10989 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_4;
10990 					tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T197_;
10991 					NI T209_;
10992 					NI T210_;
10993 					if (!(i_27 < colontmp__15)) goto LA196;
10994 					i_26 = i_27;
10995 					a_4 = (*n)._kind_6.sons->data[i_26];
10996 					checkMinSonsLen__semdata_1084(a_4, ((NI) 1), (*(*c).graph).config);
10997 					T197_ = NIM_NIL;
10998 					T197_ = openScope__lookups_69(c);
10999 					{
11000 						NI j_2;
11001 						NI colontmp__16;
11002 						NI T199_;
11003 						NI i_28;
11004 						j_2 = (NI)0;
11005 						colontmp__16 = (NI)0;
11006 						T199_ = (NI)0;
11007 						T199_ = len__ast_3198(a_4);
11008 						colontmp__16 = (NI)(T199_ - ((NI) 1));
11009 						i_28 = ((NI) 0);
11010 						{
11011 							while (1) {
11012 								if (!(i_28 < colontmp__16)) goto LA201;
11013 								j_2 = i_28;
11014 								{
11015 									NIM_BOOL T204_;
11016 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T207_;
11017 									T204_ = (NIM_BOOL)0;
11018 									T204_ = isInfixAs__ast_4935((*a_4)._kind_6.sons->data[j_2]);
11019 									if (!T204_) goto LA205_;
11020 									T207_ = NIM_NIL;
11021 									T207_ = getIdentNode__sem_8093(c, (*(*a_4)._kind_6.sons->data[j_2])._kind_6.sons->data[((NI) 2)]);
11022 									addTempDecl__sem_8354(c, T207_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9));
11023 									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));
11024 								}
11025 								goto LA202_;
11026 								LA205_: ;
11027 								{
11028 									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));
11029 								}
11030 								LA202_: ;
11031 								i_28 += ((NI) 1);
11032 							} LA201: ;
11033 						}
11034 					}
11035 					T209_ = (NI)0;
11036 					T209_ = len__ast_3198(a_4);
11037 					T210_ = (NI)0;
11038 					T210_ = len__ast_3198(a_4);
11039 					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));
11040 					closeScope__lookups_101(c);
11041 					i_27 += ((NI) 1);
11042 				} LA196: ;
11043 			}
11044 		}
11045 	}
11046 	break;
11047 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
11048 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
11049 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
11050 	{
11051 		tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw varKind;
11052 		switch ((*n).kind) {
11053 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
11054 		{
11055 			varKind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8);
11056 		}
11057 		break;
11058 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
11059 		{
11060 			varKind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9);
11061 		}
11062 		break;
11063 		default:
11064 		{
11065 			varKind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10);
11066 		}
11067 		break;
11068 		}
11069 		{
11070 			NI i_29;
11071 			NI colontmp__17;
11072 			NI i_30;
11073 			i_29 = (NI)0;
11074 			colontmp__17 = (NI)0;
11075 			colontmp__17 = len__ast_3198(n);
11076 			i_30 = ((NI) 0);
11077 			{
11078 				while (1) {
11079 					if (!(i_30 < colontmp__17)) goto LA217;
11080 					i_29 = i_30;
11081 					{
11082 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_5;
11083 						a_5 = (*n)._kind_6.sons->data[i_29];
11084 						switch ((*a_5).kind) {
11085 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
11086 						{
11087 							goto LA218;
11088 						}
11089 						break;
11090 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35):
11091 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36):
11092 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102):
11093 						{
11094 							NI T221_;
11095 							NI T222_;
11096 							NI T223_;
11097 							NI T224_;
11098 							checkMinSonsLen__semdata_1084(a_5, ((NI) 3), (*(*c).graph).config);
11099 							T221_ = (NI)0;
11100 							T221_ = len__ast_3198(a_5);
11101 							T222_ = (NI)0;
11102 							T222_ = len__ast_3198(a_5);
11103 							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));
11104 							T223_ = (NI)0;
11105 							T223_ = len__ast_3198(a_5);
11106 							T224_ = (NI)0;
11107 							T224_ = len__ast_3198(a_5);
11108 							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));
11109 							{
11110 								NI j_3;
11111 								NI colontmp__18;
11112 								NI T226_;
11113 								NI i_31;
11114 								j_3 = (NI)0;
11115 								colontmp__18 = (NI)0;
11116 								T226_ = (NI)0;
11117 								T226_ = len__ast_3198(a_5);
11118 								colontmp__18 = (NI)(T226_ - ((NI) 2));
11119 								i_31 = ((NI) 0);
11120 								{
11121 									while (1) {
11122 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T229_;
11123 										if (!(i_31 < colontmp__18)) goto LA228;
11124 										j_3 = i_31;
11125 										T229_ = NIM_NIL;
11126 										T229_ = getIdentNode__sem_8093(c, (*a_5)._kind_6.sons->data[j_3]);
11127 										addTempDecl__sem_8354(c, T229_, varKind);
11128 										i_31 += ((NI) 1);
11129 									} LA228: ;
11130 								}
11131 							}
11132 						}
11133 						break;
11134 						default:
11135 						{
11136 							illFormedAst__semdata_1071(a_5, (*(*c).graph).config);
11137 						}
11138 						break;
11139 						}
11140 					} LA218: ;
11141 					i_30 += ((NI) 1);
11142 				} LA217: ;
11143 			}
11144 		}
11145 	}
11146 	break;
11147 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75):
11148 	{
11149 		{
11150 			NI i_32;
11151 			NI colontmp__19;
11152 			NI i_33;
11153 			i_32 = (NI)0;
11154 			colontmp__19 = (NI)0;
11155 			colontmp__19 = len__ast_3198(n);
11156 			i_33 = ((NI) 0);
11157 			{
11158 				while (1) {
11159 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_6;
11160 					NI T239_;
11161 					NI T240_;
11162 					if (!(i_33 < colontmp__19)) goto LA234;
11163 					i_32 = i_33;
11164 					a_6 = (*n)._kind_6.sons->data[i_32];
11165 					{
11166 						if (!!(((*a_6).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35)))) goto LA237_;
11167 						illFormedAst__semdata_1071(a_6, (*(*c).graph).config);
11168 					}
11169 					LA237_: ;
11170 					checkMinSonsLen__semdata_1084(a_6, ((NI) 3), (*(*c).graph).config);
11171 					T239_ = (NI)0;
11172 					T239_ = len__ast_3198(a_6);
11173 					T240_ = (NI)0;
11174 					T240_ = len__ast_3198(a_6);
11175 					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));
11176 					{
11177 						NI j_4;
11178 						NI colontmp__20;
11179 						NI T242_;
11180 						NI i_34;
11181 						j_4 = (NI)0;
11182 						colontmp__20 = (NI)0;
11183 						T242_ = (NI)0;
11184 						T242_ = len__ast_3198(a_6);
11185 						colontmp__20 = (NI)(T242_ - ((NI) 2));
11186 						i_34 = ((NI) 0);
11187 						{
11188 							while (1) {
11189 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T245_;
11190 								if (!(i_34 < colontmp__20)) goto LA244;
11191 								j_4 = i_34;
11192 								T245_ = NIM_NIL;
11193 								T245_ = getIdentNode__sem_8093(c, (*a_6)._kind_6.sons->data[j_4]);
11194 								addTempDecl__sem_8354(c, T245_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
11195 								i_34 += ((NI) 1);
11196 							} LA244: ;
11197 						}
11198 					}
11199 					i_33 += ((NI) 1);
11200 				} LA234: ;
11201 			}
11202 		}
11203 	}
11204 	break;
11205 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
11206 	{
11207 		{
11208 			NI i_35;
11209 			NI colontmp__21;
11210 			NI i_36;
11211 			i_35 = (NI)0;
11212 			colontmp__21 = (NI)0;
11213 			colontmp__21 = len__ast_3198(n);
11214 			i_36 = ((NI) 0);
11215 			{
11216 				while (1) {
11217 					if (!(i_36 < colontmp__21)) goto LA249;
11218 					i_35 = i_36;
11219 					{
11220 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_7;
11221 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T259_;
11222 						a_7 = (*n)._kind_6.sons->data[i_35];
11223 						{
11224 							if (!((*a_7).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA253_;
11225 							goto LA250;
11226 						}
11227 						LA253_: ;
11228 						{
11229 							if (!!(((*a_7).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA257_;
11230 							illFormedAst__semdata_1071(a_7, (*(*c).graph).config);
11231 						}
11232 						LA257_: ;
11233 						checkSonsLen__semdata_1077(a_7, ((NI) 3), (*(*c).graph).config);
11234 						T259_ = NIM_NIL;
11235 						T259_ = getIdentNode__sem_8093(c, (*a_7)._kind_6.sons->data[((NI) 0)]);
11236 						addTempDecl__sem_8354(c, T259_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
11237 					} LA250: ;
11238 					i_36 += ((NI) 1);
11239 				} LA249: ;
11240 			}
11241 		}
11242 		{
11243 			NI i_37;
11244 			NI colontmp__22;
11245 			NI i_38;
11246 			i_37 = (NI)0;
11247 			colontmp__22 = (NI)0;
11248 			colontmp__22 = len__ast_3198(n);
11249 			i_38 = ((NI) 0);
11250 			{
11251 				while (1) {
11252 					if (!(i_38 < colontmp__22)) goto LA262;
11253 					i_37 = i_38;
11254 					{
11255 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_8;
11256 						a_8 = (*n)._kind_6.sons->data[i_37];
11257 						{
11258 							if (!((*a_8).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA266_;
11259 							goto LA263;
11260 						}
11261 						LA266_: ;
11262 						{
11263 							if (!!(((*a_8).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA270_;
11264 							illFormedAst__semdata_1071(a_8, (*(*c).graph).config);
11265 						}
11266 						LA270_: ;
11267 						checkSonsLen__semdata_1077(a_8, ((NI) 3), (*(*c).graph).config);
11268 						{
11269 							tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T276_;
11270 							if (!!(((*(*a_8)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA274_;
11271 							T276_ = NIM_NIL;
11272 							T276_ = openScope__lookups_69(c);
11273 							asgnRef((void**) (&(*a_8)._kind_6.sons->data[((NI) 1)]), semGenericStmt__sem_8113(c, (*a_8)._kind_6.sons->data[((NI) 1)], flags, ctx));
11274 							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));
11275 							closeScope__lookups_101(c);
11276 						}
11277 						goto LA272_;
11278 						LA274_: ;
11279 						{
11280 							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));
11281 						}
11282 						LA272_: ;
11283 					} LA263: ;
11284 					i_38 += ((NI) 1);
11285 				} LA262: ;
11286 			}
11287 		}
11288 	}
11289 	break;
11290 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150):
11291 	{
11292 		{
11293 			NI T281_;
11294 			T281_ = (NI)0;
11295 			T281_ = len__ast_3198(n);
11296 			if (!(((NI) 0) < T281_)) goto LA282_;
11297 			{
11298 				if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA286_;
11299 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 0)], (flags | 2), ctx));
11300 			}
11301 			LA286_: ;
11302 			{
11303 				NI i_39;
11304 				NI colontmp__23;
11305 				NI i_40;
11306 				i_39 = (NI)0;
11307 				colontmp__23 = (NI)0;
11308 				colontmp__23 = len__ast_3198(n);
11309 				i_40 = ((NI) 1);
11310 				{
11311 					while (1) {
11312 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_9;
11313 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T294_;
11314 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T295_;
11315 						if (!(i_40 < colontmp__23)) goto LA290;
11316 						i_39 = i_40;
11317 						a_9 = NIM_NIL;
11318 						switch ((*(*n)._kind_6.sons->data[i_39]).kind) {
11319 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 151):
11320 						{
11321 							a_9 = (*(*n)._kind_6.sons->data[i_39])._kind_6.sons->data[((NI) 0)];
11322 						}
11323 						break;
11324 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
11325 						{
11326 							a_9 = (*n)._kind_6.sons->data[i_39];
11327 						}
11328 						break;
11329 						default:
11330 						{
11331 							illFormedAst__semdata_1071(n, (*(*c).graph).config);
11332 						}
11333 						break;
11334 						}
11335 						T294_ = NIM_NIL;
11336 						T294_ = getIdentNode__sem_8093(c, a_9);
11337 						T295_ = NIM_NIL;
11338 						T295_ = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0), T294_, c);
11339 						addDecl__lookups_845(c, T295_);
11340 						i_40 += ((NI) 1);
11341 					} LA290: ;
11342 				}
11343 			}
11344 		}
11345 		LA282_: ;
11346 	}
11347 	break;
11348 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133):
11349 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 134):
11350 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 135):
11351 	{
11352 	}
11353 	break;
11354 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76):
11355 	{
11356 		checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
11357 		{
11358 			NI i_41;
11359 			NI colontmp__24;
11360 			NI i_42;
11361 			i_41 = (NI)0;
11362 			colontmp__24 = (NI)0;
11363 			colontmp__24 = len__ast_3198(n);
11364 			i_42 = ((NI) 1);
11365 			{
11366 				while (1) {
11367 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_10;
11368 					NI T305_;
11369 					NI T306_;
11370 					NI T307_;
11371 					NI T308_;
11372 					if (!(i_42 < colontmp__24)) goto LA300;
11373 					i_41 = i_42;
11374 					a_10 = (*n)._kind_6.sons->data[i_41];
11375 					{
11376 						if (!!(((*a_10).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35)))) goto LA303_;
11377 						illFormedAst__semdata_1071(a_10, (*(*c).graph).config);
11378 					}
11379 					LA303_: ;
11380 					checkMinSonsLen__semdata_1084(a_10, ((NI) 3), (*(*c).graph).config);
11381 					T305_ = (NI)0;
11382 					T305_ = len__ast_3198(a_10);
11383 					T306_ = (NI)0;
11384 					T306_ = len__ast_3198(a_10);
11385 					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));
11386 					T307_ = (NI)0;
11387 					T307_ = len__ast_3198(a_10);
11388 					T308_ = (NI)0;
11389 					T308_ = len__ast_3198(a_10);
11390 					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));
11391 					{
11392 						NI j_5;
11393 						NI colontmp__25;
11394 						NI T310_;
11395 						NI i_43;
11396 						j_5 = (NI)0;
11397 						colontmp__25 = (NI)0;
11398 						T310_ = (NI)0;
11399 						T310_ = len__ast_3198(a_10);
11400 						colontmp__25 = (NI)(T310_ - ((NI) 2));
11401 						i_43 = ((NI) 0);
11402 						{
11403 							while (1) {
11404 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T313_;
11405 								if (!(i_43 < colontmp__25)) goto LA312;
11406 								j_5 = i_43;
11407 								T313_ = NIM_NIL;
11408 								T313_ = getIdentNode__sem_8093(c, (*a_10)._kind_6.sons->data[j_5]);
11409 								addTempDecl__sem_8354(c, T313_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
11410 								i_43 += ((NI) 1);
11411 							} LA312: ;
11412 						}
11413 					}
11414 					i_42 += ((NI) 1);
11415 				} LA300: ;
11416 			}
11417 		}
11418 		{
11419 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA316_;
11420 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 0)], (flags | 2), ctx));
11421 		}
11422 		LA316_: ;
11423 	}
11424 	break;
11425 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
11426 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
11427 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
11428 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
11429 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
11430 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
11431 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
11432 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
11433 	{
11434 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T324_;
11435 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
11436 		checkSonsLen__semdata_1077(n, ((NI) 7), (*(*c).graph).config);
11437 		{
11438 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T323_;
11439 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA321_;
11440 			T323_ = NIM_NIL;
11441 			T323_ = getIdentNode__sem_8093(c, (*n)._kind_6.sons->data[((NI) 0)]);
11442 			addTempDecl__sem_8354(c, T323_, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
11443 		}
11444 		LA321_: ;
11445 		T324_ = NIM_NIL;
11446 		T324_ = openScope__lookups_69(c);
11447 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 2)], flags, ctx));
11448 		{
11449 			if (!!(((*(*n)._kind_6.sons->data[((NI) 3)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA327_;
11450 			{
11451 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T333_;
11452 				tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T334_;
11453 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T335_;
11454 				if (!!(((*(*(*n)._kind_6.sons->data[((NI) 3)])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA331_;
11455 				T333_ = NIM_NIL;
11456 				T333_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_102));
11457 				T334_ = nextSymId__ast_3132((*c).Sup.idgen);
11458 				T335_ = NIM_NIL;
11459 				T335_ = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0), T333_, T334_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), (*n).info, 0);
11460 				addPrelimDecl__lookups_848(c, T335_);
11461 			}
11462 			LA331_: ;
11463 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 3)]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 3)], flags, ctx));
11464 		}
11465 		LA327_: ;
11466 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 4)]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 4)], flags, ctx));
11467 		body = NIM_NIL;
11468 		{
11469 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_3;
11470 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA338_;
11471 			s_3 = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
11472 			{
11473 				NIM_BOOL T342_;
11474 				T342_ = (NIM_BOOL)0;
11475 				T342_ = (((*s_3).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
11476 				if (!(T342_)) goto LA343_;
11477 				T342_ = ((*s_3).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
11478 				LA343_: ;
11479 				if (!T342_) goto LA344_;
11480 				body = (*n)._kind_6.sons->data[((NI) 6)];
11481 			}
11482 			goto LA340_;
11483 			LA344_: ;
11484 			{
11485 				body = getBody__modulegraphs_11241((*c).graph, s_3);
11486 			}
11487 			LA340_: ;
11488 		}
11489 		goto LA336_;
11490 		LA338_: ;
11491 		{
11492 			body = (*n)._kind_6.sons->data[((NI) 6)];
11493 		}
11494 		LA336_: ;
11495 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), semGenericStmtScope__sem_8118(c, body, flags, ctx));
11496 		closeScope__lookups_101(c);
11497 	}
11498 	break;
11499 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
11500 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
11501 	{
11502 	}
11503 	break;
11504 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
11505 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
11506 	{
11507 		checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
11508 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[((NI) 1)], flags, ctx));
11509 	}
11510 	break;
11511 	default:
11512 	{
11513 		{
11514 			NI i_44;
11515 			NI colontmp__26;
11516 			NI i_45;
11517 			i_44 = (NI)0;
11518 			colontmp__26 = (NI)0;
11519 			colontmp__26 = len__ast_3198(n);
11520 			i_45 = ((NI) 0);
11521 			{
11522 				while (1) {
11523 					if (!(i_45 < colontmp__26)) goto LA353;
11524 					i_44 = i_45;
11525 					asgnRef((void**) (&(*result)._kind_6.sons->data[i_44]), semGenericStmt__sem_8113(c, (*n)._kind_6.sons->data[i_44], flags, ctx));
11526 					i_45 += ((NI) 1);
11527 				} LA353: ;
11528 			}
11529 		}
11530 	}
11531 	break;
11532 	}
11533 	return result;
11534 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semGenericStmt__sem_2885)11535 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semGenericStmt__sem_2885)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
11536 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
11537 	tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w ctx;
11538 	result = NIM_NIL;
11539 	nimZeroMem((void*)(&ctx), sizeof(tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w));
11540 	initIntSet__pureZcollectionsZintsets_238((&ctx.toMixin));
11541 	initIntSet__pureZcollectionsZintsets_238((&ctx.toBind));
11542 	result = semGenericStmt__sem_8113(c, n, 0, (&ctx));
11543 	return result;
11544 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,addImplicitGeneric__sem_4737)11545 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) {
11546 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
11547 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* finalTypId;
11548 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
11549 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
11550 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T24_;
11551 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T34_;
11552 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T35_;
11553 {	result = NIM_NIL;
11554 	{
11555 		if (!(genericParams == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
11556 		goto BeforeRet_;
11557 	}
11558 	LA3_: ;
11559 	{
11560 		NIM_BOOL T7_;
11561 		T7_ = (NIM_BOOL)0;
11562 		T7_ = eqeq___idents_220(typId, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
11563 		if (!!(T7_)) goto LA8_;
11564 		finalTypId = typId;
11565 	}
11566 	goto LA5_;
11567 	LA8_: ;
11568 	{
11569 		NimStringDesc* T11_;
11570 		T11_ = NIM_NIL;
11571 		T11_ = rawNewString((paramName ? paramName->Sup.len : 0) + 5);
11572 appendString(T11_, paramName);
11573 appendString(T11_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_141));
11574 		finalTypId = getIdent__idents_143((*c).cache, T11_);
11575 	}
11576 	LA5_: ;
11577 	{
11578 		NI i;
11579 		NI colontmp_;
11580 		NI i_2;
11581 		i = (NI)0;
11582 		colontmp_ = (NI)0;
11583 		colontmp_ = len__ast_3198(genericParams);
11584 		i_2 = ((NI) 0);
11585 		{
11586 			while (1) {
11587 				if (!(i_2 < colontmp_)) goto LA14;
11588 				i = i_2;
11589 				{
11590 					if (!((*(*(*(*genericParams)._kind_6.sons->data[i])._kind_4.sym).name).id == (*finalTypId).id)) goto LA17_;
11591 					result = (*(*genericParams)._kind_6.sons->data[i]).typ;
11592 					goto BeforeRet_;
11593 				}
11594 				LA17_: ;
11595 				i_2 += ((NI) 1);
11596 			} LA14: ;
11597 		}
11598 	}
11599 	{
11600 		if (!!(((*typeClass).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA21_;
11601 		owner = (*typeClass).sym;
11602 	}
11603 	goto LA19_;
11604 	LA21_: ;
11605 	{
11606 		owner = getCurrOwner__semdata_315(c);
11607 	}
11608 	LA19_: ;
11609 	T24_ = nextSymId__ast_3132((*c).Sup.idgen);
11610 	s = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), finalTypId, T24_, owner, info, 0);
11611 	{
11612 		if (!(((*owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 23))&63U)))!=0)) goto LA27_;
11613 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 23)) & 63);
11614 	}
11615 	LA27_: ;
11616 	{
11617 		NIM_BOOL T31_;
11618 		T31_ = (NIM_BOOL)0;
11619 		T31_ = eqeq___idents_220(typId, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
11620 		if (!T31_) goto LA32_;
11621 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 34)) & 63);
11622 	}
11623 	LA32_: ;
11624 	T34_ = NIM_NIL;
11625 	T34_ = linkTo__ast_3532(s, typeClass);
11626 	(*typeClass).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 26)) & 63);
11627 	(*s).position = len__ast_3198(genericParams);
11628 	T35_ = NIM_NIL;
11629 	T35_ = newSymNode__ast_3716(s);
11630 	add__ast_4797(genericParams, T35_);
11631 	result = typeClass;
11632 	addDecl__lookups_845(c, s);
11633 	}BeforeRet_: ;
11634 	return result;
11635 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,instGenericContainer__sem_1125)11636 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) {
11637 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
11638 	tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg cl;
11639 	tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ* T5_;
11640 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T6_;
11641 	tyObject_TType__facALICuu8zUj0hjvbTLFg* genericTyp;
11642 	result = NIM_NIL;
11643 	{
11644 		NimStringDesc* argX60gensym168_;
11645 		if (!!(((*header).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9)))) goto LA3_;
11646 		argX60gensym168_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_148);
11647 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym168_, TM__rF9caJawfOjYTjsgLVUSGFA_148);
11648 	}
11649 	LA3_: ;
11650 	nimZeroMem((void*)(&cl), sizeof(tyObject_TReplTypeVars__gMP9b9b8d4Uze3mE5G9aP9afmg));
11651 	initIdTable__ast_4096((&cl.symMap));
11652 	initIdTable__ast_4096((&cl.localCache));
11653 	T5_ = NIM_NIL;
11654 	T5_ = (tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ*) newObj((&NTIlayeredidtable__zSq8dodcWpSdfE0WaiBU9cw_), sizeof(tyObject_LayeredIdTablecolonObjectType___VAXPousy5FCnCEYMcHN9bDQ));
11655 	cl.typeMap = T5_;
11656 	initIdTable__ast_4096((&(*cl.typeMap).topLayer));
11657 	cl.info = info;
11658 	cl.c = c;
11659 	cl.allowMetaTypes = allowMetaTypes;
11660 	T6_ = NIM_NIL;
11661 	T6_ = openScope__lookups_69(c);
11662 	genericTyp = base__types_63(header);
11663 	{
11664 		NI i;
11665 		NI colontmp_;
11666 		NI T8_;
11667 		NI i_2;
11668 		i = (NI)0;
11669 		colontmp_ = (NI)0;
11670 		T8_ = (NI)0;
11671 		T8_ = len__ast_4002(genericTyp);
11672 		colontmp_ = (NI)(T8_ - ((NI) 1));
11673 		i_2 = ((NI) 0);
11674 		{
11675 			while (1) {
11676 				tyObject_TType__facALICuu8zUj0hjvbTLFg* genParam;
11677 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
11678 				if (!(i_2 < colontmp_)) goto LA10;
11679 				i = i_2;
11680 				genParam = (*genericTyp).sons->data[i];
11681 				param = NIM_NIL;
11682 				{
11683 					tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T15_;
11684 					if (!((*genParam).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA13_;
11685 					T15_ = nextSymId__ast_3132((*c).Sup.idgen);
11686 					param = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10), (*(*genParam).sym).name, T15_, (*genericTyp).sym, (*(*genParam).sym).info, 0);
11687 					asgnRef((void**) (&(*param).ast), (*(*header).sons->data[(NI)(i + ((NI) 1))]).n);
11688 					asgnRef((void**) (&(*param).typ), (*header).sons->data[(NI)(i + ((NI) 1))]);
11689 				}
11690 				goto LA11_;
11691 				LA13_: ;
11692 				{
11693 					tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T17_;
11694 					T17_ = nextSymId__ast_3132((*c).Sup.idgen);
11695 					param = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), (*(*genParam).sym).name, T17_, (*genericTyp).sym, (*(*genParam).sym).info, 0);
11696 					asgnRef((void**) (&(*param).typ), makeTypeDesc__concepts_49(c, (*header).sons->data[(NI)(i + ((NI) 1))]));
11697 				}
11698 				LA11_: ;
11699 				(*param).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
11700 				addDecl__lookups_845(c, param);
11701 				i_2 += ((NI) 1);
11702 			} LA10: ;
11703 		}
11704 	}
11705 	result = replaceTypeVarsT__semtypinst_178((&cl), header);
11706 	closeScope__lookups_101(c);
11707 	return result;
11708 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,liftParamType__sem_4789)11709 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) {
11710 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
11711 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* paramTypId;
11712 {	result = NIM_NIL;
11713 	{
11714 		if (!(paramType == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
11715 		goto BeforeRet_;
11716 	}
11717 	LA3_: ;
11718 	{
11719 		NIM_BOOL T7_;
11720 		T7_ = (NIM_BOOL)0;
11721 		T7_ = !(anon);
11722 		if (!(T7_)) goto LA8_;
11723 		T7_ = !(((*paramType).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
11724 		LA8_: ;
11725 		if (!T7_) goto LA9_;
11726 		paramTypId = (*(*paramType).sym).name;
11727 	}
11728 	goto LA5_;
11729 	LA9_: ;
11730 	{
11731 		paramTypId = ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL);
11732 	}
11733 	LA5_: ;
11734 	switch ((*paramType).kind) {
11735 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
11736 	{
11737 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
11738 		T13_ = NIM_NIL;
11739 		T13_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12), c);
11740 		result = addImplicitGeneric__sem_4737(c, T13_, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL), info, genericParams, paramName);
11741 	}
11742 	break;
11743 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
11744 	{
11745 		tyObject_TType__facALICuu8zUj0hjvbTLFg* lifted;
11746 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T26_;
11747 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
11748 		tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T39_;
11749 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T40_;
11750 		{
11751 			NIM_BOOL T17_;
11752 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T18_;
11753 			T17_ = (NIM_BOOL)0;
11754 			T18_ = NIM_NIL;
11755 			T18_ = base__types_63(paramType);
11756 			T17_ = !(((*T18_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
11757 			if (!(T17_)) goto LA19_;
11758 			T17_ = !(((*paramType).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
11759 			LA19_: ;
11760 			if (!T17_) goto LA20_;
11761 			goto BeforeRet_;
11762 		}
11763 		LA20_: ;
11764 		{
11765 			if (!(((*paramType).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0)) goto LA24_;
11766 			goto BeforeRet_;
11767 		}
11768 		LA24_: ;
11769 		T26_ = NIM_NIL;
11770 		T26_ = base__types_63(paramType);
11771 		lifted = liftParamType__sem_4789(c, procKind, genericParams, T26_, paramName, info, NIM_FALSE);
11772 		{
11773 			if (!!((lifted == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA29_;
11774 			base = lifted;
11775 		}
11776 		goto LA27_;
11777 		LA29_: ;
11778 		{
11779 			base = base__types_63(paramType);
11780 		}
11781 		LA27_: ;
11782 		{
11783 			NIM_BOOL T34_;
11784 			NimStringDesc* T38_;
11785 			T34_ = (NIM_BOOL)0;
11786 			T34_ = isMetaType__ast_3495(base);
11787 			if (!(T34_)) goto LA35_;
11788 			T34_ = (procKind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
11789 			LA35_: ;
11790 			if (!T34_) goto LA36_;
11791 			T38_ = NIM_NIL;
11792 			T38_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_142), paramName);
11793 			liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T38_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_143, NIM_FALSE);
11794 		}
11795 		LA36_: ;
11796 		T39_ = NIM_NIL;
11797 		T39_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
11798 		asgnRef((void**) (&T39_->data[0]), base);
11799 		T40_ = NIM_NIL;
11800 		T40_ = newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), T39_);
11801 		result = addImplicitGeneric__sem_4737(c, T40_, paramTypId, info, genericParams, paramName);
11802 		{
11803 			if (!!((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA43_;
11804 			(*result).flags = ((*result).flags | 16777728);
11805 		}
11806 		LA43_: ;
11807 	}
11808 	break;
11809 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
11810 	{
11811 		{
11812 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
11813 			tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T64_;
11814 			if (!!((((*paramType).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0))) goto LA48_;
11815 			{
11816 				NIM_BOOL T52_;
11817 				NIM_BOOL T53_;
11818 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T54_;
11819 				NIM_BOOL T56_;
11820 				NIM_BOOL T58_;
11821 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T59_;
11822 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T61_;
11823 				T52_ = (NIM_BOOL)0;
11824 				T53_ = (NIM_BOOL)0;
11825 				T54_ = NIM_NIL;
11826 				T54_ = base__types_63(paramType);
11827 				T53_ = ((*T54_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0));
11828 				if (!(T53_)) goto LA55_;
11829 				T56_ = (NIM_BOOL)0;
11830 				T56_ = eqeq___idents_220(paramTypId, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
11831 				T53_ = !(T56_);
11832 				LA55_: ;
11833 				T52_ = T53_;
11834 				if (!(T52_)) goto LA57_;
11835 				T58_ = (NIM_BOOL)0;
11836 				T59_ = NIM_NIL;
11837 				T59_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_144));
11838 				T58_ = ((*paramTypId).id == (*T59_).id);
11839 				if (T58_) goto LA60_;
11840 				T61_ = NIM_NIL;
11841 				T61_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_145));
11842 				T58_ = ((*paramTypId).id == (*T61_).id);
11843 				LA60_: ;
11844 				T52_ = T58_;
11845 				LA57_: ;
11846 				if (!T52_) goto LA62_;
11847 				paramTypId = ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL);
11848 			}
11849 			LA62_: ;
11850 			T64_ = NIM_NIL;
11851 			T64_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
11852 			asgnRef((void**) (&T64_->data[0]), base__types_63(paramType));
11853 			t = newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8), T64_);
11854 			(*t).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
11855 			result = addImplicitGeneric__sem_4737(c, t, paramTypId, info, genericParams, paramName);
11856 		}
11857 		LA48_: ;
11858 	}
11859 	break;
11860 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
11861 	{
11862 		{
11863 			NI T68_;
11864 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T71_;
11865 			T68_ = (NI)0;
11866 			T68_ = len__ast_4002(paramType);
11867 			if (!(T68_ == ((NI) 1))) goto LA69_;
11868 			T71_ = NIM_NIL;
11869 			T71_ = base__types_63(paramType);
11870 			result = liftParamType__sem_4789(c, procKind, genericParams, T71_, paramName, info, NIM_TRUE);
11871 		}
11872 		LA69_: ;
11873 	}
11874 	break;
11875 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
11876 	{
11877 		{
11878 			NI i;
11879 			NI colontmp_;
11880 			NI i_2;
11881 			i = (NI)0;
11882 			colontmp_ = (NI)0;
11883 			colontmp_ = len__ast_4002(paramType);
11884 			i_2 = ((NI) 0);
11885 			{
11886 				while (1) {
11887 					tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
11888 					if (!(i_2 < colontmp_)) goto LA75;
11889 					i = i_2;
11890 					t_2 = liftParamType__sem_4789(c, procKind, genericParams, (*paramType).sons->data[i], paramName, info, NIM_FALSE);
11891 					{
11892 						if (!!((t_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA78_;
11893 						asgnRef((void**) (&(*paramType).sons->data[i]), t_2);
11894 						result = paramType;
11895 					}
11896 					LA78_: ;
11897 					i_2 += ((NI) 1);
11898 				} LA75: ;
11899 			}
11900 		}
11901 	}
11902 	break;
11903 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
11904 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
11905 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
11906 	{
11907 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T81_;
11908 		T81_ = NIM_NIL;
11909 		T81_ = base__types_63(paramType);
11910 		result = liftParamType__sem_4789(c, procKind, genericParams, T81_, paramName, info, NIM_FALSE);
11911 	}
11912 	break;
11913 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
11914 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
11915 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
11916 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
11917 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
11918 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
11919 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
11920 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
11921 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
11922 	{
11923 		{
11924 			NIM_BOOL T85_;
11925 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T87_;
11926 			tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
11927 			tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T90_;
11928 			T85_ = (NIM_BOOL)0;
11929 			T85_ = ((*paramType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
11930 			if (!(T85_)) goto LA86_;
11931 			T87_ = NIM_NIL;
11932 			T87_ = lastSon__ast_3743(paramType);
11933 			T85_ = ((*T87_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0));
11934 			LA86_: ;
11935 			if (!T85_) goto LA88_;
11936 			T90_ = NIM_NIL;
11937 			T90_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
11938 			asgnRef((void**) (&T90_->data[0]), newTypeS__semdata_733((*paramType).kind, c));
11939 			typ = newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51), T90_);
11940 			result = addImplicitGeneric__sem_4737(c, typ, paramTypId, info, genericParams, paramName);
11941 		}
11942 		goto LA83_;
11943 		LA88_: ;
11944 		{
11945 			{
11946 				NI i_3;
11947 				NI colontmp__2;
11948 				NI i_4;
11949 				i_3 = (NI)0;
11950 				colontmp__2 = (NI)0;
11951 				colontmp__2 = len__ast_4002(paramType);
11952 				i_4 = ((NI) 0);
11953 				{
11954 					while (1) {
11955 						tyObject_TType__facALICuu8zUj0hjvbTLFg* lifted_2;
11956 						if (!(i_4 < colontmp__2)) goto LA94;
11957 						i_3 = i_4;
11958 						{
11959 							NimStringDesc* T99_;
11960 							NimStringDesc* T100_;
11961 							if (!((*paramType).sons->data[i_3] == paramType)) goto LA97_;
11962 							T99_ = NIM_NIL;
11963 							T99_ = typeToString__types_50(paramType, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
11964 							T100_ = NIM_NIL;
11965 							T100_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_146), T99_);
11966 							liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T100_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_147, NIM_FALSE);
11967 						}
11968 						LA97_: ;
11969 						lifted_2 = liftParamType__sem_4789(c, procKind, genericParams, (*paramType).sons->data[i_3], paramName, info, NIM_FALSE);
11970 						{
11971 							if (!!((lifted_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA103_;
11972 							asgnRef((void**) (&(*paramType).sons->data[i_3]), lifted_2);
11973 							result = paramType;
11974 						}
11975 						LA103_: ;
11976 						i_4 += ((NI) 1);
11977 					} LA94: ;
11978 				}
11979 			}
11980 		}
11981 		LA83_: ;
11982 	}
11983 	break;
11984 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
11985 	{
11986 		tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
11987 		tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T122_;
11988 		result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9), c);
11989 		rawAddSon__ast_4288(result, paramType, NIM_TRUE);
11990 		{
11991 			NI i_5;
11992 			NI colontmp__3;
11993 			NI T107_;
11994 			NI i_6;
11995 			i_5 = (NI)0;
11996 			colontmp__3 = (NI)0;
11997 			T107_ = (NI)0;
11998 			T107_ = len__ast_4002(paramType);
11999 			colontmp__3 = (NI)(T107_ - ((NI) 1));
12000 			i_6 = ((NI) 0);
12001 			{
12002 				while (1) {
12003 					if (!(i_6 < colontmp__3)) goto LA109;
12004 					i_5 = i_6;
12005 					{
12006 						tyObject_TType__facALICuu8zUj0hjvbTLFg* staticCopy;
12007 						if (!((*(*paramType).sons->data[i_5]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA112_;
12008 						staticCopy = exactReplica__ast_4051((*paramType).sons->data[i_5]);
12009 						(*staticCopy).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 27)) & 63);
12010 						rawAddSon__ast_4288(result, staticCopy, NIM_TRUE);
12011 					}
12012 					goto LA110_;
12013 					LA112_: ;
12014 					{
12015 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T115_;
12016 						T115_ = NIM_NIL;
12017 						T115_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59), c);
12018 						rawAddSon__ast_4288(result, T115_, NIM_TRUE);
12019 					}
12020 					LA110_: ;
12021 					i_6 += ((NI) 1);
12022 				} LA109: ;
12023 			}
12024 		}
12025 		{
12026 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T118_;
12027 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T121_;
12028 			T118_ = NIM_NIL;
12029 			T118_ = lastSon__ast_3743(paramType);
12030 			if (!((*T118_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52))) goto LA119_;
12031 			(*result).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53);
12032 			T121_ = NIM_NIL;
12033 			T121_ = lastSon__ast_3743(paramType);
12034 			rawAddSon__ast_4288(result, T121_, NIM_TRUE);
12035 			result = addImplicitGeneric__sem_4737(c, result, paramTypId, info, genericParams, paramName);
12036 			goto BeforeRet_;
12037 		}
12038 		LA119_: ;
12039 		x = instGenericContainer__sem_1125(c, (*(*paramType).sym).info, result, NIM_TRUE);
12040 		T122_ = NIM_NIL;
12041 		T122_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 2);
12042 		asgnRef((void**) (&T122_->data[0]), paramType);
12043 		asgnRef((void**) (&T122_->data[1]), x);
12044 		result = newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54), T122_);
12045 		result = addImplicitGeneric__sem_4737(c, result, paramTypId, info, genericParams, paramName);
12046 	}
12047 	break;
12048 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
12049 	{
12050 		tyObject_TType__facALICuu8zUj0hjvbTLFg* liftBody;
12051 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T144_;
12052 		{
12053 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T126_;
12054 			tyObject_TType__facALICuu8zUj0hjvbTLFg* cp;
12055 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T129_;
12056 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T130_;
12057 			T126_ = NIM_NIL;
12058 			T126_ = lastSon__ast_3743(paramType);
12059 			if (!((*T126_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52))) goto LA127_;
12060 			T129_ = nextTypeId__ast_3151((*c).Sup.idgen);
12061 			T130_ = NIM_NIL;
12062 			T130_ = getCurrOwner__semdata_315(c);
12063 			cp = copyType__ast_4046(paramType, T129_, T130_);
12064 			copyTypeProps__modulegraphs_8872((*c).graph, ((NI) ((*(*c).Sup.idgen).module)), cp, paramType);
12065 			(*cp).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53);
12066 			result = addImplicitGeneric__sem_4737(c, cp, paramTypId, info, genericParams, paramName);
12067 			goto BeforeRet_;
12068 		}
12069 		LA127_: ;
12070 		{
12071 			NI i_7;
12072 			NI colontmp__4;
12073 			NI T132_;
12074 			NI i_8;
12075 			i_7 = (NI)0;
12076 			colontmp__4 = (NI)0;
12077 			T132_ = (NI)0;
12078 			T132_ = len__ast_4002(paramType);
12079 			colontmp__4 = (NI)(T132_ - ((NI) 1));
12080 			i_8 = ((NI) 1);
12081 			{
12082 				while (1) {
12083 					tyObject_TType__facALICuu8zUj0hjvbTLFg* lifted_3;
12084 					if (!(i_8 < colontmp__4)) goto LA134;
12085 					i_7 = i_8;
12086 					lifted_3 = liftParamType__sem_4789(c, procKind, genericParams, (*paramType).sons->data[i_7], paramName, info, NIM_FALSE);
12087 					{
12088 						if (!!((lifted_3 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA137_;
12089 						asgnRef((void**) (&(*paramType).sons->data[i_7]), lifted_3);
12090 						result = paramType;
12091 						{
12092 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T141_;
12093 							NimStringDesc* argX60gensym1159_;
12094 							T141_ = NIM_NIL;
12095 							T141_ = lastSon__ast_3743(result);
12096 							if (!!((((*T141_).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 21))&63U)))!=0))) goto LA142_;
12097 							argX60gensym1159_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_149);
12098 							internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1159_, TM__rF9caJawfOjYTjsgLVUSGFA_149);
12099 						}
12100 						LA142_: ;
12101 					}
12102 					LA137_: ;
12103 					i_8 += ((NI) 1);
12104 				} LA134: ;
12105 			}
12106 		}
12107 		T144_ = NIM_NIL;
12108 		T144_ = lastSon__ast_3743(paramType);
12109 		liftBody = liftParamType__sem_4789(c, procKind, genericParams, T144_, paramName, info, NIM_TRUE);
12110 		{
12111 			if (!!((liftBody == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA147_;
12112 			result = liftBody;
12113 			(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 21)) & 63);
12114 		}
12115 		LA147_: ;
12116 	}
12117 	break;
12118 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
12119 	{
12120 		tyObject_TType__facALICuu8zUj0hjvbTLFg* body;
12121 		{
12122 			NI i_9;
12123 			NI colontmp__5;
12124 			NI i_10;
12125 			i_9 = (NI)0;
12126 			colontmp__5 = (NI)0;
12127 			colontmp__5 = len__ast_4002(paramType);
12128 			i_10 = ((NI) 1);
12129 			{
12130 				while (1) {
12131 					tyObject_TType__facALICuu8zUj0hjvbTLFg* lifted_4;
12132 					if (!(i_10 < colontmp__5)) goto LA152;
12133 					i_9 = i_10;
12134 					lifted_4 = liftParamType__sem_4789(c, procKind, genericParams, (*paramType).sons->data[i_9], paramName, info, NIM_FALSE);
12135 					{
12136 						if (!!((lifted_4 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA155_;
12137 						asgnRef((void**) (&(*paramType).sons->data[i_9]), lifted_4);
12138 					}
12139 					LA155_: ;
12140 					i_10 += ((NI) 1);
12141 				} LA152: ;
12142 			}
12143 		}
12144 		body = base__types_63(paramType);
12145 		{
12146 			if (!((*body).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30) || (*body).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50))) goto LA159_;
12147 			goto BeforeRet_;
12148 		}
12149 		LA159_: ;
12150 		{
12151 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T163_;
12152 			tyObject_TType__facALICuu8zUj0hjvbTLFg* expanded;
12153 			T163_ = NIM_NIL;
12154 			T163_ = lastSon__ast_3743(body);
12155 			if (!((*T163_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52))) goto LA164_;
12156 			expanded = instGenericContainer__sem_1125(c, info, paramType, NIM_TRUE);
12157 			result = liftParamType__sem_4789(c, procKind, genericParams, expanded, paramName, info, NIM_TRUE);
12158 		}
12159 		LA164_: ;
12160 	}
12161 	break;
12162 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
12163 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51):
12164 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
12165 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56):
12166 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
12167 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
12168 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62):
12169 	{
12170 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T167_;
12171 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T168_;
12172 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T169_;
12173 		T167_ = nextTypeId__ast_3151((*c).Sup.idgen);
12174 		T168_ = NIM_NIL;
12175 		T168_ = getCurrOwner__semdata_315(c);
12176 		T169_ = NIM_NIL;
12177 		T169_ = copyType__ast_4046(paramType, T167_, T168_);
12178 		result = addImplicitGeneric__sem_4737(c, T169_, paramTypId, info, genericParams, paramName);
12179 	}
12180 	break;
12181 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
12182 	{
12183 		markUsed__sigmatch_85(c, (*(*paramType).sym).info, (*paramType).sym);
12184 		{
12185 			if (!(((*paramType).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0)) goto LA173_;
12186 			(*paramType).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30)) & 63));
12187 			transitionGenericParamToType__ast_4390((*paramType).sym);
12188 		}
12189 		LA173_: ;
12190 	}
12191 	break;
12192 	default:
12193 	{
12194 	}
12195 	break;
12196 	}
12197 	}BeforeRet_: ;
12198 	return result;
12199 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semProcTypeNode__sem_5067)12200 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) {
12201 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
12202 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
12203 	NI counter;
12204 	tyObject_TType__facALICuu8zUj0hjvbTLFg* r;
12205 	result = NIM_NIL;
12206 	checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
12207 	result = newProcType__sem_5053(c, (*n).info, prev);
12208 	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
12209 	initIntSet__pureZcollectionsZintsets_238((&check));
12210 	counter = ((NI) 0);
12211 	{
12212 		NI i;
12213 		NI colontmp_;
12214 		NI i_2;
12215 		i = (NI)0;
12216 		colontmp_ = (NI)0;
12217 		colontmp_ = len__ast_3198(n);
12218 		i_2 = ((NI) 1);
12219 		{
12220 			while (1) {
12221 				if (!(i_2 < colontmp_)) goto LA3;
12222 				i = i_2;
12223 				{
12224 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
12225 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
12226 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
12227 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
12228 					NIM_BOOL hasType;
12229 					NI T15_;
12230 					NIM_BOOL hasDefault;
12231 					NI T16_;
12232 					a = (*n)._kind_6.sons->data[i];
12233 					{
12234 						if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35)))) goto LA7_;
12235 						{
12236 							NIM_BOOL T11_;
12237 							T11_ = (NIM_BOOL)0;
12238 							T11_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
12239 							if (!(T11_)) goto LA12_;
12240 							T11_ = (((*(*a)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2))&63U)))!=0);
12241 							LA12_: ;
12242 							if (!T11_) goto LA13_;
12243 							goto LA4;
12244 						}
12245 						LA13_: ;
12246 						illFormedAst__semdata_1071(a, (*(*c).graph).config);
12247 					}
12248 					LA7_: ;
12249 					checkMinSonsLen__semdata_1084(a, ((NI) 3), (*(*c).graph).config);
12250 					typ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
12251 					def = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
12252 					constraint = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
12253 					T15_ = (NI)0;
12254 					T15_ = len__ast_3198(a);
12255 					hasType = !(((*(*a)._kind_6.sons->data[(NI)(T15_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
12256 					T16_ = (NI)0;
12257 					T16_ = len__ast_3198(a);
12258 					hasDefault = !(((*(*a)._kind_6.sons->data[(NI)(T16_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
12259 					{
12260 						NI T21_;
12261 						if (!hasType) goto LA19_;
12262 						T21_ = (NI)0;
12263 						T21_ = len__ast_3198(a);
12264 						typ = semParamType__sem_5032(c, (*a)._kind_6.sons->data[(NI)(T21_ - ((NI) 2))], &constraint);
12265 						{
12266 							NIM_BOOL T24_;
12267 							NIM_BOOL T26_;
12268 							T24_ = (NIM_BOOL)0;
12269 							T24_ = ((12288 &((NU32)1<<((NU)(kind)&31U)))!=0);
12270 							if (!(T24_)) goto LA25_;
12271 							T26_ = (NIM_BOOL)0;
12272 							T26_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
12273 							if (T26_) goto LA27_;
12274 							T26_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
12275 							LA27_: ;
12276 							T24_ = T26_;
12277 							LA25_: ;
12278 							if (!T24_) goto LA28_;
12279 							{
12280 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T32_;
12281 								NIM_BOOL T33_;
12282 								NI T36_;
12283 								NimStringDesc* T37_;
12284 								T32_ = NIM_NIL;
12285 								T32_ = getCurrOwner__semdata_315(c);
12286 								T33_ = (NIM_BOOL)0;
12287 								T33_ = isMagic__sem_5062(T32_);
12288 								if (!!(T33_)) goto LA34_;
12289 								T36_ = (NI)0;
12290 								T36_ = len__ast_3198(a);
12291 								T37_ = NIM_NIL;
12292 								T37_ = rawNewString(((*(*(*typ).sym).name).s ? (*(*(*typ).sym).name).s->Sup.len : 0) + 57);
12293 appendString(T37_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
12294 appendString(T37_, (*(*(*typ).sym).name).s);
12295 appendString(T37_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_129));
12296 								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);
12297 							}
12298 							LA34_: ;
12299 						}
12300 						LA28_: ;
12301 					}
12302 					LA19_: ;
12303 					{
12304 						NI T42_;
12305 						if (!hasDefault) goto LA40_;
12306 						T42_ = (NI)0;
12307 						T42_ = len__ast_3198(a);
12308 						def = (*a)._kind_6.sons->data[(NI)(T42_ - ((NI) 1))];
12309 						{
12310 							{
12311 								NIM_BOOL T46_;
12312 								T46_ = (NIM_BOOL)0;
12313 								T46_ = isGenericParams__ast_4616(genericParams);
12314 								if (!T46_) goto LA47_;
12315 								def = semGenericStmt__sem_2885(c, def);
12316 								{
12317 									NIM_BOOL T51_;
12318 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T54_;
12319 									T51_ = (NIM_BOOL)0;
12320 									T51_ = hasUnresolvedArgs__sem_142(c, def);
12321 									if (!T51_) goto LA52_;
12322 									T54_ = NIM_NIL;
12323 									T54_ = copyTree__ast_4431(def);
12324 									asgnRef((void**) (&(*def).typ), makeTypeFromExpr__semdata_804(c, T54_));
12325 									goto LA43;
12326 								}
12327 								LA52_: ;
12328 							}
12329 							LA47_: ;
12330 							def = semExprWithType__sem_56(c, def, 512);
12331 							{
12332 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T57_;
12333 								NIM_BOOL T58_;
12334 								T57_ = NIM_NIL;
12335 								T57_ = getCurrOwner__semdata_315(c);
12336 								T58_ = (NIM_BOOL)0;
12337 								T58_ = referencesAnotherParam__sem_1165(def, T57_);
12338 								if (!T58_) goto LA59_;
12339 								(*def).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19)) & 31);
12340 							}
12341 							LA59_: ;
12342 						} LA43: ;
12343 						{
12344 							if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA63_;
12345 							typ = (*def).typ;
12346 							{
12347 								NIM_BOOL T67_;
12348 								NimStringDesc* T70_;
12349 								NimStringDesc* T71_;
12350 								T67_ = (NIM_BOOL)0;
12351 								T67_ = isEmptyContainer__types_3626(typ);
12352 								if (!T67_) goto LA68_;
12353 								T70_ = NIM_NIL;
12354 								T71_ = NIM_NIL;
12355 								T71_ = dollar___renderer_2106((*a)._kind_6.sons->data[((NI) 0)]);
12356 								T70_ = rawNewString((T71_ ? T71_->Sup.len : 0) + 37);
12357 appendString(T70_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_133));
12358 appendString(T70_, T71_);
12359 appendString(T70_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
12360 								liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T70_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_134, NIM_FALSE);
12361 							}
12362 							LA68_: ;
12363 							{
12364 								tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T76_;
12365 								if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA74_;
12366 								T76_ = NIM_NIL;
12367 								T76_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
12368 								asgnRef((void**) (&T76_->data[0]), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c));
12369 								typ = newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8), T76_);
12370 								(*typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
12371 							}
12372 							LA74_: ;
12373 						}
12374 						goto LA61_;
12375 						LA63_: ;
12376 						{
12377 							{
12378 								NIM_BOOL T80_;
12379 								T80_ = (NIM_BOOL)0;
12380 								T80_ = containsGenericType__types_3360(typ);
12381 								if (!!(T80_)) goto LA81_;
12382 								def = fitNode__sem_70(c, typ, def, (*def).info);
12383 							}
12384 							goto LA78_;
12385 							LA81_: ;
12386 							{
12387 								if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA84_;
12388 								def = semConstExpr__sem_611(c, def);
12389 								def = fitNode__sem_70(c, typ, def, (*def).info);
12390 							}
12391 							goto LA78_;
12392 							LA84_: ;
12393 							LA78_: ;
12394 						}
12395 						LA61_: ;
12396 					}
12397 					LA40_: ;
12398 					{
12399 						NIM_BOOL T88_;
12400 						T88_ = (NIM_BOOL)0;
12401 						T88_ = !(hasType);
12402 						if (!(T88_)) goto LA89_;
12403 						T88_ = !(hasDefault);
12404 						LA89_: ;
12405 						if (!T88_) goto LA90_;
12406 						{
12407 							if (!isType) goto LA94_;
12408 							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);
12409 						}
12410 						LA94_: ;
12411 						{
12412 							if (!((393216 &((NU32)1<<((NU)(kind)&31U)))!=0)) goto LA98_;
12413 							typ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6), c);
12414 						}
12415 						LA98_: ;
12416 					}
12417 					goto LA86_;
12418 					LA90_: ;
12419 					{
12420 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T101_;
12421 						T101_ = NIM_NIL;
12422 						T101_ = skipTypes__ast_3735(typ, TM__rF9caJawfOjYTjsgLVUSGFA_137);
12423 						if (!((*T101_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63))) goto LA102_;
12424 						goto LA4;
12425 					}
12426 					goto LA86_;
12427 					LA102_: ;
12428 					LA86_: ;
12429 					{
12430 						NI j;
12431 						NI colontmp__2;
12432 						NI T105_;
12433 						NI i_3;
12434 						j = (NI)0;
12435 						colontmp__2 = (NI)0;
12436 						T105_ = (NI)0;
12437 						T105_ = len__ast_3198(a);
12438 						colontmp__2 = (NI)(T105_ - ((NI) 2));
12439 						i_3 = ((NI) 0);
12440 						{
12441 							while (1) {
12442 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* arg;
12443 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T108_;
12444 								tyObject_TType__facALICuu8zUj0hjvbTLFg* lifted;
12445 								tyObject_TType__facALICuu8zUj0hjvbTLFg* finalType;
12446 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T149_;
12447 								if (!(i_3 < colontmp__2)) goto LA107;
12448 								j = i_3;
12449 								T108_ = NIM_NIL;
12450 								{
12451 									if (!((*(*a)._kind_6.sons->data[j]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA111_;
12452 									T108_ = (*(*a)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 0)];
12453 								}
12454 								goto LA109_;
12455 								LA111_: ;
12456 								{
12457 									T108_ = (*a)._kind_6.sons->data[j];
12458 								}
12459 								LA109_: ;
12460 								arg = newSymG__sem_458(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3), T108_, c);
12461 								{
12462 									if (!((*(*a)._kind_6.sons->data[j]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA116_;
12463 									pragma__pragmas_123(c, arg, (*(*a)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_138, NIM_FALSE);
12464 								}
12465 								LA116_: ;
12466 								{
12467 									NIM_BOOL T120_;
12468 									NIM_BOOL T121_;
12469 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
12470 									T120_ = (NIM_BOOL)0;
12471 									T121_ = (NIM_BOOL)0;
12472 									T121_ = !(hasType);
12473 									if (!(T121_)) goto LA122_;
12474 									T121_ = !(hasDefault);
12475 									LA122_: ;
12476 									T120_ = T121_;
12477 									if (!(T120_)) goto LA123_;
12478 									T120_ = !(((393216 &((NU32)1<<((NU)(kind)&31U)))!=0));
12479 									LA123_: ;
12480 									if (!T120_) goto LA124_;
12481 									param = strTableGet__astalgo_3390((*c).signatures, (*arg).name);
12482 									{
12483 										if (!!((param == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA128_;
12484 										typ = (*param).typ;
12485 									}
12486 									goto LA126_;
12487 									LA128_: ;
12488 									{
12489 										NimStringDesc* T131_;
12490 										T131_ = NIM_NIL;
12491 										T131_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_139), (*(*arg).name).s);
12492 										liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T131_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_140, NIM_FALSE);
12493 										typ = errorType__semdata_1002(c);
12494 									}
12495 									LA126_: ;
12496 								}
12497 								LA124_: ;
12498 								lifted = liftParamType__sem_4789(c, kind, genericParams, typ, (*(*arg).name).s, (*arg).info, NIM_FALSE);
12499 								{
12500 									if (!!((lifted == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA134_;
12501 									finalType = lifted;
12502 								}
12503 								goto LA132_;
12504 								LA134_: ;
12505 								{
12506 									finalType = skipIntLit__magicsys_124(typ, (*c).Sup.idgen);
12507 								}
12508 								LA132_: ;
12509 								asgnRef((void**) (&(*arg).typ), finalType);
12510 								(*arg).position = counter;
12511 								asgnRef((void**) (&(*arg).constraint), constraint);
12512 								counter += ((NI) 1);
12513 								{
12514 									NIM_BOOL T139_;
12515 									T139_ = (NIM_BOOL)0;
12516 									T139_ = !((def == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
12517 									if (!(T139_)) goto LA140_;
12518 									T139_ = !(((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
12519 									LA140_: ;
12520 									if (!T139_) goto LA141_;
12521 									asgnRef((void**) (&(*arg).ast), copyTree__ast_4431(def));
12522 								}
12523 								LA141_: ;
12524 								{
12525 									NIM_BOOL T145_;
12526 									NimStringDesc* T148_;
12527 									T145_ = (NIM_BOOL)0;
12528 									T145_ = containsOrIncl__astalgo_402((&check), (*(*arg).name).id);
12529 									if (!T145_) goto LA146_;
12530 									T148_ = NIM_NIL;
12531 									T148_ = rawNewString(((*(*arg).name).s ? (*(*arg).name).s->Sup.len : 0) + 23);
12532 appendString(T148_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_150));
12533 appendString(T148_, (*(*arg).name).s);
12534 appendString(T148_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
12535 									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);
12536 								}
12537 								LA146_: ;
12538 								T149_ = NIM_NIL;
12539 								T149_ = newSymNode__ast_3716(arg);
12540 								add__ast_4797((*result).n, T149_);
12541 								rawAddSon__ast_4288(result, finalType, NIM_TRUE);
12542 								addParamOrResult__sem_1024(c, arg, kind);
12543 								{
12544 									NIM_BOOL T152_;
12545 									T152_ = (NIM_BOOL)0;
12546 									T152_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
12547 									if (!(T152_)) goto LA153_;
12548 									T152_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
12549 									LA153_: ;
12550 									if (!T152_) goto LA154_;
12551 									nep1CheckDefImpl__linter_110((*(*c).graph).config, (*(*a)._kind_6.sons->data[j]).info, arg, (*arg).kind);
12552 								}
12553 								LA154_: ;
12554 								{
12555 									if (!((IL64(422212465065984) & (*(*(*c).graph).config).globalOptions) == 0)) goto LA158_;
12556 									asgnRef((void**) (&(*a)._kind_6.sons->data[j]), newSymNode__ast_3716(arg));
12557 								}
12558 								LA158_: ;
12559 								i_3 += ((NI) 1);
12560 							} LA107: ;
12561 						}
12562 					}
12563 				} LA4: ;
12564 				i_2 += ((NI) 1);
12565 			} LA3: ;
12566 		}
12567 	}
12568 	r = NIM_NIL;
12569 	{
12570 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA162_;
12571 		r = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
12572 	}
12573 	LA162_: ;
12574 	{
12575 		NIM_BOOL T166_;
12576 		NIM_BOOL T167_;
12577 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
12578 		T166_ = (NIM_BOOL)0;
12579 		T167_ = (NIM_BOOL)0;
12580 		T167_ = !((r == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
12581 		if (!(T167_)) goto LA168_;
12582 		T167_ = ((393216 &((NU32)1<<((NU)(kind)&31U)))!=0);
12583 		LA168_: ;
12584 		T166_ = T167_;
12585 		if (!(T166_)) goto LA169_;
12586 		T166_ = ((*r).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7));
12587 		LA169_: ;
12588 		if (!T166_) goto LA170_;
12589 		info = (*(*n)._kind_6.sons->data[((NI) 0)]).info;
12590 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 20), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_152), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_153, NIM_FALSE);
12591 		r = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
12592 	}
12593 	LA170_: ;
12594 	{
12595 		if (!!((r == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA174_;
12596 		{
12597 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T178_;
12598 			tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw oldFlags;
12599 			T178_ = NIM_NIL;
12600 			T178_ = skipTypes__ast_3735(r, TM__rF9caJawfOjYTjsgLVUSGFA_137);
12601 			if (!!(((*T178_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63)))) goto LA179_;
12602 			{
12603 				NIM_BOOL T183_;
12604 				NimStringDesc* T187_;
12605 				NimStringDesc* T188_;
12606 				T183_ = (NIM_BOOL)0;
12607 				T183_ = !(((393216 &((NU32)1<<((NU)(kind)&31U)))!=0));
12608 				if (!(T183_)) goto LA184_;
12609 				T183_ = ((*r).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7) || (*r).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
12610 				LA184_: ;
12611 				if (!T183_) goto LA185_;
12612 				T187_ = NIM_NIL;
12613 				T188_ = NIM_NIL;
12614 				T188_ = typeToString__types_50(r, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
12615 				T187_ = rawNewString((T188_ ? T188_->Sup.len : 0) + 53);
12616 appendString(T187_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_154));
12617 appendString(T187_, T188_);
12618 appendString(T187_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_155));
12619 				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);
12620 			}
12621 			goto LA181_;
12622 			LA185_: ;
12623 			{
12624 				if (!((*r).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59))) goto LA190_;
12625 				r = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6), c);
12626 			}
12627 			goto LA181_;
12628 			LA190_: ;
12629 			{
12630 				if (!((*r).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA193_;
12631 			}
12632 			goto LA181_;
12633 			LA193_: ;
12634 			{
12635 				{
12636 					NIM_BOOL T198_;
12637 					tyObject_TType__facALICuu8zUj0hjvbTLFg* lifted_2;
12638 					T198_ = (NIM_BOOL)0;
12639 					T198_ = ((*r).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
12640 					if (T198_) goto LA199_;
12641 					T198_ = !((((*(*r).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 34))&63U)))!=0));
12642 					LA199_: ;
12643 					if (!T198_) goto LA200_;
12644 					lifted_2 = liftParamType__sem_4789(c, kind, genericParams, r, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_102), (*(*n)._kind_6.sons->data[((NI) 0)]).info, NIM_FALSE);
12645 					{
12646 						if (!!((lifted_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA204_;
12647 						r = lifted_2;
12648 						(*r).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 11)) & 63);
12649 					}
12650 					LA204_: ;
12651 				}
12652 				LA200_: ;
12653 				r = skipIntLit__magicsys_124(r, (*c).Sup.idgen);
12654 				{
12655 					if (!(kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15))) goto LA208_;
12656 					(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15)) & 63);
12657 				}
12658 				LA208_: ;
12659 			}
12660 			LA181_: ;
12661 			asgnRef((void**) (&(*result).sons->data[((NI) 0)]), r);
12662 			oldFlags = (*result).flags;
12663 			propagateToOwner__ast_4219(result, r, NIM_TRUE);
12664 			{
12665 				if (!!((oldFlags == (*result).flags))) goto LA212_;
12666 				{
12667 					if (!!(((oldFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 21))&63U)))!=0))) goto LA216_;
12668 					(*result).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 21)) & 63));
12669 				}
12670 				LA216_: ;
12671 			}
12672 			LA212_: ;
12673 			asgnRef((void**) (&(*(*result).n).typ), r);
12674 		}
12675 		LA179_: ;
12676 	}
12677 	LA174_: ;
12678 	{
12679 		NIM_BOOL T220_;
12680 		T220_ = (NIM_BOOL)0;
12681 		T220_ = isGenericParams__ast_4616(genericParams);
12682 		if (!T220_) goto LA221_;
12683 		{
12684 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
12685 			n_2 = NIM_NIL;
12686 			{
12687 				NI i_4;
12688 				NI colontmp__3;
12689 				NI i_5;
12690 				i_4 = (NI)0;
12691 				colontmp__3 = (NI)0;
12692 				colontmp__3 = safeLen__ast_3191(genericParams);
12693 				i_5 = ((NI) 0);
12694 				{
12695 					while (1) {
12696 						if (!(i_5 < colontmp__3)) goto LA226;
12697 						i_4 = i_5;
12698 						n_2 = (*genericParams)._kind_6.sons->data[i_4];
12699 						{
12700 							if (!((IL64(17179869185) & (*(*n_2)._kind_4.sym).flags) == 0)) goto LA229_;
12701 							(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)) & 63);
12702 						}
12703 						LA229_: ;
12704 						{
12705 							if (!(((*(*(*n_2)._kind_4.sym).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0)) goto LA233_;
12706 							transitionGenericParamToType__ast_4390((*n_2)._kind_4.sym);
12707 							(*(*(*n_2)._kind_4.sym).typ).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30)) & 63));
12708 						}
12709 						LA233_: ;
12710 						i_5 += ((NI) 1);
12711 					} LA226: ;
12712 				}
12713 			}
12714 		}
12715 	}
12716 	LA221_: ;
12717 	return result;
12718 }
N_NIMCALL(void,semParamList__sem_91)12719 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) {
12720 	asgnRef((void**) (&(*s).typ), semProcTypeNode__sem_5067(c, n, genericParams, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), (*s).kind, NIM_FALSE));
12721 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newParam__sem_7841)12722 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newParam__sem_7841)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
12723 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
12724 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* x;
12725 	result = NIM_NIL;
12726 	(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
12727 	x = (*(*(*(*(*c).owner).typ).n)._kind_6.sons->data[(NI)((*s).position + ((NI) 1))])._kind_4.sym;
12728 	result = newSymNode__ast_3719(x, (*n).info);
12729 	return result;
12730 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,handleSym__sem_7855)12731 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, handleSym__sem_7855)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
12732 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
12733 	result = NIM_NIL;
12734 	result = n;
12735 	{
12736 		if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA3_;
12737 		{
12738 			NIM_BOOL T7_;
12739 			T7_ = (NIM_BOOL)0;
12740 			T7_ = ((*s).owner == (*c).owner);
12741 			if (!(T7_)) goto LA8_;
12742 			T7_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
12743 			LA8_: ;
12744 			if (!T7_) goto LA9_;
12745 			result = newParam__sem_7841(c, n, s);
12746 		}
12747 		goto LA5_;
12748 		LA9_: ;
12749 		{
12750 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1907_;
12751 			NIM_BOOL T12_;
12752 			xX60gensym1907_ = s;
12753 			T12_ = (NIM_BOOL)0;
12754 			T12_ = contains__astalgo_3496((&(*c).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym1907_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1907_).Sup.itemId.item))));
12755 			if (!T12_) goto LA13_;
12756 			result = symChoice__sem_6586((*c).c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
12757 		}
12758 		goto LA5_;
12759 		LA13_: ;
12760 		{
12761 			NIM_BOOL T16_;
12762 			NIM_BOOL T18_;
12763 			NI T19_;
12764 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T23_;
12765 			T16_ = (NIM_BOOL)0;
12766 			T16_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18));
12767 			if (!(T16_)) goto LA17_;
12768 			T18_ = (NIM_BOOL)0;
12769 			T19_ = (NI)0;
12770 			T19_ = len__ast_4002((*s).typ);
12771 			T18_ = (T19_ == ((NI) 1));
12772 			if (T18_) goto LA20_;
12773 			T18_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 9))&63U)))!=0);
12774 			LA20_: ;
12775 			T16_ = T18_;
12776 			LA17_: ;
12777 			if (!T16_) goto LA21_;
12778 			T23_ = NIM_NIL;
12779 			T23_ = semTemplateExpr__sem_519((*c).c, n, s, 8192);
12780 			result = semPatternBody__sem_7835(c, T23_);
12781 		}
12782 		goto LA5_;
12783 		LA21_: ;
12784 		{
12785 		}
12786 		LA5_: ;
12787 	}
12788 	LA3_: ;
12789 	return result;
12790 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,expectParam__sem_7897)12791 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, expectParam__sem_7897)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
12792 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
12793 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
12794 	result = NIM_NIL;
12795 	s = qualifiedLookUp__lookups_1233((*c).c, n, 0);
12796 	{
12797 		NIM_BOOL T3_;
12798 		NIM_BOOL T4_;
12799 		T3_ = (NIM_BOOL)0;
12800 		T4_ = (NIM_BOOL)0;
12801 		T4_ = !((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
12802 		if (!(T4_)) goto LA5_;
12803 		T4_ = ((*s).owner == (*c).owner);
12804 		LA5_: ;
12805 		T3_ = T4_;
12806 		if (!(T3_)) goto LA6_;
12807 		T3_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
12808 		LA6_: ;
12809 		if (!T3_) goto LA7_;
12810 		result = newParam__sem_7841(c, n, s);
12811 	}
12812 	goto LA1_;
12813 	LA7_: ;
12814 	{
12815 		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);
12816 		result = n;
12817 	}
12818 	LA1_: ;
12819 	return result;
12820 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semPatternBody__sem_7835)12821 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semPatternBody__sem_7835)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
12822 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
12823 {	result = NIM_NIL;
12824 	result = n;
12825 	switch ((*n).kind) {
12826 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
12827 	{
12828 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
12829 		s = qualifiedLookUp__lookups_1233((*c).c, n, 0);
12830 		result = handleSym__sem_7855(c, n, s);
12831 	}
12832 	break;
12833 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
12834 	{
12835 		result = semBindStmt__sem_6647((*c).c, n, (&(*c).toBind));
12836 	}
12837 	break;
12838 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
12839 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
12840 	{
12841 	}
12842 	break;
12843 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
12844 	{
12845 		{
12846 			NI T7_;
12847 			T7_ = (NI)0;
12848 			T7_ = len__ast_3198(n);
12849 			if (!!((T7_ == ((NI) 2)))) goto LA8_;
12850 			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);
12851 		}
12852 		goto LA5_;
12853 		LA8_: ;
12854 		{
12855 			if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA11_;
12856 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[((NI) 0)]));
12857 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), expectParam__sem_7897(c, (*n)._kind_6.sons->data[((NI) 1)]));
12858 		}
12859 		goto LA5_;
12860 		LA11_: ;
12861 		{
12862 			NIM_BOOL T14_;
12863 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* opr;
12864 			T14_ = (NIM_BOOL)0;
12865 			T14_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30));
12866 			if (!(T14_)) goto LA15_;
12867 			T14_ = ((*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
12868 			LA15_: ;
12869 			if (!T14_) goto LA16_;
12870 			opr = (*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)];
12871 			{
12872 				if (!eqStrings((*(*opr)._kind_5.ident).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_44))) goto LA20_;
12873 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[((NI) 0)]));
12874 				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)]));
12875 			}
12876 			goto LA18_;
12877 			LA20_: ;
12878 			{
12879 				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);
12880 			}
12881 			LA18_: ;
12882 		}
12883 		goto LA5_;
12884 		LA16_: ;
12885 		{
12886 			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);
12887 		}
12888 		LA5_: ;
12889 	}
12890 	break;
12891 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
12892 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
12893 	{
12894 		{
12895 			NIM_BOOL T27_;
12896 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T30_;
12897 			T27_ = (NIM_BOOL)0;
12898 			T27_ = stupidStmtListExpr__trees_404(n);
12899 			if (!T27_) goto LA28_;
12900 			T30_ = NIM_NIL;
12901 			T30_ = lastSon__ast_4832(n);
12902 			result = semPatternBody__sem_7835(c, T30_);
12903 		}
12904 		goto LA25_;
12905 		LA28_: ;
12906 		{
12907 			{
12908 				NI i;
12909 				NI colontmp_;
12910 				NI i_2;
12911 				i = (NI)0;
12912 				colontmp_ = (NI)0;
12913 				colontmp_ = len__ast_3198(n);
12914 				i_2 = ((NI) 0);
12915 				{
12916 					while (1) {
12917 						if (!(i_2 < colontmp_)) goto LA34;
12918 						i = i_2;
12919 						asgnRef((void**) (&(*result)._kind_6.sons->data[i]), semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[i]));
12920 						i_2 += ((NI) 1);
12921 					} LA34: ;
12922 				}
12923 			}
12924 		}
12925 		LA25_: ;
12926 	}
12927 	break;
12928 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
12929 	{
12930 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
12931 		s_2 = qualifiedLookUp__lookups_1233((*c).c, (*n)._kind_6.sons->data[((NI) 0)], 0);
12932 		{
12933 			if (!!((s_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA38_;
12934 			{
12935 				NIM_BOOL T42_;
12936 				T42_ = (NIM_BOOL)0;
12937 				T42_ = ((*s_2).owner == (*c).owner);
12938 				if (!(T42_)) goto LA43_;
12939 				T42_ = ((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
12940 				LA43_: ;
12941 				if (!T42_) goto LA44_;
12942 			}
12943 			goto LA40_;
12944 			LA44_: ;
12945 			{
12946 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1944_;
12947 				NIM_BOOL T47_;
12948 				xX60gensym1944_ = s_2;
12949 				T47_ = (NIM_BOOL)0;
12950 				T47_ = contains__astalgo_3496((&(*c).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym1944_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1944_).Sup.itemId.item))));
12951 				if (!T47_) goto LA48_;
12952 			}
12953 			goto LA40_;
12954 			LA48_: ;
12955 			{
12956 				NIM_BOOL T51_;
12957 				NIM_BOOL T53_;
12958 				NI T54_;
12959 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T58_;
12960 				T51_ = (NIM_BOOL)0;
12961 				T51_ = ((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18));
12962 				if (!(T51_)) goto LA52_;
12963 				T53_ = (NIM_BOOL)0;
12964 				T54_ = (NI)0;
12965 				T54_ = len__ast_4002((*s_2).typ);
12966 				T53_ = (T54_ == ((NI) 1));
12967 				if (T53_) goto LA55_;
12968 				T53_ = (((*s_2).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 9))&63U)))!=0);
12969 				LA55_: ;
12970 				T51_ = T53_;
12971 				LA52_: ;
12972 				if (!T51_) goto LA56_;
12973 				T58_ = NIM_NIL;
12974 				T58_ = semTemplateExpr__sem_519((*c).c, n, s_2, 8192);
12975 				result = semPatternBody__sem_7835(c, T58_);
12976 				goto BeforeRet_;
12977 			}
12978 			goto LA40_;
12979 			LA56_: ;
12980 			LA40_: ;
12981 		}
12982 		LA38_: ;
12983 		{
12984 			NIM_BOOL T61_;
12985 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* id;
12986 			NIM_BOOL T63_;
12987 			T61_ = (NIM_BOOL)0;
12988 			T61_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29));
12989 			if (!(T61_)) goto LA62_;
12990 			id = considerQuotedIdent__lookups_28((*c).c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
12991 			T63_ = (NIM_BOOL)0;
12992 			T63_ = eqeq___idents_220(id, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
12993 			T61_ = !(T63_);
12994 			LA62_: ;
12995 			if (!T61_) goto LA64_;
12996 			{
12997 				NIM_BOOL T68_;
12998 				NI T72_;
12999 				T68_ = (NIM_BOOL)0;
13000 				T68_ = eqStrings((*id).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_163));
13001 				if (T68_) goto LA69_;
13002 				T68_ = eqStrings((*id).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_164));
13003 				LA69_: ;
13004 				if (!T68_) goto LA70_;
13005 				T72_ = (NI)0;
13006 				T72_ = len__ast_3198(n);
13007 				result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 153), (*n).info, T72_);
13008 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(id, (*n).info));
13009 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[((NI) 1)]));
13010 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 2)]), expectParam__sem_7897(c, (*n)._kind_6.sons->data[((NI) 2)]));
13011 				goto BeforeRet_;
13012 			}
13013 			goto LA66_;
13014 			LA70_: ;
13015 			{
13016 				NI T76_;
13017 				if (!eqStrings((*id).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_44))) goto LA74_;
13018 				T76_ = (NI)0;
13019 				T76_ = len__ast_3198(n);
13020 				result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 153), (*n).info, T76_);
13021 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(id, (*n).info));
13022 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[((NI) 1)]));
13023 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 2)]), semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[((NI) 2)]));
13024 				goto BeforeRet_;
13025 			}
13026 			goto LA66_;
13027 			LA74_: ;
13028 			LA66_: ;
13029 		}
13030 		LA64_: ;
13031 		{
13032 			NIM_BOOL T79_;
13033 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* id_2;
13034 			NIM_BOOL T81_;
13035 			T79_ = (NIM_BOOL)0;
13036 			T79_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30));
13037 			if (!(T79_)) goto LA80_;
13038 			id_2 = considerQuotedIdent__lookups_28((*c).c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
13039 			T81_ = (NIM_BOOL)0;
13040 			T81_ = eqeq___idents_220(id_2, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
13041 			T79_ = !(T81_);
13042 			LA80_: ;
13043 			if (!T79_) goto LA82_;
13044 			{
13045 				NI T88_;
13046 				if (!eqStrings((*id_2).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_165))) goto LA86_;
13047 				T88_ = (NI)0;
13048 				T88_ = len__ast_3198(n);
13049 				result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 153), (*n).info, T88_);
13050 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(id_2, (*n).info));
13051 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[((NI) 1)]));
13052 				goto BeforeRet_;
13053 			}
13054 			LA86_: ;
13055 		}
13056 		LA82_: ;
13057 		{
13058 			NI i_3;
13059 			NI colontmp__2;
13060 			NI i_4;
13061 			i_3 = (NI)0;
13062 			colontmp__2 = (NI)0;
13063 			colontmp__2 = len__ast_3198(n);
13064 			i_4 = ((NI) 0);
13065 			{
13066 				while (1) {
13067 					if (!(i_4 < colontmp__2)) goto LA91;
13068 					i_3 = i_4;
13069 					asgnRef((void**) (&(*result)._kind_6.sons->data[i_3]), semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[i_3]));
13070 					i_4 += ((NI) 1);
13071 				} LA91: ;
13072 			}
13073 		}
13074 	}
13075 	break;
13076 	default:
13077 	{
13078 		switch ((*n).kind) {
13079 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
13080 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
13081 		{
13082 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_3;
13083 			s_3 = qualifiedLookUp__lookups_1233((*c).c, n, 0);
13084 			{
13085 				if (!!((s_3 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA96_;
13086 				{
13087 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1967_;
13088 					NIM_BOOL T100_;
13089 					xX60gensym1967_ = s_3;
13090 					T100_ = (NIM_BOOL)0;
13091 					T100_ = contains__astalgo_3496((&(*c).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym1967_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1967_).Sup.itemId.item))));
13092 					if (!T100_) goto LA101_;
13093 					result = symChoice__sem_6586((*c).c, n, s_3, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
13094 					goto BeforeRet_;
13095 				}
13096 				goto LA98_;
13097 				LA101_: ;
13098 				{
13099 					result = newIdentNode__ast_3712((*s_3).name, (*n).info);
13100 					goto BeforeRet_;
13101 				}
13102 				LA98_: ;
13103 			}
13104 			LA96_: ;
13105 		}
13106 		break;
13107 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
13108 		{
13109 			{
13110 				NI T107_;
13111 				T107_ = (NI)0;
13112 				T107_ = len__ast_3198(n);
13113 				if (!(T107_ == ((NI) 1))) goto LA108_;
13114 				result = semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[((NI) 0)]);
13115 				goto BeforeRet_;
13116 			}
13117 			LA108_: ;
13118 		}
13119 		break;
13120 		default:
13121 		{
13122 		}
13123 		break;
13124 		}
13125 		{
13126 			NI i_5;
13127 			NI colontmp__3;
13128 			NI i_6;
13129 			i_5 = (NI)0;
13130 			colontmp__3 = (NI)0;
13131 			colontmp__3 = len__ast_3198(n);
13132 			i_6 = ((NI) 0);
13133 			{
13134 				while (1) {
13135 					if (!(i_6 < colontmp__3)) goto LA113;
13136 					i_5 = i_6;
13137 					asgnRef((void**) (&(*result)._kind_6.sons->data[i_5]), semPatternBody__sem_7835(c, (*n)._kind_6.sons->data[i_5]));
13138 					i_6 += ((NI) 1);
13139 				} LA113: ;
13140 			}
13141 		}
13142 	}
13143 	break;
13144 	}
13145 	}BeforeRet_: ;
13146 	return result;
13147 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semPattern__sem_7129)13148 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semPattern__sem_7129)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
13149 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
13150 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
13151 	tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw ctx;
13152 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
13153 	tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA T16_;
13154 	result = NIM_NIL;
13155 	T1_ = NIM_NIL;
13156 	T1_ = openScope__lookups_69(c);
13157 	nimZeroMem((void*)(&ctx), sizeof(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw));
13158 	initIntSet__pureZcollectionsZintsets_238((&ctx.toBind));
13159 	initIntSet__pureZcollectionsZintsets_238((&ctx.toMixin));
13160 	initIntSet__pureZcollectionsZintsets_238((&ctx.toInject));
13161 	ctx.c = c;
13162 	ctx.owner = getCurrOwner__semdata_315(c);
13163 	T2_ = NIM_NIL;
13164 	T2_ = semPatternBody__sem_7835((&ctx), n);
13165 	result = flattenStmts__trees_355(T2_);
13166 	{
13167 		if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA5_;
13168 		{
13169 			NI T9_;
13170 			T9_ = (NI)0;
13171 			T9_ = len__ast_3198(result);
13172 			if (!(T9_ == ((NI) 1))) goto LA10_;
13173 			result = (*result)._kind_6.sons->data[((NI) 0)];
13174 		}
13175 		goto LA7_;
13176 		LA10_: ;
13177 		{
13178 			NI T13_;
13179 			T13_ = (NI)0;
13180 			T13_ = len__ast_3198(result);
13181 			if (!(T13_ == ((NI) 0))) goto LA14_;
13182 			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);
13183 		}
13184 		goto LA7_;
13185 		LA14_: ;
13186 		LA7_: ;
13187 	}
13188 	LA5_: ;
13189 	closeScope__lookups_101(c);
13190 	nimZeroMem((void*)(&T16_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
13191 	nimZeroMem((void*)(&T16_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
13192 	T16_.sym = s;
13193 	addPattern__semdata_692(c, T16_);
13194 	return result;
13195 }
N_NIMCALL(void,addGenericParamListToScope__sem_11585)13196 N_LIB_PRIVATE N_NIMCALL(void, addGenericParamListToScope__sem_11585)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
13197 	{
13198 		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75)))) goto LA3_;
13199 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
13200 	}
13201 	LA3_: ;
13202 	{
13203 		NI i;
13204 		NI colontmp_;
13205 		NI i_2;
13206 		i = (NI)0;
13207 		colontmp_ = (NI)0;
13208 		colontmp_ = len__ast_3198(n);
13209 		i_2 = ((NI) 0);
13210 		{
13211 			while (1) {
13212 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
13213 				if (!(i_2 < colontmp_)) goto LA7;
13214 				i = i_2;
13215 				a = (*n)._kind_6.sons->data[i];
13216 				{
13217 					if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA10_;
13218 					addDecl__lookups_845(c, (*a)._kind_4.sym);
13219 				}
13220 				goto LA8_;
13221 				LA10_: ;
13222 				{
13223 					illFormedAst__semdata_1071(a, (*(*c).graph).config);
13224 				}
13225 				LA8_: ;
13226 				i_2 += ((NI) 1);
13227 			} LA7: ;
13228 		}
13229 	}
13230 }
N_NIMCALL(void,addParams__sem_96)13231 N_LIB_PRIVATE N_NIMCALL(void, addParams__sem_96)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind) {
13232 	{
13233 		NI i;
13234 		NI colontmp_;
13235 		NI i_2;
13236 		i = (NI)0;
13237 		colontmp_ = (NI)0;
13238 		colontmp_ = len__ast_3198(n);
13239 		i_2 = ((NI) 1);
13240 		{
13241 			while (1) {
13242 				if (!(i_2 < colontmp_)) goto LA3;
13243 				i = i_2;
13244 				{
13245 					if (!((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA6_;
13246 					addParamOrResult__sem_1024(c, (*(*n)._kind_6.sons->data[i])._kind_4.sym, kind);
13247 				}
13248 				goto LA4_;
13249 				LA6_: ;
13250 				{
13251 					illFormedAst__semdata_1071(n, (*(*c).graph).config);
13252 				}
13253 				LA4_: ;
13254 				i_2 += ((NI) 1);
13255 			} LA3: ;
13256 		}
13257 	}
13258 }
N_INLINE(NIM_BOOL,importantComments__options_3985)13259 static N_INLINE(NIM_BOOL, importantComments__options_3985)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
13260 	NIM_BOOL result;
13261 	result = (NIM_BOOL)0;
13262 	result = ((3991552 &((NU32)1<<((NU)((*conf).cmd)&31U)))!=0);
13263 	return result;
13264 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,canonType__sem_12663)13265 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, canonType__sem_12663)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
13266 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
13267 	result = NIM_NIL;
13268 	{
13269 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24))) goto LA3_;
13270 		result = (*(*c).graph).sysTypes[(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24))- 0];
13271 	}
13272 	goto LA1_;
13273 	LA3_: ;
13274 	{
13275 		result = t;
13276 	}
13277 	LA1_: ;
13278 	return result;
13279 }
N_NIMCALL(void,prevDestructor__sem_12671)13280 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) {
13281 	NimStringDesc* msg;
13282 	NimStringDesc* T1_;
13283 	NimStringDesc* T2_;
13284 	T1_ = NIM_NIL;
13285 	T2_ = NIM_NIL;
13286 	T2_ = typeToString__types_50(obj, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
13287 	T1_ = rawNewString(((*(*prevOp).name).s ? (*(*prevOp).name).s->Sup.len : 0) + (T2_ ? T2_->Sup.len : 0) + 27);
13288 appendString(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_183));
13289 appendString(T1_, (*(*prevOp).name).s);
13290 appendString(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_184));
13291 appendString(T1_, T2_);
13292 	msg = T1_;
13293 	{
13294 		NimStringDesc* T7_;
13295 		NimStringDesc* T8_;
13296 		if (!!((((*prevOp).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35))&63U)))!=0))) goto LA5_;
13297 		T7_ = NIM_NIL;
13298 		T8_ = NIM_NIL;
13299 		T8_ = dollar___msgs_624((*(*c).graph).config, (*prevOp).info);
13300 		T7_ = rawNewString((T8_ ? T8_->Sup.len : 0) + 56);
13301 appendString(T7_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_185));
13302 appendString(T7_, T8_);
13303 		msg = resizeString(msg, (T7_ ? T7_->Sup.len : 0) + 0);
13304 appendString(msg, T7_);
13305 	}
13306 	goto LA3_;
13307 	LA5_: ;
13308 	{
13309 		NimStringDesc* T10_;
13310 		NimStringDesc* T11_;
13311 		T10_ = NIM_NIL;
13312 		T11_ = NIM_NIL;
13313 		T11_ = dollar___msgs_624((*(*c).graph).config, (*prevOp).info);
13314 		T10_ = rawNewString((T11_ ? T11_->Sup.len : 0) + 33);
13315 appendString(T10_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_186));
13316 appendString(T10_, T11_);
13317 		msg = resizeString(msg, (T10_ ? T10_->Sup.len : 0) + 0);
13318 appendString(msg, T10_);
13319 	}
13320 	LA3_: ;
13321 	liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), msg, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_187, NIM_FALSE);
13322 }
N_NIMCALL(void,bindTypeHook__sem_12701)13323 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) {
13324 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
13325 	NIM_BOOL noError;
13326 	NIM_BOOL cond;
13327 	t = (*s).typ;
13328 	noError = NIM_FALSE;
13329 	{
13330 		NIM_BOOL T5_;
13331 		NIM_BOOL T6_;
13332 		NI T7_;
13333 		if (!(op == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0))) goto LA3_;
13334 		T5_ = (NIM_BOOL)0;
13335 		T6_ = (NIM_BOOL)0;
13336 		T7_ = (NI)0;
13337 		T7_ = len__ast_4002(t);
13338 		T6_ = (T7_ == ((NI) 2));
13339 		if (!(T6_)) goto LA8_;
13340 		T6_ = ((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
13341 		LA8_: ;
13342 		T5_ = T6_;
13343 		if (!(T5_)) goto LA9_;
13344 		T5_ = ((*(*t).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
13345 		LA9_: ;
13346 		cond = T5_;
13347 	}
13348 	goto LA1_;
13349 	LA3_: ;
13350 	{
13351 		NIM_BOOL T13_;
13352 		NIM_BOOL T14_;
13353 		NIM_BOOL T15_;
13354 		NI T16_;
13355 		if (!(op == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3))) goto LA11_;
13356 		T13_ = (NIM_BOOL)0;
13357 		T14_ = (NIM_BOOL)0;
13358 		T15_ = (NIM_BOOL)0;
13359 		T16_ = (NI)0;
13360 		T16_ = len__ast_4002(t);
13361 		T15_ = (T16_ == ((NI) 3));
13362 		if (!(T15_)) goto LA17_;
13363 		T15_ = ((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
13364 		LA17_: ;
13365 		T14_ = T15_;
13366 		if (!(T14_)) goto LA18_;
13367 		T14_ = ((*(*t).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
13368 		LA18_: ;
13369 		T13_ = T14_;
13370 		if (!(T13_)) goto LA19_;
13371 		T13_ = ((*(*t).sons->data[((NI) 2)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26));
13372 		LA19_: ;
13373 		cond = T13_;
13374 	}
13375 	goto LA1_;
13376 	LA11_: ;
13377 	{
13378 		NIM_BOOL T21_;
13379 		NI T22_;
13380 		T21_ = (NIM_BOOL)0;
13381 		T22_ = (NI)0;
13382 		T22_ = len__ast_4002(t);
13383 		T21_ = (((NI) 2) <= T22_);
13384 		if (!(T21_)) goto LA23_;
13385 		T21_ = ((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
13386 		LA23_: ;
13387 		cond = T21_;
13388 	}
13389 	LA1_: ;
13390 	{
13391 		tyObject_TType__facALICuu8zUj0hjvbTLFg* obj;
13392 		if (!cond) goto LA26_;
13393 		obj = skipTypes__ast_3735((*t).sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_182);
13394 		{
13395 			while (1) {
13396 				(*obj).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31)) & 63);
13397 				{
13398 					if (!((*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10) || (*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11))) goto LA32_;
13399 					obj = lastSon__ast_3743(obj);
13400 				}
13401 				goto LA30_;
13402 				LA32_: ;
13403 				{
13404 					if (!((*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA35_;
13405 					obj = (*obj).sons->data[((NI) 0)];
13406 				}
13407 				goto LA30_;
13408 				LA35_: ;
13409 				{
13410 					goto LA28;
13411 				}
13412 				LA30_: ;
13413 			}
13414 		} LA28: ;
13415 		{
13416 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* ao;
13417 			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_;
13418 			obj = canonType__sem_12663(c, obj);
13419 			ao = getAttachedOp__modulegraphs_4011((*c).graph, obj, op);
13420 			{
13421 				if (!(ao == s)) goto LA44_;
13422 			}
13423 			goto LA42_;
13424 			LA44_: ;
13425 			{
13426 				NIM_BOOL T47_;
13427 				T47_ = (NIM_BOOL)0;
13428 				T47_ = (ao == 0);
13429 				if (!(T47_)) goto LA48_;
13430 				T47_ = !((((*obj).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38))&63U)))!=0));
13431 				LA48_: ;
13432 				if (!T47_) goto LA49_;
13433 				setAttachedOp__modulegraphs_4407((*c).graph, (*(*c).module).position, obj, op, s);
13434 			}
13435 			goto LA42_;
13436 			LA49_: ;
13437 			{
13438 				prevDestructor__sem_12671(c, ao, obj, (*n).info);
13439 			}
13440 			LA42_: ;
13441 			noError = NIM_TRUE;
13442 			{
13443 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T54_;
13444 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T55_;
13445 				NimStringDesc* T58_;
13446 				NimStringDesc* T59_;
13447 				T54_ = NIM_NIL;
13448 				T54_ = getModule__astalgo_216((*obj).owner);
13449 				T55_ = NIM_NIL;
13450 				T55_ = getModule__astalgo_216(s);
13451 				if (!!((T54_ == T55_))) goto LA56_;
13452 				T58_ = NIM_NIL;
13453 				T59_ = NIM_NIL;
13454 				T59_ = typeToString__types_50(obj, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
13455 				T58_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + (T59_ ? T59_->Sup.len : 0) + 79);
13456 appendString(T58_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_188));
13457 appendString(T58_, (*(*s).name).s);
13458 appendString(T58_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_189));
13459 appendString(T58_, T59_);
13460 appendString(T58_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_73));
13461 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T58_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_190, NIM_FALSE);
13462 			}
13463 			LA56_: ;
13464 		}
13465 		LA40_: ;
13466 	}
13467 	LA26_: ;
13468 	{
13469 		NIM_BOOL T62_;
13470 		T62_ = (NIM_BOOL)0;
13471 		T62_ = !(noError);
13472 		if (!(T62_)) goto LA63_;
13473 		T62_ = !((((*(*s).owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0));
13474 		LA63_: ;
13475 		if (!T62_) goto LA64_;
13476 		{
13477 			if (!(op == ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3))) goto LA68_;
13478 			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);
13479 		}
13480 		goto LA66_;
13481 		LA68_: ;
13482 		{
13483 			NimStringDesc* T71_;
13484 			T71_ = NIM_NIL;
13485 			T71_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 50);
13486 appendString(T71_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_193));
13487 appendString(T71_, (*(*s).name).s);
13488 appendString(T71_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_194));
13489 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T71_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_195, NIM_FALSE);
13490 		}
13491 		LA66_: ;
13492 	}
13493 	LA64_: ;
13494 	(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
13495 	(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35)) & 63);
13496 }
N_NIMCALL(void,semOverride__sem_12810)13497 N_LIB_PRIVATE N_NIMCALL(void, semOverride__sem_12810)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
13498 	NimStringDesc* name;
13499 {	name = nsuNormalize((*(*s).name).s);
13500 	if (eqStrings(name, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_175))) goto LA1_;
13501 	if (eqStrings(name, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_176))) goto LA2_;
13502 	if (eqStrings(name, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_177))) goto LA2_;
13503 	if (eqStrings(name, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_178))) goto LA3_;
13504 	if (eqStrings(name, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_179))) goto LA3_;
13505 	if (eqStrings(name, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_180))) goto LA3_;
13506 	if (eqStrings(name, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_181))) goto LA4_;
13507 	goto LA5_;
13508 	LA1_: ;
13509 	{
13510 		bindTypeHook__sem_12701(c, s, n, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
13511 	}
13512 	goto LA6_;
13513 	LA2_: ;
13514 	{
13515 		{
13516 			NIM_BOOL T11_;
13517 			NIM_BOOL T12_;
13518 			NI T13_;
13519 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T15_;
13520 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
13521 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T19_;
13522 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T20_;
13523 			T11_ = (NIM_BOOL)0;
13524 			T12_ = (NIM_BOOL)0;
13525 			T13_ = (NI)0;
13526 			T13_ = len__ast_4002((*s).typ);
13527 			T12_ = (T13_ == ((NI) 2));
13528 			if (!(T12_)) goto LA14_;
13529 			T15_ = NIM_NIL;
13530 			T15_ = skipTypes__ast_3735((*(*s).typ).sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_70);
13531 			T12_ = ((*T15_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*T15_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21));
13532 			LA14_: ;
13533 			T11_ = T12_;
13534 			if (!(T11_)) goto LA16_;
13535 			T11_ = sameType__types_1824((*(*s).typ).sons->data[((NI) 1)], (*(*s).typ).sons->data[((NI) 0)], 0);
13536 			LA16_: ;
13537 			if (!T11_) goto LA17_;
13538 			T19_ = NIM_NIL;
13539 			T19_ = skipTypes__ast_3735((*(*s).typ).sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_70);
13540 			T20_ = NIM_NIL;
13541 			T20_ = lastSon__ast_3743(T19_);
13542 			t = skipTypes__ast_3735(T20_, TM__rF9caJawfOjYTjsgLVUSGFA_70);
13543 			{
13544 				while (1) {
13545 					{
13546 						if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA25_;
13547 						t = lastSon__ast_3743(t);
13548 					}
13549 					goto LA23_;
13550 					LA25_: ;
13551 					{
13552 						if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA28_;
13553 						t = (*t).sons->data[((NI) 0)];
13554 					}
13555 					goto LA23_;
13556 					LA28_: ;
13557 					{
13558 						goto LA21;
13559 					}
13560 					LA23_: ;
13561 				}
13562 			} LA21: ;
13563 			{
13564 				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_;
13565 				{
13566 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T37_;
13567 					T37_ = NIM_NIL;
13568 					T37_ = getAttachedOp__modulegraphs_4011((*c).graph, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4));
13569 					if (!(T37_ == 0)) goto LA38_;
13570 					setAttachedOp__modulegraphs_4407((*c).graph, (*(*c).module).position, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 4), s);
13571 				}
13572 				goto LA35_;
13573 				LA38_: ;
13574 				{
13575 					NimStringDesc* T41_;
13576 					NimStringDesc* T42_;
13577 					T41_ = NIM_NIL;
13578 					T42_ = NIM_NIL;
13579 					T42_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
13580 					T41_ = rawNewString((T42_ ? T42_->Sup.len : 0) + 35);
13581 appendString(T41_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_196));
13582 appendString(T41_, T42_);
13583 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T41_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_197, NIM_FALSE);
13584 				}
13585 				LA35_: ;
13586 			}
13587 			goto LA31_;
13588 			LA33_: ;
13589 			{
13590 				NimStringDesc* T44_;
13591 				NimStringDesc* T45_;
13592 				T44_ = NIM_NIL;
13593 				T45_ = NIM_NIL;
13594 				T45_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
13595 				T44_ = rawNewString((T45_ ? T45_->Sup.len : 0) + 27);
13596 appendString(T44_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_198));
13597 appendString(T44_, T45_);
13598 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T44_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_199, NIM_FALSE);
13599 			}
13600 			LA31_: ;
13601 			{
13602 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T48_;
13603 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T49_;
13604 				NimStringDesc* T52_;
13605 				NimStringDesc* T53_;
13606 				T48_ = NIM_NIL;
13607 				T48_ = getModule__astalgo_216((*t).owner);
13608 				T49_ = NIM_NIL;
13609 				T49_ = getModule__astalgo_216(s);
13610 				if (!!((T48_ == T49_))) goto LA50_;
13611 				T52_ = NIM_NIL;
13612 				T53_ = NIM_NIL;
13613 				T53_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
13614 				T52_ = rawNewString((name ? name->Sup.len : 0) + (T53_ ? T53_->Sup.len : 0) + 79);
13615 appendString(T52_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_188));
13616 appendString(T52_, name);
13617 appendString(T52_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_189));
13618 appendString(T52_, T53_);
13619 appendString(T52_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_73));
13620 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T52_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_200, NIM_FALSE);
13621 			}
13622 			LA50_: ;
13623 		}
13624 		goto LA9_;
13625 		LA17_: ;
13626 		{
13627 			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);
13628 		}
13629 		LA9_: ;
13630 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
13631 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35)) & 63);
13632 	}
13633 	goto LA6_;
13634 	LA3_: ;
13635 	{
13636 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
13637 		{
13638 			if (!((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 7))) goto LA58_;
13639 			goto BeforeRet_;
13640 		}
13641 		LA58_: ;
13642 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
13643 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35)) & 63);
13644 		t_2 = (*s).typ;
13645 		{
13646 			NIM_BOOL T62_;
13647 			NIM_BOOL T63_;
13648 			NI T64_;
13649 			tyObject_TType__facALICuu8zUj0hjvbTLFg* obj;
13650 			tyObject_TType__facALICuu8zUj0hjvbTLFg* objB;
13651 			T62_ = (NIM_BOOL)0;
13652 			T63_ = (NIM_BOOL)0;
13653 			T64_ = (NI)0;
13654 			T64_ = len__ast_4002(t_2);
13655 			T63_ = (T64_ == ((NI) 3));
13656 			if (!(T63_)) goto LA65_;
13657 			T63_ = ((*t_2).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
13658 			LA65_: ;
13659 			T62_ = T63_;
13660 			if (!(T62_)) goto LA66_;
13661 			T62_ = ((*(*t_2).sons->data[((NI) 1)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
13662 			LA66_: ;
13663 			if (!T62_) goto LA67_;
13664 			obj = (*(*t_2).sons->data[((NI) 1)]).sons->data[((NI) 0)];
13665 			{
13666 				while (1) {
13667 					(*obj).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31)) & 63);
13668 					{
13669 						if (!((*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA73_;
13670 						obj = lastSon__ast_3743(obj);
13671 					}
13672 					goto LA71_;
13673 					LA73_: ;
13674 					{
13675 						if (!((*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA76_;
13676 						obj = (*obj).sons->data[((NI) 0)];
13677 					}
13678 					goto LA71_;
13679 					LA76_: ;
13680 					{
13681 						goto LA69;
13682 					}
13683 					LA71_: ;
13684 				}
13685 			} LA69: ;
13686 			objB = (*t_2).sons->data[((NI) 2)];
13687 			{
13688 				while (1) {
13689 					{
13690 						if (!((*objB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA83_;
13691 						objB = lastSon__ast_3743(objB);
13692 					}
13693 					goto LA81_;
13694 					LA83_: ;
13695 					{
13696 						if (!((*objB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9) || (*objB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11))) goto LA86_;
13697 						objB = (*objB).sons->data[((NI) 0)];
13698 					}
13699 					goto LA81_;
13700 					LA86_: ;
13701 					{
13702 						goto LA79;
13703 					}
13704 					LA81_: ;
13705 				}
13706 			} LA79: ;
13707 			{
13708 				NIM_BOOL T91_;
13709 				tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg k;
13710 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* ao;
13711 				T91_ = (NIM_BOOL)0;
13712 				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));
13713 				if (!(T91_)) goto LA92_;
13714 				T91_ = sameType__types_1824(obj, objB, 0);
13715 				LA92_: ;
13716 				if (!T91_) goto LA93_;
13717 				obj = canonType__sem_12663(c, obj);
13718 				{
13719 					NIM_BOOL T97_;
13720 					T97_ = (NIM_BOOL)0;
13721 					T97_ = eqStrings(name, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_178));
13722 					if (T97_) goto LA98_;
13723 					T97_ = eqStrings(name, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_179));
13724 					LA98_: ;
13725 					if (!T97_) goto LA99_;
13726 					k = ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 1);
13727 				}
13728 				goto LA95_;
13729 				LA99_: ;
13730 				{
13731 					k = ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 2);
13732 				}
13733 				LA95_: ;
13734 				ao = getAttachedOp__modulegraphs_4011((*c).graph, obj, k);
13735 				{
13736 					if (!(ao == s)) goto LA104_;
13737 				}
13738 				goto LA102_;
13739 				LA104_: ;
13740 				{
13741 					NIM_BOOL T107_;
13742 					T107_ = (NIM_BOOL)0;
13743 					T107_ = (ao == 0);
13744 					if (!(T107_)) goto LA108_;
13745 					T107_ = !((((*obj).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38))&63U)))!=0));
13746 					LA108_: ;
13747 					if (!T107_) goto LA109_;
13748 					setAttachedOp__modulegraphs_4407((*c).graph, (*(*c).module).position, obj, k, s);
13749 				}
13750 				goto LA102_;
13751 				LA109_: ;
13752 				{
13753 					prevDestructor__sem_12671(c, ao, obj, (*n).info);
13754 				}
13755 				LA102_: ;
13756 				{
13757 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T114_;
13758 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T115_;
13759 					NimStringDesc* T118_;
13760 					NimStringDesc* T119_;
13761 					T114_ = NIM_NIL;
13762 					T114_ = getModule__astalgo_216((*obj).owner);
13763 					T115_ = NIM_NIL;
13764 					T115_ = getModule__astalgo_216(s);
13765 					if (!!((T114_ == T115_))) goto LA116_;
13766 					T118_ = NIM_NIL;
13767 					T119_ = NIM_NIL;
13768 					T119_ = typeToString__types_50(obj, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
13769 					T118_ = rawNewString((name ? name->Sup.len : 0) + (T119_ ? T119_->Sup.len : 0) + 79);
13770 appendString(T118_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_188));
13771 appendString(T118_, name);
13772 appendString(T118_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_189));
13773 appendString(T118_, T119_);
13774 appendString(T118_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_73));
13775 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T118_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_203, NIM_FALSE);
13776 				}
13777 				LA116_: ;
13778 				goto BeforeRet_;
13779 			}
13780 			LA93_: ;
13781 		}
13782 		LA67_: ;
13783 		{
13784 			NimStringDesc* T124_;
13785 			if (!!((((*(*s).owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0))) goto LA122_;
13786 			T124_ = NIM_NIL;
13787 			T124_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 56);
13788 appendString(T124_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_193));
13789 appendString(T124_, (*(*s).name).s);
13790 appendString(T124_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_204));
13791 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T124_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_205, NIM_FALSE);
13792 		}
13793 		LA122_: ;
13794 	}
13795 	goto LA6_;
13796 	LA4_: ;
13797 	{
13798 		{
13799 			if (!!(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 151)))) goto LA128_;
13800 			bindTypeHook__sem_12701(c, s, n, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3));
13801 		}
13802 		LA128_: ;
13803 	}
13804 	goto LA6_;
13805 	LA5_: ;
13806 	{
13807 		{
13808 			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35))&63U)))!=0)) goto LA133_;
13809 			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);
13810 		}
13811 		LA133_: ;
13812 	}
13813 	LA6_: ;
13814 	}BeforeRet_: ;
13815 }
N_INLINE(NI,find__stdZenumutils_48)13816 static N_INLINE(NI, find__stdZenumutils_48)(NimStringDesc** a, NI aLen_0, NimStringDesc* item) {
13817 	NI result;
13818 {	result = (NI)0;
13819 	result = ((NI) 0);
13820 	{
13821 		NimStringDesc** i;
13822 		NI i_2;
13823 		i = (NimStringDesc**)0;
13824 		i_2 = ((NI) 0);
13825 		{
13826 			while (1) {
13827 				if (!(i_2 < aLen_0)) goto LA3;
13828 				i = (&a[i_2]);
13829 				{
13830 					if (!eqStrings((*i), item)) goto LA6_;
13831 					goto BeforeRet_;
13832 				}
13833 				LA6_: ;
13834 				result += ((NI) 1);
13835 				i_2 += ((NI) 1);
13836 			} LA3: ;
13837 		}
13838 	}
13839 	result = ((NI) -1);
13840 	}BeforeRet_: ;
13841 	return result;
13842 }
N_INLINE(NIM_BOOL,contains__stdZenumutils_43)13843 static N_INLINE(NIM_BOOL, contains__stdZenumutils_43)(NimStringDesc** a, NI aLen_0, NimStringDesc* item) {
13844 	NIM_BOOL result;
13845 	NI T1_;
13846 {	result = (NIM_BOOL)0;
13847 	T1_ = (NI)0;
13848 	T1_ = find__stdZenumutils_48(a, aLen_0, item);
13849 	result = (((NI) 0) <= T1_);
13850 	goto BeforeRet_;
13851 	}BeforeRet_: ;
13852 	return result;
13853 }
N_NIMCALL(NIM_BOOL,cursorInProcAux__sem_12953)13854 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cursorInProcAux__sem_12953)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
13855 	NIM_BOOL result;
13856 {	result = (NIM_BOOL)0;
13857 	{
13858 		tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg T3_;
13859 		T3_ = (tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg)0;
13860 		T3_ = inCheckpoint__sigmatch_5312((*n).info, (*conf).m.trackPos);
13861 		if (!!((T3_ == ((tyEnum_TCheckPointResult__mp7otVupbkudrLwM0IFcHg) 0)))) goto LA4_;
13862 		result = NIM_TRUE;
13863 		goto BeforeRet_;
13864 	}
13865 	LA4_: ;
13866 	{
13867 		NI i;
13868 		NI colontmp_;
13869 		NI i_2;
13870 		i = (NI)0;
13871 		colontmp_ = (NI)0;
13872 		colontmp_ = safeLen__ast_3191(n);
13873 		i_2 = ((NI) 0);
13874 		{
13875 			while (1) {
13876 				if (!(i_2 < colontmp_)) goto LA8;
13877 				i = i_2;
13878 				{
13879 					NIM_BOOL T11_;
13880 					T11_ = (NIM_BOOL)0;
13881 					T11_ = cursorInProcAux__sem_12953(conf, (*n)._kind_6.sons->data[i]);
13882 					if (!T11_) goto LA12_;
13883 					result = NIM_TRUE;
13884 					goto BeforeRet_;
13885 				}
13886 				LA12_: ;
13887 				i_2 += ((NI) 1);
13888 			} LA8: ;
13889 		}
13890 	}
13891 	}BeforeRet_: ;
13892 	return result;
13893 }
N_NIMCALL(NIM_BOOL,cursorInProc__sem_12968)13894 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cursorInProc__sem_12968)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
13895 	NIM_BOOL result;
13896 	result = (NIM_BOOL)0;
13897 	{
13898 		if (!((*n).info.fileIndex == (*conf).m.trackPos.fileIndex)) goto LA3_;
13899 		result = cursorInProcAux__sem_12953(conf, n);
13900 	}
13901 	LA3_: ;
13902 	return result;
13903 }
N_INLINE(NIM_BOOL,isGenericRoutine__ast_4646)13904 static N_INLINE(NIM_BOOL, isGenericRoutine__ast_4646)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
13905 	NIM_BOOL result;
13906 	NIM_BOOL T1_;
13907 	NIM_BOOL T3_;
13908 	result = (NIM_BOOL)0;
13909 	T1_ = (NIM_BOOL)0;
13910 	T1_ = ((520192 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
13911 	if (!(T1_)) goto LA2_;
13912 	T3_ = (NIM_BOOL)0;
13913 	T3_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2))&63U)))!=0);
13914 	if (T3_) goto LA4_;
13915 	T3_ = isGenericRoutine__ast_4627((*s).ast);
13916 	LA4_: ;
13917 	T1_ = T3_;
13918 	LA2_: ;
13919 	result = T1_;
13920 	return result;
13921 }
N_NIMCALL(NIM_BOOL,hasObjParam__sem_12972)13922 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasObjParam__sem_12972)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
13923 	NIM_BOOL result;
13924 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
13925 {	result = (NIM_BOOL)0;
13926 	t = (*s).typ;
13927 	{
13928 		NI col;
13929 		NI colontmp_;
13930 		NI i;
13931 		col = (NI)0;
13932 		colontmp_ = (NI)0;
13933 		colontmp_ = len__ast_4002(t);
13934 		i = ((NI) 1);
13935 		{
13936 			while (1) {
13937 				if (!(i < colontmp_)) goto LA3;
13938 				col = i;
13939 				{
13940 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
13941 					T6_ = NIM_NIL;
13942 					T6_ = skipTypes__ast_3735((*t).sons->data[col], TM__rF9caJawfOjYTjsgLVUSGFA_53);
13943 					if (!((*T6_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA7_;
13944 					result = NIM_TRUE;
13945 					goto BeforeRet_;
13946 				}
13947 				LA7_: ;
13948 				i += ((NI) 1);
13949 			} LA3: ;
13950 		}
13951 	}
13952 	}BeforeRet_: ;
13953 	return result;
13954 }
N_NIMCALL(void,semMethodPrototype__sem_12992)13955 N_LIB_PRIVATE N_NIMCALL(void, semMethodPrototype__sem_12992)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
13956 	{
13957 		NIM_BOOL T3_;
13958 		tyObject_TType__facALICuu8zUj0hjvbTLFg* tt;
13959 		NIM_BOOL foundObj;
13960 		T3_ = (NIM_BOOL)0;
13961 		T3_ = isGenericRoutine__ast_4646(s);
13962 		if (!T3_) goto LA4_;
13963 		tt = (*s).typ;
13964 		foundObj = NIM_FALSE;
13965 		{
13966 			NI col;
13967 			NI colontmp_;
13968 			NI i;
13969 			col = (NI)0;
13970 			colontmp_ = (NI)0;
13971 			colontmp_ = len__ast_4002(tt);
13972 			i = ((NI) 1);
13973 			{
13974 				while (1) {
13975 					tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
13976 					if (!(i < colontmp_)) goto LA8;
13977 					col = i;
13978 					t = (*tt).sons->data[col];
13979 					{
13980 						NIM_BOOL T11_;
13981 						tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
13982 						T11_ = (NIM_BOOL)0;
13983 						T11_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
13984 						if (!(T11_)) goto LA12_;
13985 						T11_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9));
13986 						LA12_: ;
13987 						if (!T11_) goto LA13_;
13988 						x = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_220);
13989 						{
13990 							NIM_BOOL T17_;
13991 							NI T19_;
13992 							NI T20_;
13993 							T17_ = (NIM_BOOL)0;
13994 							T17_ = ((*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
13995 							if (!(T17_)) goto LA18_;
13996 							T19_ = (NI)0;
13997 							T19_ = len__ast_4002(t);
13998 							T20_ = (NI)0;
13999 							T20_ = len__ast_3198((*n)._kind_6.sons->data[((NI) 2)]);
14000 							T17_ = ((NI)(T19_ - ((NI) 1)) == T20_);
14001 							LA18_: ;
14002 							if (!T17_) goto LA21_;
14003 							foundObj = NIM_TRUE;
14004 							addMethodToGeneric__modulegraphs_7689((*c).graph, (*(*c).module).position, x, col, s);
14005 						}
14006 						LA21_: ;
14007 					}
14008 					LA13_: ;
14009 					i += ((NI) 1);
14010 				} LA8: ;
14011 			}
14012 		}
14013 		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);
14014 	}
14015 	goto LA1_;
14016 	LA4_: ;
14017 	{
14018 		{
14019 			NIM_BOOL T26_;
14020 			T26_ = (NIM_BOOL)0;
14021 			T26_ = hasObjParam__sem_12972(s);
14022 			if (!T26_) goto LA27_;
14023 			methodDef__cgmeth_263((*c).graph, (*c).Sup.idgen, s);
14024 		}
14025 		goto LA24_;
14026 		LA27_: ;
14027 		{
14028 			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);
14029 		}
14030 		LA24_: ;
14031 	}
14032 	LA1_: ;
14033 }
N_NIMCALL(void,pushProcCon__sem_898)14034 N_LIB_PRIVATE N_NIMCALL(void, pushProcCon__sem_898)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner) {
14035 	rawPushProcCon__sem_849(c, owner);
14036 	rawHandleSelf__sem_865(c, owner);
14037 }
N_NIMCALL(void,activate__sem_108)14038 N_LIB_PRIVATE N_NIMCALL(void, activate__sem_108)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14039 }
N_INLINE(NIM_BOOL,isArrayConstr__sem_145)14040 static N_INLINE(NIM_BOOL, isArrayConstr__sem_145)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14041 	NIM_BOOL result;
14042 	NIM_BOOL T1_;
14043 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
14044 	result = (NIM_BOOL)0;
14045 	T1_ = (NIM_BOOL)0;
14046 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41));
14047 	if (!(T1_)) goto LA2_;
14048 	T3_ = NIM_NIL;
14049 	T3_ = skipTypes__ast_3735((*n).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
14050 	T1_ = ((*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16));
14051 	LA2_: ;
14052 	result = T1_;
14053 	return result;
14054 }
N_NIMCALL(void,fixAbstractType__sem_14966)14055 N_LIB_PRIVATE N_NIMCALL(void, fixAbstractType__sem_14966)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14056 	{
14057 		NI i;
14058 		NI colontmp_;
14059 		NI i_2;
14060 		i = (NI)0;
14061 		colontmp_ = (NI)0;
14062 		colontmp_ = len__ast_3198(n);
14063 		i_2 = ((NI) 1);
14064 		{
14065 			while (1) {
14066 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
14067 				if (!(i_2 < colontmp_)) goto LA3;
14068 				i = i_2;
14069 				it = (*n)._kind_6.sons->data[i];
14070 				{
14071 					NIM_BOOL T6_;
14072 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
14073 					T6_ = (NIM_BOOL)0;
14074 					T6_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59));
14075 					if (!(T6_)) goto LA7_;
14076 					T8_ = NIM_NIL;
14077 					T8_ = skipTypes__ast_3735((*it).typ, TM__rF9caJawfOjYTjsgLVUSGFA_228);
14078 					T6_ = !(((*T8_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*T8_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48)));
14079 					LA7_: ;
14080 					if (!T6_) goto LA9_;
14081 					{
14082 						NIM_BOOL T13_;
14083 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T14_;
14084 						tyObject_TType__facALICuu8zUj0hjvbTLFg* s;
14085 						T13_ = (NIM_BOOL)0;
14086 						T14_ = NIM_NIL;
14087 						T14_ = skipTypes__ast_3735((*(*it)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_228);
14088 						T13_ = ((*T14_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5) || (*T14_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*T14_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19));
14089 						if (T13_) goto LA15_;
14090 						T13_ = isArrayConstr__sem_145((*it)._kind_6.sons->data[((NI) 1)]);
14091 						LA15_: ;
14092 						if (!T13_) goto LA16_;
14093 						s = skipTypes__ast_3735((*it).typ, TM__rF9caJawfOjYTjsgLVUSGFA_228);
14094 						{
14095 							if (!!(((*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6)))) goto LA20_;
14096 							changeType__sem_75(c, (*it)._kind_6.sons->data[((NI) 1)], s, NIM_TRUE);
14097 						}
14098 						LA20_: ;
14099 						asgnRef((void**) (&(*n)._kind_6.sons->data[i]), (*it)._kind_6.sons->data[((NI) 1)]);
14100 					}
14101 					LA16_: ;
14102 				}
14103 				LA9_: ;
14104 				i_2 += ((NI) 1);
14105 			} LA3: ;
14106 		}
14107 	}
14108 }
N_NIMCALL(tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag,isAssignable__sem_15001)14109 N_LIB_PRIVATE N_NIMCALL(tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag, isAssignable__sem_15001)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isUnsafeAddr) {
14110 	tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag result;
14111 	result = (tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag)0;
14112 	result = isAssignable__parampatterns_334((*(*c).p).owner, n, isUnsafeAddr);
14113 	return result;
14114 }
N_NIMCALL(NimStringDesc *,renderNotLValue__sem_1612)14115 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderNotLValue__sem_1612)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14116 	NimStringDesc* result;
14117 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
14118 	result = NIM_NIL;
14119 	result = dollar___renderer_2106(n);
14120 	{
14121 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA3_;
14122 		n_2 = (*n)._kind_6.sons->data[((NI) 0)];
14123 	}
14124 	goto LA1_;
14125 	LA3_: ;
14126 	{
14127 		n_2 = n;
14128 	}
14129 	LA1_: ;
14130 	{
14131 		NIM_BOOL T8_;
14132 		NI T10_;
14133 		NimStringDesc* T13_;
14134 		NimStringDesc* T14_;
14135 		T8_ = (NIM_BOOL)0;
14136 		T8_ = ((*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
14137 		if (!(T8_)) goto LA9_;
14138 		T10_ = (NI)0;
14139 		T10_ = len__ast_3198(n_2);
14140 		T8_ = (((NI) 1) < T10_);
14141 		LA9_: ;
14142 		if (!T8_) goto LA11_;
14143 		T13_ = NIM_NIL;
14144 		T14_ = NIM_NIL;
14145 		T14_ = dollar___renderer_2106((*n_2)._kind_6.sons->data[((NI) 0)]);
14146 		T13_ = rawNewString((T14_ ? T14_->Sup.len : 0) + (result ? result->Sup.len : 0) + 2);
14147 appendString(T13_, T14_);
14148 appendString(T13_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_71));
14149 appendString(T13_, result);
14150 appendString(T13_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_73));
14151 		result = T13_;
14152 	}
14153 	goto LA6_;
14154 	LA11_: ;
14155 	{
14156 		NIM_BOOL T16_;
14157 		NI T18_;
14158 		NimStringDesc* T21_;
14159 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T22_;
14160 		NimStringDesc* T23_;
14161 		T16_ = (NIM_BOOL)0;
14162 		T16_ = ((*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) || (*n_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59));
14163 		if (!(T16_)) goto LA17_;
14164 		T18_ = (NI)0;
14165 		T18_ = len__ast_3198(n_2);
14166 		T16_ = (T18_ == ((NI) 2));
14167 		LA17_: ;
14168 		if (!T16_) goto LA19_;
14169 		T21_ = NIM_NIL;
14170 		T22_ = NIM_NIL;
14171 		T22_ = skipTypes__ast_3735((*n_2).typ, TM__rF9caJawfOjYTjsgLVUSGFA_228);
14172 		T23_ = NIM_NIL;
14173 		T23_ = typeToString__types_50(T22_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
14174 		T21_ = rawNewString((T23_ ? T23_->Sup.len : 0) + (result ? result->Sup.len : 0) + 2);
14175 appendString(T21_, T23_);
14176 appendString(T21_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_71));
14177 appendString(T21_, result);
14178 appendString(T21_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_73));
14179 		result = T21_;
14180 	}
14181 	goto LA6_;
14182 	LA19_: ;
14183 	LA6_: ;
14184 	return result;
14185 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newHiddenAddrTaken__sem_15054)14186 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newHiddenAddrTaken__sem_15054)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14187 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14188 	result = NIM_NIL;
14189 	{
14190 		NIM_BOOL T3_;
14191 		NIM_BOOL T5_;
14192 		T3_ = (NIM_BOOL)0;
14193 		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65));
14194 		if (!(T3_)) goto LA4_;
14195 		T5_ = (NIM_BOOL)0;
14196 		T5_ = ((*(*(*c).graph).config).backend == ((tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g) 2));
14197 		if (T5_) goto LA6_;
14198 		T5_ = (((*(*c).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 32))&63U)))!=0);
14199 		LA6_: ;
14200 		T3_ = !(T5_);
14201 		LA4_: ;
14202 		if (!T3_) goto LA7_;
14203 		checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
14204 		result = (*n)._kind_6.sons->data[((NI) 0)];
14205 	}
14206 	goto LA1_;
14207 	LA7_: ;
14208 	{
14209 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
14210 		tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag aa;
14211 		T10_ = NIM_NIL;
14212 		T10_ = makeVarType__semdata_766(c, (*n).typ, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
14213 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64), (*n).info, T10_);
14214 		add__ast_4797(result, n);
14215 		aa = isAssignable__sem_15001(c, n, NIM_FALSE);
14216 		{
14217 			if (!!(((6 &((NU8)1<<((NU)(aa)&7U)))!=0))) goto LA13_;
14218 			{
14219 				NIM_BOOL T17_;
14220 				T17_ = (NIM_BOOL)0;
14221 				T17_ = (aa == ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 3));
14222 				if (!(T17_)) goto LA18_;
14223 				T17_ = (((NI) 0) < (*c).inUncheckedAssignSection);
14224 				LA18_: ;
14225 				if (!T17_) goto LA19_;
14226 			}
14227 			goto LA15_;
14228 			LA19_: ;
14229 			{
14230 				NimStringDesc* T22_;
14231 				NimStringDesc* T23_;
14232 				T22_ = NIM_NIL;
14233 				T22_ = renderNotLValue__sem_1612(n);
14234 				T23_ = NIM_NIL;
14235 				T23_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_230), T22_);
14236 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T23_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_234, NIM_FALSE);
14237 			}
14238 			LA15_: ;
14239 		}
14240 		LA13_: ;
14241 	}
14242 	LA1_: ;
14243 	return result;
14244 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,analyseIfAddressTaken__sem_15084)14245 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, analyseIfAddressTaken__sem_15084)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14246 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14247 {	result = NIM_NIL;
14248 	result = n;
14249 	switch ((*n).kind) {
14250 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
14251 	{
14252 		{
14253 			NIM_BOOL T4_;
14254 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
14255 			T4_ = (NIM_BOOL)0;
14256 			T4_ = !(((*(*n)._kind_4.sym).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
14257 			if (!(T4_)) goto LA5_;
14258 			T6_ = NIM_NIL;
14259 			T6_ = skipTypes__ast_3735((*(*n)._kind_4.sym).typ, TM__rF9caJawfOjYTjsgLVUSGFA_5);
14260 			T4_ = !(((*T6_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*T6_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47)));
14261 			LA5_: ;
14262 			if (!T4_) goto LA7_;
14263 			(*(*n)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 17)) & 63);
14264 			result = newHiddenAddrTaken__sem_15054(c, n);
14265 		}
14266 		LA7_: ;
14267 	}
14268 	break;
14269 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
14270 	{
14271 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
14272 		{
14273 			if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA12_;
14274 			internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_235), TM__rF9caJawfOjYTjsgLVUSGFA_236);
14275 			goto BeforeRet_;
14276 		}
14277 		LA12_: ;
14278 		{
14279 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
14280 			T16_ = NIM_NIL;
14281 			T16_ = skipTypes__ast_3735((*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).typ, TM__rF9caJawfOjYTjsgLVUSGFA_5);
14282 			if (!!(((*T16_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*T16_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47)))) goto LA17_;
14283 			(*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 17)) & 63);
14284 			result = newHiddenAddrTaken__sem_15054(c, n);
14285 		}
14286 		LA17_: ;
14287 	}
14288 	break;
14289 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
14290 	{
14291 		checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
14292 		{
14293 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T22_;
14294 			T22_ = NIM_NIL;
14295 			T22_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_5);
14296 			if (!!(((*T22_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*T22_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47)))) goto LA23_;
14297 			{
14298 				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA27_;
14299 				(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 17)) & 63);
14300 			}
14301 			LA27_: ;
14302 			result = newHiddenAddrTaken__sem_15054(c, n);
14303 		}
14304 		LA23_: ;
14305 	}
14306 	break;
14307 	default:
14308 	{
14309 		result = newHiddenAddrTaken__sem_15054(c, n);
14310 	}
14311 	break;
14312 	}
14313 	}BeforeRet_: ;
14314 	return result;
14315 }
N_NIMCALL(void,analyseIfAddressTakenInCall__sem_15142)14316 N_LIB_PRIVATE N_NIMCALL(void, analyseIfAddressTakenInCall__sem_15142)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14317 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
14318 {	checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
14319 	t = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_137);
14320 	{
14321 		NIM_BOOL T3_;
14322 		T3_ = (NIM_BOOL)0;
14323 		T3_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
14324 		if (!(T3_)) goto LA4_;
14325 		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);
14326 		LA4_: ;
14327 		if (!T3_) goto LA5_;
14328 		{
14329 			NI i;
14330 			NI colontmp_;
14331 			NI i_2;
14332 			i = (NI)0;
14333 			colontmp_ = (NI)0;
14334 			colontmp_ = len__ast_3198(n);
14335 			i_2 = ((NI) 1);
14336 			{
14337 				while (1) {
14338 					if (!(i_2 < colontmp_)) goto LA9;
14339 					i = i_2;
14340 					{
14341 						NIM_BOOL T12_;
14342 						NIM_BOOL T13_;
14343 						NI T14_;
14344 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
14345 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
14346 						tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag aa;
14347 						T12_ = (NIM_BOOL)0;
14348 						T13_ = (NIM_BOOL)0;
14349 						T14_ = (NI)0;
14350 						T14_ = len__ast_4002(t);
14351 						T13_ = (i < T14_);
14352 						if (!(T13_)) goto LA15_;
14353 						T13_ = !(((*t).sons->data[i] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
14354 						LA15_: ;
14355 						T12_ = T13_;
14356 						if (!(T12_)) goto LA16_;
14357 						T17_ = NIM_NIL;
14358 						T17_ = skipTypes__ast_3735((*t).sons->data[i], TM__rF9caJawfOjYTjsgLVUSGFA_5);
14359 						T12_ = ((*T17_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
14360 						LA16_: ;
14361 						if (!T12_) goto LA18_;
14362 						it = (*n)._kind_6.sons->data[i];
14363 						aa = isAssignable__sem_15001(c, it, NIM_FALSE);
14364 						{
14365 							if (!!(((6 &((NU8)1<<((NU)(aa)&7U)))!=0))) goto LA22_;
14366 							{
14367 								if (!!(((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64)))) goto LA26_;
14368 								{
14369 									NIM_BOOL T30_;
14370 									T30_ = (NIM_BOOL)0;
14371 									T30_ = (aa == ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 3));
14372 									if (!(T30_)) goto LA31_;
14373 									T30_ = (((NI) 0) < (*c).inUncheckedAssignSection);
14374 									LA31_: ;
14375 									if (!T30_) goto LA32_;
14376 								}
14377 								goto LA28_;
14378 								LA32_: ;
14379 								{
14380 									NimStringDesc* T35_;
14381 									NimStringDesc* T36_;
14382 									T35_ = NIM_NIL;
14383 									T35_ = dollar___renderer_2106(it);
14384 									T36_ = NIM_NIL;
14385 									T36_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_230), T35_);
14386 									liMessage__msgs_1118((*(*c).graph).config, (*it).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T36_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_231, NIM_FALSE);
14387 								}
14388 								LA28_: ;
14389 							}
14390 							LA26_: ;
14391 						}
14392 						LA22_: ;
14393 					}
14394 					LA18_: ;
14395 					i_2 += ((NI) 1);
14396 				} LA9: ;
14397 			}
14398 		}
14399 		{
14400 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
14401 			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_;
14402 			arg = (*n)._kind_6.sons->data[((NI) 1)];
14403 			{
14404 				if (!((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA43_;
14405 				arg = (*arg)._kind_6.sons->data[((NI) 0)];
14406 			}
14407 			LA43_: ;
14408 			{
14409 				NIM_BOOL T47_;
14410 				NIM_BOOL T48_;
14411 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T51_;
14412 				NimStringDesc* T54_;
14413 				NimStringDesc* T55_;
14414 				T47_ = (NIM_BOOL)0;
14415 				T48_ = (NIM_BOOL)0;
14416 				T48_ = ((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
14417 				if (!(T48_)) goto LA49_;
14418 				T48_ = ((*(*arg)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
14419 				LA49_: ;
14420 				T47_ = T48_;
14421 				if (!(T47_)) goto LA50_;
14422 				T51_ = NIM_NIL;
14423 				T51_ = skipTypes__ast_3735((*arg).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
14424 				T47_ = ((*T51_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*T51_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
14425 				LA50_: ;
14426 				if (!T47_) goto LA52_;
14427 				T54_ = NIM_NIL;
14428 				T54_ = renderTree__renderer_46((*n)._kind_6.sons->data[((NI) 1)], 4);
14429 				T55_ = NIM_NIL;
14430 				T55_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_232), T54_);
14431 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T55_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_233, NIM_FALSE);
14432 			}
14433 			LA52_: ;
14434 		}
14435 		LA39_: ;
14436 		goto BeforeRet_;
14437 	}
14438 	LA5_: ;
14439 	{
14440 		NI i_3;
14441 		NI colontmp__2;
14442 		NI i_4;
14443 		i_3 = (NI)0;
14444 		colontmp__2 = (NI)0;
14445 		colontmp__2 = len__ast_3198(n);
14446 		i_4 = ((NI) 1);
14447 		{
14448 			while (1) {
14449 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
14450 				if (!(i_4 < colontmp__2)) goto LA58;
14451 				i_3 = i_4;
14452 				{
14453 					if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA61_;
14454 					n_2 = (*n)._kind_6.sons->data[((NI) 0)];
14455 				}
14456 				goto LA59_;
14457 				LA61_: ;
14458 				{
14459 					n_2 = n;
14460 				}
14461 				LA59_: ;
14462 				{
14463 					if (!((*(*n_2)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA66_;
14464 					analyseIfAddressTakenInCall__sem_15142(c, (*n_2)._kind_6.sons->data[i_3]);
14465 				}
14466 				LA66_: ;
14467 				{
14468 					NIM_BOOL T70_;
14469 					NI T71_;
14470 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T73_;
14471 					T70_ = (NIM_BOOL)0;
14472 					T71_ = (NI)0;
14473 					T71_ = len__ast_4002(t);
14474 					T70_ = (i_3 < T71_);
14475 					if (!(T70_)) goto LA72_;
14476 					T73_ = NIM_NIL;
14477 					T73_ = skipTypes__ast_3735((*t).sons->data[i_3], TM__rF9caJawfOjYTjsgLVUSGFA_5);
14478 					T70_ = ((*T73_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
14479 					LA72_: ;
14480 					if (!T70_) goto LA74_;
14481 					{
14482 						if (!!(((*(*n_2)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64)))) goto LA78_;
14483 						asgnRef((void**) (&(*n_2)._kind_6.sons->data[i_3]), analyseIfAddressTaken__sem_15084(c, (*n_2)._kind_6.sons->data[i_3]));
14484 					}
14485 					LA78_: ;
14486 				}
14487 				LA74_: ;
14488 				i_4 += ((NI) 1);
14489 			} LA58: ;
14490 		}
14491 	}
14492 	}BeforeRet_: ;
14493 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semAddrArg__sem_15262)14494 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAddrArg__sem_15262)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isUnsafeAddr) {
14495 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14496 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
14497 	result = NIM_NIL;
14498 	x = semExprWithType__sem_56(c, n, 0);
14499 	{
14500 		if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
14501 		(*(*x)._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 17)) & 63);
14502 	}
14503 	LA3_: ;
14504 	{
14505 		tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag T7_;
14506 		T7_ = (tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag)0;
14507 		T7_ = isAssignable__sem_15001(c, x, isUnsafeAddr);
14508 		if (!!(((6 &((NU8)1<<((NU)(T7_)&7U)))!=0))) goto LA8_;
14509 		{
14510 			if (!isUnsafeAddr) goto LA12_;
14511 			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);
14512 		}
14513 		goto LA10_;
14514 		LA12_: ;
14515 		{
14516 			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);
14517 		}
14518 		LA10_: ;
14519 	}
14520 	LA8_: ;
14521 	result = x;
14522 	return result;
14523 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTypeOf__sem_132)14524 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTypeOf__sem_132)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14525 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14526 	NI64 m;
14527 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typExpr;
14528 	tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ T11_;
14529 	result = NIM_NIL;
14530 	m = IL64(1);
14531 	{
14532 		NI T3_;
14533 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* mode;
14534 		T3_ = (NI)0;
14535 		T3_ = len__ast_3198(n);
14536 		if (!(T3_ == ((NI) 3))) goto LA4_;
14537 		mode = semConstExpr__sem_611(c, (*n)._kind_6.sons->data[((NI) 2)]);
14538 		{
14539 			if (!!(((*mode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA8_;
14540 			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);
14541 		}
14542 		goto LA6_;
14543 		LA8_: ;
14544 		{
14545 			m = (*mode)._kind_1.intVal;
14546 		}
14547 		LA6_: ;
14548 	}
14549 	LA4_: ;
14550 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132), (*n).info);
14551 	{
14552 		if (!(m == IL64(1))) goto LA14_;
14553 		T11_ = 8;
14554 	}
14555 	goto LA12_;
14556 	LA14_: ;
14557 	{
14558 		T11_ = 0;
14559 	}
14560 	LA12_: ;
14561 	typExpr = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], T11_);
14562 	add__ast_4797(result, typExpr);
14563 	asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, (*typExpr).typ));
14564 	return result;
14565 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semDeref__sem_17356)14566 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDeref__sem_17356)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14567 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14568 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
14569 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
14570 	result = NIM_NIL;
14571 	checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
14572 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0));
14573 	a = getConstExpr__semfold_81((*c).module, (*n)._kind_6.sons->data[((NI) 0)], (*c).Sup.idgen, (*c).graph);
14574 	{
14575 		if (!!((a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
14576 		{
14577 			if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA7_;
14578 			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);
14579 		}
14580 		LA7_: ;
14581 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), a);
14582 	}
14583 	LA3_: ;
14584 	result = n;
14585 	t = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_250);
14586 	switch ((*t).kind) {
14587 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
14588 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
14589 	{
14590 		asgnRef((void**) (&(*n).typ), lastSon__ast_3743(t));
14591 	}
14592 	break;
14593 	default:
14594 	{
14595 		result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
14596 	}
14597 	break;
14598 	}
14599 	return result;
14600 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semStaticType__sem_128)14601 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semStaticType__sem_128)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* childNode, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
14602 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
14603 	tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
14604 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
14605 	result = NIM_NIL;
14606 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), prev, c);
14607 	T1_ = NIM_NIL;
14608 	T1_ = semTypeNode__sem_80(c, childNode, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
14609 	base = skipTypes__ast_3735(T1_, TM__rF9caJawfOjYTjsgLVUSGFA_252);
14610 	rawAddSon__ast_4288(result, base, NIM_TRUE);
14611 	(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 24)) & 63);
14612 	return result;
14613 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semSymGenericInstantiation__sem_13998)14614 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSymGenericInstantiation__sem_13998)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
14615 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14616 	result = NIM_NIL;
14617 	result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
14618 	return result;
14619 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,explicitGenericSym__sem_2571)14620 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, explicitGenericSym__sem_2571)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
14621 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14622 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
14623 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* newInst;
14624 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
14625 {	result = NIM_NIL;
14626 	nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
14627 	newCandidate__sigmatch_189(c, s, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), ((NI) -1), (&m));
14628 	{
14629 		NI i;
14630 		NI colontmp_;
14631 		NI i_2;
14632 		i = (NI)0;
14633 		colontmp_ = (NI)0;
14634 		colontmp_ = len__ast_3198(n);
14635 		i_2 = ((NI) 1);
14636 		{
14637 			while (1) {
14638 				tyObject_TType__facALICuu8zUj0hjvbTLFg* formal;
14639 				tyObject_TType__facALICuu8zUj0hjvbTLFg* arg;
14640 				tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw tm;
14641 				if (!(i_2 < colontmp_)) goto LA3;
14642 				i = i_2;
14643 				formal = (*(*(*(*s).ast)._kind_6.sons->data[((NI) 2)])._kind_6.sons->data[(NI)(i - ((NI) 1))]).typ;
14644 				arg = (*(*n)._kind_6.sons->data[i]).typ;
14645 				{
14646 					NIM_BOOL T6_;
14647 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated;
14648 					T6_ = (NIM_BOOL)0;
14649 					T6_ = ((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
14650 					if (!(T6_)) goto LA7_;
14651 					T6_ = !(((*arg).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60)));
14652 					LA7_: ;
14653 					if (!T6_) goto LA8_;
14654 					evaluated = (*c).semTryConstExpr(c, (*n)._kind_6.sons->data[i]);
14655 					{
14656 						if (!!((evaluated == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA12_;
14657 						arg = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), c);
14658 						if ((*arg).sons) { nimGCunrefRC1((*arg).sons); (*arg).sons = NIM_NIL; }
14659 						(*arg).sons = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeqRC1((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
14660 						asgnRef((void**) (&(*arg).sons->data[0]), (*evaluated).typ);
14661 						asgnRef((void**) (&(*arg).n), evaluated);
14662 					}
14663 					LA12_: ;
14664 				}
14665 				LA8_: ;
14666 				tm = typeRel__sigmatch_202((&m), formal, arg, 0);
14667 				{
14668 					if (!((3 &((NU16)1<<((NU)(tm)&15U)))!=0)) goto LA16_;
14669 					result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
14670 					goto BeforeRet_;
14671 				}
14672 				LA16_: ;
14673 				i_2 += ((NI) 1);
14674 			} LA3: ;
14675 		}
14676 	}
14677 	newInst = generateInstance__sem_1295(c, s, m.bindings, (*n).info);
14678 	(*(*newInst).typ).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)) & 63));
14679 	info = getCallLineInfo__sem_2390(n);
14680 	markUsed__sigmatch_85(c, info, s);
14681 	result = newSymNode__ast_3719(newInst, info);
14682 	}BeforeRet_: ;
14683 	return result;
14684 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,explicitGenericInstError__sem_2567)14685 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, explicitGenericInstError__sem_2567)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
14686 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14687 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1_;
14688 	NimStringDesc* T2_;
14689 	NimStringDesc* T3_;
14690 	result = NIM_NIL;
14691 	T1_ = getCallLineInfo__sem_2390(n);
14692 	T2_ = NIM_NIL;
14693 	T2_ = renderTree__renderer_46(n, 0);
14694 	T3_ = NIM_NIL;
14695 	T3_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_81), T2_);
14696 	liMessage__msgs_1118((*(*c).graph).config, T1_, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T3_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_262, NIM_FALSE);
14697 	result = n;
14698 	return result;
14699 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,explicitGenericInstantiation__sem_2621)14700 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, explicitGenericInstantiation__sem_2621)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
14701 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14702 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
14703 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
14704 {	result = NIM_NIL;
14705 	{
14706 		NI i;
14707 		NI colontmp_;
14708 		NI i_2;
14709 		i = (NI)0;
14710 		colontmp_ = (NI)0;
14711 		colontmp_ = len__ast_3198(n);
14712 		i_2 = ((NI) 1);
14713 		{
14714 			while (1) {
14715 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
14716 				if (!(i_2 < colontmp_)) goto LA3;
14717 				i = i_2;
14718 				e = semExpr__sem_52(c, (*n)._kind_6.sons->data[i], 0);
14719 				{
14720 					if (!((*e).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA6_;
14721 					asgnRef((void**) (&(*(*n)._kind_6.sons->data[i]).typ), errorType__semdata_1002(c));
14722 				}
14723 				goto LA4_;
14724 				LA6_: ;
14725 				{
14726 					asgnRef((void**) (&(*(*n)._kind_6.sons->data[i]).typ), skipTypes__ast_3735((*e).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123));
14727 				}
14728 				LA4_: ;
14729 				i_2 += ((NI) 1);
14730 			} LA3: ;
14731 		}
14732 	}
14733 	s_2 = s;
14734 	a = (*n)._kind_6.sons->data[((NI) 0)];
14735 	{
14736 		if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA11_;
14737 		{
14738 			NI T15_;
14739 			NI T16_;
14740 			NI expected;
14741 			tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T19_;
14742 			NimStringDesc* T20_;
14743 			NimStringDesc* T21_;
14744 			NI T22_;
14745 			NimStringDesc* T23_;
14746 			NimStringDesc* T24_;
14747 			T15_ = (NI)0;
14748 			T15_ = safeLen__ast_3191((*(*s_2).ast)._kind_6.sons->data[((NI) 2)]);
14749 			T16_ = (NI)0;
14750 			T16_ = len__ast_3198(n);
14751 			if (!!((T15_ == (NI)(T16_ - ((NI) 1))))) goto LA17_;
14752 			expected = safeLen__ast_3191((*(*s_2).ast)._kind_6.sons->data[((NI) 2)]);
14753 			T19_ = getCallLineInfo__sem_2390(n);
14754 			T20_ = NIM_NIL;
14755 			T21_ = NIM_NIL;
14756 			T21_ = renderTree__renderer_46(n, 0);
14757 			T22_ = (NI)0;
14758 			T22_ = len__ast_3198(n);
14759 			T23_ = NIM_NIL;
14760 			T23_ = dollar___systemZdollars_3((NI)(T22_ - ((NI) 1)));
14761 			T24_ = NIM_NIL;
14762 			T24_ = dollar___systemZdollars_3(expected);
14763 			T20_ = rawNewString((T21_ ? T21_->Sup.len : 0) + (T23_ ? T23_->Sup.len : 0) + (T24_ ? T24_->Sup.len : 0) + 52);
14764 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_257));
14765 appendString(T20_, T21_);
14766 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_258));
14767 appendString(T20_, T23_);
14768 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_259));
14769 appendString(T20_, T24_);
14770 			liMessage__msgs_1118((*(*c).graph).config, T19_, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_260, NIM_FALSE);
14771 			result = n;
14772 			goto BeforeRet_;
14773 		}
14774 		LA17_: ;
14775 		result = explicitGenericSym__sem_2571(c, n, s_2);
14776 		{
14777 			if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA27_;
14778 			result = explicitGenericInstError__sem_2567(c, n);
14779 		}
14780 		LA27_: ;
14781 	}
14782 	goto LA9_;
14783 	LA11_: ;
14784 	{
14785 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T32_;
14786 		if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA30_;
14787 		T32_ = getCallLineInfo__sem_2390(n);
14788 		result = newNodeI__ast_3356((*a).kind, T32_);
14789 		{
14790 			NI i_3;
14791 			NI colontmp__2;
14792 			NI i_4;
14793 			i_3 = (NI)0;
14794 			colontmp__2 = (NI)0;
14795 			colontmp__2 = len__ast_3198(a);
14796 			i_4 = ((NI) 0);
14797 			{
14798 				while (1) {
14799 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* candidate;
14800 					if (!(i_4 < colontmp__2)) goto LA35;
14801 					i_3 = i_4;
14802 					candidate = (*(*a)._kind_6.sons->data[i_3])._kind_4.sym;
14803 					{
14804 						if (!((126976 &((NU32)1<<((NU)((*candidate).kind)&31U)))!=0)) goto LA38_;
14805 						{
14806 							NI T42_;
14807 							NI T43_;
14808 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
14809 							T42_ = (NI)0;
14810 							T42_ = safeLen__ast_3191((*(*candidate).ast)._kind_6.sons->data[((NI) 2)]);
14811 							T43_ = (NI)0;
14812 							T43_ = len__ast_3198(n);
14813 							if (!(T42_ == (NI)(T43_ - ((NI) 1)))) goto LA44_;
14814 							x = explicitGenericSym__sem_2571(c, n, candidate);
14815 							{
14816 								if (!!((x == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA48_;
14817 								add__ast_4797(result, x);
14818 							}
14819 							LA48_: ;
14820 						}
14821 						LA44_: ;
14822 					}
14823 					LA38_: ;
14824 					i_4 += ((NI) 1);
14825 				} LA35: ;
14826 			}
14827 		}
14828 		{
14829 			NIM_BOOL T52_;
14830 			NI T53_;
14831 			T52_ = (NIM_BOOL)0;
14832 			T53_ = (NI)0;
14833 			T53_ = len__ast_3198(result);
14834 			T52_ = (T53_ == ((NI) 1));
14835 			if (!(T52_)) goto LA54_;
14836 			T52_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56));
14837 			LA54_: ;
14838 			if (!T52_) goto LA55_;
14839 			result = (*result)._kind_6.sons->data[((NI) 0)];
14840 		}
14841 		goto LA50_;
14842 		LA55_: ;
14843 		{
14844 			NI T58_;
14845 			T58_ = (NI)0;
14846 			T58_ = len__ast_3198(result);
14847 			if (!(T58_ == ((NI) 0))) goto LA59_;
14848 			result = explicitGenericInstError__sem_2567(c, n);
14849 		}
14850 		goto LA50_;
14851 		LA59_: ;
14852 		LA50_: ;
14853 	}
14854 	goto LA9_;
14855 	LA30_: ;
14856 	{
14857 		result = explicitGenericInstError__sem_2567(c, n);
14858 	}
14859 	LA9_: ;
14860 	}BeforeRet_: ;
14861 	return result;
14862 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,maybeInstantiateGeneric__sem_17378)14863 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, maybeInstantiateGeneric__sem_17378)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
14864 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14865 	NI neededGenParams;
14866 	NI heldGenParams;
14867 	NI T1_;
14868 	NI implicitParams;
14869 	result = NIM_NIL;
14870 	neededGenParams = len__ast_3198((*(*s).ast)._kind_6.sons->data[((NI) 2)]);
14871 	T1_ = (NI)0;
14872 	T1_ = len__ast_3198(n);
14873 	heldGenParams = (NI)(T1_ - ((NI) 1));
14874 	implicitParams = ((NI) 0);
14875 	{
14876 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
14877 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp_;
14878 		x = NIM_NIL;
14879 		colontmp_ = NIM_NIL;
14880 		colontmp_ = (*(*s).ast)._kind_6.sons->data[((NI) 2)];
14881 		{
14882 			NI i;
14883 			NI colontmp__2;
14884 			NI i_2;
14885 			i = (NI)0;
14886 			colontmp__2 = (NI)0;
14887 			colontmp__2 = safeLen__ast_3191(colontmp_);
14888 			i_2 = ((NI) 0);
14889 			{
14890 				while (1) {
14891 					if (!(i_2 < colontmp__2)) goto LA5;
14892 					i = i_2;
14893 					x = (*colontmp_)._kind_6.sons->data[i];
14894 					{
14895 						if (!(((*(*x).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 26))&63U)))!=0)) goto LA8_;
14896 						implicitParams += ((NI) 1);
14897 					}
14898 					LA8_: ;
14899 					i_2 += ((NI) 1);
14900 				} LA5: ;
14901 			}
14902 		}
14903 	}
14904 	{
14905 		NIM_BOOL T12_;
14906 		T12_ = (NIM_BOOL)0;
14907 		T12_ = !((heldGenParams == neededGenParams));
14908 		if (!(T12_)) goto LA13_;
14909 		T12_ = ((NI)(implicitParams + heldGenParams) == neededGenParams);
14910 		LA13_: ;
14911 		if (!T12_) goto LA14_;
14912 		result = n;
14913 	}
14914 	goto LA10_;
14915 	LA14_: ;
14916 	{
14917 		result = explicitGenericInstantiation__sem_2621(c, n, s);
14918 		{
14919 			if (!(result == n)) goto LA19_;
14920 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), copyTree__ast_4431((*result)._kind_6.sons->data[((NI) 0)]));
14921 		}
14922 		goto LA17_;
14923 		LA19_: ;
14924 		{
14925 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), result);
14926 		}
14927 		LA17_: ;
14928 	}
14929 	LA10_: ;
14930 	return result;
14931 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,symFromType__sem_530)14932 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, symFromType__sem_530)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
14933 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
14934 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T5_;
14935 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T6_;
14936 {	result = NIM_NIL;
14937 	{
14938 		if (!!(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA3_;
14939 		result = (*t).sym;
14940 		goto BeforeRet_;
14941 	}
14942 	LA3_: ;
14943 	T5_ = NIM_NIL;
14944 	T5_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_263));
14945 	T6_ = nextSymId__ast_3132((*c).Sup.idgen);
14946 	result = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), T5_, T6_, (*t).owner, info, 0);
14947 	(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 34)) & 63);
14948 	asgnRef((void**) (&(*result).typ), t);
14949 	}BeforeRet_: ;
14950 	return result;
14951 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,symNodeFromType__sem_543)14952 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, symNodeFromType__sem_543)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
14953 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14954 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T1_;
14955 	result = NIM_NIL;
14956 	T1_ = NIM_NIL;
14957 	T1_ = symFromType__sem_530(c, t, info);
14958 	result = newSymNode__ast_3719(T1_, info);
14959 	asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, t));
14960 	return result;
14961 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semSubscript__sem_15311)14962 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSubscript__sem_15311)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
14963 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
14964 	tyObject_TType__facALICuu8zUj0hjvbTLFg* arr;
14965 {	result = NIM_NIL;
14966 	{
14967 		NI T3_;
14968 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
14969 		T3_ = (NI)0;
14970 		T3_ = len__ast_3198(n);
14971 		if (!(T3_ == ((NI) 1))) goto LA4_;
14972 		x = semDeref__sem_17356(c, n);
14973 		{
14974 			if (!(x == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA8_;
14975 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
14976 			goto BeforeRet_;
14977 		}
14978 		LA8_: ;
14979 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47), (*x).info, (*x).typ);
14980 		add__ast_4797(result, (*x)._kind_6.sons->data[((NI) 0)]);
14981 		goto BeforeRet_;
14982 	}
14983 	LA4_: ;
14984 	checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
14985 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 16384));
14986 	arr = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_251);
14987 	{
14988 		if (!((*arr).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA12_;
14989 		{
14990 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
14991 			T16_ = NIM_NIL;
14992 			T16_ = base__types_63(arr);
14993 			if (!((*T16_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA17_;
14994 			result = n;
14995 			asgnRef((void**) (&(*result).typ), semStaticType__sem_128(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
14996 			goto BeforeRet_;
14997 		}
14998 		goto LA14_;
14999 		LA17_: ;
15000 		{
15001 			if (!!(((*arr).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA20_;
15002 			result = semSubscript__sem_15311(c, (*arr).n, flags);
15003 			goto BeforeRet_;
15004 		}
15005 		goto LA14_;
15006 		LA20_: ;
15007 		{
15008 			arr = base__types_63(arr);
15009 		}
15010 		LA14_: ;
15011 	}
15012 	LA12_: ;
15013 	switch ((*arr).kind) {
15014 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
15015 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
15016 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
15017 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
15018 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
15019 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
15020 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
15021 	{
15022 		{
15023 			NI T26_;
15024 			T26_ = (NI)0;
15025 			T26_ = len__ast_3198(n);
15026 			if (!!((T26_ == ((NI) 2)))) goto LA27_;
15027 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
15028 			goto BeforeRet_;
15029 		}
15030 		LA27_: ;
15031 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), makeDeref__sem_9872((*n)._kind_6.sons->data[((NI) 0)]));
15032 		{
15033 			NI i;
15034 			NI colontmp_;
15035 			NI i_2;
15036 			i = (NI)0;
15037 			colontmp_ = (NI)0;
15038 			colontmp_ = len__ast_3198(n);
15039 			i_2 = ((NI) 1);
15040 			{
15041 				while (1) {
15042 					if (!(i_2 < colontmp_)) goto LA31;
15043 					i = i_2;
15044 					asgnRef((void**) (&(*n)._kind_6.sons->data[i]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[i], (flags & 520)));
15045 					i_2 += ((NI) 1);
15046 				} LA31: ;
15047 			}
15048 		}
15049 		{
15050 			tyObject_TType__facALICuu8zUj0hjvbTLFg* indexType;
15051 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg;
15052 			if (!((*arr).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16))) goto LA34_;
15053 			indexType = (*arr).sons->data[((NI) 0)];
15054 			arg = indexTypesMatch__sem_120(c, indexType, (*(*n)._kind_6.sons->data[((NI) 1)]).typ, (*n)._kind_6.sons->data[((NI) 1)]);
15055 			{
15056 				if (!!((arg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA38_;
15057 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), arg);
15058 				result = n;
15059 				asgnRef((void**) (&(*result).typ), elemType__types_263(arr));
15060 			}
15061 			LA38_: ;
15062 		}
15063 		goto LA32_;
15064 		LA34_: ;
15065 		{
15066 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T41_;
15067 			T41_ = NIM_NIL;
15068 			T41_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_253);
15069 			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_;
15070 			result = n;
15071 			asgnRef((void**) (&(*result).typ), elemType__types_263(arr));
15072 		}
15073 		goto LA32_;
15074 		LA42_: ;
15075 		LA32_: ;
15076 	}
15077 	break;
15078 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
15079 	{
15080 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T45_;
15081 		result = n;
15082 		T45_ = NIM_NIL;
15083 		T45_ = semTypeNode__sem_80(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
15084 		asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, T45_));
15085 	}
15086 	break;
15087 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
15088 	{
15089 		{
15090 			NI T49_;
15091 			T49_ = (NI)0;
15092 			T49_ = len__ast_3198(n);
15093 			if (!!((T49_ == ((NI) 2)))) goto LA50_;
15094 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
15095 			goto BeforeRet_;
15096 		}
15097 		LA50_: ;
15098 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), makeDeref__sem_9872((*n)._kind_6.sons->data[((NI) 0)]));
15099 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semConstExpr__sem_611(c, (*n)._kind_6.sons->data[((NI) 1)]));
15100 		{
15101 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T54_;
15102 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA idx;
15103 			T54_ = NIM_NIL;
15104 			T54_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_254);
15105 			if (!((*T54_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*T54_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35))) goto LA55_;
15106 			idx = getOrdValue__types_161((*n)._kind_6.sons->data[((NI) 1)], Max__int495056_27);
15107 			{
15108 				NIM_BOOL T59_;
15109 				NI T61_;
15110 				NI T64_;
15111 				T59_ = (NIM_BOOL)0;
15112 				T59_ = lteq___int495056_752(IL64(0), idx);
15113 				if (!(T59_)) goto LA60_;
15114 				T61_ = (NI)0;
15115 				T61_ = len__ast_4002(arr);
15116 				T59_ = lt___int495056_721(idx, ((NI64) (T61_)));
15117 				LA60_: ;
15118 				if (!T59_) goto LA62_;
15119 				T64_ = (NI)0;
15120 				T64_ = toInt__int495056_170(idx);
15121 				asgnRef((void**) (&(*n).typ), (*arr).sons->data[T64_]);
15122 			}
15123 			goto LA57_;
15124 			LA62_: ;
15125 			{
15126 				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);
15127 			}
15128 			LA57_: ;
15129 			result = n;
15130 		}
15131 		goto LA52_;
15132 		LA55_: ;
15133 		{
15134 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
15135 		}
15136 		LA52_: ;
15137 	}
15138 	break;
15139 	default:
15140 	{
15141 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
15142 		{
15143 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA70_;
15144 			s = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
15145 		}
15146 		goto LA68_;
15147 		LA70_: ;
15148 		{
15149 			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_;
15150 			s = (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)])._kind_4.sym;
15151 		}
15152 		goto LA68_;
15153 		LA73_: ;
15154 		{
15155 			s = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
15156 		}
15157 		LA68_: ;
15158 		{
15159 			if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA78_;
15160 			switch ((*s).kind) {
15161 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12):
15162 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13):
15163 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14):
15164 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
15165 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
15166 			{
15167 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semSymGenericInstantiation__sem_13998(c, (*n)._kind_6.sons->data[((NI) 0)], s));
15168 				result = maybeInstantiateGeneric__sem_17378(c, n, s);
15169 			}
15170 			break;
15171 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
15172 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
15173 			{
15174 				{
15175 					if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 15))&31U)))!=0)) goto LA84_;
15176 					result = n;
15177 				}
15178 				goto LA82_;
15179 				LA84_: ;
15180 				{
15181 					transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 27));
15182 					switch ((*s).kind) {
15183 					case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
15184 					{
15185 						result = semMacroExpr__sem_524(c, n, n, s, flags);
15186 					}
15187 					break;
15188 					case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
15189 					{
15190 						result = semTemplateExpr__sem_519(c, n, s, flags);
15191 					}
15192 					break;
15193 					default:
15194 					{
15195 					}
15196 					break;
15197 					}
15198 				}
15199 				LA82_: ;
15200 			}
15201 			break;
15202 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
15203 			{
15204 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T91_;
15205 				T91_ = NIM_NIL;
15206 				T91_ = semTypeNode__sem_80(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
15207 				result = symNodeFromType__sem_543(c, T91_, (*n).info);
15208 			}
15209 			break;
15210 			default:
15211 			{
15212 			}
15213 			break;
15214 			}
15215 		}
15216 		LA78_: ;
15217 	}
15218 	break;
15219 	}
15220 	}BeforeRet_: ;
15221 	return result;
15222 }
N_NIMCALL(void,effectProblem__sem_1583)15223 N_LIB_PRIVATE N_NIMCALL(void, effectProblem__sem_1583)(tyObject_TType__facALICuu8zUj0hjvbTLFg* f, tyObject_TType__facALICuu8zUj0hjvbTLFg* a, NimStringDesc** result, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
15224 	{
15225 		NIM_BOOL T3_;
15226 		T3_ = (NIM_BOOL)0;
15227 		T3_ = ((*f).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
15228 		if (!(T3_)) goto LA4_;
15229 		T3_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
15230 		LA4_: ;
15231 		if (!T3_) goto LA5_;
15232 		{
15233 			NIM_BOOL T9_;
15234 			T9_ = (NIM_BOOL)0;
15235 			T9_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 7))&63U)))!=0);
15236 			if (!(T9_)) goto LA10_;
15237 			T9_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 7))&63U)))!=0));
15238 			LA10_: ;
15239 			if (!T9_) goto LA11_;
15240 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), 103));
15241 appendString((*result), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_286));
15242 		}
15243 		goto LA7_;
15244 		LA11_: ;
15245 		{
15246 			NIM_BOOL T14_;
15247 			T14_ = (NIM_BOOL)0;
15248 			T14_ = (((*f).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0);
15249 			if (!(T14_)) goto LA15_;
15250 			T14_ = !((((*a).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1))&63U)))!=0));
15251 			LA15_: ;
15252 			if (!T14_) goto LA16_;
15253 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), 116));
15254 appendString((*result), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_287));
15255 		}
15256 		goto LA7_;
15257 		LA16_: ;
15258 		{
15259 			tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ T19_;
15260 			T19_ = (tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ)0;
15261 			T19_ = compatibleEffects__types_3425(f, a);
15262 			switch (T19_) {
15263 			case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 0):
15264 			{
15265 			}
15266 			break;
15267 			case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 1):
15268 			{
15269 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), 37));
15270 appendString((*result), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_288));
15271 			}
15272 			break;
15273 			case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 2):
15274 			{
15275 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), 110));
15276 appendString((*result), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_289));
15277 			}
15278 			break;
15279 			case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 3):
15280 			{
15281 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), 35));
15282 appendString((*result), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_290));
15283 			}
15284 			break;
15285 			case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 4):
15286 			{
15287 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), 106));
15288 appendString((*result), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_291));
15289 			}
15290 			break;
15291 			case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 5):
15292 			{
15293 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), 107));
15294 appendString((*result), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_292));
15295 			}
15296 			break;
15297 			case ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 6):
15298 			{
15299 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), 39));
15300 appendString((*result), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_293));
15301 			}
15302 			break;
15303 			}
15304 		}
15305 		LA7_: ;
15306 	}
15307 	LA5_: ;
15308 }
N_INLINE(void,nimGCunrefNoCycle)15309 static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
15310 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
15311 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
15312 	T1_ = usrToCell__system_5271(p);
15313 	decRef__system_5316(T1_);
15314 }
N_INLINE(NI,star___pureZalgorithm_8)15315 static N_INLINE(NI, star___pureZalgorithm_8)(NI x, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
15316 	NI result;
15317 	NI y;
15318 	result = (NI)0;
15319 	y = (NI)(order - ((NI) 1));
15320 	result = (NI)((NI)(x ^ y) - y);
15321 	return result;
15322 }
N_NIMCALL(void,mergeAlt__sem_1820)15323 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) {
15324 	NI j;
15325 	NI bb;
15326 	NI i;
15327 	NI k;
15328 {	{
15329 		NI T3_;
15330 		NI T4_;
15331 		T3_ = (NI)0;
15332 		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))]);
15333 		T4_ = (NI)0;
15334 		T4_ = star___pureZalgorithm_8(T3_, order);
15335 		if (!(T4_ <= ((NI) 0))) goto LA5_;
15336 		goto BeforeRet_;
15337 	}
15338 	LA5_: ;
15339 	j = lo;
15340 	bb = ((NI) 0);
15341 	{
15342 		while (1) {
15343 			if (!(j <= m)) goto LA8;
15344 			unsureAsgnRef((void**) (&b[bb]), a[j]);
15345 			bb += ((NI) 1);
15346 			j += ((NI) 1);
15347 		} LA8: ;
15348 	}
15349 	i = ((NI) 0);
15350 	k = lo;
15351 	{
15352 		while (1) {
15353 			NIM_BOOL T11_;
15354 			T11_ = (NIM_BOOL)0;
15355 			T11_ = (k < j);
15356 			if (!(T11_)) goto LA12_;
15357 			T11_ = (j <= hi);
15358 			LA12_: ;
15359 			if (!T11_) goto LA10;
15360 			{
15361 				NI T15_;
15362 				NI T16_;
15363 				T15_ = (NI)0;
15364 				T15_ = cmp.ClE_0? cmp.ClP_0(b[i], a[j], cmp.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_295)(cmp.ClP_0))(b[i], a[j]);
15365 				T16_ = (NI)0;
15366 				T16_ = star___pureZalgorithm_8(T15_, order);
15367 				if (!(T16_ <= ((NI) 0))) goto LA17_;
15368 				unsureAsgnRef((void**) (&a[k]), b[i]);
15369 				i += ((NI) 1);
15370 			}
15371 			goto LA13_;
15372 			LA17_: ;
15373 			{
15374 				unsureAsgnRef((void**) (&a[k]), a[j]);
15375 				j += ((NI) 1);
15376 			}
15377 			LA13_: ;
15378 			k += ((NI) 1);
15379 		} LA10: ;
15380 	}
15381 	{
15382 		while (1) {
15383 			if (!(k < j)) goto LA21;
15384 			unsureAsgnRef((void**) (&a[k]), b[i]);
15385 			k += ((NI) 1);
15386 			i += ((NI) 1);
15387 		} LA21: ;
15388 	}
15389 	}BeforeRet_: ;
15390 }
N_NIMCALL(void,sort__sem_1803)15391 N_LIB_PRIVATE N_NIMCALL(void, sort__sem_1803)(NimStringDesc** a, NI aLen_0, tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA cmp, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
15392 	NI n;
15393 	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* b;
15394 	NI s;
15395 	n = aLen_0;
15396 	b = newSeq__systemZio_501(((NI) ((NI)(n / ((NI) 2)))));
15397 	s = ((NI) 1);
15398 	{
15399 		while (1) {
15400 			NI m;
15401 			if (!(s < n)) goto LA2;
15402 			m = (NI)((NI)(n - ((NI) 1)) - s);
15403 			{
15404 				while (1) {
15405 					if (!(((NI) 0) <= m)) goto LA4;
15406 					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);
15407 					m -= (NI)(s * ((NI) 2));
15408 				} LA4: ;
15409 			}
15410 			s = (NI)(s * ((NI) 2));
15411 		} LA2: ;
15412 	}
15413 }
N_INLINE(NI,cmpStrings)15414 static N_INLINE(NI, cmpStrings)(NimStringDesc* a, NimStringDesc* b) {
15415 	NI result;
15416 	NI alen;
15417 	NI blen;
15418 	NI minlen;
15419 	result = (NI)0;
15420 	alen = (a ? a->Sup.len : 0);
15421 	blen = (b ? b->Sup.len : 0);
15422 	minlen = ((alen <= blen) ? alen : blen);
15423 	{
15424 		int T5_;
15425 		if (!(((NI) 0) < minlen)) goto LA3_;
15426 		T5_ = (int)0;
15427 		T5_ = memcmp(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((size_t) (minlen)));
15428 		result = ((NI) (T5_));
15429 		{
15430 			if (!(result == ((NI) 0))) goto LA8_;
15431 			result = (NI)(alen - blen);
15432 		}
15433 		LA8_: ;
15434 	}
15435 	goto LA1_;
15436 	LA3_: ;
15437 	{
15438 		result = (NI)(alen - blen);
15439 	}
15440 	LA1_: ;
15441 	return result;
15442 }
N_NIMCALL(NI,cmp__sem_1796)15443 N_LIB_PRIVATE N_NIMCALL(NI, cmp__sem_1796)(NimStringDesc* x, NimStringDesc* y) {
15444 	NI result;
15445 {	result = (NI)0;
15446 	{
15447 		if (!eqStrings(x, y)) goto LA3_;
15448 		result = ((NI) 0);
15449 		goto BeforeRet_;
15450 	}
15451 	LA3_: ;
15452 	{
15453 		if (!(cmpStrings(x, y) < 0)) goto LA7_;
15454 		result = ((NI) -1);
15455 		goto BeforeRet_;
15456 	}
15457 	LA7_: ;
15458 	result = ((NI) 1);
15459 	goto BeforeRet_;
15460 	}BeforeRet_: ;
15461 	return result;
15462 }
N_NIMCALL(void,sort__sem_1792)15463 N_LIB_PRIVATE N_NIMCALL(void, sort__sem_1792)(NimStringDesc** a, NI aLen_0, tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA order) {
15464 	tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA T1_;
15465 	nimZeroMem((void*)(&T1_), sizeof(tyProc__3pmh9bG9bLpdxUjFu9cDtbZaA));
15466 	T1_.ClP_0 = ((TM__rF9caJawfOjYTjsgLVUSGFA_296) (cmp__sem_1796)); T1_.ClE_0 = NIM_NIL;
15467 	sort__sem_1803(a, aLen_0, T1_, order);
15468 }
N_NIMCALL(void,presentFailedCandidates__sem_1636)15469 N_LIB_PRIVATE N_NIMCALL(void, presentFailedCandidates__sem_1636)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__0dpGN6F4ocevqUQGsaf41w* errors, tyTuple__ZtAk5YtH0VW1iPowvxePrg* Result) {
15470 	tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer;
15471 	NimStringDesc* proto;
15472 	NIM_BOOL filterOnlyFirst;
15473 	NIM_BOOL maybeWrongSpace;
15474 	tySequence__sM4lkSb7zS6F7OVMvW9cffQ* candidatesAll;
15475 	NimStringDesc* candidates;
15476 	NI skipped;
15477 	tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw colontmp__2;
15478 	NimStringDesc* colontmp__3;
15479 	prefer = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0);
15480 	proto = describeArgs__sigmatch_384(c, n, ((NI) 1), ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
15481 	{
15482 		tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ* err;
15483 		NI i;
15484 		NI L;
15485 		NI T2_;
15486 		err = (tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ*)0;
15487 		i = ((NI) 0);
15488 		T2_ = (errors ? errors->Sup.len : 0);
15489 		L = T2_;
15490 		{
15491 			while (1) {
15492 				NimStringDesc* errProto;
15493 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
15494 				if (!(i < L)) goto LA4;
15495 				err = (&errors->data[i]);
15496 				errProto = ((NimStringDesc*) NIM_NIL);
15497 				n_2 = (*(*(*err).sym).typ).n;
15498 				{
15499 					NI i_2;
15500 					NI colontmp_;
15501 					NI i_3;
15502 					i_2 = (NI)0;
15503 					colontmp_ = (NI)0;
15504 					colontmp_ = len__ast_3198(n_2);
15505 					i_3 = ((NI) 1);
15506 					{
15507 						while (1) {
15508 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
15509 							if (!(i_3 < colontmp_)) goto LA7;
15510 							i_2 = i_3;
15511 							p = (*n_2)._kind_6.sons->data[i_2];
15512 							{
15513 								NimStringDesc* T12_;
15514 								if (!((*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA10_;
15515 								T12_ = NIM_NIL;
15516 								T12_ = typeToString__types_50((*(*p)._kind_4.sym).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
15517 								errProto = resizeString(errProto, (T12_ ? T12_->Sup.len : 0) + 0);
15518 appendString(errProto, T12_);
15519 								{
15520 									NI T15_;
15521 									T15_ = (NI)0;
15522 									T15_ = len__ast_3198(n_2);
15523 									if (!!((i_2 == (NI)(T15_ - ((NI) 1))))) goto LA16_;
15524 									errProto = resizeString(errProto, 2);
15525 appendString(errProto, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
15526 								}
15527 								LA16_: ;
15528 							}
15529 							LA10_: ;
15530 							i_3 += ((NI) 1);
15531 						} LA7: ;
15532 					}
15533 				}
15534 				{
15535 					if (!eqStrings(errProto, proto)) goto LA20_;
15536 					prefer = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 3);
15537 					goto LA1;
15538 				}
15539 				LA20_: ;
15540 				i += ((NI) 1);
15541 			} LA4: ;
15542 		}
15543 	} LA1: ;
15544 	filterOnlyFirst = NIM_FALSE;
15545 	{
15546 		if (!!((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 32))&63U)))!=0))) goto LA24_;
15547 		{
15548 			tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ* err_2;
15549 			NI i_4;
15550 			NI L_2;
15551 			NI T27_;
15552 			err_2 = (tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ*)0;
15553 			i_4 = ((NI) 0);
15554 			T27_ = (errors ? errors->Sup.len : 0);
15555 			L_2 = T27_;
15556 			{
15557 				while (1) {
15558 					if (!(i_4 < L_2)) goto LA29;
15559 					err_2 = (&errors->data[i_4]);
15560 					{
15561 						if (!(((NI) 1) < (*err_2).firstMismatch.arg)) goto LA32_;
15562 						filterOnlyFirst = NIM_TRUE;
15563 						goto LA26;
15564 					}
15565 					LA32_: ;
15566 					i_4 += ((NI) 1);
15567 				} LA29: ;
15568 			}
15569 		} LA26: ;
15570 	}
15571 	LA24_: ;
15572 	maybeWrongSpace = NIM_FALSE;
15573 	candidatesAll = NIM_NIL;
15574 	candidates = ((NimStringDesc*) NIM_NIL);
15575 	skipped = ((NI) 0);
15576 	{
15577 		tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ* err_3;
15578 		NI i_5;
15579 		NI L_3;
15580 		NI T35_;
15581 		err_3 = (tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ*)0;
15582 		i_5 = ((NI) 0);
15583 		T35_ = (errors ? errors->Sup.len : 0);
15584 		L_3 = T35_;
15585 		{
15586 			while (1) {
15587 				if (!(i_5 < L_3)) goto LA37;
15588 				err_3 = (&errors->data[i_5]);
15589 				{
15590 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nArg;
15591 					NimStringDesc* nameParam;
15592 					NI T132_;
15593 					NimStringDesc* T133_;
15594 					candidates = setLengthStr(candidates, ((NI) 0));
15595 					{
15596 						NIM_BOOL T41_;
15597 						T41_ = (NIM_BOOL)0;
15598 						T41_ = filterOnlyFirst;
15599 						if (!(T41_)) goto LA42_;
15600 						T41_ = ((*err_3).firstMismatch.arg == ((NI) 1));
15601 						LA42_: ;
15602 						if (!T41_) goto LA43_;
15603 						skipped += ((NI) 1);
15604 						goto LA38;
15605 					}
15606 					LA43_: ;
15607 					{
15608 						NIM_BOOL T47_;
15609 						NimStringDesc* T51_;
15610 						T47_ = (NIM_BOOL)0;
15611 						T47_ = ((520192 &((NU32)1<<((NU)((*(*err_3).sym).kind)&31U)))!=0);
15612 						if (!(T47_)) goto LA48_;
15613 						T47_ = !(((*(*err_3).sym).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
15614 						LA48_: ;
15615 						if (!T47_) goto LA49_;
15616 						T51_ = NIM_NIL;
15617 						T51_ = renderTree__renderer_46((*(*err_3).sym).ast, 22);
15618 						candidates = resizeString(candidates, (T51_ ? T51_->Sup.len : 0) + 0);
15619 appendString(candidates, T51_);
15620 					}
15621 					goto LA45_;
15622 					LA49_: ;
15623 					{
15624 						NimStringDesc* T53_;
15625 						T53_ = NIM_NIL;
15626 						T53_ = getProcHeader__types_222((*(*c).graph).config, (*err_3).sym, prefer, NIM_TRUE);
15627 						candidates = resizeString(candidates, (T53_ ? T53_->Sup.len : 0) + 0);
15628 appendString(candidates, T53_);
15629 					}
15630 					LA45_: ;
15631 					addDeclaredLocMaybe__astmsgs_21((&candidates), (*(*c).graph).config, (*err_3).sym);
15632 					candidates = resizeString(candidates, 1);
15633 appendString(candidates, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_270));
15634 					{
15635 						NI T56_;
15636 						T56_ = (NI)0;
15637 						T56_ = len__ast_3198(n);
15638 						if (!((*err_3).firstMismatch.arg < T56_)) goto LA57_;
15639 						nArg = (*n)._kind_6.sons->data[(*err_3).firstMismatch.arg];
15640 					}
15641 					goto LA54_;
15642 					LA57_: ;
15643 					{
15644 						nArg = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
15645 					}
15646 					LA54_: ;
15647 					{
15648 						if (!!(((*err_3).firstMismatch.formal == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA62_;
15649 						nameParam = (*(*(*err_3).firstMismatch.formal).name).s;
15650 					}
15651 					goto LA60_;
15652 					LA62_: ;
15653 					{
15654 						nameParam = ((NimStringDesc*) NIM_NIL);
15655 					}
15656 					LA60_: ;
15657 					{
15658 						NI T67_;
15659 						NimStringDesc* T70_;
15660 						NimStringDesc* T71_;
15661 						T67_ = (NI)0;
15662 						T67_ = len__ast_3198(n);
15663 						if (!(((NI) 1) < T67_)) goto LA68_;
15664 						T70_ = NIM_NIL;
15665 						T71_ = NIM_NIL;
15666 						T71_ = dollar___systemZdollars_3((*err_3).firstMismatch.arg);
15667 						T70_ = rawNewString((T71_ ? T71_->Sup.len : 0) + 35);
15668 appendString(T70_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_271));
15669 appendString(T70_, T71_);
15670 						candidates = resizeString(candidates, (T70_ ? T70_->Sup.len : 0) + 0);
15671 appendString(candidates, T70_);
15672 						switch ((*err_3).firstMismatch.kind) {
15673 						case ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 2):
15674 						{
15675 							{
15676 								if (!(nArg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA75_;
15677 								candidates = resizeString(candidates, 26);
15678 appendString(candidates, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_272));
15679 							}
15680 							goto LA73_;
15681 							LA75_: ;
15682 							{
15683 								NimStringDesc* T78_;
15684 								NimStringDesc* T79_;
15685 								T78_ = NIM_NIL;
15686 								T79_ = NIM_NIL;
15687 								T79_ = dollar___renderer_2106((*nArg)._kind_6.sons->data[((NI) 0)]);
15688 								T78_ = rawNewString((T79_ ? T79_->Sup.len : 0) + 28);
15689 appendString(T78_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_273));
15690 appendString(T78_, T79_);
15691 								candidates = resizeString(candidates, (T78_ ? T78_->Sup.len : 0) + 0);
15692 appendString(candidates, T78_);
15693 							}
15694 							LA73_: ;
15695 						}
15696 						break;
15697 						case ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 1):
15698 						{
15699 							NimStringDesc* T81_;
15700 							NimStringDesc* T82_;
15701 							T81_ = NIM_NIL;
15702 							T82_ = NIM_NIL;
15703 							T82_ = dollar___renderer_2106((*nArg)._kind_6.sons->data[((NI) 0)]);
15704 							T81_ = rawNewString((T82_ ? T82_->Sup.len : 0) + 33);
15705 appendString(T81_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_274));
15706 appendString(T81_, T82_);
15707 							candidates = resizeString(candidates, (T81_ ? T81_->Sup.len : 0) + 0);
15708 appendString(candidates, T81_);
15709 						}
15710 						break;
15711 						case ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 7):
15712 						{
15713 							candidates = resizeString(candidates, 52);
15714 appendString(candidates, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_275));
15715 						}
15716 						break;
15717 						case ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 6):
15718 						{
15719 							candidates = resizeString(candidates, 23);
15720 appendString(candidates, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_276));
15721 						}
15722 						break;
15723 						case ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 5):
15724 						{
15725 							NimStringDesc* T86_;
15726 							T86_ = NIM_NIL;
15727 							T86_ = rawNewString((nameParam ? nameParam->Sup.len : 0) + 22);
15728 appendString(T86_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_277));
15729 appendString(T86_, nameParam);
15730 							candidates = resizeString(candidates, (T86_ ? T86_->Sup.len : 0) + 0);
15731 appendString(candidates, T86_);
15732 						}
15733 						break;
15734 						case ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 3):
15735 						case ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4):
15736 						{
15737 							tyObject_TType__facALICuu8zUj0hjvbTLFg* wanted;
15738 							NimStringDesc* T96_;
15739 							{
15740 								if (!!(!((nArg == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))))) goto LA90_;
15741 								failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_278));
15742 							}
15743 							LA90_: ;
15744 							wanted = (*(*err_3).firstMismatch.formal).typ;
15745 							{
15746 								if (!!(!(((*err_3).firstMismatch.formal == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))))) goto LA94_;
15747 								failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_279));
15748 							}
15749 							LA94_: ;
15750 							T96_ = NIM_NIL;
15751 							T96_ = rawNewString((nameParam ? nameParam->Sup.len : 0) + 23);
15752 appendString(T96_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_280));
15753 appendString(T96_, nameParam);
15754 appendString(T96_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_281));
15755 							candidates = resizeString(candidates, (T96_ ? T96_->Sup.len : 0) + 0);
15756 appendString(candidates, T96_);
15757 							addTypeDeclVerboseMaybe__types_53((&candidates), (*(*c).graph).config, wanted);
15758 							candidates = resizeString(candidates, 19);
15759 appendString(candidates, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_282));
15760 							{
15761 								NimStringDesc* T101_;
15762 								if (!((*err_3).firstMismatch.kind == ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 4))) goto LA99_;
15763 								T101_ = NIM_NIL;
15764 								T101_ = renderNotLValue__sem_1612(nArg);
15765 								candidates = resizeString(candidates, (T101_ ? T101_->Sup.len : 0) + 0);
15766 appendString(candidates, T101_);
15767 								candidates = resizeString(candidates, 25);
15768 appendString(candidates, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_283));
15769 							}
15770 							goto LA97_;
15771 							LA99_: ;
15772 							{
15773 								NimStringDesc* T103_;
15774 								tyObject_TType__facALICuu8zUj0hjvbTLFg* got;
15775 								T103_ = NIM_NIL;
15776 								T103_ = renderTree__renderer_46(nArg, 0);
15777 								candidates = resizeString(candidates, (T103_ ? T103_->Sup.len : 0) + 0);
15778 appendString(candidates, T103_);
15779 								candidates = resizeString(candidates, 14);
15780 appendString(candidates, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_284));
15781 								got = (*nArg).typ;
15782 								addTypeDeclVerboseMaybe__types_53((&candidates), (*(*c).graph).config, got);
15783 								{
15784 									if (!!(!((wanted == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))))) goto LA106_;
15785 									failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_285));
15786 								}
15787 								LA106_: ;
15788 								{
15789 									if (!!((got == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA110_;
15790 									{
15791 										NIM_BOOL T114_;
15792 										T114_ = (NIM_BOOL)0;
15793 										T114_ = ((*got).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
15794 										if (!(T114_)) goto LA115_;
15795 										T114_ = ((*wanted).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
15796 										LA115_: ;
15797 										if (!T114_) goto LA116_;
15798 										addPragmaAndCallConvMismatch__types_3795((&candidates), wanted, got, (*(*c).graph).config);
15799 									}
15800 									LA116_: ;
15801 									effectProblem__sem_1583(wanted, got, (&candidates), c);
15802 								}
15803 								LA110_: ;
15804 							}
15805 							LA97_: ;
15806 						}
15807 						break;
15808 						case ((tyEnum_MismatchKind__9a6KkG9auuBdYowCMkBNpD6w) 0):
15809 						{
15810 						}
15811 						break;
15812 						}
15813 						candidates = resizeString(candidates, 1);
15814 appendString(candidates, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_270));
15815 						{
15816 							NIM_BOOL T121_;
15817 							NIM_BOOL T122_;
15818 							T121_ = (NIM_BOOL)0;
15819 							T122_ = (NIM_BOOL)0;
15820 							T122_ = ((*err_3).firstMismatch.arg == ((NI) 1));
15821 							if (!(T122_)) goto LA123_;
15822 							T122_ = ((*nArg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160));
15823 							LA123_: ;
15824 							T121_ = T122_;
15825 							if (!(T121_)) goto LA124_;
15826 							T121_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26));
15827 							LA124_: ;
15828 							if (!T121_) goto LA125_;
15829 							maybeWrongSpace = NIM_TRUE;
15830 						}
15831 						LA125_: ;
15832 					}
15833 					LA68_: ;
15834 					{
15835 						NimStringDesc** diag;
15836 						NI i_6;
15837 						NI L_4;
15838 						NI T128_;
15839 						diag = (NimStringDesc**)0;
15840 						i_6 = ((NI) 0);
15841 						T128_ = ((*err_3).diagnostics ? (*err_3).diagnostics->Sup.len : 0);
15842 						L_4 = T128_;
15843 						{
15844 							while (1) {
15845 								NimStringDesc* T131_;
15846 								if (!(i_6 < L_4)) goto LA130;
15847 								diag = (&(*err_3).diagnostics->data[i_6]);
15848 								T131_ = NIM_NIL;
15849 								T131_ = rawNewString(((*diag) ? (*diag)->Sup.len : 0) + 1);
15850 appendString(T131_, (*diag));
15851 appendString(T131_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_270));
15852 								candidates = resizeString(candidates, (T131_ ? T131_->Sup.len : 0) + 0);
15853 appendString(candidates, T131_);
15854 								i_6 += ((NI) 1);
15855 							} LA130: ;
15856 						}
15857 					}
15858 					candidatesAll = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ*) incrSeqV3((TGenericSeq*)(candidatesAll), (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
15859 					T132_ = candidatesAll->Sup.len++;
15860 					T133_ = NIM_NIL;
15861 					T133_ = candidatesAll->data[T132_]; candidatesAll->data[T132_] = copyStringRC1(candidates);
15862 					if (T133_) nimGCunrefNoCycle(T133_);
15863 				} LA38: ;
15864 				i_5 += ((NI) 1);
15865 			} LA37: ;
15866 		}
15867 	}
15868 	sort__sem_1792(candidatesAll->data, (candidatesAll ? candidatesAll->Sup.len : 0), ((tyEnum_SortOrder__8iBc6wlNqBa9cju9cUAhUAxA) 1));
15869 	candidates = nsuJoinSep(candidatesAll->data, (candidatesAll ? candidatesAll->Sup.len : 0), ((NimStringDesc*) NIM_NIL));
15870 	{
15871 		NimStringDesc* T138_;
15872 		NimStringDesc* T139_;
15873 		if (!(((NI) 0) < skipped)) goto LA136_;
15874 		T138_ = NIM_NIL;
15875 		T139_ = NIM_NIL;
15876 		T139_ = dollar___systemZdollars_3(skipped);
15877 		T138_ = rawNewString((T139_ ? T139_->Sup.len : 0) + 97);
15878 appendString(T138_, T139_);
15879 appendString(T138_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_297));
15880 		candidates = resizeString(candidates, (T138_ ? T138_->Sup.len : 0) + 0);
15881 appendString(candidates, T138_);
15882 	}
15883 	LA136_: ;
15884 	{
15885 		NimStringDesc* T144_;
15886 		NimStringDesc* T145_;
15887 		if (!maybeWrongSpace) goto LA142_;
15888 		T144_ = NIM_NIL;
15889 		T145_ = NIM_NIL;
15890 		T145_ = renderTree__renderer_46((*n)._kind_6.sons->data[((NI) 0)], 0);
15891 		T144_ = rawNewString((T145_ ? T145_->Sup.len : 0) + 40);
15892 appendString(T144_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_298));
15893 appendString(T144_, T145_);
15894 appendString(T144_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_299));
15895 		candidates = resizeString(candidates, (T144_ ? T144_->Sup.len : 0) + 0);
15896 appendString(candidates, T144_);
15897 	}
15898 	LA142_: ;
15899 	colontmp__2 = prefer;
15900 	colontmp__3 = copyString(candidates);
15901 	(*Result).Field0 = colontmp__2;
15902 	unsureAsgnRef((void**) (&(*Result).Field1), copyString(colontmp__3));
15903 }
N_NIMCALL(void,notFoundError__sem_1922)15904 N_LIB_PRIVATE N_NIMCALL(void, notFoundError__sem_1922)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySequence__0dpGN6F4ocevqUQGsaf41w* errors) {
15905 	tyTuple__ZtAk5YtH0VW1iPowvxePrg T12_;
15906 	tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer;
15907 	NimStringDesc* candidates;
15908 	NimStringDesc* result;
15909 	NimStringDesc* T13_;
15910 	NimStringDesc* T19_;
15911 	NimStringDesc* T20_;
15912 {	{
15913 		if (!((*(*(*c).graph).config).m.errorOutputs == 0)) goto LA3_;
15914 		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);
15915 		goto BeforeRet_;
15916 	}
15917 	LA3_: ;
15918 	{
15919 		NI T7_;
15920 		NimStringDesc* T10_;
15921 		NimStringDesc* T11_;
15922 		T7_ = (errors ? errors->Sup.len : 0);
15923 		if (!(T7_ == ((NI) 0))) goto LA8_;
15924 		T10_ = NIM_NIL;
15925 		T10_ = renderTree__renderer_46((*n)._kind_6.sons->data[((NI) 0)], 0);
15926 		T11_ = NIM_NIL;
15927 		T11_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_268), T10_);
15928 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_269, NIM_FALSE);
15929 		goto BeforeRet_;
15930 	}
15931 	LA8_: ;
15932 	nimZeroMem((void*)(&T12_), sizeof(tyTuple__ZtAk5YtH0VW1iPowvxePrg));
15933 	presentFailedCandidates__sem_1636(c, n, errors, (&T12_));
15934 	prefer = (tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw)0;
15935 	prefer = T12_.Field0;
15936 	candidates = NIM_NIL;
15937 	candidates = T12_.Field1;
15938 	result = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_300));
15939 	T13_ = NIM_NIL;
15940 	T13_ = describeArgs__sigmatch_384(c, n, ((NI) 1), prefer);
15941 	result = resizeString(result, (T13_ ? T13_->Sup.len : 0) + 0);
15942 appendString(result, T13_);
15943 	result = addChar(result, 62);
15944 	{
15945 		NimStringDesc* T18_;
15946 		if (!!(((candidates ? candidates->Sup.len : 0) == 0))) goto LA16_;
15947 		T18_ = NIM_NIL;
15948 		T18_ = rawNewString((candidates ? candidates->Sup.len : 0) + 22);
15949 appendString(T18_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_301));
15950 appendString(T18_, candidates);
15951 		result = resizeString(result, (T18_ ? T18_->Sup.len : 0) + 0);
15952 appendString(result, T18_);
15953 	}
15954 	LA16_: ;
15955 	T19_ = NIM_NIL;
15956 	T20_ = NIM_NIL;
15957 	T20_ = dollar___renderer_2106(n);
15958 	T19_ = rawNewString((result ? result->Sup.len : 0) + (T20_ ? T20_->Sup.len : 0) + 13);
15959 appendString(T19_, result);
15960 appendString(T19_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_302));
15961 appendString(T19_, T20_);
15962 	liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T19_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_303, NIM_FALSE);
15963 	}BeforeRet_: ;
15964 }
N_NIMCALL(void,bracketNotFoundError__sem_1937)15965 N_LIB_PRIVATE N_NIMCALL(void, bracketNotFoundError__sem_1937)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
15966 	tySequence__0dpGN6F4ocevqUQGsaf41w* errors;
15967 	tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
15968 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* headSymbol;
15969 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symx;
15970 	errors = NIM_NIL;
15971 	nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
15972 	headSymbol = (*n)._kind_6.sons->data[((NI) 0)];
15973 	symx = initOverloadIter__lookups_1374((&o), c, headSymbol);
15974 	{
15975 		while (1) {
15976 			if (!!((symx == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA2;
15977 			{
15978 				tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ T7_;
15979 				NI T8_;
15980 				if (!((520192 &((NU32)1<<((NU)((*symx).kind)&31U)))!=0)) goto LA5_;
15981 				nimZeroMem((void*)(&T7_), sizeof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ));
15982 				nimZeroMem((void*)(&T7_), sizeof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ));
15983 				T7_.sym = symx;
15984 				nimZeroMem((void*)(&T7_.firstMismatch), sizeof(tyObject_MismatchInfo__Bde9a0sl26Y9b6iLNg1iH8LQ));
15985 				T7_.diagnostics = NIM_NIL;
15986 				T7_.enabled = NIM_FALSE;
15987 				errors = (tySequence__0dpGN6F4ocevqUQGsaf41w*) incrSeqV3((TGenericSeq*)(errors), (&NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_));
15988 				T8_ = errors->Sup.len++;
15989 				asgnRef((void**) (&errors->data[T8_].sym), T7_.sym);
15990 				errors->data[T8_].firstMismatch.kind = T7_.firstMismatch.kind;
15991 				errors->data[T8_].firstMismatch.arg = T7_.firstMismatch.arg;
15992 				asgnRef((void**) (&errors->data[T8_].firstMismatch.formal), T7_.firstMismatch.formal);
15993 				genericSeqAssign((&errors->data[T8_].diagnostics), T7_.diagnostics, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
15994 				errors->data[T8_].enabled = T7_.enabled;
15995 			}
15996 			LA5_: ;
15997 			symx = nextOverloadIter__lookups_1528((&o), c, headSymbol);
15998 		} LA2: ;
15999 	}
16000 	{
16001 		NI T11_;
16002 		NimStringDesc* T14_;
16003 		NimStringDesc* T15_;
16004 		T11_ = (errors ? errors->Sup.len : 0);
16005 		if (!(T11_ == ((NI) 0))) goto LA12_;
16006 		T14_ = NIM_NIL;
16007 		T15_ = NIM_NIL;
16008 		T15_ = dollar___renderer_2106(n);
16009 		T14_ = rawNewString((T15_ ? T15_->Sup.len : 0) + 19);
16010 appendString(T14_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_264));
16011 appendString(T14_, T15_);
16012 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T14_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_265, NIM_FALSE);
16013 	}
16014 	goto LA9_;
16015 	LA12_: ;
16016 	{
16017 		notFoundError__sem_1922(c, n, errors);
16018 	}
16019 	LA9_: ;
16020 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semArrGet__sem_15315)16021 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semArrGet__sem_15315)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
16022 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16023 	result = NIM_NIL;
16024 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n).info);
16025 	{
16026 		NI i;
16027 		NI colontmp_;
16028 		NI i_2;
16029 		i = (NI)0;
16030 		colontmp_ = (NI)0;
16031 		colontmp_ = len__ast_3198(n);
16032 		i_2 = ((NI) 1);
16033 		{
16034 			while (1) {
16035 				if (!(i_2 < colontmp_)) goto LA3;
16036 				i = i_2;
16037 				add__ast_4797(result, (*n)._kind_6.sons->data[i]);
16038 				i_2 += ((NI) 1);
16039 			} LA3: ;
16040 		}
16041 	}
16042 	result = semSubscript__sem_15311(c, result, flags);
16043 	{
16044 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
16045 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T8_;
16046 		if (!(result == 0)) goto LA6_;
16047 		x = copyTree__ast_4431(n);
16048 		T8_ = NIM_NIL;
16049 		T8_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_27));
16050 		asgnRef((void**) (&(*x)._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(T8_, (*n).info));
16051 		bracketNotFoundError__sem_1937(c, x);
16052 		result = n;
16053 	}
16054 	LA6_: ;
16055 	return result;
16056 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipAddr__ast_5218)16057 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipAddr__ast_5218)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16058 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16059 	result = NIM_NIL;
16060 	{
16061 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA3_;
16062 		result = (*n)._kind_6.sons->data[((NI) 0)];
16063 	}
16064 	goto LA1_;
16065 	LA3_: ;
16066 	{
16067 		result = n;
16068 	}
16069 	LA1_: ;
16070 	return result;
16071 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semArrPut__sem_15338)16072 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semArrPut__sem_15338)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
16073 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16074 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
16075 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
16076 	result = NIM_NIL;
16077 	b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n).info);
16078 	T1_ = NIM_NIL;
16079 	T1_ = skipAddr__ast_5218((*n)._kind_6.sons->data[((NI) 1)]);
16080 	add__ast_4797(b, T1_);
16081 	{
16082 		NI i;
16083 		NI colontmp_;
16084 		NI T3_;
16085 		NI i_2;
16086 		i = (NI)0;
16087 		colontmp_ = (NI)0;
16088 		T3_ = (NI)0;
16089 		T3_ = len__ast_3198(n);
16090 		colontmp_ = (NI)(T3_ - ((NI) 1));
16091 		i_2 = ((NI) 2);
16092 		{
16093 			while (1) {
16094 				if (!(i_2 < colontmp_)) goto LA5;
16095 				i = i_2;
16096 				add__ast_4797(b, (*n)._kind_6.sons->data[i]);
16097 				i_2 += ((NI) 1);
16098 			} LA5: ;
16099 		}
16100 	}
16101 	result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*n).info, ((NI) 2));
16102 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), b);
16103 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), lastSon__ast_4832(n));
16104 	result = semAsgn__sem_15307(c, result, ((tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ) 1));
16105 	return result;
16106 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semAsgnOpr__sem_15367)16107 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAsgnOpr__sem_15367)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16108 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16109 	result = NIM_NIL;
16110 	result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*n).info, ((NI) 2));
16111 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), (*n)._kind_6.sons->data[((NI) 1)]);
16112 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), (*n)._kind_6.sons->data[((NI) 2)]);
16113 	result = semAsgn__sem_15307(c, result, ((tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ) 2));
16114 	return result;
16115 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semShallowCopy__sem_15753)16116 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semShallowCopy__sem_15753)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
16117 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16118 	result = NIM_NIL;
16119 	{
16120 		NI T3_;
16121 		T3_ = (NI)0;
16122 		T3_ = len__ast_3198(n);
16123 		if (!(T3_ == ((NI) 3))) goto LA4_;
16124 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74), (*n).info);
16125 		add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 1)]);
16126 		add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 2)]);
16127 		result = semAsgn__sem_15307(c, result, ((tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ) 0));
16128 	}
16129 	goto LA1_;
16130 	LA4_: ;
16131 	{
16132 		result = semDirectOp__sem_511(c, n, flags);
16133 	}
16134 	LA1_: ;
16135 	return result;
16136 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semIsPartOf__sem_15375)16137 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIsPartOf__sem_15375)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
16138 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16139 	tyEnum_TAnalysisResult__p9a9bcrXoRmLT4eUuwrDq9b4w r;
16140 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA T1_;
16141 	result = NIM_NIL;
16142 	r = isPartOf__aliases_129((*n)._kind_6.sons->data[((NI) 1)], (*n)._kind_6.sons->data[((NI) 2)]);
16143 	T1_ = toInt128__types_1378(r);
16144 	result = newIntNodeT__semfold_57(T1_, n, (*c).Sup.idgen, (*c).graph);
16145 	return result;
16146 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,toNode__sem_15428)16147 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, toNode__sem_15428)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q i) {
16148 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16149 	result = NIM_NIL;
16150 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), i, t);
16151 	return result;
16152 }
N_NIMCALL(tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw,parseEnum__sem_15509)16153 N_LIB_PRIVATE N_NIMCALL(tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw, parseEnum__sem_15509)(NimStringDesc* s) {
16154 	tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw result;
16155 	NimStringDesc* T1_;
16156 	result = (tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw)0;
16157 	T1_ = NIM_NIL;
16158 	T1_ = nimIdentNormalize__pureZstrutils_105(s);
16159 	if (eqStrings(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_319))) goto LA2_;
16160 	if (eqStrings(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_320))) goto LA3_;
16161 	if (eqStrings(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_321))) goto LA4_;
16162 	if (eqStrings(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_322))) goto LA5_;
16163 	if (eqStrings(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_323))) goto LA6_;
16164 	if (eqStrings(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_324))) goto LA7_;
16165 	if (eqStrings(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_325))) goto LA8_;
16166 	if (eqStrings(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_326))) goto LA9_;
16167 	goto LA10_;
16168 	LA2_: ;
16169 	{
16170 		result = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0);
16171 	}
16172 	goto LA11_;
16173 	LA3_: ;
16174 	{
16175 		result = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1);
16176 	}
16177 	goto LA11_;
16178 	LA4_: ;
16179 	{
16180 		result = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 2);
16181 	}
16182 	goto LA11_;
16183 	LA5_: ;
16184 	{
16185 		result = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 3);
16186 	}
16187 	goto LA11_;
16188 	LA6_: ;
16189 	{
16190 		result = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 4);
16191 	}
16192 	goto LA11_;
16193 	LA7_: ;
16194 	{
16195 		result = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 5);
16196 	}
16197 	goto LA11_;
16198 	LA8_: ;
16199 	{
16200 		result = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 6);
16201 	}
16202 	goto LA11_;
16203 	LA9_: ;
16204 	{
16205 		result = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 7);
16206 	}
16207 	goto LA11_;
16208 	LA10_: ;
16209 	{
16210 		tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw* T21_;
16211 		NimStringDesc* T22_;
16212 		T21_ = NIM_NIL;
16213 		T21_ = (tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw*) newObj((&NTIrefvalueerror__Ie1m0dv1ZHg72IgPRr1cDw_), sizeof(tyObject_ValueError__yoNlBGx0D2tRizIdhQuENw));
16214 		(*T21_).Sup.Sup.Sup.m_type = (&NTIvalueerror__yoNlBGx0D2tRizIdhQuENw_);
16215 		(*T21_).Sup.Sup.name = "ValueError";
16216 		T22_ = NIM_NIL;
16217 		T22_ = rawNewString((s ? s->Sup.len : 0) + 20);
16218 appendString(T22_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_327));
16219 appendString(T22_, s);
16220 		asgnRef((void**) (&(*T21_).Sup.Sup.message), T22_);
16221 		asgnRef((void**) (&(*T21_).Sup.Sup.parent), ((Exception*) NIM_NIL));
16222 		raiseExceptionEx((Exception*)T21_, "ValueError", "parseEnum", "enumutils.nim", 66);
16223 	}
16224 	LA11_: ;
16225 	return result;
16226 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getTypeDescNode__sem_15447)16227 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) {
16228 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16229 	tyObject_TType__facALICuu8zUj0hjvbTLFg* resType;
16230 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
16231 	result = NIM_NIL;
16232 	T1_ = nextTypeId__ast_3151((*c).Sup.idgen);
16233 	resType = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8), T1_, sym);
16234 	rawAddSon__ast_4288(resType, typ, NIM_TRUE);
16235 	result = toNode__sem_15428(resType, info);
16236 	return result;
16237 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,uninstantiate__sem_15443)16238 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, uninstantiate__sem_15443)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
16239 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
16240 	result = NIM_NIL;
16241 	switch ((*t).kind) {
16242 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
16243 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
16244 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
16245 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
16246 	{
16247 		result = t;
16248 	}
16249 	break;
16250 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
16251 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
16252 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
16253 	{
16254 		result = base__types_63(t);
16255 	}
16256 	break;
16257 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
16258 	{
16259 		result = uninstantiate__sem_15443((*t).sons->data[((NI) 1)]);
16260 	}
16261 	break;
16262 	default:
16263 	{
16264 		result = t;
16265 	}
16266 	break;
16267 	}
16268 	return result;
16269 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,evalTypeTrait__sem_15454)16270 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) {
16271 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16272 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* trait;
16273 	tyObject_TType__facALICuu8zUj0hjvbTLFg* operand_2;
16274 	NimStringDesc* s;
16275 {	result = NIM_NIL;
16276 	trait = (*traitCall)._kind_6.sons->data[((NI) 0)];
16277 	{
16278 		NimStringDesc* argX60gensym4009_;
16279 		if (!!(((*trait).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA3_;
16280 		argX60gensym4009_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_305);
16281 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym4009_, TM__rF9caJawfOjYTjsgLVUSGFA_305);
16282 	}
16283 	LA3_: ;
16284 	operand_2 = skipTypes__ast_3735(operand, TM__rF9caJawfOjYTjsgLVUSGFA_306);
16285 	{
16286 		NIM_BOOL T7_;
16287 		NIM_BOOL T9_;
16288 		NI T10_;
16289 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T12_;
16290 		T7_ = (NIM_BOOL)0;
16291 		T7_ = ((*operand_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
16292 		if (T7_) goto LA8_;
16293 		T9_ = (NIM_BOOL)0;
16294 		T10_ = (NI)0;
16295 		T10_ = len__ast_3198(traitCall);
16296 		T9_ = (((NI) 2) < T10_);
16297 		if (!(T9_)) goto LA11_;
16298 		T12_ = NIM_NIL;
16299 		T12_ = skipTypes__ast_3735((*(*traitCall)._kind_6.sons->data[((NI) 2)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123);
16300 		T9_ = ((*T12_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
16301 		LA11_: ;
16302 		T7_ = T9_;
16303 		LA8_: ;
16304 		if (!T7_) goto LA13_;
16305 		result = traitCall;
16306 		goto BeforeRet_;
16307 	}
16308 	LA13_: ;
16309 	s = (*(*(*trait)._kind_4.sym).name).s;
16310 	switch (hashString(s) & 15) {
16311 	case 0:
16312 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_311))) goto LA19_;
16313 break;
16314 	case 1:
16315 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_313))) goto LA21_;
16316 break;
16317 	case 3:
16318 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_44))) goto LA15_;
16319 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_312))) goto LA20_;
16320 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_316))) goto LA24_;
16321 break;
16322 	case 4:
16323 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_310))) goto LA19_;
16324 break;
16325 	case 5:
16326 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_109))) goto LA17_;
16327 break;
16328 	case 7:
16329 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_309))) goto LA18_;
16330 break;
16331 	case 9:
16332 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_318))) goto LA26_;
16333 break;
16334 	case 10:
16335 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_307))) goto LA15_;
16336 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_317))) goto LA25_;
16337 break;
16338 	case 11:
16339 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_315))) goto LA23_;
16340 break;
16341 	case 13:
16342 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_314))) goto LA22_;
16343 break;
16344 	case 14:
16345 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_308))) goto LA16_;
16346 break;
16347 	}
16348 	goto LA27_;
16349 	LA15_: ;
16350 	{
16351 		tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T30_;
16352 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T31_;
16353 		T30_ = NIM_NIL;
16354 		T30_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 2);
16355 		asgnRef((void**) (&T30_->data[0]), operand_2);
16356 		asgnRef((void**) (&T30_->data[1]), skipTypes__ast_3735((*(*traitCall)._kind_6.sons->data[((NI) 2)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123));
16357 		T31_ = NIM_NIL;
16358 		T31_ = newTypeWithSons__semdata_815(context, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57), T30_, (*c).Sup.idgen);
16359 		result = toNode__sem_15428(T31_, (*traitCall).info);
16360 		goto BeforeRet_;
16361 	}
16362 	goto LA28_;
16363 	LA16_: ;
16364 	{
16365 		tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T33_;
16366 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T34_;
16367 		T33_ = NIM_NIL;
16368 		T33_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 2);
16369 		asgnRef((void**) (&T33_->data[0]), operand_2);
16370 		asgnRef((void**) (&T33_->data[1]), skipTypes__ast_3735((*(*traitCall)._kind_6.sons->data[((NI) 2)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123));
16371 		T34_ = NIM_NIL;
16372 		T34_ = newTypeWithSons__semdata_815(context, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56), T33_, (*c).Sup.idgen);
16373 		result = toNode__sem_15428(T34_, (*traitCall).info);
16374 		goto BeforeRet_;
16375 	}
16376 	goto LA28_;
16377 	LA17_: ;
16378 	{
16379 		tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T36_;
16380 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T37_;
16381 		T36_ = NIM_NIL;
16382 		T36_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
16383 		asgnRef((void**) (&T36_->data[0]), operand_2);
16384 		T37_ = NIM_NIL;
16385 		T37_ = newTypeWithSons__semdata_815(context, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58), T36_, (*c).Sup.idgen);
16386 		result = toNode__sem_15428(T37_, (*traitCall).info);
16387 		goto BeforeRet_;
16388 	}
16389 	goto LA28_;
16390 	LA18_: ;
16391 	{
16392 		tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer;
16393 		NimStringDesc* T44_;
16394 		prefer = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 5);
16395 		{
16396 			NI T41_;
16397 			NimStringDesc* preferStr;
16398 			T41_ = (NI)0;
16399 			T41_ = len__ast_3198(traitCall);
16400 			if (!(((NI) 2) <= T41_)) goto LA42_;
16401 			preferStr = (*(*traitCall)._kind_6.sons->data[((NI) 2)])._kind_3.strVal;
16402 			prefer = parseEnum__sem_15509(preferStr);
16403 		}
16404 		LA42_: ;
16405 		T44_ = NIM_NIL;
16406 		T44_ = typeToString__types_50(operand_2, prefer);
16407 		result = newStrNode__ast_3813(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), T44_);
16408 		asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*(*traitCall)._kind_6.sons->data[((NI) 1)]).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
16409 		(*result).info = (*traitCall).info;
16410 	}
16411 	goto LA28_;
16412 	LA19_: ;
16413 	{
16414 		NimStringDesc* T46_;
16415 		T46_ = NIM_NIL;
16416 		T46_ = typeToString__types_50(operand_2, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 5));
16417 		result = newStrNode__ast_3813(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), T46_);
16418 		asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*(*traitCall)._kind_6.sons->data[((NI) 1)]).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
16419 		(*result).info = (*traitCall).info;
16420 	}
16421 	goto LA28_;
16422 	LA20_: ;
16423 	{
16424 		NI T48_;
16425 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T49_;
16426 		T48_ = (NI)0;
16427 		T48_ = len__ast_4002(operand_2);
16428 		result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) ((NI)(T48_ - ((*operand_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25))))));
16429 		T49_ = nextTypeId__ast_3151((*c).Sup.idgen);
16430 		asgnRef((void**) (&(*result).typ), newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31), T49_, context));
16431 		(*result).info = (*traitCall).info;
16432 	}
16433 	goto LA28_;
16434 	LA21_: ;
16435 	{
16436 		tyObject_TType__facALICuu8zUj0hjvbTLFg* arg;
16437 		arg = operand_2;
16438 		switch ((*arg).kind) {
16439 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
16440 		{
16441 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T52_;
16442 			T52_ = NIM_NIL;
16443 			T52_ = base__types_63(arg);
16444 			result = getTypeDescNode__sem_15447(c, T52_, (*operand_2).owner, (*traitCall).info);
16445 		}
16446 		break;
16447 		default:
16448 		{
16449 			tyArray__Re75IspeoxXy2oCZHwcRrA T54_;
16450 			NimStringDesc* T55_;
16451 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T56_;
16452 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T57_;
16453 			nimZeroMem((void*)T54_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
16454 			T54_[0] = toHumanStr__ast_5188((*arg).kind);
16455 			T54_[1] = typeToString__types_50(operand_2, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
16456 			T55_ = NIM_NIL;
16457 			T55_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_328), T54_, 2);
16458 			liMessage__msgs_1118((*(*c).graph).config, (*traitCall).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T55_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_329, NIM_FALSE);
16459 			T56_ = nextTypeId__ast_3151((*c).Sup.idgen);
16460 			T57_ = NIM_NIL;
16461 			T57_ = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), T56_, context);
16462 			result = toNode__sem_15428(T57_, (*traitCall).info);
16463 		}
16464 		break;
16465 		}
16466 	}
16467 	goto LA28_;
16468 	LA22_: ;
16469 	{
16470 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T59_;
16471 		T59_ = NIM_NIL;
16472 		T59_ = uninstantiate__sem_15443(operand_2);
16473 		result = toNode__sem_15428(T59_, (*traitCall).info);
16474 	}
16475 	goto LA28_;
16476 	LA23_: ;
16477 	{
16478 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
16479 		NIM_BOOL complexObj;
16480 		NIM_BOOL T61_;
16481 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T63_;
16482 		t = skipTypes__ast_3735(operand_2, TM__rF9caJawfOjYTjsgLVUSGFA_330);
16483 		T61_ = (NIM_BOOL)0;
16484 		T61_ = containsGarbageCollectedRef__types_612(t);
16485 		if (T61_) goto LA62_;
16486 		T61_ = !(((IL64(2147483664) & (*t).flags) == 0));
16487 		LA62_: ;
16488 		complexObj = T61_;
16489 		T63_ = toInt128__types_1378(!(complexObj));
16490 		result = newIntNodeT__semfold_57(T63_, traitCall, (*c).Sup.idgen, (*c).graph);
16491 	}
16492 	goto LA28_;
16493 	LA24_: ;
16494 	{
16495 		tyObject_TType__facALICuu8zUj0hjvbTLFg* operand_3;
16496 		NIM_BOOL cond;
16497 		NIM_BOOL T65_;
16498 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T67_;
16499 		operand_3 = skipTypes__ast_3735(operand_2, TM__rF9caJawfOjYTjsgLVUSGFA_331);
16500 		T65_ = (NIM_BOOL)0;
16501 		T65_ = ((*operand_3).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
16502 		if (!(T65_)) goto LA66_;
16503 		T65_ = !(((*operand_3).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
16504 		LA66_: ;
16505 		cond = T65_;
16506 		T67_ = toInt128__types_1378(cond);
16507 		result = newIntNodeT__semfold_57(T67_, traitCall, (*c).Sup.idgen, (*c).graph);
16508 	}
16509 	goto LA28_;
16510 	LA25_: ;
16511 	{
16512 		tyObject_TType__facALICuu8zUj0hjvbTLFg* operand_4;
16513 		NI T69_;
16514 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T70_;
16515 		operand_4 = skipTypes__ast_3735(operand_2, TM__rF9caJawfOjYTjsgLVUSGFA_331);
16516 		T69_ = (NI)0;
16517 		T69_ = len__ast_4002(operand_4);
16518 		T70_ = toInt128__types_1378(T69_);
16519 		result = newIntNodeT__semfold_57(T70_, traitCall, (*c).Sup.idgen, (*c).graph);
16520 	}
16521 	goto LA28_;
16522 	LA26_: ;
16523 	{
16524 		tyObject_TType__facALICuu8zUj0hjvbTLFg* arg_2;
16525 		NIM_BOOL rec;
16526 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T72_;
16527 		arg_2 = skipTypes__ast_3735(operand_2, TM__rF9caJawfOjYTjsgLVUSGFA_331);
16528 		T72_ = NIM_NIL;
16529 		T72_ = semConstExpr__sem_611(c, (*traitCall)._kind_6.sons->data[((NI) 2)]);
16530 		rec = !(((*T72_)._kind_1.intVal == IL64(0)));
16531 		{
16532 			while (1) {
16533 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T75_;
16534 				if (!((*arg_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA74;
16535 				T75_ = NIM_NIL;
16536 				T75_ = base__types_63(arg_2);
16537 				arg_2 = skipTypes__ast_3735(T75_, TM__rF9caJawfOjYTjsgLVUSGFA_332);
16538 				{
16539 					if (!!(rec)) goto LA78_;
16540 					goto LA73;
16541 				}
16542 				LA78_: ;
16543 			} LA74: ;
16544 		} LA73: ;
16545 		result = getTypeDescNode__sem_15447(c, arg_2, (*operand_2).owner, (*traitCall).info);
16546 	}
16547 	goto LA28_;
16548 	LA27_: ;
16549 	{
16550 		NimStringDesc* T81_;
16551 		T81_ = NIM_NIL;
16552 		T81_ = rawNewString((s ? s->Sup.len : 0) + 15);
16553 appendString(T81_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_333));
16554 appendString(T81_, s);
16555 		liMessage__msgs_1118((*(*c).graph).config, (*traitCall).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T81_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_334, NIM_FALSE);
16556 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*traitCall).info);
16557 	}
16558 	LA28_: ;
16559 	}BeforeRet_: ;
16560 	return result;
16561 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTypeTraits__sem_15631)16562 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTypeTraits__sem_15631)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16563 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16564 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
16565 	result = NIM_NIL;
16566 	checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
16567 	t = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
16568 	{
16569 		NIM_BOOL T3_;
16570 		NimStringDesc* argX60gensym4046_;
16571 		T3_ = (NIM_BOOL)0;
16572 		T3_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
16573 		if (!(T3_)) goto LA4_;
16574 		T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
16575 		LA4_: ;
16576 		if (!!(T3_)) goto LA5_;
16577 		argX60gensym4046_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_304);
16578 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym4046_, TM__rF9caJawfOjYTjsgLVUSGFA_304);
16579 	}
16580 	LA5_: ;
16581 	{
16582 		NI T9_;
16583 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T12_;
16584 		T9_ = (NI)0;
16585 		T9_ = len__ast_4002(t);
16586 		if (!(((NI) 0) < T9_)) goto LA10_;
16587 		T12_ = NIM_NIL;
16588 		T12_ = getCurrOwner__semdata_315(c);
16589 		result = evalTypeTrait__sem_15454(c, n, t, T12_);
16590 	}
16591 	goto LA7_;
16592 	LA10_: ;
16593 	{
16594 		result = n;
16595 	}
16596 	LA7_: ;
16597 	return result;
16598 }
N_NIMCALL(NI,expectIntLit__sem_15390)16599 N_LIB_PRIVATE N_NIMCALL(NI, expectIntLit__sem_15390)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16600 	NI result;
16601 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
16602 	result = (NI)0;
16603 	x = (*c).semConstExpr(c, n);
16604 	switch ((*x).kind) {
16605 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10):
16606 	{
16607 		result = ((NI) ((*x)._kind_1.intVal));
16608 	}
16609 	break;
16610 	default:
16611 	{
16612 		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);
16613 	}
16614 	break;
16615 	}
16616 	return result;
16617 }
N_INLINE(NI,toLinenumber__msgs_609)16618 static N_INLINE(NI, toLinenumber__msgs_609)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
16619 	NI result;
16620 	result = (NI)0;
16621 	result = ((NI) (info.line));
16622 	return result;
16623 }
N_INLINE(NI,toColumn__msgs_612)16624 static N_INLINE(NI, toColumn__msgs_612)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
16625 	NI result;
16626 	result = (NI)0;
16627 	result = ((NI) (info.col));
16628 	return result;
16629 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semInstantiationInfo__sem_15397)16630 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semInstantiationInfo__sem_15397)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16631 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16632 	NI idx;
16633 	NI useFullPaths;
16634 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
16635 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* filename;
16636 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
16637 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* line;
16638 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T22_;
16639 	NI T23_;
16640 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* column;
16641 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T24_;
16642 	NI T25_;
16643 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T26_;
16644 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
16645 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T28_;
16646 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T29_;
16647 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T30_;
16648 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
16649 	result = NIM_NIL;
16650 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), (*n).info, (*n).typ);
16651 	idx = expectIntLit__sem_15390(c, (*n)._kind_6.sons->data[((NI) 1)]);
16652 	useFullPaths = expectIntLit__sem_15390(c, (*n)._kind_6.sons->data[((NI) 2)]);
16653 	info = getInfoContext__msgs_516((*(*c).graph).config, idx);
16654 	T1_ = NIM_NIL;
16655 	T1_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
16656 	filename = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), (*n).info, T1_);
16657 	{
16658 		if (!!((useFullPaths == ((NI) 0)))) goto LA4_;
16659 		asgnRef((void**) (&(*filename)._kind_3.strVal), toFullPath__msgs_538((*(*c).graph).config, info.fileIndex));
16660 	}
16661 	goto LA2_;
16662 	LA4_: ;
16663 	{
16664 		{
16665 			NIM_BOOL T9_;
16666 			T9_ = (NIM_BOOL)0;
16667 			T9_ = (info.fileIndex < ((NI32) 0));
16668 			if (T9_) goto LA10_;
16669 			T9_ = ((*(*c).graph).config == ((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL));
16670 			LA10_: ;
16671 			if (!T9_) goto LA11_;
16672 			{
16673 				NimStringDesc* T17_;
16674 				if (!(info.fileIndex == ((NI32) -3))) goto LA15_;
16675 				T17_ = NIM_NIL;
16676 				T17_ = (*filename)._kind_3.strVal; (*filename)._kind_3.strVal = copyStringRC1(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_337));
16677 				if (T17_) nimGCunrefNoCycle(T17_);
16678 			}
16679 			goto LA13_;
16680 			LA15_: ;
16681 			{
16682 				NimStringDesc* T19_;
16683 				T19_ = NIM_NIL;
16684 				T19_ = (*filename)._kind_3.strVal; (*filename)._kind_3.strVal = copyStringRC1(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_338));
16685 				if (T19_) nimGCunrefNoCycle(T19_);
16686 			}
16687 			LA13_: ;
16688 		}
16689 		goto LA7_;
16690 		LA11_: ;
16691 		{
16692 			NimStringDesc* T21_;
16693 			T21_ = NIM_NIL;
16694 			T21_ = (*filename)._kind_3.strVal; (*filename)._kind_3.strVal = copyStringRC1((*(*(*c).graph).config).m.fileInfos->data[info.fileIndex].shortName);
16695 			if (T21_) nimGCunrefNoCycle(T21_);
16696 		}
16697 		LA7_: ;
16698 	}
16699 	LA2_: ;
16700 	T22_ = NIM_NIL;
16701 	T22_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
16702 	line = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), (*n).info, T22_);
16703 	T23_ = (NI)0;
16704 	T23_ = toLinenumber__msgs_609(info);
16705 	(*line)._kind_1.intVal = ((NI64) (T23_));
16706 	T24_ = NIM_NIL;
16707 	T24_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
16708 	column = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), (*n).info, T24_);
16709 	T25_ = (NI)0;
16710 	T25_ = toColumn__msgs_612(info);
16711 	(*column)._kind_1.intVal = ((NI64) (T25_));
16712 	nimZeroMem((void*)T26_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
16713 	T26_[0] = (*(*(*n).typ).n)._kind_6.sons->data[((NI) 0)];
16714 	T26_[1] = filename;
16715 	T27_ = NIM_NIL;
16716 	T27_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34), T26_, 2);
16717 	add__ast_4797(result, T27_);
16718 	nimZeroMem((void*)T28_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
16719 	T28_[0] = (*(*(*n).typ).n)._kind_6.sons->data[((NI) 1)];
16720 	T28_[1] = line;
16721 	T29_ = NIM_NIL;
16722 	T29_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34), T28_, 2);
16723 	add__ast_4797(result, T29_);
16724 	nimZeroMem((void*)T30_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
16725 	T30_[0] = (*(*(*n).typ).n)._kind_6.sons->data[((NI) 2)];
16726 	T30_[1] = column;
16727 	T31_ = NIM_NIL;
16728 	T31_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34), T30_, 2);
16729 	add__ast_4797(result, T31_);
16730 	return result;
16731 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semOrd__sem_15652)16732 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOrd__sem_15652)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16733 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16734 	tyObject_TType__facALICuu8zUj0hjvbTLFg* parType;
16735 	result = NIM_NIL;
16736 	result = n;
16737 	parType = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
16738 	{
16739 		NIM_BOOL T3_;
16740 		T3_ = (NIM_BOOL)0;
16741 		T3_ = isOrdinalType__types_299(parType, NIM_TRUE);
16742 		if (!T3_) goto LA4_;
16743 	}
16744 	goto LA1_;
16745 	LA4_: ;
16746 	{
16747 		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);
16748 		asgnRef((void**) (&(*result).typ), errorType__semdata_1002(c));
16749 	}
16750 	LA1_: ;
16751 	return result;
16752 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semOf__sem_15757)16753 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOf__sem_15757)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16754 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16755 {	result = NIM_NIL;
16756 	{
16757 		NI T3_;
16758 		tyObject_TType__facALICuu8zUj0hjvbTLFg* a;
16759 		tyObject_TType__facALICuu8zUj0hjvbTLFg* b;
16760 		tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
16761 		tyObject_TType__facALICuu8zUj0hjvbTLFg* y;
16762 		T3_ = (NI)0;
16763 		T3_ = len__ast_3198(n);
16764 		if (!(T3_ == ((NI) 3))) goto LA4_;
16765 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 0));
16766 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 2)], 512));
16767 		a = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_97);
16768 		b = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 2)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_97);
16769 		x = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_341);
16770 		y = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 2)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_341);
16771 		{
16772 			NIM_BOOL T8_;
16773 			T8_ = (NIM_BOOL)0;
16774 			T8_ = ((*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
16775 			if (T8_) goto LA9_;
16776 			T8_ = !(((*y).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)));
16777 			LA9_: ;
16778 			if (!T8_) goto LA10_;
16779 			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);
16780 		}
16781 		goto LA6_;
16782 		LA10_: ;
16783 		{
16784 			NIM_BOOL T13_;
16785 			T13_ = (NIM_BOOL)0;
16786 			T13_ = !(((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)));
16787 			if (T13_) goto LA14_;
16788 			T13_ = !(((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)));
16789 			LA14_: ;
16790 			if (!T13_) goto LA15_;
16791 			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);
16792 		}
16793 		goto LA6_;
16794 		LA15_: ;
16795 		{
16796 			NI diff;
16797 			diff = inheritanceDiff__types_2685(a, b);
16798 			{
16799 				NimStringDesc* T22_;
16800 				if (!(diff <= ((NI) 0))) goto LA20_;
16801 				T22_ = NIM_NIL;
16802 				T22_ = renderTree__renderer_46(n, 0);
16803 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 85), T22_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_345, NIM_FALSE);
16804 				result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(1));
16805 				(*result).info = (*n).info;
16806 				asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
16807 				goto BeforeRet_;
16808 			}
16809 			goto LA18_;
16810 			LA20_: ;
16811 			{
16812 				if (!(diff == ((NI) IL64(9223372036854775807)))) goto LA24_;
16813 				{
16814 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T28_;
16815 					NimStringDesc* T31_;
16816 					NimStringDesc* T32_;
16817 					T28_ = NIM_NIL;
16818 					T28_ = commonSuperclass__types_2747(a, b);
16819 					if (!(T28_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA29_;
16820 					T31_ = NIM_NIL;
16821 					T31_ = typeToString__types_50(a, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
16822 					T32_ = NIM_NIL;
16823 					T32_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_346), T31_);
16824 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T32_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_347, NIM_FALSE);
16825 				}
16826 				goto LA26_;
16827 				LA29_: ;
16828 				{
16829 					NimStringDesc* T34_;
16830 					T34_ = NIM_NIL;
16831 					T34_ = renderTree__renderer_46(n, 0);
16832 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 86), T34_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_348, NIM_FALSE);
16833 					result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(0));
16834 					(*result).info = (*n).info;
16835 					asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
16836 				}
16837 				LA26_: ;
16838 			}
16839 			goto LA18_;
16840 			LA24_: ;
16841 			LA18_: ;
16842 		}
16843 		LA6_: ;
16844 	}
16845 	goto LA1_;
16846 	LA4_: ;
16847 	{
16848 		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);
16849 	}
16850 	LA1_: ;
16851 	asgnRef((void**) (&(*n).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
16852 	result = n;
16853 	}BeforeRet_: ;
16854 	return result;
16855 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semLowHigh__sem_14549)16856 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semLowHigh__sem_14549)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m) {
16857 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16858 	result = NIM_NIL;
16859 	{
16860 		NI T3_;
16861 		NimStringDesc* T6_;
16862 		T3_ = (NI)0;
16863 		T3_ = len__ast_3198(n);
16864 		if (!!((T3_ == ((NI) 2)))) goto LA4_;
16865 		T6_ = NIM_NIL;
16866 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_351), opToStr__sem_14554[(m)- 8]);
16867 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_354, NIM_FALSE);
16868 	}
16869 	goto LA1_;
16870 	LA4_: ;
16871 	{
16872 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
16873 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 512));
16874 		typ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_355);
16875 		switch ((*typ).kind) {
16876 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
16877 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
16878 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
16879 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
16880 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
16881 		{
16882 			asgnRef((void**) (&(*n).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31)));
16883 		}
16884 		break;
16885 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
16886 		{
16887 			asgnRef((void**) (&(*n).typ), (*typ).sons->data[((NI) 0)]);
16888 			{
16889 				NIM_BOOL T12_;
16890 				T12_ = (NIM_BOOL)0;
16891 				T12_ = ((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20));
16892 				if (!(T12_)) goto LA13_;
16893 				T12_ = emptyRange__nimsets_273((*(*(*n).typ).n)._kind_6.sons->data[((NI) 0)], (*(*(*n).typ).n)._kind_6.sons->data[((NI) 1)]);
16894 				LA13_: ;
16895 				if (!T12_) goto LA14_;
16896 				asgnRef((void**) (&(*n).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31)));
16897 			}
16898 			LA14_: ;
16899 		}
16900 		break;
16901 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
16902 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
16903 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
16904 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
16905 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
16906 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38):
16907 		{
16908 			asgnRef((void**) (&(*n).typ), skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123));
16909 		}
16910 		break;
16911 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
16912 		{
16913 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
16914 			T18_ = NIM_NIL;
16915 			T18_ = copyTree__ast_4431(n);
16916 			asgnRef((void**) (&(*n).typ), makeTypeFromExpr__semdata_804(c, T18_));
16917 		}
16918 		break;
16919 		default:
16920 		{
16921 			NimStringDesc* T20_;
16922 			T20_ = NIM_NIL;
16923 			T20_ = rawNewString((opToStr__sem_14554[(m)- 8] ? opToStr__sem_14554[(m)- 8]->Sup.len : 0) + 22);
16924 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_356));
16925 appendString(T20_, opToStr__sem_14554[(m)- 8]);
16926 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_357, NIM_FALSE);
16927 		}
16928 		break;
16929 		}
16930 	}
16931 	LA1_: ;
16932 	result = n;
16933 	return result;
16934 }
N_INLINE(NIM_BOOL,isCompileTimeProc__ast_4683)16935 static N_INLINE(NIM_BOOL, isCompileTimeProc__ast_4683)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
16936 	NIM_BOOL result;
16937 	NIM_BOOL T1_;
16938 	NIM_BOOL T3_;
16939 	result = (NIM_BOOL)0;
16940 	T1_ = (NIM_BOOL)0;
16941 	T1_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
16942 	if (T1_) goto LA2_;
16943 	T3_ = (NIM_BOOL)0;
16944 	T3_ = ((12288 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
16945 	if (!(T3_)) goto LA4_;
16946 	T3_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0);
16947 	LA4_: ;
16948 	T1_ = T3_;
16949 	LA2_: ;
16950 	result = T1_;
16951 	return result;
16952 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semBindSym__sem_15658)16953 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBindSym__sem_15658)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16954 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16955 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sl;
16956 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* isMixin;
16957 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* id;
16958 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T13_;
16959 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
16960 {	result = NIM_NIL;
16961 	result = copyNode__ast_4336(n);
16962 	add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 0)]);
16963 	sl = semConstExpr__sem_611(c, (*n)._kind_6.sons->data[((NI) 1)]);
16964 	{
16965 		if (!!(((*sl).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) || (*sl).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 21) || (*sl).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22)))) goto LA3_;
16966 		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);
16967 		result = errorNode__semdata_1009(c, n);
16968 		goto BeforeRet_;
16969 	}
16970 	LA3_: ;
16971 	isMixin = semConstExpr__sem_611(c, (*n)._kind_6.sons->data[((NI) 2)]);
16972 	{
16973 		NIM_BOOL T7_;
16974 		NIM_BOOL T8_;
16975 		T7_ = (NIM_BOOL)0;
16976 		T8_ = (NIM_BOOL)0;
16977 		T8_ = !(((*isMixin).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)));
16978 		if (T8_) goto LA9_;
16979 		T8_ = ((*isMixin)._kind_1.intVal < IL64(0));
16980 		LA9_: ;
16981 		T7_ = T8_;
16982 		if (T7_) goto LA10_;
16983 		T7_ = (IL64(2) < (*isMixin)._kind_1.intVal);
16984 		LA10_: ;
16985 		if (!T7_) goto LA11_;
16986 		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);
16987 		result = errorNode__semdata_1009(c, n);
16988 		goto BeforeRet_;
16989 	}
16990 	LA11_: ;
16991 	T13_ = NIM_NIL;
16992 	T13_ = getIdent__idents_143((*c).cache, (*sl)._kind_3.strVal);
16993 	id = newIdentNode__ast_3712(T13_, (*n).info);
16994 	s = qualifiedLookUp__lookups_1233(c, id, 2);
16995 	{
16996 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sc;
16997 		if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA16_;
16998 		sc = symChoice__sem_6586(c, id, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) ((*isMixin)._kind_1.intVal)), NIM_FALSE);
16999 		{
17000 			NIM_BOOL T20_;
17001 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T22_;
17002 			T20_ = (NIM_BOOL)0;
17003 			T20_ = (((NI) 0) < (*c).inStaticContext);
17004 			if (T20_) goto LA21_;
17005 			T22_ = NIM_NIL;
17006 			T22_ = getCurrOwner__semdata_315(c);
17007 			T20_ = isCompileTimeProc__ast_4683(T22_);
17008 			LA21_: ;
17009 			if (!!(T20_)) goto LA23_;
17010 			result = sc;
17011 			goto BeforeRet_;
17012 		}
17013 		LA23_: ;
17014 		add__ast_4797(result, sc);
17015 	}
17016 	goto LA14_;
17017 	LA16_: ;
17018 	{
17019 		errorUndeclaredIdentifier__lookups_1199(c, (*(*n)._kind_6.sons->data[((NI) 1)]).info, (*sl)._kind_3.strVal, ((NimStringDesc*) NIM_NIL));
17020 	}
17021 	LA14_: ;
17022 	}BeforeRet_: ;
17023 	return result;
17024 }
N_NIMCALL(void,Marker_tyRef__IqGNbqKVyQ9b9an5n9bN8QJsQ)17025 static N_NIMCALL(void, Marker_tyRef__IqGNbqKVyQ9b9an5n9bN8QJsQ)(void* p, NI op) {
17026 	tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg* a;
17027 	a = (tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg*)p;
17028 	nimGCvisit((void*)(*a).c1, op);
17029 	nimGCvisit((void*)(*a).scope2, op);
17030 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,opBindSym__sem_15697)17031 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) {
17032 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17033 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* id;
17034 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* tmpScope;
17035 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
17036 {	result = NIM_NIL;
17037 	{
17038 		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_;
17039 		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);
17040 		result = errorNode__semdata_1009(c, n);
17041 		goto BeforeRet_;
17042 	}
17043 	LA3_: ;
17044 	{
17045 		NIM_BOOL T7_;
17046 		T7_ = (NIM_BOOL)0;
17047 		T7_ = (isMixin < ((NI) 0));
17048 		if (T7_) goto LA8_;
17049 		T7_ = (((NI) 2) < isMixin);
17050 		LA8_: ;
17051 		if (!T7_) goto LA9_;
17052 		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);
17053 		result = errorNode__semdata_1009(c, n);
17054 		goto BeforeRet_;
17055 	}
17056 	LA9_: ;
17057 	{
17058 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA13_;
17059 		id = n;
17060 	}
17061 	goto LA11_;
17062 	LA13_: ;
17063 	{
17064 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T16_;
17065 		T16_ = NIM_NIL;
17066 		T16_ = getIdent__idents_143((*c).cache, (*n)._kind_3.strVal);
17067 		id = newIdentNode__ast_3712(T16_, (*info).info);
17068 	}
17069 	LA11_: ;
17070 	tmpScope = (*c).currentScope;
17071 	asgnRef((void**) (&(*c).currentScope), scope);
17072 	s = qualifiedLookUp__lookups_1233(c, id, 2);
17073 	{
17074 		if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA19_;
17075 		result = symChoice__sem_6586(c, id, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) (isMixin)), NIM_FALSE);
17076 	}
17077 	goto LA17_;
17078 	LA19_: ;
17079 	{
17080 		NimStringDesc* T22_;
17081 		T22_ = NIM_NIL;
17082 		{
17083 			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA25_;
17084 			T22_ = copyString((*(*n)._kind_5.ident).s);
17085 		}
17086 		goto LA23_;
17087 		LA25_: ;
17088 		{
17089 			T22_ = copyString((*n)._kind_3.strVal);
17090 		}
17091 		LA23_: ;
17092 		errorUndeclaredIdentifier__lookups_1199(c, (*info).info, T22_, ((NimStringDesc*) NIM_NIL));
17093 	}
17094 	LA17_: ;
17095 	asgnRef((void**) (&(*c).currentScope), tmpScope);
17096 	}BeforeRet_: ;
17097 	return result;
17098 }
N_CLOSURE(void,bindSymWrapper__sem_15736)17099 N_LIB_PRIVATE N_CLOSURE(void, bindSymWrapper__sem_15736)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
17100 	tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg* colonenvP_;
17101 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
17102 	NI64 T2_;
17103 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
17104 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
17105 	colonenvP_ = (tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg*) ClE_0;
17106 	T1_ = NIM_NIL;
17107 	T1_ = getNode__vm_330(a, ((NI) 0));
17108 	T2_ = (NI64)0;
17109 	T2_ = getInt__vm_273(a, ((NI) 1));
17110 	T3_ = NIM_NIL;
17111 	T3_ = getNode__vm_330(a, ((NI) 2));
17112 	T4_ = NIM_NIL;
17113 	T4_ = opBindSym__sem_15697((*colonenvP_).c1, (*colonenvP_).scope2, T1_, ((NI) (T2_)), T3_);
17114 	setResult__vm_246(a, T4_);
17115 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semDynamicBindSym__sem_15727)17116 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDynamicBindSym__sem_15727)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
17117 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17118 	tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg* colonenv_;
17119 	tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* vm;
17120 	NI idx;
17121 	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T12_;
17122 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* idxNode;
17123 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T13_;
17124 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T14_;
17125 {	result = NIM_NIL;
17126 	colonenv_ = NIM_NIL;
17127 	colonenv_ = (tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg*) newObj((&NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_), sizeof(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg));
17128 	(*colonenv_).Sup.m_type = (&NTIobject__LF0eKAnygFo4etNDdpTetg_);
17129 	asgnRef((void**) (&(*colonenv_).c1), c);
17130 	{
17131 		NIM_BOOL T3_;
17132 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T5_;
17133 		T3_ = (NIM_BOOL)0;
17134 		T3_ = (((NI) 0) < (*(*colonenv_).c1).inStaticContext);
17135 		if (T3_) goto LA4_;
17136 		T5_ = NIM_NIL;
17137 		T5_ = getCurrOwner__semdata_315((*colonenv_).c1);
17138 		T3_ = isCompileTimeProc__ast_4683(T5_);
17139 		LA4_: ;
17140 		if (!!(T3_)) goto LA6_;
17141 		result = semBindSym__sem_15658((*colonenv_).c1, n);
17142 		goto BeforeRet_;
17143 	}
17144 	LA6_: ;
17145 	{
17146 		if (!((*(*(*colonenv_).c1).graph).vm == 0)) goto LA10_;
17147 		setupGlobalCtx__vm_13671((*(*colonenv_).c1).module, (*(*colonenv_).c1).graph, (*(*colonenv_).c1).Sup.idgen);
17148 	}
17149 	LA10_: ;
17150 	vm = (*((tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw**) (&((*(*(*colonenv_).c1).graph).vm))));
17151 	asgnRef((void**) (&(*colonenv_).scope2), (*(*colonenv_).c1).currentScope);
17152 	nimZeroMem((void*)(&T12_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
17153 	T12_.ClP_0 = bindSymWrapper__sem_15736; T12_.ClE_0 = colonenv_;
17154 	idx = registerCallback__vmdef_433(vm, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_363), T12_);
17155 	nimZeroMem((void*)(&T13_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
17156 	T14_ = NIM_NIL;
17157 	T14_ = getSysType__magicsys_60((*(*colonenv_).c1).graph, T13_, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
17158 	idxNode = newIntTypeNode__ast_3783(((NI64) (idx)), T14_);
17159 	result = copyNode__ast_4336(n);
17160 	{
17161 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
17162 		x = NIM_NIL;
17163 		{
17164 			NI i;
17165 			NI colontmp_;
17166 			NI i_2;
17167 			i = (NI)0;
17168 			colontmp_ = (NI)0;
17169 			colontmp_ = safeLen__ast_3191(n);
17170 			i_2 = ((NI) 0);
17171 			{
17172 				while (1) {
17173 					if (!(i_2 < colontmp_)) goto LA18;
17174 					i = i_2;
17175 					x = (*n)._kind_6.sons->data[i];
17176 					add__ast_4797(result, x);
17177 					i_2 += ((NI) 1);
17178 				} LA18: ;
17179 			}
17180 		}
17181 	}
17182 	add__ast_4797(result, n);
17183 	add__ast_4797(result, idxNode);
17184 	}BeforeRet_: ;
17185 	return result;
17186 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,whereToBindTypeHook__sem_12681)17187 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, whereToBindTypeHook__sem_12681)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
17188 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
17189 	result = NIM_NIL;
17190 	result = t;
17191 	{
17192 		while (1) {
17193 			{
17194 				if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10) || (*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11))) goto LA5_;
17195 				result = lastSon__ast_3743(result);
17196 			}
17197 			goto LA3_;
17198 			LA5_: ;
17199 			{
17200 				if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA8_;
17201 				result = (*result).sons->data[((NI) 0)];
17202 			}
17203 			goto LA3_;
17204 			LA8_: ;
17205 			{
17206 				goto LA1;
17207 			}
17208 			LA3_: ;
17209 		}
17210 	} LA1: ;
17211 	{
17212 		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_;
17213 		result = canonType__sem_12663(c, result);
17214 	}
17215 	LA13_: ;
17216 	return result;
17217 }
N_NIMCALL(void,Marker_tyRef__s6znTCfmZMSZG9absJgsa1w)17218 static N_NIMCALL(void, Marker_tyRef__s6znTCfmZMSZG9absJgsa1w)(void* p, NI op) {
17219 	tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw* a;
17220 	a = (tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw*)p;
17221 	nimGCvisit((void*)(*a).orig1, op);
17222 }
N_CLOSURE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transform__sem_15878)17223 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) {
17224 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17225 	tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw* colonenvP_;
17226 	result = NIM_NIL;
17227 	colonenvP_ = (tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw*) ClE_0;
17228 	result = shallowCopy__ast_4413(n);
17229 	{
17230 		NIM_BOOL T3_;
17231 		T3_ = (NIM_BOOL)0;
17232 		T3_ = sameTypeOrNil__types_1848((*n).typ, old, 0);
17233 		if (!T3_) goto LA4_;
17234 		asgnRef((void**) (&(*result).typ), fresh);
17235 	}
17236 	LA4_: ;
17237 	{
17238 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA8_;
17239 		{
17240 			if (!((*n)._kind_4.sym == oldParam)) goto LA12_;
17241 			asgnRef((void**) (&(*result)._kind_4.sym), newParam);
17242 		}
17243 		goto LA10_;
17244 		LA12_: ;
17245 		{
17246 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T17_;
17247 			if (!((*(*n)._kind_4.sym).owner == (*colonenvP_).orig1)) goto LA15_;
17248 			T17_ = nextSymId__ast_3132((*c).Sup.idgen);
17249 			asgnRef((void**) (&(*result)._kind_4.sym), copySym__ast_4054((*n)._kind_4.sym, T17_));
17250 			asgnRef((void**) (&(*(*result)._kind_4.sym).owner), procSym);
17251 		}
17252 		goto LA10_;
17253 		LA15_: ;
17254 		LA10_: ;
17255 	}
17256 	LA8_: ;
17257 	{
17258 		NI i;
17259 		NI colontmp_;
17260 		NI i_2;
17261 		i = (NI)0;
17262 		colontmp_ = (NI)0;
17263 		colontmp_ = safeLen__ast_3191(n);
17264 		i_2 = ((NI) 0);
17265 		{
17266 			while (1) {
17267 				tyProc__9aCo26f5IRYbBmS07lBztwA T21_;
17268 				if (!(i_2 < colontmp_)) goto LA20;
17269 				i = i_2;
17270 				nimZeroMem((void*)(&T21_), sizeof(tyProc__9aCo26f5IRYbBmS07lBztwA));
17271 				T21_.ClP_0 = transform__sem_15878; T21_.ClE_0 = colonenvP_;
17272 				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));
17273 				i_2 += ((NI) 1);
17274 			} LA20: ;
17275 		}
17276 	}
17277 	return result;
17278 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,turnFinalizerIntoDestructor__sem_15873)17279 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, turnFinalizerIntoDestructor__sem_15873)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* orig, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
17280 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
17281 	tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw* colonenv_;
17282 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
17283 	tyObject_TType__facALICuu8zUj0hjvbTLFg* origParamType;
17284 	tyObject_TType__facALICuu8zUj0hjvbTLFg* newParamType;
17285 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
17286 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* oldParam;
17287 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* newParam;
17288 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T3_;
17289 	tyProc__9aCo26f5IRYbBmS07lBztwA T4_;
17290 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T5_;
17291 	result = NIM_NIL;
17292 	colonenv_ = NIM_NIL;
17293 	colonenv_ = (tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw*) newObj((&NTIrefobject__s6znTCfmZMSZG9absJgsa1w_), sizeof(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw));
17294 	(*colonenv_).Sup.m_type = (&NTIobject__irrxU9bX4WBQP9bu3Q627FYw_);
17295 	asgnRef((void**) (&(*colonenv_).orig1), orig);
17296 	T1_ = nextSymId__ast_3132((*c).Sup.idgen);
17297 	result = copySym__ast_4054((*colonenv_).orig1, T1_);
17298 	(*result).info = info;
17299 	(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2)) & 63);
17300 	asgnRef((void**) (&(*result).owner), (*colonenv_).orig1);
17301 	origParamType = (*(*(*colonenv_).orig1).typ).sons->data[((NI) 1)];
17302 	T2_ = NIM_NIL;
17303 	T2_ = skipTypes__ast_3735(origParamType, TM__rF9caJawfOjYTjsgLVUSGFA_97);
17304 	newParamType = makeVarType__semdata_775(result, T2_, (*c).Sup.idgen, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
17305 	oldParam = (*(*(*(*(*colonenv_).orig1).typ).n)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
17306 	T3_ = nextSymId__ast_3132((*c).Sup.idgen);
17307 	newParam = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3), (*oldParam).name, T3_, result, (*result).info, 0);
17308 	asgnRef((void**) (&(*newParam).typ), newParamType);
17309 	nimZeroMem((void*)(&T4_), sizeof(tyProc__9aCo26f5IRYbBmS07lBztwA));
17310 	T4_.ClP_0 = transform__sem_15878; T4_.ClE_0 = colonenv_;
17311 	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));
17312 	T5_ = nextTypeId__ast_3151((*c).Sup.idgen);
17313 	asgnRef((void**) (&(*result).typ), newProcType__ast_5056((*result).info, T5_, result));
17314 	addParam__ast_5065((*result).typ, newParam);
17315 	return result;
17316 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,unownedType__sem_15813)17317 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, unownedType__sem_15813)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
17318 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
17319 	result = NIM_NIL;
17320 	switch ((*t).kind) {
17321 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
17322 	{
17323 		tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* elems;
17324 		NI T2_;
17325 		NIM_BOOL someChange;
17326 		T2_ = (NI)0;
17327 		T2_ = len__ast_4002(t);
17328 		elems = newSeq__modulegraphs_2893(((NI) (T2_)));
17329 		someChange = NIM_FALSE;
17330 		{
17331 			NI i;
17332 			NI colontmp_;
17333 			NI i_2;
17334 			i = (NI)0;
17335 			colontmp_ = (NI)0;
17336 			colontmp_ = len__ast_4002(t);
17337 			i_2 = ((NI) 0);
17338 			{
17339 				while (1) {
17340 					if (!(i_2 < colontmp_)) goto LA5;
17341 					i = i_2;
17342 					asgnRef((void**) (&elems->data[i]), unownedType__sem_15813(c, (*t).sons->data[i]));
17343 					{
17344 						if (!!((elems->data[i] == (*t).sons->data[i]))) goto LA8_;
17345 						someChange = NIM_TRUE;
17346 					}
17347 					LA8_: ;
17348 					i_2 += ((NI) 1);
17349 				} LA5: ;
17350 			}
17351 		}
17352 		{
17353 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T14_;
17354 			if (!someChange) goto LA12_;
17355 			T14_ = nextTypeId__ast_3151((*c).Sup.idgen);
17356 			result = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18), T14_, (*t).owner);
17357 			{
17358 				tyObject_TType__facALICuu8zUj0hjvbTLFg** e;
17359 				NI i_3;
17360 				NI L;
17361 				NI T16_;
17362 				e = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
17363 				i_3 = ((NI) 0);
17364 				T16_ = (elems ? elems->Sup.len : 0);
17365 				L = T16_;
17366 				{
17367 					while (1) {
17368 						if (!(i_3 < L)) goto LA18;
17369 						e = &elems->data[i_3];
17370 						rawAddSon__ast_4288(result, (*e), NIM_TRUE);
17371 						i_3 += ((NI) 1);
17372 					} LA18: ;
17373 				}
17374 			}
17375 		}
17376 		goto LA10_;
17377 		LA12_: ;
17378 		{
17379 			result = t;
17380 		}
17381 		LA10_: ;
17382 	}
17383 	break;
17384 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
17385 	{
17386 		result = (*t).sons->data[((NI) 0)];
17387 	}
17388 	break;
17389 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
17390 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
17391 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
17392 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
17393 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
17394 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
17395 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
17396 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
17397 	{
17398 		tyObject_TType__facALICuu8zUj0hjvbTLFg* b;
17399 		NI T22_;
17400 		T22_ = (NI)0;
17401 		T22_ = len__ast_4002(t);
17402 		b = unownedType__sem_15813(c, (*t).sons->data[(NI)(T22_ - ((NI) 1))]);
17403 		{
17404 			NI T25_;
17405 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T28_;
17406 			NI T29_;
17407 			T25_ = (NI)0;
17408 			T25_ = len__ast_4002(t);
17409 			if (!!((b == (*t).sons->data[(NI)(T25_ - ((NI) 1))]))) goto LA26_;
17410 			T28_ = nextTypeId__ast_3151((*c).Sup.idgen);
17411 			result = copyType__ast_4046(t, T28_, (*t).owner);
17412 			copyTypeProps__modulegraphs_8872((*c).graph, ((NI) ((*(*c).Sup.idgen).module)), result, t);
17413 			T29_ = (NI)0;
17414 			T29_ = len__ast_4002(result);
17415 			asgnRef((void**) (&(*result).sons->data[(NI)(T29_ - ((NI) 1))]), b);
17416 			(*result).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4)) & 63));
17417 		}
17418 		goto LA23_;
17419 		LA26_: ;
17420 		{
17421 			result = t;
17422 		}
17423 		LA23_: ;
17424 	}
17425 	break;
17426 	default:
17427 	{
17428 		result = t;
17429 	}
17430 	break;
17431 	}
17432 	return result;
17433 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semUnown__sem_15809)17434 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semUnown__sem_15809)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
17435 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17436 	result = NIM_NIL;
17437 	result = copyTree__ast_4431((*n)._kind_6.sons->data[((NI) 1)]);
17438 	asgnRef((void**) (&(*result).typ), unownedType__sem_15813(c, (*result).typ));
17439 	return result;
17440 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semQuantifier__sem_15916)17441 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semQuantifier__sem_15916)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
17442 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17443 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
17444 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* args;
17445 	NI T26_;
17446 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
17447 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
17448 	result = NIM_NIL;
17449 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
17450 	T1_ = NIM_NIL;
17451 	T1_ = openScope__lookups_69(c);
17452 	result = newNodeIT__ast_3378((*n).kind, (*n).info, (*n).typ);
17453 	add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 0)]);
17454 	args = (*n)._kind_6.sons->data[((NI) 1)];
17455 	{
17456 		NI i;
17457 		NI colontmp_;
17458 		NI T3_;
17459 		NI res;
17460 		i = (NI)0;
17461 		colontmp_ = (NI)0;
17462 		T3_ = (NI)0;
17463 		T3_ = len__ast_3198(args);
17464 		colontmp_ = (NI)(T3_ - ((NI) 2));
17465 		res = ((NI) 0);
17466 		{
17467 			while (1) {
17468 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
17469 				NIM_BOOL valid;
17470 				if (!(res <= colontmp_)) goto LA5;
17471 				i = res;
17472 				it = (*args)._kind_6.sons->data[i];
17473 				valid = NIM_FALSE;
17474 				{
17475 					tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* op;
17476 					if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29))) goto LA8_;
17477 					op = considerQuotedIdent__lookups_28(c, (*it)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
17478 					{
17479 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
17480 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* domain;
17481 						tyArray__T6RKPw8xfAeNaoei9aZGzXg T20_;
17482 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T21_;
17483 						if (!((*op).id == ((NI) 31))) goto LA12_;
17484 						v = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21), (*it)._kind_6.sons->data[((NI) 1)], c);
17485 						{
17486 							NIM_BOOL T16_;
17487 							T16_ = (NIM_BOOL)0;
17488 							T16_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
17489 							if (!(T16_)) goto LA17_;
17490 							T16_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
17491 							LA17_: ;
17492 							if (!T16_) goto LA18_;
17493 							nep1CheckDefImpl__linter_110((*(*c).graph).config, (*v).info, v, (*v).kind);
17494 						}
17495 						LA18_: ;
17496 						domain = semExprWithType__sem_56(c, (*it)._kind_6.sons->data[((NI) 2)], 2);
17497 						asgnRef((void**) (&(*v).typ), (*domain).typ);
17498 						valid = NIM_TRUE;
17499 						addDecl__lookups_845(c, v);
17500 						nimZeroMem((void*)T20_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
17501 						T20_[0] = (*it)._kind_6.sons->data[((NI) 0)];
17502 						T20_[1] = newSymNode__ast_3716(v);
17503 						T20_[2] = domain;
17504 						T21_ = NIM_NIL;
17505 						T21_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29), T20_, 3);
17506 						add__ast_4797(result, T21_);
17507 					}
17508 					LA12_: ;
17509 				}
17510 				LA8_: ;
17511 				{
17512 					if (!!(valid)) goto LA24_;
17513 					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);
17514 				}
17515 				LA24_: ;
17516 				res += ((NI) 1);
17517 			} LA5: ;
17518 		}
17519 	}
17520 	T26_ = (NI)0;
17521 	T26_ = len__ast_3198(args);
17522 	T27_ = NIM_NIL;
17523 	T27_ = semExprWithType__sem_56(c, (*args)._kind_6.sons->data[(NI)(T26_ - ((NI) 1))], 0);
17524 	T28_ = NIM_NIL;
17525 	T28_ = forceBool__sem_2869(c, T27_);
17526 	add__ast_4797(result, T28_);
17527 	closeScope__lookups_101(c);
17528 	return result;
17529 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semOld__sem_15985)17530 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOld__sem_15985)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
17531 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17532 	result = NIM_NIL;
17533 	{
17534 		if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA3_;
17535 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), (*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)]);
17536 	}
17537 	LA3_: ;
17538 	{
17539 		NIM_BOOL T7_;
17540 		T7_ = (NIM_BOOL)0;
17541 		T7_ = !(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
17542 		if (T7_) goto LA8_;
17543 		T7_ = !(((*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)));
17544 		LA8_: ;
17545 		if (!T7_) goto LA9_;
17546 		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);
17547 	}
17548 	goto LA5_;
17549 	LA9_: ;
17550 	{
17551 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T12_;
17552 		NimStringDesc* T15_;
17553 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T16_;
17554 		T12_ = NIM_NIL;
17555 		T12_ = getCurrOwner__semdata_315(c);
17556 		if (!!(((*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).owner == T12_))) goto LA13_;
17557 		T15_ = NIM_NIL;
17558 		T16_ = NIM_NIL;
17559 		T16_ = getCurrOwner__semdata_315(c);
17560 		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);
17561 appendString(T15_, (*(*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).name).s);
17562 appendString(T15_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_381));
17563 appendString(T15_, (*(*T16_).name).s);
17564 		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);
17565 	}
17566 	goto LA5_;
17567 	LA13_: ;
17568 	LA5_: ;
17569 	result = n;
17570 	return result;
17571 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semPrivateAccess__sem_16015)17572 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semPrivateAccess__sem_16015)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
17573 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17574 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
17575 	NI T1_;
17576 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
17577 	result = NIM_NIL;
17578 	t = toObjectFromRefPtrGeneric__ast_4890((*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).sons->data[((NI) 0)]);
17579 	asgnRef((void**) (&(*(*c).currentScope).allowPrivateAccess), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*(*c).currentScope).allowPrivateAccess), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
17580 	T1_ = (*(*c).currentScope).allowPrivateAccess->Sup.len++;
17581 	asgnRef((void**) (&(*(*c).currentScope).allowPrivateAccess->data[T1_]), (*t).sym);
17582 	T2_ = NIM_NIL;
17583 	T2_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63));
17584 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info, T2_);
17585 	return result;
17586 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,magicsAfterOverloadResolution__sem_16026)17587 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, magicsAfterOverloadResolution__sem_16026)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
17588 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17589 	result = NIM_NIL;
17590 	switch ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic) {
17591 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 16):
17592 	{
17593 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
17594 		result = n;
17595 		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))));
17596 		asgnRef((void**) (&(*result).typ), makePtrType__semdata_742(c, (*(*result)._kind_6.sons->data[((NI) 1)]).typ));
17597 	}
17598 	break;
17599 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 18):
17600 	{
17601 		result = semTypeOf__sem_132(c, n);
17602 	}
17603 	break;
17604 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 10):
17605 	{
17606 		tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* configX60gensym4179_;
17607 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nodeX60gensym4179_;
17608 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typX60gensym4179_;
17609 		NI64 sizeX60gensym4179_;
17610 		configX60gensym4179_ = (*(*c).graph).config;
17611 		nodeX60gensym4179_ = n;
17612 		typX60gensym4179_ = (*(*nodeX60gensym4179_)._kind_6.sons->data[((NI) 1)]).typ;
17613 		computeSizeAlign__types_2924(configX60gensym4179_, typX60gensym4179_);
17614 		sizeX60gensym4179_ = (*typX60gensym4179_).size;
17615 		{
17616 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resX60gensym4179_;
17617 			if (!(IL64(0) <= sizeX60gensym4179_)) goto LA6_;
17618 			resX60gensym4179_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), sizeX60gensym4179_);
17619 			(*resX60gensym4179_).info = (*nodeX60gensym4179_).info;
17620 			asgnRef((void**) (&(*resX60gensym4179_).typ), (*nodeX60gensym4179_).typ);
17621 			result = resX60gensym4179_;
17622 		}
17623 		goto LA4_;
17624 		LA6_: ;
17625 		{
17626 			result = n;
17627 		}
17628 		LA4_: ;
17629 	}
17630 	break;
17631 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 11):
17632 	{
17633 		tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* configX60gensym4183_;
17634 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nodeX60gensym4183_;
17635 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typX60gensym4183_;
17636 		NI16 alignX60gensym4183_;
17637 		configX60gensym4183_ = (*(*c).graph).config;
17638 		nodeX60gensym4183_ = n;
17639 		typX60gensym4183_ = (*(*nodeX60gensym4183_)._kind_6.sons->data[((NI) 1)]).typ;
17640 		computeSizeAlign__types_2924(configX60gensym4183_, typX60gensym4183_);
17641 		alignX60gensym4183_ = (*typX60gensym4183_).align;
17642 		{
17643 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resX60gensym4183_;
17644 			if (!(((NI16) 0) <= alignX60gensym4183_)) goto LA12_;
17645 			resX60gensym4183_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (alignX60gensym4183_)));
17646 			(*resX60gensym4183_).info = (*nodeX60gensym4183_).info;
17647 			asgnRef((void**) (&(*resX60gensym4183_).typ), (*nodeX60gensym4183_).typ);
17648 			result = resX60gensym4183_;
17649 		}
17650 		goto LA10_;
17651 		LA12_: ;
17652 		{
17653 			result = n;
17654 		}
17655 		LA10_: ;
17656 	}
17657 	break;
17658 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 12):
17659 	{
17660 		tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* configX60gensym4187_;
17661 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nodeX60gensym4187_;
17662 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dotExprX60gensym4187_;
17663 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* valueX60gensym4187_;
17664 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* memberX60gensym4187_;
17665 		NI offsetX60gensym4187_;
17666 		configX60gensym4187_ = (*(*c).graph).config;
17667 		nodeX60gensym4187_ = n;
17668 		dotExprX60gensym4187_ = NIM_NIL;
17669 		{
17670 			{
17671 				if (!((*(*nodeX60gensym4187_)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA19_;
17672 				dotExprX60gensym4187_ = (*nodeX60gensym4187_)._kind_6.sons->data[((NI) 1)];
17673 			}
17674 			goto LA17_;
17675 			LA19_: ;
17676 			{
17677 				if (!((*(*nodeX60gensym4187_)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46))) goto LA22_;
17678 				dotExprX60gensym4187_ = (*(*nodeX60gensym4187_)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)];
17679 			}
17680 			goto LA17_;
17681 			LA22_: ;
17682 			{
17683 				liMessage__msgs_1118(configX60gensym4187_, (*nodeX60gensym4187_).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_245), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_246, NIM_FALSE);
17684 			}
17685 			LA17_: ;
17686 		}
17687 		valueX60gensym4187_ = (*dotExprX60gensym4187_)._kind_6.sons->data[((NI) 0)];
17688 		memberX60gensym4187_ = (*dotExprX60gensym4187_)._kind_6.sons->data[((NI) 1)];
17689 		computeSizeAlign__types_2924(configX60gensym4187_, (*valueX60gensym4187_).typ);
17690 		offsetX60gensym4187_ = (*(*memberX60gensym4187_)._kind_4.sym).offset;
17691 		{
17692 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym4187_;
17693 			if (!(((NI) 0) <= offsetX60gensym4187_)) goto LA27_;
17694 			tmpX60gensym4187_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (offsetX60gensym4187_)));
17695 			(*tmpX60gensym4187_).info = (*nodeX60gensym4187_).info;
17696 			asgnRef((void**) (&(*tmpX60gensym4187_).typ), (*nodeX60gensym4187_).typ);
17697 			result = tmpX60gensym4187_;
17698 		}
17699 		goto LA25_;
17700 		LA27_: ;
17701 		{
17702 			result = n;
17703 		}
17704 		LA25_: ;
17705 	}
17706 	break;
17707 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5):
17708 	{
17709 		result = semArrGet__sem_15315(c, n, flags);
17710 	}
17711 	break;
17712 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 6):
17713 	{
17714 		result = semArrPut__sem_15338(c, n, flags);
17715 	}
17716 	break;
17717 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 7):
17718 	{
17719 		{
17720 			if (!eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_178))) goto LA35_;
17721 			result = semAsgnOpr__sem_15367(c, n);
17722 		}
17723 		goto LA33_;
17724 		LA35_: ;
17725 		{
17726 			result = semShallowCopy__sem_15753(c, n, flags);
17727 		}
17728 		LA33_: ;
17729 	}
17730 	break;
17731 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 139):
17732 	{
17733 		result = semIsPartOf__sem_15375(c, n, flags);
17734 	}
17735 	break;
17736 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 13):
17737 	{
17738 		result = semTypeTraits__sem_15631(c, n);
17739 	}
17740 	break;
17741 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 140):
17742 	{
17743 		NimStringDesc* T41_;
17744 		T41_ = NIM_NIL;
17745 		T41_ = renderTree__renderer_46((*n)._kind_6.sons->data[((NI) 1)], 4);
17746 		result = newStrNodeT__semfold_76(T41_, n, (*c).graph);
17747 		asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
17748 	}
17749 	break;
17750 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 260):
17751 	{
17752 		result = semInstantiationInfo__sem_15397(c, n);
17753 	}
17754 	break;
17755 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 31):
17756 	{
17757 		result = semOrd__sem_15652(c, n);
17758 	}
17759 	break;
17760 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15):
17761 	{
17762 		result = semOf__sem_15757(c, n);
17763 	}
17764 	break;
17765 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 9):
17766 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 8):
17767 	{
17768 		result = semLowHigh__sem_14549(c, n, (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic);
17769 	}
17770 	break;
17771 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 21):
17772 	{
17773 		result = semShallowCopy__sem_15753(c, n, flags);
17774 	}
17775 	break;
17776 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 250):
17777 	{
17778 		{
17779 			if (!!((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 6))&31U)))!=0))) goto LA50_;
17780 			result = semBindSym__sem_15658(c, n);
17781 		}
17782 		goto LA48_;
17783 		LA50_: ;
17784 		{
17785 			result = semDynamicBindSym__sem_15727(c, n);
17786 		}
17787 		LA48_: ;
17788 	}
17789 	break;
17790 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 203):
17791 	{
17792 		result = n;
17793 		asgnRef((void**) (&(*result).typ), (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
17794 	}
17795 	break;
17796 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 127):
17797 	{
17798 		result = n;
17799 	}
17800 	break;
17801 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 19):
17802 	{
17803 		tyProc__RcJNn9bSvWdJgUmA1O6sbHA plugin;
17804 		plugin = getPlugin__pluginsZactive_25((*c).cache, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
17805 		{
17806 			NimStringDesc* T60_;
17807 			if (!(plugin == 0)) goto LA58_;
17808 			T60_ = NIM_NIL;
17809 			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);
17810 appendString(T60_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_367));
17811 appendString(T60_, (*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s);
17812 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T60_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_368, NIM_FALSE);
17813 			result = n;
17814 		}
17815 		goto LA56_;
17816 		LA58_: ;
17817 		{
17818 			result = plugin(c, n);
17819 		}
17820 		LA56_: ;
17821 	}
17822 	break;
17823 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 33):
17824 	{
17825 		{
17826 			NIM_BOOL T65_;
17827 			NI T66_;
17828 			NI T68_;
17829 			T65_ = (NIM_BOOL)0;
17830 			T66_ = (NI)0;
17831 			T66_ = len__ast_3198(n);
17832 			T65_ = ((*(*n)._kind_6.sons->data[(NI)(T66_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
17833 			if (!(T65_)) goto LA67_;
17834 			T68_ = (NI)0;
17835 			T68_ = len__ast_3198(n);
17836 			T65_ = !(((12288 &((NU32)1<<((NU)((*(*(*n)._kind_6.sons->data[(NI)(T68_ - ((NI) 1))])._kind_4.sym).kind)&31U)))!=0));
17837 			LA67_: ;
17838 			if (!T65_) goto LA69_;
17839 			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);
17840 		}
17841 		goto LA63_;
17842 		LA69_: ;
17843 		{
17844 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nfin;
17845 			NI T74_;
17846 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fin;
17847 			if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0)) goto LA72_;
17848 			T74_ = (NI)0;
17849 			T74_ = len__ast_3198(n);
17850 			nfin = skipConvCastAndClosure__astalgo_114((*n)._kind_6.sons->data[(NI)(T74_ - ((NI) 1))]);
17851 			switch ((*nfin).kind) {
17852 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
17853 			{
17854 				fin = (*nfin)._kind_4.sym;
17855 			}
17856 			break;
17857 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51):
17858 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
17859 			{
17860 				fin = (*(*nfin)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
17861 			}
17862 			break;
17863 			default:
17864 			{
17865 				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);
17866 				fin = NIM_NIL;
17867 			}
17868 			break;
17869 			}
17870 			{
17871 				tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
17872 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T86_;
17873 				if (!!((fin == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA80_;
17874 				{
17875 					if (!!(((12288 &((NU32)1<<((NU)((*fin).kind)&31U)))!=0))) goto LA84_;
17876 					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);
17877 				}
17878 				LA84_: ;
17879 				T86_ = NIM_NIL;
17880 				T86_ = skipTypes__ast_3735((*(*fin).typ).sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_373);
17881 				t = whereToBindTypeHook__sem_12681(c, T86_);
17882 				{
17883 					NIM_BOOL T89_;
17884 					NIM_BOOL T90_;
17885 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T92_;
17886 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T94_;
17887 					T89_ = (NIM_BOOL)0;
17888 					T90_ = (NIM_BOOL)0;
17889 					T90_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
17890 					if (!(T90_)) goto LA91_;
17891 					T92_ = NIM_NIL;
17892 					T92_ = getAttachedOp__modulegraphs_4011((*c).graph, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
17893 					T90_ = !((T92_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
17894 					LA91_: ;
17895 					T89_ = T90_;
17896 					if (!(T89_)) goto LA93_;
17897 					T94_ = NIM_NIL;
17898 					T94_ = getAttachedOp__modulegraphs_4011((*c).graph, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
17899 					T89_ = ((*T94_).owner == fin);
17900 					LA93_: ;
17901 					if (!T89_) goto LA95_;
17902 				}
17903 				goto LA87_;
17904 				LA95_: ;
17905 				{
17906 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T98_;
17907 					T98_ = NIM_NIL;
17908 					T98_ = turnFinalizerIntoDestructor__sem_15873(c, fin, (*n).info);
17909 					bindTypeHook__sem_12701(c, T98_, n, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
17910 				}
17911 				LA87_: ;
17912 			}
17913 			LA80_: ;
17914 		}
17915 		goto LA63_;
17916 		LA72_: ;
17917 		LA63_: ;
17918 		result = n;
17919 	}
17920 	break;
17921 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 150):
17922 	{
17923 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
17924 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
17925 		result = n;
17926 		t_2 = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_228);
17927 		op = getAttachedOp__modulegraphs_4011((*c).graph, t_2, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
17928 		{
17929 			if (!!((op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA102_;
17930 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(op));
17931 		}
17932 		LA102_: ;
17933 	}
17934 	break;
17935 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 151):
17936 	{
17937 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_3;
17938 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op_2;
17939 		result = n;
17940 		t_3 = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_228);
17941 		op_2 = getAttachedOp__modulegraphs_4011((*c).graph, t_3, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3));
17942 		{
17943 			if (!!((op_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA107_;
17944 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(op_2));
17945 		}
17946 		LA107_: ;
17947 	}
17948 	break;
17949 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 153):
17950 	{
17951 		result = semUnown__sem_15809(c, n);
17952 	}
17953 	break;
17954 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 113):
17955 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 114):
17956 	{
17957 		result = semQuantifier__sem_15916(c, n);
17958 	}
17959 	break;
17960 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 115):
17961 	{
17962 		result = semOld__sem_15985(c, n);
17963 	}
17964 	break;
17965 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 138):
17966 	{
17967 		tyObject_TType__facALICuu8zUj0hjvbTLFg* seqType;
17968 		result = n;
17969 		seqType = skipTypes__ast_3735((*(*result)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_383);
17970 		{
17971 			NIM_BOOL T115_;
17972 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T117_;
17973 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T120_;
17974 			NimStringDesc* T121_;
17975 			T115_ = (NIM_BOOL)0;
17976 			T115_ = ((*seqType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
17977 			if (!(T115_)) goto LA116_;
17978 			T117_ = NIM_NIL;
17979 			T117_ = base__types_63(seqType);
17980 			T115_ = requiresInit__typeallowed_578(T117_);
17981 			LA116_: ;
17982 			if (!T115_) goto LA118_;
17983 			T120_ = NIM_NIL;
17984 			T120_ = base__types_63(seqType);
17985 			T121_ = NIM_NIL;
17986 			T121_ = typeToString__types_50(T120_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
17987 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 39), T121_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_384, NIM_FALSE);
17988 		}
17989 		LA118_: ;
17990 	}
17991 	break;
17992 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 152):
17993 	{
17994 		tyObject_TType__facALICuu8zUj0hjvbTLFg* constructed;
17995 		result = n;
17996 		{
17997 			NimStringDesc* argX60gensym4250_;
17998 			if (!!(((*(*(*result)._kind_6.sons->data[((NI) 1)]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA125_;
17999 			argX60gensym4250_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_385);
18000 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym4250_, TM__rF9caJawfOjYTjsgLVUSGFA_385);
18001 		}
18002 		LA125_: ;
18003 		constructed = base__types_63((*(*result)._kind_6.sons->data[((NI) 1)]).typ);
18004 		{
18005 			NIM_BOOL T129_;
18006 			NimStringDesc* T132_;
18007 			T129_ = (NIM_BOOL)0;
18008 			T129_ = requiresInit__typeallowed_578(constructed);
18009 			if (!T129_) goto LA130_;
18010 			T132_ = NIM_NIL;
18011 			T132_ = typeToString__types_50(constructed, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
18012 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 40), T132_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_386, NIM_FALSE);
18013 		}
18014 		LA130_: ;
18015 	}
18016 	break;
18017 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 155):
18018 	{
18019 		{
18020 			NIM_BOOL T136_;
18021 			NimStringDesc* T139_;
18022 			NimStringDesc* T140_;
18023 			T136_ = (NIM_BOOL)0;
18024 			T136_ = checkIsolate__isolation95check_112((*n)._kind_6.sons->data[((NI) 1)]);
18025 			if (!!(T136_)) goto LA137_;
18026 			T139_ = NIM_NIL;
18027 			T140_ = NIM_NIL;
18028 			T140_ = dollar___renderer_2106((*n)._kind_6.sons->data[((NI) 1)]);
18029 			T139_ = rawNewString((T140_ ? T140_->Sup.len : 0) + 31);
18030 appendString(T139_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_387));
18031 appendString(T139_, T140_);
18032 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T139_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_388, NIM_FALSE);
18033 		}
18034 		LA137_: ;
18035 		result = n;
18036 	}
18037 	break;
18038 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 52):
18039 	{
18040 		{
18041 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T144_;
18042 			T144_ = NIM_NIL;
18043 			T144_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
18044 			if (!((*T144_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*T144_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44))) goto LA145_;
18045 			(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic = ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 66);
18046 		}
18047 		LA145_: ;
18048 		result = n;
18049 	}
18050 	break;
18051 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 275):
18052 	{
18053 		result = semPrivateAccess__sem_16015(c, n);
18054 	}
18055 	break;
18056 	default:
18057 	{
18058 		result = n;
18059 	}
18060 	break;
18061 	}
18062 	return result;
18063 }
N_NIMCALL(NIM_BOOL,hasCycle__sem_548)18064 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasCycle__sem_548)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
18065 	NIM_BOOL result;
18066 	result = (NIM_BOOL)0;
18067 	(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 0)) & 31);
18068 	{
18069 		NI i;
18070 		NI colontmp_;
18071 		NI i_2;
18072 		i = (NI)0;
18073 		colontmp_ = (NI)0;
18074 		colontmp_ = safeLen__ast_3191(n);
18075 		i_2 = ((NI) 0);
18076 		{
18077 			while (1) {
18078 				if (!(i_2 < colontmp_)) goto LA3;
18079 				i = i_2;
18080 				{
18081 					NIM_BOOL T6_;
18082 					T6_ = (NIM_BOOL)0;
18083 					T6_ = (((*(*n)._kind_6.sons->data[i]).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 0))&31U)))!=0);
18084 					if (T6_) goto LA7_;
18085 					T6_ = hasCycle__sem_548((*n)._kind_6.sons->data[i]);
18086 					LA7_: ;
18087 					if (!T6_) goto LA8_;
18088 					result = NIM_TRUE;
18089 					goto LA1;
18090 				}
18091 				LA8_: ;
18092 				i_2 += ((NI) 1);
18093 			} LA3: ;
18094 		}
18095 	} LA1: ;
18096 	(*n).flags &= ~(((NU32)1) << ((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 0)) & 31));
18097 	return result;
18098 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,fixupTypeAfterEval__sem_570)18099 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fixupTypeAfterEval__sem_570)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* eOrig) {
18100 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18101 	result = NIM_NIL;
18102 	{
18103 		if (!((*(*eOrig).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*(*eOrig).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7) || (*(*eOrig).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA3_;
18104 		result = semExprWithType__sem_56(c, evaluated, 0);
18105 	}
18106 	goto LA1_;
18107 	LA3_: ;
18108 	{
18109 		tyObject_TType__facALICuu8zUj0hjvbTLFg* expectedType;
18110 		result = evaluated;
18111 		expectedType = skipTypes__ast_3735((*eOrig).typ, TM__rF9caJawfOjYTjsgLVUSGFA_30);
18112 		{
18113 			NIM_BOOL T8_;
18114 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n2X60gensym48_;
18115 			T8_ = (NIM_BOOL)0;
18116 			T8_ = hasCycle__sem_548(result);
18117 			if (!T8_) goto LA9_;
18118 			n2X60gensym48_ = eOrig;
18119 			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);
18120 			result = errorNode__semdata_1009(c, n2X60gensym48_);
18121 		}
18122 		goto LA6_;
18123 		LA9_: ;
18124 		{
18125 			annotateType__semmacrosanity_69(result, expectedType, (*(*c).graph).config);
18126 		}
18127 		LA6_: ;
18128 	}
18129 	LA1_: ;
18130 	return result;
18131 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,evalAtCompileTime__sem_117)18132 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalAtCompileTime__sem_117)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
18133 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18134 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee;
18135 {	result = NIM_NIL;
18136 	result = n;
18137 	{
18138 		NIM_BOOL T3_;
18139 		T3_ = (NIM_BOOL)0;
18140 		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)));
18141 		if (T3_) goto LA4_;
18142 		T3_ = !(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
18143 		LA4_: ;
18144 		if (!T3_) goto LA5_;
18145 		goto BeforeRet_;
18146 	}
18147 	LA5_: ;
18148 	callee = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
18149 	{
18150 		NIM_BOOL T9_;
18151 		T9_ = (NIM_BOOL)0;
18152 		T9_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18153 		if (!(T9_)) goto LA10_;
18154 		T9_ = (((*(*n).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 33))&63U)))!=0);
18155 		LA10_: ;
18156 		if (!T9_) goto LA11_;
18157 		goto BeforeRet_;
18158 	}
18159 	LA11_: ;
18160 	{
18161 		NIM_BOOL T15_;
18162 		NIM_BOOL T16_;
18163 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
18164 		NIM_BOOL allConst;
18165 		T15_ = (NIM_BOOL)0;
18166 		T16_ = (NIM_BOOL)0;
18167 		T16_ = !(((*callee).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)));
18168 		if (!(T16_)) goto LA17_;
18169 		T16_ = ((TM__rF9caJawfOjYTjsgLVUSGFA_389[(NU)((*callee).magic)>>3] &(1U<<((NU)((*callee).magic)&7U)))!=0);
18170 		LA17_: ;
18171 		T15_ = T16_;
18172 		if (!(T15_)) goto LA18_;
18173 		T15_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18174 		LA18_: ;
18175 		if (!T15_) goto LA19_;
18176 		call = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, (*n).typ);
18177 		add__ast_4797(call, (*n)._kind_6.sons->data[((NI) 0)]);
18178 		allConst = NIM_TRUE;
18179 		{
18180 			NI i;
18181 			NI colontmp_;
18182 			NI i_2;
18183 			i = (NI)0;
18184 			colontmp_ = (NI)0;
18185 			colontmp_ = len__ast_3198(n);
18186 			i_2 = ((NI) 1);
18187 			{
18188 				while (1) {
18189 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
18190 					if (!(i_2 < colontmp_)) goto LA23;
18191 					i = i_2;
18192 					a = getConstExpr__semfold_81((*c).module, (*n)._kind_6.sons->data[i], (*c).Sup.idgen, (*c).graph);
18193 					{
18194 						if (!(a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA26_;
18195 						allConst = NIM_FALSE;
18196 						a = (*n)._kind_6.sons->data[i];
18197 						{
18198 							if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58))) goto LA30_;
18199 							a = (*a)._kind_6.sons->data[((NI) 1)];
18200 						}
18201 						LA30_: ;
18202 					}
18203 					LA26_: ;
18204 					add__ast_4797(call, a);
18205 					i_2 += ((NI) 1);
18206 				} LA23: ;
18207 			}
18208 		}
18209 		{
18210 			if (!allConst) goto LA34_;
18211 			result = getConstExpr__semfold_81((*c).module, call, (*c).Sup.idgen, (*c).graph);
18212 			{
18213 				if (!(result == 0)) goto LA38_;
18214 				result = n;
18215 			}
18216 			goto LA36_;
18217 			LA38_: ;
18218 			{
18219 				goto BeforeRet_;
18220 			}
18221 			LA36_: ;
18222 		}
18223 		LA34_: ;
18224 	}
18225 	LA19_: ;
18226 	{
18227 		{
18228 			NI T44_;
18229 			tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T58_;
18230 			T44_ = (NI)0;
18231 			T44_ = len__ast_3198(n);
18232 			if (!(((NI) 1) < T44_)) goto LA45_;
18233 			{
18234 				NI i_3;
18235 				NI colontmp__2;
18236 				NI i_4;
18237 				i_3 = (NI)0;
18238 				colontmp__2 = (NI)0;
18239 				colontmp__2 = len__ast_3198(n);
18240 				i_4 = ((NI) 1);
18241 				{
18242 					while (1) {
18243 						if (!(i_4 < colontmp__2)) goto LA49;
18244 						i_3 = i_4;
18245 						{
18246 							NIM_BOOL T52_;
18247 							NIM_BOOL T53_;
18248 							T52_ = (NIM_BOOL)0;
18249 							T53_ = (NIM_BOOL)0;
18250 							T53_ = ((*(*n)._kind_6.sons->data[i_3]).typ == 0);
18251 							if (T53_) goto LA54_;
18252 							T53_ = !(((*(*(*n)._kind_6.sons->data[i_3]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60)));
18253 							LA54_: ;
18254 							T52_ = T53_;
18255 							if (T52_) goto LA55_;
18256 							T52_ = !((((*(*(*n)._kind_6.sons->data[i_3]).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0));
18257 							LA55_: ;
18258 							if (!T52_) goto LA56_;
18259 							goto LA41;
18260 						}
18261 						LA56_: ;
18262 						i_4 += ((NI) 1);
18263 					} LA49: ;
18264 				}
18265 			}
18266 			T58_ = NIM_NIL;
18267 			T58_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
18268 			asgnRef((void**) (&T58_->data[0]), (*n).typ);
18269 			asgnRef((void**) (&(*n).typ), newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), T58_));
18270 			(*(*n).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)) & 63);
18271 		}
18272 		LA45_: ;
18273 	} LA41: ;
18274 	{
18275 		NIM_BOOL T61_;
18276 		NIM_BOOL T63_;
18277 		NIM_BOOL T64_;
18278 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call_2;
18279 		T61_ = (NIM_BOOL)0;
18280 		T61_ = ((*callee).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10));
18281 		if (T61_) goto LA62_;
18282 		T63_ = (NIM_BOOL)0;
18283 		T64_ = (NIM_BOOL)0;
18284 		T64_ = !(((268439552 & (*callee).flags) == 0));
18285 		if (!(T64_)) goto LA65_;
18286 		T64_ = ((80 & (*callee).flags) == 0);
18287 		LA65_: ;
18288 		T63_ = T64_;
18289 		if (!(T63_)) goto LA66_;
18290 		T63_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18291 		LA66_: ;
18292 		T61_ = T63_;
18293 		LA62_: ;
18294 		if (!T61_) goto LA67_;
18295 		{
18296 			NIM_BOOL T71_;
18297 			NIM_BOOL T72_;
18298 			T71_ = (NIM_BOOL)0;
18299 			T72_ = (NIM_BOOL)0;
18300 			T72_ = !(((*callee).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10)));
18301 			if (!(T72_)) goto LA73_;
18302 			T72_ = !((((*callee).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0));
18303 			LA73_: ;
18304 			T71_ = T72_;
18305 			if (!(T71_)) goto LA74_;
18306 			T71_ = !((((*(*(*c).graph).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 22))&31U)))!=0));
18307 			LA74_: ;
18308 			if (!T71_) goto LA75_;
18309 			goto BeforeRet_;
18310 		}
18311 		LA75_: ;
18312 		{
18313 			if (!!(((TM__rF9caJawfOjYTjsgLVUSGFA_389[(NU)((*callee).magic)>>3] &(1U<<((NU)((*callee).magic)&7U)))!=0))) goto LA79_;
18314 			goto BeforeRet_;
18315 		}
18316 		LA79_: ;
18317 		{
18318 			NIM_BOOL T83_;
18319 			T83_ = (NIM_BOOL)0;
18320 			T83_ = !(((78848 &((NU32)1<<((NU)((*callee).kind)&31U)))!=0));
18321 			if (T83_) goto LA84_;
18322 			T83_ = isGenericRoutine__ast_4646(callee);
18323 			LA84_: ;
18324 			if (!T83_) goto LA85_;
18325 			goto BeforeRet_;
18326 		}
18327 		LA85_: ;
18328 		{
18329 			NIM_BOOL T89_;
18330 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T91_;
18331 			T89_ = (NIM_BOOL)0;
18332 			T89_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18333 			if (!(T89_)) goto LA90_;
18334 			T91_ = NIM_NIL;
18335 			T91_ = typeAllowed__typeallowed_472((*n).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10), c, 0);
18336 			T89_ = !((T91_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18337 			LA90_: ;
18338 			if (!T89_) goto LA92_;
18339 			goto BeforeRet_;
18340 		}
18341 		LA92_: ;
18342 		call_2 = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, (*n).typ);
18343 		add__ast_4797(call_2, (*n)._kind_6.sons->data[((NI) 0)]);
18344 		{
18345 			NI i_5;
18346 			NI colontmp__3;
18347 			NI i_6;
18348 			i_5 = (NI)0;
18349 			colontmp__3 = (NI)0;
18350 			colontmp__3 = len__ast_3198(n);
18351 			i_6 = ((NI) 1);
18352 			{
18353 				while (1) {
18354 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
18355 					if (!(i_6 < colontmp__3)) goto LA96;
18356 					i_5 = i_6;
18357 					a_2 = getConstExpr__semfold_81((*c).module, (*n)._kind_6.sons->data[i_5], (*c).Sup.idgen, (*c).graph);
18358 					{
18359 						if (!(a_2 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA99_;
18360 						result = n;
18361 						goto BeforeRet_;
18362 					}
18363 					LA99_: ;
18364 					add__ast_4797(call_2, a_2);
18365 					i_6 += ((NI) 1);
18366 				} LA96: ;
18367 			}
18368 		}
18369 		{
18370 			NIM_BOOL T103_;
18371 			T103_ = (NIM_BOOL)0;
18372 			T103_ = ((*c).inStaticContext == ((NI) 0));
18373 			if (T103_) goto LA104_;
18374 			T103_ = (((*callee).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 12))&63U)))!=0);
18375 			LA104_: ;
18376 			if (!T103_) goto LA105_;
18377 			{
18378 				if (!(((*callee).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0)) goto LA109_;
18379 				result = evalStaticExpr__vm_13752((*c).module, (*c).Sup.idgen, (*c).graph, call_2, (*(*c).p).owner);
18380 				{
18381 					NimStringDesc* T115_;
18382 					NimStringDesc* T116_;
18383 					if (!(result == 0)) goto LA113_;
18384 					T115_ = NIM_NIL;
18385 					T115_ = renderTree__renderer_46(call_2, 0);
18386 					T116_ = NIM_NIL;
18387 					T116_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_390), T115_);
18388 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T116_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_391, NIM_FALSE);
18389 				}
18390 				goto LA111_;
18391 				LA113_: ;
18392 				{
18393 					result = fixupTypeAfterEval__sem_570(c, result, n);
18394 				}
18395 				LA111_: ;
18396 			}
18397 			goto LA107_;
18398 			LA109_: ;
18399 			{
18400 				result = evalConstExpr__vm_13746((*c).module, (*c).Sup.idgen, (*c).graph, call_2);
18401 				{
18402 					if (!(result == 0)) goto LA121_;
18403 					result = n;
18404 				}
18405 				goto LA119_;
18406 				LA121_: ;
18407 				{
18408 					result = fixupTypeAfterEval__sem_570(c, result, n);
18409 				}
18410 				LA119_: ;
18411 			}
18412 			LA107_: ;
18413 		}
18414 		goto LA101_;
18415 		LA105_: ;
18416 		{
18417 			result = n;
18418 		}
18419 		LA101_: ;
18420 	}
18421 	LA67_: ;
18422 	}BeforeRet_: ;
18423 	return result;
18424 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,afterCallActions__sem_16520)18425 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) {
18426 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18427 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee;
18428 {	result = NIM_NIL;
18429 	{
18430 		NIM_BOOL T3_;
18431 		NIM_BOOL T4_;
18432 		T3_ = (NIM_BOOL)0;
18433 		T4_ = (NIM_BOOL)0;
18434 		T4_ = !(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 13))&31U)))!=0));
18435 		if (!(T4_)) goto LA5_;
18436 		T4_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18437 		LA5_: ;
18438 		T3_ = T4_;
18439 		if (!(T3_)) goto LA6_;
18440 		T3_ = ((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
18441 		LA6_: ;
18442 		if (!T3_) goto LA7_;
18443 		result = errorNode__semdata_1009(c, n);
18444 		goto BeforeRet_;
18445 	}
18446 	LA7_: ;
18447 	result = n;
18448 	callee = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
18449 	switch ((*callee).kind) {
18450 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
18451 	{
18452 		result = semMacroExpr__sem_524(c, result, orig, callee, flags);
18453 	}
18454 	break;
18455 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
18456 	{
18457 		result = semTemplateExpr__sem_519(c, result, callee, flags);
18458 	}
18459 	break;
18460 	default:
18461 	{
18462 		semFinishOperands__sigmatch_4162(c, result);
18463 		activate__sem_108(c, result);
18464 		fixAbstractType__sem_14966(c, result);
18465 		analyseIfAddressTakenInCall__sem_15142(c, result);
18466 		{
18467 			if (!!(((*callee).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)))) goto LA14_;
18468 			result = magicsAfterOverloadResolution__sem_16026(c, result, flags);
18469 		}
18470 		LA14_: ;
18471 	}
18472 	break;
18473 	}
18474 	{
18475 		if (!((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL))) goto LA18_;
18476 		result = evalAtCompileTime__sem_117(c, result);
18477 	}
18478 	LA18_: ;
18479 	}BeforeRet_: ;
18480 	return result;
18481 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semDirectOp__sem_511)18482 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDirectOp__sem_511)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
18483 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18484 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig;
18485 	result = NIM_NIL;
18486 	nOrig = copyTree__ast_4431(n);
18487 	result = semOverloadedCallAnalyseEffects__sem_16420(c, n, nOrig, flags);
18488 	{
18489 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
18490 		result = afterCallActions__sem_16520(c, result, nOrig, flags);
18491 	}
18492 	goto LA1_;
18493 	LA3_: ;
18494 	{
18495 		result = errorNode__semdata_1009(c, n);
18496 	}
18497 	LA1_: ;
18498 	return result;
18499 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,evalPattern__sem_671)18500 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalPattern__sem_671)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig) {
18501 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18502 	NimStringDesc* rule;
18503 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
18504 	result = NIM_NIL;
18505 	{
18506 		NIM_BOOL T3_;
18507 		NimStringDesc* argX60gensym82_;
18508 		T3_ = (NIM_BOOL)0;
18509 		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27));
18510 		if (!(T3_)) goto LA4_;
18511 		T3_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
18512 		LA4_: ;
18513 		if (!!(T3_)) goto LA5_;
18514 		argX60gensym82_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_227);
18515 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym82_, TM__rF9caJawfOjYTjsgLVUSGFA_227);
18516 	}
18517 	LA5_: ;
18518 	rule = NIM_NIL;
18519 	{
18520 		NIM_BOOL T9_;
18521 		T9_ = (NIM_BOOL)0;
18522 		T9_ = hasHint__options_517((*(*c).graph).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 88));
18523 		if (!T9_) goto LA10_;
18524 		rule = renderTree__renderer_46(n, 4);
18525 	}
18526 	LA10_: ;
18527 	s = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
18528 	switch ((*s).kind) {
18529 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
18530 	{
18531 		result = semMacroExpr__sem_524(c, n, orig, s, 0);
18532 	}
18533 	break;
18534 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
18535 	{
18536 		result = semTemplateExpr__sem_519(c, n, s, 65536);
18537 	}
18538 	break;
18539 	default:
18540 	{
18541 		result = semDirectOp__sem_511(c, n, 0);
18542 	}
18543 	break;
18544 	}
18545 	{
18546 		NIM_BOOL T17_;
18547 		NimStringDesc* T20_;
18548 		NimStringDesc* T21_;
18549 		T17_ = (NIM_BOOL)0;
18550 		T17_ = hasHint__options_517((*(*c).graph).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 88));
18551 		if (!T17_) goto LA18_;
18552 		T20_ = NIM_NIL;
18553 		T21_ = NIM_NIL;
18554 		T21_ = renderTree__renderer_46(result, 4);
18555 		T20_ = rawNewString((rule ? rule->Sup.len : 0) + (T21_ ? T21_->Sup.len : 0) + 7);
18556 appendString(T20_, rule);
18557 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_394));
18558 appendString(T20_, T21_);
18559 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
18560 		liMessage__msgs_1118((*(*c).graph).config, (*orig).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 88), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_395, NIM_FALSE);
18561 	}
18562 	LA18_: ;
18563 	return result;
18564 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,applyPatterns__sem_692)18565 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, applyPatterns__sem_692)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
18566 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18567 	result = NIM_NIL;
18568 	result = n;
18569 	{
18570 		NI i;
18571 		NI colontmp_;
18572 		NI T2_;
18573 		NI res;
18574 		i = (NI)0;
18575 		colontmp_ = (NI)0;
18576 		T2_ = ((*c).patterns ? (*c).patterns->Sup.len : 0);
18577 		colontmp_ = (NI)(T2_ - ((NI) 1));
18578 		res = colontmp_;
18579 		{
18580 			while (1) {
18581 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* pattern;
18582 				if (!(((NI) 0) <= res)) goto LA4;
18583 				i = res;
18584 				pattern = (*c).patterns->data[i];
18585 				{
18586 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
18587 					if (!!((pattern == 0))) goto LA7_;
18588 					x = applyRule__patterns_548(c, pattern, result);
18589 					{
18590 						if (!!((x == 0))) goto LA11_;
18591 						(*(*(*c).graph).config).evalTemplateCounter += ((NI) 1);
18592 						{
18593 							if (!(((NI) 1000) < (*(*(*c).graph).config).evalTemplateCounter)) goto LA15_;
18594 							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);
18595 						}
18596 						LA15_: ;
18597 						asgnRef((void**) (&(*c).patterns->data[i]), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
18598 						{
18599 							if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA19_;
18600 							asgnRef((void**) (&(*x)._kind_6.sons->data[((NI) 1)]), evalPattern__sem_671(c, (*x)._kind_6.sons->data[((NI) 1)], result));
18601 							result = flattenStmts__trees_355(x);
18602 						}
18603 						goto LA17_;
18604 						LA19_: ;
18605 						{
18606 							result = evalPattern__sem_671(c, x, result);
18607 						}
18608 						LA17_: ;
18609 						(*(*(*c).graph).config).evalTemplateCounter -= ((NI) 1);
18610 						asgnRef((void**) (&(*c).patterns->data[i]), pattern);
18611 					}
18612 					LA11_: ;
18613 				}
18614 				LA7_: ;
18615 				res -= ((NI) 1);
18616 			} LA4: ;
18617 		}
18618 	}
18619 	return result;
18620 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,hlo__sem_668)18621 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, hlo__sem_668)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
18622 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18623 {	result = NIM_NIL;
18624 	(*c).hloLoopDetector += ((NI) 1);
18625 	{
18626 		if (!(((NI) 300) < (*c).hloLoopDetector)) goto LA3_;
18627 		result = n;
18628 		goto BeforeRet_;
18629 	}
18630 	LA3_: ;
18631 	switch ((*n).kind) {
18632 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
18633 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
18634 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
18635 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
18636 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
18637 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
18638 	{
18639 		result = n;
18640 	}
18641 	break;
18642 	default:
18643 	{
18644 		{
18645 			NIM_BOOL T9_;
18646 			NIM_BOOL T10_;
18647 			T9_ = (NIM_BOOL)0;
18648 			T10_ = (NIM_BOOL)0;
18649 			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));
18650 			if (!(T10_)) goto LA11_;
18651 			T10_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
18652 			LA11_: ;
18653 			T9_ = T10_;
18654 			if (!(T9_)) goto LA12_;
18655 			T9_ = ((2056 & (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags) == 2056);
18656 			LA12_: ;
18657 			if (!T9_) goto LA13_;
18658 			result = n;
18659 			goto BeforeRet_;
18660 		}
18661 		LA13_: ;
18662 		result = applyPatterns__sem_692(c, n);
18663 		{
18664 			if (!(result == n)) goto LA17_;
18665 			{
18666 				NI i;
18667 				NI colontmp_;
18668 				NI i_2;
18669 				i = (NI)0;
18670 				colontmp_ = (NI)0;
18671 				colontmp_ = safeLen__ast_3191(result);
18672 				i_2 = ((NI) 0);
18673 				{
18674 					while (1) {
18675 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
18676 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* h;
18677 						if (!(i_2 < colontmp_)) goto LA21;
18678 						i = i_2;
18679 						a = (*result)._kind_6.sons->data[i];
18680 						h = hlo__sem_668(c, a);
18681 						{
18682 							if (!!((h == a))) goto LA24_;
18683 							asgnRef((void**) (&(*result)._kind_6.sons->data[i]), h);
18684 						}
18685 						LA24_: ;
18686 						i_2 += ((NI) 1);
18687 					} LA21: ;
18688 				}
18689 			}
18690 		}
18691 		goto LA15_;
18692 		LA17_: ;
18693 		{
18694 			{
18695 				NIM_BOOL T29_;
18696 				T29_ = (NIM_BOOL)0;
18697 				T29_ = isEmptyType__ast_4779((*n).typ);
18698 				if (!(T29_)) goto LA30_;
18699 				T29_ = isEmptyType__ast_4779((*result).typ);
18700 				LA30_: ;
18701 				if (!T29_) goto LA31_;
18702 			}
18703 			goto LA27_;
18704 			LA31_: ;
18705 			{
18706 				result = fitNode__sem_70(c, (*n).typ, result, (*n).info);
18707 			}
18708 			LA27_: ;
18709 			result = commonOptimizations__transf_1490((*c).graph, (*c).Sup.idgen, (*c).module, result);
18710 			result = hlo__sem_668(c, result);
18711 			result = commonOptimizations__transf_1490((*c).graph, (*c).Sup.idgen, (*c).module, result);
18712 		}
18713 		LA15_: ;
18714 	}
18715 	break;
18716 	}
18717 	}BeforeRet_: ;
18718 	return result;
18719 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,hloBody__sem_783)18720 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, hloBody__sem_783)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
18721 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18722 {	result = NIM_NIL;
18723 	{
18724 		NIM_BOOL T3_;
18725 		NI T4_;
18726 		T3_ = (NIM_BOOL)0;
18727 		T4_ = ((*c).patterns ? (*c).patterns->Sup.len : 0);
18728 		T3_ = (T4_ == ((NI) 0));
18729 		if (T3_) goto LA5_;
18730 		T3_ = !((((*(*(*c).graph).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 23))&31U)))!=0));
18731 		LA5_: ;
18732 		if (!T3_) goto LA6_;
18733 		result = n;
18734 		goto BeforeRet_;
18735 	}
18736 	LA6_: ;
18737 	(*c).hloLoopDetector = ((NI) 0);
18738 	result = hlo__sem_668(c, n);
18739 	}BeforeRet_: ;
18740 	return result;
18741 }
N_INLINE(void,popProcCon__semdata_389)18742 static N_INLINE(void, popProcCon__semdata_389)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
18743 	asgnRef((void**) (&(*c).p), (*(*c).p).next);
18744 }
N_NIMCALL(void,typeAllowedCheck__sem_481)18745 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) {
18746 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
18747 	t = typeAllowed__typeallowed_472(typ, kind, c, flags);
18748 	{
18749 		NimStringDesc* err;
18750 		if (!!((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3_;
18751 		err = NIM_NIL;
18752 		{
18753 			tyArray__Re75IspeoxXy2oCZHwcRrA T9_;
18754 			if (!(t == typ)) goto LA7_;
18755 			nimZeroMem((void*)T9_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
18756 			T9_[0] = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
18757 			T9_[1] = toHumanStr__ast_5158(kind);
18758 			err = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_398), T9_, 2);
18759 			{
18760 				NIM_BOOL T12_;
18761 				tyArray__nHXaesL0DJZHyVS07ARPRA T16_;
18762 				NimStringDesc* T17_;
18763 				T12_ = (NIM_BOOL)0;
18764 				T12_ = ((1792 &((NU32)1<<((NU)(kind)&31U)))!=0);
18765 				if (!(T12_)) goto LA13_;
18766 				T12_ = ((flags &((NU8)1<<((NU)(((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 5))&7U)))!=0);
18767 				LA13_: ;
18768 				if (!T12_) goto LA14_;
18769 				nimZeroMem((void*)T16_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
18770 				T16_[0] = toHumanStr__ast_5158((*(*typ).owner).kind);
18771 				T17_ = NIM_NIL;
18772 				T17_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_399), T16_, 1);
18773 				err = resizeString(err, (T17_ ? T17_->Sup.len : 0) + 0);
18774 appendString(err, T17_);
18775 			}
18776 			LA14_: ;
18777 		}
18778 		goto LA5_;
18779 		LA7_: ;
18780 		{
18781 			tyArray__24KAM9afIUgUaqBaEBB6r9bg T19_;
18782 			nimZeroMem((void*)T19_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
18783 			T19_[0] = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
18784 			T19_[1] = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
18785 			T19_[2] = toHumanStr__ast_5158(kind);
18786 			err = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_400), T19_, 3);
18787 		}
18788 		LA5_: ;
18789 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), err, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_401, NIM_FALSE);
18790 	}
18791 	LA3_: ;
18792 }
N_INLINE(void,paramsTypeCheck__sem_505)18793 static N_INLINE(void, paramsTypeCheck__sem_505)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
18794 	typeAllowedCheck__sem_481(c, (*(*typ).n).info, typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12), 0);
18795 }
N_NIMCALL(void,fixupInstantiatedSymbols__sem_1095)18796 N_LIB_PRIVATE N_NIMCALL(void, fixupInstantiatedSymbols__sem_1095)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
18797 	{
18798 		NI i;
18799 		NI colontmp_;
18800 		NI T2_;
18801 		NI i_2;
18802 		i = (NI)0;
18803 		colontmp_ = (NI)0;
18804 		T2_ = ((*c).generics ? (*c).generics->Sup.len : 0);
18805 		colontmp_ = T2_;
18806 		i_2 = ((NI) 0);
18807 		{
18808 			while (1) {
18809 				if (!(i_2 < colontmp_)) goto LA4;
18810 				i = i_2;
18811 				{
18812 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym162_;
18813 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym163_;
18814 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* oldPrc;
18815 					tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T9_;
18816 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
18817 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
18818 					xX60gensym162_ = (*c).generics->data[i].genericSym;
18819 					xX60gensym163_ = s;
18820 					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_;
18821 					oldPrc = (*(*c).generics->data[i].inst).sym;
18822 					pushProcCon__sem_898(c, oldPrc);
18823 					pushOwner__semdata_322(c, oldPrc);
18824 					pushInfoContext__msgs_490((*(*c).graph).config, (*oldPrc).info, ((NimStringDesc*) NIM_NIL));
18825 					T9_ = NIM_NIL;
18826 					T9_ = openScope__lookups_69(c);
18827 					n = (*oldPrc).ast;
18828 					T10_ = NIM_NIL;
18829 					T10_ = getBody__modulegraphs_11241((*c).graph, s);
18830 					asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), copyTree__ast_4431(T10_));
18831 					instantiateBody__sem_1028(c, n, (*(*oldPrc).typ).n, oldPrc, s);
18832 					closeScope__lookups_101(c);
18833 					popInfoContext__msgs_507((*(*c).graph).config);
18834 					popOwner__semdata_329(c);
18835 					popProcCon__semdata_389(c);
18836 				}
18837 				LA7_: ;
18838 				i_2 += ((NI) 1);
18839 			} LA4: ;
18840 		}
18841 	}
18842 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,searchForBorrowProc__sem_2711)18843 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, searchForBorrowProc__sem_2711)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* startScope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn) {
18844 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
18845 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
18846 	NIM_BOOL hasDistinct;
18847 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
18848 	result = NIM_NIL;
18849 	call = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*fn).info);
18850 	hasDistinct = NIM_FALSE;
18851 	T1_ = NIM_NIL;
18852 	T1_ = newIdentNode__ast_3712((*fn).name, (*fn).info);
18853 	add__ast_4797(call, T1_);
18854 	{
18855 		NI i;
18856 		NI colontmp_;
18857 		NI i_2;
18858 		i = (NI)0;
18859 		colontmp_ = (NI)0;
18860 		colontmp_ = len__ast_3198((*(*fn).typ).n);
18861 		i_2 = ((NI) 1);
18862 		{
18863 			while (1) {
18864 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* param;
18865 				tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
18866 				tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
18867 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T17_;
18868 				if (!(i_2 < colontmp_)) goto LA4;
18869 				i = i_2;
18870 				param = (*(*(*fn).typ).n)._kind_6.sons->data[i];
18871 				t = skipTypes__ast_3735((*param).typ, TM__rF9caJawfOjYTjsgLVUSGFA_406);
18872 				{
18873 					NIM_BOOL T7_;
18874 					T7_ = (NIM_BOOL)0;
18875 					T7_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13));
18876 					if (T7_) goto LA8_;
18877 					T7_ = ((*(*param).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13));
18878 					LA8_: ;
18879 					if (!T7_) goto LA9_;
18880 					hasDistinct = NIM_TRUE;
18881 				}
18882 				LA9_: ;
18883 				x = NIM_NIL;
18884 				{
18885 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T15_;
18886 					if (!((*(*param).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA13_;
18887 					x = newTypeS__semdata_733((*(*param).typ).kind, c);
18888 					T15_ = NIM_NIL;
18889 					T15_ = baseOfDistinct__types_3363(t, (*c).graph, (*c).Sup.idgen);
18890 					addSonSkipIntLit__magicsys_136(x, T15_, (*c).Sup.idgen);
18891 				}
18892 				goto LA11_;
18893 				LA13_: ;
18894 				{
18895 					x = baseOfDistinct__types_3363(t, (*c).graph, (*c).Sup.idgen);
18896 				}
18897 				LA11_: ;
18898 				T17_ = NIM_NIL;
18899 				T17_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*fn).info, x);
18900 				add__ast_4797(call, T17_);
18901 				i_2 += ((NI) 1);
18902 			} LA4: ;
18903 		}
18904 	}
18905 	{
18906 		tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw filter;
18907 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resolved;
18908 		if (!hasDistinct) goto LA20_;
18909 		{
18910 			if (!((12288 &((NU32)1<<((NU)((*fn).kind)&31U)))!=0)) goto LA24_;
18911 			filter = 12288;
18912 		}
18913 		goto LA22_;
18914 		LA24_: ;
18915 		{
18916 			filter = 0;
18917 			filter |=((NU32)(1)<<(((*fn).kind)%(sizeof(NU32)*8)));
18918 		}
18919 		LA22_: ;
18920 		resolved = semOverloadedCall__sem_2498(c, call, call, filter, 0);
18921 		{
18922 			if (!!((resolved == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA29_;
18923 			result = (*(*resolved)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
18924 			{
18925 				NIM_BOOL T33_;
18926 				T33_ = (NIM_BOOL)0;
18927 				T33_ = compareTypes__types_2668((*(*result).typ).sons->data[((NI) 0)], (*(*fn).typ).sons->data[((NI) 0)], ((tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg) 1), 0);
18928 				if (!!(T33_)) goto LA34_;
18929 				result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
18930 			}
18931 			goto LA31_;
18932 			LA34_: ;
18933 			{
18934 				if (!((*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 6) || (*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5))) goto LA37_;
18935 				result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
18936 			}
18937 			goto LA31_;
18938 			LA37_: ;
18939 			LA31_: ;
18940 		}
18941 		LA29_: ;
18942 	}
18943 	LA20_: ;
18944 	return result;
18945 }
N_NIMCALL(void,semBorrow__sem_12355)18946 N_LIB_PRIVATE N_NIMCALL(void, semBorrow__sem_12355)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
18947 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b;
18948 	b = searchForBorrowProc__sem_2711(c, (*(*c).currentScope).parent, s);
18949 	{
18950 		if (!!((b == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA3_;
18951 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), newSymNode__ast_3716(b));
18952 		(*s).magic = (*b).magic;
18953 		{
18954 			NIM_BOOL T7_;
18955 			NI T9_;
18956 			T7_ = (NIM_BOOL)0;
18957 			T7_ = !(((*b).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18958 			if (!(T7_)) goto LA8_;
18959 			T9_ = (NI)0;
18960 			T9_ = len__ast_4002((*b).typ);
18961 			T7_ = (((NI) 0) < T9_);
18962 			LA8_: ;
18963 			if (!T7_) goto LA10_;
18964 			asgnRef((void**) (&(*(*(*s).typ).n)._kind_6.sons->data[((NI) 0)]), (*(*(*b).typ).n)._kind_6.sons->data[((NI) 0)]);
18965 		}
18966 		LA10_: ;
18967 		(*(*s).typ).flags = (*(*b).typ).flags;
18968 	}
18969 	goto LA1_;
18970 	LA3_: ;
18971 	{
18972 		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);
18973 	}
18974 	LA1_: ;
18975 }
N_NIMCALL(void,sideEffectsCheck__sem_1122)18976 N_LIB_PRIVATE N_NIMCALL(void, sideEffectsCheck__sem_1122)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
18977 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semProcAux__sem_13029)18978 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) {
18979 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18980 	NIM_BOOL isAnon;
18981 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
18982 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* declarationScope;
18983 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T10_;
18984 	tyTuple__7rlNEhvBksZh9a9asniQIl9aQ T36_;
18985 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* proto;
18986 	NIM_BOOL comesFromShadowScope;
18987 	NIM_BOOL hasProto;
18988 {	result = NIM_NIL;
18989 	result = semProcAnnotation__sem_12464(c, n, validPragmas);
18990 	{
18991 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
18992 		goto BeforeRet_;
18993 	}
18994 	LA3_: ;
18995 	result = n;
18996 	checkMinSonsLen__semdata_1084(n, ((NI) 7), (*(*c).graph).config);
18997 	isAnon = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
18998 	s = NIM_NIL;
18999 	switch ((*(*n)._kind_6.sons->data[((NI) 0)]).kind) {
19000 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
19001 	{
19002 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T6_;
19003 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T7_;
19004 		T6_ = nextSymId__ast_3132((*c).Sup.idgen);
19005 		T7_ = NIM_NIL;
19006 		T7_ = getCurrOwner__semdata_315(c);
19007 		s = newSym__ast_3445(kind, (*(*c).cache).idAnon, T6_, T7_, (*n).info, 0);
19008 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
19009 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(s));
19010 	}
19011 	break;
19012 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
19013 	{
19014 		s = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
19015 		asgnRef((void**) (&(*s).owner), getCurrOwner__semdata_315(c));
19016 	}
19017 	break;
19018 	default:
19019 	{
19020 		s = semIdentDef__sem_9679(c, (*n)._kind_6.sons->data[((NI) 0)], kind);
19021 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(s));
19022 	}
19023 	break;
19024 	}
19025 	asgnRef((void**) (&(*s).ast), n);
19026 	(*s).options = (*(*(*c).graph).config).options;
19027 	declarationScope = (*c).currentScope;
19028 	pushOwner__semdata_322(c, s);
19029 	T10_ = NIM_NIL;
19030 	T10_ = openScope__lookups_69(c);
19031 	setGenericParamsMisc__sem_6510(c, n);
19032 	{
19033 		if (!!(((*(*n)._kind_6.sons->data[((NI) 3)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA13_;
19034 		semParamList__sem_91(c, (*n)._kind_6.sons->data[((NI) 3)], (*n)._kind_6.sons->data[((NI) 2)], s);
19035 	}
19036 	goto LA11_;
19037 	LA13_: ;
19038 	{
19039 		asgnRef((void**) (&(*s).typ), newProcType__sem_5053(c, (*n).info, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
19040 	}
19041 	LA11_: ;
19042 	{
19043 		NI T18_;
19044 		T18_ = (NI)0;
19045 		T18_ = safeLen__ast_3191((*n)._kind_6.sons->data[((NI) 2)]);
19046 		if (!(T18_ == ((NI) 0))) goto LA19_;
19047 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), (*(*n)._kind_6.sons->data[((NI) 5)])._kind_6.sons->data[((NI) 1)]);
19048 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 5)]), (*(*c).graph).emptyNode);
19049 	}
19050 	LA19_: ;
19051 	{
19052 		if (!(((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 33))&63U)))!=0)) goto LA23_;
19053 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28)) & 63);
19054 	}
19055 	LA23_: ;
19056 	{
19057 		if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA27_;
19058 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semPattern__sem_7129(c, (*n)._kind_6.sons->data[((NI) 1)], s));
19059 	}
19060 	LA27_: ;
19061 	{
19062 		if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15))) goto LA31_;
19063 		(*(*s).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15)) & 63);
19064 	}
19065 	goto LA29_;
19066 	LA31_: ;
19067 	{
19068 		if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13))) goto LA34_;
19069 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 12)) & 63);
19070 		(*(*s).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1)) & 63);
19071 	}
19072 	goto LA29_;
19073 	LA34_: ;
19074 	LA29_: ;
19075 	nimZeroMem((void*)(&T36_), sizeof(tyTuple__7rlNEhvBksZh9a9asniQIl9aQ));
19076 	{
19077 		if (!isAnon) goto LA39_;
19078 		T36_.Field0 = TM__rF9caJawfOjYTjsgLVUSGFA_168.Field0;
19079 		T36_.Field1 = TM__rF9caJawfOjYTjsgLVUSGFA_168.Field1;
19080 	}
19081 	goto LA37_;
19082 	LA39_: ;
19083 	{
19084 		searchForProc__procfind_73(c, declarationScope, s, (&T36_));
19085 	}
19086 	LA37_: ;
19087 	proto = NIM_NIL;
19088 	proto = T36_.Field0;
19089 	comesFromShadowScope = (NIM_BOOL)0;
19090 	comesFromShadowScope = T36_.Field1;
19091 	{
19092 		NIM_BOOL T44_;
19093 		NIM_BOOL T45_;
19094 		T44_ = (NIM_BOOL)0;
19095 		T45_ = (NIM_BOOL)0;
19096 		T45_ = (proto == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
19097 		if (!(T45_)) goto LA46_;
19098 		T45_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0);
19099 		LA46_: ;
19100 		T44_ = T45_;
19101 		if (!(T44_)) goto LA47_;
19102 		T44_ = !(((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
19103 		LA47_: ;
19104 		if (!T44_) goto LA48_;
19105 		proto = s;
19106 	}
19107 	LA48_: ;
19108 	hasProto = !((proto == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
19109 	switch ((*s).kind) {
19110 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
19111 	{
19112 		{
19113 			if (!!(((*(*s).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)))) goto LA53_;
19114 			{
19115 				if (!isAnon) goto LA57_;
19116 				(*(*s).typ).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9);
19117 			}
19118 			goto LA55_;
19119 			LA57_: ;
19120 			{
19121 				(*(*s).typ).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 5);
19122 			}
19123 			LA55_: ;
19124 		}
19125 		LA53_: ;
19126 	}
19127 	break;
19128 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
19129 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
19130 	{
19131 	}
19132 	break;
19133 	default:
19134 	{
19135 		{
19136 			tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w* T66_;
19137 			if (!!(hasProto)) goto LA64_;
19138 			T66_ = NIM_NIL;
19139 			T66_ = lastOptionEntry__semdata_341(c);
19140 			(*(*s).typ).callConv = (*T66_).defaultCC;
19141 		}
19142 		LA64_: ;
19143 	}
19144 	break;
19145 	}
19146 	{
19147 		NIM_BOOL T69_;
19148 		T69_ = (NIM_BOOL)0;
19149 		T69_ = !(hasProto);
19150 		if (!(T69_)) goto LA70_;
19151 		T69_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0));
19152 		LA70_: ;
19153 		if (!T69_) goto LA71_;
19154 		{
19155 			if (!((1568832 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA75_;
19156 			addInterfaceOverloadableSymAt__lookups_899(c, declarationScope, s);
19157 		}
19158 		goto LA73_;
19159 		LA75_: ;
19160 		{
19161 			addInterfaceDeclAt__lookups_875(c, declarationScope, s);
19162 		}
19163 		LA73_: ;
19164 	}
19165 	LA71_: ;
19166 	pragmaCallable__pragmas_2552(c, s, n, validPragmas, NIM_FALSE);
19167 	{
19168 		if (!!(hasProto)) goto LA80_;
19169 		implicitPragmas__pragmas_2394(c, s, (*n).info, validPragmas);
19170 	}
19171 	LA80_: ;
19172 	{
19173 		NIM_BOOL T84_;
19174 		T84_ = (NIM_BOOL)0;
19175 		T84_ = !(((*(*n)._kind_6.sons->data[((NI) 4)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
19176 		if (!(T84_)) goto LA85_;
19177 		T84_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 31))&63U)))!=0));
19178 		LA85_: ;
19179 		if (!T84_) goto LA86_;
19180 		setEffectsForProcType__sempass50_4540((*c).graph, (*s).typ, (*n)._kind_6.sons->data[((NI) 4)], s);
19181 	}
19182 	LA86_: ;
19183 	(*(*s).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 44)) & 63);
19184 	{
19185 		NIM_BOOL T90_;
19186 		NIM_BOOL T92_;
19187 		NIM_BOOL T93_;
19188 		NimStringDesc* T98_;
19189 		NimStringDesc* T99_;
19190 		NimStringDesc* T100_;
19191 		NimStringDesc* T101_;
19192 		T90_ = (NIM_BOOL)0;
19193 		T90_ = hasProto;
19194 		if (!(T90_)) goto LA91_;
19195 		T92_ = (NIM_BOOL)0;
19196 		T93_ = (NIM_BOOL)0;
19197 		T93_ = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 42))&63U)))!=0);
19198 		if (!(T93_)) goto LA94_;
19199 		T93_ = !(((*(*proto).typ).callConv == (*(*s).typ).callConv));
19200 		LA94_: ;
19201 		T92_ = T93_;
19202 		if (T92_) goto LA95_;
19203 		T92_ = ((((*(*proto).typ).flags & ~ (*(*s).typ).flags)==0)&&((*(*proto).typ).flags != (*(*s).typ).flags));
19204 		LA95_: ;
19205 		T90_ = T92_;
19206 		LA91_: ;
19207 		if (!T90_) goto LA96_;
19208 		T98_ = NIM_NIL;
19209 		T99_ = NIM_NIL;
19210 		T99_ = dollar___msgs_624((*(*c).graph).config, (*proto).info);
19211 		T100_ = NIM_NIL;
19212 		T100_ = dollar___msgs_624((*(*c).graph).config, (*s).info);
19213 		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);
19214 appendString(T98_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
19215 appendString(T98_, (*(*proto).name).s);
19216 appendString(T98_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_170));
19217 appendString(T98_, T99_);
19218 appendString(T98_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_171));
19219 appendString(T98_, (*(*s).name).s);
19220 appendString(T98_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_170));
19221 appendString(T98_, T100_);
19222 		T101_ = NIM_NIL;
19223 		T101_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_169), T98_);
19224 		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);
19225 	}
19226 	LA96_: ;
19227 	{
19228 		NIM_BOOL T104_;
19229 		T104_ = (NIM_BOOL)0;
19230 		T104_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
19231 		if (!(T104_)) goto LA105_;
19232 		T104_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
19233 		LA105_: ;
19234 		if (!T104_) goto LA106_;
19235 		nep1CheckDefImpl__linter_110((*(*c).graph).config, (*s).info, s, (*s).kind);
19236 	}
19237 	LA106_: ;
19238 	{
19239 		if (!hasProto) goto LA110_;
19240 	}
19241 	goto LA108_;
19242 	LA110_: ;
19243 	{
19244 	}
19245 	LA108_: ;
19246 	{
19247 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T127_;
19248 		if (!hasProto) goto LA115_;
19249 		{
19250 			NIM_BOOL T119_;
19251 			T119_ = (NIM_BOOL)0;
19252 			T119_ = !((((*proto).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0));
19253 			if (!(T119_)) goto LA120_;
19254 			T119_ = ((*proto).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
19255 			LA120_: ;
19256 			if (!T119_) goto LA121_;
19257 			wrongRedefinition__lookups_805(c, (*n).info, (*(*proto).name).s, (*proto).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14));
19258 		}
19259 		LA121_: ;
19260 		{
19261 			if (!!(comesFromShadowScope)) goto LA125_;
19262 			(*proto).flags &= ~(((NU64)1) << ((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4)) & 63));
19263 			(*proto).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 5)) & 63);
19264 		}
19265 		LA125_: ;
19266 		suggestSym__sigmatch_5375((*c).graph, (*s).info, proto, &(*(*c).graph).usageSym, NIM_TRUE);
19267 		closeScope__lookups_101(c);
19268 		T127_ = NIM_NIL;
19269 		T127_ = openScope__lookups_69(c);
19270 		{
19271 			NIM_BOOL T130_;
19272 			T130_ = (NIM_BOOL)0;
19273 			T130_ = isGenericParams__ast_4616((*(*proto).ast)._kind_6.sons->data[((NI) 2)]);
19274 			if (!T130_) goto LA131_;
19275 			addGenericParamListToScope__sem_11585(c, (*(*proto).ast)._kind_6.sons->data[((NI) 2)]);
19276 		}
19277 		LA131_: ;
19278 		addParams__sem_96(c, (*(*proto).typ).n, (*proto).kind);
19279 		(*proto).info = (*s).info;
19280 		(*proto).options = (*s).options;
19281 		s = proto;
19282 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), (*(*proto).ast)._kind_6.sons->data[((NI) 2)]);
19283 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 3)]), (*(*proto).ast)._kind_6.sons->data[((NI) 3)]);
19284 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 4)]), (*(*proto).ast)._kind_6.sons->data[((NI) 4)]);
19285 		{
19286 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA135_;
19287 			internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_173), TM__rF9caJawfOjYTjsgLVUSGFA_174);
19288 		}
19289 		LA135_: ;
19290 		asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym), proto);
19291 		{
19292 			NIM_BOOL T139_;
19293 			NimStringDesc* T141_;
19294 			NimStringDesc* T144_;
19295 			T139_ = (NIM_BOOL)0;
19296 			T139_ = importantComments__options_3985((*(*c).graph).config);
19297 			if (!(T139_)) goto LA140_;
19298 			T141_ = NIM_NIL;
19299 			T141_ = comment__ast_993((*proto).ast);
19300 			T139_ = (((NI) 0) < (T141_ ? T141_->Sup.len : 0));
19301 			LA140_: ;
19302 			if (!T139_) goto LA142_;
19303 			T144_ = NIM_NIL;
19304 			T144_ = comment__ast_993((*proto).ast);
19305 			commenteq___ast_1361(n, T144_);
19306 		}
19307 		LA142_: ;
19308 		asgnRef((void**) (&(*proto).ast), n);
19309 		popOwner__semdata_329(c);
19310 		pushOwner__semdata_322(c, s);
19311 	}
19312 	LA115_: ;
19313 	{
19314 		if (!!(isAnon)) goto LA147_;
19315 		{
19316 			NIM_BOOL T151_;
19317 			T151_ = (NIM_BOOL)0;
19318 			T151_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35))&63U)))!=0);
19319 			if (T151_) goto LA152_;
19320 			T151_ = ((NU8)((*(*s).name).s->data[((NI) 0)]) == (NU8)(61));
19321 			LA152_: ;
19322 			if (!T151_) goto LA153_;
19323 			semOverride__sem_12810(c, s, n);
19324 		}
19325 		goto LA149_;
19326 		LA153_: ;
19327 		{
19328 			if (!(((NU8)((*(*s).name).s->data[((NI) 0)])) == ((NU8)(46)) || ((NU8)((*(*s).name).s->data[((NI) 0)])) == ((NU8)(40)))) goto LA156_;
19329 			{
19330 				NIM_BOOL T160_;
19331 				NimStringDesc* T164_;
19332 				T160_ = (NIM_BOOL)0;
19333 				T160_ = contains__stdZenumutils_43(TM__rF9caJawfOjYTjsgLVUSGFA_208, 3, (*(*s).name).s);
19334 				if (!(T160_)) goto LA161_;
19335 				T160_ = ((18 & (*c).features) == 0);
19336 				LA161_: ;
19337 				if (!T160_) goto LA162_;
19338 				T164_ = NIM_NIL;
19339 				T164_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 80);
19340 appendString(T164_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_212));
19341 appendString(T164_, (*(*s).name).s);
19342 appendString(T164_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_213));
19343 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T164_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_214, NIM_FALSE);
19344 			}
19345 			goto LA158_;
19346 			LA162_: ;
19347 			{
19348 				NIM_BOOL T166_;
19349 				NimStringDesc* T170_;
19350 				T166_ = (NIM_BOOL)0;
19351 				T166_ = eqStrings((*(*s).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_215));
19352 				if (!(T166_)) goto LA167_;
19353 				T166_ = !((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 2))&31U)))!=0));
19354 				LA167_: ;
19355 				if (!T166_) goto LA168_;
19356 				T170_ = NIM_NIL;
19357 				T170_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 80);
19358 appendString(T170_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_212));
19359 appendString(T170_, (*(*s).name).s);
19360 appendString(T170_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_216));
19361 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T170_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_217, NIM_FALSE);
19362 			}
19363 			goto LA158_;
19364 			LA168_: ;
19365 			LA158_: ;
19366 		}
19367 		goto LA149_;
19368 		LA156_: ;
19369 		LA149_: ;
19370 	}
19371 	LA147_: ;
19372 	{
19373 		NIM_BOOL T173_;
19374 		T173_ = (NIM_BOOL)0;
19375 		T173_ = !(((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
19376 		if (!(T173_)) goto LA174_;
19377 		T173_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0));
19378 		LA174_: ;
19379 		if (!T173_) goto LA175_;
19380 		{
19381 			NimStringDesc* T181_;
19382 			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 31))&63U)))!=0)) goto LA179_;
19383 			T181_ = NIM_NIL;
19384 			T181_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_218), (*(*s).name).s);
19385 			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);
19386 		}
19387 		LA179_: ;
19388 		{
19389 			NIM_BOOL T184_;
19390 			NIM_BOOL T185_;
19391 			NIM_BOOL T188_;
19392 			T184_ = (NIM_BOOL)0;
19393 			T185_ = (NIM_BOOL)0;
19394 			T185_ = ((6 &((NU16)1<<((NU)((*(*(*c).graph).config).ideCmd)&15U)))!=0);
19395 			if (!(T185_)) goto LA186_;
19396 			T185_ = !(((393216 &((NU32)1<<((NU)((*s).kind)&31U)))!=0));
19397 			LA186_: ;
19398 			T184_ = T185_;
19399 			if (!(T184_)) goto LA187_;
19400 			T188_ = (NIM_BOOL)0;
19401 			T188_ = cursorInProc__sem_12968((*(*c).graph).config, (*n)._kind_6.sons->data[((NI) 6)]);
19402 			T184_ = !(T188_);
19403 			LA187_: ;
19404 			if (!T184_) goto LA189_;
19405 			{
19406 				if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14))) goto LA193_;
19407 				semMethodPrototype__sem_12992(c, s, n);
19408 			}
19409 			LA193_: ;
19410 		}
19411 		goto LA182_;
19412 		LA189_: ;
19413 		{
19414 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp;
19415 			if (!isAnon) goto LA196_;
19416 			gp = (*n)._kind_6.sons->data[((NI) 2)];
19417 			{
19418 				NIM_BOOL T200_;
19419 				NIM_BOOL T202_;
19420 				NI T203_;
19421 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T207_;
19422 				T200_ = (NIM_BOOL)0;
19423 				T200_ = ((*gp).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
19424 				if (T200_) goto LA201_;
19425 				T202_ = (NIM_BOOL)0;
19426 				T203_ = (NI)0;
19427 				T203_ = len__ast_3198(gp);
19428 				T202_ = (T203_ == ((NI) 1));
19429 				if (!(T202_)) goto LA204_;
19430 				T202_ = (((*(*(*gp)._kind_6.sons->data[((NI) 0)]).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 11))&63U)))!=0);
19431 				LA204_: ;
19432 				T200_ = T202_;
19433 				LA201_: ;
19434 				if (!T200_) goto LA205_;
19435 				pushProcCon__sem_898(c, s);
19436 				addResult__sem_12395(c, n, (*(*s).typ).sons->data[((NI) 0)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
19437 				T207_ = NIM_NIL;
19438 				T207_ = semProcBody__sem_67(c, (*n)._kind_6.sons->data[((NI) 6)]);
19439 				asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), hloBody__sem_783(c, T207_));
19440 				trackProc__sempass50_4692(c, s, (*(*s).ast)._kind_6.sons->data[((NI) 6)]);
19441 				popProcCon__semdata_389(c);
19442 			}
19443 			goto LA198_;
19444 			LA205_: ;
19445 			{
19446 				if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 12))&31U)))!=0))) goto LA209_;
19447 				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);
19448 			}
19449 			goto LA198_;
19450 			LA209_: ;
19451 			LA198_: ;
19452 		}
19453 		goto LA182_;
19454 		LA196_: ;
19455 		{
19456 			pushProcCon__sem_898(c, s);
19457 			{
19458 				NIM_BOOL T214_;
19459 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T224_;
19460 				T214_ = (NIM_BOOL)0;
19461 				T214_ = ((*(*n)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
19462 				if (T214_) goto LA215_;
19463 				T214_ = ((393216 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
19464 				LA215_: ;
19465 				if (!T214_) goto LA216_;
19466 				{
19467 					NIM_BOOL T220_;
19468 					T220_ = (NIM_BOOL)0;
19469 					T220_ = !(((393216 &((NU32)1<<((NU)((*s).kind)&31U)))!=0));
19470 					if (!(T220_)) goto LA221_;
19471 					T220_ = ((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
19472 					LA221_: ;
19473 					if (!T220_) goto LA222_;
19474 					paramsTypeCheck__sem_505(c, (*s).typ);
19475 				}
19476 				LA222_: ;
19477 				maybeAddResult__sem_100(c, s, n);
19478 				T224_ = NIM_NIL;
19479 				T224_ = semProcBody__sem_67(c, (*n)._kind_6.sons->data[((NI) 6)]);
19480 				asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), hloBody__sem_783(c, T224_));
19481 				trackProc__sempass50_4692(c, s, (*(*s).ast)._kind_6.sons->data[((NI) 6)]);
19482 			}
19483 			goto LA212_;
19484 			LA216_: ;
19485 			{
19486 				tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T235_;
19487 				{
19488 					NIM_BOOL T228_;
19489 					tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T232_;
19490 					tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T233_;
19491 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T234_;
19492 					T228_ = (NIM_BOOL)0;
19493 					T228_ = !(((*(*s).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
19494 					if (!(T228_)) goto LA229_;
19495 					T228_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15)));
19496 					LA229_: ;
19497 					if (!T228_) goto LA230_;
19498 					T232_ = NIM_NIL;
19499 					T232_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_102));
19500 					T233_ = nextSymId__ast_3132((*c).Sup.idgen);
19501 					T234_ = NIM_NIL;
19502 					T234_ = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0), T232_, T233_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), (*n).info, 0);
19503 					addDecl__lookups_845(c, T234_);
19504 				}
19505 				LA230_: ;
19506 				T235_ = NIM_NIL;
19507 				T235_ = openScope__lookups_69(c);
19508 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), semGenericStmt__sem_2885(c, (*n)._kind_6.sons->data[((NI) 6)]));
19509 				closeScope__lookups_101(c);
19510 				{
19511 					if (!((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0))) goto LA238_;
19512 					fixupInstantiatedSymbols__sem_1095(c, s);
19513 				}
19514 				LA238_: ;
19515 			}
19516 			LA212_: ;
19517 			{
19518 				if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14))) goto LA242_;
19519 				semMethodPrototype__sem_12992(c, s, n);
19520 			}
19521 			LA242_: ;
19522 			popProcCon__semdata_389(c);
19523 		}
19524 		LA182_: ;
19525 	}
19526 	goto LA171_;
19527 	LA175_: ;
19528 	{
19529 		{
19530 			if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14))) goto LA247_;
19531 			semMethodPrototype__sem_12992(c, s, n);
19532 		}
19533 		LA247_: ;
19534 		{
19535 			NimStringDesc* T253_;
19536 			if (!hasProto) goto LA251_;
19537 			T253_ = NIM_NIL;
19538 			T253_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_402), (*(*proto).name).s);
19539 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T253_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_403, NIM_FALSE);
19540 		}
19541 		LA251_: ;
19542 		{
19543 			NIM_BOOL T256_;
19544 			T256_ = (NIM_BOOL)0;
19545 			T256_ = ((IL64(2164260928) & (*s).flags) == 0);
19546 			if (!(T256_)) goto LA257_;
19547 			T256_ = ((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
19548 			LA257_: ;
19549 			if (!T256_) goto LA258_;
19550 			{
19551 				NIM_BOOL T262_;
19552 				NIM_BOOL T263_;
19553 				T262_ = (NIM_BOOL)0;
19554 				T263_ = (NIM_BOOL)0;
19555 				T263_ = ((12288 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
19556 				if (!(T263_)) goto LA264_;
19557 				T263_ = !(((*(*s).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
19558 				LA264_: ;
19559 				T262_ = T263_;
19560 				if (!(T262_)) goto LA265_;
19561 				T262_ = ((*(*(*s).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
19562 				LA265_: ;
19563 				if (!T262_) goto LA266_;
19564 				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);
19565 			}
19566 			LA266_: ;
19567 			(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4)) & 63);
19568 			(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 5)) & 63);
19569 		}
19570 		goto LA254_;
19571 		LA258_: ;
19572 		{
19573 			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 31))&63U)))!=0)) goto LA269_;
19574 			semBorrow__sem_12355(c, n, s);
19575 		}
19576 		goto LA254_;
19577 		LA269_: ;
19578 		LA254_: ;
19579 	}
19580 	LA171_: ;
19581 	sideEffectsCheck__sem_1122(c, s);
19582 	closeScope__lookups_101(c);
19583 	popOwner__semdata_329(c);
19584 	{
19585 		NI T275_;
19586 		if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA273_;
19587 		asgnRef((void**) (&(*c).patterns), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*c).patterns), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
19588 		T275_ = (*c).patterns->Sup.len++;
19589 		asgnRef((void**) (&(*c).patterns->data[T275_]), s);
19590 	}
19591 	LA273_: ;
19592 	{
19593 		if (!isAnon) goto LA278_;
19594 		transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 51));
19595 		asgnRef((void**) (&(*result).typ), (*s).typ);
19596 		{
19597 			if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0)) goto LA282_;
19598 			asgnRef((void**) (&(*result).typ), makeVarType__semdata_766(c, (*result).typ, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
19599 		}
19600 		LA282_: ;
19601 	}
19602 	goto LA276_;
19603 	LA278_: ;
19604 	{
19605 		NIM_BOOL T285_;
19606 		NIM_BOOL T286_;
19607 		T285_ = (NIM_BOOL)0;
19608 		T286_ = (NIM_BOOL)0;
19609 		T286_ = isTopLevel__semdata_1091(c);
19610 		if (!(T286_)) goto LA287_;
19611 		T286_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15)));
19612 		LA287_: ;
19613 		T285_ = T286_;
19614 		if (!(T285_)) goto LA288_;
19615 		T285_ = ((*(*s).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
19616 		LA288_: ;
19617 		if (!T285_) goto LA289_;
19618 		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);
19619 	}
19620 	goto LA276_;
19621 	LA289_: ;
19622 	LA276_: ;
19623 	}BeforeRet_: ;
19624 	return result;
19625 }
N_NIMCALL(void,determineType__sem_1460)19626 N_LIB_PRIVATE N_NIMCALL(void, determineType__sem_1460)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
19627 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
19628 {	{
19629 		if (!!(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3_;
19630 		goto BeforeRet_;
19631 	}
19632 	LA3_: ;
19633 	T5_ = NIM_NIL;
19634 	T5_ = semProcAux__sem_13029(c, (*s).ast, (*s).kind, TM__rF9caJawfOjYTjsgLVUSGFA_411, 0);
19635 	(void)(T5_);
19636 	}BeforeRet_: ;
19637 }
N_NIMCALL(tySequence__u9c10b19cqoKPxYSuh3ZKtIw *,initCandidateSymbols__sem_1463)19638 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) {
19639 	tySequence__u9c10b19cqoKPxYSuh3ZKtIw* result;
19640 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symx;
19641 	result = NIM_NIL;
19642 	result = NIM_NIL;
19643 	symx = initOverloadIter__lookups_1374(o, c, headSymbol);
19644 	{
19645 		while (1) {
19646 			if (!!((symx == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA2;
19647 			{
19648 				tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ T7_;
19649 				NI T8_;
19650 				if (!((filter &((NU32)1<<((NU)((*symx).kind)&31U)))!=0)) goto LA5_;
19651 				nimZeroMem((void*)(&T7_), sizeof(tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ));
19652 				T7_.Field0 = symx;
19653 				T7_.Field1 = lastOverloadScope__lookups_1472((&(*o)));
19654 				result = (tySequence__u9c10b19cqoKPxYSuh3ZKtIw*) incrSeqV3((TGenericSeq*)(result), (&NTIseqLLpsym_intTT__u9c10b19cqoKPxYSuh3ZKtIw_));
19655 				T8_ = result->Sup.len++;
19656 				asgnRef((void**) (&result->data[T8_].Field0), T7_.Field0);
19657 				result->data[T8_].Field1 = T7_.Field1;
19658 			}
19659 			LA5_: ;
19660 			symx = nextOverloadIter__lookups_1528(o, c, headSymbol);
19661 		} LA2: ;
19662 	}
19663 	{
19664 		NI T11_;
19665 		T11_ = (result ? result->Sup.len : 0);
19666 		if (!(((NI) 0) < T11_)) goto LA12_;
19667 		initCandidate__sigmatch_124(c, best, result->data[((NI) 0)].Field0, initialBinding, result->data[((NI) 0)].Field1, diagnostics);
19668 		initCandidate__sigmatch_124(c, alt, result->data[((NI) 0)].Field0, initialBinding, result->data[((NI) 0)].Field1, diagnostics);
19669 		(*best).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
19670 	}
19671 	LA12_: ;
19672 	return result;
19673 }
N_NIMCALL(void,pickBestCandidate__sem_1496)19674 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) {
19675 	tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
19676 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
19677 	NI scope;
19678 	NI counterInitial;
19679 	tySequence__u9c10b19cqoKPxYSuh3ZKtIw* syms;
19680 	NIM_BOOL noSyms;
19681 	NI nextSymIndex;
19682 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA z;
19683 	nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
19684 	sym = initOverloadIter__lookups_1374((&o), c, headSymbol);
19685 	scope = lastOverloadScope__lookups_1472((&o));
19686 	counterInitial = (*(*c).currentScope).symbols.counter;
19687 	syms = NIM_NIL;
19688 	noSyms = NIM_TRUE;
19689 	nextSymIndex = ((NI) 0);
19690 	{
19691 		while (1) {
19692 			if (!!((sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA2;
19693 			{
19694 				if (!((filter &((NU32)1<<((NU)((*sym).kind)&31U)))!=0)) goto LA5_;
19695 				initCandidate__sigmatch_124(c, best, sym, initialBinding, scope, diagnosticsFlag);
19696 				initCandidate__sigmatch_124(c, alt, sym, initialBinding, scope, diagnosticsFlag);
19697 				(*best).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
19698 				goto LA1;
19699 			}
19700 			goto LA3_;
19701 			LA5_: ;
19702 			{
19703 				sym = nextOverloadIter__lookups_1528((&o), c, headSymbol);
19704 				scope = lastOverloadScope__lookups_1472((&o));
19705 			}
19706 			LA3_: ;
19707 		} LA2: ;
19708 	} LA1: ;
19709 	nimZeroMem((void*)(&z), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
19710 	{
19711 		while (1) {
19712 			if (!!((sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA9;
19713 			{
19714 				{
19715 					if (!!(((filter &((NU32)1<<((NU)((*sym).kind)&31U)))!=0))) goto LA13_;
19716 					sym = nextOverloadIter__lookups_1528((&o), c, headSymbol);
19717 					scope = lastOverloadScope__lookups_1472((&o));
19718 					goto LA10;
19719 				}
19720 				LA13_: ;
19721 				determineType__sem_1460(c, sym);
19722 				initCandidate__sigmatch_124(c, (&z), sym, initialBinding, scope, diagnosticsFlag);
19723 				{
19724 					NIM_BOOL T17_;
19725 					NI T19_;
19726 					T17_ = (NIM_BOOL)0;
19727 					T17_ = ((*(*c).currentScope).symbols.counter == counterInitial);
19728 					if (T17_) goto LA18_;
19729 					T19_ = (syms ? syms->Sup.len : 0);
19730 					T17_ = !((T19_ == ((NI) 0)));
19731 					LA18_: ;
19732 					if (!T17_) goto LA20_;
19733 					matches__sigmatch_4181(c, n, orig, (&z));
19734 					{
19735 						if (!(z.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1))) goto LA24_;
19736 						{
19737 							if (!((*sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15))) goto LA28_;
19738 							{
19739 								NIM_BOOL T32_;
19740 								T32_ = (NIM_BOOL)0;
19741 								T32_ = !(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 1))&31U)))!=0));
19742 								if (!(T32_)) goto LA33_;
19743 								T32_ = ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 2))&31U)))!=0);
19744 								LA33_: ;
19745 								if (!!(T32_)) goto LA34_;
19746 								z.exactMatches += ((NI) 200);
19747 							}
19748 							goto LA30_;
19749 							LA34_: ;
19750 							{
19751 								z.exactMatches -= ((NI) 200);
19752 							}
19753 							LA30_: ;
19754 						}
19755 						LA28_: ;
19756 						switch ((*best).state) {
19757 						case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0):
19758 						case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2):
19759 						{
19760 							genericAssign((void*)(&(*best)), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_));
19761 						}
19762 						break;
19763 						case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1):
19764 						{
19765 							NI cmp;
19766 							cmp = cmpCandidates__sigmatch_358((&(*best)), (&z));
19767 							{
19768 								if (!(cmp < ((NI) 0))) goto LA41_;
19769 								genericAssign((void*)(&(*best)), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_));
19770 							}
19771 							goto LA39_;
19772 							LA41_: ;
19773 							{
19774 								if (!(cmp == ((NI) 0))) goto LA44_;
19775 								genericAssign((void*)(&(*alt)), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_));
19776 							}
19777 							goto LA39_;
19778 							LA44_: ;
19779 							LA39_: ;
19780 						}
19781 						break;
19782 						}
19783 					}
19784 					goto LA22_;
19785 					LA24_: ;
19786 					{
19787 						NIM_BOOL T47_;
19788 						tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ T51_;
19789 						NI T52_;
19790 						T47_ = (NIM_BOOL)0;
19791 						T47_ = errorsEnabled;
19792 						if (T47_) goto LA48_;
19793 						T47_ = z.diagnosticsEnabled;
19794 						LA48_: ;
19795 						if (!T47_) goto LA49_;
19796 						nimZeroMem((void*)(&T51_), sizeof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ));
19797 						nimZeroMem((void*)(&T51_), sizeof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ));
19798 						T51_.sym = sym;
19799 						T51_.firstMismatch.kind = z.firstMismatch.kind;
19800 						T51_.firstMismatch.arg = z.firstMismatch.arg;
19801 						T51_.firstMismatch.formal = z.firstMismatch.formal;
19802 						genericSeqAssign((&T51_.diagnostics), z.diagnostics, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
19803 						unsureAsgnRef((void**) (&(*errors)), (tySequence__0dpGN6F4ocevqUQGsaf41w*) incrSeqV3((TGenericSeq*)((*errors)), (&NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_)));
19804 						T52_ = (*errors)->Sup.len++;
19805 						asgnRef((void**) (&(*errors)->data[T52_].sym), T51_.sym);
19806 						(*errors)->data[T52_].firstMismatch.kind = T51_.firstMismatch.kind;
19807 						(*errors)->data[T52_].firstMismatch.arg = T51_.firstMismatch.arg;
19808 						asgnRef((void**) (&(*errors)->data[T52_].firstMismatch.formal), T51_.firstMismatch.formal);
19809 						genericSeqAssign((&(*errors)->data[T52_].diagnostics), T51_.diagnostics, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
19810 						(*errors)->data[T52_].enabled = T51_.enabled;
19811 					}
19812 					goto LA22_;
19813 					LA49_: ;
19814 					LA22_: ;
19815 				}
19816 				goto LA15_;
19817 				LA20_: ;
19818 				{
19819 					syms = initCandidateSymbols__sem_1463(c, headSymbol, initialBinding, filter, best, alt, (&o), diagnosticsFlag);
19820 					noSyms = NIM_FALSE;
19821 				}
19822 				LA15_: ;
19823 				{
19824 					if (!noSyms) goto LA56_;
19825 					sym = nextOverloadIter__lookups_1528((&o), c, headSymbol);
19826 					scope = lastOverloadScope__lookups_1472((&o));
19827 				}
19828 				goto LA54_;
19829 				LA56_: ;
19830 				{
19831 					NI T59_;
19832 					T59_ = (syms ? syms->Sup.len : 0);
19833 					if (!(nextSymIndex < T59_)) goto LA60_;
19834 					sym = syms->data[nextSymIndex].Field0;
19835 					scope = syms->data[nextSymIndex].Field1;
19836 					nextSymIndex += ((NI) 1);
19837 				}
19838 				goto LA54_;
19839 				LA60_: ;
19840 				{
19841 					goto LA8;
19842 				}
19843 				LA54_: ;
19844 			} LA10: ;
19845 		} LA9: ;
19846 	} LA8: ;
19847 }
N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA,dotdot___pureZunicode_840)19848 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b) {
19849 	tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
19850 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
19851 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
19852 	result.a = a;
19853 	result.b = b;
19854 	return result;
19855 }
N_INLINE(NimStringDesc *,X5BX5D___pureZunicode_3215)19856 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_3215)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
19857 	NimStringDesc* result;
19858 	NI a;
19859 	NI L;
19860 	result = NIM_NIL;
19861 	a = x.a;
19862 	L = (NI)((NI)((NI)((s ? s->Sup.len : 0) - x.b) - a) + ((NI) 1));
19863 	result = mnewString(((NI) (L)));
19864 	{
19865 		NI i;
19866 		NI i_2;
19867 		i = (NI)0;
19868 		i_2 = ((NI) 0);
19869 		{
19870 			while (1) {
19871 				if (!(i_2 < L)) goto LA3;
19872 				i = i_2;
19873 				result->data[i] = s->data[(NI)(i + a)];
19874 				i_2 += ((NI) 1);
19875 			} LA3: ;
19876 		}
19877 	}
19878 	return result;
19879 }
N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA,dotdot___stdZenumutils_80)19880 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_80)(NI a, NI b) {
19881 	tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
19882 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
19883 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
19884 	result.a = a;
19885 	result.b = b;
19886 	return result;
19887 }
N_NIMCALL(NimStringDesc *,getMsgDiagnostic__sem_1968)19888 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) {
19889 	NimStringDesc* result;
19890 	NimStringDesc* ident;
19891 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T10_;
19892 	result = NIM_NIL;
19893 	{
19894 		if (!(((NI) 0) < (*c).compilesContextId)) goto LA3_;
19895 	}
19896 	goto LA1_;
19897 	LA3_: ;
19898 	{
19899 		tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
19900 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
19901 		nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
19902 		sym = initOverloadIter__lookups_1374((&o), c, f);
19903 		{
19904 			while (1) {
19905 				tyArray__nHXaesL0DJZHyVS07ARPRA T8_;
19906 				NimStringDesc* T9_;
19907 				if (!!((sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA7;
19908 				nimZeroMem((void*)T8_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
19909 				T8_[0] = getSymRepr__lookups_548((*(*c).graph).config, sym, NIM_TRUE);
19910 				T9_ = NIM_NIL;
19911 				T9_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_413), T8_, 1);
19912 				result = resizeString(result, (T9_ ? T9_->Sup.len : 0) + 0);
19913 appendString(result, T9_);
19914 				sym = nextOverloadIter__lookups_1528((&o), c, f);
19915 			} LA7: ;
19916 		}
19917 	}
19918 	LA1_: ;
19919 	T10_ = NIM_NIL;
19920 	T10_ = considerQuotedIdent__lookups_28(c, f, n);
19921 	ident = (*T10_).s;
19922 	{
19923 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym_2;
19924 		NimStringDesc* typeHint;
19925 		NimStringDesc* suffix;
19926 		NimStringDesc* T28_;
19927 		NimStringDesc* T29_;
19928 		if (!((2560 & (*n).flags) == 512)) goto LA13_;
19929 		sym_2 = typSym__astmsgs_5((*(*n)._kind_6.sons->data[((NI) 1)]).typ);
19930 		typeHint = ((NimStringDesc*) NIM_NIL);
19931 		{
19932 			if (!(sym_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA17_;
19933 		}
19934 		goto LA15_;
19935 		LA17_: ;
19936 		{
19937 			NimStringDesc* T20_;
19938 			NimStringDesc* T21_;
19939 			T20_ = NIM_NIL;
19940 			T21_ = NIM_NIL;
19941 			T21_ = getProcHeader__types_222((*(*c).graph).config, sym_2, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
19942 			T20_ = rawNewString((T21_ ? T21_->Sup.len : 0) + 10);
19943 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_414));
19944 appendString(T20_, T21_);
19945 			typeHint = T20_;
19946 		}
19947 		LA15_: ;
19948 		{
19949 			NimStringDesc* T26_;
19950 			if (!(((NI) 0) < (result ? result->Sup.len : 0))) goto LA24_;
19951 			T26_ = NIM_NIL;
19952 			T26_ = rawNewString((result ? result->Sup.len : 0) + 1);
19953 appendString(T26_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_415));
19954 appendString(T26_, result);
19955 			suffix = T26_;
19956 		}
19957 		goto LA22_;
19958 		LA24_: ;
19959 		{
19960 			suffix = ((NimStringDesc*) NIM_NIL);
19961 		}
19962 		LA22_: ;
19963 		T28_ = NIM_NIL;
19964 		T29_ = NIM_NIL;
19965 		T29_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_416), ident);
19966 		T28_ = rawNewString((T29_ ? T29_->Sup.len : 0) + (typeHint ? typeHint->Sup.len : 0) + (suffix ? suffix->Sup.len : 0) + 0);
19967 appendString(T28_, T29_);
19968 appendString(T28_, typeHint);
19969 appendString(T28_, suffix);
19970 		result = T28_;
19971 	}
19972 	goto LA11_;
19973 	LA13_: ;
19974 	{
19975 		{
19976 			if (!((result ? result->Sup.len : 0) == ((NI) 0))) goto LA33_;
19977 			result = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_417), ident);
19978 		}
19979 		goto LA31_;
19980 		LA33_: ;
19981 		{
19982 			tyArray__Re75IspeoxXy2oCZHwcRrA T36_;
19983 			nimZeroMem((void*)T36_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
19984 			T36_[0] = copyString(ident);
19985 			T36_[1] = copyString(result);
19986 			result = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_418), T36_, 2);
19987 		}
19988 		LA31_: ;
19989 	}
19990 	LA11_: ;
19991 	return result;
19992 }
N_NIMCALL(NIM_BOOL,sameMethodDispatcher__sem_1428)19993 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameMethodDispatcher__sem_1428)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b) {
19994 	NIM_BOOL result;
19995 	result = (NIM_BOOL)0;
19996 	result = NIM_FALSE;
19997 	{
19998 		NIM_BOOL T3_;
19999 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aa;
20000 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bb;
20001 		T3_ = (NIM_BOOL)0;
20002 		T3_ = ((*a).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14));
20003 		if (!(T3_)) goto LA4_;
20004 		T3_ = ((*b).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14));
20005 		LA4_: ;
20006 		if (!T3_) goto LA5_;
20007 		aa = lastSon__ast_4832((*a).ast);
20008 		bb = lastSon__ast_4832((*b).ast);
20009 		{
20010 			NIM_BOOL T9_;
20011 			T9_ = (NIM_BOOL)0;
20012 			T9_ = ((*aa).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
20013 			if (!(T9_)) goto LA10_;
20014 			T9_ = ((*bb).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
20015 			LA10_: ;
20016 			if (!T9_) goto LA11_;
20017 			{
20018 				if (!((*aa)._kind_4.sym == (*bb)._kind_4.sym)) goto LA15_;
20019 				result = NIM_TRUE;
20020 			}
20021 			LA15_: ;
20022 		}
20023 		goto LA7_;
20024 		LA11_: ;
20025 		{
20026 		}
20027 		LA7_: ;
20028 	}
20029 	LA5_: ;
20030 	return result;
20031 }
N_NIMCALL(void,resolveOverloads__sem_1997)20032 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) {
20033 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initialBinding;
20034 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA alt;
20035 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f;
20036 	tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg overloadsState;
20037 {	unsureAsgnRef((void**)&(*Result).c, NIM_NIL);
20038 	(*Result).exactMatches = 0;
20039 	(*Result).genericMatches = 0;
20040 	(*Result).subtypeMatches = 0;
20041 	(*Result).intConvMatches = 0;
20042 	(*Result).convMatches = 0;
20043 	(*Result).state = 0;
20044 	unsureAsgnRef((void**)&(*Result).callee, NIM_NIL);
20045 	unsureAsgnRef((void**)&(*Result).calleeSym, NIM_NIL);
20046 	(*Result).calleeScope = 0;
20047 	unsureAsgnRef((void**)&(*Result).call, NIM_NIL);
20048 	(*Result).bindings.counter = 0;
20049 	unsureAsgnRef((void**)&(*Result).bindings.data, NIM_NIL);
20050 	(*Result).magic = 0;
20051 	(*Result).baseTypeMatch = 0;
20052 	(*Result).fauxMatch = 0;
20053 	(*Result).genericConverter = 0;
20054 	(*Result).coerceDistincts = 0;
20055 	(*Result).typedescMatched = 0;
20056 	(*Result).isNoCall = 0;
20057 	unsureAsgnRef((void**)&(*Result).inferredTypes, NIM_NIL);
20058 	unsureAsgnRef((void**)&(*Result).diagnostics, NIM_NIL);
20059 	(*Result).inheritancePenalty = 0;
20060 	(*Result).firstMismatch.kind = 0;
20061 	(*Result).firstMismatch.arg = 0;
20062 	unsureAsgnRef((void**)&(*Result).firstMismatch.formal, NIM_NIL);
20063 	(*Result).diagnosticsEnabled = 0;
20064 	initialBinding = NIM_NIL;
20065 	nimZeroMem((void*)(&alt), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
20066 	f = (*n)._kind_6.sons->data[((NI) 0)];
20067 	{
20068 		if (!((*f).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42))) goto LA3_;
20069 		semOpAux__sem_88(c, f);
20070 		initialBinding = f;
20071 		f = (*f)._kind_6.sons->data[((NI) 0)];
20072 	}
20073 	goto LA1_;
20074 	LA3_: ;
20075 	{
20076 		initialBinding = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
20077 	}
20078 	LA1_: ;
20079 	pickBestCandidate__sem_1496(c, f, n, orig, initialBinding, filter, Result, (&alt), errors, ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), errorsEnabled, flags);
20080 	overloadsState = (*Result).state;
20081 	{
20082 		if (!!((overloadsState == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA8_;
20083 		{
20084 			NIM_BOOL T12_;
20085 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* hiddenArg;
20086 			T12_ = (NIM_BOOL)0;
20087 			T12_ = !(((*c).p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)));
20088 			if (!(T12_)) goto LA13_;
20089 			T12_ = !(((*(*c).p).selfSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
20090 			LA13_: ;
20091 			if (!T12_) goto LA14_;
20092 			hiddenArg = newSymNode__ast_3716((*(*c).p).selfSym);
20093 			asgnRef((void**) (&(*hiddenArg).typ), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
20094 			insert__liftdestructors_1579((&(*n)._kind_6.sons), hiddenArg, ((NI) 1));
20095 			insert__liftdestructors_1579((&(*orig)._kind_6.sons), hiddenArg, ((NI) 1));
20096 			pickBestCandidate__sem_1496(c, f, n, orig, initialBinding, filter, Result, (&alt), errors, ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), errorsEnabled, flags);
20097 			{
20098 				if (!!(((*Result).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA18_;
20099 				delete__closureiters_1709((&(*n)._kind_6.sons), ((NI) 1));
20100 				delete__closureiters_1709((&(*orig)._kind_6.sons), ((NI) 1));
20101 				(*n).flags &= ~(((NU32)1) << ((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 12)) & 31));
20102 			}
20103 			goto LA16_;
20104 			LA18_: ;
20105 			{
20106 				goto BeforeRet_;
20107 			}
20108 			LA16_: ;
20109 		}
20110 		LA14_: ;
20111 		{
20112 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T32_;
20113 			tyArray__T6RKPw8xfAeNaoei9aZGzXg T33_;
20114 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T34_;
20115 			tyArray__T6RKPw8xfAeNaoei9aZGzXg T35_;
20116 			if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 9))&31U)))!=0)) goto LA23_;
20117 			{
20118 				NIM_BOOL T27_;
20119 				NI T29_;
20120 				NimStringDesc* argX60gensym324_;
20121 				T27_ = (NIM_BOOL)0;
20122 				T27_ = ((*f).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
20123 				if (!(T27_)) goto LA28_;
20124 				T29_ = (NI)0;
20125 				T29_ = len__ast_3198(n);
20126 				T27_ = (((NI) 2) <= T29_);
20127 				LA28_: ;
20128 				if (!!(T27_)) goto LA30_;
20129 				argX60gensym324_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_412);
20130 				internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym324_, TM__rF9caJawfOjYTjsgLVUSGFA_412);
20131 			}
20132 			LA30_: ;
20133 			T32_ = dotdot___pureZunicode_840(((NI) 0), ((NI) 1));
20134 			nimZeroMem((void*)T33_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
20135 			T33_[0] = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
20136 			T33_[1] = (*n)._kind_6.sons->data[((NI) 1)];
20137 			T33_[2] = f;
20138 			X5BX5Deq___pragmas_1672((&(*n)._kind_6.sons), T32_, T33_, 3);
20139 			T34_ = dotdot___pureZunicode_840(((NI) 0), ((NI) 1));
20140 			nimZeroMem((void*)T35_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
20141 			T35_[0] = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
20142 			T35_[1] = (*orig)._kind_6.sons->data[((NI) 1)];
20143 			T35_[2] = f;
20144 			X5BX5Deq___pragmas_1672((&(*orig)._kind_6.sons), T34_, T35_, 3);
20145 			{
20146 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* opX60gensym329_;
20147 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T40_;
20148 				if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 11))&31U)))!=0)) goto LA38_;
20149 				T40_ = NIM_NIL;
20150 				T40_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_210));
20151 				opX60gensym329_ = newIdentNode__ast_3712(T40_, (*n).info);
20152 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), opX60gensym329_);
20153 				asgnRef((void**) (&(*orig)._kind_6.sons->data[((NI) 0)]), opX60gensym329_);
20154 				pickBestCandidate__sem_1496(c, opX60gensym329_, n, orig, initialBinding, filter, Result, (&alt), errors, ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), errorsEnabled, flags);
20155 			}
20156 			LA38_: ;
20157 			{
20158 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* opX60gensym335_;
20159 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T45_;
20160 				if (!((5 &((NU8)1<<((NU)((*Result).state)&7U)))!=0)) goto LA43_;
20161 				T45_ = NIM_NIL;
20162 				T45_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_209));
20163 				opX60gensym335_ = newIdentNode__ast_3712(T45_, (*n).info);
20164 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), opX60gensym335_);
20165 				asgnRef((void**) (&(*orig)._kind_6.sons->data[((NI) 0)]), opX60gensym335_);
20166 				pickBestCandidate__sem_1496(c, opX60gensym335_, n, orig, initialBinding, filter, Result, (&alt), errors, ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), errorsEnabled, flags);
20167 			}
20168 			LA43_: ;
20169 		}
20170 		goto LA21_;
20171 		LA23_: ;
20172 		{
20173 			NIM_BOOL T47_;
20174 			NIM_BOOL T48_;
20175 			NI T51_;
20176 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* calleeName;
20177 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T54_;
20178 			NimStringDesc* T55_;
20179 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T56_;
20180 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* callOp;
20181 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T57_;
20182 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T58_;
20183 			tyArray__T6RKPw8xfAeNaoei9aZGzXg T59_;
20184 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T60_;
20185 			tyArray__T6RKPw8xfAeNaoei9aZGzXg T61_;
20186 			T47_ = (NIM_BOOL)0;
20187 			T48_ = (NIM_BOOL)0;
20188 			T48_ = (((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 10))&31U)))!=0);
20189 			if (!(T48_)) goto LA49_;
20190 			T48_ = ((*f).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
20191 			LA49_: ;
20192 			T47_ = T48_;
20193 			if (!(T47_)) goto LA50_;
20194 			T51_ = (NI)0;
20195 			T51_ = len__ast_3198(n);
20196 			T47_ = (T51_ == ((NI) 3));
20197 			LA50_: ;
20198 			if (!T47_) goto LA52_;
20199 			T54_ = dotdot___stdZenumutils_80(((NI) 0), ((NI) 2));
20200 			T55_ = NIM_NIL;
20201 			T55_ = X5BX5D___pureZunicode_3215((*(*f)._kind_5.ident).s, T54_);
20202 			T56_ = NIM_NIL;
20203 			T56_ = getIdent__idents_143((*c).cache, T55_);
20204 			calleeName = newIdentNode__ast_3712(T56_, (*n).info);
20205 			T57_ = NIM_NIL;
20206 			T57_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_211));
20207 			callOp = newIdentNode__ast_3712(T57_, (*n).info);
20208 			T58_ = dotdot___pureZunicode_840(((NI) 0), ((NI) 1));
20209 			nimZeroMem((void*)T59_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
20210 			T59_[0] = callOp;
20211 			T59_[1] = (*n)._kind_6.sons->data[((NI) 1)];
20212 			T59_[2] = calleeName;
20213 			X5BX5Deq___pragmas_1672((&(*n)._kind_6.sons), T58_, T59_, 3);
20214 			T60_ = dotdot___pureZunicode_840(((NI) 0), ((NI) 1));
20215 			nimZeroMem((void*)T61_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
20216 			T61_[0] = callOp;
20217 			T61_[1] = (*orig)._kind_6.sons->data[((NI) 1)];
20218 			T61_[2] = calleeName;
20219 			X5BX5Deq___pragmas_1672((&(*orig)._kind_6.sons), T60_, T61_, 3);
20220 			pickBestCandidate__sem_1496(c, callOp, n, orig, initialBinding, filter, Result, (&alt), errors, ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), errorsEnabled, flags);
20221 		}
20222 		goto LA21_;
20223 		LA52_: ;
20224 		LA21_: ;
20225 		{
20226 			NIM_BOOL T64_;
20227 			T64_ = (NIM_BOOL)0;
20228 			T64_ = (overloadsState == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0));
20229 			if (!(T64_)) goto LA65_;
20230 			T64_ = ((*Result).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0));
20231 			LA65_: ;
20232 			if (!T64_) goto LA66_;
20233 			{
20234 				if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 18))&31U)))!=0))) goto LA70_;
20235 				{
20236 					NIM_BOOL T74_;
20237 					NIM_BOOL T75_;
20238 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
20239 					T74_ = (NIM_BOOL)0;
20240 					T75_ = (NIM_BOOL)0;
20241 					T75_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
20242 					if (!(T75_)) goto LA76_;
20243 					T75_ = eqStrings((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_211));
20244 					LA76_: ;
20245 					T74_ = T75_;
20246 					if (!(T74_)) goto LA77_;
20247 					T74_ = ((*(*n)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
20248 					LA77_: ;
20249 					if (!T74_) goto LA78_;
20250 					sym = (*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).sym;
20251 					{
20252 						NimStringDesc* T84_;
20253 						if (!(sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA82_;
20254 						T84_ = NIM_NIL;
20255 						T84_ = getMsgDiagnostic__sem_1968(c, flags, n, f);
20256 						liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T84_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_419, NIM_FALSE);
20257 					}
20258 					goto LA80_;
20259 					LA82_: ;
20260 					{
20261 						NimStringDesc* field;
20262 						NimStringDesc* msg;
20263 						NimStringDesc* T86_;
20264 						NimStringDesc* T87_;
20265 						NimStringDesc* T88_;
20266 						field = (*(*(*n)._kind_6.sons->data[((NI) 2)])._kind_5.ident).s;
20267 						T86_ = NIM_NIL;
20268 						T87_ = NIM_NIL;
20269 						T87_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_416), field);
20270 						T88_ = NIM_NIL;
20271 						T88_ = getProcHeader__types_222((*(*c).graph).config, sym, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
20272 						T86_ = rawNewString((T87_ ? T87_->Sup.len : 0) + (T88_ ? T88_->Sup.len : 0) + 10);
20273 appendString(T86_, T87_);
20274 appendString(T86_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_414));
20275 appendString(T86_, T88_);
20276 						msg = T86_;
20277 						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);
20278 					}
20279 					LA80_: ;
20280 				}
20281 				goto LA72_;
20282 				LA78_: ;
20283 				{
20284 					NimStringDesc* T90_;
20285 					T90_ = NIM_NIL;
20286 					T90_ = getMsgDiagnostic__sem_1968(c, flags, n, f);
20287 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T90_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_421, NIM_FALSE);
20288 				}
20289 				LA72_: ;
20290 			}
20291 			LA70_: ;
20292 			goto BeforeRet_;
20293 		}
20294 		goto LA62_;
20295 		LA66_: ;
20296 		{
20297 			if (!!(((*Result).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA92_;
20298 			{
20299 				NimStringDesc* T98_;
20300 				NimStringDesc* T99_;
20301 				if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 12))&31U)))!=0)) goto LA96_;
20302 				T98_ = NIM_NIL;
20303 				T98_ = renderTree__renderer_46(n, 4);
20304 				T99_ = NIM_NIL;
20305 				T99_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_268), T98_);
20306 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T99_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_422, NIM_FALSE);
20307 			}
20308 			goto LA94_;
20309 			LA96_: ;
20310 			{
20311 				{
20312 					if (!!(((1536 & (*n).flags) == 0))) goto LA103_;
20313 					delete__closureiters_1709((&(*n)._kind_6.sons), ((NI) 2));
20314 					asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), f);
20315 				}
20316 				LA103_: ;
20317 			}
20318 			LA94_: ;
20319 			goto BeforeRet_;
20320 		}
20321 		goto LA62_;
20322 		LA92_: ;
20323 		LA62_: ;
20324 	}
20325 	LA8_: ;
20326 	{
20327 		NIM_BOOL T107_;
20328 		NIM_BOOL T108_;
20329 		NI T110_;
20330 		NIM_BOOL T112_;
20331 		T107_ = (NIM_BOOL)0;
20332 		T108_ = (NIM_BOOL)0;
20333 		T108_ = (alt.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1));
20334 		if (!(T108_)) goto LA109_;
20335 		T110_ = (NI)0;
20336 		T110_ = cmpCandidates__sigmatch_358(Result, (&alt));
20337 		T108_ = (T110_ == ((NI) 0));
20338 		LA109_: ;
20339 		T107_ = T108_;
20340 		if (!(T107_)) goto LA111_;
20341 		T112_ = (NIM_BOOL)0;
20342 		T112_ = sameMethodDispatcher__sem_1428((*Result).calleeSym, alt.calleeSym);
20343 		T107_ = !(T112_);
20344 		LA111_: ;
20345 		if (!T107_) goto LA113_;
20346 		{
20347 			NimStringDesc* argX60gensym374_;
20348 			if (!!(((*Result).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA117_;
20349 			argX60gensym374_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_423);
20350 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym374_, TM__rF9caJawfOjYTjsgLVUSGFA_423);
20351 		}
20352 		LA117_: ;
20353 		{
20354 			if (!((*(*(*c).graph).config).m.errorOutputs == 0)) goto LA121_;
20355 			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);
20356 		}
20357 		goto LA119_;
20358 		LA121_: ;
20359 		{
20360 			NimStringDesc* args;
20361 			tyArray__24KAM9afIUgUaqBaEBB6r9bg T134_;
20362 			NimStringDesc* T135_;
20363 			if (!((*(*(*c).graph).config).errorCounter == ((NI) 0))) goto LA124_;
20364 			args = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_71));
20365 			{
20366 				NI i;
20367 				NI colontmp_;
20368 				NI i_2;
20369 				i = (NI)0;
20370 				colontmp_ = (NI)0;
20371 				colontmp_ = len__ast_3198(n);
20372 				i_2 = ((NI) 1);
20373 				{
20374 					while (1) {
20375 						NimStringDesc* T133_;
20376 						if (!(i_2 < colontmp_)) goto LA128;
20377 						i = i_2;
20378 						{
20379 							if (!(((NI) 1) < i)) goto LA131_;
20380 							args = resizeString(args, 2);
20381 appendString(args, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
20382 						}
20383 						LA131_: ;
20384 						T133_ = NIM_NIL;
20385 						T133_ = typeToString__types_50((*(*n)._kind_6.sons->data[i]).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
20386 						args = resizeString(args, (T133_ ? T133_->Sup.len : 0) + 0);
20387 appendString(args, T133_);
20388 						i_2 += ((NI) 1);
20389 					} LA128: ;
20390 				}
20391 			}
20392 			args = resizeString(args, 1);
20393 appendString(args, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_73));
20394 			nimZeroMem((void*)T134_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
20395 			T134_[0] = getProcHeader__types_222((*(*c).graph).config, (*Result).calleeSym, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
20396 			T134_[1] = getProcHeader__types_222((*(*c).graph).config, alt.calleeSym, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
20397 			T134_[2] = copyString(args);
20398 			T135_ = NIM_NIL;
20399 			T135_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_426), T134_, 3);
20400 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T135_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_427, NIM_FALSE);
20401 		}
20402 		goto LA119_;
20403 		LA124_: ;
20404 		LA119_: ;
20405 	}
20406 	LA113_: ;
20407 	}BeforeRet_: ;
20408 }
N_NIMCALL(void,instGenericConvertersSons__sem_2316)20409 N_LIB_PRIVATE N_NIMCALL(void, instGenericConvertersSons__sem_2316)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* x) {
20410 	{
20411 		if (!(*x).genericConverter) goto LA3_;
20412 		{
20413 			NI i;
20414 			NI colontmp_;
20415 			NI i_2;
20416 			i = (NI)0;
20417 			colontmp_ = (NI)0;
20418 			colontmp_ = len__ast_3198(n);
20419 			i_2 = ((NI) 1);
20420 			{
20421 				while (1) {
20422 					if (!(i_2 < colontmp_)) goto LA7;
20423 					i = i_2;
20424 					instGenericConvertersArg__sem_2292(c, (*n)._kind_6.sons->data[i], x);
20425 					i_2 += ((NI) 1);
20426 				} LA7: ;
20427 			}
20428 		}
20429 	}
20430 	LA3_: ;
20431 }
N_NIMCALL(void,updateDefaultParams__sem_2362)20432 N_LIB_PRIVATE N_NIMCALL(void, updateDefaultParams__sem_2362)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call) {
20433 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* calleeParams;
20434 	calleeParams = (*(*(*(*call)._kind_6.sons->data[((NI) 0)])._kind_4.sym).typ).n;
20435 	{
20436 		NI i;
20437 		NI colontmp_;
20438 		NI i_2;
20439 		i = (NI)0;
20440 		colontmp_ = (NI)0;
20441 		colontmp_ = len__ast_3198(call);
20442 		i_2 = ((NI) 1);
20443 		{
20444 			while (1) {
20445 				if (!(i_2 < colontmp_)) goto LA3;
20446 				i = i_2;
20447 				{
20448 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
20449 					if (!(((*(*call)._kind_6.sons->data[i]).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 18))&31U)))!=0)) goto LA6_;
20450 					def = (*(*(*calleeParams)._kind_6.sons->data[i])._kind_4.sym).ast;
20451 					{
20452 						if (!(((*def).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19))&31U)))!=0)) goto LA10_;
20453 						(*call).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19)) & 31);
20454 					}
20455 					LA10_: ;
20456 					asgnRef((void**) (&(*call)._kind_6.sons->data[i]), def);
20457 				}
20458 				LA6_: ;
20459 				i_2 += ((NI) 1);
20460 			} LA3: ;
20461 		}
20462 	}
20463 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semResolvedCall__sem_2401)20464 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) {
20465 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20466 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* finalCallee;
20467 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
20468 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp;
20469 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T90_;
20470 {	result = NIM_NIL;
20471 	finalCallee = (*x).calleeSym;
20472 	info = getCallLineInfo__sem_2390(n);
20473 	markUsed__sigmatch_85(c, info, finalCallee);
20474 	{
20475 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T5_;
20476 		if (!!(((*x).fauxMatch == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA3_;
20477 		result = (*x).call;
20478 		T5_ = getCallLineInfo__sem_2390((*result)._kind_6.sons->data[((NI) 0)]);
20479 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(finalCallee, T5_));
20480 		{
20481 			NIM_BOOL T8_;
20482 			T8_ = (NIM_BOOL)0;
20483 			T8_ = containsGenericType__types_3360((*result).typ);
20484 			if (T8_) goto LA9_;
20485 			T8_ = ((*x).fauxMatch == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61));
20486 			LA9_: ;
20487 			if (!T8_) goto LA10_;
20488 			asgnRef((void**) (&(*result).typ), newTypeS__semdata_733((*x).fauxMatch, c));
20489 			{
20490 				if (!((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50))) goto LA14_;
20491 				(*(*result).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
20492 			}
20493 			LA14_: ;
20494 		}
20495 		LA10_: ;
20496 		goto BeforeRet_;
20497 	}
20498 	LA3_: ;
20499 	gp = (*(*finalCallee).ast)._kind_6.sons->data[((NI) 2)];
20500 	{
20501 		NIM_BOOL T18_;
20502 		T18_ = (NIM_BOOL)0;
20503 		T18_ = isGenericParams__ast_4616(gp);
20504 		if (!T18_) goto LA19_;
20505 		{
20506 			if (!!(((393216 &((NU32)1<<((NU)((*(*x).calleeSym).kind)&31U)))!=0))) goto LA23_;
20507 			{
20508 				if (!((*(*x).calleeSym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5) || (*(*x).calleeSym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 6))) goto LA27_;
20509 				finalCallee = (*x).calleeSym;
20510 			}
20511 			goto LA25_;
20512 			LA27_: ;
20513 			{
20514 				finalCallee = generateInstance__sem_1295(c, (*x).calleeSym, (*x).bindings, (*n).info);
20515 			}
20516 			LA25_: ;
20517 		}
20518 		goto LA21_;
20519 		LA23_: ;
20520 		{
20521 			{
20522 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
20523 				s = NIM_NIL;
20524 				{
20525 					NimStringDesc* argX60gensym132_;
20526 					if (!!(((*gp).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75)))) goto LA34_;
20527 					argX60gensym132_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_79);
20528 					internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym132_, TM__rF9caJawfOjYTjsgLVUSGFA_79);
20529 				}
20530 				LA34_: ;
20531 				{
20532 					NI i;
20533 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
20534 					i = (NI)0;
20535 					a = NIM_NIL;
20536 					{
20537 						NI i_2;
20538 						NI colontmp_;
20539 						NI i_3;
20540 						i_2 = (NI)0;
20541 						colontmp_ = (NI)0;
20542 						colontmp_ = safeLen__ast_3191(gp);
20543 						i_3 = ((NI) 0);
20544 						{
20545 							while (1) {
20546 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* q;
20547 								if (!(i_3 < colontmp_)) goto LA39;
20548 								i_2 = i_3;
20549 								i = i_2;
20550 								a = (*gp)._kind_6.sons->data[i_2];
20551 								{
20552 									NimStringDesc* argX60gensym135_;
20553 									if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA42_;
20554 									argX60gensym135_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_80);
20555 									internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym135_, TM__rF9caJawfOjYTjsgLVUSGFA_80);
20556 								}
20557 								LA42_: ;
20558 								q = (*a)._kind_4.sym;
20559 								{
20560 									tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind;
20561 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
20562 									tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T53_;
20563 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T54_;
20564 									tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
20565 									RootObj* T55_;
20566 									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_;
20567 									{
20568 										if (!((*(*q).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA50_;
20569 										symKind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10);
20570 									}
20571 									goto LA48_;
20572 									LA50_: ;
20573 									{
20574 										symKind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7);
20575 									}
20576 									LA48_: ;
20577 									T53_ = nextSymId__ast_3132((*c).Sup.idgen);
20578 									T54_ = NIM_NIL;
20579 									T54_ = getCurrOwner__semdata_315(c);
20580 									s_2 = newSym__ast_3445(symKind, (*q).name, T53_, T54_, (*q).info, 0);
20581 									(*s_2).flags = ((*s_2).flags | 5);
20582 									T55_ = NIM_NIL;
20583 									T55_ = idTableGet__astalgo_64((*x).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*q).typ)))));
20584 									t = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T55_));
20585 									{
20586 										if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA58_;
20587 										{
20588 											if (!(((*(*q).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 11))&63U)))!=0)) goto LA62_;
20589 											t = (*q).typ;
20590 										}
20591 										goto LA60_;
20592 										LA62_: ;
20593 										{
20594 											NimStringDesc* T65_;
20595 											T65_ = NIM_NIL;
20596 											T65_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_81), (*(*s_2).name).s);
20597 											liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T65_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_82, NIM_FALSE);
20598 											t = errorType__semdata_1002(c);
20599 										}
20600 										LA60_: ;
20601 									}
20602 									goto LA56_;
20603 									LA58_: ;
20604 									{
20605 										NimStringDesc* T69_;
20606 										if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62))) goto LA67_;
20607 										T69_ = NIM_NIL;
20608 										T69_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_81), (*(*q).name).s);
20609 										liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T69_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_83, NIM_FALSE);
20610 										t = errorType__semdata_1002(c);
20611 									}
20612 									goto LA56_;
20613 									LA67_: ;
20614 									{
20615 										if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA71_;
20616 										t = generateTypeInstance__semtypinst_1050(c, (*x).bindings, (*a).info, t);
20617 									}
20618 									goto LA56_;
20619 									LA71_: ;
20620 									LA56_: ;
20621 									asgnRef((void**) (&(*s_2).typ), t);
20622 									{
20623 										if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA75_;
20624 										asgnRef((void**) (&(*s_2).ast), (*t).n);
20625 									}
20626 									LA75_: ;
20627 									s = s_2;
20628 									switch ((*s).kind) {
20629 									case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10):
20630 									{
20631 										{
20632 											if (!!(((*s).ast == 0))) goto LA80_;
20633 											add__ast_4797((*x).call, (*s).ast);
20634 										}
20635 										goto LA78_;
20636 										LA80_: ;
20637 										{
20638 											add__ast_4797((*x).call, (*(*c).graph).emptyNode);
20639 										}
20640 										LA78_: ;
20641 									}
20642 									break;
20643 									case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
20644 									{
20645 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T84_;
20646 										T84_ = NIM_NIL;
20647 										T84_ = newSymNode__ast_3719(s, (*n).info);
20648 										add__ast_4797((*x).call, T84_);
20649 									}
20650 									break;
20651 									default:
20652 									{
20653 										{
20654 											NimStringDesc* argX60gensym425_;
20655 											if (!NIM_TRUE) goto LA88_;
20656 											argX60gensym425_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_430);
20657 											internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym425_, TM__rF9caJawfOjYTjsgLVUSGFA_430);
20658 										}
20659 										LA88_: ;
20660 									}
20661 									break;
20662 									}
20663 								}
20664 								LA46_: ;
20665 								i_3 += ((NI) 1);
20666 							} LA39: ;
20667 						}
20668 					}
20669 				}
20670 			}
20671 		}
20672 		LA21_: ;
20673 	}
20674 	LA19_: ;
20675 	result = (*x).call;
20676 	instGenericConvertersSons__sem_2316(c, result, x);
20677 	T90_ = getCallLineInfo__sem_2390((*result)._kind_6.sons->data[((NI) 0)]);
20678 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(finalCallee, T90_));
20679 	asgnRef((void**) (&(*result).typ), (*(*finalCallee).typ).sons->data[((NI) 0)]);
20680 	updateDefaultParams__sem_2362(result);
20681 	}BeforeRet_: ;
20682 	return result;
20683 }
N_INLINE(NIM_BOOL,canDeref__sem_2474)20684 static N_INLINE(NIM_BOOL, canDeref__sem_2474)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
20685 	NIM_BOOL result;
20686 	NIM_BOOL T1_;
20687 	NI T2_;
20688 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
20689 	NIM_BOOL T4_;
20690 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
20691 	result = (NIM_BOOL)0;
20692 	T1_ = (NIM_BOOL)0;
20693 	T2_ = (NI)0;
20694 	T2_ = len__ast_3198(n);
20695 	T1_ = (((NI) 2) <= T2_);
20696 	if (!(T1_)) goto LA3_;
20697 	t = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
20698 	T4_ = (NIM_BOOL)0;
20699 	T4_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
20700 	if (!(T4_)) goto LA5_;
20701 	T6_ = NIM_NIL;
20702 	T6_ = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_137);
20703 	T4_ = ((*T6_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*T6_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
20704 	LA5_: ;
20705 	T1_ = T4_;
20706 	LA3_: ;
20707 	result = T1_;
20708 	return result;
20709 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,tryDeref__sem_2490)20710 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryDeref__sem_2490)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
20711 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20712 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
20713 	result = NIM_NIL;
20714 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n).info);
20715 	T1_ = NIM_NIL;
20716 	T1_ = skipTypes__ast_3735((*n).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
20717 	asgnRef((void**) (&(*result).typ), (*T1_).sons->data[((NI) 0)]);
20718 	add__ast_4797(result, n);
20719 	return result;
20720 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semOverloadedCall__sem_2498)20721 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) {
20722 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20723 	tySequence__0dpGN6F4ocevqUQGsaf41w* errors;
20724 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA r;
20725 	result = NIM_NIL;
20726 	errors = NIM_NIL;
20727 	nimZeroMem((void*)(&r), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
20728 	resolveOverloads__sem_1997(c, n, nOrig, filter, flags, (&errors), ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), (&r));
20729 	{
20730 		if (!(r.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1))) goto LA3_;
20731 		{
20732 			NI T7_;
20733 			tyTuple__ZtAk5YtH0VW1iPowvxePrg T10_;
20734 			tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw _;
20735 			NimStringDesc* candidates;
20736 			NimStringDesc* T11_;
20737 			NimStringDesc* T12_;
20738 			T7_ = (errors ? errors->Sup.len : 0);
20739 			if (!(((NI) 0) < T7_)) goto LA8_;
20740 			nimZeroMem((void*)(&T10_), sizeof(tyTuple__ZtAk5YtH0VW1iPowvxePrg));
20741 			presentFailedCandidates__sem_1636(c, n, errors, (&T10_));
20742 			_ = (tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw)0;
20743 			_ = T10_.Field0;
20744 			candidates = NIM_NIL;
20745 			candidates = T10_.Field1;
20746 			T11_ = NIM_NIL;
20747 			T12_ = NIM_NIL;
20748 			T12_ = renderTree__renderer_46(n, 0);
20749 			T11_ = rawNewString((T12_ ? T12_->Sup.len : 0) + (candidates ? candidates->Sup.len : 0) + 29);
20750 appendString(T11_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_428));
20751 appendString(T11_, T12_);
20752 appendString(T11_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_270));
20753 appendString(T11_, candidates);
20754 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 99), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_429, NIM_FALSE);
20755 		}
20756 		LA8_: ;
20757 		result = semResolvedCall__sem_2401(c, (&r), n, flags);
20758 	}
20759 	goto LA1_;
20760 	LA3_: ;
20761 	{
20762 		NIM_BOOL T14_;
20763 		tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA r_2;
20764 		T14_ = (NIM_BOOL)0;
20765 		T14_ = (((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 0))&31U)))!=0);
20766 		if (!(T14_)) goto LA15_;
20767 		T14_ = canDeref__sem_2474(n);
20768 		LA15_: ;
20769 		if (!T14_) goto LA16_;
20770 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), tryDeref__sem_2490((*n)._kind_6.sons->data[((NI) 1)]));
20771 		nimZeroMem((void*)(&r_2), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
20772 		resolveOverloads__sem_1997(c, n, nOrig, filter, flags, (&errors), ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), (&r_2));
20773 		{
20774 			if (!(r_2.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1))) goto LA20_;
20775 			result = semResolvedCall__sem_2401(c, (&r_2), n, flags);
20776 		}
20777 		goto LA18_;
20778 		LA20_: ;
20779 		{
20780 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), (*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)]);
20781 			{
20782 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
20783 				if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0))) goto LA25_;
20784 				T27_ = NIM_NIL;
20785 				T27_ = semOverloadedCall__sem_2498(c, n, nOrig, filter, (flags | 1024));
20786 				(void)(T27_);
20787 			}
20788 			goto LA23_;
20789 			LA25_: ;
20790 			{
20791 				if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 18))&31U)))!=0))) goto LA29_;
20792 				notFoundError__sem_1922(c, n, errors);
20793 			}
20794 			goto LA23_;
20795 			LA29_: ;
20796 			LA23_: ;
20797 		}
20798 		LA18_: ;
20799 	}
20800 	goto LA1_;
20801 	LA16_: ;
20802 	{
20803 		{
20804 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T36_;
20805 			if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0))) goto LA34_;
20806 			T36_ = NIM_NIL;
20807 			T36_ = semOverloadedCall__sem_2498(c, n, nOrig, filter, (flags | 1024));
20808 			(void)(T36_);
20809 		}
20810 		goto LA32_;
20811 		LA34_: ;
20812 		{
20813 			if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 18))&31U)))!=0))) goto LA38_;
20814 			notFoundError__sem_1922(c, n, errors);
20815 		}
20816 		goto LA32_;
20817 		LA38_: ;
20818 		LA32_: ;
20819 	}
20820 	LA1_: ;
20821 	return result;
20822 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semOverloadedCallAnalyseEffects__sem_16420)20823 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) {
20824 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20825 {	result = NIM_NIL;
20826 	{
20827 		if (!!(((flags & 14) == 0))) goto LA3_;
20828 		result = semOverloadedCall__sem_2498(c, n, nOrig, 520192, flags);
20829 	}
20830 	goto LA1_;
20831 	LA3_: ;
20832 	{
20833 		result = semOverloadedCall__sem_2498(c, n, nOrig, 487424, flags);
20834 	}
20835 	LA1_: ;
20836 	{
20837 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee;
20838 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA8_;
20839 		{
20840 			if (!!(((*(*result)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA12_;
20841 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_431), TM__rF9caJawfOjYTjsgLVUSGFA_432);
20842 			goto BeforeRet_;
20843 		}
20844 		LA12_: ;
20845 		callee = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
20846 		switch ((*callee).kind) {
20847 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
20848 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
20849 		{
20850 		}
20851 		break;
20852 		default:
20853 		{
20854 			{
20855 				NIM_BOOL T18_;
20856 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym4312_;
20857 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym4313_;
20858 				NimStringDesc* T22_;
20859 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T23_;
20860 				T18_ = (NIM_BOOL)0;
20861 				T18_ = ((*callee).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15));
20862 				if (!(T18_)) goto LA19_;
20863 				xX60gensym4312_ = callee;
20864 				xX60gensym4313_ = (*(*c).p).owner;
20865 				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))));
20866 				LA19_: ;
20867 				if (!T18_) goto LA20_;
20868 				T22_ = NIM_NIL;
20869 				T22_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_433), (*(*callee).name).s);
20870 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T22_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_434, NIM_FALSE);
20871 				T23_ = NIM_NIL;
20872 				T23_ = errorSym__lookups_506(c, n);
20873 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(T23_));
20874 			}
20875 			goto LA16_;
20876 			LA20_: ;
20877 			{
20878 				if (!((*callee).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15))) goto LA25_;
20879 				{
20880 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
20881 					if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 2))&31U)))!=0)) goto LA29_;
20882 					typ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64), c);
20883 					rawAddSon__ast_4288(typ, (*result).typ, NIM_TRUE);
20884 					asgnRef((void**) (&(*result).typ), typ);
20885 				}
20886 				LA29_: ;
20887 			}
20888 			goto LA16_;
20889 			LA25_: ;
20890 			LA16_: ;
20891 		}
20892 		break;
20893 		}
20894 	}
20895 	LA8_: ;
20896 	}BeforeRet_: ;
20897 	return result;
20898 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,propertyWriteAccess__sem_17538)20899 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) {
20900 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20901 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* id;
20902 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* setterId;
20903 	NimStringDesc* T1_;
20904 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T2_;
20905 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aOrig;
20906 	tyArray__T6RKPw8xfAeNaoei9aZGzXg T3_;
20907 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig;
20908 	tyArray__T6RKPw8xfAeNaoei9aZGzXg T4_;
20909 	result = NIM_NIL;
20910 	id = considerQuotedIdent__lookups_28(c, (*a)._kind_6.sons->data[((NI) 1)], a);
20911 	T1_ = NIM_NIL;
20912 	T1_ = rawNewString(((*id).s ? (*id).s->Sup.len : 0) + 1);
20913 appendString(T1_, (*id).s);
20914 appendChar(T1_, 61);
20915 	T2_ = NIM_NIL;
20916 	T2_ = getIdent__idents_143((*c).cache, T1_);
20917 	setterId = newIdentNode__ast_3712(T2_, (*n).info);
20918 	aOrig = (*nOrig)._kind_6.sons->data[((NI) 0)];
20919 	nimZeroMem((void*)T3_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
20920 	T3_[0] = setterId;
20921 	T3_[1] = (*a)._kind_6.sons->data[((NI) 0)];
20922 	T3_[2] = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
20923 	result = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, T3_, 3);
20924 	(*result).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 10)) & 31);
20925 	nimZeroMem((void*)T4_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
20926 	T4_[0] = setterId;
20927 	T4_[1] = (*aOrig)._kind_6.sons->data[((NI) 0)];
20928 	T4_[2] = (*nOrig)._kind_6.sons->data[((NI) 1)];
20929 	orig = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, T4_, 3);
20930 	result = semOverloadedCallAnalyseEffects__sem_16420(c, result, orig, 0);
20931 	{
20932 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA7_;
20933 		result = afterCallActions__sem_16520(c, result, nOrig, 0);
20934 	}
20935 	LA7_: ;
20936 	return result;
20937 }
N_INLINE(NIM_BOOL,isSymChoice__sem_14366)20938 static N_INLINE(NIM_BOOL, isSymChoice__sem_14366)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
20939 	NIM_BOOL result;
20940 	result = (NIM_BOOL)0;
20941 	result = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57));
20942 	return result;
20943 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,dotTransformation__sem_17303)20944 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, dotTransformation__sem_17303)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
20945 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20946 	result = NIM_NIL;
20947 	{
20948 		NIM_BOOL T3_;
20949 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
20950 		T3_ = (NIM_BOOL)0;
20951 		T3_ = isSymChoice__sem_14366((*n)._kind_6.sons->data[((NI) 1)]);
20952 		if (!T3_) goto LA4_;
20953 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 25), (*n).info);
20954 		add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 1)]);
20955 		T6_ = NIM_NIL;
20956 		T6_ = copyTree__ast_4431((*n)._kind_6.sons->data[((NI) 0)]);
20957 		add__ast_4797(result, T6_);
20958 	}
20959 	goto LA1_;
20960 	LA4_: ;
20961 	{
20962 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* i;
20963 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
20964 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
20965 		i = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 1)], n);
20966 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 25), (*n).info);
20967 		(*result).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 9)) & 31);
20968 		T8_ = NIM_NIL;
20969 		T8_ = newIdentNode__ast_3712(i, (*(*n)._kind_6.sons->data[((NI) 1)]).info);
20970 		add__ast_4797(result, T8_);
20971 		T9_ = NIM_NIL;
20972 		T9_ = copyTree__ast_4431((*n)._kind_6.sons->data[((NI) 0)]);
20973 		add__ast_4797(result, T9_);
20974 	}
20975 	LA1_: ;
20976 	return result;
20977 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,buildOverloadedSubscripts__sem_17343)20978 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildOverloadedSubscripts__sem_17343)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident) {
20979 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20980 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
20981 	result = NIM_NIL;
20982 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
20983 	T1_ = NIM_NIL;
20984 	T1_ = newIdentNode__ast_3712(ident, (*n).info);
20985 	add__ast_4797(result, T1_);
20986 	{
20987 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
20988 		s = NIM_NIL;
20989 		{
20990 			NI i;
20991 			NI colontmp_;
20992 			NI i_2;
20993 			i = (NI)0;
20994 			colontmp_ = (NI)0;
20995 			colontmp_ = safeLen__ast_3191(n);
20996 			i_2 = ((NI) 0);
20997 			{
20998 				while (1) {
20999 					if (!(i_2 < colontmp_)) goto LA5;
21000 					i = i_2;
21001 					s = (*n)._kind_6.sons->data[i];
21002 					add__ast_4797(result, s);
21003 					i_2 += ((NI) 1);
21004 				} LA5: ;
21005 			}
21006 		}
21007 	}
21008 	return result;
21009 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getRoot__sem_17663)21010 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getRoot__sem_17663)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL followDeref) {
21011 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
21012 	result = NIM_NIL;
21013 	result = n;
21014 	{
21015 		while (1) {
21016 			switch ((*result).kind) {
21017 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
21018 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
21019 			{
21020 				{
21021 					if (!followDeref) goto LA6_;
21022 					result = (*result)._kind_6.sons->data[((NI) 0)];
21023 				}
21024 				goto LA4_;
21025 				LA6_: ;
21026 				{
21027 					goto LA1;
21028 				}
21029 				LA4_: ;
21030 			}
21031 			break;
21032 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
21033 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
21034 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
21035 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
21036 			{
21037 				result = (*result)._kind_6.sons->data[((NI) 0)];
21038 			}
21039 			break;
21040 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
21041 			{
21042 				result = (*result)._kind_6.sons->data[((NI) 1)];
21043 			}
21044 			break;
21045 			default:
21046 			{
21047 				goto LA1;
21048 			}
21049 			break;
21050 			}
21051 		}
21052 	} LA1: ;
21053 	return result;
21054 }
N_INLINE(NIM_BOOL,scopedLifetime__sem_17670)21055 static N_INLINE(NIM_BOOL, scopedLifetime__sem_17670)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri) {
21056 	NIM_BOOL result;
21057 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
21058 	NIM_BOOL T1_;
21059 	NIM_BOOL T3_;
21060 	NIM_BOOL T4_;
21061 	result = (NIM_BOOL)0;
21062 	n = getRoot__sem_17663(ri, NIM_FALSE);
21063 	T1_ = (NIM_BOOL)0;
21064 	T1_ = ((*ri).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) && (*ri).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32) || (*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38));
21065 	if (T1_) goto LA2_;
21066 	T3_ = (NIM_BOOL)0;
21067 	T4_ = (NIM_BOOL)0;
21068 	T4_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
21069 	if (!(T4_)) goto LA5_;
21070 	T4_ = ((*(*n)._kind_4.sym).owner == (*(*c).p).owner);
21071 	LA5_: ;
21072 	T3_ = T4_;
21073 	if (!(T3_)) goto LA6_;
21074 	T3_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11)));
21075 	LA6_: ;
21076 	T1_ = T3_;
21077 	LA2_: ;
21078 	result = T1_;
21079 	return result;
21080 }
N_INLINE(NIM_BOOL,escapes__sem_17695)21081 static N_INLINE(NIM_BOOL, escapes__sem_17695)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le) {
21082 	NIM_BOOL result;
21083 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
21084 	NIM_BOOL T1_;
21085 	result = (NIM_BOOL)0;
21086 	n = getRoot__sem_17663(le, NIM_TRUE);
21087 	T1_ = (NIM_BOOL)0;
21088 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
21089 	if (!(T1_)) goto LA2_;
21090 	T1_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
21091 	LA2_: ;
21092 	result = T1_;
21093 	return result;
21094 }
N_NIMCALL(void,borrowCheck__sem_17656)21095 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) {
21096 	{
21097 		NIM_BOOL T3_;
21098 		NIM_BOOL T4_;
21099 		NIM_BOOL T5_;
21100 		NIM_BOOL T6_;
21101 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
21102 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T11_;
21103 		T3_ = (NIM_BOOL)0;
21104 		T4_ = (NIM_BOOL)0;
21105 		T5_ = (NIM_BOOL)0;
21106 		T6_ = (NIM_BOOL)0;
21107 		T6_ = !(((*ri).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
21108 		if (!(T6_)) goto LA7_;
21109 		T8_ = NIM_NIL;
21110 		T8_ = skipTypes__ast_3735((*ri).typ, TM__rF9caJawfOjYTjsgLVUSGFA_440);
21111 		T6_ = ((*T8_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
21112 		LA7_: ;
21113 		T5_ = T6_;
21114 		if (!(T5_)) goto LA9_;
21115 		T5_ = !(((*le).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
21116 		LA9_: ;
21117 		T4_ = T5_;
21118 		if (!(T4_)) goto LA10_;
21119 		T11_ = NIM_NIL;
21120 		T11_ = skipTypes__ast_3735((*le).typ, TM__rF9caJawfOjYTjsgLVUSGFA_440);
21121 		T4_ = !(((*T11_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
21122 		LA10_: ;
21123 		T3_ = T4_;
21124 		if (!(T3_)) goto LA12_;
21125 		T3_ = scopedLifetime__sem_17670(c, ri);
21126 		LA12_: ;
21127 		if (!T3_) goto LA13_;
21128 		{
21129 			NIM_BOOL T17_;
21130 			NimStringDesc* T21_;
21131 			NimStringDesc* T22_;
21132 			T17_ = (NIM_BOOL)0;
21133 			T17_ = ((*le).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
21134 			if (!(T17_)) goto LA18_;
21135 			T17_ = ((*(*le)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
21136 			LA18_: ;
21137 			if (!T17_) goto LA19_;
21138 			T21_ = NIM_NIL;
21139 			T22_ = NIM_NIL;
21140 			T22_ = typeToString__types_50((*le).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
21141 			T21_ = rawNewString((T22_ ? T22_->Sup.len : 0) + 86);
21142 appendString(T21_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_441));
21143 appendString(T21_, T22_);
21144 appendString(T21_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_442));
21145 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_443, NIM_FALSE);
21146 		}
21147 		goto LA15_;
21148 		LA19_: ;
21149 		{
21150 			NIM_BOOL T24_;
21151 			T24_ = (NIM_BOOL)0;
21152 			T24_ = escapes__sem_17695(c, le);
21153 			if (!T24_) goto LA25_;
21154 			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);
21155 		}
21156 		goto LA15_;
21157 		LA25_: ;
21158 		LA15_: ;
21159 	}
21160 	LA13_: ;
21161 }
N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q,goodLineInfo__sem_17739)21162 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, goodLineInfo__sem_17739)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg) {
21163 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q result;
21164 	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
21165 	{
21166 		NIM_BOOL T3_;
21167 		NI T5_;
21168 		NI T8_;
21169 		T3_ = (NIM_BOOL)0;
21170 		T3_ = ((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
21171 		if (!(T3_)) goto LA4_;
21172 		T5_ = (NI)0;
21173 		T5_ = len__ast_3198(arg);
21174 		T3_ = (((NI) 0) < T5_);
21175 		LA4_: ;
21176 		if (!T3_) goto LA6_;
21177 		T8_ = (NI)0;
21178 		T8_ = len__ast_3198(arg);
21179 		result = goodLineInfo__sem_17739((*arg)._kind_6.sons->data[(NI)(T8_ - ((NI) 1))]);
21180 	}
21181 	goto LA1_;
21182 	LA6_: ;
21183 	{
21184 		result = (*arg).info;
21185 	}
21186 	LA1_: ;
21187 	return result;
21188 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,takeImplicitAddr__sem_17562)21189 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, takeImplicitAddr__sem_17562)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isLent) {
21190 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
21191 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* root;
21192 	tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag valid;
21193 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T43_;
21194 {	result = NIM_NIL;
21195 	root = exprRoot__parampatterns_300(n);
21196 	{
21197 		NIM_BOOL T3_;
21198 		T3_ = (NIM_BOOL)0;
21199 		T3_ = !((root == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
21200 		if (!(T3_)) goto LA4_;
21201 		T3_ = ((*root).owner == (*(*c).p).owner);
21202 		LA4_: ;
21203 		if (!T3_) goto LA5_;
21204 		{
21205 			NIM_BOOL T9_;
21206 			tyArray__24KAM9afIUgUaqBaEBB6r9bg T13_;
21207 			NimStringDesc* T14_;
21208 			T9_ = (NIM_BOOL)0;
21209 			T9_ = ((800 &((NU32)1<<((NU)((*root).kind)&31U)))!=0);
21210 			if (!(T9_)) goto LA10_;
21211 			T9_ = !((((*root).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0));
21212 			LA10_: ;
21213 			if (!T9_) goto LA11_;
21214 			nimZeroMem((void*)T13_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
21215 			T13_[0] = copyString((*(*root).name).s);
21216 			T13_[1] = renderTree__renderer_46(n, 4);
21217 			T13_[2] = createDocLink__lineinfos_6(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_447));
21218 			T14_ = NIM_NIL;
21219 			T14_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_446), T13_, 3);
21220 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T14_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_448, NIM_FALSE);
21221 		}
21222 		goto LA7_;
21223 		LA11_: ;
21224 		{
21225 			NIM_BOOL T16_;
21226 			tyArray__24KAM9afIUgUaqBaEBB6r9bg T20_;
21227 			NimStringDesc* T21_;
21228 			T16_ = (NIM_BOOL)0;
21229 			T16_ = ((*root).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
21230 			if (!(T16_)) goto LA17_;
21231 			T16_ = !(((*root).position == ((NI) 0)));
21232 			LA17_: ;
21233 			if (!T16_) goto LA18_;
21234 			nimZeroMem((void*)T20_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
21235 			T20_[0] = copyString((*(*root).name).s);
21236 			T20_[1] = renderTree__renderer_46(n, 4);
21237 			T20_[2] = createDocLink__lineinfos_6(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_447));
21238 			T21_ = NIM_NIL;
21239 			T21_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_449), T20_, 3);
21240 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_450, NIM_FALSE);
21241 		}
21242 		goto LA7_;
21243 		LA18_: ;
21244 		LA7_: ;
21245 	}
21246 	LA5_: ;
21247 	switch ((*n).kind) {
21248 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
21249 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
21250 	{
21251 		result = n;
21252 		goto BeforeRet_;
21253 	}
21254 	break;
21255 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
21256 	{
21257 		result = (*n)._kind_6.sons->data[((NI) 0)];
21258 		goto BeforeRet_;
21259 	}
21260 	break;
21261 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
21262 	{
21263 		{
21264 			NI T27_;
21265 			T27_ = (NI)0;
21266 			T27_ = len__ast_3198(n);
21267 			if (!(T27_ == ((NI) 1))) goto LA28_;
21268 			result = (*n)._kind_6.sons->data[((NI) 0)];
21269 			goto BeforeRet_;
21270 		}
21271 		LA28_: ;
21272 	}
21273 	break;
21274 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
21275 	{
21276 	}
21277 	break;
21278 	default:
21279 	{
21280 	}
21281 	break;
21282 	}
21283 	valid = isAssignable__sem_15001(c, n, isLent);
21284 	{
21285 		if (!!((valid == ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 1)))) goto LA34_;
21286 		{
21287 			NimStringDesc* T40_;
21288 			NimStringDesc* T41_;
21289 			if (!(valid == ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 2))) goto LA38_;
21290 			T40_ = NIM_NIL;
21291 			T40_ = renderTree__renderer_46(n, 4);
21292 			T41_ = NIM_NIL;
21293 			T41_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_232), T40_);
21294 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T41_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_451, NIM_FALSE);
21295 		}
21296 		goto LA36_;
21297 		LA38_: ;
21298 		{
21299 			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);
21300 		}
21301 		LA36_: ;
21302 	}
21303 	LA34_: ;
21304 	T43_ = NIM_NIL;
21305 	{
21306 		if (!((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA46_;
21307 		T43_ = (*n).typ;
21308 	}
21309 	goto LA44_;
21310 	LA46_: ;
21311 	{
21312 		T43_ = makePtrType__semdata_742(c, (*n).typ);
21313 	}
21314 	LA44_: ;
21315 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64), (*n).info, T43_);
21316 	add__ast_4797(result, n);
21317 	}BeforeRet_: ;
21318 	return result;
21319 }
N_INLINE(void,asgnToResultVar__sem_17611)21320 static N_INLINE(void, asgnToResultVar__sem_17611)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri) {
21321 	{
21322 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
21323 		if (!((*le).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA3_;
21324 		x = (*le)._kind_6.sons->data[((NI) 0)];
21325 		{
21326 			if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA7_;
21327 			{
21328 				NIM_BOOL T11_;
21329 				NIM_BOOL T13_;
21330 				tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog T15_;
21331 				T11_ = (NIM_BOOL)0;
21332 				T11_ = ((*(*x)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
21333 				if (!(T11_)) goto LA12_;
21334 				T13_ = (NIM_BOOL)0;
21335 				T13_ = ((*(*x).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*x).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
21336 				if (T13_) goto LA14_;
21337 				T15_ = (tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog)0;
21338 				T15_ = classifyViewType__typeallowed_564((*x).typ);
21339 				T13_ = !((T15_ == ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 0)));
21340 				LA14_: ;
21341 				T11_ = T13_;
21342 				LA12_: ;
21343 				if (!T11_) goto LA16_;
21344 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), x);
21345 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), takeImplicitAddr__sem_17562(c, ri, ((*(*x).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))));
21346 				(*(*x).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
21347 			}
21348 			goto LA9_;
21349 			LA16_: ;
21350 			{
21351 				if (!(((*(*x)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0)) goto LA19_;
21352 				(*(*x).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
21353 			}
21354 			goto LA9_;
21355 			LA19_: ;
21356 			LA9_: ;
21357 		}
21358 		LA7_: ;
21359 	}
21360 	LA3_: ;
21361 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semAsgn__sem_15307)21362 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAsgn__sem_15307)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ mode) {
21363 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
21364 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
21365 	tyObject_TType__facALICuu8zUj0hjvbTLFg* le;
21366 {	result = NIM_NIL;
21367 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
21368 	a = (*n)._kind_6.sons->data[((NI) 0)];
21369 	switch ((*a).kind) {
21370 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
21371 	{
21372 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig;
21373 		nOrig = copyTree__ast_4431(n);
21374 		a = builtinFieldAccess__sem_17178(c, a, 1);
21375 		{
21376 			if (!(a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA4_;
21377 			a = propertyWriteAccess__sem_17538(c, n, nOrig, (*n)._kind_6.sons->data[((NI) 0)]);
21378 			{
21379 				if (!!((a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA8_;
21380 				result = a;
21381 				goto BeforeRet_;
21382 			}
21383 			LA8_: ;
21384 			a = dotTransformation__sem_17303(c, (*n)._kind_6.sons->data[((NI) 0)]);
21385 			{
21386 				if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 25))) goto LA12_;
21387 				transitionSonsKind__ast_4359(a, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 27));
21388 				a = semExprWithType__sem_56(c, a, 1);
21389 			}
21390 			LA12_: ;
21391 		}
21392 		LA4_: ;
21393 	}
21394 	break;
21395 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
21396 	{
21397 		a = semSubscript__sem_15311(c, a, 1);
21398 		{
21399 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T19_;
21400 			if (!(a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA17_;
21401 			T19_ = NIM_NIL;
21402 			T19_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_132));
21403 			result = buildOverloadedSubscripts__sem_17343((*n)._kind_6.sons->data[((NI) 0)], T19_);
21404 			add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 1)]);
21405 			{
21406 				if (!(mode == ((tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ) 1))) goto LA22_;
21407 				bracketNotFoundError__sem_1937(c, result);
21408 				result = n;
21409 				goto BeforeRet_;
21410 			}
21411 			goto LA20_;
21412 			LA22_: ;
21413 			{
21414 				result = semExprNoType__sem_60(c, result);
21415 				goto BeforeRet_;
21416 			}
21417 			LA20_: ;
21418 		}
21419 		LA17_: ;
21420 	}
21421 	break;
21422 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
21423 	{
21424 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T26_;
21425 		T26_ = NIM_NIL;
21426 		T26_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_131));
21427 		result = buildOverloadedSubscripts__sem_17343((*n)._kind_6.sons->data[((NI) 0)], T26_);
21428 		add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 1)]);
21429 		result = semExprNoType__sem_60(c, result);
21430 		goto BeforeRet_;
21431 	}
21432 	break;
21433 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
21434 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
21435 	{
21436 		{
21437 			NI T30_;
21438 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
21439 			T30_ = (NI)0;
21440 			T30_ = len__ast_3198(a);
21441 			if (!(((NI) 2) <= T30_)) goto LA31_;
21442 			T33_ = NIM_NIL;
21443 			T33_ = lowerTupleUnpackingForAsgn__lowerings_206((*c).graph, n, (*c).Sup.idgen, (*(*c).p).owner);
21444 			result = semStmt__sem_84(c, T33_, 0);
21445 			goto BeforeRet_;
21446 		}
21447 		goto LA28_;
21448 		LA31_: ;
21449 		{
21450 			a = semExprWithType__sem_56(c, a, 1);
21451 		}
21452 		LA28_: ;
21453 	}
21454 	break;
21455 	default:
21456 	{
21457 		a = semExprWithType__sem_56(c, a, 1);
21458 	}
21459 	break;
21460 	}
21461 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), a);
21462 	le = (*a).typ;
21463 	{
21464 		if (!(le == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA38_;
21465 		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);
21466 	}
21467 	goto LA36_;
21468 	LA38_: ;
21469 	{
21470 		NIM_BOOL T41_;
21471 		NIM_BOOL T42_;
21472 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T43_;
21473 		tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag T45_;
21474 		NIM_BOOL T47_;
21475 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T48_;
21476 		NimStringDesc* T52_;
21477 		NimStringDesc* T53_;
21478 		T41_ = (NIM_BOOL)0;
21479 		T42_ = (NIM_BOOL)0;
21480 		T43_ = NIM_NIL;
21481 		T43_ = skipTypes__ast_3735(le, TM__rF9caJawfOjYTjsgLVUSGFA_137);
21482 		T42_ = !(((*T43_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)));
21483 		if (!(T42_)) goto LA44_;
21484 		T45_ = (tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag)0;
21485 		T45_ = isAssignable__sem_15001(c, a, NIM_FALSE);
21486 		T42_ = ((17 &((NU8)1<<((NU)(T45_)&7U)))!=0);
21487 		LA44_: ;
21488 		T41_ = T42_;
21489 		if (T41_) goto LA46_;
21490 		T47_ = (NIM_BOOL)0;
21491 		T48_ = NIM_NIL;
21492 		T48_ = skipTypes__ast_3735(le, TM__rF9caJawfOjYTjsgLVUSGFA_228);
21493 		T47_ = ((*T48_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*T48_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
21494 		if (!(T47_)) goto LA49_;
21495 		T47_ = !((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 13))&31U)))!=0));
21496 		LA49_: ;
21497 		T41_ = T47_;
21498 		LA46_: ;
21499 		if (!T41_) goto LA50_;
21500 		T52_ = NIM_NIL;
21501 		T52_ = renderTree__renderer_46(a, 4);
21502 		T53_ = NIM_NIL;
21503 		T53_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_437), T52_);
21504 		liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T53_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_438, NIM_FALSE);
21505 	}
21506 	goto LA36_;
21507 	LA50_: ;
21508 	{
21509 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lhs;
21510 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* rhs;
21511 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T85_;
21512 		lhs = (*n)._kind_6.sons->data[((NI) 0)];
21513 		rhs = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
21514 		{
21515 			NIM_BOOL T57_;
21516 			T57_ = (NIM_BOOL)0;
21517 			T57_ = ((*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
21518 			if (!(T57_)) goto LA58_;
21519 			T57_ = ((*(*lhs)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
21520 			LA58_: ;
21521 			if (!T57_) goto LA59_;
21522 			asgnRef((void**) (&(*n).typ), (*c).enforceVoidContext);
21523 			{
21524 				NIM_BOOL T63_;
21525 				NIM_BOOL T65_;
21526 				tyObject_TType__facALICuu8zUj0hjvbTLFg* rhsTyp;
21527 				T63_ = (NIM_BOOL)0;
21528 				T63_ = !(((*(*(*c).p).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)));
21529 				if (!(T63_)) goto LA64_;
21530 				T65_ = (NIM_BOOL)0;
21531 				T65_ = isMetaType__ast_3495((*(*lhs)._kind_4.sym).typ);
21532 				if (!(T65_)) goto LA66_;
21533 				T65_ = !(((*(*(*lhs)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)));
21534 				LA66_: ;
21535 				T63_ = T65_;
21536 				LA64_: ;
21537 				if (!T63_) goto LA67_;
21538 				rhsTyp = (*rhs).typ;
21539 				{
21540 					NIM_BOOL T71_;
21541 					T71_ = (NIM_BOOL)0;
21542 					T71_ = ((*rhsTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) || (*rhsTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53));
21543 					if (!(T71_)) goto LA72_;
21544 					T71_ = (((*rhsTyp).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0);
21545 					LA72_: ;
21546 					if (!T71_) goto LA73_;
21547 					rhsTyp = lastSon__ast_3743(rhsTyp);
21548 				}
21549 				LA73_: ;
21550 				{
21551 					tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T77_;
21552 					T77_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
21553 					T77_ = cmpTypes__sigmatch_3047(c, (*lhs).typ, rhsTyp);
21554 					if (!((1280 &((NU16)1<<((NU)(T77_)&15U)))!=0)) goto LA78_;
21555 					{
21556 						NimStringDesc* argX60gensym4660_;
21557 						if (!!(!(((*(*c).p).resultSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))))) goto LA82_;
21558 						argX60gensym4660_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_439);
21559 						internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym4660_, TM__rF9caJawfOjYTjsgLVUSGFA_439);
21560 					}
21561 					LA82_: ;
21562 					typeAllowedCheck__sem_481(c, (*n).info, rhsTyp, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11), 0);
21563 					asgnRef((void**) (&(*lhs).typ), rhsTyp);
21564 					asgnRef((void**) (&(*(*(*c).p).resultSym).typ), rhsTyp);
21565 					asgnRef((void**) (&(*(*(*(*c).p).owner).typ).sons->data[((NI) 0)]), rhsTyp);
21566 				}
21567 				goto LA75_;
21568 				LA78_: ;
21569 				{
21570 					typeMismatch__types_3870((*(*c).graph).config, (*n).info, (*lhs).typ, rhsTyp, rhs);
21571 				}
21572 				LA75_: ;
21573 			}
21574 			LA67_: ;
21575 		}
21576 		LA59_: ;
21577 		borrowCheck__sem_17656(c, n, lhs, rhs);
21578 		T85_ = goodLineInfo__sem_17739((*n)._kind_6.sons->data[((NI) 1)]);
21579 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), fitNode__sem_70(c, le, rhs, T85_));
21580 		fixAbstractType__sem_14966(c, n);
21581 		asgnToResultVar__sem_17611(c, n, (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)]);
21582 	}
21583 	LA36_: ;
21584 	result = n;
21585 	}BeforeRet_: ;
21586 	return result;
21587 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semProcBody__sem_67)21588 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semProcBody__sem_67)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
21589 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
21590 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
21591 	result = NIM_NIL;
21592 	T1_ = NIM_NIL;
21593 	T1_ = openScope__lookups_69(c);
21594 	result = semExpr__sem_52(c, n, 0);
21595 	{
21596 		NIM_BOOL T4_;
21597 		NIM_BOOL T6_;
21598 		T4_ = (NIM_BOOL)0;
21599 		T4_ = !(((*(*c).p).resultSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
21600 		if (!(T4_)) goto LA5_;
21601 		T6_ = (NIM_BOOL)0;
21602 		T6_ = isEmptyType__ast_4779((*result).typ);
21603 		T4_ = !(T6_);
21604 		LA5_: ;
21605 		if (!T4_) goto LA7_;
21606 		{
21607 			if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA11_;
21608 			asgnRef((void**) (&(*result).typ), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
21609 		}
21610 		goto LA9_;
21611 		LA11_: ;
21612 		{
21613 			NIM_BOOL T14_;
21614 			T14_ = (NIM_BOOL)0;
21615 			T14_ = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
21616 			if (!(T14_)) goto LA15_;
21617 			T14_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5));
21618 			LA15_: ;
21619 			if (!T14_) goto LA16_;
21620 			fixNilType__sem_9307(c, result);
21621 		}
21622 		goto LA9_;
21623 		LA16_: ;
21624 		{
21625 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
21626 			a = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*n).info, ((NI) 2));
21627 			asgnRef((void**) (&(*a)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716((*(*c).p).resultSym));
21628 			asgnRef((void**) (&(*a)._kind_6.sons->data[((NI) 1)]), result);
21629 			result = semAsgn__sem_15307(c, a, ((tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ) 0));
21630 		}
21631 		LA9_: ;
21632 	}
21633 	goto LA2_;
21634 	LA7_: ;
21635 	{
21636 		discardCheck__sem_9323(c, result, 0);
21637 	}
21638 	LA2_: ;
21639 	{
21640 		NIM_BOOL T22_;
21641 		NIM_BOOL T23_;
21642 		T22_ = (NIM_BOOL)0;
21643 		T23_ = (NIM_BOOL)0;
21644 		T23_ = !(((393216 &((NU32)1<<((NU)((*(*(*c).p).owner).kind)&31U)))!=0));
21645 		if (!(T23_)) goto LA24_;
21646 		T23_ = !(((*(*c).p).resultSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
21647 		LA24_: ;
21648 		T22_ = T23_;
21649 		if (!(T22_)) goto LA25_;
21650 		T22_ = isMetaType__ast_3495((*(*(*c).p).resultSym).typ);
21651 		LA25_: ;
21652 		if (!T22_) goto LA26_;
21653 		{
21654 			NIM_BOOL T30_;
21655 			T30_ = (NIM_BOOL)0;
21656 			T30_ = isEmptyType__ast_4779((*result).typ);
21657 			if (!T30_) goto LA31_;
21658 			asgnRef((void**) (&(*(*(*c).p).resultSym).typ), errorType__semdata_1002(c));
21659 			asgnRef((void**) (&(*(*(*(*c).p).owner).typ).sons->data[((NI) 0)]), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
21660 		}
21661 		goto LA28_;
21662 		LA31_: ;
21663 		{
21664 			NimStringDesc* T34_;
21665 			T34_ = NIM_NIL;
21666 			T34_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_453), (*(*(*(*c).p).owner).name).s);
21667 			liMessage__msgs_1118((*(*c).graph).config, (*(*(*c).p).resultSym).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T34_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_454, NIM_FALSE);
21668 		}
21669 		LA28_: ;
21670 	}
21671 	LA26_: ;
21672 	{
21673 		NIM_BOOL T37_;
21674 		NIM_BOOL T38_;
21675 		NimStringDesc* T43_;
21676 		T37_ = (NIM_BOOL)0;
21677 		T38_ = (NIM_BOOL)0;
21678 		T38_ = isInlineIterator__ast_4989((*(*(*c).p).owner).typ);
21679 		if (!(T38_)) goto LA39_;
21680 		T38_ = !(((*(*(*(*c).p).owner).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
21681 		LA39_: ;
21682 		T37_ = T38_;
21683 		if (!(T37_)) goto LA40_;
21684 		T37_ = ((*(*(*(*(*c).p).owner).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
21685 		LA40_: ;
21686 		if (!T37_) goto LA41_;
21687 		T43_ = NIM_NIL;
21688 		T43_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_453), (*(*(*(*c).p).owner).name).s);
21689 		liMessage__msgs_1118((*(*c).graph).config, (*(*(*c).p).owner).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T43_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_455, NIM_FALSE);
21690 	}
21691 	LA41_: ;
21692 	closeScope__lookups_101(c);
21693 	return result;
21694 }
N_NIMCALL(void,instantiateBody__sem_1028)21695 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) {
21696 	{
21697 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* procParams;
21698 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
21699 		tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q symMap;
21700 		if (!!(((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
21701 		procParams = (*(*result).typ).n;
21702 		{
21703 			NI i;
21704 			NI colontmp_;
21705 			NI i_2;
21706 			i = (NI)0;
21707 			colontmp_ = (NI)0;
21708 			colontmp_ = len__ast_3198(procParams);
21709 			i_2 = ((NI) 1);
21710 			{
21711 				while (1) {
21712 					if (!(i_2 < colontmp_)) goto LA7;
21713 					i = i_2;
21714 					addDecl__lookups_845(c, (*(*procParams)._kind_6.sons->data[i])._kind_4.sym);
21715 					i_2 += ((NI) 1);
21716 				} LA7: ;
21717 			}
21718 		}
21719 		maybeAddResult__sem_100(c, result, (*result).ast);
21720 		(*c).inGenericInst += ((NI) 1);
21721 		b = (*n)._kind_6.sons->data[((NI) 6)];
21722 		nimZeroMem((void*)(&symMap), sizeof(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q));
21723 		initIdTable__ast_4096((&symMap));
21724 		{
21725 			if (!!((params == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA10_;
21726 			{
21727 				NI i_3;
21728 				NI colontmp__2;
21729 				NI i_4;
21730 				i_3 = (NI)0;
21731 				colontmp__2 = (NI)0;
21732 				colontmp__2 = len__ast_3198(params);
21733 				i_4 = ((NI) 1);
21734 				{
21735 					while (1) {
21736 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
21737 						if (!(i_4 < colontmp__2)) goto LA14;
21738 						i_3 = i_4;
21739 						param = (*(*params)._kind_6.sons->data[i_3])._kind_4.sym;
21740 						{
21741 							if (!(((*param).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0)) goto LA17_;
21742 							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)))));
21743 						}
21744 						LA17_: ;
21745 						i_4 += ((NI) 1);
21746 					} LA14: ;
21747 				}
21748 			}
21749 		}
21750 		LA10_: ;
21751 		freshGenSyms__sem_990(c, b, result, orig, (&symMap));
21752 		b = semProcBody__sem_67(c, b);
21753 		asgnRef((void**) (&(*(*result).ast)._kind_6.sons->data[((NI) 6)]), hloBody__sem_783(c, b));
21754 		(*result).flags &= ~(((NU64)1) << ((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4)) & 63));
21755 		trackProc__sempass50_4692(c, result, (*(*result).ast)._kind_6.sons->data[((NI) 6)]);
21756 		(*c).inGenericInst -= ((NI) 1);
21757 	}
21758 	LA3_: ;
21759 }
N_INLINE(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,pop__icZic_2460)21760 static N_INLINE(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, pop__icZic_2460)(tySequence__eHqUwlHGGaPw0TDPDeL79cQ** s) {
21761 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
21762 	NI L;
21763 	NI T1_;
21764 	result = NIM_NIL;
21765 	T1_ = ((*s) ? (*s)->Sup.len : 0);
21766 	L = (NI)(T1_ - ((NI) 1));
21767 	result = (*s)->data[L];
21768 	unsureAsgnRef((void**) (&(*s)), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) setLengthSeqV2(&((*s))->Sup, (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_), ((NI) (L))));
21769 	return result;
21770 }
N_NIMCALL(void,finishMethod__sem_114)21771 N_LIB_PRIVATE N_NIMCALL(void, finishMethod__sem_114)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
21772 	{
21773 		NIM_BOOL T3_;
21774 		T3_ = (NIM_BOOL)0;
21775 		T3_ = hasObjParam__sem_12972(s);
21776 		if (!T3_) goto LA4_;
21777 		methodDef__cgmeth_263((*c).graph, (*c).Sup.idgen, s);
21778 	}
21779 	LA4_: ;
21780 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,generateInstance__sem_1295)21781 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) {
21782 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
21783 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
21784 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T9_;
21785 	NI T10_;
21786 	tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* oldMatchedConcept;
21787 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* oldScope;
21788 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T14_;
21789 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T15_;
21790 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T16_;
21791 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp;
21792 	tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* entry;
21793 	NI i;
21794 	NI T21_;
21795 	NI T22_;
21796 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* oldPrc;
21797 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T100_;
21798 	result = NIM_NIL;
21799 	{
21800 		NimStringDesc* argX60gensym213_;
21801 		if (!!(!(((393216 &((NU32)1<<((NU)((*fn).kind)&31U)))!=0)))) goto LA3_;
21802 		argX60gensym213_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_74);
21803 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym213_, TM__rF9caJawfOjYTjsgLVUSGFA_74);
21804 	}
21805 	LA3_: ;
21806 	{
21807 		if (!(((NI) 50) < (*c).instCounter)) goto LA7_;
21808 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_76), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_77, NIM_FALSE);
21809 	}
21810 	LA7_: ;
21811 	(*c).instCounter += ((NI) 1);
21812 	n = copyTree__ast_4431((*fn).ast);
21813 	T9_ = NIM_NIL;
21814 	T9_ = getModule__astalgo_216(fn);
21815 	asgnRef((void**) (&(*c).friendModules), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*c).friendModules), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
21816 	T10_ = (*c).friendModules->Sup.len++;
21817 	asgnRef((void**) (&(*c).friendModules->data[T10_]), T9_);
21818 	oldMatchedConcept = (*c).matchedConcept;
21819 	(*c).matchedConcept = ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL);
21820 	oldScope = (*c).currentScope;
21821 	{
21822 		while (1) {
21823 			NIM_BOOL T13_;
21824 			T13_ = (NIM_BOOL)0;
21825 			T13_ = isTopLevel__semdata_1091(c);
21826 			if (!!(T13_)) goto LA12;
21827 			asgnRef((void**) (&(*c).currentScope), (*(*c).currentScope).parent);
21828 		} LA12: ;
21829 	}
21830 	T14_ = nextSymId__ast_3132((*c).Sup.idgen);
21831 	result = copySym__ast_4054(fn, T14_);
21832 	(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2)) & 63);
21833 	asgnRef((void**) (&(*result).owner), fn);
21834 	asgnRef((void**) (&(*result).ast), n);
21835 	pushOwner__semdata_322(c, result);
21836 	T15_ = NIM_NIL;
21837 	T15_ = openScope__lookups_69(c);
21838 	fillMixinScope__sem_1283(c);
21839 	T16_ = NIM_NIL;
21840 	T16_ = openScope__lookups_69(c);
21841 	gp = (*n)._kind_6.sons->data[((NI) 2)];
21842 	{
21843 		NimStringDesc* argX60gensym221_;
21844 		if (!!(((*gp).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75)))) goto LA19_;
21845 		argX60gensym221_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_78);
21846 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym221_, TM__rF9caJawfOjYTjsgLVUSGFA_78);
21847 	}
21848 	LA19_: ;
21849 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(result));
21850 	pushInfoContext__msgs_490((*(*c).graph).config, info, (*(*fn).name).s);
21851 	entry = new__sem_1335();
21852 	asgnRef((void**) (&(*entry).sym), result);
21853 	i = ((NI) 0);
21854 	T21_ = (NI)0;
21855 	T21_ = len__ast_4002((*fn).typ);
21856 	T22_ = (NI)0;
21857 	T22_ = len__ast_3198(gp);
21858 	if ((*entry).concreteTypes) { nimGCunrefRC1((*entry).concreteTypes); (*entry).concreteTypes = NIM_NIL; }
21859 	(*entry).concreteTypes = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeqRC1((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), ((NI) ((NI)((NI)(T21_ + T22_) - ((NI) 1)))));
21860 	{
21861 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
21862 		s = NIM_NIL;
21863 		{
21864 			NimStringDesc* argX60gensym132_;
21865 			if (!!(((*gp).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75)))) goto LA26_;
21866 			argX60gensym132_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_79);
21867 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym132_, TM__rF9caJawfOjYTjsgLVUSGFA_79);
21868 		}
21869 		LA26_: ;
21870 		{
21871 			NI i_2;
21872 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
21873 			i_2 = (NI)0;
21874 			a = NIM_NIL;
21875 			{
21876 				NI i_3;
21877 				NI colontmp_;
21878 				NI i_4;
21879 				i_3 = (NI)0;
21880 				colontmp_ = (NI)0;
21881 				colontmp_ = safeLen__ast_3191(gp);
21882 				i_4 = ((NI) 0);
21883 				{
21884 					while (1) {
21885 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* q;
21886 						if (!(i_4 < colontmp_)) goto LA31;
21887 						i_3 = i_4;
21888 						i_2 = i_3;
21889 						a = (*gp)._kind_6.sons->data[i_3];
21890 						{
21891 							NimStringDesc* argX60gensym135_;
21892 							if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA34_;
21893 							argX60gensym135_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_80);
21894 							internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym135_, TM__rF9caJawfOjYTjsgLVUSGFA_80);
21895 						}
21896 						LA34_: ;
21897 						q = (*a)._kind_4.sym;
21898 						{
21899 							tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind;
21900 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
21901 							tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T45_;
21902 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T46_;
21903 							tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
21904 							RootObj* T47_;
21905 							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_;
21906 							{
21907 								if (!((*(*q).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA42_;
21908 								symKind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10);
21909 							}
21910 							goto LA40_;
21911 							LA42_: ;
21912 							{
21913 								symKind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7);
21914 							}
21915 							LA40_: ;
21916 							T45_ = nextSymId__ast_3132((*c).Sup.idgen);
21917 							T46_ = NIM_NIL;
21918 							T46_ = getCurrOwner__semdata_315(c);
21919 							s_2 = newSym__ast_3445(symKind, (*q).name, T45_, T46_, (*q).info, 0);
21920 							(*s_2).flags = ((*s_2).flags | 5);
21921 							T47_ = NIM_NIL;
21922 							T47_ = idTableGet__astalgo_64(pt, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*q).typ)))));
21923 							t = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T47_));
21924 							{
21925 								if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA50_;
21926 								{
21927 									if (!(((*(*q).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 11))&63U)))!=0)) goto LA54_;
21928 									t = (*q).typ;
21929 								}
21930 								goto LA52_;
21931 								LA54_: ;
21932 								{
21933 									NimStringDesc* T57_;
21934 									T57_ = NIM_NIL;
21935 									T57_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_81), (*(*s_2).name).s);
21936 									liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T57_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_82, NIM_FALSE);
21937 									t = errorType__semdata_1002(c);
21938 								}
21939 								LA52_: ;
21940 							}
21941 							goto LA48_;
21942 							LA50_: ;
21943 							{
21944 								NimStringDesc* T61_;
21945 								if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62))) goto LA59_;
21946 								T61_ = NIM_NIL;
21947 								T61_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_81), (*(*q).name).s);
21948 								liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T61_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_83, NIM_FALSE);
21949 								t = errorType__semdata_1002(c);
21950 							}
21951 							goto LA48_;
21952 							LA59_: ;
21953 							{
21954 								if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA63_;
21955 								t = generateTypeInstance__semtypinst_1050(c, pt, (*a).info, t);
21956 							}
21957 							goto LA48_;
21958 							LA63_: ;
21959 							LA48_: ;
21960 							asgnRef((void**) (&(*s_2).typ), t);
21961 							{
21962 								if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA67_;
21963 								asgnRef((void**) (&(*s_2).ast), (*t).n);
21964 							}
21965 							LA67_: ;
21966 							s = s_2;
21967 							addDecl__lookups_845(c, s);
21968 							asgnRef((void**) (&(*entry).concreteTypes->data[i]), (*s).typ);
21969 							i += ((NI) 1);
21970 						}
21971 						LA38_: ;
21972 						i_4 += ((NI) 1);
21973 					} LA31: ;
21974 				}
21975 			}
21976 		}
21977 	}
21978 	rawPushProcCon__sem_849(c, result);
21979 	instantiateProcType__sem_1187(c, pt, result, info);
21980 	{
21981 		NI j;
21982 		NI colontmp__2;
21983 		NI i_5;
21984 		j = (NI)0;
21985 		colontmp__2 = (NI)0;
21986 		colontmp__2 = len__ast_4002((*result).typ);
21987 		i_5 = ((NI) 1);
21988 		{
21989 			while (1) {
21990 				if (!(i_5 < colontmp__2)) goto LA71;
21991 				j = i_5;
21992 				asgnRef((void**) (&(*entry).concreteTypes->data[i]), (*(*result).typ).sons->data[j]);
21993 				i += ((NI) 1);
21994 				i_5 += ((NI) 1);
21995 			} LA71: ;
21996 		}
21997 	}
21998 	{
21999 		if (!(((*(*result).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 33))&63U)))!=0)) goto LA74_;
22000 		(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28)) & 63);
22001 	}
22002 	LA74_: ;
22003 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), (*(*c).graph).emptyNode);
22004 	oldPrc = genericCacheGet__sem_983((*c).graph, fn, (*entry), (*c).compilesContextId);
22005 	{
22006 		tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ T80_;
22007 		NI T81_;
22008 		if (!(oldPrc == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA78_;
22009 		rawHandleSelf__sem_865(c, result);
22010 		(*entry).compilesId = (*c).compilesContextId;
22011 		addToGenericProcCache__semdata_1185(c, fn, entry);
22012 		nimZeroMem((void*)(&T80_), sizeof(tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ));
22013 		makeInstPair__semdata_297(fn, entry, (&T80_));
22014 		asgnRef((void**) (&(*c).generics), (tySequence__jWKvSdankQPoT5bw9cBU9aiw*) incrSeqV3((TGenericSeq*)((*c).generics), (&NTIseqLtinstantiationpairT__jWKvSdankQPoT5bw9cBU9aiw_)));
22015 		T81_ = (*c).generics->Sup.len++;
22016 		asgnRef((void**) (&(*c).generics->data[T81_].genericSym), T80_.genericSym);
22017 		asgnRef((void**) (&(*c).generics->data[T81_].inst), T80_.inst);
22018 		{
22019 			if (!!(((*(*n)._kind_6.sons->data[((NI) 4)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA84_;
22020 			pragma__pragmas_123(c, result, (*n)._kind_6.sons->data[((NI) 4)], TM__rF9caJawfOjYTjsgLVUSGFA_98, NIM_FALSE);
22021 		}
22022 		LA84_: ;
22023 		{
22024 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T90_;
22025 			if (!((*n)._kind_6.sons->data[((NI) 6)] == 0)) goto LA88_;
22026 			T90_ = NIM_NIL;
22027 			T90_ = getBody__modulegraphs_11241((*c).graph, fn);
22028 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), copyTree__ast_4431(T90_));
22029 		}
22030 		LA88_: ;
22031 		{
22032 			if (!((*c).inGenericContext == ((NI) 0))) goto LA93_;
22033 			instantiateBody__sem_1028(c, n, (*(*fn).typ).n, result, fn);
22034 		}
22035 		LA93_: ;
22036 		sideEffectsCheck__sem_1122(c, result);
22037 		{
22038 			if (!!(((*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 126) || (*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 18)))) goto LA97_;
22039 			paramsTypeCheck__sem_505(c, (*result).typ);
22040 		}
22041 		LA97_: ;
22042 	}
22043 	goto LA76_;
22044 	LA78_: ;
22045 	{
22046 		result = oldPrc;
22047 	}
22048 	LA76_: ;
22049 	popProcCon__semdata_389(c);
22050 	popInfoContext__msgs_507((*(*c).graph).config);
22051 	closeScope__lookups_101(c);
22052 	closeScope__lookups_101(c);
22053 	popOwner__semdata_329(c);
22054 	asgnRef((void**) (&(*c).currentScope), oldScope);
22055 	T100_ = NIM_NIL;
22056 	T100_ = pop__icZic_2460((&(*c).friendModules));
22057 	(void)(T100_);
22058 	(*c).instCounter -= ((NI) 1);
22059 	(*c).matchedConcept = oldMatchedConcept;
22060 	{
22061 		if (!((*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14))) goto LA103_;
22062 		finishMethod__sem_114(c, result);
22063 	}
22064 	LA103_: ;
22065 	return result;
22066 }
N_NIMCALL(void,instGenericConvertersArg__sem_2292)22067 N_LIB_PRIVATE N_NIMCALL(void, instGenericConvertersArg__sem_2292)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* x) {
22068 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
22069 	{
22070 		if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA3_;
22071 		a_2 = (*a)._kind_6.sons->data[((NI) 0)];
22072 	}
22073 	goto LA1_;
22074 	LA3_: ;
22075 	{
22076 		a_2 = a;
22077 	}
22078 	LA1_: ;
22079 	{
22080 		NIM_BOOL T8_;
22081 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
22082 		T8_ = (NIM_BOOL)0;
22083 		T8_ = ((*a_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
22084 		if (!(T8_)) goto LA9_;
22085 		T8_ = ((*(*a_2)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
22086 		LA9_: ;
22087 		if (!T8_) goto LA10_;
22088 		s = (*(*a_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
22089 		{
22090 			NIM_BOOL T14_;
22091 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* finalCallee;
22092 			T14_ = (NIM_BOOL)0;
22093 			T14_ = isGenericRoutineStrict__ast_4639(s);
22094 			if (!T14_) goto LA15_;
22095 			finalCallee = generateInstance__sem_1295(c, s, (*x).bindings, (*a_2).info);
22096 			asgnRef((void**) (&(*(*a_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym), finalCallee);
22097 			asgnRef((void**) (&(*(*a_2)._kind_6.sons->data[((NI) 0)]).typ), (*finalCallee).typ);
22098 		}
22099 		LA15_: ;
22100 	}
22101 	LA10_: ;
22102 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,indexTypesMatch__sem_120)22103 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) {
22104 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22105 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
22106 	result = NIM_NIL;
22107 	nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
22108 	newCandidate__sigmatch_195(c, f, (&m));
22109 	result = paramTypesMatch__sigmatch_3583((&m), f, a, arg, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
22110 	{
22111 		NIM_BOOL T3_;
22112 		T3_ = (NIM_BOOL)0;
22113 		T3_ = m.genericConverter;
22114 		if (!(T3_)) goto LA4_;
22115 		T3_ = !((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
22116 		LA4_: ;
22117 		if (!T3_) goto LA5_;
22118 		instGenericConvertersArg__sem_2292(c, result, (&m));
22119 	}
22120 	LA5_: ;
22121 	return result;
22122 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,fitNode__sem_70)22123 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) {
22124 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22125 {	result = NIM_NIL;
22126 	{
22127 		NimStringDesc* T5_;
22128 		NimStringDesc* T6_;
22129 		if (!((*arg).typ == 0)) goto LA3_;
22130 		T5_ = NIM_NIL;
22131 		T6_ = NIM_NIL;
22132 		T6_ = renderTree__renderer_46(arg, 4);
22133 		T5_ = rawNewString((T6_ ? T6_->Sup.len : 0) + 24);
22134 appendString(T5_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_68));
22135 appendString(T5_, T6_);
22136 		liMessage__msgs_1118((*(*c).graph).config, (*arg).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T5_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_69, NIM_FALSE);
22137 		result = copyTree__ast_4431(arg);
22138 		asgnRef((void**) (&(*result).typ), formal);
22139 	}
22140 	goto LA1_;
22141 	LA3_: ;
22142 	{
22143 		NIM_BOOL T8_;
22144 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
22145 		T8_ = (NIM_BOOL)0;
22146 		T8_ = ((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57));
22147 		if (!(T8_)) goto LA9_;
22148 		T10_ = NIM_NIL;
22149 		T10_ = skipTypes__ast_3735(formal, TM__rF9caJawfOjYTjsgLVUSGFA_70);
22150 		T8_ = ((*T10_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
22151 		LA9_: ;
22152 		if (!T8_) goto LA11_;
22153 		{
22154 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ch;
22155 			ch = NIM_NIL;
22156 			{
22157 				NI i;
22158 				NI colontmp_;
22159 				NI i_2;
22160 				i = (NI)0;
22161 				colontmp_ = (NI)0;
22162 				colontmp_ = safeLen__ast_3191(arg);
22163 				i_2 = ((NI) 0);
22164 				{
22165 					while (1) {
22166 						if (!(i_2 < colontmp_)) goto LA16;
22167 						i = i_2;
22168 						ch = (*arg)._kind_6.sons->data[i];
22169 						{
22170 							NIM_BOOL T19_;
22171 							T19_ = (NIM_BOOL)0;
22172 							T19_ = sameType__types_1824((*ch).typ, formal, 0);
22173 							if (!T19_) goto LA20_;
22174 							result = getConstExpr__semfold_81((*c).module, ch, (*c).Sup.idgen, (*c).graph);
22175 							goto BeforeRet_;
22176 						}
22177 						LA20_: ;
22178 						i_2 += ((NI) 1);
22179 					} LA16: ;
22180 				}
22181 			}
22182 		}
22183 		typeMismatch__types_3870((*(*c).graph).config, info, formal, (*arg).typ, arg);
22184 	}
22185 	goto LA1_;
22186 	LA11_: ;
22187 	{
22188 		result = indexTypesMatch__sem_120(c, formal, (*arg).typ, arg);
22189 		{
22190 			if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA25_;
22191 			typeMismatch__types_3870((*(*c).graph).config, info, formal, (*arg).typ, arg);
22192 			result = copyTree__ast_4431(arg);
22193 			asgnRef((void**) (&(*result).typ), formal);
22194 		}
22195 		goto LA23_;
22196 		LA25_: ;
22197 		{
22198 			result = fitNodePostMatch__sem_164(c, formal, result);
22199 		}
22200 		LA23_: ;
22201 	}
22202 	LA1_: ;
22203 	}BeforeRet_: ;
22204 	return result;
22205 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,forceBool__sem_2869)22206 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, forceBool__sem_2869)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
22207 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22208 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
22209 	result = NIM_NIL;
22210 	T1_ = NIM_NIL;
22211 	T1_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
22212 	result = fitNode__sem_70(c, T1_, n, (*n).info);
22213 	{
22214 		if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA4_;
22215 		result = n;
22216 	}
22217 	LA4_: ;
22218 	return result;
22219 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConstBoolExpr__sem_2877)22220 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConstBoolExpr__sem_2877)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
22221 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22222 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
22223 	result = NIM_NIL;
22224 	T1_ = NIM_NIL;
22225 	T1_ = semConstExpr__sem_611(c, n);
22226 	result = forceBool__sem_2869(c, T1_);
22227 	{
22228 		if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA4_;
22229 		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);
22230 	}
22231 	LA4_: ;
22232 	return result;
22233 }
N_INLINE(NIM_BOOL,isRange__trees_213)22234 static N_INLINE(NIM_BOOL, isRange__trees_213)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
22235 	NIM_BOOL result;
22236 	result = (NIM_BOOL)0;
22237 	{
22238 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* callee;
22239 		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_;
22240 		callee = (*n)._kind_6.sons->data[((NI) 0)];
22241 		{
22242 			NIM_BOOL T7_;
22243 			NIM_BOOL T8_;
22244 			NIM_BOOL T9_;
22245 			NIM_BOOL T12_;
22246 			NIM_BOOL T15_;
22247 			T7_ = (NIM_BOOL)0;
22248 			T8_ = (NIM_BOOL)0;
22249 			T9_ = (NIM_BOOL)0;
22250 			T9_ = ((*callee).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
22251 			if (!(T9_)) goto LA10_;
22252 			T9_ = ((*(*callee)._kind_5.ident).id == ((NI) 71));
22253 			LA10_: ;
22254 			T8_ = T9_;
22255 			if (T8_) goto LA11_;
22256 			T12_ = (NIM_BOOL)0;
22257 			T12_ = ((*callee).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
22258 			if (!(T12_)) goto LA13_;
22259 			T12_ = ((*(*(*callee)._kind_4.sym).name).id == ((NI) 71));
22260 			LA13_: ;
22261 			T8_ = T12_;
22262 			LA11_: ;
22263 			T7_ = T8_;
22264 			if (T7_) goto LA14_;
22265 			T15_ = (NIM_BOOL)0;
22266 			T15_ = ((*callee).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*callee).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57));
22267 			if (!(T15_)) goto LA16_;
22268 			T15_ = ((*(*(*(*callee)._kind_6.sons->data[((NI) 1)])._kind_4.sym).name).id == ((NI) 71));
22269 			LA16_: ;
22270 			T7_ = T15_;
22271 			LA14_: ;
22272 			if (!T7_) goto LA17_;
22273 			result = NIM_TRUE;
22274 		}
22275 		LA17_: ;
22276 	}
22277 	LA3_: ;
22278 	return result;
22279 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semBranchRange__sem_3747)22280 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) {
22281 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22282 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ac;
22283 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bc;
22284 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* at;
22285 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
22286 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bt;
22287 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
22288 	result = NIM_NIL;
22289 	checkMinSonsLen__semdata_1084(t, ((NI) 1), (*(*c).graph).config);
22290 	ac = semConstExpr__sem_611(c, a);
22291 	bc = semConstExpr__sem_611(c, b);
22292 	T1_ = NIM_NIL;
22293 	T1_ = fitNode__sem_70(c, (*(*t)._kind_6.sons->data[((NI) 0)]).typ, ac, (*ac).info);
22294 	at = skipConvTakeType__types_3623(T1_);
22295 	T2_ = NIM_NIL;
22296 	T2_ = fitNode__sem_70(c, (*(*t)._kind_6.sons->data[((NI) 0)]).typ, bc, (*bc).info);
22297 	bt = skipConvTakeType__types_3623(T2_);
22298 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44), (*a).info);
22299 	add__ast_4797(result, at);
22300 	add__ast_4797(result, bt);
22301 	{
22302 		NIM_BOOL T5_;
22303 		T5_ = (NIM_BOOL)0;
22304 		T5_ = emptyRange__nimsets_273(ac, bc);
22305 		if (!T5_) goto LA6_;
22306 		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);
22307 	}
22308 	goto LA3_;
22309 	LA6_: ;
22310 	{
22311 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T9_;
22312 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T10_;
22313 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T11_;
22314 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T12_;
22315 		T9_ = getOrdValue__types_161(bc, Max__int495056_27);
22316 		T10_ = plus___int495056_448((*covered), T9_);
22317 		T11_ = plus___int495056_794(T10_, IL64(1));
22318 		T12_ = getOrdValue__types_161(ac, Max__int495056_27);
22319 		(*covered) = minus___int495056_474(T11_, T12_);
22320 	}
22321 	LA3_: ;
22322 	return result;
22323 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semCaseBranchRange__sem_3768)22324 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) {
22325 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22326 	result = NIM_NIL;
22327 	checkSonsLen__semdata_1077(b, ((NI) 3), (*(*c).graph).config);
22328 	result = semBranchRange__sem_3747(c, t, (*b)._kind_6.sons->data[((NI) 1)], (*b)._kind_6.sons->data[((NI) 2)], covered);
22329 	return result;
22330 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semCaseBranchSetElem__sem_3776)22331 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) {
22332 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22333 	result = NIM_NIL;
22334 	{
22335 		NIM_BOOL T3_;
22336 		T3_ = (NIM_BOOL)0;
22337 		T3_ = isRange__trees_213(b);
22338 		if (!T3_) goto LA4_;
22339 		checkSonsLen__semdata_1077(b, ((NI) 3), (*(*c).graph).config);
22340 		result = semBranchRange__sem_3747(c, t, (*b)._kind_6.sons->data[((NI) 1)], (*b)._kind_6.sons->data[((NI) 2)], covered);
22341 	}
22342 	goto LA1_;
22343 	LA4_: ;
22344 	{
22345 		if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA7_;
22346 		checkSonsLen__semdata_1077(b, ((NI) 2), (*(*c).graph).config);
22347 		result = semBranchRange__sem_3747(c, t, (*b)._kind_6.sons->data[((NI) 0)], (*b)._kind_6.sons->data[((NI) 1)], covered);
22348 	}
22349 	goto LA1_;
22350 	LA7_: ;
22351 	{
22352 		result = fitNode__sem_70(c, (*(*t)._kind_6.sons->data[((NI) 0)]).typ, b, (*b).info);
22353 		inc__int495056_251(covered, ((NU32) 1));
22354 	}
22355 	LA1_: ;
22356 	return result;
22357 }
N_NIMCALL(void,checkForOverlap__sem_3723)22358 N_LIB_PRIVATE N_NIMCALL(void, checkForOverlap__sem_3723)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, NI currentEx, NI branchIndex) {
22359 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex;
22360 	ex = skipConv__types_3597((*(*t)._kind_6.sons->data[branchIndex])._kind_6.sons->data[currentEx]);
22361 	{
22362 		NI i;
22363 		NI res;
22364 		i = (NI)0;
22365 		res = ((NI) 1);
22366 		{
22367 			while (1) {
22368 				if (!(res <= branchIndex)) goto LA3;
22369 				i = res;
22370 				{
22371 					NI j;
22372 					NI colontmp_;
22373 					NI T5_;
22374 					NI i_2;
22375 					j = (NI)0;
22376 					colontmp_ = (NI)0;
22377 					T5_ = (NI)0;
22378 					T5_ = len__ast_3198((*t)._kind_6.sons->data[i]);
22379 					colontmp_ = (NI)(T5_ - ((NI) 1));
22380 					i_2 = ((NI) 0);
22381 					{
22382 						while (1) {
22383 							if (!(i_2 < colontmp_)) goto LA7;
22384 							j = i_2;
22385 							{
22386 								NIM_BOOL T10_;
22387 								T10_ = (NIM_BOOL)0;
22388 								T10_ = (i == branchIndex);
22389 								if (!(T10_)) goto LA11_;
22390 								T10_ = (j == currentEx);
22391 								LA11_: ;
22392 								if (!T10_) goto LA12_;
22393 								goto LA4;
22394 							}
22395 							LA12_: ;
22396 							{
22397 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
22398 								NIM_BOOL T17_;
22399 								T16_ = NIM_NIL;
22400 								T16_ = skipConv__types_3597((*(*t)._kind_6.sons->data[i])._kind_6.sons->data[j]);
22401 								T17_ = (NIM_BOOL)0;
22402 								T17_ = overlap__nimsets_40(T16_, ex);
22403 								if (!T17_) goto LA18_;
22404 								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);
22405 							}
22406 							LA18_: ;
22407 							i_2 += ((NI) 1);
22408 						} LA7: ;
22409 					}
22410 				} LA4: ;
22411 				res += ((NI) 1);
22412 			} LA3: ;
22413 		}
22414 	}
22415 }
N_NIMCALL(void,semCaseBranch__sem_3791)22416 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) {
22417 	NI lastIndex;
22418 	NI T1_;
22419 {	T1_ = (NI)0;
22420 	T1_ = len__ast_3198(branch);
22421 	lastIndex = (NI)(T1_ - ((NI) 2));
22422 	{
22423 		NI i;
22424 		NI res;
22425 		i = (NI)0;
22426 		res = ((NI) 0);
22427 		{
22428 			while (1) {
22429 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
22430 				if (!(res <= lastIndex)) goto LA4;
22431 				i = res;
22432 				b = (*branch)._kind_6.sons->data[i];
22433 				{
22434 					if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA7_;
22435 					asgnRef((void**) (&(*branch)._kind_6.sons->data[i]), b);
22436 				}
22437 				goto LA5_;
22438 				LA7_: ;
22439 				{
22440 					NIM_BOOL T10_;
22441 					T10_ = (NIM_BOOL)0;
22442 					T10_ = isRange__trees_213(b);
22443 					if (!T10_) goto LA11_;
22444 					asgnRef((void**) (&(*branch)._kind_6.sons->data[i]), semCaseBranchRange__sem_3768(c, t, b, covered));
22445 				}
22446 				goto LA5_;
22447 				LA11_: ;
22448 				{
22449 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
22450 					r = semConstExpr__sem_611(c, b);
22451 					{
22452 						NIM_BOOL T16_;
22453 						NIM_BOOL T17_;
22454 						NI T19_;
22455 						NI T21_;
22456 						T16_ = (NIM_BOOL)0;
22457 						T17_ = (NIM_BOOL)0;
22458 						T17_ = ((*r).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39) || (*r).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41));
22459 						if (!(T17_)) goto LA18_;
22460 						T19_ = (NI)0;
22461 						T19_ = len__ast_3198(r);
22462 						T17_ = (T19_ == ((NI) 0));
22463 						LA18_: ;
22464 						T16_ = T17_;
22465 						if (!(T16_)) goto LA20_;
22466 						T21_ = (NI)0;
22467 						T21_ = len__ast_3198(branch);
22468 						T16_ = (T21_ == ((NI) 2));
22469 						LA20_: ;
22470 						if (!T16_) goto LA22_;
22471 						delSon__ast_4313(branch, ((NI) 0));
22472 						goto BeforeRet_;
22473 					}
22474 					goto LA14_;
22475 					LA22_: ;
22476 					{
22477 						NIM_BOOL T25_;
22478 						NI T27_;
22479 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmp;
22480 						T25_ = (NIM_BOOL)0;
22481 						T25_ = !(((*r).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39) || (*r).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41)));
22482 						if (T25_) goto LA26_;
22483 						T27_ = (NI)0;
22484 						T27_ = len__ast_3198(r);
22485 						T25_ = (T27_ == ((NI) 0));
22486 						LA26_: ;
22487 						if (!T25_) goto LA28_;
22488 						checkMinSonsLen__semdata_1084(t, ((NI) 1), (*(*c).graph).config);
22489 						tmp = fitNode__sem_70(c, (*(*t)._kind_6.sons->data[((NI) 0)]).typ, r, (*r).info);
22490 						{
22491 							if (!((*tmp).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA32_;
22492 							tmp = semConstExpr__sem_611(c, tmp);
22493 						}
22494 						LA32_: ;
22495 						asgnRef((void**) (&(*branch)._kind_6.sons->data[i]), skipConv__types_3597(tmp));
22496 						inc__int495056_251(covered, ((NU32) 1));
22497 					}
22498 					goto LA14_;
22499 					LA28_: ;
22500 					{
22501 						{
22502 							if (!((*r).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39))) goto LA37_;
22503 							r = deduplicate__nimsets_236((*(*c).graph).config, r);
22504 						}
22505 						LA37_: ;
22506 						asgnRef((void**) (&(*branch)._kind_6.sons->data[i]), semCaseBranchSetElem__sem_3776(c, t, (*r)._kind_6.sons->data[((NI) 0)], covered));
22507 						{
22508 							NI j;
22509 							NI colontmp_;
22510 							NI i_2;
22511 							j = (NI)0;
22512 							colontmp_ = (NI)0;
22513 							colontmp_ = len__ast_3198(r);
22514 							i_2 = ((NI) 1);
22515 							{
22516 								while (1) {
22517 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T42_;
22518 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
22519 									NI T44_;
22520 									NI T45_;
22521 									if (!(i_2 < colontmp_)) goto LA41;
22522 									j = i_2;
22523 									T42_ = NIM_NIL;
22524 									T42_ = semCaseBranchSetElem__sem_3776(c, t, (*r)._kind_6.sons->data[j], covered);
22525 									add__ast_4797(branch, T42_);
22526 									T43_ = NIM_NIL;
22527 									T44_ = (NI)0;
22528 									T44_ = len__ast_3198(branch);
22529 									T45_ = (NI)0;
22530 									T45_ = len__ast_3198(branch);
22531 									T43_ = (*branch)._kind_6.sons->data[(NI)(T44_ - ((NI) 2))];
22532 									asgnRef((void**) (&(*branch)._kind_6.sons->data[(NI)(T44_ - ((NI) 2))]), (*branch)._kind_6.sons->data[(NI)(T45_ - ((NI) 1))]);
22533 									asgnRef((void**) (&(*branch)._kind_6.sons->data[(NI)(T45_ - ((NI) 1))]), T43_);
22534 									i_2 += ((NI) 1);
22535 								} LA41: ;
22536 							}
22537 						}
22538 					}
22539 					LA14_: ;
22540 				}
22541 				LA5_: ;
22542 				checkForOverlap__sem_3723(c, t, i, branchIndex);
22543 				res += ((NI) 1);
22544 			} LA4: ;
22545 		}
22546 	}
22547 	{
22548 		NI i_3;
22549 		NI colontmp__2;
22550 		NI colontmp__3;
22551 		NI T47_;
22552 		NI i_4;
22553 		i_3 = (NI)0;
22554 		colontmp__2 = (NI)0;
22555 		colontmp__3 = (NI)0;
22556 		colontmp__2 = (NI)(lastIndex + ((NI) 1));
22557 		T47_ = (NI)0;
22558 		T47_ = len__ast_3198(branch);
22559 		colontmp__3 = (NI)(T47_ - ((NI) 1));
22560 		i_4 = colontmp__2;
22561 		{
22562 			while (1) {
22563 				if (!(i_4 < colontmp__3)) goto LA49;
22564 				i_3 = i_4;
22565 				checkForOverlap__sem_3723(c, t, i_3, branchIndex);
22566 				i_4 += ((NI) 1);
22567 			} LA49: ;
22568 		}
22569 	}
22570 	}BeforeRet_: ;
22571 }
N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA,toCover__sem_3884)22572 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, toCover__sem_3884)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
22573 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA result;
22574 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t2;
22575 	nimZeroMem((void*)(&result), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
22576 	t2 = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_470);
22577 	{
22578 		NIM_BOOL T3_;
22579 		NI T7_;
22580 		T3_ = (NIM_BOOL)0;
22581 		T3_ = ((*t2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
22582 		if (!(T3_)) goto LA4_;
22583 		T3_ = enumHasHoles__types_287(t2);
22584 		LA4_: ;
22585 		if (!T3_) goto LA5_;
22586 		T7_ = (NI)0;
22587 		T7_ = len__ast_3198((*t2).n);
22588 		result = toInt128__types_1378(T7_);
22589 	}
22590 	goto LA1_;
22591 	LA5_: ;
22592 	{
22593 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
22594 		t_2 = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_459);
22595 		{
22596 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T13_;
22597 			if (!((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44))) goto LA11_;
22598 			T13_ = toInt128__types_1378(((NI) 1));
22599 			result = shl__int495056_379(T13_, ((NI) 64));
22600 		}
22601 		goto LA9_;
22602 		LA11_: ;
22603 		{
22604 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T17_;
22605 			if (!((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) || (*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40))) goto LA15_;
22606 			T17_ = toInt128__types_1378(((NI) 1));
22607 			result = shl__int495056_379(T17_, (NI)((*(*(*c).graph).config).target.intSize * ((NI) 8)));
22608 		}
22609 		goto LA9_;
22610 		LA15_: ;
22611 		{
22612 			result = lengthOrd__types_1661((*(*c).graph).config, t_2);
22613 		}
22614 		LA9_: ;
22615 	}
22616 	LA1_: ;
22617 	return result;
22618 }
N_INLINE(void,addEscapedChar__system_7485)22619 static N_INLINE(void, addEscapedChar__system_7485)(NimStringDesc** s, NIM_CHAR c) {
22620 	switch (((NU8)(c))) {
22621 	case 7:
22622 	{
22623 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22624 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_475));
22625 	}
22626 	break;
22627 	case 8:
22628 	{
22629 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22630 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_476));
22631 	}
22632 	break;
22633 	case 9:
22634 	{
22635 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22636 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_477));
22637 	}
22638 	break;
22639 	case 10:
22640 	{
22641 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22642 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_478));
22643 	}
22644 	break;
22645 	case 11:
22646 	{
22647 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22648 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_479));
22649 	}
22650 	break;
22651 	case 12:
22652 	{
22653 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22654 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_480));
22655 	}
22656 	break;
22657 	case 13:
22658 	{
22659 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22660 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_481));
22661 	}
22662 	break;
22663 	case 27:
22664 	{
22665 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22666 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_482));
22667 	}
22668 	break;
22669 	case 92:
22670 	{
22671 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22672 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_483));
22673 	}
22674 	break;
22675 	case 39:
22676 	{
22677 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22678 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_484));
22679 	}
22680 	break;
22681 	case 34:
22682 	{
22683 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22684 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_485));
22685 	}
22686 	break;
22687 	case 32 ... 33:
22688 	case 35 ... 38:
22689 	case 40 ... 91:
22690 	case 93 ... 126:
22691 	{
22692 		unsureAsgnRef((void**) (&(*s)), addChar((*s), c));
22693 	}
22694 	break;
22695 	default:
22696 	{
22697 		NI n;
22698 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22699 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_486));
22700 		n = ((NU8)(c));
22701 		unsureAsgnRef((void**) (&(*s)), addChar((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_487)->data[(NI)((NI64)((NI)(n & ((NI) 240))) >> (NU64)(((NI) 4)))]));
22702 		unsureAsgnRef((void**) (&(*s)), addChar((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_487)->data[(NI)(n & ((NI) 15))]));
22703 	}
22704 	break;
22705 	}
22706 }
N_NIMCALL(void,addQuoted__sem_4005)22707 N_LIB_PRIVATE N_NIMCALL(void, addQuoted__sem_4005)(NimStringDesc** s, NIM_CHAR x) {
22708 	unsureAsgnRef((void**) (&(*s)), resizeString((*s), 1));
22709 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
22710 	addEscapedChar__system_7485(s, x);
22711 	unsureAsgnRef((void**) (&(*s)), resizeString((*s), 1));
22712 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
22713 }
N_INLINE(NI,len__nilcheck_1772)22714 static N_INLINE(NI, len__nilcheck_1772)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s) {
22715 	NI result;
22716 	result = (NI)0;
22717 	{
22718 		if (!((*s).elems < ((NI) 34))) goto LA3_;
22719 		result = (*s).elems;
22720 	}
22721 	goto LA1_;
22722 	LA3_: ;
22723 	{
22724 		result = ((NI) 0);
22725 		{
22726 			NI _;
22727 			_ = (NI)0;
22728 			{
22729 				if (!((*s).elems <= ((NI) 34))) goto LA9_;
22730 				{
22731 					NI i;
22732 					NI i_2;
22733 					i = (NI)0;
22734 					i_2 = ((NI) 0);
22735 					{
22736 						while (1) {
22737 							if (!(i_2 < (*s).elems)) goto LA13;
22738 							i = i_2;
22739 							_ = (*s).a[(i)- 0];
22740 							result += ((NI) 1);
22741 							i_2 += ((NI) 1);
22742 						} LA13: ;
22743 					}
22744 				}
22745 			}
22746 			goto LA7_;
22747 			LA9_: ;
22748 			{
22749 				tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r;
22750 				r = (*s).head;
22751 				{
22752 					while (1) {
22753 						NI i_3;
22754 						if (!!((r == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA16;
22755 						i_3 = ((NI) 0);
22756 						{
22757 							while (1) {
22758 								NU w;
22759 								NI j;
22760 								if (!(i_3 <= ((NI) 7))) goto LA18;
22761 								w = (*r).bits[(i_3)- 0];
22762 								j = ((NI) 0);
22763 								{
22764 									while (1) {
22765 										if (!!((w == ((NU) 0)))) goto LA20;
22766 										{
22767 											NI T25_;
22768 											if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA23_;
22769 											T25_ = (NI)0;
22770 											T25_ = pluspercent___system_696((NI)((NU64)(i_3) << (NU64)(((NI) 6))), j);
22771 											_ = (NI)((NI)((NU64)((*r).key) << (NU64)(((NI) 9))) | T25_);
22772 											result += ((NI) 1);
22773 										}
22774 										LA23_: ;
22775 										j += ((NI) 1);
22776 										w = (NU)((NU64)(w) >> (NU64)(((NI) 1)));
22777 									} LA20: ;
22778 								}
22779 								i_3 += ((NI) 1);
22780 							} LA18: ;
22781 						}
22782 						r = (*r).next;
22783 					} LA16: ;
22784 				}
22785 			}
22786 			LA7_: ;
22787 		}
22788 	}
22789 	LA1_: ;
22790 	return result;
22791 }
N_NIMCALL(NimStringDesc *,renderAsType__sem_3988)22792 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderAsType__sem_3988)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* vals, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
22793 	NimStringDesc* result;
22794 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
22795 	NI enumSymOffset;
22796 	NI i;
22797 	result = NIM_NIL;
22798 	result = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_474));
22799 	t_2 = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_472);
22800 	enumSymOffset = ((NI) 0);
22801 	i = ((NI) 0);
22802 	{
22803 		NI val;
22804 		val = (NI)0;
22805 		{
22806 			if (!((*vals).elems <= ((NI) 34))) goto LA4_;
22807 			{
22808 				NI i_2;
22809 				NI i_3;
22810 				i_2 = (NI)0;
22811 				i_3 = ((NI) 0);
22812 				{
22813 					while (1) {
22814 						if (!(i_3 < (*vals).elems)) goto LA8;
22815 						i_2 = i_3;
22816 						val = (*vals).a[(i_2)- 0];
22817 						{
22818 							if (!(((NI) 1) < (result ? result->Sup.len : 0))) goto LA11_;
22819 							result = resizeString(result, 2);
22820 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
22821 						}
22822 						LA11_: ;
22823 						switch ((*t_2).kind) {
22824 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
22825 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
22826 						{
22827 							{
22828 								while (1) {
22829 									if (!((*(*(*(*t_2).n)._kind_6.sons->data[enumSymOffset])._kind_4.sym).position < val)) goto LA15;
22830 									enumSymOffset += ((NI) 1);
22831 								} LA15: ;
22832 							}
22833 							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);
22834 appendString(result, (*(*(*(*(*t_2).n)._kind_6.sons->data[enumSymOffset])._kind_4.sym).name).s);
22835 						}
22836 						break;
22837 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
22838 						{
22839 							addQuoted__sem_4005((&result), ((NIM_CHAR) (val)));
22840 						}
22841 						break;
22842 						default:
22843 						{
22844 							{
22845 								NI T22_;
22846 								NimStringDesc* T23_;
22847 								NimStringDesc* T24_;
22848 								if (!(i == ((NI) 64))) goto LA20_;
22849 								T22_ = (NI)0;
22850 								T22_ = len__nilcheck_1772(vals);
22851 								T23_ = NIM_NIL;
22852 								T23_ = dollar___systemZdollars_3((NI)(T22_ - i));
22853 								T24_ = NIM_NIL;
22854 								T24_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_488), T23_);
22855 								result = resizeString(result, (T24_ ? T24_->Sup.len : 0) + 0);
22856 appendString(result, T24_);
22857 								goto LA1;
22858 							}
22859 							goto LA18_;
22860 							LA20_: ;
22861 							{
22862 								NimStringDesc* T26_;
22863 								T26_ = NIM_NIL;
22864 								T26_ = dollar___systemZdollars_3(val);
22865 								result = resizeString(result, (T26_ ? T26_->Sup.len : 0) + 0);
22866 appendString(result, T26_);
22867 							}
22868 							LA18_: ;
22869 						}
22870 						break;
22871 						}
22872 						i += ((NI) 1);
22873 						i_3 += ((NI) 1);
22874 					} LA8: ;
22875 				}
22876 			}
22877 		}
22878 		goto LA2_;
22879 		LA4_: ;
22880 		{
22881 			tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r;
22882 			r = (*vals).head;
22883 			{
22884 				while (1) {
22885 					NI i_4;
22886 					if (!!((r == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA29;
22887 					i_4 = ((NI) 0);
22888 					{
22889 						while (1) {
22890 							NU w;
22891 							NI j;
22892 							if (!(i_4 <= ((NI) 7))) goto LA31;
22893 							w = (*r).bits[(i_4)- 0];
22894 							j = ((NI) 0);
22895 							{
22896 								while (1) {
22897 									if (!!((w == ((NU) 0)))) goto LA33;
22898 									{
22899 										NI T38_;
22900 										if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA36_;
22901 										T38_ = (NI)0;
22902 										T38_ = pluspercent___system_696((NI)((NU64)(i_4) << (NU64)(((NI) 6))), j);
22903 										val = (NI)((NI)((NU64)((*r).key) << (NU64)(((NI) 9))) | T38_);
22904 										{
22905 											if (!(((NI) 1) < (result ? result->Sup.len : 0))) goto LA41_;
22906 											result = resizeString(result, 2);
22907 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
22908 										}
22909 										LA41_: ;
22910 										switch ((*t_2).kind) {
22911 										case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
22912 										case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
22913 										{
22914 											{
22915 												while (1) {
22916 													if (!((*(*(*(*t_2).n)._kind_6.sons->data[enumSymOffset])._kind_4.sym).position < val)) goto LA45;
22917 													enumSymOffset += ((NI) 1);
22918 												} LA45: ;
22919 											}
22920 											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);
22921 appendString(result, (*(*(*(*(*t_2).n)._kind_6.sons->data[enumSymOffset])._kind_4.sym).name).s);
22922 										}
22923 										break;
22924 										case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
22925 										{
22926 											addQuoted__sem_4005((&result), ((NIM_CHAR) (val)));
22927 										}
22928 										break;
22929 										default:
22930 										{
22931 											{
22932 												NI T52_;
22933 												NimStringDesc* T53_;
22934 												NimStringDesc* T54_;
22935 												if (!(i == ((NI) 64))) goto LA50_;
22936 												T52_ = (NI)0;
22937 												T52_ = len__nilcheck_1772(vals);
22938 												T53_ = NIM_NIL;
22939 												T53_ = dollar___systemZdollars_3((NI)(T52_ - i));
22940 												T54_ = NIM_NIL;
22941 												T54_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_488), T53_);
22942 												result = resizeString(result, (T54_ ? T54_->Sup.len : 0) + 0);
22943 appendString(result, T54_);
22944 												goto LA1;
22945 											}
22946 											goto LA48_;
22947 											LA50_: ;
22948 											{
22949 												NimStringDesc* T56_;
22950 												T56_ = NIM_NIL;
22951 												T56_ = dollar___systemZdollars_3(val);
22952 												result = resizeString(result, (T56_ ? T56_->Sup.len : 0) + 0);
22953 appendString(result, T56_);
22954 											}
22955 											LA48_: ;
22956 										}
22957 										break;
22958 										}
22959 										i += ((NI) 1);
22960 									}
22961 									LA36_: ;
22962 									j += ((NI) 1);
22963 									w = (NU)((NU64)(w) >> (NU64)(((NI) 1)));
22964 								} LA33: ;
22965 							}
22966 							i_4 += ((NI) 1);
22967 						} LA31: ;
22968 					}
22969 					r = (*r).next;
22970 				} LA29: ;
22971 			}
22972 		}
22973 		LA2_: ;
22974 	} LA1: ;
22975 	result = resizeString(result, 1);
22976 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_489));
22977 	return result;
22978 }
N_NIMCALL(void,difference__sem_4045)22979 N_LIB_PRIVATE N_NIMCALL(void, difference__sem_4045)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
22980 	initPackedSet__pureZcollectionsZintsets_16(Result);
22981 	{
22982 		NI item;
22983 		item = (NI)0;
22984 		{
22985 			if (!((*s1).elems <= ((NI) 34))) goto LA4_;
22986 			{
22987 				NI i;
22988 				NI i_2;
22989 				i = (NI)0;
22990 				i_2 = ((NI) 0);
22991 				{
22992 					while (1) {
22993 						if (!(i_2 < (*s1).elems)) goto LA8;
22994 						i = i_2;
22995 						item = (*s1).a[(i)- 0];
22996 						{
22997 							NIM_BOOL T11_;
22998 							T11_ = (NIM_BOOL)0;
22999 							T11_ = contains__astalgo_3496(s2, item);
23000 							if (!!(T11_)) goto LA12_;
23001 							incl__pureZcollectionsZintsets_55(Result, item);
23002 						}
23003 						LA12_: ;
23004 						i_2 += ((NI) 1);
23005 					} LA8: ;
23006 				}
23007 			}
23008 		}
23009 		goto LA2_;
23010 		LA4_: ;
23011 		{
23012 			tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r;
23013 			r = (*s1).head;
23014 			{
23015 				while (1) {
23016 					NI i_3;
23017 					if (!!((r == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA16;
23018 					i_3 = ((NI) 0);
23019 					{
23020 						while (1) {
23021 							NU w;
23022 							NI j;
23023 							if (!(i_3 <= ((NI) 7))) goto LA18;
23024 							w = (*r).bits[(i_3)- 0];
23025 							j = ((NI) 0);
23026 							{
23027 								while (1) {
23028 									if (!!((w == ((NU) 0)))) goto LA20;
23029 									{
23030 										NI T25_;
23031 										if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA23_;
23032 										T25_ = (NI)0;
23033 										T25_ = pluspercent___system_696((NI)((NU64)(i_3) << (NU64)(((NI) 6))), j);
23034 										item = (NI)((NI)((NU64)((*r).key) << (NU64)(((NI) 9))) | T25_);
23035 										{
23036 											NIM_BOOL T28_;
23037 											T28_ = (NIM_BOOL)0;
23038 											T28_ = contains__astalgo_3496(s2, item);
23039 											if (!!(T28_)) goto LA29_;
23040 											incl__pureZcollectionsZintsets_55(Result, item);
23041 										}
23042 										LA29_: ;
23043 									}
23044 									LA23_: ;
23045 									j += ((NI) 1);
23046 									w = (NU)((NU64)(w) >> (NU64)(((NI) 1)));
23047 								} LA20: ;
23048 							}
23049 							i_3 += ((NI) 1);
23050 						} LA18: ;
23051 					}
23052 					r = (*r).next;
23053 				} LA16: ;
23054 			}
23055 		}
23056 		LA2_: ;
23057 	}
23058 }
N_INLINE(void,minus___sem_4040)23059 static N_INLINE(void, minus___sem_4040)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
23060 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T1_;
23061 	nimZeroMem((void*)(&T1_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
23062 	difference__sem_4045(s1, s2, (&T1_));
23063 	genericShallowAssign((void*)Result, (void*)(&T1_), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
23064 }
N_NIMCALL(void,getIntSetOfType__sem_3930)23065 N_LIB_PRIVATE N_NIMCALL(void, getIntSetOfType__sem_3930)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
23066 	initIntSet__pureZcollectionsZintsets_238(Result);
23067 	{
23068 		NIM_BOOL T3_;
23069 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
23070 		T3_ = (NIM_BOOL)0;
23071 		T3_ = enumHasHoles__types_287(t);
23072 		if (!T3_) goto LA4_;
23073 		t_2 = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_472);
23074 		{
23075 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** field;
23076 			tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
23077 			NI i;
23078 			NI L;
23079 			NI T7_;
23080 			field = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
23081 			colontmp_ = NIM_NIL;
23082 			colontmp_ = (*(*t_2).n)._kind_6.sons;
23083 			i = ((NI) 0);
23084 			T7_ = (colontmp_ ? colontmp_->Sup.len : 0);
23085 			L = T7_;
23086 			{
23087 				while (1) {
23088 					if (!(i < L)) goto LA9;
23089 					field = &colontmp_->data[i];
23090 					incl__pureZcollectionsZintsets_55(Result, (*(*(*field))._kind_4.sym).position);
23091 					i += ((NI) 1);
23092 				} LA9: ;
23093 			}
23094 		}
23095 	}
23096 	goto LA1_;
23097 	LA4_: ;
23098 	{
23099 		{
23100 			NI64 i_2;
23101 			NI64 colontmp__2;
23102 			NI64 colontmp__3;
23103 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T12_;
23104 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T13_;
23105 			NI64 res;
23106 			i_2 = (NI64)0;
23107 			colontmp__2 = (NI64)0;
23108 			colontmp__3 = (NI64)0;
23109 			T12_ = firstOrd__types_1353((*(*c).graph).config, t);
23110 			colontmp__2 = toInt64__int495056_88(T12_);
23111 			T13_ = lastOrd__types_1470((*(*c).graph).config, t);
23112 			colontmp__3 = toInt64__int495056_88(T13_);
23113 			res = colontmp__2;
23114 			{
23115 				while (1) {
23116 					if (!(res <= colontmp__3)) goto LA15;
23117 					i_2 = res;
23118 					incl__pureZcollectionsZintsets_55(Result, ((NI) (i_2)));
23119 					res += ((NI) 1);
23120 				} LA15: ;
23121 			}
23122 		}
23123 	}
23124 	LA1_: ;
23125 }
N_NIMCALL(NimStringDesc *,formatMissingEnums__sem_4020)23126 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, formatMissingEnums__sem_4020)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
23127 	NimStringDesc* result;
23128 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA coveredCases;
23129 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T23_;
23130 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T24_;
23131 	result = NIM_NIL;
23132 	nimZeroMem((void*)(&coveredCases), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
23133 	initIntSet__pureZcollectionsZintsets_238((&coveredCases));
23134 	{
23135 		NI i;
23136 		NI colontmp_;
23137 		NI i_2;
23138 		i = (NI)0;
23139 		colontmp_ = (NI)0;
23140 		colontmp_ = len__ast_3198(n);
23141 		i_2 = ((NI) 1);
23142 		{
23143 			while (1) {
23144 				if (!(i_2 < colontmp_)) goto LA3;
23145 				i = i_2;
23146 				{
23147 					NI val;
23148 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__2;
23149 					val = (NI)0;
23150 					colontmp__2 = NIM_NIL;
23151 					colontmp__2 = (*n)._kind_6.sons->data[i];
23152 					{
23153 						if (!((*colontmp__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA7_;
23154 						{
23155 							NI i_3;
23156 							NI colontmp__3;
23157 							NI T10_;
23158 							NI i_4;
23159 							i_3 = (NI)0;
23160 							colontmp__3 = (NI)0;
23161 							T10_ = (NI)0;
23162 							T10_ = len__ast_3198(colontmp__2);
23163 							colontmp__3 = (NI)(T10_ - ((NI) 1));
23164 							i_4 = ((NI) 0);
23165 							{
23166 								while (1) {
23167 									if (!(i_4 < colontmp__3)) goto LA12;
23168 									i_3 = i_4;
23169 									{
23170 										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_;
23171 										val = ((NI) ((*(*colontmp__2)._kind_6.sons->data[i_3])._kind_1.intVal));
23172 										incl__pureZcollectionsZintsets_55((&coveredCases), val);
23173 									}
23174 									goto LA13_;
23175 									LA15_: ;
23176 									{
23177 										if (!((*(*colontmp__2)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA18_;
23178 										{
23179 											NI64 i_5;
23180 											NI64 colontmp__4;
23181 											NI64 colontmp__5;
23182 											NI64 res;
23183 											i_5 = (NI64)0;
23184 											colontmp__4 = (NI64)0;
23185 											colontmp__5 = (NI64)0;
23186 											colontmp__4 = (*(*(*colontmp__2)._kind_6.sons->data[i_3])._kind_6.sons->data[((NI) 0)])._kind_1.intVal;
23187 											colontmp__5 = (*(*(*colontmp__2)._kind_6.sons->data[i_3])._kind_6.sons->data[((NI) 1)])._kind_1.intVal;
23188 											res = colontmp__4;
23189 											{
23190 												while (1) {
23191 													if (!(res <= colontmp__5)) goto LA22;
23192 													i_5 = res;
23193 													val = ((NI) (i_5));
23194 													incl__pureZcollectionsZintsets_55((&coveredCases), val);
23195 													res += ((NI) 1);
23196 												} LA22: ;
23197 											}
23198 										}
23199 									}
23200 									goto LA13_;
23201 									LA18_: ;
23202 									LA13_: ;
23203 									i_4 += ((NI) 1);
23204 								} LA12: ;
23205 							}
23206 						}
23207 					}
23208 					LA7_: ;
23209 				}
23210 				i_2 += ((NI) 1);
23211 			} LA3: ;
23212 		}
23213 	}
23214 	nimZeroMem((void*)(&T23_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
23215 	getIntSetOfType__sem_3930(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ, (&T23_));
23216 	nimZeroMem((void*)(&T24_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
23217 	minus___sem_4040((&T23_), (&coveredCases), (&T24_));
23218 	result = renderAsType__sem_3988((&T24_), (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
23219 	return result;
23220 }
N_NIMCALL(void,semRecordCase__sem_4067)23221 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) {
23222 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
23223 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA covered;
23224 	NIM_BOOL chckCovered;
23225 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
23226 {	a = copyNode__ast_4336(n);
23227 	checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
23228 	semRecordNodeAux__sem_3922(c, (*n)._kind_6.sons->data[((NI) 0)], check, pos, a, rectype, NIM_TRUE);
23229 	{
23230 		if (!!(((*(*a)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA3_;
23231 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_457), TM__rF9caJawfOjYTjsgLVUSGFA_458);
23232 		goto BeforeRet_;
23233 	}
23234 	LA3_: ;
23235 	(*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 20)) & 63);
23236 	covered = toInt128__types_1378(((NI) 0));
23237 	chckCovered = NIM_FALSE;
23238 	typ = skipTypes__ast_3735((*(*a)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_459);
23239 	switch ((*typ).kind) {
23240 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
23241 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
23242 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
23243 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
23244 	{
23245 		chckCovered = NIM_TRUE;
23246 	}
23247 	break;
23248 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
23249 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
23250 	{
23251 	}
23252 	break;
23253 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
23254 	{
23255 		{
23256 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
23257 			T10_ = NIM_NIL;
23258 			T10_ = skipTypes__ast_3735((*typ).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_70);
23259 			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_;
23260 			chckCovered = NIM_TRUE;
23261 		}
23262 		LA11_: ;
23263 	}
23264 	break;
23265 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30):
23266 	{
23267 		errorUndeclaredIdentifier__lookups_1199(c, (*(*n)._kind_6.sons->data[((NI) 0)]).info, (*(*(*typ).sym).name).s, ((NimStringDesc*) NIM_NIL));
23268 	}
23269 	break;
23270 	default:
23271 	{
23272 		{
23273 			NIM_BOOL T17_;
23274 			T17_ = (NIM_BOOL)0;
23275 			T17_ = isOrdinalType__types_299(typ, NIM_FALSE);
23276 			if (!!(T17_)) goto LA18_;
23277 			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);
23278 		}
23279 		LA18_: ;
23280 	}
23281 	break;
23282 	}
23283 	{
23284 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T22_;
23285 		NIM_BOOL T23_;
23286 		NimStringDesc* T26_;
23287 		T22_ = firstOrd__types_1353((*(*c).graph).config, typ);
23288 		T23_ = (NIM_BOOL)0;
23289 		T23_ = eqeq___int495056_759(T22_, IL64(0));
23290 		if (!!(T23_)) goto LA24_;
23291 		T26_ = NIM_NIL;
23292 		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);
23293 appendString(T26_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_462));
23294 appendString(T26_, (*(*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s);
23295 appendString(T26_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_463));
23296 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_464, NIM_FALSE);
23297 	}
23298 	goto LA20_;
23299 	LA24_: ;
23300 	{
23301 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T28_;
23302 		NIM_BOOL T29_;
23303 		NimStringDesc* T32_;
23304 		T28_ = lengthOrd__types_1661((*(*c).graph).config, typ);
23305 		T29_ = (NIM_BOOL)0;
23306 		T29_ = lt___int495056_738(IL64(32767), T28_);
23307 		if (!T29_) goto LA30_;
23308 		T32_ = NIM_NIL;
23309 		T32_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_465), (*(*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s);
23310 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T32_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_466, NIM_FALSE);
23311 	}
23312 	goto LA20_;
23313 	LA30_: ;
23314 	LA20_: ;
23315 	{
23316 		NI i;
23317 		NI colontmp_;
23318 		NI i_2;
23319 		i = (NI)0;
23320 		colontmp_ = (NI)0;
23321 		colontmp_ = len__ast_3198(n);
23322 		i_2 = ((NI) 1);
23323 		{
23324 			while (1) {
23325 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
23326 				NI T46_;
23327 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T47_;
23328 				if (!(i_2 < colontmp_)) goto LA35;
23329 				i = i_2;
23330 				b = copyTree__ast_4431((*n)._kind_6.sons->data[i]);
23331 				add__ast_4797(a, b);
23332 				switch ((*(*n)._kind_6.sons->data[i]).kind) {
23333 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
23334 				{
23335 					checkMinSonsLen__semdata_1084(b, ((NI) 2), (*(*c).graph).config);
23336 					semCaseBranch__sem_3791(c, a, b, i, (&covered));
23337 				}
23338 				break;
23339 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
23340 				{
23341 					checkSonsLen__semdata_1077(b, ((NI) 1), (*(*c).graph).config);
23342 					{
23343 						NIM_BOOL T40_;
23344 						tyObject_Int128__9a9axPfb75jdWY25AamJewkA T42_;
23345 						T40_ = (NIM_BOOL)0;
23346 						T40_ = chckCovered;
23347 						if (!(T40_)) goto LA41_;
23348 						T42_ = toCover__sem_3884(c, (*(*a)._kind_6.sons->data[((NI) 0)]).typ);
23349 						T40_ = eqeq___int495056_313(covered, T42_);
23350 						LA41_: ;
23351 						if (!T40_) goto LA43_;
23352 						liMessage__msgs_1118((*(*c).graph).config, (*b).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 44), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_471, NIM_FALSE);
23353 					}
23354 					LA43_: ;
23355 					chckCovered = NIM_FALSE;
23356 				}
23357 				break;
23358 				default:
23359 				{
23360 					illFormedAst__semdata_1071(n, (*(*c).graph).config);
23361 				}
23362 				break;
23363 				}
23364 				T46_ = (NI)0;
23365 				T46_ = len__ast_3198(b);
23366 				delSon__ast_4313(b, (NI)(T46_ - ((NI) 1)));
23367 				T47_ = NIM_NIL;
23368 				T47_ = lastSon__ast_4832((*n)._kind_6.sons->data[i]);
23369 				semRecordNodeAux__sem_3922(c, T47_, check, pos, b, rectype, NIM_TRUE);
23370 				i_2 += ((NI) 1);
23371 			} LA35: ;
23372 		}
23373 	}
23374 	{
23375 		NIM_BOOL T50_;
23376 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T52_;
23377 		NIM_BOOL T53_;
23378 		T50_ = (NIM_BOOL)0;
23379 		T50_ = chckCovered;
23380 		if (!(T50_)) goto LA51_;
23381 		T52_ = toCover__sem_3884(c, (*(*a)._kind_6.sons->data[((NI) 0)]).typ);
23382 		T53_ = (NIM_BOOL)0;
23383 		T53_ = eqeq___int495056_313(covered, T52_);
23384 		T50_ = !(T53_);
23385 		LA51_: ;
23386 		if (!T50_) goto LA54_;
23387 		{
23388 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T58_;
23389 			NimStringDesc* T61_;
23390 			NimStringDesc* T62_;
23391 			T58_ = NIM_NIL;
23392 			T58_ = skipTypes__ast_3735((*(*a)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_472);
23393 			if (!((*T58_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14))) goto LA59_;
23394 			T61_ = NIM_NIL;
23395 			T61_ = formatMissingEnums__sem_4020(c, a);
23396 			T62_ = NIM_NIL;
23397 			T62_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_473), T61_);
23398 			liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T62_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_490, NIM_FALSE);
23399 		}
23400 		goto LA56_;
23401 		LA59_: ;
23402 		{
23403 			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);
23404 		}
23405 		LA56_: ;
23406 	}
23407 	LA54_: ;
23408 	add__ast_4797(father, a);
23409 	}BeforeRet_: ;
23410 }
N_NIMCALL(void,semRecordNodeAux__sem_3922)23411 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) {
23412 {	{
23413 		if (!(n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
23414 		goto BeforeRet_;
23415 	}
23416 	LA3_: ;
23417 	switch ((*n).kind) {
23418 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 140):
23419 	{
23420 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
23421 		branch = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
23422 		{
23423 			NI i;
23424 			NI colontmp_;
23425 			NI i_2;
23426 			i = (NI)0;
23427 			colontmp_ = (NI)0;
23428 			colontmp_ = len__ast_3198(n);
23429 			i_2 = ((NI) 0);
23430 			{
23431 				while (1) {
23432 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
23433 					NI idx;
23434 					if (!(i_2 < colontmp_)) goto LA8;
23435 					i = i_2;
23436 					it = (*n)._kind_6.sons->data[i];
23437 					{
23438 						if (!(it == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA11_;
23439 						illFormedAst__semdata_1071(n, (*(*c).graph).config);
23440 					}
23441 					LA11_: ;
23442 					idx = ((NI) 1);
23443 					switch ((*it).kind) {
23444 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
23445 					{
23446 						checkSonsLen__semdata_1077(it, ((NI) 2), (*(*c).graph).config);
23447 						{
23448 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
23449 							if (!((*c).inGenericContext == ((NI) 0))) goto LA16_;
23450 							e = semConstBoolExpr__sem_2877(c, (*it)._kind_6.sons->data[((NI) 0)]);
23451 							{
23452 								if (!!(((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA20_;
23453 							}
23454 							goto LA18_;
23455 							LA20_: ;
23456 							{
23457 								NIM_BOOL T23_;
23458 								T23_ = (NIM_BOOL)0;
23459 								T23_ = !(((*e)._kind_1.intVal == IL64(0)));
23460 								if (!(T23_)) goto LA24_;
23461 								T23_ = (branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
23462 								LA24_: ;
23463 								if (!T23_) goto LA25_;
23464 								branch = (*it)._kind_6.sons->data[((NI) 1)];
23465 							}
23466 							goto LA18_;
23467 							LA25_: ;
23468 							LA18_: ;
23469 						}
23470 						goto LA14_;
23471 						LA16_: ;
23472 						{
23473 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
23474 							T28_ = NIM_NIL;
23475 							T28_ = semExprWithType__sem_56(c, (*it)._kind_6.sons->data[((NI) 0)], 0);
23476 							asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 0)]), forceBool__sem_2869(c, T28_));
23477 						}
23478 						LA14_: ;
23479 					}
23480 					break;
23481 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
23482 					{
23483 						checkSonsLen__semdata_1077(it, ((NI) 1), (*(*c).graph).config);
23484 						{
23485 							if (!(branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA32_;
23486 							branch = (*it)._kind_6.sons->data[((NI) 0)];
23487 						}
23488 						LA32_: ;
23489 						idx = ((NI) 0);
23490 					}
23491 					break;
23492 					default:
23493 					{
23494 						illFormedAst__semdata_1071(n, (*(*c).graph).config);
23495 					}
23496 					break;
23497 					}
23498 					{
23499 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA newCheck;
23500 						NI newPos;
23501 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newf;
23502 						if (!(((NI) 0) < (*c).inGenericContext)) goto LA37_;
23503 						nimZeroMem((void*)(&newCheck), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
23504 						assign__types_3929((&newCheck), (&(*check)));
23505 						newPos = (*pos);
23506 						newf = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
23507 						semRecordNodeAux__sem_3922(c, (*it)._kind_6.sons->data[idx], (&newCheck), (&newPos), newf, rectype, hasCaseFields);
23508 						{
23509 							NI T41_;
23510 							T41_ = (NI)0;
23511 							T41_ = len__ast_3198(newf);
23512 							if (!(T41_ == ((NI) 1))) goto LA42_;
23513 							asgnRef((void**) (&(*it)._kind_6.sons->data[idx]), (*newf)._kind_6.sons->data[((NI) 0)]);
23514 						}
23515 						goto LA39_;
23516 						LA42_: ;
23517 						{
23518 							asgnRef((void**) (&(*it)._kind_6.sons->data[idx]), newf);
23519 						}
23520 						LA39_: ;
23521 					}
23522 					LA37_: ;
23523 					i_2 += ((NI) 1);
23524 				} LA8: ;
23525 			}
23526 		}
23527 		{
23528 			if (!(((NI) 0) < (*c).inGenericContext)) goto LA47_;
23529 			add__ast_4797(father, n);
23530 		}
23531 		goto LA45_;
23532 		LA47_: ;
23533 		{
23534 			if (!!((branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA50_;
23535 			semRecordNodeAux__sem_3922(c, branch, check, pos, father, rectype, hasCaseFields);
23536 		}
23537 		goto LA45_;
23538 		LA50_: ;
23539 		{
23540 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T55_;
23541 			if (!((*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88) || (*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA53_;
23542 			T55_ = NIM_NIL;
23543 			T55_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
23544 			add__ast_4797(father, T55_);
23545 		}
23546 		goto LA45_;
23547 		LA53_: ;
23548 		LA45_: ;
23549 	}
23550 	break;
23551 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
23552 	{
23553 		semRecordCase__sem_4067(c, n, check, pos, father, rectype);
23554 	}
23555 	break;
23556 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
23557 	{
23558 		{
23559 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T62_;
23560 			if (!!(((*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138)))) goto LA60_;
23561 			T62_ = NIM_NIL;
23562 			T62_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
23563 			add__ast_4797(father, T62_);
23564 		}
23565 		LA60_: ;
23566 	}
23567 	break;
23568 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
23569 	{
23570 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
23571 		{
23572 			if (!((*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138))) goto LA66_;
23573 			a = father;
23574 		}
23575 		goto LA64_;
23576 		LA66_: ;
23577 		{
23578 			a = copyNode__ast_4336(n);
23579 		}
23580 		LA64_: ;
23581 		{
23582 			NI i_3;
23583 			NI colontmp__2;
23584 			NI i_4;
23585 			i_3 = (NI)0;
23586 			colontmp__2 = (NI)0;
23587 			colontmp__2 = len__ast_3198(n);
23588 			i_4 = ((NI) 0);
23589 			{
23590 				while (1) {
23591 					if (!(i_4 < colontmp__2)) goto LA71;
23592 					i_3 = i_4;
23593 					semRecordNodeAux__sem_3922(c, (*n)._kind_6.sons->data[i_3], check, pos, a, rectype, hasCaseFields);
23594 					i_4 += ((NI) 1);
23595 				} LA71: ;
23596 			}
23597 		}
23598 		{
23599 			if (!!((a == father))) goto LA74_;
23600 			add__ast_4797(father, a);
23601 		}
23602 		LA74_: ;
23603 	}
23604 	break;
23605 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35):
23606 	{
23607 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
23608 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
23609 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fieldOwner;
23610 		checkMinSonsLen__semdata_1084(n, ((NI) 3), (*(*c).graph).config);
23611 		a_2 = NIM_NIL;
23612 		{
23613 			NIM_BOOL T79_;
23614 			NI T81_;
23615 			T79_ = (NIM_BOOL)0;
23616 			T79_ = !(((*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138)));
23617 			if (!(T79_)) goto LA80_;
23618 			T81_ = (NI)0;
23619 			T81_ = len__ast_3198(n);
23620 			T79_ = (((NI) 4) <= T81_);
23621 			LA80_: ;
23622 			if (!T79_) goto LA82_;
23623 			a_2 = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
23624 		}
23625 		goto LA77_;
23626 		LA82_: ;
23627 		{
23628 			a_2 = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
23629 		}
23630 		LA77_: ;
23631 		{
23632 			NI T87_;
23633 			NI T90_;
23634 			T87_ = (NI)0;
23635 			T87_ = len__ast_3198(n);
23636 			if (!!(((*(*n)._kind_6.sons->data[(NI)(T87_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA88_;
23637 			T90_ = (NI)0;
23638 			T90_ = len__ast_3198(n);
23639 			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);
23640 		}
23641 		LA88_: ;
23642 		typ = NIM_NIL;
23643 		{
23644 			NI T93_;
23645 			T93_ = (NI)0;
23646 			T93_ = len__ast_3198(n);
23647 			if (!((*(*n)._kind_6.sons->data[(NI)(T93_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA94_;
23648 			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);
23649 			typ = errorType__semdata_1002(c);
23650 		}
23651 		goto LA91_;
23652 		LA94_: ;
23653 		{
23654 			NI T97_;
23655 			T97_ = (NI)0;
23656 			T97_ = len__ast_3198(n);
23657 			typ = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[(NI)(T97_ - ((NI) 2))], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
23658 			propagateToOwner__ast_4219(rectype, typ, NIM_TRUE);
23659 		}
23660 		LA91_: ;
23661 		{
23662 			if (!(((NI) 0) < (*c).inGenericContext)) goto LA100_;
23663 			fieldOwner = getCurrOwner__semdata_315(c);
23664 		}
23665 		goto LA98_;
23666 		LA100_: ;
23667 		{
23668 			fieldOwner = (*rectype).sym;
23669 		}
23670 		LA98_: ;
23671 		{
23672 			NI i_5;
23673 			NI colontmp__3;
23674 			NI T104_;
23675 			NI i_6;
23676 			i_5 = (NI)0;
23677 			colontmp__3 = (NI)0;
23678 			T104_ = (NI)0;
23679 			T104_ = len__ast_3198(n);
23680 			colontmp__3 = (NI)(T104_ - ((NI) 2));
23681 			i_6 = ((NI) 0);
23682 			{
23683 				while (1) {
23684 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
23685 					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
23686 					if (!(i_6 < colontmp__3)) goto LA106;
23687 					i_5 = i_6;
23688 					f = semIdentWithPragma__sem_476(c, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19), (*n)._kind_6.sons->data[i_5], 2);
23689 					{
23690 						if (!((*(*n)._kind_6.sons->data[i_5]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31))) goto LA109_;
23691 						info = (*(*(*n)._kind_6.sons->data[i_5])._kind_6.sons->data[((NI) 1)]).info;
23692 					}
23693 					goto LA107_;
23694 					LA109_: ;
23695 					{
23696 						info = (*(*n)._kind_6.sons->data[i_5]).info;
23697 					}
23698 					LA107_: ;
23699 					suggestSym__sigmatch_5375((*c).graph, info, f, &(*(*c).graph).usageSym, NIM_TRUE);
23700 					asgnRef((void**) (&(*f).typ), typ);
23701 					(*f).position = (*pos);
23702 					(*f).options = (*(*(*c).graph).config).options;
23703 					{
23704 						NIM_BOOL T114_;
23705 						NIM_BOOL T115_;
23706 						NIM_BOOL T116_;
23707 						T114_ = (NIM_BOOL)0;
23708 						T115_ = (NIM_BOOL)0;
23709 						T116_ = (NIM_BOOL)0;
23710 						T116_ = !((fieldOwner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
23711 						if (!(T116_)) goto LA117_;
23712 						T116_ = !(((192 & (*fieldOwner).flags) == 0));
23713 						LA117_: ;
23714 						T115_ = T116_;
23715 						if (!(T115_)) goto LA118_;
23716 						T115_ = !(hasCaseFields);
23717 						LA118_: ;
23718 						T114_ = T115_;
23719 						if (!(T114_)) goto LA119_;
23720 						T114_ = ((*f).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
23721 						LA119_: ;
23722 						if (!T114_) goto LA120_;
23723 						asgnRef((void**) (&(*f).loc.r), rope__ropes_109((*(*f).name).s));
23724 						(*f).flags = ((*f).flags | (192 & (*fieldOwner).flags));
23725 					}
23726 					LA120_: ;
23727 					(*pos) += ((NI) 1);
23728 					{
23729 						NIM_BOOL T124_;
23730 						NimStringDesc* T127_;
23731 						T124_ = (NIM_BOOL)0;
23732 						T124_ = containsOrIncl__astalgo_402(check, (*(*f).name).id);
23733 						if (!T124_) goto LA125_;
23734 						T127_ = NIM_NIL;
23735 						T127_ = rawNewString(((*(*f).name).s ? (*(*f).name).s->Sup.len : 0) + 23);
23736 appendString(T127_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_150));
23737 appendString(T127_, (*(*f).name).s);
23738 appendString(T127_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
23739 						liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T127_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_496, NIM_FALSE);
23740 					}
23741 					LA125_: ;
23742 					{
23743 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T132_;
23744 						if (!((*a_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA130_;
23745 						T132_ = NIM_NIL;
23746 						T132_ = newSymNode__ast_3716(f);
23747 						add__ast_4797(father, T132_);
23748 					}
23749 					goto LA128_;
23750 					LA130_: ;
23751 					{
23752 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T134_;
23753 						T134_ = NIM_NIL;
23754 						T134_ = newSymNode__ast_3716(f);
23755 						add__ast_4797(a_2, T134_);
23756 					}
23757 					LA128_: ;
23758 					{
23759 						NIM_BOOL T137_;
23760 						T137_ = (NIM_BOOL)0;
23761 						T137_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
23762 						if (!(T137_)) goto LA138_;
23763 						T137_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
23764 						LA138_: ;
23765 						if (!T137_) goto LA139_;
23766 						nep1CheckDefImpl__linter_110((*(*c).graph).config, (*f).info, f, (*f).kind);
23767 					}
23768 					LA139_: ;
23769 					i_6 += ((NI) 1);
23770 				} LA106: ;
23771 			}
23772 		}
23773 		{
23774 			if (!!(((*a_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA143_;
23775 			add__ast_4797(father, a_2);
23776 		}
23777 		LA143_: ;
23778 	}
23779 	break;
23780 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
23781 	{
23782 		{
23783 			NIM_BOOL T148_;
23784 			NimStringDesc* T151_;
23785 			T148_ = (NIM_BOOL)0;
23786 			T148_ = containsOrIncl__astalgo_402(check, (*(*(*n)._kind_4.sym).name).id);
23787 			if (!T148_) goto LA149_;
23788 			T151_ = NIM_NIL;
23789 			T151_ = rawNewString(((*(*(*n)._kind_4.sym).name).s ? (*(*(*n)._kind_4.sym).name).s->Sup.len : 0) + 23);
23790 appendString(T151_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_150));
23791 appendString(T151_, (*(*(*n)._kind_4.sym).name).s);
23792 appendString(T151_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
23793 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T151_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_497, NIM_FALSE);
23794 		}
23795 		LA149_: ;
23796 		add__ast_4797(father, n);
23797 	}
23798 	break;
23799 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
23800 	{
23801 		{
23802 			if (!((*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88) || (*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA155_;
23803 			add__ast_4797(father, n);
23804 		}
23805 		LA155_: ;
23806 	}
23807 	break;
23808 	default:
23809 	{
23810 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
23811 	}
23812 	break;
23813 	}
23814 	}BeforeRet_: ;
23815 }
N_NIMCALL(void,initConstrContext__sem_19652)23816 N_LIB_PRIVATE N_NIMCALL(void, initConstrContext__sem_19652)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initExpr, tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw* Result) {
23817 	unsureAsgnRef((void**)&(*Result).typ, NIM_NIL);
23818 	unsureAsgnRef((void**)&(*Result).initExpr, NIM_NIL);
23819 	(*Result).needsFullInit = 0;
23820 	unsureAsgnRef((void**)&(*Result).missingFields, NIM_NIL);
23821 	unsureAsgnRef((void**) (&(*Result).typ), t);
23822 	unsureAsgnRef((void**) (&(*Result).initExpr), initExpr);
23823 	(*Result).needsFullInit = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 19))&63U)))!=0);
23824 }
N_NIMCALL(void,mergeInitStatus__sem_19071)23825 N_LIB_PRIVATE N_NIMCALL(void, mergeInitStatus__sem_19071)(tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ* existing, tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ newStatus) {
23826 	switch (newStatus) {
23827 	case ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 4):
23828 	{
23829 		(*existing) = newStatus;
23830 	}
23831 	break;
23832 	case ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 2):
23833 	{
23834 		{
23835 			if (!((11 &((NU8)1<<((NU)((*existing))&7U)))!=0)) goto LA5_;
23836 			(*existing) = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 2);
23837 		}
23838 		LA5_: ;
23839 	}
23840 	break;
23841 	case ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3):
23842 	{
23843 		{
23844 			if (!((*existing) == ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 0))) goto LA10_;
23845 			(*existing) = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3);
23846 		}
23847 		goto LA8_;
23848 		LA10_: ;
23849 		{
23850 			if (!((*existing) == ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 1))) goto LA13_;
23851 			(*existing) = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 2);
23852 		}
23853 		goto LA8_;
23854 		LA13_: ;
23855 		LA8_: ;
23856 	}
23857 	break;
23858 	case ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 1):
23859 	{
23860 		{
23861 			if (!((*existing) == ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 0))) goto LA18_;
23862 			(*existing) = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 1);
23863 		}
23864 		goto LA16_;
23865 		LA18_: ;
23866 		{
23867 			if (!((*existing) == ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3))) goto LA21_;
23868 			(*existing) = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 2);
23869 		}
23870 		goto LA16_;
23871 		LA21_: ;
23872 		LA16_: ;
23873 	}
23874 	break;
23875 	case ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 0):
23876 	{
23877 	}
23878 	break;
23879 	}
23880 }
N_NIMCALL(void,invalidObjConstr__sem_19105)23881 N_LIB_PRIVATE N_NIMCALL(void, invalidObjConstr__sem_19105)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
23882 	{
23883 		NIM_BOOL T3_;
23884 		NIM_BOOL T4_;
23885 		T3_ = (NIM_BOOL)0;
23886 		T4_ = (NIM_BOOL)0;
23887 		T4_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29));
23888 		if (!(T4_)) goto LA5_;
23889 		T4_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
23890 		LA5_: ;
23891 		T3_ = T4_;
23892 		if (!(T3_)) goto LA6_;
23893 		T3_ = ((NU8)((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s->data[((NI) 0)]) == (NU8)(58));
23894 		LA6_: ;
23895 		if (!T3_) goto LA7_;
23896 		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);
23897 	}
23898 	goto LA1_;
23899 	LA7_: ;
23900 	{
23901 		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);
23902 	}
23903 	LA1_: ;
23904 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,locateFieldInInitExpr__sem_19118)23905 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, locateFieldInInitExpr__sem_19118)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initExpr) {
23906 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
23907 	NI fieldId;
23908 {	result = NIM_NIL;
23909 	fieldId = (*(*field).name).id;
23910 	{
23911 		NI i;
23912 		NI colontmp_;
23913 		NI i_2;
23914 		i = (NI)0;
23915 		colontmp_ = (NI)0;
23916 		colontmp_ = len__ast_3198(initExpr);
23917 		i_2 = ((NI) 1);
23918 		{
23919 			while (1) {
23920 				if (!(i_2 < colontmp_)) goto LA3;
23921 				i = i_2;
23922 				{
23923 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* assignment;
23924 					assignment = (*initExpr)._kind_6.sons->data[i];
23925 					{
23926 						if (!!(((*assignment).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA7_;
23927 						invalidObjConstr__sem_19105(c, assignment);
23928 						goto LA4;
23929 					}
23930 					LA7_: ;
23931 					{
23932 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T11_;
23933 						T11_ = NIM_NIL;
23934 						T11_ = considerQuotedIdent__lookups_28(c, (*assignment)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
23935 						if (!(fieldId == (*T11_).id)) goto LA12_;
23936 						result = assignment;
23937 						goto BeforeRet_;
23938 					}
23939 					LA12_: ;
23940 				} LA4: ;
23941 				i_2 += ((NI) 1);
23942 			} LA3: ;
23943 		}
23944 	}
23945 	}BeforeRet_: ;
23946 	return result;
23947 }
N_NIMCALL(NimStringDesc *,fieldsPresentInInitExpr__sem_19294)23948 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, fieldsPresentInInitExpr__sem_19294)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsRecList, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initExpr) {
23949 	NimStringDesc* result;
23950 	result = NIM_NIL;
23951 	result = ((NimStringDesc*) NIM_NIL);
23952 	{
23953 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
23954 		field = NIM_NIL;
23955 		{
23956 			if (!((*fieldsRecList).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA4_;
23957 			field = fieldsRecList;
23958 			{
23959 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
23960 				NimStringDesc* T15_;
23961 				T8_ = NIM_NIL;
23962 				T8_ = locateFieldInInitExpr__sem_19118(c, (*field)._kind_4.sym, initExpr);
23963 				if (!!((T8_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA9_;
23964 				{
23965 					if (!!(((result ? result->Sup.len : 0) == ((NI) 0)))) goto LA13_;
23966 					result = resizeString(result, 2);
23967 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
23968 				}
23969 				LA13_: ;
23970 				T15_ = NIM_NIL;
23971 				T15_ = rawNewString(((*(*(*field)._kind_4.sym).name).s ? (*(*(*field)._kind_4.sym).name).s->Sup.len : 0) + 2);
23972 appendString(T15_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
23973 appendString(T15_, (*(*(*field)._kind_4.sym).name).s);
23974 appendString(T15_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
23975 				result = resizeString(result, (T15_ ? T15_->Sup.len : 0) + 0);
23976 appendString(result, T15_);
23977 			}
23978 			LA9_: ;
23979 		}
23980 		goto LA2_;
23981 		LA4_: ;
23982 		{
23983 			{
23984 				if (!!(((*fieldsRecList).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138)))) goto LA19_;
23985 				failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_506));
23986 			}
23987 			LA19_: ;
23988 			{
23989 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field_2;
23990 				field_2 = NIM_NIL;
23991 				{
23992 					NI i;
23993 					NI colontmp_;
23994 					NI i_2;
23995 					i = (NI)0;
23996 					colontmp_ = (NI)0;
23997 					colontmp_ = safeLen__ast_3191(fieldsRecList);
23998 					i_2 = ((NI) 0);
23999 					{
24000 						while (1) {
24001 							if (!(i_2 < colontmp_)) goto LA24;
24002 							i = i_2;
24003 							field_2 = (*fieldsRecList)._kind_6.sons->data[i];
24004 							{
24005 								{
24006 									if (!!(((*field_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA28_;
24007 									goto LA25;
24008 								}
24009 								LA28_: ;
24010 								field = field_2;
24011 								{
24012 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T32_;
24013 									NimStringDesc* T39_;
24014 									T32_ = NIM_NIL;
24015 									T32_ = locateFieldInInitExpr__sem_19118(c, (*field)._kind_4.sym, initExpr);
24016 									if (!!((T32_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA33_;
24017 									{
24018 										if (!!(((result ? result->Sup.len : 0) == ((NI) 0)))) goto LA37_;
24019 										result = resizeString(result, 2);
24020 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
24021 									}
24022 									LA37_: ;
24023 									T39_ = NIM_NIL;
24024 									T39_ = rawNewString(((*(*(*field)._kind_4.sym).name).s ? (*(*(*field)._kind_4.sym).name).s->Sup.len : 0) + 2);
24025 appendString(T39_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
24026 appendString(T39_, (*(*(*field)._kind_4.sym).name).s);
24027 appendString(T39_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
24028 									result = resizeString(result, (T39_ ? T39_->Sup.len : 0) + 0);
24029 appendString(result, T39_);
24030 								}
24031 								LA33_: ;
24032 							} LA25: ;
24033 							i_2 += ((NI) 1);
24034 						} LA24: ;
24035 					}
24036 				}
24037 			}
24038 		}
24039 		LA2_: ;
24040 	}
24041 	return result;
24042 }
N_INLINE(void,pushSafePoint)24043 static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
24044 	(*s).prev = excHandler__system_2565;
24045 	excHandler__system_2565 = s;
24046 }
N_INLINE(void,popSafePoint)24047 static N_INLINE(void, popSafePoint)(void) {
24048 	excHandler__system_2565 = (*excHandler__system_2565).prev;
24049 }
N_INLINE(Exception *,nimBorrowCurrentException)24050 static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
24051 	Exception* result;
24052 	result = NIM_NIL;
24053 	result = currException__system_2566;
24054 	return result;
24055 }
N_INLINE(void,popCurrentException)24056 static N_INLINE(void, popCurrentException)(void) {
24057 	asgnRef((void**) (&currException__system_2566), (*currException__system_2566).up);
24058 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,tryConstExpr__sem_582)24059 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryConstExpr__sem_582)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
24060 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* volatile result;
24061 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
24062 	NI oldErrorCount;
24063 	NI oldErrorMax;
24064 	tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA oldErrorOutputs;
24065 	TSafePoint TM__rF9caJawfOjYTjsgLVUSGFA_511;
24066 {	result = NIM_NIL;
24067 	e = semExprWithType__sem_56(c, n, 0);
24068 	{
24069 		if (!(e == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
24070 		goto BeforeRet_;
24071 	}
24072 	LA3_: ;
24073 	result = getConstExpr__semfold_81((*c).module, e, (*c).Sup.idgen, (*c).graph);
24074 	{
24075 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA7_;
24076 		goto BeforeRet_;
24077 	}
24078 	LA7_: ;
24079 	oldErrorCount = (*(*(*c).graph).config).errorCounter;
24080 	oldErrorMax = (*(*(*c).graph).config).errorMax;
24081 	oldErrorOutputs = (*(*(*c).graph).config).m.errorOutputs;
24082 	(*(*(*c).graph).config).m.errorOutputs = 0;
24083 	(*(*(*c).graph).config).errorMax = ((NI) IL64(9223372036854775807));
24084 	pushSafePoint(&TM__rF9caJawfOjYTjsgLVUSGFA_511);
24085 	TM__rF9caJawfOjYTjsgLVUSGFA_511.status = _setjmp(TM__rF9caJawfOjYTjsgLVUSGFA_511.context);
24086 	if (TM__rF9caJawfOjYTjsgLVUSGFA_511.status == 0) {
24087 	result = evalConstExpr__vm_13746((*c).module, (*c).Sup.idgen, (*c).graph, e);
24088 	{
24089 		NIM_BOOL T11_;
24090 		T11_ = (NIM_BOOL)0;
24091 		T11_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
24092 		if (T11_) goto LA12_;
24093 		T11_ = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
24094 		LA12_: ;
24095 		if (!T11_) goto LA13_;
24096 		result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
24097 	}
24098 	goto LA9_;
24099 	LA13_: ;
24100 	{
24101 		result = fixupTypeAfterEval__sem_570(c, result, e);
24102 	}
24103 	LA9_: ;
24104 	popSafePoint();
24105 	}
24106 	else {
24107 		popSafePoint();
24108 		if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIerecoverableerror__IxbcvonC7TQkv166Uvdu1g_))) {
24109 			TM__rF9caJawfOjYTjsgLVUSGFA_511.status = 0;
24110 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
24111 			popCurrentException();
24112 		}
24113 	}
24114 	if (TM__rF9caJawfOjYTjsgLVUSGFA_511.status != 0) reraiseException();
24115 	(*(*(*c).graph).config).errorCounter = oldErrorCount;
24116 	(*(*(*c).graph).config).errorMax = oldErrorMax;
24117 	(*(*(*c).graph).config).m.errorOutputs = oldErrorOutputs;
24118 	}BeforeRet_: ;
24119 	return result;
24120 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprFlagDispatched__sem_641)24121 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprFlagDispatched__sem_641)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
24122 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
24123 {	result = NIM_NIL;
24124 	{
24125 		if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 4))&31U)))!=0)) goto LA3_;
24126 		{
24127 			if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 6))&31U)))!=0)) goto LA7_;
24128 			result = tryConstExpr__sem_582(c, n);
24129 			goto BeforeRet_;
24130 		}
24131 		goto LA5_;
24132 		LA7_: ;
24133 		{
24134 			result = semConstExpr__sem_611(c, n);
24135 			goto BeforeRet_;
24136 		}
24137 		LA5_: ;
24138 	}
24139 	goto LA1_;
24140 	LA3_: ;
24141 	{
24142 		result = semExprWithType__sem_56(c, n, flags);
24143 		{
24144 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated;
24145 			if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 5))&31U)))!=0)) goto LA13_;
24146 			evaluated = getConstExpr__semfold_81((*c).module, result, (*c).Sup.idgen, (*c).graph);
24147 			{
24148 				if (!!((evaluated == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA17_;
24149 				result = evaluated;
24150 				goto BeforeRet_;
24151 			}
24152 			LA17_: ;
24153 			evaluated = evalAtCompileTime__sem_117(c, result);
24154 			{
24155 				if (!!((evaluated == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA21_;
24156 				result = evaluated;
24157 				goto BeforeRet_;
24158 			}
24159 			LA21_: ;
24160 		}
24161 		LA13_: ;
24162 	}
24163 	LA1_: ;
24164 	}BeforeRet_: ;
24165 	return result;
24166 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,fitNodeConsiderViewType__sem_212)24167 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) {
24168 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
24169 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
24170 	result = NIM_NIL;
24171 	a = fitNode__sem_70(c, formal, arg, info);
24172 	{
24173 		if (!((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA3_;
24174 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64), (*a).info, formal);
24175 		add__ast_4797(result, a);
24176 		(*formal).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
24177 	}
24178 	goto LA1_;
24179 	LA3_: ;
24180 	{
24181 		result = a;
24182 	}
24183 	LA1_: ;
24184 	return result;
24185 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConstrField__sem_19139)24186 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) {
24187 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
24188 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* assignment;
24189 {	result = NIM_NIL;
24190 	assignment = locateFieldInInitExpr__sem_19118(c, field, initExpr);
24191 	{
24192 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initValue;
24193 		if (!!((assignment == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
24194 		{
24195 			if (!(((*assignment).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0)) goto LA7_;
24196 			result = (*assignment)._kind_6.sons->data[((NI) 1)];
24197 			goto BeforeRet_;
24198 		}
24199 		LA7_: ;
24200 		{
24201 			NIM_BOOL T11_;
24202 			tyArray__nHXaesL0DJZHyVS07ARPRA T14_;
24203 			NimStringDesc* T15_;
24204 			T11_ = (NIM_BOOL)0;
24205 			T11_ = fieldVisible__sigmatch_4944(c, field);
24206 			if (!!(T11_)) goto LA12_;
24207 			nimZeroMem((void*)T14_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
24208 			T14_[0] = copyString((*(*field).name).s);
24209 			T15_ = NIM_NIL;
24210 			T15_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_509), T14_, 1);
24211 			liMessage__msgs_1118((*(*c).graph).config, (*initExpr).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T15_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_510, NIM_FALSE);
24212 			goto BeforeRet_;
24213 		}
24214 		LA12_: ;
24215 		initValue = semExprFlagDispatched__sem_641(c, (*assignment)._kind_6.sons->data[((NI) 1)], flags);
24216 		{
24217 			if (!!((initValue == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA18_;
24218 			initValue = fitNodeConsiderViewType__sem_212(c, (*field).typ, initValue, (*assignment).info);
24219 		}
24220 		LA18_: ;
24221 		asgnRef((void**) (&(*assignment)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(field));
24222 		asgnRef((void**) (&(*assignment)._kind_6.sons->data[((NI) 1)]), initValue);
24223 		(*assignment).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7)) & 31);
24224 		result = initValue;
24225 		goto BeforeRet_;
24226 	}
24227 	LA3_: ;
24228 	}BeforeRet_: ;
24229 	return result;
24230 }
N_NIMCALL(void,findUsefulCaseContext__sem_19218)24231 N_LIB_PRIVATE N_NIMCALL(void, findUsefulCaseContext__sem_19218)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* discrimator, tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* Result) {
24232 {	unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
24233 	(*Result).Field1 = 0;
24234 	{
24235 		NI i;
24236 		NI colontmp_;
24237 		NI T2_;
24238 		NI res;
24239 		i = (NI)0;
24240 		colontmp_ = (NI)0;
24241 		T2_ = (((*(*c).p).caseContext ? (*(*c).p).caseContext->Sup.len : 0)-1);
24242 		colontmp_ = T2_;
24243 		res = colontmp_;
24244 		{
24245 			while (1) {
24246 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caseNode;
24247 				NI index;
24248 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* skipped;
24249 				if (!(((NI) 0) <= res)) goto LA4;
24250 				i = res;
24251 				caseNode = NIM_NIL;
24252 				caseNode = (*(*c).p).caseContext->data[i].Field0;
24253 				index = (NI)0;
24254 				index = (*(*c).p).caseContext->data[i].Field1;
24255 				skipped = skipHidden__types_3613((*caseNode)._kind_6.sons->data[((NI) 0)]);
24256 				{
24257 					NIM_BOOL T7_;
24258 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__2;
24259 					NI colontmp__3;
24260 					T7_ = (NIM_BOOL)0;
24261 					T7_ = ((*skipped).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
24262 					if (!(T7_)) goto LA8_;
24263 					T7_ = ((*skipped)._kind_4.sym == (*discrimator)._kind_4.sym);
24264 					LA8_: ;
24265 					if (!T7_) goto LA9_;
24266 					colontmp__2 = caseNode;
24267 					colontmp__3 = index;
24268 					unsureAsgnRef((void**) (&(*Result).Field0), colontmp__2);
24269 					(*Result).Field1 = colontmp__3;
24270 					goto BeforeRet_;
24271 				}
24272 				LA9_: ;
24273 				res -= ((NI) 1);
24274 			} LA4: ;
24275 		}
24276 	}
24277 	}BeforeRet_: ;
24278 }
N_NIMCALL(void,branchVals__sem_19186)24279 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) {
24280 	{
24281 		if (!((*(*caseNode)._kind_6.sons->data[caseIdx]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA3_;
24282 		initIntSet__pureZcollectionsZintsets_238(Result);
24283 		{
24284 			NI val;
24285 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp_;
24286 			val = (NI)0;
24287 			colontmp_ = NIM_NIL;
24288 			colontmp_ = (*caseNode)._kind_6.sons->data[caseIdx];
24289 			{
24290 				if (!((*colontmp_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA8_;
24291 				{
24292 					NI i;
24293 					NI colontmp__2;
24294 					NI T11_;
24295 					NI i_2;
24296 					i = (NI)0;
24297 					colontmp__2 = (NI)0;
24298 					T11_ = (NI)0;
24299 					T11_ = len__ast_3198(colontmp_);
24300 					colontmp__2 = (NI)(T11_ - ((NI) 1));
24301 					i_2 = ((NI) 0);
24302 					{
24303 						while (1) {
24304 							if (!(i_2 < colontmp__2)) goto LA13;
24305 							i = i_2;
24306 							{
24307 								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_;
24308 								val = ((NI) ((*(*colontmp_)._kind_6.sons->data[i])._kind_1.intVal));
24309 								incl__pureZcollectionsZintsets_55(Result, val);
24310 							}
24311 							goto LA14_;
24312 							LA16_: ;
24313 							{
24314 								if (!((*(*colontmp_)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA19_;
24315 								{
24316 									NI64 i_3;
24317 									NI64 colontmp__3;
24318 									NI64 colontmp__4;
24319 									NI64 res;
24320 									i_3 = (NI64)0;
24321 									colontmp__3 = (NI64)0;
24322 									colontmp__4 = (NI64)0;
24323 									colontmp__3 = (*(*(*colontmp_)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)])._kind_1.intVal;
24324 									colontmp__4 = (*(*(*colontmp_)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)])._kind_1.intVal;
24325 									res = colontmp__3;
24326 									{
24327 										while (1) {
24328 											if (!(res <= colontmp__4)) goto LA23;
24329 											i_3 = res;
24330 											val = ((NI) (i_3));
24331 											incl__pureZcollectionsZintsets_55(Result, val);
24332 											res += ((NI) 1);
24333 										} LA23: ;
24334 									}
24335 								}
24336 							}
24337 							goto LA14_;
24338 							LA19_: ;
24339 							LA14_: ;
24340 							i_2 += ((NI) 1);
24341 						} LA13: ;
24342 					}
24343 				}
24344 			}
24345 			LA8_: ;
24346 		}
24347 	}
24348 	goto LA1_;
24349 	LA3_: ;
24350 	{
24351 		getIntSetOfType__sem_3930(c, (*(*caseNode)._kind_6.sons->data[((NI) 0)]).typ, Result);
24352 		{
24353 			NI i_4;
24354 			NI colontmp__5;
24355 			NI T26_;
24356 			NI i_5;
24357 			i_4 = (NI)0;
24358 			colontmp__5 = (NI)0;
24359 			T26_ = (NI)0;
24360 			T26_ = len__ast_3198(caseNode);
24361 			colontmp__5 = (NI)(T26_ - ((NI) 1));
24362 			i_5 = ((NI) 1);
24363 			{
24364 				while (1) {
24365 					if (!(i_5 < colontmp__5)) goto LA28;
24366 					i_4 = i_5;
24367 					{
24368 						NI val_2;
24369 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__6;
24370 						val_2 = (NI)0;
24371 						colontmp__6 = NIM_NIL;
24372 						colontmp__6 = (*caseNode)._kind_6.sons->data[i_4];
24373 						{
24374 							if (!((*colontmp__6).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA32_;
24375 							{
24376 								NI i_6;
24377 								NI colontmp__7;
24378 								NI T35_;
24379 								NI i_7;
24380 								i_6 = (NI)0;
24381 								colontmp__7 = (NI)0;
24382 								T35_ = (NI)0;
24383 								T35_ = len__ast_3198(colontmp__6);
24384 								colontmp__7 = (NI)(T35_ - ((NI) 1));
24385 								i_7 = ((NI) 0);
24386 								{
24387 									while (1) {
24388 										if (!(i_7 < colontmp__7)) goto LA37;
24389 										i_6 = i_7;
24390 										{
24391 											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_;
24392 											val_2 = ((NI) ((*(*colontmp__6)._kind_6.sons->data[i_6])._kind_1.intVal));
24393 											excl__reorder_264(Result, val_2);
24394 										}
24395 										goto LA38_;
24396 										LA40_: ;
24397 										{
24398 											if (!((*(*colontmp__6)._kind_6.sons->data[i_6]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA43_;
24399 											{
24400 												NI64 i_8;
24401 												NI64 colontmp__8;
24402 												NI64 colontmp__9;
24403 												NI64 res_2;
24404 												i_8 = (NI64)0;
24405 												colontmp__8 = (NI64)0;
24406 												colontmp__9 = (NI64)0;
24407 												colontmp__8 = (*(*(*colontmp__6)._kind_6.sons->data[i_6])._kind_6.sons->data[((NI) 0)])._kind_1.intVal;
24408 												colontmp__9 = (*(*(*colontmp__6)._kind_6.sons->data[i_6])._kind_6.sons->data[((NI) 1)])._kind_1.intVal;
24409 												res_2 = colontmp__8;
24410 												{
24411 													while (1) {
24412 														if (!(res_2 <= colontmp__9)) goto LA47;
24413 														i_8 = res_2;
24414 														val_2 = ((NI) (i_8));
24415 														excl__reorder_264(Result, val_2);
24416 														res_2 += ((NI) 1);
24417 													} LA47: ;
24418 												}
24419 											}
24420 										}
24421 										goto LA38_;
24422 										LA43_: ;
24423 										LA38_: ;
24424 										i_7 += ((NI) 1);
24425 									} LA37: ;
24426 								}
24427 							}
24428 						}
24429 						LA32_: ;
24430 					}
24431 					i_5 += ((NI) 1);
24432 				} LA28: ;
24433 			}
24434 		}
24435 	}
24436 	LA1_: ;
24437 }
N_NIMCALL(NIM_BOOL,caseBranchMatchesExpr__sem_19167)24438 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, caseBranchMatchesExpr__sem_19167)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* matched) {
24439 	NIM_BOOL result;
24440 {	result = (NIM_BOOL)0;
24441 	{
24442 		NI i;
24443 		NI colontmp_;
24444 		NI T2_;
24445 		NI i_2;
24446 		i = (NI)0;
24447 		colontmp_ = (NI)0;
24448 		T2_ = (NI)0;
24449 		T2_ = len__ast_3198(branch);
24450 		colontmp_ = (NI)(T2_ - ((NI) 1));
24451 		i_2 = ((NI) 0);
24452 		{
24453 			while (1) {
24454 				if (!(i_2 < colontmp_)) goto LA4;
24455 				i = i_2;
24456 				{
24457 					if (!((*(*branch)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA7_;
24458 					{
24459 						NIM_BOOL T11_;
24460 						T11_ = (NIM_BOOL)0;
24461 						T11_ = overlap__nimsets_40((*branch)._kind_6.sons->data[i], matched);
24462 						if (!T11_) goto LA12_;
24463 						result = NIM_TRUE;
24464 						goto BeforeRet_;
24465 					}
24466 					LA12_: ;
24467 				}
24468 				goto LA5_;
24469 				LA7_: ;
24470 				{
24471 					NIM_BOOL T15_;
24472 					T15_ = (NIM_BOOL)0;
24473 					T15_ = exprStructuralEquivalent__trees_56((*branch)._kind_6.sons->data[i], matched, NIM_FALSE);
24474 					if (!T15_) goto LA16_;
24475 					result = NIM_TRUE;
24476 					goto BeforeRet_;
24477 				}
24478 				goto LA5_;
24479 				LA16_: ;
24480 				LA5_: ;
24481 				i_2 += ((NI) 1);
24482 			} LA4: ;
24483 		}
24484 	}
24485 	result = NIM_FALSE;
24486 	goto BeforeRet_;
24487 	}BeforeRet_: ;
24488 	return result;
24489 }
N_NIMCALL(void,collectMissingFields__sem_19304)24490 N_LIB_PRIVATE N_NIMCALL(void, collectMissingFields__sem_19304)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsRecList, tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw* constrCtx) {
24491 	{
24492 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
24493 		r = NIM_NIL;
24494 		{
24495 			if (!((*fieldsRecList).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA4_;
24496 			r = fieldsRecList;
24497 			{
24498 				NIM_BOOL T8_;
24499 				NIM_BOOL T9_;
24500 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* assignment;
24501 				T8_ = (NIM_BOOL)0;
24502 				T9_ = (NIM_BOOL)0;
24503 				T9_ = (*constrCtx).needsFullInit;
24504 				if (T9_) goto LA10_;
24505 				T9_ = (((*(*r)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 21))&63U)))!=0);
24506 				LA10_: ;
24507 				T8_ = T9_;
24508 				if (T8_) goto LA11_;
24509 				T8_ = requiresInit__typeallowed_578((*(*r)._kind_4.sym).typ);
24510 				LA11_: ;
24511 				if (!T8_) goto LA12_;
24512 				assignment = locateFieldInInitExpr__sem_19118(c, (*r)._kind_4.sym, (*constrCtx).initExpr);
24513 				{
24514 					NI T18_;
24515 					if (!(assignment == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA16_;
24516 					unsureAsgnRef((void**) (&(*constrCtx).missingFields), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*constrCtx).missingFields), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
24517 					T18_ = (*constrCtx).missingFields->Sup.len++;
24518 					asgnRef((void**) (&(*constrCtx).missingFields->data[T18_]), (*r)._kind_4.sym);
24519 				}
24520 				LA16_: ;
24521 			}
24522 			LA12_: ;
24523 		}
24524 		goto LA2_;
24525 		LA4_: ;
24526 		{
24527 			{
24528 				if (!!(((*fieldsRecList).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138)))) goto LA22_;
24529 				failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_506));
24530 			}
24531 			LA22_: ;
24532 			{
24533 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
24534 				field = NIM_NIL;
24535 				{
24536 					NI i;
24537 					NI colontmp_;
24538 					NI i_2;
24539 					i = (NI)0;
24540 					colontmp_ = (NI)0;
24541 					colontmp_ = safeLen__ast_3191(fieldsRecList);
24542 					i_2 = ((NI) 0);
24543 					{
24544 						while (1) {
24545 							if (!(i_2 < colontmp_)) goto LA27;
24546 							i = i_2;
24547 							field = (*fieldsRecList)._kind_6.sons->data[i];
24548 							{
24549 								{
24550 									if (!!(((*field).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA31_;
24551 									goto LA28;
24552 								}
24553 								LA31_: ;
24554 								r = field;
24555 								{
24556 									NIM_BOOL T35_;
24557 									NIM_BOOL T36_;
24558 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* assignment_2;
24559 									T35_ = (NIM_BOOL)0;
24560 									T36_ = (NIM_BOOL)0;
24561 									T36_ = (*constrCtx).needsFullInit;
24562 									if (T36_) goto LA37_;
24563 									T36_ = (((*(*r)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 21))&63U)))!=0);
24564 									LA37_: ;
24565 									T35_ = T36_;
24566 									if (T35_) goto LA38_;
24567 									T35_ = requiresInit__typeallowed_578((*(*r)._kind_4.sym).typ);
24568 									LA38_: ;
24569 									if (!T35_) goto LA39_;
24570 									assignment_2 = locateFieldInInitExpr__sem_19118(c, (*r)._kind_4.sym, (*constrCtx).initExpr);
24571 									{
24572 										NI T45_;
24573 										if (!(assignment_2 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA43_;
24574 										unsureAsgnRef((void**) (&(*constrCtx).missingFields), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*constrCtx).missingFields), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
24575 										T45_ = (*constrCtx).missingFields->Sup.len++;
24576 										asgnRef((void**) (&(*constrCtx).missingFields->data[T45_]), (*r)._kind_4.sym);
24577 									}
24578 									LA43_: ;
24579 								}
24580 								LA39_: ;
24581 							} LA28: ;
24582 							i_2 += ((NI) 1);
24583 						} LA27: ;
24584 					}
24585 				}
24586 			}
24587 		}
24588 		LA2_: ;
24589 	}
24590 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,pickCaseBranch__sem_19243)24591 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pickCaseBranch__sem_19243)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caseExpr, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* matched) {
24592 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
24593 	NIM_BOOL endsWithElse;
24594 	NI T1_;
24595 {	result = NIM_NIL;
24596 	T1_ = (NI)0;
24597 	T1_ = len__ast_3198(caseExpr);
24598 	endsWithElse = ((*(*caseExpr)._kind_6.sons->data[(NI)(T1_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88));
24599 	{
24600 		NI i;
24601 		NI colontmp_;
24602 		NI T3_;
24603 		NI i_2;
24604 		i = (NI)0;
24605 		colontmp_ = (NI)0;
24606 		T3_ = (NI)0;
24607 		T3_ = len__ast_3198(caseExpr);
24608 		colontmp_ = (NI)(T3_ - ((NI) (endsWithElse)));
24609 		i_2 = ((NI) 1);
24610 		{
24611 			while (1) {
24612 				if (!(i_2 < colontmp_)) goto LA5;
24613 				i = i_2;
24614 				{
24615 					NIM_BOOL T8_;
24616 					T8_ = (NIM_BOOL)0;
24617 					T8_ = caseBranchMatchesExpr__sem_19167((*caseExpr)._kind_6.sons->data[i], matched);
24618 					if (!T8_) goto LA9_;
24619 					result = (*caseExpr)._kind_6.sons->data[i];
24620 					goto BeforeRet_;
24621 				}
24622 				LA9_: ;
24623 				i_2 += ((NI) 1);
24624 			} LA5: ;
24625 		}
24626 	}
24627 	{
24628 		NI T15_;
24629 		if (!endsWithElse) goto LA13_;
24630 		T15_ = (NI)0;
24631 		T15_ = len__ast_3198(caseExpr);
24632 		result = (*caseExpr)._kind_6.sons->data[(NI)(T15_ - ((NI) 1))];
24633 		goto BeforeRet_;
24634 	}
24635 	LA13_: ;
24636 	}BeforeRet_: ;
24637 	return result;
24638 }
N_NIMCALL(tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ,semConstructFields__sem_19322)24639 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) {
24640 	tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ result;
24641 	result = (tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ)0;
24642 	result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 0);
24643 	switch ((*n).kind) {
24644 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
24645 	{
24646 		{
24647 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
24648 			field = NIM_NIL;
24649 			{
24650 				NI i;
24651 				NI colontmp_;
24652 				NI i_2;
24653 				i = (NI)0;
24654 				colontmp_ = (NI)0;
24655 				colontmp_ = safeLen__ast_3191(n);
24656 				i_2 = ((NI) 0);
24657 				{
24658 					while (1) {
24659 						tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ status;
24660 						if (!(i_2 < colontmp_)) goto LA5;
24661 						i = i_2;
24662 						field = (*n)._kind_6.sons->data[i];
24663 						status = semConstructFields__sem_19322(c, field, constrCtx, flags);
24664 						mergeInitStatus__sem_19071((&result), status);
24665 						i_2 += ((NI) 1);
24666 					} LA5: ;
24667 				}
24668 			}
24669 		}
24670 	}
24671 	break;
24672 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
24673 	{
24674 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* discriminator;
24675 		NI selectedBranch;
24676 		discriminator = (*n)._kind_6.sons->data[((NI) 0)];
24677 		{
24678 			NimStringDesc* argX60gensym5096_;
24679 			if (!!(((*discriminator).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA9_;
24680 			argX60gensym5096_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_500);
24681 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym5096_, TM__rF9caJawfOjYTjsgLVUSGFA_500);
24682 		}
24683 		LA9_: ;
24684 		selectedBranch = ((NI) -1);
24685 		{
24686 			NI i_3;
24687 			NI colontmp__2;
24688 			NI i_4;
24689 			i_3 = (NI)0;
24690 			colontmp__2 = (NI)0;
24691 			colontmp__2 = len__ast_3198(n);
24692 			i_4 = ((NI) 1);
24693 			{
24694 				while (1) {
24695 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* innerRecords;
24696 					NI T14_;
24697 					tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ status_2;
24698 					if (!(i_4 < colontmp__2)) goto LA13;
24699 					i_3 = i_4;
24700 					T14_ = (NI)0;
24701 					T14_ = len__ast_3198((*n)._kind_6.sons->data[i_3]);
24702 					innerRecords = (*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[(NI)(T14_ - ((NI) 1))];
24703 					status_2 = semConstructFields__sem_19322(c, innerRecords, constrCtx, flags);
24704 					{
24705 						if (!!(((9 &((NU8)1<<((NU)(status_2)&7U)))!=0))) goto LA17_;
24706 						mergeInitStatus__sem_19071((&result), status_2);
24707 						{
24708 							NimStringDesc* prevFields;
24709 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym5104_;
24710 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5104_;
24711 							NI T23_;
24712 							NimStringDesc* currentFields;
24713 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym5109_;
24714 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5109_;
24715 							NI T24_;
24716 							tyArray__Re75IspeoxXy2oCZHwcRrA T25_;
24717 							NimStringDesc* T26_;
24718 							if (!!((selectedBranch == ((NI) -1)))) goto LA21_;
24719 							branchX60gensym5104_ = (*n)._kind_6.sons->data[selectedBranch];
24720 							T23_ = (NI)0;
24721 							T23_ = len__ast_3198(branchX60gensym5104_);
24722 							fieldsX60gensym5104_ = (*branchX60gensym5104_)._kind_6.sons->data[(NI)(T23_ - ((NI) 1))];
24723 							prevFields = fieldsPresentInInitExpr__sem_19294(c, fieldsX60gensym5104_, (*constrCtx).initExpr);
24724 							branchX60gensym5109_ = (*n)._kind_6.sons->data[i_3];
24725 							T24_ = (NI)0;
24726 							T24_ = len__ast_3198(branchX60gensym5109_);
24727 							fieldsX60gensym5109_ = (*branchX60gensym5109_)._kind_6.sons->data[(NI)(T24_ - ((NI) 1))];
24728 							currentFields = fieldsPresentInInitExpr__sem_19294(c, fieldsX60gensym5109_, (*constrCtx).initExpr);
24729 							nimZeroMem((void*)T25_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
24730 							T25_[0] = copyString(prevFields);
24731 							T25_[1] = copyString(currentFields);
24732 							T26_ = NIM_NIL;
24733 							T26_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_507), T25_, 2);
24734 							liMessage__msgs_1118((*(*c).graph).config, (*(*constrCtx).initExpr).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_508, NIM_FALSE);
24735 							result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 4);
24736 						}
24737 						goto LA19_;
24738 						LA21_: ;
24739 						{
24740 							selectedBranch = i_3;
24741 						}
24742 						LA19_: ;
24743 					}
24744 					LA17_: ;
24745 					i_4 += ((NI) 1);
24746 				} LA13: ;
24747 			}
24748 		}
24749 		{
24750 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchNode;
24751 			tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags_2;
24752 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* discriminatorVal;
24753 			if (!!((selectedBranch == ((NI) -1)))) goto LA30_;
24754 			branchNode = (*n)._kind_6.sons->data[selectedBranch];
24755 			flags_2 = 96;
24756 			discriminatorVal = semConstrField__sem_19139(c, flags_2, (*discriminator)._kind_4.sym, (*constrCtx).initExpr);
24757 			{
24758 				if (!!((discriminatorVal == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA34_;
24759 				discriminatorVal = skipHidden__types_3613(discriminatorVal);
24760 				{
24761 					NIM_BOOL T38_;
24762 					NIM_BOOL T40_;
24763 					NIM_BOOL T41_;
24764 					NIM_BOOL T42_;
24765 					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T44_;
24766 					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T46_;
24767 					T38_ = (NIM_BOOL)0;
24768 					T38_ = !(((*discriminatorVal).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*discriminatorVal).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22)));
24769 					if (!(T38_)) goto LA39_;
24770 					T40_ = (NIM_BOOL)0;
24771 					T41_ = (NIM_BOOL)0;
24772 					T42_ = (NIM_BOOL)0;
24773 					T42_ = isOrdinalType__types_299((*discriminatorVal).typ, NIM_TRUE);
24774 					T41_ = !(T42_);
24775 					if (T41_) goto LA43_;
24776 					T44_ = lengthOrd__types_1661((*(*c).graph).config, (*discriminatorVal).typ);
24777 					T41_ = lt___int495056_738(IL64(65536), T44_);
24778 					LA43_: ;
24779 					T40_ = T41_;
24780 					if (T40_) goto LA45_;
24781 					T46_ = lengthOrd__types_1661((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
24782 					T40_ = lt___int495056_738(IL64(65536), T46_);
24783 					LA45_: ;
24784 					T38_ = T40_;
24785 					LA39_: ;
24786 					if (!T38_) goto LA47_;
24787 					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);
24788 				}
24789 				LA47_: ;
24790 			}
24791 			LA34_: ;
24792 			{
24793 				if (!(discriminatorVal == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA51_;
24794 				{
24795 					NimStringDesc* fieldsX60gensym5129_;
24796 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym5130_;
24797 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5130_;
24798 					NI T57_;
24799 					tyArray__Re75IspeoxXy2oCZHwcRrA T58_;
24800 					NimStringDesc* T59_;
24801 					if (!((*c).inUncheckedAssignSection == ((NI) 0))) goto LA55_;
24802 					branchX60gensym5130_ = (*n)._kind_6.sons->data[selectedBranch];
24803 					T57_ = (NI)0;
24804 					T57_ = len__ast_3198(branchX60gensym5130_);
24805 					fieldsX60gensym5130_ = (*branchX60gensym5130_)._kind_6.sons->data[(NI)(T57_ - ((NI) 1))];
24806 					fieldsX60gensym5129_ = fieldsPresentInInitExpr__sem_19294(c, fieldsX60gensym5130_, (*constrCtx).initExpr);
24807 					nimZeroMem((void*)T58_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
24808 					T58_[0] = copyString(fieldsX60gensym5129_);
24809 					T58_[1] = copyString((*(*(*discriminator)._kind_4.sym).name).s);
24810 					T59_ = NIM_NIL;
24811 					T59_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_514), T58_, 2);
24812 					liMessage__msgs_1118((*(*c).graph).config, (*(*constrCtx).initExpr).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T59_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_515, NIM_FALSE);
24813 				}
24814 				LA55_: ;
24815 				mergeInitStatus__sem_19071((&result), ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3));
24816 			}
24817 			goto LA49_;
24818 			LA51_: ;
24819 			{
24820 				tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw T63_;
24821 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ctorCase;
24822 				NI ctorIdx;
24823 				if (!((*discriminatorVal).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA61_;
24824 				nimZeroMem((void*)(&T63_), sizeof(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw));
24825 				findUsefulCaseContext__sem_19218(c, discriminatorVal, (&T63_));
24826 				ctorCase = NIM_NIL;
24827 				ctorCase = T63_.Field0;
24828 				ctorIdx = (NI)0;
24829 				ctorIdx = T63_.Field1;
24830 				{
24831 					if (!(ctorCase == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA66_;
24832 					{
24833 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA rangeVals;
24834 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA recBranchVals;
24835 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA diff;
24836 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T72_;
24837 						if (!((*(*discriminatorVal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20))) goto LA70_;
24838 						nimZeroMem((void*)(&rangeVals), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24839 						getIntSetOfType__sem_3930(c, (*discriminatorVal).typ, (&rangeVals));
24840 						nimZeroMem((void*)(&recBranchVals), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24841 						branchVals__sem_19186(c, n, selectedBranch, NIM_FALSE, (&recBranchVals));
24842 						nimZeroMem((void*)(&diff), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24843 						nimZeroMem((void*)(&T72_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24844 						minus___sem_4040((&rangeVals), (&recBranchVals), (&T72_));
24845 						nimCopyMem((void*)(&diff), (NIM_CONST void*)(&T72_), sizeof(diff));
24846 						{
24847 							NI T75_;
24848 							tyArray__Re75IspeoxXy2oCZHwcRrA T78_;
24849 							NimStringDesc* T79_;
24850 							T75_ = (NI)0;
24851 							T75_ = len__nilcheck_1772((&diff));
24852 							if (!!((T75_ == ((NI) 0)))) goto LA76_;
24853 							nimZeroMem((void*)T78_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
24854 							T78_[0] = dollar___systemZdollars_3(selectedBranch);
24855 							T78_[1] = renderAsType__sem_3988((&diff), (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
24856 							T79_ = NIM_NIL;
24857 							T79_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_516), T78_, 2);
24858 							liMessage__msgs_1118((*(*c).graph).config, (*discriminatorVal).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T79_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_517, NIM_FALSE);
24859 						}
24860 						LA76_: ;
24861 					}
24862 					goto LA68_;
24863 					LA70_: ;
24864 					{
24865 						{
24866 							NimStringDesc* fieldsX60gensym5144_;
24867 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym5145_;
24868 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5145_;
24869 							NI T85_;
24870 							tyArray__Re75IspeoxXy2oCZHwcRrA T86_;
24871 							NimStringDesc* T87_;
24872 							if (!((*c).inUncheckedAssignSection == ((NI) 0))) goto LA83_;
24873 							branchX60gensym5145_ = (*n)._kind_6.sons->data[selectedBranch];
24874 							T85_ = (NI)0;
24875 							T85_ = len__ast_3198(branchX60gensym5145_);
24876 							fieldsX60gensym5145_ = (*branchX60gensym5145_)._kind_6.sons->data[(NI)(T85_ - ((NI) 1))];
24877 							fieldsX60gensym5144_ = fieldsPresentInInitExpr__sem_19294(c, fieldsX60gensym5145_, (*constrCtx).initExpr);
24878 							nimZeroMem((void*)T86_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
24879 							T86_[0] = copyString(fieldsX60gensym5144_);
24880 							T86_[1] = copyString((*(*(*discriminator)._kind_4.sym).name).s);
24881 							T87_ = NIM_NIL;
24882 							T87_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_514), T86_, 2);
24883 							liMessage__msgs_1118((*(*c).graph).config, (*(*constrCtx).initExpr).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T87_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_515, NIM_FALSE);
24884 						}
24885 						LA83_: ;
24886 						mergeInitStatus__sem_19071((&result), ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3));
24887 					}
24888 					LA68_: ;
24889 				}
24890 				goto LA64_;
24891 				LA66_: ;
24892 				{
24893 					NIM_BOOL T89_;
24894 					T89_ = (NIM_BOOL)0;
24895 					T89_ = !(((520 &((NU32)1<<((NU)((*(*discriminatorVal)._kind_4.sym).kind)&31U)))!=0));
24896 					if (T89_) goto LA90_;
24897 					T89_ = ((*(*(*discriminatorVal)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
24898 					LA90_: ;
24899 					if (!T89_) goto LA91_;
24900 					{
24901 						if (!((*c).inUncheckedAssignSection == ((NI) 0))) goto LA95_;
24902 						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);
24903 					}
24904 					LA95_: ;
24905 				}
24906 				goto LA64_;
24907 				LA91_: ;
24908 				{
24909 					if (!((*(*ctorCase)._kind_6.sons->data[ctorIdx]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86))) goto LA98_;
24910 					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);
24911 				}
24912 				goto LA64_;
24913 				LA98_: ;
24914 				{
24915 					tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA ctorBranchVals;
24916 					tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA recBranchVals_2;
24917 					tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA branchValsDiff;
24918 					nimZeroMem((void*)(&ctorBranchVals), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24919 					branchVals__sem_19186(c, ctorCase, ctorIdx, NIM_TRUE, (&ctorBranchVals));
24920 					nimZeroMem((void*)(&recBranchVals_2), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24921 					branchVals__sem_19186(c, n, selectedBranch, NIM_FALSE, (&recBranchVals_2));
24922 					nimZeroMem((void*)(&branchValsDiff), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24923 					minus___sem_4040((&ctorBranchVals), (&recBranchVals_2), (&branchValsDiff));
24924 					{
24925 						NI T103_;
24926 						tyArray__Re75IspeoxXy2oCZHwcRrA T106_;
24927 						NimStringDesc* T107_;
24928 						T103_ = (NI)0;
24929 						T103_ = len__nilcheck_1772((&branchValsDiff));
24930 						if (!!((T103_ == ((NI) 0)))) goto LA104_;
24931 						nimZeroMem((void*)T106_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
24932 						T106_[0] = dollar___systemZdollars_3(selectedBranch);
24933 						T106_[1] = renderAsType__sem_3988((&branchValsDiff), (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
24934 						T107_ = NIM_NIL;
24935 						T107_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_516), T106_, 2);
24936 						liMessage__msgs_1118((*(*c).graph).config, (*discriminatorVal).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T107_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_522, NIM_FALSE);
24937 					}
24938 					LA104_: ;
24939 				}
24940 				LA64_: ;
24941 			}
24942 			goto LA49_;
24943 			LA61_: ;
24944 			{
24945 				NI failedBranch;
24946 				failedBranch = ((NI) -1);
24947 				{
24948 					if (!!(((*branchNode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88)))) goto LA111_;
24949 					{
24950 						NIM_BOOL T115_;
24951 						T115_ = (NIM_BOOL)0;
24952 						T115_ = caseBranchMatchesExpr__sem_19167(branchNode, discriminatorVal);
24953 						if (!!(T115_)) goto LA116_;
24954 						failedBranch = selectedBranch;
24955 					}
24956 					LA116_: ;
24957 				}
24958 				goto LA109_;
24959 				LA111_: ;
24960 				{
24961 					{
24962 						NI i_5;
24963 						NI colontmp__3;
24964 						NI T120_;
24965 						NI i_6;
24966 						i_5 = (NI)0;
24967 						colontmp__3 = (NI)0;
24968 						T120_ = (NI)0;
24969 						T120_ = len__ast_3198(n);
24970 						colontmp__3 = (NI)(T120_ - ((NI) 1));
24971 						i_6 = ((NI) 1);
24972 						{
24973 							while (1) {
24974 								if (!(i_6 < colontmp__3)) goto LA122;
24975 								i_5 = i_6;
24976 								{
24977 									NIM_BOOL T125_;
24978 									T125_ = (NIM_BOOL)0;
24979 									T125_ = caseBranchMatchesExpr__sem_19167((*n)._kind_6.sons->data[i_5], discriminatorVal);
24980 									if (!T125_) goto LA126_;
24981 									failedBranch = i_5;
24982 									goto LA119;
24983 								}
24984 								LA126_: ;
24985 								i_6 += ((NI) 1);
24986 							} LA122: ;
24987 						}
24988 					} LA119: ;
24989 				}
24990 				LA109_: ;
24991 				{
24992 					if (!!((failedBranch == ((NI) -1)))) goto LA130_;
24993 					{
24994 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA rangeVals_2;
24995 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA recBranchVals_3;
24996 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA diff_2;
24997 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T136_;
24998 						if (!((*(*discriminatorVal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20))) goto LA134_;
24999 						nimZeroMem((void*)(&rangeVals_2), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
25000 						getIntSetOfType__sem_3930(c, (*discriminatorVal).typ, (&rangeVals_2));
25001 						nimZeroMem((void*)(&recBranchVals_3), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
25002 						branchVals__sem_19186(c, n, selectedBranch, NIM_FALSE, (&recBranchVals_3));
25003 						nimZeroMem((void*)(&diff_2), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
25004 						nimZeroMem((void*)(&T136_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
25005 						minus___sem_4040((&rangeVals_2), (&recBranchVals_3), (&T136_));
25006 						nimCopyMem((void*)(&diff_2), (NIM_CONST void*)(&T136_), sizeof(diff_2));
25007 						{
25008 							NI T139_;
25009 							tyArray__Re75IspeoxXy2oCZHwcRrA T142_;
25010 							NimStringDesc* T143_;
25011 							T139_ = (NI)0;
25012 							T139_ = len__nilcheck_1772((&diff_2));
25013 							if (!!((T139_ == ((NI) 0)))) goto LA140_;
25014 							nimZeroMem((void*)T142_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
25015 							T142_[0] = dollar___systemZdollars_3(selectedBranch);
25016 							T142_[1] = renderAsType__sem_3988((&diff_2), (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
25017 							T143_ = NIM_NIL;
25018 							T143_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_516), T142_, 2);
25019 							liMessage__msgs_1118((*(*c).graph).config, (*discriminatorVal).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T143_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_523, NIM_FALSE);
25020 						}
25021 						LA140_: ;
25022 					}
25023 					goto LA132_;
25024 					LA134_: ;
25025 					{
25026 						{
25027 							NimStringDesc* fieldsX60gensym5177_;
25028 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym5178_;
25029 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5178_;
25030 							NI T149_;
25031 							tyArray__24KAM9afIUgUaqBaEBB6r9bg T150_;
25032 							NimStringDesc* T151_;
25033 							if (!((*c).inUncheckedAssignSection == ((NI) 0))) goto LA147_;
25034 							branchX60gensym5178_ = (*n)._kind_6.sons->data[failedBranch];
25035 							T149_ = (NI)0;
25036 							T149_ = len__ast_3198(branchX60gensym5178_);
25037 							fieldsX60gensym5178_ = (*branchX60gensym5178_)._kind_6.sons->data[(NI)(T149_ - ((NI) 1))];
25038 							fieldsX60gensym5177_ = fieldsPresentInInitExpr__sem_19294(c, fieldsX60gensym5178_, (*constrCtx).initExpr);
25039 							nimZeroMem((void*)T150_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
25040 							T150_[0] = copyString((*(*(*discriminator)._kind_4.sym).name).s);
25041 							T150_[1] = renderTree__renderer_46(discriminatorVal, 0);
25042 							T150_[2] = copyString(fieldsX60gensym5177_);
25043 							T151_ = NIM_NIL;
25044 							T151_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_524), T150_, 3);
25045 							liMessage__msgs_1118((*(*c).graph).config, (*(*constrCtx).initExpr).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T151_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_525, NIM_FALSE);
25046 						}
25047 						LA147_: ;
25048 					}
25049 					LA132_: ;
25050 				}
25051 				LA130_: ;
25052 			}
25053 			LA49_: ;
25054 			{
25055 				if (!(result == ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 2))) goto LA154_;
25056 				{
25057 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5186_;
25058 					NI T160_;
25059 					if (!!((branchNode == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA158_;
25060 					T160_ = (NI)0;
25061 					T160_ = len__ast_3198(branchNode);
25062 					fieldsX60gensym5186_ = (*branchNode)._kind_6.sons->data[(NI)(T160_ - ((NI) 1))];
25063 					collectMissingFields__sem_19304(c, fieldsX60gensym5186_, constrCtx);
25064 				}
25065 				LA158_: ;
25066 			}
25067 			LA154_: ;
25068 		}
25069 		goto LA28_;
25070 		LA30_: ;
25071 		{
25072 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* discriminatorVal_2;
25073 			result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3);
25074 			discriminatorVal_2 = semConstrField__sem_19139(c, (flags | 32), (*discriminator)._kind_4.sym, (*constrCtx).initExpr);
25075 			{
25076 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* defaultValue;
25077 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* matchedBranch;
25078 				if (!(discriminatorVal_2 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA164_;
25079 				defaultValue = newIntLit__lowerings_695((*c).graph, (*(*constrCtx).initExpr).info, IL64(0));
25080 				matchedBranch = pickCaseBranch__sem_19243(n, defaultValue);
25081 				{
25082 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5191_;
25083 					NI T170_;
25084 					if (!!((matchedBranch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA168_;
25085 					T170_ = (NI)0;
25086 					T170_ = len__ast_3198(matchedBranch);
25087 					fieldsX60gensym5191_ = (*matchedBranch)._kind_6.sons->data[(NI)(T170_ - ((NI) 1))];
25088 					collectMissingFields__sem_19304(c, fieldsX60gensym5191_, constrCtx);
25089 				}
25090 				LA168_: ;
25091 			}
25092 			goto LA162_;
25093 			LA164_: ;
25094 			{
25095 				result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 2);
25096 				{
25097 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* matchedBranch_2;
25098 					if (!((*discriminatorVal_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA174_;
25099 					matchedBranch_2 = pickCaseBranch__sem_19243(n, discriminatorVal_2);
25100 					{
25101 						if (!!((matchedBranch_2 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA178_;
25102 						{
25103 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5197_;
25104 							NI T184_;
25105 							if (!!((matchedBranch_2 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA182_;
25106 							T184_ = (NI)0;
25107 							T184_ = len__ast_3198(matchedBranch_2);
25108 							fieldsX60gensym5197_ = (*matchedBranch_2)._kind_6.sons->data[(NI)(T184_ - ((NI) 1))];
25109 							collectMissingFields__sem_19304(c, fieldsX60gensym5197_, constrCtx);
25110 						}
25111 						LA182_: ;
25112 					}
25113 					LA178_: ;
25114 				}
25115 				goto LA172_;
25116 				LA174_: ;
25117 				{
25118 					{
25119 						NI i_7;
25120 						NI colontmp__4;
25121 						NI i_8;
25122 						i_7 = (NI)0;
25123 						colontmp__4 = (NI)0;
25124 						colontmp__4 = len__ast_3198(n);
25125 						i_8 = ((NI) 1);
25126 						{
25127 							while (1) {
25128 								if (!(i_8 < colontmp__4)) goto LA188;
25129 								i_7 = i_8;
25130 								{
25131 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5203_;
25132 									NI T193_;
25133 									if (!!(((*n)._kind_6.sons->data[i_7] == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA191_;
25134 									T193_ = (NI)0;
25135 									T193_ = len__ast_3198((*n)._kind_6.sons->data[i_7]);
25136 									fieldsX60gensym5203_ = (*(*n)._kind_6.sons->data[i_7])._kind_6.sons->data[(NI)(T193_ - ((NI) 1))];
25137 									collectMissingFields__sem_19304(c, fieldsX60gensym5203_, constrCtx);
25138 								}
25139 								LA191_: ;
25140 								i_8 += ((NI) 1);
25141 							} LA188: ;
25142 						}
25143 					}
25144 				}
25145 				LA172_: ;
25146 			}
25147 			LA162_: ;
25148 		}
25149 		LA28_: ;
25150 	}
25151 	break;
25152 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
25153 	{
25154 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field_2;
25155 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
25156 		field_2 = (*n)._kind_4.sym;
25157 		e = semConstrField__sem_19139(c, flags, field_2, (*constrCtx).initExpr);
25158 		{
25159 			if (!!((e == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA197_;
25160 			result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 1);
25161 		}
25162 		goto LA195_;
25163 		LA197_: ;
25164 		{
25165 			result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3);
25166 		}
25167 		LA195_: ;
25168 	}
25169 	break;
25170 	default:
25171 	{
25172 		{
25173 			NimStringDesc* argX60gensym5210_;
25174 			if (!NIM_TRUE) goto LA203_;
25175 			argX60gensym5210_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_526);
25176 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym5210_, TM__rF9caJawfOjYTjsgLVUSGFA_526);
25177 		}
25178 		LA203_: ;
25179 	}
25180 	break;
25181 	}
25182 	return result;
25183 }
N_NIMCALL(tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ,semConstructTypeAux__sem_19627)25184 N_LIB_PRIVATE N_NIMCALL(tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ, semConstructTypeAux__sem_19627)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw* constrCtx, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
25185 	tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ result;
25186 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
25187 {	result = (tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ)0;
25188 	result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 0);
25189 	t = (*constrCtx).typ;
25190 	{
25191 		while (1) {
25192 			tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ status;
25193 			tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
25194 			NIM_BOOL T15_;
25195 			status = semConstructFields__sem_19322(c, (*t).n, constrCtx, flags);
25196 			mergeInitStatus__sem_19071((&result), status);
25197 			{
25198 				if (!((13 &((NU8)1<<((NU)(status)&7U)))!=0)) goto LA5_;
25199 				collectMissingFields__sem_19304(c, (*t).n, constrCtx);
25200 			}
25201 			LA5_: ;
25202 			base = (*t).sons->data[((NI) 0)];
25203 			{
25204 				if (!(base == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA9_;
25205 				goto LA1;
25206 			}
25207 			LA9_: ;
25208 			t = skipTypes__ast_3735(base, TM__rF9caJawfOjYTjsgLVUSGFA_53);
25209 			{
25210 				if (!!(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA13_;
25211 				goto BeforeRet_;
25212 			}
25213 			LA13_: ;
25214 			T15_ = (NIM_BOOL)0;
25215 			T15_ = (*constrCtx).needsFullInit;
25216 			if (T15_) goto LA16_;
25217 			T15_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 19))&63U)))!=0);
25218 			LA16_: ;
25219 			(*constrCtx).needsFullInit = T15_;
25220 		}
25221 	} LA1: ;
25222 	}BeforeRet_: ;
25223 	return result;
25224 }
N_NIMCALL(NIM_BOOL,computeRequiresInit__sem_135)25225 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, computeRequiresInit__sem_135)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
25226 	NIM_BOOL result;
25227 	tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw constrCtx;
25228 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
25229 	tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ initResult;
25230 	NI T2_;
25231 	result = (NIM_BOOL)0;
25232 	nimZeroMem((void*)(&constrCtx), sizeof(tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw));
25233 	T1_ = NIM_NIL;
25234 	T1_ = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38));
25235 	initConstrContext__sem_19652(t, T1_, (&constrCtx));
25236 	initResult = semConstructTypeAux__sem_19627(c, (&constrCtx), 0);
25237 	T2_ = (constrCtx.missingFields ? constrCtx.missingFields->Sup.len : 0);
25238 	result = (((NI) 0) < T2_);
25239 	return result;
25240 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semObjectNode__sem_4464)25241 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) {
25242 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
25243 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
25244 	NI pos;
25245 	tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
25246 	tyObject_TType__facALICuu8zUj0hjvbTLFg* realBase;
25247 {	result = NIM_NIL;
25248 	{
25249 		NI T3_;
25250 		T3_ = (NI)0;
25251 		T3_ = len__ast_3198(n);
25252 		if (!(T3_ == ((NI) 0))) goto LA4_;
25253 		result = newConstraint__sem_2929(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
25254 		goto BeforeRet_;
25255 	}
25256 	LA4_: ;
25257 	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
25258 	initIntSet__pureZcollectionsZintsets_238((&check));
25259 	pos = ((NI) 0);
25260 	base = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
25261 	realBase = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
25262 	checkSonsLen__semdata_1077(n, ((NI) 3), (*(*c).graph).config);
25263 	{
25264 		if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA8_;
25265 		realBase = semTypeNode__sem_80(c, (*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
25266 		base = skipTypesOrNil__ast_4185(realBase, TM__rF9caJawfOjYTjsgLVUSGFA_53);
25267 		{
25268 			if (!(base == 0)) goto LA12_;
25269 			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);
25270 		}
25271 		goto LA10_;
25272 		LA12_: ;
25273 		{
25274 			tyObject_TType__facALICuu8zUj0hjvbTLFg* concreteBase;
25275 			concreteBase = skipGenericInvocation__sem_4428(base);
25276 			{
25277 				NIM_BOOL T17_;
25278 				T17_ = (NIM_BOOL)0;
25279 				T17_ = ((*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9));
25280 				if (!(T17_)) goto LA18_;
25281 				T17_ = !((((*concreteBase).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2))&63U)))!=0));
25282 				LA18_: ;
25283 				if (!T17_) goto LA19_;
25284 				{
25285 					if (!((*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA23_;
25286 					{
25287 						NIM_BOOL T27_;
25288 						NIM_BOOL T28_;
25289 						T27_ = (NIM_BOOL)0;
25290 						T28_ = (NIM_BOOL)0;
25291 						T28_ = !(((*concreteBase).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
25292 						if (!(T28_)) goto LA29_;
25293 						T28_ = ((*(*concreteBase).sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 268));
25294 						LA29_: ;
25295 						T27_ = T28_;
25296 						if (!(T27_)) goto LA30_;
25297 						T27_ = !((((*(*c).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0));
25298 						LA30_: ;
25299 						if (!T27_) goto LA31_;
25300 						liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 37), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_56, NIM_FALSE);
25301 					}
25302 					LA31_: ;
25303 					addInheritedFields__sem_4443(c, (&check), (&pos), concreteBase);
25304 				}
25305 				LA23_: ;
25306 			}
25307 			goto LA15_;
25308 			LA19_: ;
25309 			{
25310 				{
25311 					NimStringDesc* T38_;
25312 					NimStringDesc* T39_;
25313 					if (!!(((*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50)))) goto LA36_;
25314 					T38_ = NIM_NIL;
25315 					T39_ = NIM_NIL;
25316 					T39_ = typeToString__types_50(realBase, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
25317 					T38_ = rawNewString((T39_ ? T39_->Sup.len : 0) + 120);
25318 appendString(T38_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_63));
25319 appendString(T38_, T39_);
25320 appendString(T38_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_64));
25321 					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);
25322 				}
25323 				LA36_: ;
25324 				base = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
25325 				realBase = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
25326 			}
25327 			LA15_: ;
25328 		}
25329 		LA10_: ;
25330 	}
25331 	LA8_: ;
25332 	{
25333 		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133)))) goto LA42_;
25334 		internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_66), TM__rF9caJawfOjYTjsgLVUSGFA_67);
25335 	}
25336 	LA42_: ;
25337 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17), prev, c);
25338 	rawAddSon__ast_4288(result, realBase, NIM_TRUE);
25339 	{
25340 		NIM_BOOL T46_;
25341 		T46_ = (NIM_BOOL)0;
25342 		T46_ = (realBase == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
25343 		if (!(T46_)) goto LA47_;
25344 		T46_ = ((flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 3))&63U)))!=0);
25345 		LA47_: ;
25346 		if (!T46_) goto LA48_;
25347 		(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 3)) & 63);
25348 	}
25349 	LA48_: ;
25350 	{
25351 		if (!((flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 39))&63U)))!=0)) goto LA52_;
25352 		(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 39)) & 63);
25353 	}
25354 	LA52_: ;
25355 	{
25356 		if (!((*result).n == 0)) goto LA56_;
25357 		asgnRef((void**) (&(*result).n), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info));
25358 	}
25359 	goto LA54_;
25360 	LA56_: ;
25361 	{
25362 		addInheritedFields__sem_4443(c, (&check), (&pos), result);
25363 	}
25364 	LA54_: ;
25365 	semRecordNodeAux__sem_3922(c, (*n)._kind_6.sons->data[((NI) 2)], (&check), (&pos), (*result).n, result, NIM_FALSE);
25366 	{
25367 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
25368 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T63_;
25369 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T64_;
25370 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA61_;
25371 		T63_ = NIM_NIL;
25372 		T63_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_498));
25373 		T64_ = NIM_NIL;
25374 		T64_ = newIdentNode__ast_3712(T63_, (*n).info);
25375 		s = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), T64_, c);
25376 		asgnRef((void**) (&(*s).typ), result);
25377 		pragma__pragmas_123(c, s, (*n)._kind_6.sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_499, NIM_FALSE);
25378 	}
25379 	LA61_: ;
25380 	{
25381 		NIM_BOOL T67_;
25382 		T67_ = (NIM_BOOL)0;
25383 		T67_ = (base == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
25384 		if (!(T67_)) goto LA68_;
25385 		T67_ = !((((*result).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 3))&63U)))!=0));
25386 		LA68_: ;
25387 		if (!T67_) goto LA69_;
25388 		(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2)) & 63);
25389 	}
25390 	LA69_: ;
25391 	{
25392 		NIM_BOOL T73_;
25393 		T73_ = (NIM_BOOL)0;
25394 		T73_ = ((*c).inGenericContext == ((NI) 0));
25395 		if (!(T73_)) goto LA74_;
25396 		T73_ = computeRequiresInit__sem_135(c, result);
25397 		LA74_: ;
25398 		if (!T73_) goto LA75_;
25399 		(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
25400 	}
25401 	LA75_: ;
25402 	}BeforeRet_: ;
25403 	return result;
25404 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semAnyRef__sem_4568)25405 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) {
25406 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
25407 	result = NIM_NIL;
25408 	{
25409 		NI T3_;
25410 		T3_ = (NI)0;
25411 		T3_ = len__ast_3198(n);
25412 		if (!(T3_ < ((NI) 1))) goto LA4_;
25413 		result = newConstraint__sem_2929(c, kind);
25414 	}
25415 	goto LA1_;
25416 	LA4_: ;
25417 	{
25418 		NI isCall;
25419 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
25420 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
25421 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
25422 		NIM_BOOL isNilable;
25423 		tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag wrapperKind;
25424 		isCall = ((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
25425 		{
25426 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41))) goto LA9_;
25427 			n_2 = (*n)._kind_6.sons->data[((NI) 0)];
25428 		}
25429 		goto LA7_;
25430 		LA9_: ;
25431 		{
25432 			n_2 = n;
25433 		}
25434 		LA7_: ;
25435 		checkMinSonsLen__semdata_1084(n_2, ((NI) 1), (*(*c).graph).config);
25436 		body = lastSon__ast_4832(n_2);
25437 		{
25438 			NIM_BOOL T14_;
25439 			T14_ = (NIM_BOOL)0;
25440 			T14_ = !((prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
25441 			if (!(T14_)) goto LA15_;
25442 			T14_ = ((*body).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133));
25443 			LA15_: ;
25444 			if (!T14_) goto LA16_;
25445 			t = semObjectNode__sem_4464(c, body, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), (*prev).flags);
25446 		}
25447 		goto LA12_;
25448 		LA16_: ;
25449 		{
25450 			t = semTypeNode__sem_80(c, body, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
25451 		}
25452 		LA12_: ;
25453 		{
25454 			NIM_BOOL T21_;
25455 			T21_ = (NIM_BOOL)0;
25456 			T21_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
25457 			if (!(T21_)) goto LA22_;
25458 			T21_ = !((((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0));
25459 			LA22_: ;
25460 			if (!T21_) goto LA23_;
25461 			t = base__types_63(t);
25462 		}
25463 		LA23_: ;
25464 		{
25465 			NimStringDesc* T29_;
25466 			NimStringDesc* T30_;
25467 			if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63))) goto LA27_;
25468 			T29_ = NIM_NIL;
25469 			T29_ = toHumanStr__ast_5188(kind);
25470 			T30_ = NIM_NIL;
25471 			T30_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_527), T29_);
25472 			liMessage__msgs_1118((*(*c).graph).config, (*n_2).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T30_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_528, NIM_FALSE);
25473 		}
25474 		LA27_: ;
25475 		result = newOrPrevType__sem_2916(kind, prev, c);
25476 		isNilable = NIM_FALSE;
25477 		wrapperKind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0);
25478 		{
25479 			NI i;
25480 			NI colontmp_;
25481 			NI T32_;
25482 			NI i_2;
25483 			i = (NI)0;
25484 			colontmp_ = (NI)0;
25485 			T32_ = (NI)0;
25486 			T32_ = len__ast_3198(n_2);
25487 			colontmp_ = (NI)(T32_ - ((NI) 1));
25488 			i_2 = isCall;
25489 			{
25490 				while (1) {
25491 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ni;
25492 					if (!(i_2 < colontmp_)) goto LA34;
25493 					i = i_2;
25494 					ni = (*n_2)._kind_6.sons->data[i];
25495 					{
25496 						if (!((*ni).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA37_;
25497 						isNilable = NIM_TRUE;
25498 					}
25499 					goto LA35_;
25500 					LA37_: ;
25501 					{
25502 						tyObject_TType__facALICuu8zUj0hjvbTLFg* region;
25503 						region = semTypeNode__sem_80(c, ni, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
25504 						{
25505 							if (!((*region).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45) || (*region).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46))) goto LA42_;
25506 							wrapperKind = (*region).kind;
25507 						}
25508 						goto LA40_;
25509 						LA42_: ;
25510 						{
25511 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T45_;
25512 							T45_ = NIM_NIL;
25513 							T45_ = skipTypes__ast_3735(region, TM__rF9caJawfOjYTjsgLVUSGFA_137);
25514 							if (!!(((*T45_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50) || (*T45_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA46_;
25515 							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);
25516 							addSonSkipIntLit__magicsys_136(result, region, (*c).Sup.idgen);
25517 						}
25518 						goto LA40_;
25519 						LA46_: ;
25520 						{
25521 							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);
25522 							addSonSkipIntLit__magicsys_136(result, region, (*c).Sup.idgen);
25523 						}
25524 						LA40_: ;
25525 					}
25526 					LA35_: ;
25527 					i_2 += ((NI) 1);
25528 				} LA34: ;
25529 			}
25530 		}
25531 		addSonSkipIntLit__magicsys_136(result, t, (*c).Sup.idgen);
25532 		{
25533 			if (!(((*result).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 16))&63U)))!=0)) goto LA51_;
25534 			{
25535 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T55_;
25536 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T58_;
25537 				T55_ = NIM_NIL;
25538 				T55_ = lastSon__ast_3743(result);
25539 				if (!((*T55_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA56_;
25540 				T58_ = NIM_NIL;
25541 				T58_ = lastSon__ast_3743(result);
25542 				(*T58_).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 16)) & 63);
25543 			}
25544 			LA56_: ;
25545 		}
25546 		LA51_: ;
25547 		switch (wrapperKind) {
25548 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
25549 		{
25550 			{
25551 				tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
25552 				if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0)) goto LA62_;
25553 				t_2 = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45), c);
25554 				(*t_2).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4)) & 63);
25555 				rawAddSonNoPropagationOfTypeFlags__ast_4299(t_2, result);
25556 				result = t_2;
25557 			}
25558 			LA62_: ;
25559 		}
25560 		break;
25561 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
25562 		{
25563 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t_3;
25564 			t_3 = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46), c);
25565 			rawAddSonNoPropagationOfTypeFlags__ast_4299(t_3, result);
25566 			result = t_3;
25567 		}
25568 		break;
25569 		default:
25570 		{
25571 		}
25572 		break;
25573 		}
25574 		{
25575 			NIM_BOOL T68_;
25576 			T68_ = (NIM_BOOL)0;
25577 			T68_ = ((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
25578 			if (!(T68_)) goto LA69_;
25579 			T68_ = ((48 &((NU16)1<<((NU)((*(*(*c).graph).config).selectedGC)&15U)))!=0);
25580 			LA69_: ;
25581 			if (!T68_) goto LA70_;
25582 			(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31)) & 63);
25583 		}
25584 		LA70_: ;
25585 	}
25586 	LA1_: ;
25587 	return result;
25588 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semTypeOf2__sem_5878)25589 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeOf2__sem_5878)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
25590 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
25591 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
25592 	NI64 m;
25593 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t;
25594 	tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ T12_;
25595 	result = NIM_NIL;
25596 	T1_ = NIM_NIL;
25597 	T1_ = openScope__lookups_69(c);
25598 	m = IL64(1);
25599 	{
25600 		NI T4_;
25601 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* mode;
25602 		T4_ = (NI)0;
25603 		T4_ = len__ast_3198(n);
25604 		if (!(T4_ == ((NI) 3))) goto LA5_;
25605 		mode = semConstExpr__sem_611(c, (*n)._kind_6.sons->data[((NI) 2)]);
25606 		{
25607 			if (!!(((*mode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA9_;
25608 			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);
25609 		}
25610 		goto LA7_;
25611 		LA9_: ;
25612 		{
25613 			m = (*mode)._kind_1.intVal;
25614 		}
25615 		LA7_: ;
25616 	}
25617 	LA5_: ;
25618 	{
25619 		if (!(m == IL64(1))) goto LA15_;
25620 		T12_ = 8;
25621 	}
25622 	goto LA13_;
25623 	LA15_: ;
25624 	{
25625 		T12_ = 0;
25626 	}
25627 	LA13_: ;
25628 	t = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], T12_);
25629 	closeScope__lookups_101(c);
25630 	fixupTypeOf__sem_5584(c, prev, t);
25631 	result = (*t).typ;
25632 	return result;
25633 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,commonType__sem_237)25634 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, commonType__sem_237)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TType__facALICuu8zUj0hjvbTLFg* y) {
25635 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
25636 	tyObject_TType__facALICuu8zUj0hjvbTLFg* a;
25637 	tyObject_TType__facALICuu8zUj0hjvbTLFg* b;
25638 {	result = NIM_NIL;
25639 	{
25640 		if (!(x == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
25641 		result = x;
25642 		goto BeforeRet_;
25643 	}
25644 	LA3_: ;
25645 	{
25646 		if (!(y == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA7_;
25647 		result = y;
25648 		goto BeforeRet_;
25649 	}
25650 	LA7_: ;
25651 	a = skipTypes__ast_3735(x, TM__rF9caJawfOjYTjsgLVUSGFA_137);
25652 	b = skipTypes__ast_3735(y, TM__rF9caJawfOjYTjsgLVUSGFA_137);
25653 	result = x;
25654 	{
25655 		if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5))) goto LA11_;
25656 		result = y;
25657 	}
25658 	goto LA9_;
25659 	LA11_: ;
25660 	{
25661 		if (!((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5))) goto LA14_;
25662 		result = x;
25663 	}
25664 	goto LA9_;
25665 	LA14_: ;
25666 	{
25667 		if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA17_;
25668 		result = a;
25669 	}
25670 	goto LA9_;
25671 	LA17_: ;
25672 	{
25673 		if (!((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA20_;
25674 		result = b;
25675 	}
25676 	goto LA9_;
25677 	LA20_: ;
25678 	{
25679 		if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA23_;
25680 		{
25681 			NI T27_;
25682 			T27_ = (NI)0;
25683 			T27_ = len__ast_4002(a);
25684 			if (!(T27_ == ((NI) 0))) goto LA28_;
25685 			result = a;
25686 		}
25687 		goto LA25_;
25688 		LA28_: ;
25689 		{
25690 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T31_;
25691 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T32_;
25692 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T33_;
25693 			T31_ = nextTypeId__ast_3151((*c).Sup.idgen);
25694 			result = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8), T31_, (*a).owner);
25695 			T32_ = nextTypeId__ast_3151((*c).Sup.idgen);
25696 			T33_ = NIM_NIL;
25697 			T33_ = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), T32_, (*a).owner);
25698 			rawAddSon__ast_4288(result, T33_, NIM_TRUE);
25699 		}
25700 		LA25_: ;
25701 	}
25702 	goto LA9_;
25703 	LA23_: ;
25704 	{
25705 		NIM_BOOL T35_;
25706 		NI idx;
25707 		T35_ = (NIM_BOOL)0;
25708 		T35_ = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16) || (*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19) || (*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
25709 		if (!(T35_)) goto LA36_;
25710 		T35_ = ((*a).kind == (*b).kind);
25711 		LA36_: ;
25712 		if (!T35_) goto LA37_;
25713 		idx = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16));
25714 		{
25715 			if (!((*(*a).sons->data[idx]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA41_;
25716 			result = y;
25717 			goto BeforeRet_;
25718 		}
25719 		LA41_: ;
25720 	}
25721 	goto LA9_;
25722 	LA37_: ;
25723 	{
25724 		NIM_BOOL T44_;
25725 		NIM_BOOL T45_;
25726 		NI T48_;
25727 		NI T49_;
25728 		tyObject_TType__facALICuu8zUj0hjvbTLFg* nt;
25729 		T44_ = (NIM_BOOL)0;
25730 		T45_ = (NIM_BOOL)0;
25731 		T45_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
25732 		if (!(T45_)) goto LA46_;
25733 		T45_ = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
25734 		LA46_: ;
25735 		T44_ = T45_;
25736 		if (!(T44_)) goto LA47_;
25737 		T48_ = (NI)0;
25738 		T48_ = len__ast_4002(a);
25739 		T49_ = (NI)0;
25740 		T49_ = len__ast_4002(b);
25741 		T44_ = (T48_ == T49_);
25742 		LA47_: ;
25743 		if (!T44_) goto LA50_;
25744 		nt = NIM_NIL;
25745 		{
25746 			NI i;
25747 			NI colontmp_;
25748 			NI i_2;
25749 			i = (NI)0;
25750 			colontmp_ = (NI)0;
25751 			colontmp_ = len__ast_4002(a);
25752 			i_2 = ((NI) 0);
25753 			{
25754 				while (1) {
25755 					NIM_BOOL aEmpty;
25756 					NIM_BOOL bEmpty;
25757 					if (!(i_2 < colontmp_)) goto LA54;
25758 					i = i_2;
25759 					aEmpty = isEmptyContainer__types_3626((*a).sons->data[i]);
25760 					bEmpty = isEmptyContainer__types_3626((*b).sons->data[i]);
25761 					{
25762 						if (!!((aEmpty == bEmpty))) goto LA57_;
25763 						{
25764 							tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T63_;
25765 							if (!(nt == 0)) goto LA61_;
25766 							T63_ = nextTypeId__ast_3151((*c).Sup.idgen);
25767 							nt = copyType__ast_4046(a, T63_, (*a).owner);
25768 							copyTypeProps__modulegraphs_8872((*c).graph, ((NI) ((*(*c).Sup.idgen).module)), nt, a);
25769 						}
25770 						LA61_: ;
25771 						{
25772 							if (!aEmpty) goto LA66_;
25773 							asgnRef((void**) (&(*nt).sons->data[i]), (*b).sons->data[i]);
25774 						}
25775 						goto LA64_;
25776 						LA66_: ;
25777 						{
25778 							asgnRef((void**) (&(*nt).sons->data[i]), (*a).sons->data[i]);
25779 						}
25780 						LA64_: ;
25781 					}
25782 					LA57_: ;
25783 					i_2 += ((NI) 1);
25784 				} LA54: ;
25785 			}
25786 		}
25787 		{
25788 			if (!!((nt == 0))) goto LA71_;
25789 			result = nt;
25790 		}
25791 		LA71_: ;
25792 	}
25793 	goto LA9_;
25794 	LA50_: ;
25795 	{
25796 		NIM_BOOL T74_;
25797 		T74_ = (NIM_BOOL)0;
25798 		T74_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20));
25799 		if (!(T74_)) goto LA75_;
25800 		T74_ = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20));
25801 		LA75_: ;
25802 		if (!T74_) goto LA76_;
25803 		{
25804 			NIM_BOOL T80_;
25805 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T83_;
25806 			T80_ = (NIM_BOOL)0;
25807 			T80_ = sameType__types_1824(a, b, 0);
25808 			if (!!(T80_)) goto LA81_;
25809 			T83_ = NIM_NIL;
25810 			T83_ = skipTypes__ast_3735(a, TM__rF9caJawfOjYTjsgLVUSGFA_31);
25811 			result = skipIntLit__magicsys_124(T83_, (*c).Sup.idgen);
25812 		}
25813 		LA81_: ;
25814 	}
25815 	goto LA9_;
25816 	LA76_: ;
25817 	{
25818 		NIM_BOOL T85_;
25819 		T85_ = (NIM_BOOL)0;
25820 		T85_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
25821 		if (!(T85_)) goto LA86_;
25822 		T85_ = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
25823 		LA86_: ;
25824 		if (!T85_) goto LA87_;
25825 		{
25826 			NIM_BOOL T91_;
25827 			T91_ = (NIM_BOOL)0;
25828 			T91_ = ((*a).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
25829 			if (!(T91_)) goto LA92_;
25830 			T91_ = !(((*b).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)));
25831 			LA92_: ;
25832 			if (!T91_) goto LA93_;
25833 			result = x;
25834 		}
25835 		goto LA89_;
25836 		LA93_: ;
25837 		{
25838 			NIM_BOOL T96_;
25839 			tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ T97_;
25840 			T96_ = (NIM_BOOL)0;
25841 			T97_ = (tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ)0;
25842 			T97_ = compatibleEffects__types_3425(a, b);
25843 			T96_ = !((T97_ == ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 0)));
25844 			if (T96_) goto LA98_;
25845 			T96_ = (((((*b).flags & 130) & ~ ((*a).flags & 130))==0)&&(((*b).flags & 130) != ((*a).flags & 130)));
25846 			LA98_: ;
25847 			if (!T96_) goto LA99_;
25848 			result = y;
25849 		}
25850 		goto LA89_;
25851 		LA99_: ;
25852 		LA89_: ;
25853 	}
25854 	goto LA9_;
25855 	LA87_: ;
25856 	{
25857 		tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag k;
25858 		k = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0);
25859 		{
25860 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T110_;
25861 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T111_;
25862 			if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA104_;
25863 			k = (*a).kind;
25864 			{
25865 				if (!!(((*b).kind == (*a).kind))) goto LA108_;
25866 				result = x;
25867 				goto BeforeRet_;
25868 			}
25869 			LA108_: ;
25870 			T110_ = NIM_NIL;
25871 			T110_ = lastSon__ast_3743(a);
25872 			a = skipTypes__ast_3735(T110_, TM__rF9caJawfOjYTjsgLVUSGFA_331);
25873 			T111_ = NIM_NIL;
25874 			T111_ = lastSon__ast_3743(b);
25875 			b = skipTypes__ast_3735(T111_, TM__rF9caJawfOjYTjsgLVUSGFA_331);
25876 		}
25877 		LA104_: ;
25878 		{
25879 			NIM_BOOL T114_;
25880 			T114_ = (NIM_BOOL)0;
25881 			T114_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
25882 			if (!(T114_)) goto LA115_;
25883 			T114_ = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
25884 			LA115_: ;
25885 			if (!T114_) goto LA116_;
25886 			result = commonSuperclass__types_2747(a, b);
25887 			{
25888 				NIM_BOOL T120_;
25889 				T120_ = (NIM_BOOL)0;
25890 				T120_ = (result == 0);
25891 				if (T120_) goto LA121_;
25892 				T120_ = (result == a);
25893 				LA121_: ;
25894 				if (!T120_) goto LA122_;
25895 				result = x;
25896 				goto BeforeRet_;
25897 			}
25898 			LA122_: ;
25899 			{
25900 				if (!(result == b)) goto LA126_;
25901 				result = y;
25902 				goto BeforeRet_;
25903 			}
25904 			LA126_: ;
25905 			{
25906 				NIM_BOOL T130_;
25907 				tyObject_TType__facALICuu8zUj0hjvbTLFg* r;
25908 				tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T134_;
25909 				T130_ = (NIM_BOOL)0;
25910 				T130_ = !((k == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
25911 				if (!(T130_)) goto LA131_;
25912 				T130_ = !(((*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11)));
25913 				LA131_: ;
25914 				if (!T130_) goto LA132_;
25915 				r = result;
25916 				T134_ = nextTypeId__ast_3151((*c).Sup.idgen);
25917 				result = newType__ast_3896(k, T134_, (*r).owner);
25918 				addSonSkipIntLit__magicsys_136(result, r, (*c).Sup.idgen);
25919 			}
25920 			LA132_: ;
25921 		}
25922 		LA116_: ;
25923 	}
25924 	LA9_: ;
25925 	}BeforeRet_: ;
25926 	return result;
25927 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semWhen__sem_515)25928 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semWhen__sem_515)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL semCheck) {
25929 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
25930 	NIM_BOOL whenNimvm;
25931 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
25932 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
25933 {	result = NIM_NIL;
25934 	result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
25935 	whenNimvm = NIM_FALSE;
25936 	T1_ = NIM_NIL;
25937 	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*) newObj((&NTIptype__qt2Wh0elFEz5fH0l7yusLw_), sizeof(tyObject_TType__facALICuu8zUj0hjvbTLFg));
25938 	(*T1_).Sup.Sup.m_type = (&NTIttype__facALICuu8zUj0hjvbTLFg_);
25939 	(*T1_).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6);
25940 	typ = T1_;
25941 	{
25942 		NIM_BOOL T4_;
25943 		NIM_BOOL T5_;
25944 		NI T6_;
25945 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exprNode;
25946 		T4_ = (NIM_BOOL)0;
25947 		T5_ = (NIM_BOOL)0;
25948 		T6_ = (NI)0;
25949 		T6_ = len__ast_3198(n);
25950 		T5_ = (T6_ == ((NI) 2));
25951 		if (!(T5_)) goto LA7_;
25952 		T5_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86));
25953 		LA7_: ;
25954 		T4_ = T5_;
25955 		if (!(T4_)) goto LA8_;
25956 		T4_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88));
25957 		LA8_: ;
25958 		if (!T4_) goto LA9_;
25959 		exprNode = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)];
25960 		{
25961 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T15_;
25962 			if (!((*exprNode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA13_;
25963 			T15_ = NIM_NIL;
25964 			T15_ = lookUp__lookups_1211(c, exprNode);
25965 			whenNimvm = ((*T15_).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 263));
25966 		}
25967 		goto LA11_;
25968 		LA13_: ;
25969 		{
25970 			if (!((*exprNode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA17_;
25971 			whenNimvm = ((*(*exprNode)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 263));
25972 		}
25973 		goto LA11_;
25974 		LA17_: ;
25975 		LA11_: ;
25976 		{
25977 			if (!whenNimvm) goto LA21_;
25978 			(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 8)) & 31);
25979 		}
25980 		LA21_: ;
25981 	}
25982 	LA9_: ;
25983 	{
25984 		NI i;
25985 		NI colontmp_;
25986 		NI i_2;
25987 		i = (NI)0;
25988 		colontmp_ = (NI)0;
25989 		colontmp_ = len__ast_3198(n);
25990 		i_2 = ((NI) 0);
25991 		{
25992 			while (1) {
25993 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
25994 				if (!(i_2 < colontmp_)) goto LA25;
25995 				i = i_2;
25996 				it = (*n)._kind_6.sons->data[i];
25997 				switch ((*it).kind) {
25998 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
25999 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49):
26000 				{
26001 					checkSonsLen__semdata_1077(it, ((NI) 2), (*(*c).graph).config);
26002 					{
26003 						if (!whenNimvm) goto LA29_;
26004 						{
26005 							if (!semCheck) goto LA33_;
26006 							asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 1)]), semExpr__sem_52(c, (*it)._kind_6.sons->data[((NI) 1)], 0));
26007 							typ = commonType__sem_237(c, typ, (*(*it)._kind_6.sons->data[((NI) 1)]).typ);
26008 						}
26009 						LA33_: ;
26010 						result = n;
26011 					}
26012 					goto LA27_;
26013 					LA29_: ;
26014 					{
26015 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
26016 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T36_;
26017 						T36_ = NIM_NIL;
26018 						T36_ = semConstExpr__sem_611(c, (*it)._kind_6.sons->data[((NI) 0)]);
26019 						e = forceBool__sem_2869(c, T36_);
26020 						{
26021 							if (!!(((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA39_;
26022 						}
26023 						goto LA37_;
26024 						LA39_: ;
26025 						{
26026 							NIM_BOOL T42_;
26027 							T42_ = (NIM_BOOL)0;
26028 							T42_ = !(((*e)._kind_1.intVal == IL64(0)));
26029 							if (!(T42_)) goto LA43_;
26030 							T42_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
26031 							LA43_: ;
26032 							if (!T42_) goto LA44_;
26033 							{
26034 								if (!semCheck) goto LA48_;
26035 								result = semExpr__sem_52(c, (*it)._kind_6.sons->data[((NI) 1)], 0);
26036 							}
26037 							goto LA46_;
26038 							LA48_: ;
26039 							{
26040 								result = (*it)._kind_6.sons->data[((NI) 1)];
26041 							}
26042 							LA46_: ;
26043 							goto BeforeRet_;
26044 						}
26045 						goto LA37_;
26046 						LA44_: ;
26047 						LA37_: ;
26048 					}
26049 					LA27_: ;
26050 				}
26051 				break;
26052 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
26053 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 50):
26054 				{
26055 					checkSonsLen__semdata_1077(it, ((NI) 1), (*(*c).graph).config);
26056 					{
26057 						NIM_BOOL T54_;
26058 						T54_ = (NIM_BOOL)0;
26059 						T54_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
26060 						if (T54_) goto LA55_;
26061 						T54_ = whenNimvm;
26062 						LA55_: ;
26063 						if (!T54_) goto LA56_;
26064 						{
26065 							if (!semCheck) goto LA60_;
26066 							asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 0)]), semExpr__sem_52(c, (*it)._kind_6.sons->data[((NI) 0)], 0));
26067 							typ = commonType__sem_237(c, typ, (*(*it)._kind_6.sons->data[((NI) 0)]).typ);
26068 						}
26069 						LA60_: ;
26070 						{
26071 							if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA64_;
26072 							result = (*it)._kind_6.sons->data[((NI) 0)];
26073 						}
26074 						LA64_: ;
26075 					}
26076 					LA56_: ;
26077 				}
26078 				break;
26079 				default:
26080 				{
26081 					illFormedAst__semdata_1071(n, (*(*c).graph).config);
26082 				}
26083 				break;
26084 				}
26085 				i_2 += ((NI) 1);
26086 			} LA25: ;
26087 		}
26088 	}
26089 	{
26090 		if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA69_;
26091 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
26092 	}
26093 	LA69_: ;
26094 	{
26095 		if (!whenNimvm) goto LA73_;
26096 		asgnRef((void**) (&(*result).typ), typ);
26097 	}
26098 	LA73_: ;
26099 	}BeforeRet_: ;
26100 	return result;
26101 }
N_NIMCALL(void,reset__sem_3561)26102 N_LIB_PRIVATE N_NIMCALL(void, reset__sem_3561)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj) {
26103 	unsureAsgnRef((void**)&(*obj).typ, NIM_NIL);
26104 	(*obj).info.line = 0;
26105 	(*obj).info.col = 0;
26106 	(*obj).info.fileIndex = 0;
26107 	switch ((*obj).kind) {
26108 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
26109 	(*obj)._kind_1.intVal = 0;
26110 	break;
26111 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19):
26112 	(*obj)._kind_2.floatVal = 0;
26113 	break;
26114 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
26115 	unsureAsgnRef((void**)&(*obj)._kind_3.strVal, NIM_NIL);
26116 	break;
26117 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
26118 	unsureAsgnRef((void**)&(*obj)._kind_4.sym, NIM_NIL);
26119 	break;
26120 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
26121 	unsureAsgnRef((void**)&(*obj)._kind_5.ident, NIM_NIL);
26122 	break;
26123 	default:
26124 	unsureAsgnRef((void**)&(*obj)._kind_6.sons, NIM_NIL);
26125 	break;
26126 	}
26127 	(*obj).kind = 0;
26128 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,semTypeIdent__sem_3474)26129 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, semTypeIdent__sem_3474)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
26130 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
26131 {	result = NIM_NIL;
26132 	{
26133 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
26134 		result = getGenSym__semdata_408(c, (*n)._kind_4.sym);
26135 	}
26136 	goto LA1_;
26137 	LA3_: ;
26138 	{
26139 		result = pickSym__lookups_1646(c, n, 152, 0);
26140 		{
26141 			if (!(result == 0)) goto LA8_;
26142 			result = qualifiedLookUp__lookups_1233(c, n, 3);
26143 		}
26144 		LA8_: ;
26145 		{
26146 			if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA12_;
26147 			markUsed__sigmatch_85(c, (*n).info, result);
26148 			{
26149 				NIM_BOOL T16_;
26150 				tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T32_;
26151 				T16_ = (NIM_BOOL)0;
26152 				T16_ = ((*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
26153 				if (!(T16_)) goto LA17_;
26154 				T16_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
26155 				LA17_: ;
26156 				if (!T16_) goto LA18_;
26157 				{
26158 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* bound;
26159 					if (!(((NI) 0) < (*c).inGenericInst)) goto LA22_;
26160 					bound = (*(*(*result).typ).sons->data[((NI) 0)]).sym;
26161 					{
26162 						if (!!((bound == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA26_;
26163 						result = bound;
26164 						goto BeforeRet_;
26165 					}
26166 					LA26_: ;
26167 					goto BeforeRet_;
26168 				}
26169 				LA22_: ;
26170 				{
26171 					if (!((*(*result).typ).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA30_;
26172 					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);
26173 					result = errorSym__lookups_506(c, n);
26174 					goto BeforeRet_;
26175 				}
26176 				LA30_: ;
26177 				T32_ = nextSymId__ast_3132((*c).Sup.idgen);
26178 				result = copySym__ast_4054((*(*result).typ).sym, T32_);
26179 				asgnRef((void**) (&(*result).typ), exactReplica__ast_4051((*result).typ));
26180 				(*(*result).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)) & 63);
26181 			}
26182 			LA18_: ;
26183 			{
26184 				if (!((*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4))) goto LA35_;
26185 				{
26186 					NIM_BOOL T39_;
26187 					NIM_BOOL T40_;
26188 					NI T42_;
26189 					T39_ = (NIM_BOOL)0;
26190 					T40_ = (NIM_BOOL)0;
26191 					T40_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
26192 					if (!(T40_)) goto LA41_;
26193 					T42_ = (NI)0;
26194 					T42_ = len__ast_4002((*result).typ);
26195 					T40_ = (T42_ == ((NI) 0));
26196 					LA41_: ;
26197 					T39_ = T40_;
26198 					if (!(T39_)) goto LA43_;
26199 					T39_ = (((*(*result).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0);
26200 					LA43_: ;
26201 					if (!T39_) goto LA44_;
26202 					transitionGenericParamToType__ast_4390(result);
26203 					(*(*result).typ).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30)) & 63));
26204 					goto BeforeRet_;
26205 				}
26206 				goto LA37_;
26207 				LA44_: ;
26208 				{
26209 					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);
26210 					result = errorSym__lookups_506(c, n);
26211 					goto BeforeRet_;
26212 				}
26213 				LA37_: ;
26214 			}
26215 			LA35_: ;
26216 			{
26217 				NIM_BOOL T49_;
26218 				tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ ov;
26219 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* amb;
26220 				T49_ = (NIM_BOOL)0;
26221 				T49_ = !(((*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7)));
26222 				if (!(T49_)) goto LA50_;
26223 				T49_ = !(((*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 24) || (*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 17) || (*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 18)));
26224 				LA50_: ;
26225 				if (!T49_) goto LA51_;
26226 				nimZeroMem((void*)(&ov), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
26227 				amb = initOverloadIter__lookups_1374((&ov), c, n);
26228 				{
26229 					while (1) {
26230 						NIM_BOOL T55_;
26231 						T55_ = (NIM_BOOL)0;
26232 						T55_ = !((amb == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
26233 						if (!(T55_)) goto LA56_;
26234 						T55_ = !(((*amb).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7)));
26235 						LA56_: ;
26236 						if (!T55_) goto LA54;
26237 						amb = nextOverloadIter__lookups_1528((&ov), c, n);
26238 					} LA54: ;
26239 				}
26240 				{
26241 					if (!!((amb == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA59_;
26242 					result = amb;
26243 				}
26244 				goto LA57_;
26245 				LA59_: ;
26246 				{
26247 					{
26248 						if (!!(((*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0)))) goto LA64_;
26249 						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);
26250 					}
26251 					LA64_: ;
26252 					result = errorSym__lookups_506(c, n);
26253 					goto BeforeRet_;
26254 				}
26255 				LA57_: ;
26256 			}
26257 			LA51_: ;
26258 			{
26259 				tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q oldInfo;
26260 				if (!!(((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)))) goto LA68_;
26261 				oldInfo = (*n).info;
26262 				reset__sem_3561(n);
26263 				transitionNoneToSym__ast_4385(n);
26264 				asgnRef((void**) (&(*n)._kind_4.sym), result);
26265 				(*n).info = oldInfo;
26266 				asgnRef((void**) (&(*n).typ), (*result).typ);
26267 			}
26268 			LA68_: ;
26269 		}
26270 		goto LA10_;
26271 		LA12_: ;
26272 		{
26273 			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);
26274 			result = errorSym__lookups_506(c, n);
26275 		}
26276 		LA10_: ;
26277 	}
26278 	LA1_: ;
26279 	}BeforeRet_: ;
26280 	return result;
26281 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,symFromExpectedTypeNode__sem_5854)26282 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, symFromExpectedTypeNode__sem_5854)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
26283 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
26284 	result = NIM_NIL;
26285 	{
26286 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4))) goto LA3_;
26287 		result = symFromType__sem_530(c, (*n).typ, (*n).info);
26288 	}
26289 	goto LA1_;
26290 	LA3_: ;
26291 	{
26292 		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);
26293 		result = errorSym__lookups_506(c, n);
26294 	}
26295 	LA1_: ;
26296 	return result;
26297 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semArrayIndex__sem_3367)26298 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semArrayIndex__sem_3367)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
26299 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26300 {	result = NIM_NIL;
26301 	{
26302 		NIM_BOOL T3_;
26303 		T3_ = (NIM_BOOL)0;
26304 		T3_ = isRange__trees_213(n);
26305 		if (!T3_) goto LA4_;
26306 		result = semRangeAux__sem_3219(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26307 	}
26308 	goto LA1_;
26309 	LA4_: ;
26310 	{
26311 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
26312 		e = semExprWithType__sem_56(c, n, 512);
26313 		{
26314 			if (!((*(*e).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61))) goto LA9_;
26315 			result = makeRangeWithStaticExpr__semdata_979(c, (*(*e).typ).n);
26316 		}
26317 		goto LA7_;
26318 		LA9_: ;
26319 		{
26320 			if (!((*e).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6) && (*e).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA12_;
26321 			{
26322 				NimStringDesc* T18_;
26323 				NimStringDesc* T19_;
26324 				if (!((*e)._kind_1.intVal < IL64(0))) goto LA16_;
26325 				T18_ = NIM_NIL;
26326 				T19_ = NIM_NIL;
26327 				T19_ = dollar___systemZdollars_6((*e)._kind_1.intVal);
26328 				T18_ = rawNewString((T19_ ? T19_->Sup.len : 0) + 40);
26329 appendString(T18_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_542));
26330 appendString(T18_, T19_);
26331 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T18_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_543, NIM_FALSE);
26332 			}
26333 			LA16_: ;
26334 			result = makeRangeType__semdata_1039(c, IL64(0), (NI64)((*e)._kind_1.intVal - IL64(1)), (*n).info, (*e).typ);
26335 		}
26336 		goto LA7_;
26337 		LA12_: ;
26338 		{
26339 			NIM_BOOL T21_;
26340 			T21_ = (NIM_BOOL)0;
26341 			T21_ = ((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
26342 			if (!(T21_)) goto LA22_;
26343 			T21_ = ((*(*e).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
26344 			LA22_: ;
26345 			if (!T21_) goto LA23_;
26346 			{
26347 				if (!!(((*(*e)._kind_4.sym).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA27_;
26348 				result = semArrayIndex__sem_3367(c, (*(*e)._kind_4.sym).ast);
26349 				goto BeforeRet_;
26350 			}
26351 			LA27_: ;
26352 			{
26353 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T31_;
26354 				NIM_BOOL T32_;
26355 				tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
26356 				T31_ = NIM_NIL;
26357 				T31_ = lastSon__ast_3743((*e).typ);
26358 				T32_ = (NIM_BOOL)0;
26359 				T32_ = isOrdinalType__types_299(T31_, NIM_FALSE);
26360 				if (!!(T32_)) goto LA33_;
26361 				{
26362 					NI T37_;
26363 					T37_ = (NI)0;
26364 					T37_ = safeLen__ast_3191(n);
26365 					if (!(((NI) 1) < T37_)) goto LA38_;
26366 					info = (*(*n)._kind_6.sons->data[((NI) 1)]).info;
26367 				}
26368 				goto LA35_;
26369 				LA38_: ;
26370 				{
26371 					info = (*n).info;
26372 				}
26373 				LA35_: ;
26374 				liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_339), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_544, NIM_FALSE);
26375 			}
26376 			LA33_: ;
26377 			result = makeRangeWithStaticExpr__semdata_979(c, e);
26378 			{
26379 				if (!(((NI) 0) < (*c).inGenericContext)) goto LA43_;
26380 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)) & 63);
26381 			}
26382 			LA43_: ;
26383 		}
26384 		goto LA7_;
26385 		LA23_: ;
26386 		{
26387 			NIM_BOOL T46_;
26388 			T46_ = (NIM_BOOL)0;
26389 			T46_ = ((*e).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) && (*e).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32) || (*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
26390 			if (!(T46_)) goto LA47_;
26391 			T46_ = hasUnresolvedArgs__sem_142(c, e);
26392 			LA47_: ;
26393 			if (!T46_) goto LA48_;
26394 			{
26395 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T52_;
26396 				NIM_BOOL T53_;
26397 				T52_ = NIM_NIL;
26398 				T52_ = skipTypes__ast_3735((*e).typ, TM__rF9caJawfOjYTjsgLVUSGFA_545);
26399 				T53_ = (NIM_BOOL)0;
26400 				T53_ = isOrdinalType__types_299(T52_, NIM_FALSE);
26401 				if (!!(T53_)) goto LA54_;
26402 				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);
26403 			}
26404 			LA54_: ;
26405 			result = makeRangeWithStaticExpr__semdata_979(c, e);
26406 		}
26407 		goto LA7_;
26408 		LA48_: ;
26409 		{
26410 			if (!((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA57_;
26411 			result = skipTypes__ast_3735((*e).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123);
26412 		}
26413 		goto LA7_;
26414 		LA57_: ;
26415 		{
26416 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
26417 			x = semConstExpr__sem_611(c, e);
26418 			{
26419 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T64_;
26420 				if (!((*x).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6) && (*x).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA62_;
26421 				T64_ = NIM_NIL;
26422 				T64_ = skipTypes__ast_3735((*x).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123);
26423 				result = makeRangeType__semdata_1039(c, IL64(0), (NI64)((*x)._kind_1.intVal - IL64(1)), (*n).info, T64_);
26424 			}
26425 			goto LA60_;
26426 			LA62_: ;
26427 			{
26428 				result = skipTypes__ast_3735((*x).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123);
26429 			}
26430 			LA60_: ;
26431 		}
26432 		LA7_: ;
26433 	}
26434 	LA1_: ;
26435 	}BeforeRet_: ;
26436 	return result;
26437 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semArray__sem_3419)26438 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semArray__sem_3419)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26439 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26440 	tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26441 	result = NIM_NIL;
26442 	base = NIM_NIL;
26443 	{
26444 		NI T3_;
26445 		tyObject_TType__facALICuu8zUj0hjvbTLFg* indx;
26446 		tyObject_TType__facALICuu8zUj0hjvbTLFg* indxB;
26447 		T3_ = (NI)0;
26448 		T3_ = len__ast_3198(n);
26449 		if (!(T3_ == ((NI) 3))) goto LA4_;
26450 		indx = semArrayIndex__sem_3367(c, (*n)._kind_6.sons->data[((NI) 1)]);
26451 		indxB = indx;
26452 		{
26453 			if (!((*indxB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*indxB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4) || (*indxB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46))) goto LA8_;
26454 			indxB = lastSon__ast_3743(indxB);
26455 		}
26456 		LA8_: ;
26457 		{
26458 			if (!!(((*indxB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*indxB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60) || (*indxB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61)))) goto LA12_;
26459 			{
26460 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
26461 				T16_ = NIM_NIL;
26462 				T16_ = skipTypes__ast_3735(indxB, TM__rF9caJawfOjYTjsgLVUSGFA_31);
26463 				if (!((*T16_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) || (*T16_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44))) goto LA17_;
26464 			}
26465 			goto LA14_;
26466 			LA17_: ;
26467 			{
26468 				NIM_BOOL T20_;
26469 				T20_ = (NIM_BOOL)0;
26470 				T20_ = isOrdinalType__types_299(indxB, NIM_FALSE);
26471 				if (!!(T20_)) goto LA21_;
26472 				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);
26473 			}
26474 			goto LA14_;
26475 			LA21_: ;
26476 			{
26477 				NIM_BOOL T24_;
26478 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T27_;
26479 				NimStringDesc* T28_;
26480 				NimStringDesc* T29_;
26481 				T24_ = (NIM_BOOL)0;
26482 				T24_ = enumHasHoles__types_287(indxB);
26483 				if (!T24_) goto LA25_;
26484 				T27_ = NIM_NIL;
26485 				T27_ = skipTypes__ast_3735(indxB, TM__rF9caJawfOjYTjsgLVUSGFA_31);
26486 				T28_ = NIM_NIL;
26487 				T28_ = typeToString__types_50(T27_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
26488 				T29_ = NIM_NIL;
26489 				T29_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_34), T28_);
26490 				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);
26491 			}
26492 			goto LA14_;
26493 			LA25_: ;
26494 			LA14_: ;
26495 		}
26496 		LA12_: ;
26497 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 2)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26498 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), prev, c);
26499 		rawAddSonNoPropagationOfTypeFlags__ast_4299(result, indx);
26500 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
26501 	}
26502 	goto LA1_;
26503 	LA4_: ;
26504 	{
26505 		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);
26506 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
26507 	}
26508 	LA1_: ;
26509 	return result;
26510 }
N_NIMCALL(void,semContainerArg__sem_3146)26511 N_LIB_PRIVATE N_NIMCALL(void, semContainerArg__sem_3146)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* kindStr, tyObject_TType__facALICuu8zUj0hjvbTLFg* result) {
26512 	{
26513 		NI T3_;
26514 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26515 		T3_ = (NI)0;
26516 		T3_ = len__ast_3198(n);
26517 		if (!(T3_ == ((NI) 2))) goto LA4_;
26518 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26519 		{
26520 			NimStringDesc* T10_;
26521 			NimStringDesc* T11_;
26522 			if (!((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63))) goto LA8_;
26523 			T10_ = NIM_NIL;
26524 			T10_ = typeToString__types_50(base, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
26525 			T11_ = NIM_NIL;
26526 			T11_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_551), T10_);
26527 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_552, NIM_FALSE);
26528 		}
26529 		LA8_: ;
26530 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
26531 	}
26532 	goto LA1_;
26533 	LA4_: ;
26534 	{
26535 		NimStringDesc* T13_;
26536 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T14_;
26537 		T13_ = NIM_NIL;
26538 		T13_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_553), kindStr);
26539 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T13_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_554, NIM_FALSE);
26540 		T14_ = NIM_NIL;
26541 		T14_ = errorType__semdata_1002(c);
26542 		addSonSkipIntLit__magicsys_136(result, T14_, (*c).Sup.idgen);
26543 	}
26544 	LA1_: ;
26545 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semContainer__sem_3160)26546 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) {
26547 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26548 	result = NIM_NIL;
26549 	result = newOrPrevType__sem_2916(kind, prev, c);
26550 	semContainerArg__sem_3146(c, n, kindStr, result);
26551 	return result;
26552 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semRange__sem_3307)26553 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semRange__sem_3307)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26554 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26555 	result = NIM_NIL;
26556 	result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
26557 	{
26558 		NI T3_;
26559 		T3_ = (NI)0;
26560 		T3_ = len__ast_3198(n);
26561 		if (!(T3_ == ((NI) 2))) goto LA4_;
26562 		{
26563 			NIM_BOOL T8_;
26564 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
26565 			T8_ = (NIM_BOOL)0;
26566 			T8_ = isRange__trees_213((*n)._kind_6.sons->data[((NI) 1)]);
26567 			if (!T8_) goto LA9_;
26568 			result = semRangeAux__sem_3219(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
26569 			n_2 = (*result).n;
26570 			{
26571 				NIM_BOOL T13_;
26572 				T13_ = (NIM_BOOL)0;
26573 				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));
26574 				if (!(T13_)) goto LA14_;
26575 				T13_ = (IL64(0) < (*(*n_2)._kind_6.sons->data[((NI) 0)])._kind_1.intVal);
26576 				LA14_: ;
26577 				if (!T13_) goto LA15_;
26578 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
26579 			}
26580 			goto LA11_;
26581 			LA15_: ;
26582 			{
26583 				NIM_BOOL T18_;
26584 				T18_ = (NIM_BOOL)0;
26585 				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));
26586 				if (!(T18_)) goto LA19_;
26587 				T18_ = ((*(*n_2)._kind_6.sons->data[((NI) 1)])._kind_1.intVal < IL64(0));
26588 				LA19_: ;
26589 				if (!T18_) goto LA20_;
26590 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
26591 			}
26592 			goto LA11_;
26593 			LA20_: ;
26594 			{
26595 				NIM_BOOL T23_;
26596 				T23_ = (NIM_BOOL)0;
26597 				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));
26598 				if (!(T23_)) goto LA24_;
26599 				T23_ = (0.0 < (*(*n_2)._kind_6.sons->data[((NI) 0)])._kind_2.floatVal);
26600 				LA24_: ;
26601 				if (!T23_) goto LA25_;
26602 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
26603 			}
26604 			goto LA11_;
26605 			LA25_: ;
26606 			{
26607 				NIM_BOOL T28_;
26608 				T28_ = (NIM_BOOL)0;
26609 				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));
26610 				if (!(T28_)) goto LA29_;
26611 				T28_ = ((*(*n_2)._kind_6.sons->data[((NI) 1)])._kind_2.floatVal < 0.0);
26612 				LA29_: ;
26613 				if (!T28_) goto LA30_;
26614 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
26615 			}
26616 			goto LA11_;
26617 			LA30_: ;
26618 			LA11_: ;
26619 		}
26620 		goto LA6_;
26621 		LA9_: ;
26622 		{
26623 			{
26624 				NIM_BOOL T35_;
26625 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T37_;
26626 				T35_ = (NIM_BOOL)0;
26627 				T35_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29));
26628 				if (!(T35_)) goto LA36_;
26629 				T37_ = NIM_NIL;
26630 				T37_ = considerQuotedIdent__lookups_28(c, (*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
26631 				T35_ = eqStrings((*T37_).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_557));
26632 				LA36_: ;
26633 				if (!T35_) goto LA38_;
26634 				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);
26635 			}
26636 			goto LA33_;
26637 			LA38_: ;
26638 			{
26639 				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);
26640 			}
26641 			LA33_: ;
26642 			result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
26643 		}
26644 		LA6_: ;
26645 	}
26646 	goto LA1_;
26647 	LA4_: ;
26648 	{
26649 		NimStringDesc* T42_;
26650 		T42_ = NIM_NIL;
26651 		T42_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_553), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_562));
26652 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T42_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_563, NIM_FALSE);
26653 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
26654 	}
26655 	LA1_: ;
26656 	return result;
26657 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semSet__sem_3120)26658 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semSet__sem_3120)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26659 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26660 	result = NIM_NIL;
26661 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19), prev, c);
26662 	{
26663 		NIM_BOOL T3_;
26664 		NI T4_;
26665 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26666 		T3_ = (NIM_BOOL)0;
26667 		T4_ = (NI)0;
26668 		T4_ = len__ast_3198(n);
26669 		T3_ = (T4_ == ((NI) 2));
26670 		if (!(T3_)) goto LA5_;
26671 		T3_ = !(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
26672 		LA5_: ;
26673 		if (!T3_) goto LA6_;
26674 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26675 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
26676 		{
26677 			if (!((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4) || (*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46))) goto LA10_;
26678 			base = lastSon__ast_3743(base);
26679 		}
26680 		LA10_: ;
26681 		{
26682 			if (!!(((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9)))) goto LA14_;
26683 			{
26684 				NIM_BOOL T18_;
26685 				T18_ = (NIM_BOOL)0;
26686 				T18_ = isOrdinalType__types_299(base, NIM_TRUE);
26687 				if (!!(T18_)) goto LA19_;
26688 				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);
26689 			}
26690 			goto LA16_;
26691 			LA19_: ;
26692 			{
26693 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T22_;
26694 				NIM_BOOL T23_;
26695 				T22_ = lengthOrd__types_1661((*(*c).graph).config, base);
26696 				T23_ = (NIM_BOOL)0;
26697 				T23_ = lt___int495056_738(IL64(65536), T22_);
26698 				if (!T23_) goto LA24_;
26699 				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);
26700 			}
26701 			goto LA16_;
26702 			LA24_: ;
26703 			LA16_: ;
26704 		}
26705 		LA14_: ;
26706 	}
26707 	goto LA1_;
26708 	LA6_: ;
26709 	{
26710 		NimStringDesc* T27_;
26711 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T28_;
26712 		T27_ = NIM_NIL;
26713 		T27_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_553), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_567));
26714 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T27_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_568, NIM_FALSE);
26715 		T28_ = NIM_NIL;
26716 		T28_ = errorType__semdata_1002(c);
26717 		addSonSkipIntLit__magicsys_136(result, T28_, (*c).Sup.idgen);
26718 	}
26719 	LA1_: ;
26720 	return result;
26721 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semOrdinal__sem_3459)26722 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semOrdinal__sem_3459)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26723 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26724 	result = NIM_NIL;
26725 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15), prev, c);
26726 	{
26727 		NI T3_;
26728 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26729 		T3_ = (NI)0;
26730 		T3_ = len__ast_3198(n);
26731 		if (!(T3_ == ((NI) 2))) goto LA4_;
26732 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26733 		{
26734 			if (!!(((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)))) goto LA8_;
26735 			{
26736 				NIM_BOOL T12_;
26737 				T12_ = (NIM_BOOL)0;
26738 				T12_ = isOrdinalType__types_299(base, NIM_FALSE);
26739 				if (!!(T12_)) goto LA13_;
26740 				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);
26741 			}
26742 			LA13_: ;
26743 		}
26744 		LA8_: ;
26745 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
26746 	}
26747 	goto LA1_;
26748 	LA4_: ;
26749 	{
26750 		NimStringDesc* T16_;
26751 		T16_ = NIM_NIL;
26752 		T16_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_553), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_570));
26753 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T16_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_571, NIM_FALSE);
26754 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
26755 	}
26756 	LA1_: ;
26757 	return result;
26758 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semIterableType__sem_3449)26759 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semIterableType__sem_3449)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26760 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26761 	result = NIM_NIL;
26762 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64), prev, c);
26763 	{
26764 		NI T3_;
26765 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26766 		T3_ = (NI)0;
26767 		T3_ = len__ast_3198(n);
26768 		if (!(T3_ == ((NI) 2))) goto LA4_;
26769 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26770 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
26771 	}
26772 	goto LA1_;
26773 	LA4_: ;
26774 	{
26775 		NimStringDesc* T7_;
26776 		T7_ = NIM_NIL;
26777 		T7_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_553), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_572));
26778 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T7_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_573, NIM_FALSE);
26779 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
26780 	}
26781 	LA1_: ;
26782 	return result;
26783 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semVarargs__sem_3167)26784 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semVarargs__sem_3167)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26785 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26786 	result = NIM_NIL;
26787 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48), prev, c);
26788 	{
26789 		NIM_BOOL T3_;
26790 		NI T4_;
26791 		NI T6_;
26792 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26793 		T3_ = (NIM_BOOL)0;
26794 		T4_ = (NI)0;
26795 		T4_ = len__ast_3198(n);
26796 		T3_ = (T4_ == ((NI) 2));
26797 		if (T3_) goto LA5_;
26798 		T6_ = (NI)0;
26799 		T6_ = len__ast_3198(n);
26800 		T3_ = (T6_ == ((NI) 3));
26801 		LA5_: ;
26802 		if (!T3_) goto LA7_;
26803 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26804 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
26805 		{
26806 			NI T11_;
26807 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T14_;
26808 			T11_ = (NI)0;
26809 			T11_ = len__ast_3198(n);
26810 			if (!(T11_ == ((NI) 3))) goto LA12_;
26811 			T14_ = NIM_NIL;
26812 			T14_ = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 2)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
26813 			asgnRef((void**) (&(*result).n), newIdentNode__ast_3712(T14_, (*(*n)._kind_6.sons->data[((NI) 2)]).info));
26814 		}
26815 		LA12_: ;
26816 	}
26817 	goto LA1_;
26818 	LA7_: ;
26819 	{
26820 		NimStringDesc* T16_;
26821 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
26822 		T16_ = NIM_NIL;
26823 		T16_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_553), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_575));
26824 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T16_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_576, NIM_FALSE);
26825 		T17_ = NIM_NIL;
26826 		T17_ = errorType__semdata_1002(c);
26827 		addSonSkipIntLit__magicsys_136(result, T17_, (*c).Sup.idgen);
26828 	}
26829 	LA1_: ;
26830 	return result;
26831 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semTuple__sem_3578)26832 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTuple__sem_3578)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26833 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26834 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
26835 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
26836 	NI counter;
26837 	result = NIM_NIL;
26838 	typ = NIM_NIL;
26839 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18), prev, c);
26840 	asgnRef((void**) (&(*result).n), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info));
26841 	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
26842 	initIntSet__pureZcollectionsZintsets_238((&check));
26843 	counter = ((NI) 0);
26844 	{
26845 		NI i;
26846 		NI colontmp_;
26847 		NI colontmp__2;
26848 		NI i_2;
26849 		i = (NI)0;
26850 		colontmp_ = (NI)0;
26851 		colontmp__2 = (NI)0;
26852 		colontmp_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
26853 		colontmp__2 = len__ast_3198(n);
26854 		i_2 = colontmp_;
26855 		{
26856 			while (1) {
26857 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
26858 				if (!(i_2 < colontmp__2)) goto LA3;
26859 				i = i_2;
26860 				a = (*n)._kind_6.sons->data[i];
26861 				{
26862 					if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35)))) goto LA6_;
26863 					illFormedAst__semdata_1071(a, (*(*c).graph).config);
26864 				}
26865 				LA6_: ;
26866 				checkMinSonsLen__semdata_1084(a, ((NI) 3), (*(*c).graph).config);
26867 				{
26868 					NI T10_;
26869 					NI T13_;
26870 					T10_ = (NI)0;
26871 					T10_ = len__ast_3198(a);
26872 					if (!!(((*(*a)._kind_6.sons->data[(NI)(T10_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA11_;
26873 					T13_ = (NI)0;
26874 					T13_ = len__ast_3198(a);
26875 					typ = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[(NI)(T13_ - ((NI) 2))], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26876 				}
26877 				goto LA8_;
26878 				LA11_: ;
26879 				{
26880 					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);
26881 					typ = errorType__semdata_1002(c);
26882 				}
26883 				LA8_: ;
26884 				{
26885 					NI T17_;
26886 					NI T20_;
26887 					T17_ = (NI)0;
26888 					T17_ = len__ast_3198(a);
26889 					if (!!(((*(*a)._kind_6.sons->data[(NI)(T17_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA18_;
26890 					T20_ = (NI)0;
26891 					T20_ = len__ast_3198(a);
26892 					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);
26893 				}
26894 				LA18_: ;
26895 				{
26896 					NI j;
26897 					NI colontmp__3;
26898 					NI T22_;
26899 					NI i_3;
26900 					j = (NI)0;
26901 					colontmp__3 = (NI)0;
26902 					T22_ = (NI)0;
26903 					T22_ = len__ast_3198(a);
26904 					colontmp__3 = (NI)(T22_ - ((NI) 2));
26905 					i_3 = ((NI) 0);
26906 					{
26907 						while (1) {
26908 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
26909 							if (!(i_3 < colontmp__3)) goto LA24;
26910 							j = i_3;
26911 							field = newSymG__sem_458(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19), (*a)._kind_6.sons->data[j], c);
26912 							asgnRef((void**) (&(*field).typ), typ);
26913 							(*field).position = counter;
26914 							counter += ((NI) 1);
26915 							{
26916 								NIM_BOOL T27_;
26917 								NimStringDesc* T30_;
26918 								T27_ = (NIM_BOOL)0;
26919 								T27_ = containsOrIncl__astalgo_402((&check), (*(*field).name).id);
26920 								if (!T27_) goto LA28_;
26921 								T30_ = NIM_NIL;
26922 								T30_ = rawNewString(((*(*field).name).s ? (*(*field).name).s->Sup.len : 0) + 23);
26923 appendString(T30_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_150));
26924 appendString(T30_, (*(*field).name).s);
26925 appendString(T30_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
26926 								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);
26927 							}
26928 							goto LA25_;
26929 							LA28_: ;
26930 							{
26931 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T32_;
26932 								T32_ = NIM_NIL;
26933 								T32_ = newSymNode__ast_3716(field);
26934 								add__ast_4797((*result).n, T32_);
26935 								addSonSkipIntLit__magicsys_136(result, typ, (*c).Sup.idgen);
26936 							}
26937 							LA25_: ;
26938 							{
26939 								NIM_BOOL T35_;
26940 								T35_ = (NIM_BOOL)0;
26941 								T35_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
26942 								if (!(T35_)) goto LA36_;
26943 								T35_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
26944 								LA36_: ;
26945 								if (!T35_) goto LA37_;
26946 								nep1CheckDefImpl__linter_110((*(*c).graph).config, (*(*a)._kind_6.sons->data[j]).info, field, (*field).kind);
26947 							}
26948 							LA37_: ;
26949 							i_3 += ((NI) 1);
26950 						} LA24: ;
26951 					}
26952 				}
26953 				i_2 += ((NI) 1);
26954 			} LA3: ;
26955 		}
26956 	}
26957 	{
26958 		NI T41_;
26959 		T41_ = (NI)0;
26960 		T41_ = len__ast_3198((*result).n);
26961 		if (!(T41_ == ((NI) 0))) goto LA42_;
26962 		asgnRef((void**) (&(*result).n), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
26963 	}
26964 	LA42_: ;
26965 	{
26966 		NIM_BOOL T46_;
26967 		NimStringDesc* T49_;
26968 		NimStringDesc* T50_;
26969 		T46_ = (NIM_BOOL)0;
26970 		T46_ = isTupleRecursive__types_3996(result);
26971 		if (!T46_) goto LA47_;
26972 		T49_ = NIM_NIL;
26973 		T49_ = typeToString__types_50(result, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
26974 		T50_ = NIM_NIL;
26975 		T50_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_146), T49_);
26976 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T50_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_582, NIM_FALSE);
26977 	}
26978 	LA47_: ;
26979 	return result;
26980 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semGenericParamInInvocation__sem_5423)26981 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semGenericParamInInvocation__sem_5423)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
26982 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26983 	result = NIM_NIL;
26984 	result = semTypeNode__sem_80(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26985 	asgnRef((void**) (&(*n).typ), makeTypeDesc__concepts_49(c, result));
26986 	return result;
26987 }
N_NIMCALL(void,semObjectTypeForInheritedGenericInst__sem_5427)26988 N_LIB_PRIVATE N_NIMCALL(void, semObjectTypeForInheritedGenericInst__sem_5427)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
26989 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
26990 	NI pos;
26991 	tyObject_TType__facALICuu8zUj0hjvbTLFg* realBase;
26992 	tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26993 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newf;
26994 	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
26995 	initIntSet__pureZcollectionsZintsets_238((&check));
26996 	pos = ((NI) 0);
26997 	realBase = (*t).sons->data[((NI) 0)];
26998 	base = skipTypesOrNil__ast_4185(realBase, TM__rF9caJawfOjYTjsgLVUSGFA_53);
26999 	{
27000 		NimStringDesc* T5_;
27001 		if (!(base == 0)) goto LA3_;
27002 		T5_ = NIM_NIL;
27003 		T5_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_146), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_594));
27004 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T5_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_595, NIM_FALSE);
27005 	}
27006 	goto LA1_;
27007 	LA3_: ;
27008 	{
27009 		tyObject_TType__facALICuu8zUj0hjvbTLFg* concreteBase;
27010 		concreteBase = skipGenericInvocation__sem_4428(base);
27011 		{
27012 			NIM_BOOL T9_;
27013 			T9_ = (NIM_BOOL)0;
27014 			T9_ = ((*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
27015 			if (!(T9_)) goto LA10_;
27016 			T9_ = !((((*concreteBase).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2))&63U)))!=0));
27017 			LA10_: ;
27018 			if (!T9_) goto LA11_;
27019 			addInheritedFields__sem_4443(c, (&check), (&pos), concreteBase);
27020 		}
27021 		goto LA7_;
27022 		LA11_: ;
27023 		{
27024 			{
27025 				if (!!(((*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50)))) goto LA16_;
27026 				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);
27027 			}
27028 			LA16_: ;
27029 		}
27030 		LA7_: ;
27031 	}
27032 	LA1_: ;
27033 	newf = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
27034 	semRecordNodeAux__sem_3922(c, (*t).n, (&check), (&pos), newf, t, NIM_FALSE);
27035 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semGeneric__sem_5453)27036 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) {
27037 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
27038 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
27039 	tyObject_TType__facALICuu8zUj0hjvbTLFg* tx;
27040 {	result = NIM_NIL;
27041 	{
27042 		tyArray__Re75IspeoxXy2oCZHwcRrA T5_;
27043 		NimStringDesc* T6_;
27044 		if (!((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
27045 		nimZeroMem((void*)T5_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
27046 		T5_[0] = copyString((*(*s).name).s);
27047 		T5_[1] = toHumanStr__ast_5158((*s).kind);
27048 		T6_ = NIM_NIL;
27049 		T6_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_583), T5_, 2);
27050 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_584, NIM_FALSE);
27051 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
27052 		goto BeforeRet_;
27053 	}
27054 	LA3_: ;
27055 	t = skipTypes__ast_3735((*s).typ, TM__rF9caJawfOjYTjsgLVUSGFA_585);
27056 	{
27057 		NIM_BOOL T9_;
27058 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T11_;
27059 		T9_ = (NIM_BOOL)0;
27060 		T9_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54));
27061 		if (!(T9_)) goto LA10_;
27062 		T11_ = NIM_NIL;
27063 		T11_ = base__types_63(t);
27064 		T9_ = ((*T11_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10));
27065 		LA10_: ;
27066 		if (!T9_) goto LA12_;
27067 		t = base__types_63(t);
27068 	}
27069 	LA12_: ;
27070 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9), prev, c);
27071 	addSonSkipIntLit__magicsys_136(result, t, (*c).Sup.idgen);
27072 	{
27073 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30))) goto LA16_;
27074 		{
27075 			NI i;
27076 			NI colontmp_;
27077 			NI i_2;
27078 			i = (NI)0;
27079 			colontmp_ = (NI)0;
27080 			colontmp_ = len__ast_3198(n);
27081 			i_2 = ((NI) 1);
27082 			{
27083 				while (1) {
27084 					tyObject_TType__facALICuu8zUj0hjvbTLFg* elem;
27085 					if (!(i_2 < colontmp_)) goto LA20;
27086 					i = i_2;
27087 					elem = semGenericParamInInvocation__sem_5423(c, (*n)._kind_6.sons->data[i]);
27088 					{
27089 						if (!(elem == 0)) goto LA23_;
27090 						{
27091 							NimStringDesc* argX60gensym1298_;
27092 							if (!NIM_TRUE) goto LA27_;
27093 							argX60gensym1298_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_586);
27094 							internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1298_, TM__rF9caJawfOjYTjsgLVUSGFA_586);
27095 						}
27096 						LA27_: ;
27097 						rawAddSon__ast_4288(result, elem, NIM_TRUE);
27098 					}
27099 					goto LA21_;
27100 					LA23_: ;
27101 					{
27102 						addSonSkipIntLit__magicsys_136(result, elem, (*c).Sup.idgen);
27103 					}
27104 					LA21_: ;
27105 					i_2 += ((NI) 1);
27106 				} LA20: ;
27107 			}
27108 		}
27109 		goto BeforeRet_;
27110 	}
27111 	goto LA14_;
27112 	LA16_: ;
27113 	{
27114 		NimStringDesc* T33_;
27115 		if (!!(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10)))) goto LA31_;
27116 		T33_ = NIM_NIL;
27117 		T33_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_587), (*(*s).name).s);
27118 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T33_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_588, NIM_FALSE);
27119 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
27120 		goto BeforeRet_;
27121 	}
27122 	goto LA14_;
27123 	LA31_: ;
27124 	{
27125 		tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
27126 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T35_;
27127 		NIM_BOOL isConcrete;
27128 		nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
27129 		newCandidate__sigmatch_195(c, t, (&m));
27130 		m.isNoCall = NIM_TRUE;
27131 		T35_ = NIM_NIL;
27132 		T35_ = copyTree__ast_4431(n);
27133 		matches__sigmatch_4181(c, n, T35_, (&m));
27134 		{
27135 			NimStringDesc* err;
27136 			tyArray__Re75IspeoxXy2oCZHwcRrA T40_;
27137 			NimStringDesc* T41_;
27138 			if (!!((m.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA38_;
27139 			err = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_589));
27140 			addTypeHeader__types_216((&err), (*(*c).graph).config, t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 7), NIM_TRUE);
27141 			nimZeroMem((void*)T40_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
27142 			T40_[0] = describeArgs__sigmatch_384(c, n, ((NI) 1), ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
27143 			T40_[1] = describeArgs__sigmatch_384(c, (*t).n, ((NI) 0), ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
27144 			T41_ = NIM_NIL;
27145 			T41_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_590), T40_, 2);
27146 			err = resizeString(err, (T41_ ? T41_->Sup.len : 0) + 0);
27147 appendString(err, T41_);
27148 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), err, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_591, NIM_FALSE);
27149 			result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
27150 			goto BeforeRet_;
27151 		}
27152 		LA38_: ;
27153 		isConcrete = NIM_TRUE;
27154 		{
27155 			NI i_3;
27156 			NI colontmp__2;
27157 			NI i_4;
27158 			i_3 = (NI)0;
27159 			colontmp__2 = (NI)0;
27160 			colontmp__2 = len__ast_3198(m.call);
27161 			i_4 = ((NI) 1);
27162 			{
27163 				while (1) {
27164 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
27165 					if (!(i_4 < colontmp__2)) goto LA44;
27166 					i_3 = i_4;
27167 					typ = (*(*m.call)._kind_6.sons->data[i_3]).typ;
27168 					{
27169 						NIM_BOOL T47_;
27170 						NIM_BOOL T48_;
27171 						NIM_BOOL T49_;
27172 						T47_ = (NIM_BOOL)0;
27173 						T48_ = (NIM_BOOL)0;
27174 						T49_ = (NIM_BOOL)0;
27175 						T49_ = ((*(*m.call)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
27176 						if (!(T49_)) goto LA50_;
27177 						T49_ = ((*(*(*m.call)._kind_6.sons->data[i_3])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
27178 						LA50_: ;
27179 						T48_ = T49_;
27180 						if (!(T48_)) goto LA51_;
27181 						T48_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
27182 						LA51_: ;
27183 						T47_ = T48_;
27184 						if (!(T47_)) goto LA52_;
27185 						T47_ = containsGenericType__types_3360(typ);
27186 						LA52_: ;
27187 						if (!T47_) goto LA53_;
27188 						isConcrete = NIM_FALSE;
27189 						{
27190 							if (!(typ == 0)) goto LA57_;
27191 							{
27192 								NimStringDesc* argX60gensym1314_;
27193 								if (!NIM_TRUE) goto LA61_;
27194 								argX60gensym1314_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_586);
27195 								internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1314_, TM__rF9caJawfOjYTjsgLVUSGFA_586);
27196 							}
27197 							LA61_: ;
27198 							rawAddSon__ast_4288(result, typ, NIM_TRUE);
27199 						}
27200 						goto LA55_;
27201 						LA57_: ;
27202 						{
27203 							addSonSkipIntLit__magicsys_136(result, typ, (*c).Sup.idgen);
27204 						}
27205 						LA55_: ;
27206 					}
27207 					goto LA45_;
27208 					LA53_: ;
27209 					{
27210 						typ = skipTypes__ast_3735(typ, TM__rF9caJawfOjYTjsgLVUSGFA_123);
27211 						{
27212 							NIM_BOOL T67_;
27213 							T67_ = (NIM_BOOL)0;
27214 							T67_ = containsGenericType__types_3360(typ);
27215 							if (!T67_) goto LA68_;
27216 							isConcrete = NIM_FALSE;
27217 						}
27218 						LA68_: ;
27219 						{
27220 							if (!(typ == 0)) goto LA72_;
27221 							{
27222 								NimStringDesc* argX60gensym1318_;
27223 								if (!NIM_TRUE) goto LA76_;
27224 								argX60gensym1318_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_586);
27225 								internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1318_, TM__rF9caJawfOjYTjsgLVUSGFA_586);
27226 							}
27227 							LA76_: ;
27228 							rawAddSon__ast_4288(result, typ, NIM_TRUE);
27229 						}
27230 						goto LA70_;
27231 						LA72_: ;
27232 						{
27233 							addSonSkipIntLit__magicsys_136(result, typ, (*c).Sup.idgen);
27234 						}
27235 						LA70_: ;
27236 					}
27237 					LA45_: ;
27238 					i_4 += ((NI) 1);
27239 				} LA44: ;
27240 			}
27241 		}
27242 		{
27243 			if (!isConcrete) goto LA81_;
27244 			{
27245 				NIM_BOOL T85_;
27246 				NimStringDesc* T89_;
27247 				T85_ = (NIM_BOOL)0;
27248 				T85_ = ((*s).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
27249 				if (!(T85_)) goto LA86_;
27250 				T85_ = !(((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54)));
27251 				LA86_: ;
27252 				if (!T85_) goto LA87_;
27253 				T89_ = NIM_NIL;
27254 				T89_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_81), (*(*s).name).s);
27255 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T89_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_592, NIM_FALSE);
27256 				result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
27257 			}
27258 			goto LA83_;
27259 			LA87_: ;
27260 			{
27261 				result = instGenericContainer__sem_1125(c, (*n).info, result, NIM_FALSE);
27262 			}
27263 			LA83_: ;
27264 		}
27265 		LA81_: ;
27266 	}
27267 	LA14_: ;
27268 	tx = skipTypes__ast_4168(result, TM__rF9caJawfOjYTjsgLVUSGFA_97, ((NI) 50));
27269 	{
27270 		NIM_BOOL T93_;
27271 		NimStringDesc* T97_;
27272 		NimStringDesc* T98_;
27273 		T93_ = (NIM_BOOL)0;
27274 		T93_ = (tx == 0);
27275 		if (T93_) goto LA94_;
27276 		T93_ = isTupleRecursive__types_3996(tx);
27277 		LA94_: ;
27278 		if (!T93_) goto LA95_;
27279 		T97_ = NIM_NIL;
27280 		T97_ = typeToString__types_50((*result).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
27281 		T98_ = NIM_NIL;
27282 		T98_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_146), T97_);
27283 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T98_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_593, NIM_FALSE);
27284 		result = errorType__semdata_1002(c);
27285 		goto BeforeRet_;
27286 	}
27287 	LA95_: ;
27288 	{
27289 		NIM_BOOL T101_;
27290 		NI position;
27291 		T101_ = (NIM_BOOL)0;
27292 		T101_ = !((tx == result));
27293 		if (!(T101_)) goto LA102_;
27294 		T101_ = ((*tx).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
27295 		LA102_: ;
27296 		if (!T101_) goto LA103_;
27297 		{
27298 			if (!!(((*tx).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA107_;
27299 			semObjectTypeForInheritedGenericInst__sem_5427(c, n, tx);
27300 		}
27301 		LA107_: ;
27302 		position = ((NI) 0);
27303 		recomputeFieldPositions__semtypinst_1006(tx, (*tx).n, (&position));
27304 	}
27305 	LA103_: ;
27306 	}BeforeRet_: ;
27307 	return result;
27308 }
N_INLINE(NIM_BOOL,isNewStyleConcept__ast_5226)27309 static N_INLINE(NIM_BOOL, isNewStyleConcept__ast_5226)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
27310 	NIM_BOOL result;
27311 	result = (NIM_BOOL)0;
27312 	result = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
27313 	return result;
27314 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConceptBody__sem_2888)27315 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConceptBody__sem_2888)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
27316 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
27317 	tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w ctx;
27318 	result = NIM_NIL;
27319 	nimZeroMem((void*)(&ctx), sizeof(tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w));
27320 	initIntSet__pureZcollectionsZintsets_238((&ctx.toMixin));
27321 	initIntSet__pureZcollectionsZintsets_238((&ctx.toBind));
27322 	result = semGenericStmt__sem_8113(c, n, 8, (&ctx));
27323 	return result;
27324 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semTypeClass__sem_5629)27325 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeClass__sem_5629)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
27326 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
27327 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmas;
27328 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* inherited;
27329 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
27330 	tyObject_TType__facALICuu8zUj0hjvbTLFg* candidateTypeSlot;
27331 	tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T6_;
27332 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T15_;
27333 {	result = NIM_NIL;
27334 	{
27335 		NIM_BOOL T3_;
27336 		T3_ = (NIM_BOOL)0;
27337 		T3_ = isNewStyleConcept__ast_5226(n);
27338 		if (!T3_) goto LA4_;
27339 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62), prev, c);
27340 		(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
27341 		asgnRef((void**) (&(*result).n), semConceptDeclaration__concepts_97(c, n));
27342 		goto BeforeRet_;
27343 	}
27344 	LA4_: ;
27345 	pragmas = (*n)._kind_6.sons->data[((NI) 1)];
27346 	inherited = (*n)._kind_6.sons->data[((NI) 2)];
27347 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52), prev, c);
27348 	(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
27349 	owner = getCurrOwner__semdata_315(c);
27350 	T6_ = NIM_NIL;
27351 	T6_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
27352 	asgnRef((void**) (&T6_->data[0]), errorType__semdata_1002(c));
27353 	candidateTypeSlot = newTypeWithSons__semdata_815(owner, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4), T6_, (*c).Sup.idgen);
27354 	if ((*result).sons) { nimGCunrefRC1((*result).sons); (*result).sons = NIM_NIL; }
27355 	(*result).sons = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeqRC1((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
27356 	asgnRef((void**) (&(*result).sons->data[0]), candidateTypeSlot);
27357 	asgnRef((void**) (&(*result).n), n);
27358 	{
27359 		if (!!(((*inherited).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA9_;
27360 		{
27361 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n_2;
27362 			tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
27363 			NI i;
27364 			NI L;
27365 			NI T12_;
27366 			n_2 = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
27367 			colontmp_ = NIM_NIL;
27368 			colontmp_ = (*inherited)._kind_6.sons;
27369 			i = ((NI) 0);
27370 			T12_ = (colontmp_ ? colontmp_->Sup.len : 0);
27371 			L = T12_;
27372 			{
27373 				while (1) {
27374 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
27375 					if (!(i < L)) goto LA14;
27376 					n_2 = &colontmp_->data[i];
27377 					typ = semTypeNode__sem_80(c, (*n_2), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
27378 					add__concepts_23(result, typ);
27379 					i += ((NI) 1);
27380 				} LA14: ;
27381 			}
27382 		}
27383 	}
27384 	LA9_: ;
27385 	T15_ = NIM_NIL;
27386 	T15_ = openScope__lookups_69(c);
27387 	{
27388 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* param;
27389 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__2;
27390 		param = NIM_NIL;
27391 		colontmp__2 = NIM_NIL;
27392 		colontmp__2 = (*n)._kind_6.sons->data[((NI) 0)];
27393 		{
27394 			NI i_2;
27395 			NI colontmp__3;
27396 			NI i_3;
27397 			i_2 = (NI)0;
27398 			colontmp__3 = (NI)0;
27399 			colontmp__3 = safeLen__ast_3191(colontmp__2);
27400 			i_3 = ((NI) 0);
27401 			{
27402 				while (1) {
27403 					if (!(i_3 < colontmp__3)) goto LA19;
27404 					i_2 = i_3;
27405 					param = (*colontmp__2)._kind_6.sons->data[i_2];
27406 					{
27407 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dummyName;
27408 						tyObject_TType__facALICuu8zUj0hjvbTLFg* dummyType;
27409 						tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag modifier;
27410 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* dummyParam;
27411 						tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw T44_;
27412 						tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T50_;
27413 						dummyName = NIM_NIL;
27414 						dummyType = NIM_NIL;
27415 						switch ((*param).kind) {
27416 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 143):
27417 						{
27418 							modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23);
27419 						}
27420 						break;
27421 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141):
27422 						{
27423 							modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22);
27424 						}
27425 						break;
27426 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 142):
27427 						{
27428 							modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21);
27429 						}
27430 						break;
27431 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 137):
27432 						{
27433 							modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60);
27434 						}
27435 						break;
27436 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
27437 						{
27438 							modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8);
27439 						}
27440 						break;
27441 						default:
27442 						{
27443 							modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0);
27444 						}
27445 						break;
27446 						}
27447 						{
27448 							if (!!((modifier == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA29_;
27449 							dummyName = (*param)._kind_6.sons->data[((NI) 0)];
27450 							dummyType = makeTypeWithModifier__semdata_746(c, modifier, candidateTypeSlot);
27451 							{
27452 								if (!(modifier == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA33_;
27453 								(*dummyType).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 28)) & 63);
27454 								(*dummyType).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
27455 							}
27456 							LA33_: ;
27457 						}
27458 						goto LA27_;
27459 						LA29_: ;
27460 						{
27461 							dummyName = param;
27462 							dummyType = candidateTypeSlot;
27463 						}
27464 						LA27_: ;
27465 						{
27466 							if (!((*dummyName).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA38_;
27467 							goto LA20;
27468 						}
27469 						LA38_: ;
27470 						{
27471 							NimStringDesc* argX60gensym1348_;
27472 							if (!!(((*dummyName).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA42_;
27473 							argX60gensym1348_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_608);
27474 							internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1348_, TM__rF9caJawfOjYTjsgLVUSGFA_608);
27475 						}
27476 						LA42_: ;
27477 						T44_ = (tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw)0;
27478 						{
27479 							if (!(modifier == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA47_;
27480 							T44_ = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7);
27481 						}
27482 						goto LA45_;
27483 						LA47_: ;
27484 						{
27485 							T44_ = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8);
27486 						}
27487 						LA45_: ;
27488 						T50_ = nextSymId__ast_3132((*c).Sup.idgen);
27489 						dummyParam = newSym__ast_3445(T44_, (*dummyName)._kind_5.ident, T50_, owner, (*param).info, 0);
27490 						asgnRef((void**) (&(*dummyParam).typ), dummyType);
27491 						(*dummyParam).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
27492 						addDecl__lookups_845(c, dummyParam);
27493 					} LA20: ;
27494 					i_3 += ((NI) 1);
27495 				} LA19: ;
27496 			}
27497 		}
27498 	}
27499 	asgnRef((void**) (&(*(*result).n)._kind_6.sons->data[((NI) 3)]), semConceptBody__sem_2888(c, (*n)._kind_6.sons->data[((NI) 3)]));
27500 	closeScope__lookups_101(c);
27501 	}BeforeRet_: ;
27502 	return result;
27503 }
N_INLINE(NIM_BOOL,isSelf__concepts_38)27504 static N_INLINE(NIM_BOOL, isSelf__concepts_38)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
27505 	NIM_BOOL result;
27506 	NIM_BOOL T1_;
27507 	result = (NIM_BOOL)0;
27508 	T1_ = (NIM_BOOL)0;
27509 	T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
27510 	if (!(T1_)) goto LA2_;
27511 	T1_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 23))&63U)))!=0);
27512 	LA2_: ;
27513 	result = T1_;
27514 	return result;
27515 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semVarOutType__sem_3185)27516 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) {
27517 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
27518 	result = NIM_NIL;
27519 	{
27520 		NI T3_;
27521 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
27522 		T3_ = (NI)0;
27523 		T3_ = len__ast_3198(n);
27524 		if (!(T3_ == ((NI) 1))) goto LA4_;
27525 		result = newOrPrevType__sem_2916(kind, prev, c);
27526 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
27527 		{
27528 			NIM_BOOL T8_;
27529 			NIM_BOOL T10_;
27530 			T8_ = (NIM_BOOL)0;
27531 			T8_ = ((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
27532 			if (!(T8_)) goto LA9_;
27533 			T10_ = (NIM_BOOL)0;
27534 			T10_ = isSelf__concepts_38(base);
27535 			T8_ = !(T10_);
27536 			LA9_: ;
27537 			if (!T8_) goto LA11_;
27538 			base = (*base).sons->data[((NI) 0)];
27539 		}
27540 		LA11_: ;
27541 		{
27542 			if (!((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA15_;
27543 			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);
27544 			base = (*base).sons->data[((NI) 0)];
27545 		}
27546 		LA15_: ;
27547 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
27548 	}
27549 	goto LA1_;
27550 	LA4_: ;
27551 	{
27552 		result = newConstraint__sem_2929(c, kind);
27553 	}
27554 	LA1_: ;
27555 	return result;
27556 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semDistinct__sem_3206)27557 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semDistinct__sem_3206)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
27558 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
27559 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
27560 {	result = NIM_NIL;
27561 	{
27562 		NI T3_;
27563 		T3_ = (NI)0;
27564 		T3_ = len__ast_3198(n);
27565 		if (!(T3_ == ((NI) 0))) goto LA4_;
27566 		result = newConstraint__sem_2929(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13));
27567 		goto BeforeRet_;
27568 	}
27569 	LA4_: ;
27570 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13), prev, c);
27571 	T6_ = NIM_NIL;
27572 	T6_ = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
27573 	addSonSkipIntLit__magicsys_136(result, T6_, (*c).Sup.idgen);
27574 	{
27575 		NI T9_;
27576 		T9_ = (NI)0;
27577 		T9_ = len__ast_3198(n);
27578 		if (!(((NI) 1) < T9_)) goto LA10_;
27579 		asgnRef((void**) (&(*result).n), (*n)._kind_6.sons->data[((NI) 1)]);
27580 	}
27581 	LA10_: ;
27582 	}BeforeRet_: ;
27583 	return result;
27584 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,applyTypeSectionPragmas__sem_5714)27585 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, applyTypeSectionPragmas__sem_5714)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmas, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* operand) {
27586 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
27587 {	result = NIM_NIL;
27588 	{
27589 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
27590 		p = NIM_NIL;
27591 		{
27592 			NI i;
27593 			NI colontmp_;
27594 			NI i_2;
27595 			i = (NI)0;
27596 			colontmp_ = (NI)0;
27597 			colontmp_ = safeLen__ast_3191(pragmas);
27598 			i_2 = ((NI) 0);
27599 			{
27600 				while (1) {
27601 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key;
27602 					if (!(i_2 < colontmp_)) goto LA4;
27603 					i = i_2;
27604 					p = (*pragmas)._kind_6.sons->data[i];
27605 					{
27606 						NIM_BOOL T7_;
27607 						NI T9_;
27608 						T7_ = (NIM_BOOL)0;
27609 						T7_ = ((*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34) || (*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28));
27610 						if (!(T7_)) goto LA8_;
27611 						T9_ = (NI)0;
27612 						T9_ = len__ast_3198(p);
27613 						T7_ = (((NI) 1) <= T9_);
27614 						LA8_: ;
27615 						if (!T7_) goto LA10_;
27616 						key = (*p)._kind_6.sons->data[((NI) 0)];
27617 					}
27618 					goto LA5_;
27619 					LA10_: ;
27620 					{
27621 						key = p;
27622 					}
27623 					LA5_: ;
27624 					{
27625 						NIM_BOOL T15_;
27626 						tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T17_;
27627 						T15_ = (NIM_BOOL)0;
27628 						T15_ = ((*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
27629 						if (T15_) goto LA16_;
27630 						T17_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
27631 						T17_ = whichPragma__trees_244(p);
27632 						T15_ = !((T17_ == ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 0)));
27633 						LA16_: ;
27634 						if (!T15_) goto LA18_;
27635 					}
27636 					goto LA13_;
27637 					LA18_: ;
27638 					{
27639 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
27640 						ident = considerQuotedIdent__lookups_28(c, key, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
27641 						{
27642 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T23_;
27643 							T23_ = NIM_NIL;
27644 							T23_ = strTableGet__astalgo_3390((*c).userPragmas, ident);
27645 							if (!!((T23_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA24_;
27646 						}
27647 						goto LA21_;
27648 						LA24_: ;
27649 						{
27650 							NIM_BOOL amb;
27651 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
27652 							amb = NIM_FALSE;
27653 							sym = searchInScopes__lookups_423(c, ident, (&amb));
27654 							{
27655 								NIM_BOOL T29_;
27656 								T29_ = (NIM_BOOL)0;
27657 								T29_ = !((sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
27658 								if (!(T29_)) goto LA30_;
27659 								T29_ = (((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0);
27660 								LA30_: ;
27661 								if (!T29_) goto LA31_;
27662 							}
27663 							goto LA27_;
27664 							LA31_: ;
27665 							{
27666 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
27667 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T44_;
27668 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
27669 								x = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*key).info);
27670 								add__ast_4797(x, key);
27671 								{
27672 									NIM_BOOL T36_;
27673 									NI T38_;
27674 									T36_ = (NIM_BOOL)0;
27675 									T36_ = ((*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34) || (*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28));
27676 									if (!(T36_)) goto LA37_;
27677 									T38_ = (NI)0;
27678 									T38_ = len__ast_3198(p);
27679 									T36_ = (((NI) 1) < T38_);
27680 									LA37_: ;
27681 									if (!T36_) goto LA39_;
27682 									{
27683 										NI i_3;
27684 										NI colontmp__2;
27685 										NI i_4;
27686 										i_3 = (NI)0;
27687 										colontmp__2 = (NI)0;
27688 										colontmp__2 = len__ast_3198(p);
27689 										i_4 = ((NI) 1);
27690 										{
27691 											while (1) {
27692 												if (!(i_4 < colontmp__2)) goto LA43;
27693 												i_3 = i_4;
27694 												add__ast_4797(x, (*p)._kind_6.sons->data[i_3]);
27695 												i_4 += ((NI) 1);
27696 											} LA43: ;
27697 										}
27698 									}
27699 								}
27700 								LA39_: ;
27701 								T44_ = NIM_NIL;
27702 								T44_ = copyTreeWithoutNode__ast_4459(operand, p);
27703 								add__ast_4797(x, T44_);
27704 								r = semOverloadedCall__sem_2498(c, x, x, 393216, 262144);
27705 								{
27706 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
27707 									if (!!((r == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA47_;
27708 									{
27709 										if (!!(((*(*r)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA51_;
27710 										failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_610));
27711 									}
27712 									LA51_: ;
27713 									m = (*(*r)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
27714 									switch ((*m).kind) {
27715 									case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
27716 									{
27717 										result = semMacroExpr__sem_524(c, r, r, m, 8192);
27718 										goto BeforeRet_;
27719 									}
27720 									break;
27721 									case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
27722 									{
27723 										result = semTemplateExpr__sem_519(c, r, m, 8192);
27724 										goto BeforeRet_;
27725 									}
27726 									break;
27727 									default:
27728 									{
27729 										{
27730 											if (!NIM_TRUE) goto LA58_;
27731 											failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_611));
27732 										}
27733 										LA58_: ;
27734 									}
27735 									break;
27736 									}
27737 								}
27738 								LA47_: ;
27739 							}
27740 							LA27_: ;
27741 						}
27742 						LA21_: ;
27743 					}
27744 					LA13_: ;
27745 					i_2 += ((NI) 1);
27746 				} LA4: ;
27747 			}
27748 		}
27749 	}
27750 	}BeforeRet_: ;
27751 	return result;
27752 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semProcTypeWithScope__sem_5803)27753 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) {
27754 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
27755 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T12_;
27756 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
27757 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T13_;
27758 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
27759 {	result = NIM_NIL;
27760 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
27761 	{
27762 		NIM_BOOL T3_;
27763 		NI T5_;
27764 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* macroEval;
27765 		T3_ = (NIM_BOOL)0;
27766 		T3_ = !(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
27767 		if (!(T3_)) goto LA4_;
27768 		T5_ = (NI)0;
27769 		T5_ = len__ast_3198((*n)._kind_6.sons->data[((NI) 1)]);
27770 		T3_ = (((NI) 0) < T5_);
27771 		LA4_: ;
27772 		if (!T3_) goto LA6_;
27773 		macroEval = applyTypeSectionPragmas__sem_5714(c, (*n)._kind_6.sons->data[((NI) 1)], n);
27774 		{
27775 			if (!!((macroEval == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA10_;
27776 			result = semTypeNode__sem_80(c, macroEval, prev);
27777 			goto BeforeRet_;
27778 		}
27779 		LA10_: ;
27780 	}
27781 	LA6_: ;
27782 	T12_ = NIM_NIL;
27783 	T12_ = openScope__lookups_69(c);
27784 	result = semProcTypeNode__sem_5067(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), prev, kind, NIM_TRUE);
27785 	(*result).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9);
27786 	T13_ = NIM_NIL;
27787 	T13_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_498));
27788 	T14_ = NIM_NIL;
27789 	T14_ = newIdentNode__ast_3712(T13_, (*n).info);
27790 	s = newSymS__sem_453(kind, T14_, c);
27791 	asgnRef((void**) (&(*s).typ), result);
27792 	{
27793 		NIM_BOOL T17_;
27794 		NI T19_;
27795 		T17_ = (NIM_BOOL)0;
27796 		T17_ = !(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
27797 		if (!(T17_)) goto LA18_;
27798 		T19_ = (NI)0;
27799 		T19_ = len__ast_3198((*n)._kind_6.sons->data[((NI) 1)]);
27800 		T17_ = (((NI) 0) < T19_);
27801 		LA18_: ;
27802 		if (!T17_) goto LA20_;
27803 		pragma__pragmas_123(c, s, (*n)._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_612, NIM_FALSE);
27804 		setEffectsForProcType__sempass50_4540((*c).graph, result, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
27805 	}
27806 	goto LA15_;
27807 	LA20_: ;
27808 	{
27809 		NIM_BOOL T23_;
27810 		NI T24_;
27811 		tyArray__voNMFnIDThVNu9afe2zfZWA T28_;
27812 		T23_ = (NIM_BOOL)0;
27813 		T24_ = ((*c).optionStack ? (*c).optionStack->Sup.len : 0);
27814 		T23_ = (((NI) 0) < T24_);
27815 		if (!(T23_)) goto LA25_;
27816 		T23_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 47))&63U)))!=0));
27817 		LA25_: ;
27818 		if (!T23_) goto LA26_;
27819 		nimZeroMem((void*)T28_, sizeof(tyArray__voNMFnIDThVNu9afe2zfZWA));
27820 		T28_[0] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
27821 		T28_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
27822 		T28_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
27823 		T28_[3] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
27824 		T28_[4] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
27825 		asgnRef((void**) (&(*s).ast), newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79), T28_, 5));
27826 		implicitPragmas__pragmas_2394(c, s, (*n).info, TM__rF9caJawfOjYTjsgLVUSGFA_613);
27827 		setEffectsForProcType__sempass50_4540((*c).graph, result, (*(*s).ast)._kind_6.sons->data[((NI) 4)], ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
27828 	}
27829 	goto LA15_;
27830 	LA26_: ;
27831 	LA15_: ;
27832 	closeScope__lookups_101(c);
27833 	}BeforeRet_: ;
27834 	return result;
27835 }
N_INLINE(void,addInterfaceDecl__lookups_879)27836 static N_INLINE(void, addInterfaceDecl__lookups_879)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
27837 	addInterfaceDeclAt__lookups_875(c, (*c).currentScope, sym);
27838 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semEnum__sem_2937)27839 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semEnum__sem_2937)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
27840 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
27841 	NI64 counter;
27842 	NI64 x;
27843 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* e;
27844 	tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
27845 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** identToReplace;
27846 	NIM_BOOL isPure;
27847 	NIM_BOOL T20_;
27848 	tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA symbols;
27849 	NIM_BOOL hasNull;
27850 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T148_;
27851 {	result = NIM_NIL;
27852 	{
27853 		NI T3_;
27854 		T3_ = (NI)0;
27855 		T3_ = len__ast_3198(n);
27856 		if (!(T3_ == ((NI) 0))) goto LA4_;
27857 		result = newConstraint__sem_2929(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
27858 		goto BeforeRet_;
27859 	}
27860 	goto LA1_;
27861 	LA4_: ;
27862 	{
27863 		NI T7_;
27864 		T7_ = (NI)0;
27865 		T7_ = len__ast_3198(n);
27866 		if (!(T7_ == ((NI) 1))) goto LA8_;
27867 		result = errorType__semdata_1002(c);
27868 		goto BeforeRet_;
27869 	}
27870 	goto LA1_;
27871 	LA8_: ;
27872 	LA1_: ;
27873 	counter = (NI64)0;
27874 	x = (NI64)0;
27875 	e = NIM_NIL;
27876 	base = NIM_NIL;
27877 	identToReplace = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
27878 	counter = IL64(0);
27879 	base = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
27880 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14), prev, c);
27881 	asgnRef((void**) (&(*result).n), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150), (*n).info));
27882 	checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
27883 	{
27884 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T18_;
27885 		NI64 T19_;
27886 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA12_;
27887 		base = semTypeNode__sem_80(c, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
27888 		{
27889 			if (!!(((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14)))) goto LA16_;
27890 			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);
27891 		}
27892 		LA16_: ;
27893 		T18_ = lastOrd__types_1470((*(*c).graph).config, base);
27894 		T19_ = (NI64)0;
27895 		T19_ = toInt64__int495056_88(T18_);
27896 		counter = (NI64)(T19_ + IL64(1));
27897 	}
27898 	LA12_: ;
27899 	rawAddSon__ast_4288(result, base, NIM_TRUE);
27900 	T20_ = (NIM_BOOL)0;
27901 	T20_ = !(((*result).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
27902 	if (!(T20_)) goto LA21_;
27903 	T20_ = (((*(*result).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0);
27904 	LA21_: ;
27905 	isPure = T20_;
27906 	nimZeroMem((void*)(&symbols), sizeof(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA));
27907 	{
27908 		if (!isPure) goto LA24_;
27909 		initStrTable__ast_4088((&symbols));
27910 	}
27911 	LA24_: ;
27912 	hasNull = NIM_FALSE;
27913 	{
27914 		NI i;
27915 		NI colontmp_;
27916 		NI i_2;
27917 		i = (NI)0;
27918 		colontmp_ = (NI)0;
27919 		colontmp_ = len__ast_3198(n);
27920 		i_2 = ((NI) 1);
27921 		{
27922 			while (1) {
27923 				if (!(i_2 < colontmp_)) goto LA28;
27924 				i = i_2;
27925 				{
27926 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* symNode;
27927 					{
27928 						if (!((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA32_;
27929 						goto LA29;
27930 					}
27931 					LA32_: ;
27932 					switch ((*(*n)._kind_6.sons->data[i]).kind) {
27933 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 151):
27934 					{
27935 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v;
27936 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* strVal;
27937 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T40_;
27938 						{
27939 							if (!((*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA37_;
27940 							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);
27941 							identToReplace = &(*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)];
27942 							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);
27943 						}
27944 						goto LA35_;
27945 						LA37_: ;
27946 						{
27947 							e = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20), (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], c);
27948 							identToReplace = &(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)];
27949 						}
27950 						LA35_: ;
27951 						v = semConstExpr__sem_611(c, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]);
27952 						strVal = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
27953 						T40_ = NIM_NIL;
27954 						T40_ = skipTypes__ast_3735((*v).typ, TM__rF9caJawfOjYTjsgLVUSGFA_5);
27955 						switch ((*T40_).kind) {
27956 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
27957 						{
27958 							{
27959 								NI T44_;
27960 								T44_ = (NI)0;
27961 								T44_ = len__ast_3198(v);
27962 								if (!(T44_ == ((NI) 2))) goto LA45_;
27963 								strVal = (*v)._kind_6.sons->data[((NI) 1)];
27964 								{
27965 									tyObject_TType__facALICuu8zUj0hjvbTLFg* T49_;
27966 									tyObject_Int128__9a9axPfb75jdWY25AamJewkA T59_;
27967 									tyObject_TType__facALICuu8zUj0hjvbTLFg* T60_;
27968 									T49_ = NIM_NIL;
27969 									T49_ = skipTypes__ast_3735((*strVal).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
27970 									if (!((*T49_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*T49_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29))) goto LA50_;
27971 									{
27972 										NIM_BOOL T54_;
27973 										NimStringDesc* T57_;
27974 										NimStringDesc* T58_;
27975 										T54_ = (NIM_BOOL)0;
27976 										T54_ = isOrdinalType__types_299((*(*v)._kind_6.sons->data[((NI) 0)]).typ, NIM_TRUE);
27977 										if (!!(T54_)) goto LA55_;
27978 										T57_ = NIM_NIL;
27979 										T58_ = NIM_NIL;
27980 										T58_ = typeToString__types_50((*(*v)._kind_6.sons->data[((NI) 0)]).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
27981 										T57_ = rawNewString((T58_ ? T58_->Sup.len : 0) + 30);
27982 appendString(T57_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_617));
27983 appendString(T57_, T58_);
27984 										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);
27985 									}
27986 									LA55_: ;
27987 									T59_ = getOrdValue__types_161((*v)._kind_6.sons->data[((NI) 0)], Max__int495056_27);
27988 									x = toInt64__int495056_88(T59_);
27989 									T60_ = NIM_NIL;
27990 									T60_ = getSysType__magicsys_60((*c).graph, unknownLineInfo__lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
27991 									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_));
27992 								}
27993 								goto LA47_;
27994 								LA50_: ;
27995 								{
27996 									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);
27997 								}
27998 								LA47_: ;
27999 							}
28000 							goto LA42_;
28001 							LA45_: ;
28002 							{
28003 								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);
28004 							}
28005 							LA42_: ;
28006 						}
28007 						break;
28008 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
28009 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
28010 						{
28011 							strVal = v;
28012 							x = counter;
28013 						}
28014 						break;
28015 						default:
28016 						{
28017 							tyObject_Int128__9a9axPfb75jdWY25AamJewkA T72_;
28018 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T73_;
28019 							{
28020 								NIM_BOOL T67_;
28021 								NimStringDesc* T70_;
28022 								NimStringDesc* T71_;
28023 								T67_ = (NIM_BOOL)0;
28024 								T67_ = isOrdinalType__types_299((*v).typ, NIM_TRUE);
28025 								if (!!(T67_)) goto LA68_;
28026 								T70_ = NIM_NIL;
28027 								T71_ = NIM_NIL;
28028 								T71_ = typeToString__types_50((*v).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
28029 								T70_ = rawNewString((T71_ ? T71_->Sup.len : 0) + 30);
28030 appendString(T70_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_617));
28031 appendString(T70_, T71_);
28032 								liMessage__msgs_1118((*(*c).graph).config, (*v).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T70_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_622, NIM_FALSE);
28033 							}
28034 							LA68_: ;
28035 							T72_ = getOrdValue__types_161(v, Max__int495056_27);
28036 							x = toInt64__int495056_88(T72_);
28037 							T73_ = NIM_NIL;
28038 							T73_ = getSysType__magicsys_60((*c).graph, unknownLineInfo__lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
28039 							asgnRef((void**) (&(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]), newIntTypeNode__ast_3783(x, T73_));
28040 						}
28041 						break;
28042 						}
28043 						{
28044 							if (!!((i == ((NI) 1)))) goto LA76_;
28045 							{
28046 								if (!!((x == counter))) goto LA80_;
28047 								(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 5)) & 63);
28048 							}
28049 							LA80_: ;
28050 							{
28051 								NimStringDesc* T86_;
28052 								if (!(x < counter)) goto LA84_;
28053 								T86_ = NIM_NIL;
28054 								T86_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_623), (*(*e).name).s);
28055 								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);
28056 								x = counter;
28057 							}
28058 							LA84_: ;
28059 						}
28060 						LA76_: ;
28061 						asgnRef((void**) (&(*e).ast), strVal);
28062 						counter = x;
28063 					}
28064 					break;
28065 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
28066 					{
28067 						e = (*(*n)._kind_6.sons->data[i])._kind_4.sym;
28068 					}
28069 					break;
28070 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
28071 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
28072 					{
28073 						e = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20), (*n)._kind_6.sons->data[i], c);
28074 						identToReplace = &(*n)._kind_6.sons->data[i];
28075 					}
28076 					break;
28077 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
28078 					{
28079 						e = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20), (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], c);
28080 						pragma__pragmas_123(c, e, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_616, NIM_FALSE);
28081 						identToReplace = &(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)];
28082 					}
28083 					break;
28084 					default:
28085 					{
28086 						illFormedAst__semdata_1071((*n)._kind_6.sons->data[i], (*(*c).graph).config);
28087 					}
28088 					break;
28089 					}
28090 					asgnRef((void**) (&(*e).typ), result);
28091 					(*e).position = ((NI) (counter));
28092 					symNode = newSymNode__ast_3716(e);
28093 					{
28094 						NIM_BOOL T93_;
28095 						NIM_BOOL T94_;
28096 						T93_ = (NIM_BOOL)0;
28097 						T94_ = (NIM_BOOL)0;
28098 						T94_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 47))&63U)))!=0));
28099 						if (!(T94_)) goto LA95_;
28100 						T94_ = !((identToReplace == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**) NIM_NIL)));
28101 						LA95_: ;
28102 						T93_ = T94_;
28103 						if (!(T93_)) goto LA96_;
28104 						T93_ = !(((3989504 &((NU32)1<<((NU)((*(*(*c).graph).config).cmd)&31U)))!=0));
28105 						LA96_: ;
28106 						if (!T93_) goto LA97_;
28107 						unsureAsgnRef((void**) (&(*identToReplace)), symNode);
28108 					}
28109 					LA97_: ;
28110 					{
28111 						if (!((*e).position == ((NI) 0))) goto LA101_;
28112 						hasNull = NIM_TRUE;
28113 					}
28114 					LA101_: ;
28115 					{
28116 						NIM_BOOL T105_;
28117 						T105_ = (NIM_BOOL)0;
28118 						T105_ = !(((*result).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
28119 						if (!(T105_)) goto LA106_;
28120 						T105_ = (((*(*result).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 1))&63U)))!=0);
28121 						LA106_: ;
28122 						if (!T105_) goto LA107_;
28123 						(*e).flags = ((*e).flags | 3);
28124 					}
28125 					LA107_: ;
28126 					add__ast_4797((*result).n, symNode);
28127 					{
28128 						NIM_BOOL T111_;
28129 						T111_ = (NIM_BOOL)0;
28130 						T111_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
28131 						if (!(T111_)) goto LA112_;
28132 						T111_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
28133 						LA112_: ;
28134 						if (!T111_) goto LA113_;
28135 						nep1CheckDefImpl__linter_110((*(*c).graph).config, (*e).info, e, (*e).kind);
28136 					}
28137 					LA113_: ;
28138 					{
28139 						if (!!((((*e).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA117_;
28140 						{
28141 							if (!!(isPure)) goto LA121_;
28142 							{
28143 								if (!(((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 15))&31U)))!=0)) goto LA125_;
28144 								addInterfaceOverloadableSymAt__lookups_899(c, (*c).currentScope, e);
28145 							}
28146 							goto LA123_;
28147 							LA125_: ;
28148 							{
28149 								addInterfaceDecl__lookups_879(c, e);
28150 							}
28151 							LA123_: ;
28152 						}
28153 						goto LA119_;
28154 						LA121_: ;
28155 						{
28156 							declarePureEnumField__importer_61(c, e);
28157 						}
28158 						LA119_: ;
28159 					}
28160 					LA117_: ;
28161 					{
28162 						NIM_BOOL T131_;
28163 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* conflict;
28164 						T131_ = (NIM_BOOL)0;
28165 						T131_ = isPure;
28166 						if (!(T131_)) goto LA132_;
28167 						conflict = strTableInclReportConflict__astalgo_3342((&symbols), e, NIM_FALSE);
28168 						T131_ = !((conflict == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
28169 						LA132_: ;
28170 						if (!T131_) goto LA133_;
28171 						wrongRedefinition__lookups_805(c, (*e).info, (*(*e).name).s, (*conflict).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14));
28172 					}
28173 					LA133_: ;
28174 					counter += ((NI) 1);
28175 				} LA29: ;
28176 				i_2 += ((NI) 1);
28177 			} LA28: ;
28178 		}
28179 	}
28180 	{
28181 		NIM_BOOL T137_;
28182 		tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA T141_;
28183 		T137_ = (NIM_BOOL)0;
28184 		T137_ = isPure;
28185 		if (!(T137_)) goto LA138_;
28186 		T137_ = (((*(*result).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 1))&63U)))!=0);
28187 		LA138_: ;
28188 		if (!T137_) goto LA139_;
28189 		nimZeroMem((void*)(&T141_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
28190 		nimZeroMem((void*)(&T141_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
28191 		T141_.sym = (*result).sym;
28192 		addPureEnum__semdata_674(c, T141_);
28193 	}
28194 	LA139_: ;
28195 	{
28196 		NIM_BOOL T144_;
28197 		T144_ = (NIM_BOOL)0;
28198 		T144_ = (((*(*e).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
28199 		if (!(T144_)) goto LA145_;
28200 		T144_ = !(hasNull);
28201 		LA145_: ;
28202 		if (!T144_) goto LA146_;
28203 		(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
28204 	}
28205 	LA146_: ;
28206 	T148_ = NIM_NIL;
28207 	T148_ = genEnumToStrProc__enumtostr_6(result, (*n).info, (*c).graph, (*c).Sup.idgen);
28208 	setToStringProc__modulegraphs_6035((*c).graph, result, T148_);
28209 	}BeforeRet_: ;
28210 	return result;
28211 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semStmtListType__sem_5374)28212 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semStmtListType__sem_5374)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
28213 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
28214 	result = NIM_NIL;
28215 	checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
28216 	{
28217 		NI i;
28218 		NI colontmp_;
28219 		NI T2_;
28220 		NI i_2;
28221 		i = (NI)0;
28222 		colontmp_ = (NI)0;
28223 		T2_ = (NI)0;
28224 		T2_ = len__ast_3198(n);
28225 		colontmp_ = (NI)(T2_ - ((NI) 1));
28226 		i_2 = ((NI) 0);
28227 		{
28228 			while (1) {
28229 				if (!(i_2 < colontmp_)) goto LA4;
28230 				i = i_2;
28231 				asgnRef((void**) (&(*n)._kind_6.sons->data[i]), semStmt__sem_84(c, (*n)._kind_6.sons->data[i], 0));
28232 				i_2 += ((NI) 1);
28233 			} LA4: ;
28234 		}
28235 	}
28236 	{
28237 		NI T7_;
28238 		NI T10_;
28239 		NI T11_;
28240 		T7_ = (NI)0;
28241 		T7_ = len__ast_3198(n);
28242 		if (!(((NI) 0) < T7_)) goto LA8_;
28243 		T10_ = (NI)0;
28244 		T10_ = len__ast_3198(n);
28245 		result = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[(NI)(T10_ - ((NI) 1))], prev);
28246 		asgnRef((void**) (&(*n).typ), result);
28247 		T11_ = (NI)0;
28248 		T11_ = len__ast_3198(n);
28249 		asgnRef((void**) (&(*(*n)._kind_6.sons->data[(NI)(T11_ - ((NI) 1))]).typ), result);
28250 	}
28251 	goto LA5_;
28252 	LA8_: ;
28253 	{
28254 		result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
28255 	}
28256 	LA5_: ;
28257 	return result;
28258 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semBlockType__sem_5402)28259 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semBlockType__sem_5402)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
28260 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
28261 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
28262 	result = NIM_NIL;
28263 	(*(*c).p).nestedBlockCounter += ((NI) 1);
28264 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
28265 	T1_ = NIM_NIL;
28266 	T1_ = openScope__lookups_69(c);
28267 	{
28268 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T6_;
28269 		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_;
28270 		T6_ = NIM_NIL;
28271 		T6_ = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 22), (*n)._kind_6.sons->data[((NI) 0)], c);
28272 		addDecl__lookups_845(c, T6_);
28273 	}
28274 	LA4_: ;
28275 	result = semStmtListType__sem_5374(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28276 	asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 1)]).typ), result);
28277 	asgnRef((void**) (&(*n).typ), result);
28278 	closeScope__lookups_101(c);
28279 	(*(*c).p).nestedBlockCounter -= ((NI) 1);
28280 	return result;
28281 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semTypeNode__sem_80)28282 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeNode__sem_80)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
28283 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
28284 	result = NIM_NIL;
28285 	result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
28286 	(*c).inTypeContext += ((NI) 1);
28287 	{
28288 		if (!((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11))) goto LA3_;
28289 		suggestExpr__sigmatch_6536(c, n);
28290 	}
28291 	LA3_: ;
28292 	switch ((*n).kind) {
28293 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
28294 	{
28295 		result = (*n).typ;
28296 	}
28297 	break;
28298 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
28299 	{
28300 		checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
28301 		result = semTypeOf__sem_5872(c, (*n)._kind_6.sons->data[((NI) 0)], prev);
28302 		{
28303 			if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA9_;
28304 			(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 29)) & 63);
28305 		}
28306 		LA9_: ;
28307 	}
28308 	break;
28309 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
28310 	{
28311 		{
28312 			NI T14_;
28313 			T14_ = (NI)0;
28314 			T14_ = len__ast_3198(n);
28315 			if (!(T14_ == ((NI) 1))) goto LA15_;
28316 			result = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], prev);
28317 		}
28318 		goto LA12_;
28319 		LA15_: ;
28320 		{
28321 			result = semAnonTuple__sem_3569(c, n, prev);
28322 		}
28323 		LA12_: ;
28324 	}
28325 	break;
28326 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
28327 	{
28328 		result = semAnonTuple__sem_3569(c, n, prev);
28329 	}
28330 	break;
28331 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
28332 	{
28333 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
28334 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
28335 		x = (*n)._kind_6.sons->data[((NI) 0)];
28336 		switch ((*x).kind) {
28337 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
28338 		{
28339 			ident = (*x)._kind_5.ident;
28340 		}
28341 		break;
28342 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
28343 		{
28344 			ident = (*(*x)._kind_4.sym).name;
28345 		}
28346 		break;
28347 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
28348 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
28349 		{
28350 			ident = (*(*(*x)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name;
28351 		}
28352 		break;
28353 		default:
28354 		{
28355 			ident = ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL);
28356 		}
28357 		break;
28358 		}
28359 		{
28360 			NIM_BOOL T26_;
28361 			NIM_BOOL T27_;
28362 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
28363 			T26_ = (NIM_BOOL)0;
28364 			T27_ = (NIM_BOOL)0;
28365 			T27_ = eqeq___idents_220(ident, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
28366 			T26_ = !(T27_);
28367 			if (!(T26_)) goto LA28_;
28368 			T26_ = eqStrings((*ident).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_27));
28369 			LA28_: ;
28370 			if (!T26_) goto LA29_;
28371 			b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n).info);
28372 			{
28373 				NI i;
28374 				NI colontmp_;
28375 				NI i_2;
28376 				i = (NI)0;
28377 				colontmp_ = (NI)0;
28378 				colontmp_ = len__ast_3198(n);
28379 				i_2 = ((NI) 1);
28380 				{
28381 					while (1) {
28382 						if (!(i_2 < colontmp_)) goto LA33;
28383 						i = i_2;
28384 						add__ast_4797(b, (*n)._kind_6.sons->data[i]);
28385 						i_2 += ((NI) 1);
28386 					} LA33: ;
28387 				}
28388 			}
28389 			result = semTypeNode__sem_80(c, b, prev);
28390 		}
28391 		goto LA24_;
28392 		LA29_: ;
28393 		{
28394 			NIM_BOOL T35_;
28395 			NIM_BOOL T36_;
28396 			T35_ = (NIM_BOOL)0;
28397 			T36_ = (NIM_BOOL)0;
28398 			T36_ = eqeq___idents_220(ident, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
28399 			T35_ = !(T36_);
28400 			if (!(T35_)) goto LA37_;
28401 			T35_ = ((*ident).id == ((NI) 71));
28402 			LA37_: ;
28403 			if (!T35_) goto LA38_;
28404 			result = semRangeAux__sem_3219(c, n, prev);
28405 		}
28406 		goto LA24_;
28407 		LA38_: ;
28408 		{
28409 			NIM_BOOL T41_;
28410 			NI T43_;
28411 			T41_ = (NIM_BOOL)0;
28412 			T41_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
28413 			if (!(T41_)) goto LA42_;
28414 			T43_ = (NI)0;
28415 			T43_ = len__ast_3198(n);
28416 			T41_ = (T43_ == ((NI) 2));
28417 			LA42_: ;
28418 			if (!T41_) goto LA44_;
28419 			result = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28420 			{
28421 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T48_;
28422 				T48_ = NIM_NIL;
28423 				T48_ = skipTypes__ast_3735(result, TM__rF9caJawfOjYTjsgLVUSGFA_39);
28424 				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_;
28425 				{
28426 					if (!(((*result).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0)) goto LA53_;
28427 					result = freshType__sem_5619(c, result, prev);
28428 					(*result).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17)) & 63));
28429 				}
28430 				LA53_: ;
28431 			}
28432 			goto LA46_;
28433 			LA49_: ;
28434 			{
28435 				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);
28436 			}
28437 			LA46_: ;
28438 		}
28439 		goto LA24_;
28440 		LA44_: ;
28441 		{
28442 			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_;
28443 			result = semTypeExpr__sem_5593(c, n, prev);
28444 		}
28445 		goto LA24_;
28446 		LA57_: ;
28447 		{
28448 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* op;
28449 			op = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
28450 			{
28451 				NIM_BOOL T62_;
28452 				tyObject_TType__facALICuu8zUj0hjvbTLFg* t1;
28453 				tyObject_TType__facALICuu8zUj0hjvbTLFg* t2;
28454 				T62_ = (NIM_BOOL)0;
28455 				T62_ = ((*op).id == ((NI) 2) || (*op).id == ((NI) 47));
28456 				if (T62_) goto LA63_;
28457 				T62_ = eqStrings((*op).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_44));
28458 				LA63_: ;
28459 				if (!T62_) goto LA64_;
28460 				checkSonsLen__semdata_1077(n, ((NI) 3), (*(*c).graph).config);
28461 				t1 = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28462 				t2 = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 2)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28463 				{
28464 					if (!(t1 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA68_;
28465 					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);
28466 					result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
28467 				}
28468 				goto LA66_;
28469 				LA68_: ;
28470 				{
28471 					if (!(t2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA71_;
28472 					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);
28473 					result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
28474 				}
28475 				goto LA66_;
28476 				LA71_: ;
28477 				{
28478 					{
28479 						if (!((*op).id == ((NI) 2))) goto LA76_;
28480 						result = makeAndType__semdata_855(c, t1, t2);
28481 					}
28482 					goto LA74_;
28483 					LA76_: ;
28484 					{
28485 						result = makeOrType__semdata_890(c, t1, t2);
28486 					}
28487 					LA74_: ;
28488 				}
28489 				LA66_: ;
28490 			}
28491 			goto LA60_;
28492 			LA64_: ;
28493 			{
28494 				NI T82_;
28495 				if (!((*op).id == ((NI) 43))) goto LA80_;
28496 				T82_ = (NI)0;
28497 				T82_ = len__ast_3198(n);
28498 				switch (T82_) {
28499 				case ((NI) 3):
28500 				{
28501 					tyObject_TType__facALICuu8zUj0hjvbTLFg* resolvedType;
28502 					result = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28503 					{
28504 						NIM_BOOL T86_;
28505 						T86_ = (NIM_BOOL)0;
28506 						T86_ = ((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
28507 						if (!(T86_)) goto LA87_;
28508 						T86_ = !((((*result).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0));
28509 						LA87_: ;
28510 						if (!T86_) goto LA88_;
28511 						result = base__types_63(result);
28512 					}
28513 					LA88_: ;
28514 					{
28515 						if (!!(((*(*n)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)))) goto LA92_;
28516 						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);
28517 					}
28518 					LA92_: ;
28519 					{
28520 						NIM_BOOL T96_;
28521 						T96_ = (NIM_BOOL)0;
28522 						T96_ = !((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 5))&31U)))!=0));
28523 						if (!(T96_)) goto LA97_;
28524 						T96_ = !((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 14))&31U)))!=0));
28525 						LA97_: ;
28526 						if (!T96_) goto LA98_;
28527 						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);
28528 					}
28529 					LA98_: ;
28530 					resolvedType = skipTypes__ast_3735(result, TM__rF9caJawfOjYTjsgLVUSGFA_39);
28531 					switch ((*resolvedType).kind) {
28532 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
28533 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
28534 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
28535 					{
28536 						tyArray__jlWPjgtbdjE069arIWHC9c9bg T101_;
28537 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T102_;
28538 						nimZeroMem((void*)T101_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
28539 						T101_[0] = copyTree__ast_4431(n);
28540 						T102_ = NIM_NIL;
28541 						T102_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 128), T101_, 1);
28542 						result = makeTypeFromExpr__semdata_804(c, T102_);
28543 					}
28544 					break;
28545 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
28546 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
28547 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
28548 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30):
28549 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
28550 					{
28551 						result = freshType__sem_5619(c, result, prev);
28552 						(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17)) & 63);
28553 					}
28554 					break;
28555 					default:
28556 					{
28557 						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);
28558 					}
28559 					break;
28560 					}
28561 				}
28562 				break;
28563 				case ((NI) 2):
28564 				{
28565 					tyObject_TType__facALICuu8zUj0hjvbTLFg* negated;
28566 					negated = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28567 					result = makeNotType__semdata_945(c, negated);
28568 				}
28569 				break;
28570 				default:
28571 				{
28572 					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);
28573 				}
28574 				break;
28575 				}
28576 			}
28577 			goto LA60_;
28578 			LA80_: ;
28579 			{
28580 				if (!((*op).id == ((NI) 50))) goto LA108_;
28581 				result = semAnyRef__sem_4568(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21), prev);
28582 			}
28583 			goto LA60_;
28584 			LA108_: ;
28585 			{
28586 				if (!((*op).id == ((NI) 52))) goto LA111_;
28587 				result = semAnyRef__sem_4568(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22), prev);
28588 			}
28589 			goto LA60_;
28590 			LA111_: ;
28591 			{
28592 				if (!((*op).id == ((NI) 60))) goto LA114_;
28593 				checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
28594 				result = semTypeOf__sem_5872(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28595 			}
28596 			goto LA60_;
28597 			LA114_: ;
28598 			{
28599 				NIM_BOOL T117_;
28600 				NIM_BOOL T118_;
28601 				T117_ = (NIM_BOOL)0;
28602 				T118_ = (NIM_BOOL)0;
28603 				T118_ = eqStrings((*op).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_533));
28604 				if (!(T118_)) goto LA119_;
28605 				T118_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
28606 				LA119_: ;
28607 				T117_ = T118_;
28608 				if (!(T117_)) goto LA120_;
28609 				T117_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 18));
28610 				LA120_: ;
28611 				if (!T117_) goto LA121_;
28612 				result = semTypeOf2__sem_5878(c, n, prev);
28613 			}
28614 			goto LA60_;
28615 			LA121_: ;
28616 			{
28617 				NIM_BOOL T124_;
28618 				NIM_BOOL T125_;
28619 				NI T128_;
28620 				T124_ = (NIM_BOOL)0;
28621 				T125_ = (NIM_BOOL)0;
28622 				T125_ = eqStrings((*op).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_535));
28623 				if (!(T125_)) goto LA126_;
28624 				T125_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0));
28625 				LA126_: ;
28626 				T124_ = T125_;
28627 				if (!(T124_)) goto LA127_;
28628 				T128_ = (NI)0;
28629 				T128_ = len__ast_3198(n);
28630 				T124_ = (T128_ == ((NI) 2));
28631 				LA127_: ;
28632 				if (!T124_) goto LA129_;
28633 				result = semTypeExpr__sem_5593(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28634 			}
28635 			goto LA60_;
28636 			LA129_: ;
28637 			{
28638 				{
28639 					NIM_BOOL T134_;
28640 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T138_;
28641 					T134_ = (NIM_BOOL)0;
28642 					T134_ = (((NI) 0) < (*c).inGenericContext);
28643 					if (!(T134_)) goto LA135_;
28644 					T134_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27));
28645 					LA135_: ;
28646 					if (!T134_) goto LA136_;
28647 					T138_ = NIM_NIL;
28648 					T138_ = copyTree__ast_4431(n);
28649 					result = makeTypeFromExpr__semdata_804(c, T138_);
28650 				}
28651 				goto LA132_;
28652 				LA136_: ;
28653 				{
28654 					result = semTypeExpr__sem_5593(c, n, prev);
28655 				}
28656 				LA132_: ;
28657 			}
28658 			LA60_: ;
28659 		}
28660 		LA24_: ;
28661 	}
28662 	break;
28663 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
28664 	{
28665 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* whenResult;
28666 		whenResult = semWhen__sem_515(c, n, NIM_FALSE);
28667 		{
28668 			if (!((*whenResult).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA143_;
28669 			transitionSonsKind__ast_4359(whenResult, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 128));
28670 		}
28671 		LA143_: ;
28672 		result = semTypeNode__sem_80(c, whenResult, prev);
28673 	}
28674 	break;
28675 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
28676 	{
28677 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* head;
28678 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
28679 		checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
28680 		head = (*n)._kind_6.sons->data[((NI) 0)];
28681 		{
28682 			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_;
28683 			s = semTypeIdent__sem_3474(c, head);
28684 		}
28685 		goto LA146_;
28686 		LA148_: ;
28687 		{
28688 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T151_;
28689 			T151_ = NIM_NIL;
28690 			T151_ = semExpr__sem_52(c, head, 0);
28691 			s = symFromExpectedTypeNode__sem_5854(c, T151_);
28692 		}
28693 		LA146_: ;
28694 		switch ((*s).magic) {
28695 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 159):
28696 		{
28697 			result = semArray__sem_3419(c, n, prev);
28698 		}
28699 		break;
28700 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 160):
28701 		{
28702 			result = semContainer__sem_3160(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_555), prev);
28703 		}
28704 		break;
28705 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 271):
28706 		{
28707 			result = semContainer__sem_3160(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_556), prev);
28708 		}
28709 		break;
28710 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 161):
28711 		{
28712 			result = semRange__sem_3307(c, n, prev);
28713 		}
28714 		break;
28715 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 162):
28716 		{
28717 			result = semSet__sem_3120(c, n, prev);
28718 		}
28719 		break;
28720 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 171):
28721 		{
28722 			result = semOrdinal__sem_3459(c, n, prev);
28723 		}
28724 		break;
28725 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 172):
28726 		{
28727 			result = semIterableType__sem_3449(c, n, prev);
28728 		}
28729 		break;
28730 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 163):
28731 		{
28732 			result = semContainer__sem_3160(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_574), prev);
28733 			{
28734 				if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA162_;
28735 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31)) & 63);
28736 			}
28737 			LA162_: ;
28738 		}
28739 		break;
28740 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 164):
28741 		{
28742 			result = semVarargs__sem_3167(c, n, prev);
28743 		}
28744 		break;
28745 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 195):
28746 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 17):
28747 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 18):
28748 		{
28749 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T166_;
28750 			T166_ = NIM_NIL;
28751 			T166_ = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28752 			result = makeTypeDesc__concepts_49(c, T166_);
28753 			(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 29)) & 63);
28754 		}
28755 		break;
28756 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 24):
28757 		{
28758 			result = semStaticType__sem_128(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28759 		}
28760 		break;
28761 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 193):
28762 		{
28763 			result = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28764 			{
28765 				tyObject_TType__facALICuu8zUj0hjvbTLFg* old;
28766 				tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T173_;
28767 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T174_;
28768 				if (!!((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA171_;
28769 				old = result;
28770 				T173_ = nextTypeId__ast_3151((*c).Sup.idgen);
28771 				T174_ = NIM_NIL;
28772 				T174_ = getCurrOwner__semdata_315(c);
28773 				result = copyType__ast_4046(result, T173_, T174_);
28774 				copyTypeProps__modulegraphs_8872((*c).graph, ((NI) ((*(*c).Sup.idgen).module)), result, old);
28775 				{
28776 					NI i_3;
28777 					NI colontmp__2;
28778 					NI i_4;
28779 					i_3 = (NI)0;
28780 					colontmp__2 = (NI)0;
28781 					colontmp__2 = len__ast_3198(n);
28782 					i_4 = ((NI) 1);
28783 					{
28784 						while (1) {
28785 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T178_;
28786 							if (!(i_4 < colontmp__2)) goto LA177;
28787 							i_3 = i_4;
28788 							T178_ = NIM_NIL;
28789 							T178_ = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[i_3], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28790 							rawAddSon__ast_4288(result, T178_, NIM_TRUE);
28791 							i_4 += ((NI) 1);
28792 						} LA177: ;
28793 					}
28794 				}
28795 			}
28796 			LA171_: ;
28797 		}
28798 		break;
28799 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 168):
28800 		{
28801 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T180_;
28802 			result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13), prev, c);
28803 			T180_ = NIM_NIL;
28804 			T180_ = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28805 			addSonSkipIntLit__magicsys_136(result, T180_, (*c).Sup.idgen);
28806 		}
28807 		break;
28808 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 167):
28809 		{
28810 			tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
28811 			result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23), prev, c);
28812 			base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28813 			{
28814 				if (!((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA184_;
28815 				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);
28816 				base = (*base).sons->data[((NI) 0)];
28817 			}
28818 			LA184_: ;
28819 			addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
28820 		}
28821 		break;
28822 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 165):
28823 		{
28824 			result = semAnyRef__sem_4568(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22), prev);
28825 		}
28826 		break;
28827 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 166):
28828 		{
28829 			result = semAnyRef__sem_4568(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21), prev);
28830 		}
28831 		break;
28832 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 170):
28833 		{
28834 			result = semTuple__sem_3578(c, n, prev);
28835 		}
28836 		break;
28837 		default:
28838 		{
28839 			result = semGeneric__sem_5453(c, n, s, prev);
28840 		}
28841 		break;
28842 		}
28843 	}
28844 	break;
28845 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
28846 	{
28847 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typeExpr;
28848 		typeExpr = semExpr__sem_52(c, n, 0);
28849 		{
28850 			if (!((*typeExpr).typ == 0)) goto LA193_;
28851 			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);
28852 			result = errorType__semdata_1002(c);
28853 		}
28854 		goto LA191_;
28855 		LA193_: ;
28856 		{
28857 			if (!((*(*typeExpr).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61))) goto LA196_;
28858 			result = (*typeExpr).typ;
28859 		}
28860 		goto LA191_;
28861 		LA196_: ;
28862 		{
28863 			if (!!(((*(*typeExpr).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA199_;
28864 			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);
28865 			result = errorType__semdata_1002(c);
28866 		}
28867 		goto LA191_;
28868 		LA199_: ;
28869 		{
28870 			result = base__types_63((*typeExpr).typ);
28871 			{
28872 				NIM_BOOL T204_;
28873 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* preprocessed;
28874 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T208_;
28875 				T204_ = (NIM_BOOL)0;
28876 				T204_ = isMetaType__ast_3495(result);
28877 				if (!(T204_)) goto LA205_;
28878 				T204_ = !(((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52)));
28879 				LA205_: ;
28880 				if (!T204_) goto LA206_;
28881 				preprocessed = semGenericStmt__sem_2885(c, n);
28882 				T208_ = NIM_NIL;
28883 				T208_ = copyTree__ast_4431(preprocessed);
28884 				result = makeTypeFromExpr__semdata_804(c, T208_);
28885 			}
28886 			goto LA202_;
28887 			LA206_: ;
28888 			{
28889 				tyObject_TType__facALICuu8zUj0hjvbTLFg* alias;
28890 				alias = maybeAliasType__sem_5571(c, result, prev);
28891 				{
28892 					if (!!((alias == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA212_;
28893 					result = alias;
28894 				}
28895 				LA212_: ;
28896 			}
28897 			LA202_: ;
28898 		}
28899 		LA191_: ;
28900 	}
28901 	break;
28902 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
28903 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
28904 	{
28905 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
28906 		s_2 = semTypeIdent__sem_3474(c, n);
28907 		{
28908 			if (!((*s_2).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA217_;
28909 			{
28910 				if (!!(((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0)))) goto LA221_;
28911 				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);
28912 			}
28913 			LA221_: ;
28914 			result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
28915 		}
28916 		goto LA215_;
28917 		LA217_: ;
28918 		{
28919 			NIM_BOOL T224_;
28920 			T224_ = (NIM_BOOL)0;
28921 			T224_ = ((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
28922 			if (!(T224_)) goto LA225_;
28923 			T224_ = ((*(*s_2).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
28924 			LA225_: ;
28925 			if (!T224_) goto LA226_;
28926 			{
28927 				NIM_BOOL T230_;
28928 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T231_;
28929 				NimStringDesc* argX60gensym1486_;
28930 				T230_ = (NIM_BOOL)0;
28931 				T231_ = NIM_NIL;
28932 				T231_ = base__types_63((*s_2).typ);
28933 				T230_ = !(((*T231_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
28934 				if (!(T230_)) goto LA232_;
28935 				T230_ = (prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28936 				LA232_: ;
28937 				if (!!(T230_)) goto LA233_;
28938 				argX60gensym1486_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_602);
28939 				internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1486_, TM__rF9caJawfOjYTjsgLVUSGFA_602);
28940 			}
28941 			LA233_: ;
28942 			result = base__types_63((*s_2).typ);
28943 		}
28944 		goto LA215_;
28945 		LA226_: ;
28946 		{
28947 			if (!(prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA236_;
28948 			result = (*s_2).typ;
28949 		}
28950 		goto LA215_;
28951 		LA236_: ;
28952 		{
28953 			tyObject_TType__facALICuu8zUj0hjvbTLFg* alias_2;
28954 			alias_2 = maybeAliasType__sem_5571(c, (*s_2).typ, prev);
28955 			{
28956 				if (!!((alias_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA241_;
28957 				result = alias_2;
28958 			}
28959 			goto LA239_;
28960 			LA241_: ;
28961 			{
28962 				assignType__ast_3976(prev, (*s_2).typ);
28963 				{
28964 					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_;
28965 					(*prev).Sup.itemId = (*(*s_2).typ).Sup.itemId;
28966 				}
28967 				LA246_: ;
28968 				result = prev;
28969 			}
28970 			LA239_: ;
28971 		}
28972 		LA215_: ;
28973 	}
28974 	break;
28975 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
28976 	{
28977 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_3;
28978 		s_3 = getGenSym__semdata_408(c, (*n)._kind_4.sym);
28979 		{
28980 			NIM_BOOL T251_;
28981 			NIM_BOOL T253_;
28982 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
28983 			tyObject_TType__facALICuu8zUj0hjvbTLFg* alias_3;
28984 			T251_ = (NIM_BOOL)0;
28985 			T251_ = !(((*s_3).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
28986 			if (!(T251_)) goto LA252_;
28987 			T253_ = (NIM_BOOL)0;
28988 			T253_ = ((*s_3).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
28989 			if (T253_) goto LA254_;
28990 			T253_ = ((*(*s_3).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
28991 			LA254_: ;
28992 			T251_ = T253_;
28993 			LA252_: ;
28994 			if (!T251_) goto LA255_;
28995 			{
28996 				if (!((*s_3).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7))) goto LA259_;
28997 				t = (*s_3).typ;
28998 			}
28999 			goto LA257_;
29000 			LA259_: ;
29001 			{
29002 				{
29003 					NIM_BOOL T264_;
29004 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T265_;
29005 					NimStringDesc* argX60gensym1493_;
29006 					T264_ = (NIM_BOOL)0;
29007 					T265_ = NIM_NIL;
29008 					T265_ = base__types_63((*s_3).typ);
29009 					T264_ = !(((*T265_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
29010 					if (!(T264_)) goto LA266_;
29011 					T264_ = (prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
29012 					LA266_: ;
29013 					if (!!(T264_)) goto LA267_;
29014 					argX60gensym1493_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_603);
29015 					internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1493_, TM__rF9caJawfOjYTjsgLVUSGFA_603);
29016 				}
29017 				LA267_: ;
29018 				t = base__types_63((*s_3).typ);
29019 			}
29020 			LA257_: ;
29021 			alias_3 = maybeAliasType__sem_5571(c, t, prev);
29022 			{
29023 				if (!!((alias_3 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA271_;
29024 				result = alias_3;
29025 			}
29026 			goto LA269_;
29027 			LA271_: ;
29028 			{
29029 				if (!(prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA274_;
29030 				result = t;
29031 			}
29032 			goto LA269_;
29033 			LA274_: ;
29034 			{
29035 				assignType__ast_3976(prev, t);
29036 				result = prev;
29037 			}
29038 			LA269_: ;
29039 			markUsed__sigmatch_85(c, (*n).info, (*n)._kind_4.sym);
29040 		}
29041 		goto LA249_;
29042 		LA255_: ;
29043 		{
29044 			{
29045 				if (!!(((*s_3).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0)))) goto LA280_;
29046 				{
29047 					tyArray__nHXaesL0DJZHyVS07ARPRA T286_;
29048 					NimStringDesc* T287_;
29049 					if (!((*s_3).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA284_;
29050 					nimZeroMem((void*)T286_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
29051 					T286_[0] = copyString((*(*s_3).name).s);
29052 					T287_ = NIM_NIL;
29053 					T287_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_604), T286_, 1);
29054 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T287_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_605, NIM_FALSE);
29055 				}
29056 				goto LA282_;
29057 				LA284_: ;
29058 				{
29059 					tyArray__Re75IspeoxXy2oCZHwcRrA T289_;
29060 					NimStringDesc* T290_;
29061 					nimZeroMem((void*)T289_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
29062 					T289_[0] = copyString((*(*s_3).name).s);
29063 					T289_[1] = toHumanStr__ast_5158((*s_3).kind);
29064 					T290_ = NIM_NIL;
29065 					T290_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_606), T289_, 2);
29066 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T290_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_607, NIM_FALSE);
29067 				}
29068 				LA282_: ;
29069 			}
29070 			LA280_: ;
29071 			result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
29072 		}
29073 		LA249_: ;
29074 	}
29075 	break;
29076 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133):
29077 	{
29078 		result = semObjectNode__sem_4464(c, n, prev, 0);
29079 	}
29080 	break;
29081 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 134):
29082 	{
29083 		result = semTuple__sem_3578(c, n, prev);
29084 	}
29085 	break;
29086 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 135):
29087 	{
29088 		result = newConstraint__sem_2929(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
29089 	}
29090 	break;
29091 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 136):
29092 	{
29093 		result = semTypeClass__sem_5629(c, n, prev);
29094 	}
29095 	break;
29096 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141):
29097 	{
29098 		result = semAnyRef__sem_4568(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22), prev);
29099 	}
29100 	break;
29101 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 142):
29102 	{
29103 		result = semAnyRef__sem_4568(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21), prev);
29104 	}
29105 	break;
29106 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 143):
29107 	{
29108 		result = semVarOutType__sem_3185(c, n, prev, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
29109 	}
29110 	break;
29111 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 146):
29112 	{
29113 		result = semDistinct__sem_3206(c, n, prev);
29114 	}
29115 	break;
29116 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 137):
29117 	{
29118 		result = semStaticType__sem_128(c, (*n)._kind_6.sons->data[((NI) 0)], prev);
29119 	}
29120 	break;
29121 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 148):
29122 	{
29123 		{
29124 			NI T303_;
29125 			tyObject_TType__facALICuu8zUj0hjvbTLFg* child;
29126 			T303_ = (NI)0;
29127 			T303_ = len__ast_3198(n);
29128 			if (!(T303_ == ((NI) 0))) goto LA304_;
29129 			result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51), c);
29130 			child = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25), c);
29131 			(*child).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15)) & 63);
29132 			addSonSkipIntLit__magicsys_136(result, child, (*c).Sup.idgen);
29133 		}
29134 		goto LA301_;
29135 		LA304_: ;
29136 		{
29137 			result = semProcTypeWithScope__sem_5803(c, n, prev, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15));
29138 			{
29139 				if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25))) goto LA309_;
29140 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15)) & 63);
29141 				{
29142 					NIM_BOOL T313_;
29143 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T314_;
29144 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T316_;
29145 					T313_ = (NIM_BOOL)0;
29146 					T314_ = NIM_NIL;
29147 					T314_ = lastSon__ast_4832(n);
29148 					T313_ = ((*T314_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90));
29149 					if (!(T313_)) goto LA315_;
29150 					T316_ = NIM_NIL;
29151 					T316_ = lastSon__ast_4832(n);
29152 					T313_ = hasPragma__pragmas_2498(T316_, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 147));
29153 					LA315_: ;
29154 					if (!T313_) goto LA317_;
29155 					(*result).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 5);
29156 				}
29157 				goto LA311_;
29158 				LA317_: ;
29159 				{
29160 					(*result).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9);
29161 				}
29162 				LA311_: ;
29163 			}
29164 			LA309_: ;
29165 		}
29166 		LA301_: ;
29167 	}
29168 	break;
29169 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 147):
29170 	{
29171 		{
29172 			NI T323_;
29173 			T323_ = (NI)0;
29174 			T323_ = len__ast_3198(n);
29175 			if (!(T323_ == ((NI) 0))) goto LA324_;
29176 			result = newConstraint__sem_2929(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
29177 		}
29178 		goto LA321_;
29179 		LA324_: ;
29180 		{
29181 			result = semProcTypeWithScope__sem_5803(c, n, prev, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
29182 		}
29183 		LA321_: ;
29184 	}
29185 	break;
29186 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150):
29187 	{
29188 		result = semEnum__sem_2937(c, n, prev);
29189 	}
29190 	break;
29191 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
29192 	{
29193 		result = (*n).typ;
29194 	}
29195 	break;
29196 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 128):
29197 	{
29198 		result = semStmtListType__sem_5374(c, n, prev);
29199 	}
29200 	break;
29201 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 129):
29202 	{
29203 		result = semBlockType__sem_5402(c, n, prev);
29204 	}
29205 	break;
29206 	default:
29207 	{
29208 		NimStringDesc* T332_;
29209 		NimStringDesc* T333_;
29210 		T332_ = NIM_NIL;
29211 		T333_ = NIM_NIL;
29212 		T333_ = renderTree__renderer_46(n, 0);
29213 		T332_ = rawNewString((T333_ ? T333_->Sup.len : 0) + 24);
29214 appendString(T332_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_625));
29215 appendString(T332_, T333_);
29216 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T332_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_626, NIM_FALSE);
29217 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
29218 	}
29219 	break;
29220 	}
29221 	asgnRef((void**) (&(*n).typ), result);
29222 	(*c).inTypeContext -= ((NI) 1);
29223 	return result;
29224 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semAfterMacroCall__sem_2787)29225 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) {
29226 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
29227 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T5_;
29228 	NI T6_;
29229 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T53_;
29230 	result = NIM_NIL;
29231 	(*(*(*c).graph).config).evalTemplateCounter += ((NI) 1);
29232 	{
29233 		if (!(((NI) 1000) < (*(*(*c).graph).config).evalTemplateCounter)) goto LA3_;
29234 		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);
29235 	}
29236 	LA3_: ;
29237 	T5_ = NIM_NIL;
29238 	T5_ = getModule__astalgo_216((*s).owner);
29239 	asgnRef((void**) (&(*c).friendModules), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*c).friendModules), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
29240 	T6_ = (*c).friendModules->Sup.len++;
29241 	asgnRef((void**) (&(*c).friendModules->data[T6_]), T5_);
29242 	result = macroResult;
29243 	resetSemFlag__sem_2771(result);
29244 	{
29245 		if (!((*(*s).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA9_;
29246 		result = semStmt__sem_84(c, result, flags);
29247 	}
29248 	goto LA7_;
29249 	LA9_: ;
29250 	{
29251 		tyObject_TType__facALICuu8zUj0hjvbTLFg* retType;
29252 		retType = (*(*s).typ).sons->data[((NI) 0)];
29253 		{
29254 			NIM_BOOL T14_;
29255 			NIM_BOOL T15_;
29256 			NI T18_;
29257 			T14_ = (NIM_BOOL)0;
29258 			T15_ = (NIM_BOOL)0;
29259 			T15_ = ((*retType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
29260 			if (!(T15_)) goto LA16_;
29261 			T15_ = (((*retType).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0);
29262 			LA16_: ;
29263 			T14_ = T15_;
29264 			if (!(T14_)) goto LA17_;
29265 			T18_ = (NI)0;
29266 			T18_ = len__ast_4002(retType);
29267 			T14_ = (T18_ == ((NI) 1));
29268 			LA17_: ;
29269 			if (!T14_) goto LA19_;
29270 			retType = (*retType).sons->data[((NI) 0)];
29271 		}
29272 		LA19_: ;
29273 		switch ((*retType).kind) {
29274 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
29275 		{
29276 			result = semExpr__sem_52(c, result, flags);
29277 		}
29278 		break;
29279 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
29280 		{
29281 			result = semExprWithType__sem_56(c, result, flags);
29282 		}
29283 		break;
29284 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
29285 		{
29286 			tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
29287 			{
29288 				if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA26_;
29289 				transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 128));
29290 			}
29291 			LA26_: ;
29292 			typ = semTypeNode__sem_80(c, result, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
29293 			{
29294 				NimStringDesc* T32_;
29295 				NimStringDesc* T33_;
29296 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T34_;
29297 				if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA30_;
29298 				T32_ = NIM_NIL;
29299 				T33_ = NIM_NIL;
29300 				T33_ = renderTree__renderer_46(result, 4);
29301 				T32_ = rawNewString((T33_ ? T33_->Sup.len : 0) + 24);
29302 appendString(T32_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_68));
29303 appendString(T32_, T33_);
29304 				liMessage__msgs_1118((*(*c).graph).config, (*result).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T32_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_627, NIM_FALSE);
29305 				T34_ = NIM_NIL;
29306 				T34_ = errorSym__lookups_506(c, result);
29307 				result = newSymNode__ast_3716(T34_);
29308 			}
29309 			goto LA28_;
29310 			LA30_: ;
29311 			{
29312 				asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, typ));
29313 			}
29314 			LA28_: ;
29315 		}
29316 		break;
29317 		default:
29318 		{
29319 			{
29320 				NIM_BOOL T39_;
29321 				tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q paramTypes;
29322 				T39_ = (NIM_BOOL)0;
29323 				T39_ = !(((*(*s).ast)._kind_6.sons->data[((NI) 2)] == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
29324 				if (!(T39_)) goto LA40_;
29325 				T39_ = isMetaType__ast_3495(retType);
29326 				LA40_: ;
29327 				if (!T39_) goto LA41_;
29328 				nimZeroMem((void*)(&paramTypes), sizeof(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q));
29329 				newIdTable__ast_4102((&paramTypes));
29330 				{
29331 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
29332 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value;
29333 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp;
29334 					param = NIM_NIL;
29335 					value = NIM_NIL;
29336 					gp = (*(*s).ast)._kind_6.sons->data[((NI) 2)];
29337 					{
29338 						NI i;
29339 						NI colontmp_;
29340 						NI i_2;
29341 						i = (NI)0;
29342 						colontmp_ = (NI)0;
29343 						colontmp_ = len__ast_3198(gp);
29344 						i_2 = ((NI) 0);
29345 						{
29346 							while (1) {
29347 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* genericParam;
29348 								NI posInCall;
29349 								NI T47_;
29350 								if (!(i_2 < colontmp_)) goto LA46;
29351 								i = i_2;
29352 								genericParam = (*(*gp)._kind_6.sons->data[i])._kind_4.sym;
29353 								T47_ = (NI)0;
29354 								T47_ = len__ast_4002((*s).typ);
29355 								posInCall = (NI)(T47_ + i);
29356 								{
29357 									NI T50_;
29358 									T50_ = (NI)0;
29359 									T50_ = len__ast_3198(call);
29360 									if (!(posInCall < T50_)) goto LA51_;
29361 									param = genericParam;
29362 									value = (*call)._kind_6.sons->data[posInCall];
29363 									idTablePut__astalgo_70((&paramTypes), (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*param).typ)))), (*((RootObj**) (&((*value).typ)))));
29364 								}
29365 								LA51_: ;
29366 								i_2 += ((NI) 1);
29367 							} LA46: ;
29368 						}
29369 					}
29370 				}
29371 				retType = generateTypeInstance__semtypinst_1050(c, paramTypes, (*macroResult).info, retType);
29372 			}
29373 			LA41_: ;
29374 			result = semExpr__sem_52(c, result, flags);
29375 			result = fitNode__sem_70(c, retType, result, (*result).info);
29376 		}
29377 		break;
29378 		}
29379 	}
29380 	LA7_: ;
29381 	(*(*(*c).graph).config).evalTemplateCounter -= ((NI) 1);
29382 	T53_ = NIM_NIL;
29383 	T53_ = pop__icZic_2460((&(*c).friendModules));
29384 	(void)(T53_);
29385 	return result;
29386 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semMacroExpr__sem_524)29387 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) {
29388 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
29389 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
29390 	NI genericParams;
29391 	NI suppliedParams;
29392 	NI T6_;
29393 	result = NIM_NIL;
29394 	rememberExpansion__semdata_3656(c, (*nOrig).info, sym);
29395 	pushInfoContext__msgs_490((*(*c).graph).config, (*nOrig).info, (*(*sym).name).s);
29396 	info = getCallLineInfo__sem_2390(n);
29397 	markUsed__sigmatch_85(c, info, sym);
29398 	{
29399 		NimStringDesc* T5_;
29400 		if (!(sym == (*(*c).p).owner)) goto LA3_;
29401 		T5_ = NIM_NIL;
29402 		T5_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_10), (*(*sym).name).s);
29403 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T5_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_11, NIM_FALSE);
29404 	}
29405 	LA3_: ;
29406 	genericParams = len__ast_3198((*(*sym).ast)._kind_6.sons->data[((NI) 2)]);
29407 	T6_ = (NI)0;
29408 	T6_ = safeLen__ast_3191(n);
29409 	suppliedParams = (((NI)(T6_ - ((NI) 1)) >= ((NI) 0)) ? (NI)(T6_ - ((NI) 1)) : ((NI) 0));
29410 	{
29411 		NimStringDesc* T11_;
29412 		NimStringDesc* T12_;
29413 		if (!(suppliedParams < genericParams)) goto LA9_;
29414 		T11_ = NIM_NIL;
29415 		T11_ = renderTree__renderer_46(n, 0);
29416 		T12_ = NIM_NIL;
29417 		T12_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_12), T11_);
29418 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T12_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_13, NIM_FALSE);
29419 	}
29420 	LA9_: ;
29421 	result = evalMacroCall__vm_13857((*c).module, (*c).Sup.idgen, (*c).graph, (*c).templInstCounter, n, nOrig, sym);
29422 	{
29423 		if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 13))&31U)))!=0))) goto LA15_;
29424 		result = semAfterMacroCall__sem_2787(c, n, result, sym, flags);
29425 	}
29426 	LA15_: ;
29427 	{
29428 		NIM_BOOL T19_;
29429 		NimStringDesc* T22_;
29430 		T19_ = (NIM_BOOL)0;
29431 		T19_ = nsthasKey((*(*(*c).graph).config).macrosToExpand, (*(*sym).name).s);
29432 		if (!T19_) goto LA20_;
29433 		T22_ = NIM_NIL;
29434 		T22_ = renderTree__renderer_46(result, 0);
29435 		liMessage__msgs_1118((*(*c).graph).config, (*nOrig).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 97), T22_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_628, NIM_FALSE);
29436 	}
29437 	LA20_: ;
29438 	result = wrapInComesFrom__evaltempl_260((*nOrig).info, sym, result);
29439 	popInfoContext__msgs_507((*(*c).graph).config);
29440 	return result;
29441 }
N_INLINE(NIM_BOOL,hasWarn__options_557)29442 static N_INLINE(NIM_BOOL, hasWarn__options_557)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug note) {
29443 	NIM_BOOL result;
29444 	NIM_BOOL T1_;
29445 	result = (NIM_BOOL)0;
29446 	T1_ = (NIM_BOOL)0;
29447 	T1_ = (((*conf).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 13))&31U)))!=0);
29448 	if (!(T1_)) goto LA2_;
29449 	T1_ = (((*conf).notes[(NU)((note- 16))>>3] &(1U<<((NU)((note- 16))&7U)))!=0);
29450 	LA2_: ;
29451 	result = T1_;
29452 	return result;
29453 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semSym__sem_16966)29454 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) {
29455 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
29456 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
29457 {	result = NIM_NIL;
29458 	s = getGenSym__semdata_408(c, sym);
29459 	switch ((*s).kind) {
29460 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10):
29461 	{
29462 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
29463 		markUsed__sigmatch_85(c, (*n).info, s);
29464 		typ = skipTypes__ast_3735((*s).typ, TM__rF9caJawfOjYTjsgLVUSGFA_5);
29465 		switch ((*typ).kind) {
29466 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
29467 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
29468 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
29469 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
29470 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
29471 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
29472 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
29473 		{
29474 			{
29475 				if (!((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0))) goto LA5_;
29476 				result = inlineConst__sem_14003(c, n, s);
29477 			}
29478 			goto LA3_;
29479 			LA5_: ;
29480 			{
29481 				result = newSymNode__ast_3719(s, (*n).info);
29482 			}
29483 			LA3_: ;
29484 		}
29485 		break;
29486 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
29487 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
29488 		{
29489 			{
29490 				NI T11_;
29491 				T11_ = (NI)0;
29492 				T11_ = safeLen__ast_3191((*s).ast);
29493 				if (!(T11_ == ((NI) 0))) goto LA12_;
29494 				result = inlineConst__sem_14003(c, n, s);
29495 			}
29496 			goto LA9_;
29497 			LA12_: ;
29498 			{
29499 				result = newSymNode__ast_3719(s, (*n).info);
29500 			}
29501 			LA9_: ;
29502 		}
29503 		break;
29504 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
29505 		{
29506 			{
29507 				if (!!(((*typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA18_;
29508 				result = (*typ).n;
29509 				asgnRef((void**) (&(*result).typ), base__types_63(typ));
29510 			}
29511 			goto LA16_;
29512 			LA18_: ;
29513 			{
29514 				result = newSymNode__ast_3719(s, (*n).info);
29515 			}
29516 			LA16_: ;
29517 		}
29518 		break;
29519 		default:
29520 		{
29521 			result = newSymNode__ast_3719(s, (*n).info);
29522 		}
29523 		break;
29524 		}
29525 	}
29526 	break;
29527 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
29528 	{
29529 		{
29530 			NIM_BOOL T25_;
29531 			NIM_BOOL T26_;
29532 			NI T28_;
29533 			NIM_BOOL T30_;
29534 			NI T32_;
29535 			T25_ = (NIM_BOOL)0;
29536 			T26_ = (NIM_BOOL)0;
29537 			T26_ = ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 14))&31U)))!=0);
29538 			if (!(T26_)) goto LA27_;
29539 			T28_ = (NI)0;
29540 			T28_ = len__ast_3198((*(*s).ast)._kind_6.sons->data[((NI) 2)]);
29541 			T26_ = (((NI) 0) < T28_);
29542 			LA27_: ;
29543 			T25_ = T26_;
29544 			if (T25_) goto LA29_;
29545 			T30_ = (NIM_BOOL)0;
29546 			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)));
29547 			if (!(T30_)) goto LA31_;
29548 			T32_ = (NI)0;
29549 			T32_ = requiredParams__ast_4714(s);
29550 			T30_ = (((NI) 0) < T32_);
29551 			LA31_: ;
29552 			T25_ = T30_;
29553 			LA29_: ;
29554 			if (!T25_) goto LA33_;
29555 			markUsed__sigmatch_85(c, (*n).info, s);
29556 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
29557 		}
29558 		goto LA23_;
29559 		LA33_: ;
29560 		{
29561 			result = semMacroExpr__sem_524(c, n, n, s, flags);
29562 		}
29563 		LA23_: ;
29564 	}
29565 	break;
29566 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
29567 	{
29568 		{
29569 			NIM_BOOL T39_;
29570 			NIM_BOOL T40_;
29571 			NIM_BOOL T41_;
29572 			NI T43_;
29573 			NIM_BOOL T45_;
29574 			NI T47_;
29575 			tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
29576 			T39_ = (NIM_BOOL)0;
29577 			T40_ = (NIM_BOOL)0;
29578 			T41_ = (NIM_BOOL)0;
29579 			T41_ = ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 14))&31U)))!=0);
29580 			if (!(T41_)) goto LA42_;
29581 			T43_ = (NI)0;
29582 			T43_ = len__ast_3198((*(*s).ast)._kind_6.sons->data[((NI) 2)]);
29583 			T41_ = (((NI) 0) < T43_);
29584 			LA42_: ;
29585 			T40_ = T41_;
29586 			if (T40_) goto LA44_;
29587 			T45_ = (NIM_BOOL)0;
29588 			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)));
29589 			if (!(T45_)) goto LA46_;
29590 			T47_ = (NI)0;
29591 			T47_ = requiredParams__ast_4714(s);
29592 			T45_ = (((NI) 0) < T47_);
29593 			LA46_: ;
29594 			T40_ = T45_;
29595 			LA44_: ;
29596 			T39_ = T40_;
29597 			if (T39_) goto LA48_;
29598 			T39_ = (((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0);
29599 			LA48_: ;
29600 			if (!T39_) goto LA49_;
29601 			info = getCallLineInfo__sem_2390(n);
29602 			markUsed__sigmatch_85(c, info, s);
29603 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
29604 		}
29605 		goto LA37_;
29606 		LA49_: ;
29607 		{
29608 			result = semTemplateExpr__sem_519(c, n, s, flags);
29609 		}
29610 		LA37_: ;
29611 	}
29612 	break;
29613 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
29614 	{
29615 		markUsed__sigmatch_85(c, (*n).info, s);
29616 		{
29617 			NIM_BOOL T55_;
29618 			NIM_BOOL T56_;
29619 			T55_ = (NIM_BOOL)0;
29620 			T56_ = (NIM_BOOL)0;
29621 			T56_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
29622 			if (!(T56_)) goto LA57_;
29623 			T56_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
29624 			LA57_: ;
29625 			T55_ = T56_;
29626 			if (!(T55_)) goto LA58_;
29627 			T55_ = !(((*(*s).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
29628 			LA58_: ;
29629 			if (!T55_) goto LA59_;
29630 			result = (*(*s).typ).n;
29631 			goto BeforeRet_;
29632 		}
29633 		goto LA53_;
29634 		LA59_: ;
29635 		{
29636 			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0)) goto LA62_;
29637 			{
29638 				NimStringDesc* argX60gensym4436_;
29639 				if (!!(!(((*s).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))))) goto LA66_;
29640 				argX60gensym4436_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_629);
29641 				internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym4436_, TM__rF9caJawfOjYTjsgLVUSGFA_629);
29642 			}
29643 			LA66_: ;
29644 		}
29645 		goto LA53_;
29646 		LA62_: ;
29647 		LA53_: ;
29648 		result = newSymNode__ast_3719(s, (*n).info);
29649 	}
29650 	break;
29651 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8):
29652 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9):
29653 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11):
29654 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21):
29655 	{
29656 		{
29657 			if (!((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 263))) goto LA71_;
29658 			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);
29659 		}
29660 		LA71_: ;
29661 		markUsed__sigmatch_85(c, (*n).info, s);
29662 		result = newSymNode__ast_3719(s, (*n).info);
29663 		{
29664 			NIM_BOOL T75_;
29665 			T75_ = (NIM_BOOL)0;
29666 			T75_ = hasWarn__options_557((*(*c).graph).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 59));
29667 			if (!T75_) goto LA76_;
29668 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 59), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_632, NIM_FALSE);
29669 		}
29670 		LA76_: ;
29671 	}
29672 	break;
29673 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4):
29674 	{
29675 		{
29676 			if (!((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA81_;
29677 			result = newSymNode__ast_3719(s, (*n).info);
29678 			asgnRef((void**) (&(*result).typ), (*s).typ);
29679 		}
29680 		goto LA79_;
29681 		LA81_: ;
29682 		{
29683 			if (!!(((*s).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA84_;
29684 			result = semExpr__sem_52(c, (*s).ast, 0);
29685 		}
29686 		goto LA79_;
29687 		LA84_: ;
29688 		{
29689 			asgnRef((void**) (&(*n).typ), (*s).typ);
29690 			result = n;
29691 			goto BeforeRet_;
29692 		}
29693 		LA79_: ;
29694 	}
29695 	break;
29696 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
29697 	{
29698 		markUsed__sigmatch_85(c, (*n).info, s);
29699 		{
29700 			NIM_BOOL T90_;
29701 			NIM_BOOL T91_;
29702 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T93_;
29703 			T90_ = (NIM_BOOL)0;
29704 			T91_ = (NIM_BOOL)0;
29705 			T91_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
29706 			if (!(T91_)) goto LA92_;
29707 			T93_ = NIM_NIL;
29708 			T93_ = base__types_63((*s).typ);
29709 			T91_ = !(((*T93_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
29710 			LA92_: ;
29711 			T90_ = T91_;
29712 			if (!(T90_)) goto LA94_;
29713 			T90_ = !(((*(*s).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
29714 			LA94_: ;
29715 			if (!T90_) goto LA95_;
29716 			result = (*(*s).typ).n;
29717 			goto BeforeRet_;
29718 		}
29719 		LA95_: ;
29720 		result = newSymNode__ast_3719(s, (*n).info);
29721 		asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, (*s).typ));
29722 	}
29723 	break;
29724 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19):
29725 	{
29726 		tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* p;
29727 		p = (*c).p;
29728 		{
29729 			while (1) {
29730 				NIM_BOOL T100_;
29731 				T100_ = (NIM_BOOL)0;
29732 				T100_ = !((p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)));
29733 				if (!(T100_)) goto LA101_;
29734 				T100_ = ((*p).selfSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
29735 				LA101_: ;
29736 				if (!T100_) goto LA99;
29737 				p = (*p).next;
29738 			} LA99: ;
29739 		}
29740 		{
29741 			NIM_BOOL T104_;
29742 			tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
29743 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* check;
29744 			T104_ = (NIM_BOOL)0;
29745 			T104_ = !((p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)));
29746 			if (!(T104_)) goto LA105_;
29747 			T104_ = !(((*p).selfSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
29748 			LA105_: ;
29749 			if (!T104_) goto LA106_;
29750 			ty = skipTypes__ast_3735((*(*p).selfSym).typ, TM__rF9caJawfOjYTjsgLVUSGFA_633);
29751 			{
29752 				while (1) {
29753 					if (!(((*ty).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 32))&63U)))!=0)) goto LA109;
29754 					ty = skipTypes__ast_3735(ty, TM__rF9caJawfOjYTjsgLVUSGFA_107);
29755 				} LA109: ;
29756 			}
29757 			check = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
29758 			{
29759 				if (!((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA112_;
29760 				{
29761 					while (1) {
29762 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
29763 						check = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
29764 						f = lookupInRecordAndBuildCheck__sem_16768(c, n, (*ty).n, (*s).name, &check);
29765 						{
29766 							NIM_BOOL T118_;
29767 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T126_;
29768 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T127_;
29769 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T128_;
29770 							T118_ = (NIM_BOOL)0;
29771 							T118_ = !((f == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
29772 							if (!(T118_)) goto LA119_;
29773 							T118_ = fieldVisible__sigmatch_4944(c, f);
29774 							LA119_: ;
29775 							if (!T118_) goto LA120_;
29776 							{
29777 								if (!!((f == s))) goto LA124_;
29778 								failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_634));
29779 							}
29780 							LA124_: ;
29781 							markUsed__sigmatch_85(c, (*n).info, f);
29782 							result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), (*n).info, (*f).typ);
29783 							T126_ = NIM_NIL;
29784 							T126_ = newSymNode__ast_3716((*p).selfSym);
29785 							T127_ = NIM_NIL;
29786 							T127_ = makeDeref__sem_9872(T126_);
29787 							add__ast_4797(result, T127_);
29788 							T128_ = NIM_NIL;
29789 							T128_ = newSymNode__ast_3716(f);
29790 							add__ast_4797(result, T128_);
29791 							{
29792 								if (!!((check == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA131_;
29793 								asgnRef((void**) (&(*check)._kind_6.sons->data[((NI) 0)]), result);
29794 								asgnRef((void**) (&(*check).typ), (*result).typ);
29795 								result = check;
29796 							}
29797 							LA131_: ;
29798 							goto BeforeRet_;
29799 						}
29800 						LA120_: ;
29801 						{
29802 							if (!((*ty).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA135_;
29803 							goto LA114;
29804 						}
29805 						LA135_: ;
29806 						ty = skipTypes__ast_3735((*ty).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_53);
29807 					}
29808 				} LA114: ;
29809 			}
29810 			LA112_: ;
29811 		}
29812 		LA106_: ;
29813 		markUsed__sigmatch_85(c, (*n).info, s);
29814 		result = newSymNode__ast_3719(s, (*n).info);
29815 	}
29816 	break;
29817 	default:
29818 	{
29819 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info_2;
29820 		info_2 = getCallLineInfo__sem_2390(n);
29821 		markUsed__sigmatch_85(c, info_2, s);
29822 		result = newSymNode__ast_3719(s, info_2);
29823 	}
29824 	break;
29825 	}
29826 	}BeforeRet_: ;
29827 	return result;
29828 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,getNilType__sem_20188)29829 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getNilType__sem_20188)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
29830 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
29831 	result = NIM_NIL;
29832 	result = (*c).nilTypeCache;
29833 	{
29834 		if (!(result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
29835 		result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5), c);
29836 		(*result).size = ((NI64) ((*(*(*c).graph).config).target.ptrSize));
29837 		(*result).align = ((NI16) ((*(*(*c).graph).config).target.ptrSize));
29838 		asgnRef((void**) (&(*c).nilTypeCache), result);
29839 	}
29840 	LA3_: ;
29841 	return result;
29842 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semFieldAccess__sem_13894)29843 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semFieldAccess__sem_13894)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
29844 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
29845 	result = NIM_NIL;
29846 	result = builtinFieldAccess__sem_17178(c, n, flags);
29847 	{
29848 		if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
29849 		result = dotTransformation__sem_17303(c, n);
29850 	}
29851 	LA3_: ;
29852 	return result;
29853 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semStaticExpr__sem_125)29854 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStaticExpr__sem_125)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
29855 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
29856 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
29857 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
29858 {	result = NIM_NIL;
29859 	(*c).inStaticContext += ((NI) 1);
29860 	T1_ = NIM_NIL;
29861 	T1_ = openScope__lookups_69(c);
29862 	a = semExprWithType__sem_56(c, n, 0);
29863 	closeScope__lookups_101(c);
29864 	(*c).inStaticContext -= ((NI) 1);
29865 	{
29866 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
29867 		T4_ = NIM_NIL;
29868 		T4_ = findUnresolvedStatic__ast_4956(a);
29869 		if (!!((T4_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA5_;
29870 		result = a;
29871 		goto BeforeRet_;
29872 	}
29873 	LA5_: ;
29874 	result = evalStaticExpr__vm_13752((*c).module, (*c).Sup.idgen, (*c).graph, a, (*(*c).p).owner);
29875 	{
29876 		NimStringDesc* T11_;
29877 		NimStringDesc* T12_;
29878 		if (!(result == 0)) goto LA9_;
29879 		T11_ = NIM_NIL;
29880 		T11_ = renderTree__renderer_46(n, 0);
29881 		T12_ = NIM_NIL;
29882 		T12_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_390), T11_);
29883 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T12_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_640, NIM_FALSE);
29884 		result = (*(*c).graph).emptyNode;
29885 	}
29886 	goto LA7_;
29887 	LA9_: ;
29888 	{
29889 		result = fixupTypeAfterEval__sem_570(c, result, a);
29890 	}
29891 	LA7_: ;
29892 	}BeforeRet_: ;
29893 	return result;
29894 }
N_NIMCALL(void,maybeLiftType__sem_14373)29895 N_LIB_PRIVATE N_NIMCALL(void, maybeLiftType__sem_14373)(tyObject_TType__facALICuu8zUj0hjvbTLFg** t, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
29896 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
29897 	tyObject_TType__facALICuu8zUj0hjvbTLFg* lifted;
29898 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
29899 	T1_ = NIM_NIL;
29900 	T1_ = openScope__lookups_69(c);
29901 	T2_ = NIM_NIL;
29902 	T2_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), info);
29903 	lifted = liftParamType__sem_4789(c, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), T2_, (*t), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_641), info, NIM_FALSE);
29904 	closeScope__lookups_101(c);
29905 	{
29906 		if (!!((lifted == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA5_;
29907 		unsureAsgnRef((void**) (&(*t)), lifted);
29908 	}
29909 	LA5_: ;
29910 }
N_NIMCALL(NIM_BOOL,isOwnedSym__sem_14382)29911 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedSym__sem_14382)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
29912 	NIM_BOOL result;
29913 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
29914 	NIM_BOOL T1_;
29915 	NIM_BOOL T2_;
29916 	result = (NIM_BOOL)0;
29917 	s = qualifiedLookUp__lookups_1233(c, n, 0);
29918 	T1_ = (NIM_BOOL)0;
29919 	T2_ = (NIM_BOOL)0;
29920 	T2_ = !((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
29921 	if (!(T2_)) goto LA3_;
29922 	T2_ = (((*(*s).owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0);
29923 	LA3_: ;
29924 	T1_ = T2_;
29925 	if (!(T1_)) goto LA4_;
29926 	T1_ = eqStrings((*(*s).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_535));
29927 	LA4_: ;
29928 	result = T1_;
29929 	return result;
29930 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,inferWithMetatype__sem_231)29931 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) {
29932 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
29933 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
29934 	result = NIM_NIL;
29935 	nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
29936 	newCandidate__sigmatch_195(c, formal, (&m));
29937 	m.coerceDistincts = coerceDistincts;
29938 	result = paramTypesMatch__sigmatch_3583((&m), formal, (*arg).typ, arg, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
29939 	{
29940 		NIM_BOOL T3_;
29941 		T3_ = (NIM_BOOL)0;
29942 		T3_ = m.genericConverter;
29943 		if (!(T3_)) goto LA4_;
29944 		T3_ = !((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
29945 		LA4_: ;
29946 		if (!T3_) goto LA5_;
29947 		instGenericConvertersArg__sem_2292(c, result, (&m));
29948 	}
29949 	LA5_: ;
29950 	{
29951 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T11_;
29952 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA9_;
29953 		T11_ = NIM_NIL;
29954 		T11_ = skipTypes__ast_3735(formal, TM__rF9caJawfOjYTjsgLVUSGFA_644);
29955 		asgnRef((void**) (&(*result).typ), generateTypeInstance__semtypinst_1050(c, m.bindings, (*arg).info, T11_));
29956 	}
29957 	goto LA7_;
29958 	LA9_: ;
29959 	{
29960 		typeMismatch__types_3870((*(*c).graph).config, (*arg).info, formal, (*arg).typ, arg);
29961 		result = copyTree__ast_4431(arg);
29962 		asgnRef((void**) (&(*result).typ), formal);
29963 	}
29964 	LA7_: ;
29965 	return result;
29966 }
N_NIMCALL(tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw,checkConversionBetweenObjects__sem_14019)29967 N_LIB_PRIVATE N_NIMCALL(tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw, checkConversionBetweenObjects__sem_14019)(tyObject_TType__facALICuu8zUj0hjvbTLFg* castDest, tyObject_TType__facALICuu8zUj0hjvbTLFg* src, NI pointers) {
29968 	tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw result;
29969 	NI diff;
29970 {	result = (tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw)0;
29971 	diff = inheritanceDiff__types_2685(castDest, src);
29972 	{
29973 		NIM_BOOL T3_;
29974 		NIM_BOOL T5_;
29975 		T3_ = (NIM_BOOL)0;
29976 		T3_ = (diff == ((NI) IL64(9223372036854775807)));
29977 		if (T3_) goto LA4_;
29978 		T5_ = (NIM_BOOL)0;
29979 		T5_ = (((NI) 1) < pointers);
29980 		if (!(T5_)) goto LA6_;
29981 		T5_ = !((diff == ((NI) 0)));
29982 		LA6_: ;
29983 		T3_ = T5_;
29984 		LA4_: ;
29985 		if (!T3_) goto LA7_;
29986 		result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 2);
29987 	}
29988 	goto LA1_;
29989 	LA7_: ;
29990 	{
29991 		result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 0);
29992 	}
29993 	LA1_: ;
29994 	goto BeforeRet_;
29995 	}BeforeRet_: ;
29996 	return result;
29997 }
N_INLINE(NIM_BOOL,contains__sem_14178)29998 static N_INLINE(NIM_BOOL, contains__sem_14178)(tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ s, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw value) {
29999 	NIM_BOOL result;
30000 	NIM_BOOL T1_;
30001 	result = (NIM_BOOL)0;
30002 	T1_ = (NIM_BOOL)0;
30003 	T1_ = (s.a <= value);
30004 	if (!(T1_)) goto LA2_;
30005 	T1_ = (value <= s.b);
30006 	LA2_: ;
30007 	result = T1_;
30008 	return result;
30009 }
N_INLINE(tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ,dotdot___sem_14157)30010 static N_INLINE(tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ, dotdot___sem_14157)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw a, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw b) {
30011 	tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ result;
30012 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ));
30013 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ));
30014 	result.a = a;
30015 	result.b = b;
30016 	return result;
30017 }
N_INLINE(NIM_BOOL,contains__semfold_120)30018 static N_INLINE(NIM_BOOL, contains__semfold_120)(tyObject_HSlice__fqLtJsaN5foHLgxLTScotw* s, tyObject_Int128__9a9axPfb75jdWY25AamJewkA value) {
30019 	NIM_BOOL result;
30020 	NIM_BOOL T1_;
30021 	result = (NIM_BOOL)0;
30022 	T1_ = (NIM_BOOL)0;
30023 	T1_ = lteq___int495056_309((*s).a, value);
30024 	if (!(T1_)) goto LA2_;
30025 	T1_ = lteq___int495056_309(value, (*s).b);
30026 	LA2_: ;
30027 	result = T1_;
30028 	return result;
30029 }
N_INLINE(void,dotdot___semfold_99)30030 static N_INLINE(void, dotdot___semfold_99)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b, tyObject_HSlice__fqLtJsaN5foHLgxLTScotw* Result) {
30031 	nimZeroMem((void*)Result, sizeof(tyObject_HSlice__fqLtJsaN5foHLgxLTScotw));
30032 	(*Result).a = a;
30033 	(*Result).b = b;
30034 }
N_INLINE(NIM_BOOL,contains__sem_14231)30035 static N_INLINE(NIM_BOOL, contains__sem_14231)(tyObject_HSlice__fqLtJsaN5foHLgxLTScotw* s, NI64 value) {
30036 	NIM_BOOL result;
30037 	NIM_BOOL T1_;
30038 	result = (NIM_BOOL)0;
30039 	T1_ = (NIM_BOOL)0;
30040 	T1_ = lteq___int495056_745((*s).a, value);
30041 	if (!(T1_)) goto LA2_;
30042 	T1_ = lteq___int495056_752(value, (*s).b);
30043 	LA2_: ;
30044 	result = T1_;
30045 	return result;
30046 }
N_INLINE(NIM_BOOL,contains__semfold_938)30047 static N_INLINE(NIM_BOOL, contains__semfold_938)(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA s, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag value) {
30048 	NIM_BOOL result;
30049 	NIM_BOOL T1_;
30050 	result = (NIM_BOOL)0;
30051 	T1_ = (NIM_BOOL)0;
30052 	T1_ = (s.a <= value);
30053 	if (!(T1_)) goto LA2_;
30054 	T1_ = (value <= s.b);
30055 	LA2_: ;
30056 	result = T1_;
30057 	return result;
30058 }
N_INLINE(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA,dotdot___semfold_916)30059 static N_INLINE(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA, dotdot___semfold_916)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag a, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag b) {
30060 	tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA result;
30061 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA));
30062 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA));
30063 	result.a = a;
30064 	result.b = b;
30065 	return result;
30066 }
N_NIMCALL(tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw,checkConvertible__sem_14039)30067 N_LIB_PRIVATE N_NIMCALL(tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw, checkConvertible__sem_14039)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* targetTyp, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src) {
30068 	tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw result;
30069 	tyObject_TType__facALICuu8zUj0hjvbTLFg* srcTyp;
30070 	tyObject_TType__facALICuu8zUj0hjvbTLFg* d;
30071 	tyObject_TType__facALICuu8zUj0hjvbTLFg* s;
30072 	NI pointers;
30073 	tyObject_TType__facALICuu8zUj0hjvbTLFg* targetBaseTyp;
30074 	tyObject_TType__facALICuu8zUj0hjvbTLFg* srcBaseTyp;
30075 {	result = (tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw)0;
30076 	srcTyp = skipTypes__ast_3735((*src).typ, TM__rF9caJawfOjYTjsgLVUSGFA_30);
30077 	result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 0);
30078 	{
30079 		NIM_BOOL T3_;
30080 		T3_ = (NIM_BOOL)0;
30081 		T3_ = sameType__types_1824(targetTyp, srcTyp, 0);
30082 		if (!(T3_)) goto LA4_;
30083 		T3_ = ((*targetTyp).sym == (*srcTyp).sym);
30084 		LA4_: ;
30085 		if (!T3_) goto LA5_;
30086 		{
30087 			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_;
30088 			result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 1);
30089 		}
30090 		LA9_: ;
30091 		goto BeforeRet_;
30092 	}
30093 	LA5_: ;
30094 	d = skipTypes__ast_3735(targetTyp, TM__rF9caJawfOjYTjsgLVUSGFA_228);
30095 	s = srcTyp;
30096 	{
30097 		NIM_BOOL T13_;
30098 		T13_ = (NIM_BOOL)0;
30099 		T13_ = ((*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) || (*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53));
30100 		if (!(T13_)) goto LA14_;
30101 		T13_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0);
30102 		LA14_: ;
30103 		if (!T13_) goto LA15_;
30104 		s = lastSon__ast_3743(s);
30105 	}
30106 	LA15_: ;
30107 	s = skipTypes__ast_3735(s, TM__rF9caJawfOjYTjsgLVUSGFA_645);
30108 	{
30109 		NIM_BOOL T19_;
30110 		T19_ = (NIM_BOOL)0;
30111 		T19_ = ((*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
30112 		if (!(T19_)) goto LA20_;
30113 		T19_ = !(((*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
30114 		LA20_: ;
30115 		if (!T19_) goto LA21_;
30116 		s = lastSon__ast_3743(s);
30117 	}
30118 	LA21_: ;
30119 	pointers = ((NI) 0);
30120 	{
30121 		while (1) {
30122 			NIM_BOOL T25_;
30123 			T25_ = (NIM_BOOL)0;
30124 			T25_ = !((d == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
30125 			if (!(T25_)) goto LA26_;
30126 			T25_ = ((*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
30127 			LA26_: ;
30128 			if (!T25_) goto LA24;
30129 			{
30130 				NIM_BOOL T29_;
30131 				T29_ = (NIM_BOOL)0;
30132 				T29_ = ((*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
30133 				if (!(T29_)) goto LA30_;
30134 				T29_ = !(((*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
30135 				LA30_: ;
30136 				if (!T29_) goto LA31_;
30137 				s = lastSon__ast_3743(s);
30138 			}
30139 			goto LA27_;
30140 			LA31_: ;
30141 			{
30142 				if (!!(((*d).kind == (*s).kind))) goto LA34_;
30143 				goto LA23;
30144 			}
30145 			goto LA27_;
30146 			LA34_: ;
30147 			{
30148 				d = lastSon__ast_3743(d);
30149 				s = lastSon__ast_3743(s);
30150 			}
30151 			LA27_: ;
30152 			pointers += ((NI) 1);
30153 		} LA24: ;
30154 	} LA23: ;
30155 	targetBaseTyp = skipTypes__ast_3735(targetTyp, TM__rF9caJawfOjYTjsgLVUSGFA_646);
30156 	srcBaseTyp = skipTypes__ast_3735(srcTyp, TM__rF9caJawfOjYTjsgLVUSGFA_470);
30157 	{
30158 		if (!(d == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA39_;
30159 		result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 2);
30160 	}
30161 	goto LA37_;
30162 	LA39_: ;
30163 	{
30164 		NIM_BOOL T42_;
30165 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T43_;
30166 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T45_;
30167 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T48_;
30168 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T49_;
30169 		T42_ = (NIM_BOOL)0;
30170 		T43_ = NIM_NIL;
30171 		T43_ = skipTypes__ast_3735(d, TM__rF9caJawfOjYTjsgLVUSGFA_70);
30172 		T42_ = ((*T43_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
30173 		if (!(T42_)) goto LA44_;
30174 		T45_ = NIM_NIL;
30175 		T45_ = skipTypes__ast_3735(s, TM__rF9caJawfOjYTjsgLVUSGFA_70);
30176 		T42_ = ((*T45_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
30177 		LA44_: ;
30178 		if (!T42_) goto LA46_;
30179 		T48_ = NIM_NIL;
30180 		T48_ = skipTypes__ast_3735(d, TM__rF9caJawfOjYTjsgLVUSGFA_70);
30181 		T49_ = NIM_NIL;
30182 		T49_ = skipTypes__ast_3735(s, TM__rF9caJawfOjYTjsgLVUSGFA_70);
30183 		result = checkConversionBetweenObjects__sem_14019(T48_, T49_, pointers);
30184 	}
30185 	goto LA37_;
30186 	LA46_: ;
30187 	{
30188 		NIM_BOOL T51_;
30189 		T51_ = (NIM_BOOL)0;
30190 		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));
30191 		if (!(T51_)) goto LA52_;
30192 		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));
30193 		LA52_: ;
30194 		if (!T51_) goto LA53_;
30195 		{
30196 			NIM_BOOL T57_;
30197 			T57_ = (NIM_BOOL)0;
30198 			T57_ = ((*targetTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
30199 			if (!(T57_)) goto LA58_;
30200 			T57_ = ((*srcBaseTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
30201 			LA58_: ;
30202 			if (!T57_) goto LA59_;
30203 			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);
30204 		}
30205 		LA59_: ;
30206 		{
30207 			if (!((*targetTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1))) goto LA63_;
30208 		}
30209 		goto LA61_;
30210 		LA63_: ;
30211 		{
30212 			NIM_BOOL T66_;
30213 			T66_ = (NIM_BOOL)0;
30214 			T66_ = isOrdinalType__types_299(targetTyp, NIM_FALSE);
30215 			if (!T66_) goto LA67_;
30216 			{
30217 				NIM_BOOL T71_;
30218 				tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ T72_;
30219 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T74_;
30220 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T75_;
30221 				tyObject_HSlice__fqLtJsaN5foHLgxLTScotw T76_;
30222 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T77_;
30223 				NIM_BOOL T78_;
30224 				T71_ = (NIM_BOOL)0;
30225 				T72_ = dotdot___sem_14157(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5), ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
30226 				T71_ = contains__sem_14178(T72_, (*src).kind);
30227 				if (!(T71_)) goto LA73_;
30228 				T74_ = firstOrd__types_1353((*(*c).graph).config, targetTyp);
30229 				T75_ = lastOrd__types_1470((*(*c).graph).config, targetTyp);
30230 				nimZeroMem((void*)(&T76_), sizeof(tyObject_HSlice__fqLtJsaN5foHLgxLTScotw));
30231 				dotdot___semfold_99(T74_, T75_, (&T76_));
30232 				T77_ = getInt__ast_4592(src);
30233 				T78_ = (NIM_BOOL)0;
30234 				T78_ = contains__semfold_120((&T76_), T77_);
30235 				T71_ = !(T78_);
30236 				LA73_: ;
30237 				if (!T71_) goto LA79_;
30238 				result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 3);
30239 			}
30240 			goto LA69_;
30241 			LA79_: ;
30242 			{
30243 				NIM_BOOL T82_;
30244 				tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ T83_;
30245 				NIM_BOOL T85_;
30246 				tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA T86_;
30247 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T88_;
30248 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T89_;
30249 				tyObject_HSlice__fqLtJsaN5foHLgxLTScotw T90_;
30250 				NIM_BOOL T91_;
30251 				T82_ = (NIM_BOOL)0;
30252 				T83_ = dotdot___sem_14157(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16), ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18));
30253 				T82_ = contains__sem_14178(T83_, (*src).kind);
30254 				if (!(T82_)) goto LA84_;
30255 				T85_ = (NIM_BOOL)0;
30256 				T86_ = (tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA)0;
30257 				T86_ = classify__pureZmath_147((*src)._kind_2.floatVal);
30258 				T85_ = ((112 &((NU8)1<<((NU)(T86_)&7U)))!=0);
30259 				if (T85_) goto LA87_;
30260 				T88_ = firstOrd__types_1353((*(*c).graph).config, targetTyp);
30261 				T89_ = lastOrd__types_1470((*(*c).graph).config, targetTyp);
30262 				nimZeroMem((void*)(&T90_), sizeof(tyObject_HSlice__fqLtJsaN5foHLgxLTScotw));
30263 				dotdot___semfold_99(T88_, T89_, (&T90_));
30264 				T91_ = (NIM_BOOL)0;
30265 				T91_ = contains__sem_14231((&T90_), ((NI64) ((*src)._kind_2.floatVal)));
30266 				T85_ = !(T91_);
30267 				LA87_: ;
30268 				T82_ = T85_;
30269 				LA84_: ;
30270 				if (!T82_) goto LA92_;
30271 				result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 3);
30272 			}
30273 			goto LA69_;
30274 			LA92_: ;
30275 			LA69_: ;
30276 		}
30277 		goto LA61_;
30278 		LA67_: ;
30279 		{
30280 			tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA T95_;
30281 			NIM_BOOL T96_;
30282 			T95_ = dotdot___semfold_916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38));
30283 			T96_ = (NIM_BOOL)0;
30284 			T96_ = contains__semfold_938(T95_, (*targetBaseTyp).kind);
30285 			if (!T96_) goto LA97_;
30286 			{
30287 				NIM_BOOL T101_;
30288 				tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ T102_;
30289 				NIM_BOOL T104_;
30290 				T101_ = (NIM_BOOL)0;
30291 				T102_ = dotdot___sem_14157(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16), ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18));
30292 				T101_ = contains__sem_14178(T102_, (*src).kind);
30293 				if (!(T101_)) goto LA103_;
30294 				T104_ = (NIM_BOOL)0;
30295 				T104_ = floatRangeCheck__types_1613((*src)._kind_2.floatVal, targetTyp);
30296 				T101_ = !(T104_);
30297 				LA103_: ;
30298 				if (!T101_) goto LA105_;
30299 				result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 3);
30300 			}
30301 			goto LA99_;
30302 			LA105_: ;
30303 			{
30304 				NIM_BOOL T108_;
30305 				tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ T109_;
30306 				NIM_BOOL T111_;
30307 				T108_ = (NIM_BOOL)0;
30308 				T109_ = dotdot___sem_14157(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5), ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
30309 				T108_ = contains__sem_14178(T109_, (*src).kind);
30310 				if (!(T108_)) goto LA110_;
30311 				T111_ = (NIM_BOOL)0;
30312 				T111_ = floatRangeCheck__types_1613(((NF) ((*src)._kind_1.intVal)), targetTyp);
30313 				T108_ = !(T111_);
30314 				LA110_: ;
30315 				if (!T108_) goto LA112_;
30316 				result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 3);
30317 			}
30318 			goto LA99_;
30319 			LA112_: ;
30320 			LA99_: ;
30321 		}
30322 		goto LA61_;
30323 		LA97_: ;
30324 		LA61_: ;
30325 	}
30326 	goto LA37_;
30327 	LA53_: ;
30328 	{
30329 		tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T115_;
30330 		T115_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
30331 		T115_ = cmpTypes__sigmatch_3047(c, d, s);
30332 		switch (T115_) {
30333 		case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0):
30334 		case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8):
30335 		{
30336 			{
30337 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T119_;
30338 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T120_;
30339 				NIM_BOOL T121_;
30340 				T119_ = NIM_NIL;
30341 				T119_ = skipTypes__ast_3735(targetTyp, TM__rF9caJawfOjYTjsgLVUSGFA_228);
30342 				T120_ = NIM_NIL;
30343 				T120_ = skipTypes__ast_3735(srcTyp, TM__rF9caJawfOjYTjsgLVUSGFA_649);
30344 				T121_ = (NIM_BOOL)0;
30345 				T121_ = compareTypes__types_2668(T119_, T120_, ((tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg) 1), 0);
30346 				if (!!(T121_)) goto LA122_;
30347 				result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 2);
30348 			}
30349 			LA122_: ;
30350 		}
30351 		break;
30352 		default:
30353 		{
30354 		}
30355 		break;
30356 		}
30357 	}
30358 	LA37_: ;
30359 	}BeforeRet_: ;
30360 	return result;
30361 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConv__sem_14395)30362 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConv__sem_14395)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
30363 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
30364 	tyObject_TType__facALICuu8zUj0hjvbTLFg* targetType;
30365 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
30366 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* op;
30367 {	result = NIM_NIL;
30368 	{
30369 		NI T3_;
30370 		T3_ = (NI)0;
30371 		T3_ = len__ast_3198(n);
30372 		if (!!((T3_ == ((NI) 2)))) goto LA4_;
30373 		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);
30374 		result = n;
30375 		goto BeforeRet_;
30376 	}
30377 	LA4_: ;
30378 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60), (*n).info);
30379 	targetType = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
30380 	switch ((*targetType).kind) {
30381 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
30382 	{
30383 		{
30384 			NI T9_;
30385 			NimStringDesc* argX60gensym3724_;
30386 			T9_ = (NI)0;
30387 			T9_ = len__ast_4002(targetType);
30388 			if (!!((((NI) 0) < T9_))) goto LA10_;
30389 			argX60gensym3724_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_639);
30390 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym3724_, TM__rF9caJawfOjYTjsgLVUSGFA_639);
30391 		}
30392 		LA10_: ;
30393 		{
30394 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T14_;
30395 			T14_ = NIM_NIL;
30396 			T14_ = base__types_63(targetType);
30397 			if (!((*T14_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA15_;
30398 			result = semTypeOf__sem_132(c, n);
30399 			goto BeforeRet_;
30400 		}
30401 		goto LA12_;
30402 		LA15_: ;
30403 		{
30404 			targetType = base__types_63(targetType);
30405 		}
30406 		LA12_: ;
30407 	}
30408 	break;
30409 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
30410 	{
30411 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated;
30412 		evaluated = semStaticExpr__sem_125(c, (*n)._kind_6.sons->data[((NI) 1)]);
30413 		{
30414 			NIM_BOOL T21_;
30415 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T25_;
30416 			T21_ = (NIM_BOOL)0;
30417 			T21_ = ((*evaluated).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4));
30418 			if (T21_) goto LA22_;
30419 			T21_ = ((*(*evaluated).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
30420 			LA22_: ;
30421 			if (!T21_) goto LA23_;
30422 			result = n;
30423 			T25_ = NIM_NIL;
30424 			T25_ = semStaticType__sem_128(c, evaluated, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
30425 			asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, T25_));
30426 			goto BeforeRet_;
30427 		}
30428 		goto LA19_;
30429 		LA23_: ;
30430 		{
30431 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T27_;
30432 			T27_ = NIM_NIL;
30433 			T27_ = base__types_63(targetType);
30434 			if (!((*T27_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA28_;
30435 			result = evaluated;
30436 			goto BeforeRet_;
30437 		}
30438 		goto LA19_;
30439 		LA28_: ;
30440 		{
30441 			targetType = base__types_63(targetType);
30442 		}
30443 		LA19_: ;
30444 	}
30445 	break;
30446 	default:
30447 	{
30448 	}
30449 	break;
30450 	}
30451 	maybeLiftType__sem_14373(&targetType, c, (*(*n)._kind_6.sons->data[((NI) 0)]).info);
30452 	{
30453 		NIM_BOOL T34_;
30454 		tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType;
30455 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T38_;
30456 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
30457 		T34_ = (NIM_BOOL)0;
30458 		T34_ = ((*targetType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46) || (*targetType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
30459 		if (T34_) goto LA35_;
30460 		T34_ = isOwnedSym__sem_14382(c, (*n)._kind_6.sons->data[((NI) 0)]);
30461 		LA35_: ;
30462 		if (!T34_) goto LA36_;
30463 		T38_ = NIM_NIL;
30464 		T38_ = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
30465 		baseType = skipTypes__ast_3735(T38_, TM__rF9caJawfOjYTjsgLVUSGFA_123);
30466 		t = newTypeS__semdata_733((*targetType).kind, c);
30467 		{
30468 			if (!((*targetType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA41_;
30469 			(*t).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4)) & 63);
30470 		}
30471 		LA41_: ;
30472 		rawAddSonNoPropagationOfTypeFlags__ast_4299(t, baseType);
30473 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*n).info);
30474 		asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, t));
30475 		goto BeforeRet_;
30476 	}
30477 	LA36_: ;
30478 	T43_ = NIM_NIL;
30479 	T43_ = copyTree__ast_4431((*n)._kind_6.sons->data[((NI) 0)]);
30480 	add__ast_4797(result, T43_);
30481 	{
30482 		NIM_BOOL T46_;
30483 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T48_;
30484 		T46_ = (NIM_BOOL)0;
30485 		T46_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33));
30486 		if (!(T46_)) goto LA47_;
30487 		T48_ = NIM_NIL;
30488 		T48_ = skipTypes__ast_3735(targetType, TM__rF9caJawfOjYTjsgLVUSGFA_97);
30489 		T46_ = ((*T48_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
30490 		LA47_: ;
30491 		if (!T46_) goto LA49_;
30492 		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);
30493 	}
30494 	LA49_: ;
30495 	op = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
30496 	{
30497 		NIM_BOOL T53_;
30498 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* final;
30499 		T53_ = (NIM_BOOL)0;
30500 		T53_ = !(((*targetType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
30501 		if (!(T53_)) goto LA54_;
30502 		T53_ = isMetaType__ast_3495(targetType);
30503 		LA54_: ;
30504 		if (!T53_) goto LA55_;
30505 		final = inferWithMetatype__sem_231(c, targetType, op, NIM_TRUE);
30506 		add__ast_4797(result, final);
30507 		asgnRef((void**) (&(*result).typ), (*final).typ);
30508 		goto BeforeRet_;
30509 	}
30510 	LA55_: ;
30511 	asgnRef((void**) (&(*result).typ), targetType);
30512 	add__ast_4797(result, op);
30513 	{
30514 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T61_;
30515 		if (!((*targetType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA59_;
30516 		T61_ = NIM_NIL;
30517 		T61_ = copyTree__ast_4431(result);
30518 		asgnRef((void**) (&(*result).typ), makeTypeFromExpr__semdata_804(c, T61_));
30519 		goto BeforeRet_;
30520 	}
30521 	LA59_: ;
30522 	{
30523 		NIM_BOOL T64_;
30524 		tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw status;
30525 		T64_ = (NIM_BOOL)0;
30526 		T64_ = isSymChoice__sem_14366(op);
30527 		if (!!(T64_)) goto LA65_;
30528 		status = checkConvertible__sem_14039(c, (*result).typ, op);
30529 		switch (status) {
30530 		case ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 0):
30531 		{
30532 			{
30533 				NIM_BOOL T70_;
30534 				T70_ = (NIM_BOOL)0;
30535 				T70_ = ((*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
30536 				if (!(T70_)) goto LA71_;
30537 				T70_ = isGenericRoutine__ast_4646((*op)._kind_4.sym);
30538 				LA71_: ;
30539 				if (!T70_) goto LA72_;
30540 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), fitNode__sem_70(c, (*result).typ, (*result)._kind_6.sons->data[((NI) 1)], (*result).info));
30541 			}
30542 			goto LA68_;
30543 			LA72_: ;
30544 			{
30545 				NIM_BOOL T75_;
30546 				T75_ = (NIM_BOOL)0;
30547 				T75_ = ((*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160));
30548 				if (!(T75_)) goto LA76_;
30549 				T75_ = ((*targetType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
30550 				LA76_: ;
30551 				if (!T75_) goto LA77_;
30552 				op = fitNode__sem_70(c, targetType, op, (*result).info);
30553 			}
30554 			goto LA68_;
30555 			LA77_: ;
30556 			LA68_: ;
30557 		}
30558 		break;
30559 		case ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 1):
30560 		{
30561 			NimStringDesc* T80_;
30562 			T80_ = NIM_NIL;
30563 			T80_ = typeToString__types_50((*result).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
30564 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 76), T80_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_650, NIM_FALSE);
30565 		}
30566 		break;
30567 		case ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 2):
30568 		{
30569 			result = fitNode__sem_70(c, (*result).typ, (*result)._kind_6.sons->data[((NI) 1)], (*result).info);
30570 			{
30571 				tyArray__Re75IspeoxXy2oCZHwcRrA T86_;
30572 				NimStringDesc* T87_;
30573 				if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA84_;
30574 				nimZeroMem((void*)T86_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
30575 				T86_[0] = typeToString__types_50((*op).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
30576 				T86_[1] = typeToString__types_50((*result).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
30577 				T87_ = NIM_NIL;
30578 				T87_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_651), T86_, 2);
30579 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T87_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_652, NIM_FALSE);
30580 			}
30581 			LA84_: ;
30582 		}
30583 		break;
30584 		case ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 3):
30585 		{
30586 			NimStringDesc* value;
30587 			NimStringDesc* T96_;
30588 			NimStringDesc* T97_;
30589 			{
30590 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T93_;
30591 				if (!((*op).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*op).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA91_;
30592 				T93_ = getInt__ast_4592(op);
30593 				value = dollar___int495056_53(T93_);
30594 			}
30595 			goto LA89_;
30596 			LA91_: ;
30597 			{
30598 				NF T95_;
30599 				T95_ = (NF)0;
30600 				T95_ = getFloat__ast_4607(op);
30601 				value = dollar___system_3118(T95_);
30602 			}
30603 			LA89_: ;
30604 			T96_ = NIM_NIL;
30605 			T97_ = NIM_NIL;
30606 			T97_ = typeToString__types_50((*result).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
30607 			T96_ = rawNewString((value ? value->Sup.len : 0) + (T97_ ? T97_->Sup.len : 0) + 23);
30608 appendString(T96_, value);
30609 appendString(T96_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_653));
30610 appendString(T96_, T97_);
30611 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T96_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_654, NIM_FALSE);
30612 		}
30613 		break;
30614 		}
30615 	}
30616 	goto LA62_;
30617 	LA65_: ;
30618 	{
30619 		{
30620 			NI i;
30621 			NI colontmp_;
30622 			NI i_2;
30623 			i = (NI)0;
30624 			colontmp_ = (NI)0;
30625 			colontmp_ = len__ast_3198(op);
30626 			i_2 = ((NI) 0);
30627 			{
30628 				while (1) {
30629 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
30630 					tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw status_2;
30631 					if (!(i_2 < colontmp_)) goto LA101;
30632 					i = i_2;
30633 					it = (*op)._kind_6.sons->data[i];
30634 					status_2 = checkConvertible__sem_14039(c, (*result).typ, it);
30635 					{
30636 						if (!((3 &((NU8)1<<((NU)(status_2)&7U)))!=0)) goto LA104_;
30637 						markUsed__sigmatch_85(c, (*n).info, (*it)._kind_4.sym);
30638 						markIndirect__semdata_1060(c, (*it)._kind_4.sym);
30639 						result = it;
30640 						goto BeforeRet_;
30641 					}
30642 					LA104_: ;
30643 					i_2 += ((NI) 1);
30644 				} LA101: ;
30645 			}
30646 		}
30647 		errorUseQualifier__lookups_1180(c, (*n).info, (*(*op)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
30648 	}
30649 	LA62_: ;
30650 	}BeforeRet_: ;
30651 	return result;
30652 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semObjConstr__sem_16471)30653 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semObjConstr__sem_16471)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
30654 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
30655 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
30656 	tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw constrCtx;
30657 	tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ initResult;
30658 	NIM_BOOL hasError;
30659 {	result = NIM_NIL;
30660 	t = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
30661 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38), (*n).info, t);
30662 	{
30663 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
30664 		child = NIM_NIL;
30665 		{
30666 			NI i;
30667 			NI colontmp_;
30668 			NI i_2;
30669 			i = (NI)0;
30670 			colontmp_ = (NI)0;
30671 			colontmp_ = safeLen__ast_3191(n);
30672 			i_2 = ((NI) 0);
30673 			{
30674 				while (1) {
30675 					if (!(i_2 < colontmp_)) goto LA4;
30676 					i = i_2;
30677 					child = (*n)._kind_6.sons->data[i];
30678 					add__ast_4797(result, child);
30679 					i_2 += ((NI) 1);
30680 				} LA4: ;
30681 			}
30682 		}
30683 	}
30684 	{
30685 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n2X60gensym5234_;
30686 		if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA7_;
30687 		n2X60gensym5234_ = result;
30688 		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);
30689 		result = errorNode__semdata_1009(c, n2X60gensym5234_);
30690 		goto BeforeRet_;
30691 	}
30692 	LA7_: ;
30693 	t = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_39);
30694 	{
30695 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA11_;
30696 		t = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_39);
30697 		{
30698 			if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0)) goto LA15_;
30699 			asgnRef((void**) (&(*result).typ), makeVarType__semdata_766(c, (*result).typ, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
30700 			(*(*result).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4)) & 63);
30701 		}
30702 		LA15_: ;
30703 	}
30704 	LA11_: ;
30705 	{
30706 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n2X60gensym5242_;
30707 		NimStringDesc* dupResult;
30708 		if (!!(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA19_;
30709 		n2X60gensym5242_ = result;
30710 		dupResult = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_655));
30711 		addDeclaredLoc__astmsgs_33((&dupResult), (*(*c).graph).config, t);
30712 		liMessage__msgs_1118((*(*c).graph).config, (*n2X60gensym5242_).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), dupResult, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_657, NIM_FALSE);
30713 		result = errorNode__semdata_1009(c, n2X60gensym5242_);
30714 		goto BeforeRet_;
30715 	}
30716 	LA19_: ;
30717 	nimZeroMem((void*)(&constrCtx), sizeof(tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw));
30718 	initConstrContext__sem_19652(t, result, (&constrCtx));
30719 	initResult = semConstructTypeAux__sem_19627(c, (&constrCtx), flags);
30720 	hasError = NIM_FALSE;
30721 	{
30722 		NI T23_;
30723 		tyArray__Re75IspeoxXy2oCZHwcRrA T26_;
30724 		NimStringDesc* T27_;
30725 		T23_ = (constrCtx.missingFields ? constrCtx.missingFields->Sup.len : 0);
30726 		if (!(((NI) 0) < T23_)) goto LA24_;
30727 		hasError = NIM_TRUE;
30728 		nimZeroMem((void*)T26_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
30729 		T26_[0] = copyString((*(*(*t).sym).name).s);
30730 		T26_[1] = listSymbolNames__astalgo_4310(constrCtx.missingFields->data, (constrCtx.missingFields ? constrCtx.missingFields->Sup.len : 0));
30731 		T27_ = NIM_NIL;
30732 		T27_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_658), T26_, 2);
30733 		liMessage__msgs_1118((*(*c).graph).config, (*result).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T27_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_659, NIM_FALSE);
30734 	}
30735 	LA24_: ;
30736 	{
30737 		NI i_3;
30738 		NI colontmp__2;
30739 		NI i_4;
30740 		i_3 = (NI)0;
30741 		colontmp__2 = (NI)0;
30742 		colontmp__2 = len__ast_3198(result);
30743 		i_4 = ((NI) 1);
30744 		{
30745 			while (1) {
30746 				if (!(i_4 < colontmp__2)) goto LA30;
30747 				i_3 = i_4;
30748 				{
30749 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
30750 					field = (*result)._kind_6.sons->data[i_3];
30751 					{
30752 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* id;
30753 						NimStringDesc* msg;
30754 						NimStringDesc* T48_;
30755 						NimStringDesc* T49_;
30756 						NimStringDesc* T50_;
30757 						if (!!((((*field).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0))) goto LA34_;
30758 						{
30759 							if (!!(((*field).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA38_;
30760 							invalidObjConstr__sem_19105(c, field);
30761 							hasError = NIM_TRUE;
30762 							goto LA31;
30763 						}
30764 						LA38_: ;
30765 						id = considerQuotedIdent__lookups_28(c, (*field)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
30766 						{
30767 							NI j;
30768 							NI i_5;
30769 							j = (NI)0;
30770 							i_5 = ((NI) 1);
30771 							{
30772 								while (1) {
30773 									tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* prevId;
30774 									if (!(i_5 < i_3)) goto LA42;
30775 									j = i_5;
30776 									prevId = considerQuotedIdent__lookups_28(c, (*(*result)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
30777 									{
30778 										NimStringDesc* T47_;
30779 										if (!((*prevId).id == (*id).id)) goto LA45_;
30780 										T47_ = NIM_NIL;
30781 										T47_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_660), (*id).s);
30782 										liMessage__msgs_1118((*(*c).graph).config, (*field).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T47_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_661, NIM_FALSE);
30783 										hasError = NIM_TRUE;
30784 										goto LA40;
30785 									}
30786 									LA45_: ;
30787 									i_5 += ((NI) 1);
30788 								} LA42: ;
30789 							}
30790 						} LA40: ;
30791 						T48_ = NIM_NIL;
30792 						T49_ = NIM_NIL;
30793 						T49_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_416), (*id).s);
30794 						T50_ = NIM_NIL;
30795 						T50_ = getProcHeader__types_222((*(*c).graph).config, (*t).sym, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
30796 						T48_ = rawNewString((T49_ ? T49_->Sup.len : 0) + (T50_ ? T50_->Sup.len : 0) + 10);
30797 appendString(T48_, T49_);
30798 appendString(T48_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_414));
30799 appendString(T48_, T50_);
30800 						msg = T48_;
30801 						liMessage__msgs_1118((*(*c).graph).config, (*field).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), msg, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_662, NIM_FALSE);
30802 						hasError = NIM_TRUE;
30803 						goto LA28;
30804 					}
30805 					LA34_: ;
30806 				} LA31: ;
30807 				i_4 += ((NI) 1);
30808 			} LA30: ;
30809 		}
30810 	} LA28: ;
30811 	{
30812 		if (!(initResult == ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 1))) goto LA53_;
30813 		(*result).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 1)) & 31);
30814 	}
30815 	LA53_: ;
30816 	{
30817 		if (!hasError) goto LA57_;
30818 		result = errorNode__semdata_1009(c, result);
30819 	}
30820 	LA57_: ;
30821 	}BeforeRet_: ;
30822 	return result;
30823 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semDefined__sem_18104)30824 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDefined__sem_18104)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
30825 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
30826 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
30827 	NIM_BOOL T2_;
30828 	result = NIM_NIL;
30829 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
30830 	result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(0));
30831 	T1_ = NIM_NIL;
30832 	T1_ = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 1)], n);
30833 	T2_ = (NIM_BOOL)0;
30834 	T2_ = isDefined__options_2279((*(*c).graph).config, (*T1_).s);
30835 	(*result)._kind_1.intVal = ((NI64) (T2_));
30836 	(*result).info = (*n).info;
30837 	asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
30838 	return result;
30839 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,setMs__sem_18539)30840 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, setMs__sem_18539)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
30841 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
30842 	result = NIM_NIL;
30843 	result = n;
30844 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(s));
30845 	(*(*n)._kind_6.sons->data[((NI) 0)]).info = (*n).info;
30846 	return result;
30847 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,lookUpForDeclared__sem_18112)30848 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookUpForDeclared__sem_18112)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL onlyCurrentScope) {
30849 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
30850 {	result = NIM_NIL;
30851 	switch ((*n).kind) {
30852 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
30853 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
30854 	{
30855 		NIM_BOOL amb;
30856 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
30857 		amb = NIM_FALSE;
30858 		ident = considerQuotedIdent__lookups_28(c, n, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
30859 		{
30860 			if (!onlyCurrentScope) goto LA4_;
30861 			result = localSearchInScope__lookups_142(c, ident);
30862 		}
30863 		goto LA2_;
30864 		LA4_: ;
30865 		{
30866 			result = searchInScopes__lookups_423(c, ident, (&amb));
30867 		}
30868 		LA2_: ;
30869 	}
30870 	break;
30871 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
30872 	{
30873 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
30874 		result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
30875 		{
30876 			if (!onlyCurrentScope) goto LA10_;
30877 			goto BeforeRet_;
30878 		}
30879 		LA10_: ;
30880 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
30881 		m = lookUpForDeclared__sem_18112(c, (*n)._kind_6.sons->data[((NI) 0)], onlyCurrentScope);
30882 		{
30883 			NIM_BOOL T14_;
30884 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident_2;
30885 			T14_ = (NIM_BOOL)0;
30886 			T14_ = !((m == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
30887 			if (!(T14_)) goto LA15_;
30888 			T14_ = ((*m).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6));
30889 			LA15_: ;
30890 			if (!T14_) goto LA16_;
30891 			ident_2 = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 1)], n);
30892 			{
30893 				if (!(m == (*c).module)) goto LA20_;
30894 				result = strTableGet__astalgo_3390((*(*c).topLevelScope).symbols, ident_2);
30895 			}
30896 			goto LA18_;
30897 			LA20_: ;
30898 			{
30899 				result = someSym__modulegraphs_2817((*c).graph, m, ident_2);
30900 			}
30901 			LA18_: ;
30902 		}
30903 		LA16_: ;
30904 	}
30905 	break;
30906 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
30907 	{
30908 		result = (*n)._kind_4.sym;
30909 	}
30910 	break;
30911 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
30912 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
30913 	{
30914 		result = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
30915 	}
30916 	break;
30917 	default:
30918 	{
30919 		NimStringDesc* T26_;
30920 		NimStringDesc* T27_;
30921 		T26_ = NIM_NIL;
30922 		T27_ = NIM_NIL;
30923 		T27_ = renderTree__renderer_46(n, 0);
30924 		T26_ = rawNewString((T27_ ? T27_->Sup.len : 0) + 30);
30925 appendString(T26_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_663));
30926 appendString(T26_, T27_);
30927 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_664, NIM_FALSE);
30928 		result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
30929 	}
30930 	break;
30931 	}
30932 	}BeforeRet_: ;
30933 	return result;
30934 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semDeclared__sem_18136)30935 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDeclared__sem_18136)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL onlyCurrentScope) {
30936 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
30937 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T1_;
30938 	result = NIM_NIL;
30939 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
30940 	result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(0));
30941 	T1_ = NIM_NIL;
30942 	T1_ = lookUpForDeclared__sem_18112(c, (*n)._kind_6.sons->data[((NI) 1)], onlyCurrentScope);
30943 	(*result)._kind_1.intVal = ((NI64) (!((T1_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))));
30944 	(*result).info = (*n).info;
30945 	asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
30946 	return result;
30947 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,tryExpr__sem_104)30948 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryExpr__sem_104)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
30949 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* volatile result;
30950 	NI oldErrorCount;
30951 	NI oldErrorMax;
30952 	NI oldCompilesId;
30953 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* oldScope;
30954 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T5_;
30955 	NI oldOwnerLen;
30956 	NI T6_;
30957 	tySequence__jWKvSdankQPoT5bw9cBU9aiw* oldGenerics;
30958 	tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA oldErrorOutputs;
30959 	NI oldContextLen;
30960 	NI oldInGenericContext;
30961 	NI oldInUnrolledContext;
30962 	NI oldInGenericInst;
30963 	NI oldInStaticContext;
30964 	tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* oldProcCon;
30965 	NimStringDesc* err;
30966 	TSafePoint TM__rF9caJawfOjYTjsgLVUSGFA_665;
30967 	result = NIM_NIL;
30968 	oldErrorCount = (*(*(*c).graph).config).errorCounter;
30969 	oldErrorMax = (*(*(*c).graph).config).errorMax;
30970 	oldCompilesId = (*c).compilesContextId;
30971 	{
30972 		if (!((*c).compilesContextId == ((NI) 0))) goto LA3_;
30973 		(*c).compilesContextIdGenerator += ((NI) 1);
30974 		(*c).compilesContextId = (*c).compilesContextIdGenerator;
30975 	}
30976 	LA3_: ;
30977 	(*(*(*c).graph).config).errorMax = ((NI) IL64(9223372036854775807));
30978 	oldScope = (*c).currentScope;
30979 	T5_ = NIM_NIL;
30980 	T5_ = openScope__lookups_69(c);
30981 	T6_ = ((*(*c).graph).owners ? (*(*c).graph).owners->Sup.len : 0);
30982 	oldOwnerLen = T6_;
30983 	oldGenerics = (*c).generics;
30984 	oldErrorOutputs = (*(*(*c).graph).config).m.errorOutputs;
30985 	{
30986 		if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0))) goto LA9_;
30987 		(*(*(*c).graph).config).m.errorOutputs = 0;
30988 	}
30989 	LA9_: ;
30990 	oldContextLen = getInfoContextLen__msgs_476((*(*c).graph).config);
30991 	oldInGenericContext = (*c).inGenericContext;
30992 	oldInUnrolledContext = (*c).inUnrolledContext;
30993 	oldInGenericInst = (*c).inGenericInst;
30994 	oldInStaticContext = (*c).inStaticContext;
30995 	oldProcCon = (*c).p;
30996 	if ((*c).generics) { nimGCunrefRC1((*c).generics); (*c).generics = NIM_NIL; }
30997 	err = NIM_NIL;
30998 	pushSafePoint(&TM__rF9caJawfOjYTjsgLVUSGFA_665);
30999 	TM__rF9caJawfOjYTjsgLVUSGFA_665.status = _setjmp(TM__rF9caJawfOjYTjsgLVUSGFA_665.context);
31000 	if (TM__rF9caJawfOjYTjsgLVUSGFA_665.status == 0) {
31001 	result = semExpr__sem_52(c, n, flags);
31002 	{
31003 		NIM_BOOL T13_;
31004 		T13_ = (NIM_BOOL)0;
31005 		T13_ = !((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
31006 		if (!(T13_)) goto LA14_;
31007 		T13_ = !(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 17))&31U)))!=0));
31008 		LA14_: ;
31009 		if (!T13_) goto LA15_;
31010 		trackStmt__sempass50_4915(c, (*c).module, result, NIM_FALSE);
31011 	}
31012 	LA15_: ;
31013 	{
31014 		if (!!(((*(*(*c).graph).config).errorCounter == oldErrorCount))) goto LA19_;
31015 		result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
31016 	}
31017 	LA19_: ;
31018 	popSafePoint();
31019 	}
31020 	else {
31021 		popSafePoint();
31022 		if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIerecoverableerror__IxbcvonC7TQkv166Uvdu1g_))) {
31023 			TM__rF9caJawfOjYTjsgLVUSGFA_665.status = 0;
31024 			popCurrentException();
31025 		}
31026 	}
31027 	if (TM__rF9caJawfOjYTjsgLVUSGFA_665.status != 0) reraiseException();
31028 	(*c).compilesContextId = oldCompilesId;
31029 	genericSeqAssign((&(*c).generics), oldGenerics, (&NTIseqLtinstantiationpairT__jWKvSdankQPoT5bw9cBU9aiw_));
31030 	(*c).inGenericContext = oldInGenericContext;
31031 	(*c).inUnrolledContext = oldInUnrolledContext;
31032 	(*c).inGenericInst = oldInGenericInst;
31033 	(*c).inStaticContext = oldInStaticContext;
31034 	asgnRef((void**) (&(*c).p), oldProcCon);
31035 	setInfoContextLen__msgs_483((*(*c).graph).config, oldContextLen);
31036 	asgnRef((void**) (&(*(*c).graph).owners), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) setLengthSeqV2(&((*(*c).graph).owners)->Sup, (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_), ((NI) (oldOwnerLen))));
31037 	asgnRef((void**) (&(*c).currentScope), oldScope);
31038 	(*(*(*c).graph).config).m.errorOutputs = oldErrorOutputs;
31039 	(*(*(*c).graph).config).errorCounter = oldErrorCount;
31040 	(*(*(*c).graph).config).errorMax = oldErrorMax;
31041 	return result;
31042 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semCompiles__sem_18476)31043 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semCompiles__sem_18476)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
31044 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31045 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
31046 {	result = NIM_NIL;
31047 	{
31048 		NI T3_;
31049 		T3_ = (NI)0;
31050 		T3_ = len__ast_3198(n);
31051 		if (!!((T3_ == ((NI) 2)))) goto LA4_;
31052 		result = semDirectOp__sem_511(c, n, flags);
31053 		goto BeforeRet_;
31054 	}
31055 	LA4_: ;
31056 	T6_ = NIM_NIL;
31057 	T6_ = tryExpr__sem_104(c, (*n)._kind_6.sons->data[((NI) 1)], flags);
31058 	result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (!((T6_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))))));
31059 	(*result).info = (*n).info;
31060 	asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
31061 	}BeforeRet_: ;
31062 	return result;
31063 }
N_NIMCALL(void,fixupStaticType__sem_14592)31064 N_LIB_PRIVATE N_NIMCALL(void, fixupStaticType__sem_14592)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31065 	{
31066 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T5_;
31067 		tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T6_;
31068 		if (!!(((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60)))) goto LA3_;
31069 		T5_ = NIM_NIL;
31070 		T5_ = getCurrOwner__semdata_315(c);
31071 		T6_ = NIM_NIL;
31072 		T6_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
31073 		asgnRef((void**) (&T6_->data[0]), (*n).typ);
31074 		asgnRef((void**) (&(*n).typ), newTypeWithSons__semdata_815(T5_, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), T6_, (*c).Sup.idgen));
31075 		asgnRef((void**) (&(*(*n).typ).n), n);
31076 	}
31077 	LA3_: ;
31078 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,isOpImpl__sem_14603)31079 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, isOpImpl__sem_14603)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
31080 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31081 	NIM_BOOL res;
31082 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t1;
31083 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t2;
31084 	result = NIM_NIL;
31085 	{
31086 		NIM_BOOL T3_;
31087 		NIM_BOOL T4_;
31088 		NI T5_;
31089 		NimStringDesc* argX60gensym3791_;
31090 		T3_ = (NIM_BOOL)0;
31091 		T4_ = (NIM_BOOL)0;
31092 		T5_ = (NI)0;
31093 		T5_ = len__ast_3198(n);
31094 		T4_ = (T5_ == ((NI) 3));
31095 		if (!(T4_)) goto LA6_;
31096 		T4_ = !(((*(*n)._kind_6.sons->data[((NI) 1)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
31097 		LA6_: ;
31098 		T3_ = T4_;
31099 		if (!(T3_)) goto LA7_;
31100 		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));
31101 		LA7_: ;
31102 		if (!!(T3_)) goto LA8_;
31103 		argX60gensym3791_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_668);
31104 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym3791_, TM__rF9caJawfOjYTjsgLVUSGFA_668);
31105 	}
31106 	LA8_: ;
31107 	res = NIM_FALSE;
31108 	t1 = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
31109 	t2 = (*(*n)._kind_6.sons->data[((NI) 2)]).typ;
31110 	{
31111 		NIM_BOOL T12_;
31112 		T12_ = (NIM_BOOL)0;
31113 		T12_ = ((*t1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
31114 		if (!(T12_)) goto LA13_;
31115 		T12_ = !(((*t2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)));
31116 		LA13_: ;
31117 		if (!T12_) goto LA14_;
31118 		t1 = base__types_63(t1);
31119 	}
31120 	LA14_: ;
31121 	{
31122 		NimStringDesc* T20_;
31123 		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_;
31124 		T20_ = NIM_NIL;
31125 		T20_ = nsuNormalize((*(*n)._kind_6.sons->data[((NI) 2)])._kind_3.strVal);
31126 		if (eqStrings(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_669))) goto LA21_;
31127 		if (eqStrings(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_670))) goto LA22_;
31128 		goto LA23_;
31129 		LA21_: ;
31130 		{
31131 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
31132 			NIM_BOOL T26_;
31133 			t = skipTypes__ast_3735(t1, TM__rF9caJawfOjYTjsgLVUSGFA_472);
31134 			T26_ = (NIM_BOOL)0;
31135 			T26_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
31136 			if (!(T26_)) goto LA27_;
31137 			T26_ = ((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
31138 			LA27_: ;
31139 			res = T26_;
31140 		}
31141 		goto LA24_;
31142 		LA22_: ;
31143 		{
31144 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
31145 			NIM_BOOL T29_;
31146 			NIM_BOOL T30_;
31147 			t_2 = skipTypes__ast_3735(t1, TM__rF9caJawfOjYTjsgLVUSGFA_472);
31148 			T29_ = (NIM_BOOL)0;
31149 			T30_ = (NIM_BOOL)0;
31150 			T30_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
31151 			if (!(T30_)) goto LA31_;
31152 			T30_ = ((*t_2).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
31153 			LA31_: ;
31154 			T29_ = T30_;
31155 			if (!(T29_)) goto LA32_;
31156 			T29_ = (((*t_2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15))&63U)))!=0);
31157 			LA32_: ;
31158 			res = T29_;
31159 		}
31160 		goto LA24_;
31161 		LA23_: ;
31162 		{
31163 			res = NIM_FALSE;
31164 		}
31165 		LA24_: ;
31166 	}
31167 	goto LA16_;
31168 	LA18_: ;
31169 	{
31170 		tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
31171 		tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T45_;
31172 		{
31173 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T37_;
31174 			T37_ = NIM_NIL;
31175 			T37_ = skipTypes__ast_3735(t1, TM__rF9caJawfOjYTjsgLVUSGFA_85);
31176 			if (!!(((*T37_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10)))) goto LA38_;
31177 			maybeLiftType__sem_14373(&t2, c, (*n).info);
31178 		}
31179 		goto LA35_;
31180 		LA38_: ;
31181 		{
31182 		}
31183 		LA35_: ;
31184 		nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
31185 		newCandidate__sigmatch_195(c, t2, (&m));
31186 		{
31187 			if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0)) goto LA43_;
31188 			m.diagnostics = NIM_NIL;
31189 			m.diagnosticsEnabled = NIM_TRUE;
31190 		}
31191 		LA43_: ;
31192 		T45_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
31193 		T45_ = typeRel__sigmatch_202((&m), t2, t1, 0);
31194 		res = (((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3) <= T45_);
31195 	}
31196 	LA16_: ;
31197 	result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (res)));
31198 	asgnRef((void**) (&(*result).typ), (*n).typ);
31199 	return result;
31200 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semIs__sem_14686)31201 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIs__sem_14686)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
31202 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31203 	tyObject_TType__facALICuu8zUj0hjvbTLFg* boolType;
31204 	NIM_BOOL liftLhs;
31205 	tyObject_TType__facALICuu8zUj0hjvbTLFg* lhsType;
31206 {	result = NIM_NIL;
31207 	{
31208 		NI T3_;
31209 		T3_ = (NI)0;
31210 		T3_ = len__ast_3198(n);
31211 		if (!!((T3_ == ((NI) 3)))) goto LA4_;
31212 		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);
31213 	}
31214 	LA4_: ;
31215 	boolType = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
31216 	result = n;
31217 	asgnRef((void**) (&(*n).typ), boolType);
31218 	liftLhs = NIM_TRUE;
31219 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 514));
31220 	{
31221 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t2;
31222 		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_;
31223 		t2 = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 2)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
31224 		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));
31225 		{
31226 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated;
31227 			if (!((*t2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA12_;
31228 			evaluated = tryConstExpr__sem_582(c, (*n)._kind_6.sons->data[((NI) 1)]);
31229 			{
31230 				if (!!((evaluated == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA16_;
31231 				fixupStaticType__sem_14592(c, evaluated);
31232 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), evaluated);
31233 			}
31234 			goto LA14_;
31235 			LA16_: ;
31236 			{
31237 				result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(0));
31238 				asgnRef((void**) (&(*result).typ), boolType);
31239 				goto BeforeRet_;
31240 			}
31241 			LA14_: ;
31242 		}
31243 		goto LA10_;
31244 		LA12_: ;
31245 		{
31246 			NIM_BOOL T20_;
31247 			NIM_BOOL T22_;
31248 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T23_;
31249 			T20_ = (NIM_BOOL)0;
31250 			T20_ = ((*t2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
31251 			if (!(T20_)) goto LA21_;
31252 			T22_ = (NIM_BOOL)0;
31253 			T23_ = NIM_NIL;
31254 			T23_ = base__types_63(t2);
31255 			T22_ = ((*T23_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0));
31256 			if (T22_) goto LA24_;
31257 			T22_ = (((*t2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 29))&63U)))!=0);
31258 			LA24_: ;
31259 			T20_ = T22_;
31260 			LA21_: ;
31261 			if (!T20_) goto LA25_;
31262 			liftLhs = NIM_FALSE;
31263 		}
31264 		goto LA10_;
31265 		LA25_: ;
31266 		LA10_: ;
31267 	}
31268 	goto LA6_;
31269 	LA8_: ;
31270 	{
31271 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 2)], 0));
31272 	}
31273 	LA6_: ;
31274 	lhsType = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
31275 	{
31276 		if (!!(((*lhsType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA30_;
31277 		{
31278 			if (!liftLhs) goto LA34_;
31279 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), makeTypeSymNode__semdata_785(c, lhsType, (*(*n)._kind_6.sons->data[((NI) 1)]).info));
31280 			lhsType = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
31281 		}
31282 		LA34_: ;
31283 	}
31284 	goto LA28_;
31285 	LA30_: ;
31286 	{
31287 		{
31288 			NIM_BOOL T39_;
31289 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T40_;
31290 			NIM_BOOL T42_;
31291 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T44_;
31292 			T39_ = (NIM_BOOL)0;
31293 			T40_ = NIM_NIL;
31294 			T40_ = base__types_63(lhsType);
31295 			T39_ = ((*T40_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0));
31296 			if (T39_) goto LA41_;
31297 			T42_ = (NIM_BOOL)0;
31298 			T42_ = (((NI) 0) < (*c).inGenericContext);
31299 			if (!(T42_)) goto LA43_;
31300 			T44_ = NIM_NIL;
31301 			T44_ = base__types_63(lhsType);
31302 			T42_ = containsGenericType__types_3360(T44_);
31303 			LA43_: ;
31304 			T39_ = T42_;
31305 			LA41_: ;
31306 			if (!T39_) goto LA45_;
31307 			goto BeforeRet_;
31308 		}
31309 		LA45_: ;
31310 	}
31311 	LA28_: ;
31312 	result = isOpImpl__sem_14603(c, n, flags);
31313 	}BeforeRet_: ;
31314 	return result;
31315 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExpandToAst__sem_18180)31316 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExpandToAst__sem_18180)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31317 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31318 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* macroCall;
31319 	result = NIM_NIL;
31320 	macroCall = (*n)._kind_6.sons->data[((NI) 1)];
31321 	{
31322 		NIM_BOOL T3_;
31323 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* headSymbol;
31324 		NI cands;
31325 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* cand;
31326 		tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
31327 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symx;
31328 		T3_ = (NIM_BOOL)0;
31329 		T3_ = isCallExpr__ast_3176(macroCall);
31330 		if (!T3_) goto LA4_;
31331 		{
31332 			NI i;
31333 			NI colontmp_;
31334 			NI i_2;
31335 			i = (NI)0;
31336 			colontmp_ = (NI)0;
31337 			colontmp_ = len__ast_3198(macroCall);
31338 			i_2 = ((NI) 1);
31339 			{
31340 				while (1) {
31341 					if (!(i_2 < colontmp_)) goto LA8;
31342 					i = i_2;
31343 					asgnRef((void**) (&(*macroCall)._kind_6.sons->data[i]), semExprWithType__sem_56(c, (*macroCall)._kind_6.sons->data[i], 0));
31344 					i_2 += ((NI) 1);
31345 				} LA8: ;
31346 			}
31347 		}
31348 		headSymbol = (*macroCall)._kind_6.sons->data[((NI) 0)];
31349 		cands = ((NI) 0);
31350 		cand = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
31351 		nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
31352 		symx = initOverloadIter__lookups_1374((&o), c, headSymbol);
31353 		{
31354 			while (1) {
31355 				if (!!((symx == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA10;
31356 				{
31357 					NIM_BOOL T13_;
31358 					NI T15_;
31359 					NI T16_;
31360 					T13_ = (NIM_BOOL)0;
31361 					T13_ = ((393216 &((NU32)1<<((NU)((*symx).kind)&31U)))!=0);
31362 					if (!(T13_)) goto LA14_;
31363 					T15_ = (NI)0;
31364 					T15_ = len__ast_4002((*symx).typ);
31365 					T16_ = (NI)0;
31366 					T16_ = len__ast_3198(macroCall);
31367 					T13_ = (T15_ == T16_);
31368 					LA14_: ;
31369 					if (!T13_) goto LA17_;
31370 					cand = symx;
31371 					cands += ((NI) 1);
31372 				}
31373 				LA17_: ;
31374 				symx = nextOverloadIter__lookups_1528((&o), c, headSymbol);
31375 			} LA10: ;
31376 		}
31377 		{
31378 			NimStringDesc* T23_;
31379 			NI T24_;
31380 			NimStringDesc* T25_;
31381 			if (!(cands == ((NI) 0))) goto LA21_;
31382 			T23_ = NIM_NIL;
31383 			T24_ = (NI)0;
31384 			T24_ = len__ast_3198(macroCall);
31385 			T25_ = NIM_NIL;
31386 			T25_ = dollar___systemZdollars_3((NI)(T24_ - ((NI) 1)));
31387 			T23_ = rawNewString((T25_ ? T25_->Sup.len : 0) + 41);
31388 appendString(T23_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_671));
31389 appendString(T23_, T25_);
31390 appendString(T23_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_672));
31391 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T23_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_673, NIM_FALSE);
31392 		}
31393 		goto LA19_;
31394 		LA21_: ;
31395 		{
31396 			NimStringDesc* T29_;
31397 			NimStringDesc* T30_;
31398 			if (!(((NI) 2) <= cands)) goto LA27_;
31399 			T29_ = NIM_NIL;
31400 			T30_ = NIM_NIL;
31401 			T30_ = dollar___renderer_2106(macroCall);
31402 			T29_ = rawNewString((T30_ ? T30_->Sup.len : 0) + 38);
31403 appendString(T29_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_674));
31404 appendString(T29_, T30_);
31405 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T29_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_675, NIM_FALSE);
31406 		}
31407 		goto LA19_;
31408 		LA27_: ;
31409 		{
31410 			tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
31411 			info = (*(*macroCall)._kind_6.sons->data[((NI) 0)]).info;
31412 			asgnRef((void**) (&(*macroCall)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(cand, info));
31413 			markUsed__sigmatch_85(c, info, cand);
31414 		}
31415 		LA19_: ;
31416 	}
31417 	goto LA1_;
31418 	LA4_: ;
31419 	{
31420 		NimStringDesc* T33_;
31421 		NimStringDesc* T34_;
31422 		T33_ = NIM_NIL;
31423 		T34_ = NIM_NIL;
31424 		T34_ = renderTree__renderer_46(n, 0);
31425 		T33_ = rawNewString((T34_ ? T34_->Sup.len : 0) + 29);
31426 appendString(T33_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_676));
31427 appendString(T33_, T34_);
31428 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T33_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_677, NIM_FALSE);
31429 	}
31430 	LA1_: ;
31431 	{
31432 		NimStringDesc* argX60gensym4816_;
31433 		if (!!(((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 27)))) goto LA37_;
31434 		argX60gensym4816_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_678);
31435 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym4816_, TM__rF9caJawfOjYTjsgLVUSGFA_678);
31436 	}
31437 	LA37_: ;
31438 	{
31439 		NIM_BOOL T41_;
31440 		NI T43_;
31441 		T41_ = (NIM_BOOL)0;
31442 		T41_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
31443 		if (!(T41_)) goto LA42_;
31444 		T43_ = (NI)0;
31445 		T43_ = len__ast_3198(n);
31446 		T41_ = (T43_ == ((NI) 1));
31447 		LA42_: ;
31448 		if (!T41_) goto LA44_;
31449 		result = (*n)._kind_6.sons->data[((NI) 0)];
31450 	}
31451 	goto LA39_;
31452 	LA44_: ;
31453 	{
31454 		result = n;
31455 	}
31456 	LA39_: ;
31457 	asgnRef((void**) (&(*result).typ), sysTypeFromName__magicsys_55((*c).graph, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_99)));
31458 	return result;
31459 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExpandToAst__sem_18243)31460 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) {
31461 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31462 	result = NIM_NIL;
31463 	{
31464 		NI T3_;
31465 		T3_ = (NI)0;
31466 		T3_ = len__ast_3198(n);
31467 		if (!(T3_ == ((NI) 2))) goto LA4_;
31468 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(magicSym, (*n).info));
31469 		result = semExpandToAst__sem_18180(c, n);
31470 	}
31471 	goto LA1_;
31472 	LA4_: ;
31473 	{
31474 		result = semDirectOp__sem_511(c, n, flags);
31475 	}
31476 	LA1_: ;
31477 	return result;
31478 }
N_NIMCALL(NimStringDesc *,expectString__sem_18166)31479 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, expectString__sem_18166)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31480 	NimStringDesc* result;
31481 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
31482 {	result = NIM_NIL;
31483 	n_2 = semConstExpr__sem_611(c, n);
31484 	{
31485 		if (!((*n_2).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*n_2).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22))) goto LA3_;
31486 		result = copyString((*n_2)._kind_3.strVal);
31487 		goto BeforeRet_;
31488 	}
31489 	goto LA1_;
31490 	LA3_: ;
31491 	{
31492 		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);
31493 	}
31494 	LA1_: ;
31495 	}BeforeRet_: ;
31496 	return result;
31497 }
N_NIMCALL(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ *,newSeq__sem_18374)31498 N_LIB_PRIVATE N_NIMCALL(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*, newSeq__sem_18374)(NI len) {
31499 	tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* result;
31500 	result = NIM_NIL;
31501 	result = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), len);
31502 	return result;
31503 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,newAnonSym__sem_18175)31504 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newAnonSym__sem_18175)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
31505 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
31506 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
31507 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
31508 	result = NIM_NIL;
31509 	T1_ = nextSymId__ast_3132((*c).Sup.idgen);
31510 	T2_ = NIM_NIL;
31511 	T2_ = getCurrOwner__semdata_315(c);
31512 	result = newSym__ast_3445(kind, (*(*c).cache).idAnon, T1_, T2_, info, 0);
31513 	return result;
31514 }
N_NIMCALL(void,processQuotations__sem_18253)31515 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) {
31516 {	{
31517 		if (!((*(*n)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30))) goto LA3_;
31518 		checkSonsLen__semdata_1077((*n), ((NI) 2), (*(*c).graph).config);
31519 		{
31520 			NimStringDesc* examinedOpX60gensym4821_;
31521 			if (!((*(*(*n))._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA7_;
31522 			examinedOpX60gensym4821_ = (*(*(*(*n))._kind_6.sons->data[((NI) 0)])._kind_5.ident).s;
31523 			{
31524 				NI T13_;
31525 				NI T14_;
31526 				NimStringDesc* T15_;
31527 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T16_;
31528 				NI T17_;
31529 				if (!eqStrings(examinedOpX60gensym4821_, op)) goto LA11_;
31530 				unsureAsgnRef((void**) (&(*quotes)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*quotes)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
31531 				T13_ = (*quotes)->Sup.len++;
31532 				asgnRef((void**) (&(*quotes)->data[T13_]), (*(*n))._kind_6.sons->data[((NI) 1)]);
31533 				T14_ = ((*quotes) ? (*quotes)->Sup.len : 0);
31534 				T15_ = NIM_NIL;
31535 				T15_ = dollar___systemZdollars_3(T14_);
31536 				T16_ = NIM_NIL;
31537 				T16_ = getIdent__idents_143((*c).cache, T15_);
31538 				unsureAsgnRef((void**) (&(*n)), newIdentNode__ast_3712(T16_, (*(*n)).info));
31539 				unsureAsgnRef((void**) (&(*ids)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ids)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
31540 				T17_ = (*ids)->Sup.len++;
31541 				asgnRef((void**) (&(*ids)->data[T17_]), (*n));
31542 				goto BeforeRet_;
31543 			}
31544 			goto LA9_;
31545 			LA11_: ;
31546 			{
31547 				NIM_BOOL T19_;
31548 				NimStringDesc* T22_;
31549 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T23_;
31550 				T19_ = (NIM_BOOL)0;
31551 				T19_ = nsuStartsWith(examinedOpX60gensym4821_, op);
31552 				if (!T19_) goto LA20_;
31553 				T22_ = NIM_NIL;
31554 				T22_ = substr__system_7756(examinedOpX60gensym4821_, (op ? op->Sup.len : 0));
31555 				T23_ = NIM_NIL;
31556 				T23_ = getIdent__idents_143((*c).cache, T22_);
31557 				asgnRef((void**) (&(*(*n))._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(T23_, (*(*n)).info));
31558 			}
31559 			goto LA9_;
31560 			LA20_: ;
31561 			LA9_: ;
31562 		}
31563 		LA7_: ;
31564 	}
31565 	goto LA1_;
31566 	LA3_: ;
31567 	{
31568 		if (!((*(*n)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53))) goto LA25_;
31569 		{
31570 			NI T31_;
31571 			NI T32_;
31572 			NimStringDesc* T33_;
31573 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T34_;
31574 			NI T35_;
31575 			if (!eqStrings(op, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_682))) goto LA29_;
31576 			unsureAsgnRef((void**) (&(*quotes)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*quotes)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
31577 			T31_ = (*quotes)->Sup.len++;
31578 			asgnRef((void**) (&(*quotes)->data[T31_]), (*(*n))._kind_6.sons->data[((NI) 0)]);
31579 			T32_ = ((*quotes) ? (*quotes)->Sup.len : 0);
31580 			T33_ = NIM_NIL;
31581 			T33_ = dollar___systemZdollars_3(T32_);
31582 			T34_ = NIM_NIL;
31583 			T34_ = getIdent__idents_143((*c).cache, T33_);
31584 			unsureAsgnRef((void**) (&(*n)), newIdentNode__ast_3712(T34_, (*(*n)).info));
31585 			unsureAsgnRef((void**) (&(*ids)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ids)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
31586 			T35_ = (*ids)->Sup.len++;
31587 			asgnRef((void**) (&(*ids)->data[T35_]), (*n));
31588 			goto BeforeRet_;
31589 		}
31590 		goto LA27_;
31591 		LA29_: ;
31592 		{
31593 			{
31594 				NIM_BOOL T39_;
31595 				NI T40_;
31596 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tempNode;
31597 				tyArray__cypz0nHJsd9cnKgpO7fP5hQ T44_;
31598 				T39_ = (NIM_BOOL)0;
31599 				T40_ = (NI)0;
31600 				T40_ = len__ast_3198((*n));
31601 				T39_ = (T40_ == ((NI) 2));
31602 				if (!(T39_)) goto LA41_;
31603 				T39_ = eqStrings((*(*(*(*n))._kind_6.sons->data[((NI) 0)])._kind_5.ident).s, op);
31604 				LA41_: ;
31605 				if (!T39_) goto LA42_;
31606 				nimZeroMem((void*)T44_, sizeof(tyArray__cypz0nHJsd9cnKgpO7fP5hQ));
31607 				tempNode = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30), T44_, 0);
31608 				newSons__semtypinst_404(tempNode, ((NI) 2));
31609 				asgnRef((void**) (&(*tempNode)._kind_6.sons->data[((NI) 0)]), (*(*n))._kind_6.sons->data[((NI) 0)]);
31610 				asgnRef((void**) (&(*tempNode)._kind_6.sons->data[((NI) 1)]), (*(*n))._kind_6.sons->data[((NI) 1)]);
31611 				{
31612 					NimStringDesc* examinedOpX60gensym4834_;
31613 					if (!((*(*tempNode)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA47_;
31614 					examinedOpX60gensym4834_ = (*(*(*tempNode)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s;
31615 					{
31616 						NI T53_;
31617 						NI T54_;
31618 						NimStringDesc* T55_;
31619 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T56_;
31620 						NI T57_;
31621 						if (!eqStrings(examinedOpX60gensym4834_, op)) goto LA51_;
31622 						unsureAsgnRef((void**) (&(*quotes)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*quotes)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
31623 						T53_ = (*quotes)->Sup.len++;
31624 						asgnRef((void**) (&(*quotes)->data[T53_]), (*tempNode)._kind_6.sons->data[((NI) 1)]);
31625 						T54_ = ((*quotes) ? (*quotes)->Sup.len : 0);
31626 						T55_ = NIM_NIL;
31627 						T55_ = dollar___systemZdollars_3(T54_);
31628 						T56_ = NIM_NIL;
31629 						T56_ = getIdent__idents_143((*c).cache, T55_);
31630 						unsureAsgnRef((void**) (&(*n)), newIdentNode__ast_3712(T56_, (*(*n)).info));
31631 						unsureAsgnRef((void**) (&(*ids)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ids)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
31632 						T57_ = (*ids)->Sup.len++;
31633 						asgnRef((void**) (&(*ids)->data[T57_]), (*n));
31634 						goto BeforeRet_;
31635 					}
31636 					goto LA49_;
31637 					LA51_: ;
31638 					{
31639 						NIM_BOOL T59_;
31640 						NimStringDesc* T62_;
31641 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T63_;
31642 						T59_ = (NIM_BOOL)0;
31643 						T59_ = nsuStartsWith(examinedOpX60gensym4834_, op);
31644 						if (!T59_) goto LA60_;
31645 						T62_ = NIM_NIL;
31646 						T62_ = substr__system_7756(examinedOpX60gensym4834_, (op ? op->Sup.len : 0));
31647 						T63_ = NIM_NIL;
31648 						T63_ = getIdent__idents_143((*c).cache, T62_);
31649 						asgnRef((void**) (&(*tempNode)._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(T63_, (*tempNode).info));
31650 					}
31651 					goto LA49_;
31652 					LA60_: ;
31653 					LA49_: ;
31654 				}
31655 				LA47_: ;
31656 			}
31657 			LA42_: ;
31658 		}
31659 		LA27_: ;
31660 	}
31661 	goto LA1_;
31662 	LA25_: ;
31663 	{
31664 		if (!((*(*n)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA65_;
31665 		{
31666 			if (!eqStrings((*(*(*n))._kind_5.ident).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_102))) goto LA69_;
31667 			unsureAsgnRef((void**) (&(*n)), (*ids)->data[((NI) 0)]);
31668 		}
31669 		LA69_: ;
31670 	}
31671 	goto LA1_;
31672 	LA65_: ;
31673 	LA1_: ;
31674 	{
31675 		NI i;
31676 		NI colontmp_;
31677 		NI i_2;
31678 		i = (NI)0;
31679 		colontmp_ = (NI)0;
31680 		colontmp_ = safeLen__ast_3191((*n));
31681 		i_2 = ((NI) 0);
31682 		{
31683 			while (1) {
31684 				if (!(i_2 < colontmp_)) goto LA73;
31685 				i = i_2;
31686 				processQuotations__sem_18253(c, &(*(*n))._kind_6.sons->data[i], op, quotes, ids);
31687 				i_2 += ((NI) 1);
31688 			} LA73: ;
31689 		}
31690 	}
31691 	}BeforeRet_: ;
31692 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplBodyDirty__sem_7597)31693 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBodyDirty__sem_7597)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31694 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31695 {	result = NIM_NIL;
31696 	result = n;
31697 	switch ((*n).kind) {
31698 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
31699 	{
31700 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
31701 		s = qualifiedLookUp__lookups_1233((*c).c, n, 0);
31702 		{
31703 			if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA4_;
31704 			{
31705 				NIM_BOOL T8_;
31706 				T8_ = (NIM_BOOL)0;
31707 				T8_ = ((*s).owner == (*c).owner);
31708 				if (!(T8_)) goto LA9_;
31709 				T8_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
31710 				LA9_: ;
31711 				if (!T8_) goto LA10_;
31712 				result = newSymNode__ast_3719(s, (*n).info);
31713 			}
31714 			goto LA6_;
31715 			LA10_: ;
31716 			{
31717 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1845_;
31718 				NIM_BOOL T13_;
31719 				xX60gensym1845_ = s;
31720 				T13_ = (NIM_BOOL)0;
31721 				T13_ = contains__astalgo_3496((&(*c).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym1845_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1845_).Sup.itemId.item))));
31722 				if (!T13_) goto LA14_;
31723 				result = symChoice__sem_6586((*c).c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
31724 			}
31725 			goto LA6_;
31726 			LA14_: ;
31727 			LA6_: ;
31728 		}
31729 		LA4_: ;
31730 	}
31731 	break;
31732 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 55):
31733 	{
31734 		result = semTemplBodyDirty__sem_7597(c, (*n)._kind_6.sons->data[((NI) 0)]);
31735 	}
31736 	break;
31737 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
31738 	{
31739 		result = semBindStmt__sem_6647((*c).c, n, (&(*c).toBind));
31740 	}
31741 	break;
31742 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
31743 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
31744 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24):
31745 	{
31746 	}
31747 	break;
31748 	default:
31749 	{
31750 		{
31751 			NIM_BOOL T22_;
31752 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
31753 			T22_ = (NIM_BOOL)0;
31754 			T22_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45));
31755 			if (T22_) goto LA23_;
31756 			T22_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53));
31757 			LA23_: ;
31758 			if (!T22_) goto LA24_;
31759 			s_2 = qualifiedLookUp__lookups_1233((*c).c, n, 0);
31760 			{
31761 				NIM_BOOL T28_;
31762 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1848_;
31763 				T28_ = (NIM_BOOL)0;
31764 				T28_ = !((s_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
31765 				if (!(T28_)) goto LA29_;
31766 				xX60gensym1848_ = s_2;
31767 				T28_ = contains__astalgo_3496((&(*c).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym1848_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1848_).Sup.itemId.item))));
31768 				LA29_: ;
31769 				if (!T28_) goto LA30_;
31770 				result = symChoice__sem_6586((*c).c, n, s_2, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
31771 				goto BeforeRet_;
31772 			}
31773 			LA30_: ;
31774 		}
31775 		LA24_: ;
31776 		result = n;
31777 		{
31778 			NI i;
31779 			NI colontmp_;
31780 			NI i_2;
31781 			i = (NI)0;
31782 			colontmp_ = (NI)0;
31783 			colontmp_ = len__ast_3198(n);
31784 			i_2 = ((NI) 0);
31785 			{
31786 				while (1) {
31787 					if (!(i_2 < colontmp_)) goto LA34;
31788 					i = i_2;
31789 					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), semTemplBodyDirty__sem_7597(c, (*n)._kind_6.sons->data[i]));
31790 					i_2 += ((NI) 1);
31791 				} LA34: ;
31792 			}
31793 		}
31794 	}
31795 	break;
31796 	}
31797 	}BeforeRet_: ;
31798 	return result;
31799 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplSymbol__sem_6931)31800 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) {
31801 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31802 	result = NIM_NIL;
31803 	(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
31804 	markOwnerModuleAsUsed__sigmatch_89(c, s);
31805 	switch ((*s).kind) {
31806 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0):
31807 	{
31808 		result = n;
31809 	}
31810 	break;
31811 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6):
31812 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12) ... ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
31813 	{
31814 		result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 1), isField);
31815 	}
31816 	break;
31817 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4):
31818 	{
31819 		{
31820 			NIM_BOOL T6_;
31821 			T6_ = (NIM_BOOL)0;
31822 			T6_ = isField;
31823 			if (!(T6_)) goto LA7_;
31824 			T6_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
31825 			LA7_: ;
31826 			if (!T6_) goto LA8_;
31827 			result = n;
31828 		}
31829 		goto LA4_;
31830 		LA8_: ;
31831 		{
31832 			result = newSymNodeTypeDesc__semfold_835(s, (*c).Sup.idgen, (*n).info);
31833 		}
31834 		LA4_: ;
31835 	}
31836 	break;
31837 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
31838 	{
31839 		result = n;
31840 	}
31841 	break;
31842 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
31843 	{
31844 		{
31845 			NIM_BOOL T15_;
31846 			T15_ = (NIM_BOOL)0;
31847 			T15_ = isField;
31848 			if (!(T15_)) goto LA16_;
31849 			T15_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
31850 			LA16_: ;
31851 			if (!T15_) goto LA17_;
31852 			result = n;
31853 		}
31854 		goto LA13_;
31855 		LA17_: ;
31856 		{
31857 			result = newSymNodeTypeDesc__semfold_835(s, (*c).Sup.idgen, (*n).info);
31858 		}
31859 		LA13_: ;
31860 	}
31861 	break;
31862 	default:
31863 	{
31864 		{
31865 			NIM_BOOL T23_;
31866 			T23_ = (NIM_BOOL)0;
31867 			T23_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
31868 			if (!(T23_)) goto LA24_;
31869 			T23_ = (((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 15))&31U)))!=0);
31870 			LA24_: ;
31871 			if (!T23_) goto LA25_;
31872 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 1), isField);
31873 		}
31874 		goto LA21_;
31875 		LA25_: ;
31876 		{
31877 			NIM_BOOL T28_;
31878 			T28_ = (NIM_BOOL)0;
31879 			T28_ = isField;
31880 			if (!(T28_)) goto LA29_;
31881 			T28_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
31882 			LA29_: ;
31883 			if (!T28_) goto LA30_;
31884 			result = n;
31885 		}
31886 		goto LA21_;
31887 		LA30_: ;
31888 		{
31889 			result = newSymNode__ast_3719(s, (*n).info);
31890 		}
31891 		LA21_: ;
31892 		{
31893 			if (!!(((49152 & (*(*(*c).graph).config).globalOptions) == 0))) goto LA35_;
31894 			styleCheckUse__linter_192((*(*c).graph).config, (*n).info, s);
31895 		}
31896 		LA35_: ;
31897 	}
31898 	break;
31899 	}
31900 	return result;
31901 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplBodySons__sem_7133)31902 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBodySons__sem_7133)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31903 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31904 	result = NIM_NIL;
31905 	result = n;
31906 	{
31907 		NI i;
31908 		NI colontmp_;
31909 		NI i_2;
31910 		i = (NI)0;
31911 		colontmp_ = (NI)0;
31912 		colontmp_ = len__ast_3198(n);
31913 		i_2 = ((NI) 0);
31914 		{
31915 			while (1) {
31916 				if (!(i_2 < colontmp_)) goto LA3;
31917 				i = i_2;
31918 				asgnRef((void**) (&(*result)._kind_6.sons->data[i]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[i]));
31919 				i_2 += ((NI) 1);
31920 			} LA3: ;
31921 		}
31922 	}
31923 	return result;
31924 }
N_NIMCALL(void,openScope__sem_6791)31925 N_LIB_PRIVATE N_NIMCALL(void, openScope__sem_6791)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c) {
31926 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
31927 	T1_ = NIM_NIL;
31928 	T1_ = openScope__lookups_69((*c).c);
31929 }
N_NIMCALL(void,closeScope__sem_6793)31930 N_LIB_PRIVATE N_NIMCALL(void, closeScope__sem_6793)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c) {
31931 	closeScope__lookups_101((*c).c);
31932 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplBodyScope__sem_6795)31933 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBodyScope__sem_6795)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31934 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31935 	result = NIM_NIL;
31936 	openScope__sem_6791(c);
31937 	result = semTemplBody__sem_6788(c, n);
31938 	closeScope__sem_6793(c);
31939 	return result;
31940 }
N_NIMCALL(tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw,symBinding__sem_6547)31941 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw, symBinding__sem_6547)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31942 	tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw result;
31943 {	result = (tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw)0;
31944 	{
31945 		NI i;
31946 		NI colontmp_;
31947 		NI i_2;
31948 		i = (NI)0;
31949 		colontmp_ = (NI)0;
31950 		colontmp_ = len__ast_3198(n);
31951 		i_2 = ((NI) 0);
31952 		{
31953 			while (1) {
31954 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
31955 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key;
31956 				if (!(i_2 < colontmp_)) goto LA3;
31957 				i = i_2;
31958 				it = (*n)._kind_6.sons->data[i];
31959 				{
31960 					if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA6_;
31961 					key = (*it)._kind_6.sons->data[((NI) 0)];
31962 				}
31963 				goto LA4_;
31964 				LA6_: ;
31965 				{
31966 					key = it;
31967 				}
31968 				LA4_: ;
31969 				{
31970 					tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T13_;
31971 					if (!((*key).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA11_;
31972 					T13_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
31973 					T13_ = whichKeyword__idents_214((*key)._kind_5.ident);
31974 					switch (T13_) {
31975 					case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 209):
31976 					{
31977 						result = ((tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw) 1);
31978 						goto BeforeRet_;
31979 					}
31980 					break;
31981 					case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 210):
31982 					{
31983 						result = ((tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw) 2);
31984 						goto BeforeRet_;
31985 					}
31986 					break;
31987 					default:
31988 					{
31989 					}
31990 					break;
31991 					}
31992 				}
31993 				LA11_: ;
31994 				i_2 += ((NI) 1);
31995 			} LA3: ;
31996 		}
31997 	}
31998 	}BeforeRet_: ;
31999 	return result;
32000 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,onlyReplaceParams__sem_6799)32001 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, onlyReplaceParams__sem_6799)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
32002 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
32003 	result = NIM_NIL;
32004 	result = n;
32005 	{
32006 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
32007 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA3_;
32008 		s = qualifiedLookUp__lookups_1233((*c).c, n, 0);
32009 		{
32010 			if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA7_;
32011 			{
32012 				NIM_BOOL T11_;
32013 				T11_ = (NIM_BOOL)0;
32014 				T11_ = ((*s).owner == (*c).owner);
32015 				if (!(T11_)) goto LA12_;
32016 				T11_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
32017 				LA12_: ;
32018 				if (!T11_) goto LA13_;
32019 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
32020 				result = newSymNode__ast_3719(s, (*n).info);
32021 			}
32022 			LA13_: ;
32023 		}
32024 		LA7_: ;
32025 	}
32026 	goto LA1_;
32027 	LA3_: ;
32028 	{
32029 		{
32030 			NI i;
32031 			NI colontmp_;
32032 			NI i_2;
32033 			i = (NI)0;
32034 			colontmp_ = (NI)0;
32035 			colontmp_ = safeLen__ast_3191(n);
32036 			i_2 = ((NI) 0);
32037 			{
32038 				while (1) {
32039 					if (!(i_2 < colontmp_)) goto LA18;
32040 					i = i_2;
32041 					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), onlyReplaceParams__sem_6799(c, (*n)._kind_6.sons->data[i]));
32042 					i_2 += ((NI) 1);
32043 				} LA18: ;
32044 			}
32045 		}
32046 	}
32047 	LA1_: ;
32048 	return result;
32049 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getIdentNode__sem_6749)32050 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getIdentNode__sem_6749)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
32051 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
32052 	result = NIM_NIL;
32053 	switch ((*n).kind) {
32054 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
32055 	{
32056 		result = getIdentNode__sem_6749(c, (*n)._kind_6.sons->data[((NI) 1)]);
32057 	}
32058 	break;
32059 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
32060 	{
32061 		result = getIdentNode__sem_6749(c, (*n)._kind_6.sons->data[((NI) 0)]);
32062 	}
32063 	break;
32064 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
32065 	{
32066 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
32067 		result = n;
32068 		s = qualifiedLookUp__lookups_1233((*c).c, n, 0);
32069 		{
32070 			if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA6_;
32071 			{
32072 				NIM_BOOL T10_;
32073 				T10_ = (NIM_BOOL)0;
32074 				T10_ = ((*s).owner == (*c).owner);
32075 				if (!(T10_)) goto LA11_;
32076 				T10_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
32077 				LA11_: ;
32078 				if (!T10_) goto LA12_;
32079 				result = newSymNode__ast_3719(s, (*n).info);
32080 			}
32081 			LA12_: ;
32082 		}
32083 		LA6_: ;
32084 	}
32085 	break;
32086 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
32087 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
32088 	{
32089 		result = n;
32090 	}
32091 	break;
32092 	default:
32093 	{
32094 		illFormedAst__semdata_1071(n, (*(*(*c).c).graph).config);
32095 		result = n;
32096 	}
32097 	break;
32098 	}
32099 	return result;
32100 }
N_INLINE(NIM_BOOL,isTemplParam__sem_6768)32101 static N_INLINE(NIM_BOOL, isTemplParam__sem_6768)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
32102 	NIM_BOOL result;
32103 	NIM_BOOL T1_;
32104 	NIM_BOOL T2_;
32105 	NIM_BOOL T3_;
32106 	result = (NIM_BOOL)0;
32107 	T1_ = (NIM_BOOL)0;
32108 	T2_ = (NIM_BOOL)0;
32109 	T3_ = (NIM_BOOL)0;
32110 	T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
32111 	if (!(T3_)) goto LA4_;
32112 	T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
32113 	LA4_: ;
32114 	T2_ = T3_;
32115 	if (!(T2_)) goto LA5_;
32116 	T2_ = ((*(*n)._kind_4.sym).owner == (*c).owner);
32117 	LA5_: ;
32118 	T1_ = T2_;
32119 	if (!(T1_)) goto LA6_;
32120 	T1_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 40))&63U)))!=0);
32121 	LA6_: ;
32122 	result = T1_;
32123 	return result;
32124 }
N_NIMCALL(void,replaceIdentBySym__sem_6733)32125 N_LIB_PRIVATE N_NIMCALL(void, replaceIdentBySym__sem_6733)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s) {
32126 	switch ((*(*n)).kind) {
32127 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
32128 	{
32129 		replaceIdentBySym__sem_6733(c, &(*(*n))._kind_6.sons->data[((NI) 1)], s);
32130 	}
32131 	break;
32132 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
32133 	{
32134 		replaceIdentBySym__sem_6733(c, &(*(*n))._kind_6.sons->data[((NI) 0)], s);
32135 	}
32136 	break;
32137 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
32138 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
32139 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
32140 	{
32141 		unsureAsgnRef((void**) (&(*n)), s);
32142 	}
32143 	break;
32144 	default:
32145 	{
32146 		illFormedAst__semdata_1071((*n), (*(*c).graph).config);
32147 	}
32148 	break;
32149 	}
32150 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,newGenSym__sem_6831)32151 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newGenSym__sem_6831)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c) {
32152 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
32153 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
32154 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
32155 	result = NIM_NIL;
32156 	T1_ = NIM_NIL;
32157 	T1_ = considerQuotedIdent__lookups_28((*c).c, n, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
32158 	T2_ = nextSymId__ast_3132((*(*c).c).Sup.idgen);
32159 	result = newSym__ast_3445(kind, T1_, T2_, (*c).owner, (*n).info, 0);
32160 	(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37)) & 63);
32161 	(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 25)) & 63);
32162 	return result;
32163 }
N_NIMCALL(void,addLocalDecl__sem_6844)32164 N_LIB_PRIVATE N_NIMCALL(void, addLocalDecl__sem_6844)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw k) {
32165 {	{
32166 		NIM_BOOL T3_;
32167 		tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw T5_;
32168 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
32169 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ident;
32170 		T3_ = (NIM_BOOL)0;
32171 		T3_ = ((*(*n)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43));
32172 		if (!(T3_)) goto LA4_;
32173 		T5_ = (tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw)0;
32174 		T5_ = symBinding__sem_6547((*(*n))._kind_6.sons->data[((NI) 1)]);
32175 		T3_ = (T5_ == ((tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw) 2));
32176 		LA4_: ;
32177 		if (!T3_) goto LA6_;
32178 		x = (*(*n))._kind_6.sons->data[((NI) 0)];
32179 		{
32180 			while (1) {
32181 				switch ((*x).kind) {
32182 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
32183 				{
32184 					x = (*x)._kind_6.sons->data[((NI) 1)];
32185 				}
32186 				break;
32187 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
32188 				{
32189 					x = (*x)._kind_6.sons->data[((NI) 0)];
32190 				}
32191 				break;
32192 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
32193 				{
32194 					goto LA8;
32195 				}
32196 				break;
32197 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
32198 				{
32199 					unsureAsgnRef((void**) (&(*n)), onlyReplaceParams__sem_6799(c, (*n)));
32200 					goto BeforeRet_;
32201 				}
32202 				break;
32203 				default:
32204 				{
32205 					illFormedAst__semdata_1071(x, (*(*(*c).c).graph).config);
32206 				}
32207 				break;
32208 				}
32209 			}
32210 		} LA8: ;
32211 		ident = getIdentNode__sem_6749(c, x);
32212 		{
32213 			NIM_BOOL T17_;
32214 			T17_ = (NIM_BOOL)0;
32215 			T17_ = isTemplParam__sem_6768((&(*c)), ident);
32216 			if (!!(T17_)) goto LA18_;
32217 			incl__pureZcollectionsZintsets_55((&(*c).toInject), (*(*x)._kind_5.ident).id);
32218 		}
32219 		goto LA15_;
32220 		LA18_: ;
32221 		{
32222 			replaceIdentBySym__sem_6733((*c).c, n, ident);
32223 		}
32224 		LA15_: ;
32225 	}
32226 	goto LA1_;
32227 	LA6_: ;
32228 	{
32229 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ident_2;
32230 		{
32231 			NIM_BOOL T24_;
32232 			NIM_BOOL T25_;
32233 			NI T27_;
32234 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmaNode;
32235 			T24_ = (NIM_BOOL)0;
32236 			T25_ = (NIM_BOOL)0;
32237 			T25_ = ((*(*n)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43));
32238 			if (!(T25_)) goto LA26_;
32239 			T27_ = (NI)0;
32240 			T27_ = len__ast_3198((*n));
32241 			T25_ = (((NI) 2) <= T27_);
32242 			LA26_: ;
32243 			T24_ = T25_;
32244 			if (!(T24_)) goto LA28_;
32245 			T24_ = ((*(*(*n))._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90));
32246 			LA28_: ;
32247 			if (!T24_) goto LA29_;
32248 			pragmaNode = (*(*n))._kind_6.sons->data[((NI) 1)];
32249 			{
32250 				NI i;
32251 				NI colontmp_;
32252 				NI i_2;
32253 				i = (NI)0;
32254 				colontmp_ = (NI)0;
32255 				colontmp_ = len__ast_3198(pragmaNode);
32256 				i_2 = ((NI) 0);
32257 				{
32258 					while (1) {
32259 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ni;
32260 						NIM_BOOL found;
32261 						if (!(i_2 < colontmp_)) goto LA33;
32262 						i = i_2;
32263 						ni = (*pragmaNode)._kind_6.sons->data[i];
32264 						found = NIM_FALSE;
32265 						{
32266 							if (!((*ni).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA36_;
32267 							{
32268 								tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw a;
32269 								NI i_3;
32270 								a = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
32271 								i_3 = ((NI) 0);
32272 								{
32273 									while (1) {
32274 										if (!(i_3 <= ((NI) 293))) goto LA40;
32275 										{
32276 											if (!((TM__rF9caJawfOjYTjsgLVUSGFA_695[(NU)(((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) (i_3)))>>3] &(1U<<((NU)(((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) (i_3)))&7U)))!=0)) goto LA43_;
32277 											a = ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) (i_3));
32278 											{
32279 												tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T47_;
32280 												NIM_BOOL T48_;
32281 												T47_ = NIM_NIL;
32282 												T47_ = getIdent__idents_143((*(*c).c).cache, reprEnum((NI)a, (&NTItspecialword__ycbpMCRV6Cd2eBh3X9biEiw_)));
32283 												T48_ = (NIM_BOOL)0;
32284 												T48_ = eqeq___idents_220((*ni)._kind_5.ident, T47_);
32285 												if (!T48_) goto LA49_;
32286 												found = NIM_TRUE;
32287 												goto LA38;
32288 											}
32289 											LA49_: ;
32290 										}
32291 										LA43_: ;
32292 										i_3 += ((NI) 1);
32293 									} LA40: ;
32294 								}
32295 							} LA38: ;
32296 						}
32297 						LA36_: ;
32298 						{
32299 							if (!!(found)) goto LA53_;
32300 							openScope__sem_6791(c);
32301 							asgnRef((void**) (&(*pragmaNode)._kind_6.sons->data[i]), semTemplBody__sem_6788(c, (*pragmaNode)._kind_6.sons->data[i]));
32302 							closeScope__sem_6793(c);
32303 						}
32304 						LA53_: ;
32305 						i_2 += ((NI) 1);
32306 					} LA33: ;
32307 				}
32308 			}
32309 		}
32310 		LA29_: ;
32311 		ident_2 = getIdentNode__sem_6749(c, (*n));
32312 		{
32313 			NIM_BOOL T57_;
32314 			T57_ = (NIM_BOOL)0;
32315 			T57_ = isTemplParam__sem_6768((&(*c)), ident_2);
32316 			if (!!(T57_)) goto LA58_;
32317 			{
32318 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* local;
32319 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T70_;
32320 				if (!!(((*(*n)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA62_;
32321 				local = newGenSym__sem_6831(k, ident_2, c);
32322 				addPrelimDecl__lookups_848((*c).c, local);
32323 				{
32324 					NIM_BOOL T66_;
32325 					T66_ = (NIM_BOOL)0;
32326 					T66_ = !(((49152 & (*(*(*(*c).c).graph).config).globalOptions) == 0));
32327 					if (!(T66_)) goto LA67_;
32328 					T66_ = !((((*(*(*(*c).c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
32329 					LA67_: ;
32330 					if (!T66_) goto LA68_;
32331 					nep1CheckDefImpl__linter_110((*(*(*c).c).graph).config, (*(*n)).info, local, (*local).kind);
32332 				}
32333 				LA68_: ;
32334 				T70_ = NIM_NIL;
32335 				T70_ = newSymNode__ast_3719(local, (*(*n)).info);
32336 				replaceIdentBySym__sem_6733((*c).c, n, T70_);
32337 				{
32338 					NIM_BOOL T73_;
32339 					T73_ = (NIM_BOOL)0;
32340 					T73_ = (k == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
32341 					if (!(T73_)) goto LA74_;
32342 					T73_ = (((NI) 0) < (*c).inTemplateHeader);
32343 					LA74_: ;
32344 					if (!T73_) goto LA75_;
32345 					(*local).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 40)) & 63);
32346 				}
32347 				LA75_: ;
32348 			}
32349 			LA62_: ;
32350 		}
32351 		goto LA55_;
32352 		LA58_: ;
32353 		{
32354 			replaceIdentBySym__sem_6733((*c).c, n, ident_2);
32355 		}
32356 		LA55_: ;
32357 	}
32358 	LA1_: ;
32359 	}BeforeRet_: ;
32360 }
N_NIMCALL(void,semTemplSomeDecl__sem_7085)32361 N_LIB_PRIVATE N_NIMCALL(void, semTemplSomeDecl__sem_7085)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind, NI start) {
32362 	{
32363 		NI i;
32364 		NI colontmp_;
32365 		NI i_2;
32366 		i = (NI)0;
32367 		colontmp_ = (NI)0;
32368 		colontmp_ = len__ast_3198(n);
32369 		i_2 = start;
32370 		{
32371 			while (1) {
32372 				if (!(i_2 < colontmp_)) goto LA3;
32373 				i = i_2;
32374 				{
32375 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
32376 					a = (*n)._kind_6.sons->data[i];
32377 					switch ((*a).kind) {
32378 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
32379 					{
32380 						goto LA4;
32381 					}
32382 					break;
32383 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35):
32384 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36):
32385 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102):
32386 					{
32387 						NI T7_;
32388 						NI T8_;
32389 						NI T9_;
32390 						NI T10_;
32391 						checkMinSonsLen__semdata_1084(a, ((NI) 3), (*(*(*c).c).graph).config);
32392 						T7_ = (NI)0;
32393 						T7_ = len__ast_3198(a);
32394 						T8_ = (NI)0;
32395 						T8_ = len__ast_3198(a);
32396 						asgnRef((void**) (&(*a)._kind_6.sons->data[(NI)(T7_ - ((NI) 2))]), semTemplBody__sem_6788(c, (*a)._kind_6.sons->data[(NI)(T8_ - ((NI) 2))]));
32397 						T9_ = (NI)0;
32398 						T9_ = len__ast_3198(a);
32399 						T10_ = (NI)0;
32400 						T10_ = len__ast_3198(a);
32401 						asgnRef((void**) (&(*a)._kind_6.sons->data[(NI)(T9_ - ((NI) 1))]), semTemplBody__sem_6788(c, (*a)._kind_6.sons->data[(NI)(T10_ - ((NI) 1))]));
32402 						{
32403 							NI j;
32404 							NI colontmp__2;
32405 							NI T12_;
32406 							NI i_3;
32407 							j = (NI)0;
32408 							colontmp__2 = (NI)0;
32409 							T12_ = (NI)0;
32410 							T12_ = len__ast_3198(a);
32411 							colontmp__2 = (NI)(T12_ - ((NI) 2));
32412 							i_3 = ((NI) 0);
32413 							{
32414 								while (1) {
32415 									if (!(i_3 < colontmp__2)) goto LA14;
32416 									j = i_3;
32417 									addLocalDecl__sem_6844(c, &(*a)._kind_6.sons->data[j], symKind);
32418 									i_3 += ((NI) 1);
32419 								} LA14: ;
32420 							}
32421 						}
32422 					}
32423 					break;
32424 					default:
32425 					{
32426 						illFormedAst__semdata_1071(a, (*(*(*c).c).graph).config);
32427 					}
32428 					break;
32429 					}
32430 				} LA4: ;
32431 				i_2 += ((NI) 1);
32432 			} LA3: ;
32433 		}
32434 	}
32435 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semRoutineInTemplName__sem_6973)32436 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semRoutineInTemplName__sem_6973)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
32437 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
32438 	result = NIM_NIL;
32439 	result = n;
32440 	{
32441 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
32442 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA3_;
32443 		s = qualifiedLookUp__lookups_1233((*c).c, n, 0);
32444 		{
32445 			if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA7_;
32446 			{
32447 				NIM_BOOL T11_;
32448 				NIM_BOOL T13_;
32449 				T11_ = (NIM_BOOL)0;
32450 				T11_ = ((*s).owner == (*c).owner);
32451 				if (!(T11_)) goto LA12_;
32452 				T13_ = (NIM_BOOL)0;
32453 				T13_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
32454 				if (T13_) goto LA14_;
32455 				T13_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
32456 				LA14_: ;
32457 				T11_ = T13_;
32458 				LA12_: ;
32459 				if (!T11_) goto LA15_;
32460 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
32461 				result = newSymNode__ast_3719(s, (*n).info);
32462 			}
32463 			LA15_: ;
32464 		}
32465 		LA7_: ;
32466 	}
32467 	goto LA1_;
32468 	LA3_: ;
32469 	{
32470 		{
32471 			NI i;
32472 			NI colontmp_;
32473 			NI i_2;
32474 			i = (NI)0;
32475 			colontmp_ = (NI)0;
32476 			colontmp_ = safeLen__ast_3191(n);
32477 			i_2 = ((NI) 0);
32478 			{
32479 				while (1) {
32480 					if (!(i_2 < colontmp_)) goto LA20;
32481 					i = i_2;
32482 					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), semRoutineInTemplName__sem_6973(c, (*n)._kind_6.sons->data[i]));
32483 					i_2 += ((NI) 1);
32484 				} LA20: ;
32485 			}
32486 		}
32487 	}
32488 	LA1_: ;
32489 	return result;
32490 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semRoutineInTemplBody__sem_7009)32491 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semRoutineInTemplBody__sem_7009)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw k) {
32492 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
32493 	result = NIM_NIL;
32494 	result = n;
32495 	checkSonsLen__semdata_1077(n, ((NI) 7), (*(*(*c).c).graph).config);
32496 	{
32497 		NIM_BOOL T3_;
32498 		tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw T5_;
32499 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ident;
32500 		T3_ = (NIM_BOOL)0;
32501 		T3_ = !(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52)));
32502 		if (!(T3_)) goto LA4_;
32503 		T5_ = (tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw)0;
32504 		T5_ = symBinding__sem_6547((*n)._kind_6.sons->data[((NI) 4)]);
32505 		T3_ = (T5_ == ((tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw) 1));
32506 		LA4_: ;
32507 		if (!T3_) goto LA6_;
32508 		ident = getIdentNode__sem_6749(c, (*n)._kind_6.sons->data[((NI) 0)]);
32509 		{
32510 			NIM_BOOL T10_;
32511 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
32512 			T10_ = (NIM_BOOL)0;
32513 			T10_ = isTemplParam__sem_6768((&(*c)), ident);
32514 			if (!!(T10_)) goto LA11_;
32515 			s = newGenSym__sem_6831(k, ident, c);
32516 			asgnRef((void**) (&(*s).ast), n);
32517 			addPrelimDecl__lookups_848((*c).c, s);
32518 			{
32519 				NIM_BOOL T15_;
32520 				T15_ = (NIM_BOOL)0;
32521 				T15_ = !(((49152 & (*(*(*(*c).c).graph).config).globalOptions) == 0));
32522 				if (!(T15_)) goto LA16_;
32523 				T15_ = !((((*(*(*(*c).c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
32524 				LA16_: ;
32525 				if (!T15_) goto LA17_;
32526 				nep1CheckDefImpl__linter_110((*(*(*c).c).graph).config, (*n).info, s, (*s).kind);
32527 			}
32528 			LA17_: ;
32529 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(s, (*(*n)._kind_6.sons->data[((NI) 0)]).info));
32530 		}
32531 		goto LA8_;
32532 		LA11_: ;
32533 		{
32534 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ident);
32535 		}
32536 		LA8_: ;
32537 	}
32538 	goto LA1_;
32539 	LA6_: ;
32540 	{
32541 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semRoutineInTemplName__sem_6973(c, (*n)._kind_6.sons->data[((NI) 0)]));
32542 	}
32543 	LA1_: ;
32544 	openScope__sem_6791(c);
32545 	{
32546 		NI i;
32547 		NI res;
32548 		i = (NI)0;
32549 		res = ((NI) 1);
32550 		{
32551 			while (1) {
32552 				if (!(res <= ((NI) 2))) goto LA23;
32553 				i = res;
32554 				asgnRef((void**) (&(*n)._kind_6.sons->data[i]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[i]));
32555 				res += ((NI) 1);
32556 			} LA23: ;
32557 		}
32558 	}
32559 	{
32560 		if (!(k == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18))) goto LA26_;
32561 		(*c).inTemplateHeader += ((NI) 1);
32562 	}
32563 	LA26_: ;
32564 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 3)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 3)]));
32565 	{
32566 		if (!(k == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18))) goto LA30_;
32567 		(*c).inTemplateHeader -= ((NI) 1);
32568 	}
32569 	LA30_: ;
32570 	{
32571 		NI i_2;
32572 		NI res_2;
32573 		i_2 = (NI)0;
32574 		res_2 = ((NI) 4);
32575 		{
32576 			while (1) {
32577 				if (!(res_2 <= ((NI) 5))) goto LA34;
32578 				i_2 = res_2;
32579 				asgnRef((void**) (&(*n)._kind_6.sons->data[i_2]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[i_2]));
32580 				res_2 += ((NI) 1);
32581 			} LA34: ;
32582 		}
32583 	}
32584 	(*c).scopeN += ((NI) 1);
32585 	openScope__sem_6791(c);
32586 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 6)]));
32587 	closeScope__sem_6793(c);
32588 	(*c).scopeN -= ((NI) 1);
32589 	closeScope__sem_6793(c);
32590 	return result;
32591 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplBody__sem_6788)32592 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBody__sem_6788)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
32593 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
32594 {	result = NIM_NIL;
32595 	result = n;
32596 	switch ((*n).kind) {
32597 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
32598 	{
32599 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
32600 		{
32601 			NIM_BOOL T4_;
32602 			T4_ = (NIM_BOOL)0;
32603 			T4_ = contains__astalgo_3496((&(*c).toInject), (*(*n)._kind_5.ident).id);
32604 			if (!T4_) goto LA5_;
32605 			result = n;
32606 			goto BeforeRet_;
32607 		}
32608 		LA5_: ;
32609 		s = qualifiedLookUp__lookups_1233((*c).c, n, 0);
32610 		{
32611 			if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA9_;
32612 			{
32613 				NIM_BOOL T13_;
32614 				NIM_BOOL T14_;
32615 				T13_ = (NIM_BOOL)0;
32616 				T14_ = (NIM_BOOL)0;
32617 				T14_ = ((*s).owner == (*c).owner);
32618 				if (!(T14_)) goto LA15_;
32619 				T14_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
32620 				LA15_: ;
32621 				T13_ = T14_;
32622 				if (!(T13_)) goto LA16_;
32623 				T13_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 40))&63U)))!=0);
32624 				LA16_: ;
32625 				if (!T13_) goto LA17_;
32626 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
32627 				result = newSymNode__ast_3719(s, (*n).info);
32628 			}
32629 			goto LA11_;
32630 			LA17_: ;
32631 			{
32632 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1721_;
32633 				NIM_BOOL T20_;
32634 				xX60gensym1721_ = s;
32635 				T20_ = (NIM_BOOL)0;
32636 				T20_ = contains__astalgo_3496((&(*c).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym1721_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1721_).Sup.itemId.item))));
32637 				if (!T20_) goto LA21_;
32638 				result = symChoice__sem_6586((*c).c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), (((NI) 0) < (*c).noGenSym));
32639 			}
32640 			goto LA11_;
32641 			LA21_: ;
32642 			{
32643 				NIM_BOOL T24_;
32644 				T24_ = (NIM_BOOL)0;
32645 				T24_ = contains__astalgo_3496((&(*c).toMixin), (*(*s).name).id);
32646 				if (!T24_) goto LA25_;
32647 				result = symChoice__sem_6586((*c).c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 2), (((NI) 0) < (*c).noGenSym));
32648 			}
32649 			goto LA11_;
32650 			LA25_: ;
32651 			{
32652 				NIM_BOOL T28_;
32653 				NIM_BOOL T29_;
32654 				T28_ = (NIM_BOOL)0;
32655 				T29_ = (NIM_BOOL)0;
32656 				T29_ = ((*s).owner == (*c).owner);
32657 				if (!(T29_)) goto LA30_;
32658 				T29_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
32659 				LA30_: ;
32660 				T28_ = T29_;
32661 				if (!(T28_)) goto LA31_;
32662 				T28_ = ((*c).noGenSym == ((NI) 0));
32663 				LA31_: ;
32664 				if (!T28_) goto LA32_;
32665 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
32666 				result = newSymNode__ast_3719(s, (*n).info);
32667 			}
32668 			goto LA11_;
32669 			LA32_: ;
32670 			{
32671 				result = semTemplSymbol__sem_6931((*c).c, n, s, (((NI) 0) < (*c).noGenSym));
32672 			}
32673 			LA11_: ;
32674 		}
32675 		LA9_: ;
32676 	}
32677 	break;
32678 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 55):
32679 	{
32680 		result = semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 0)]);
32681 	}
32682 	break;
32683 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
32684 	{
32685 		result = semBindStmt__sem_6647((*c).c, n, (&(*c).toBind));
32686 	}
32687 	break;
32688 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
32689 	{
32690 		{
32691 			if (!(((NI) 0) < (*c).scopeN)) goto LA40_;
32692 			result = semTemplBodySons__sem_7133(c, n);
32693 		}
32694 		goto LA38_;
32695 		LA40_: ;
32696 		{
32697 			result = semMixinStmt__sem_6701((*c).c, n, (&(*c).toMixin));
32698 		}
32699 		LA38_: ;
32700 	}
32701 	break;
32702 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
32703 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
32704 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24):
32705 	{
32706 	}
32707 	break;
32708 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
32709 	{
32710 		{
32711 			NI i;
32712 			NI colontmp_;
32713 			NI i_2;
32714 			i = (NI)0;
32715 			colontmp_ = (NI)0;
32716 			colontmp_ = len__ast_3198(n);
32717 			i_2 = ((NI) 0);
32718 			{
32719 				while (1) {
32720 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
32721 					if (!(i_2 < colontmp_)) goto LA47;
32722 					i = i_2;
32723 					it = (*n)._kind_6.sons->data[i];
32724 					{
32725 						NI T50_;
32726 						T50_ = (NI)0;
32727 						T50_ = len__ast_3198(it);
32728 						if (!(T50_ == ((NI) 2))) goto LA51_;
32729 						openScope__sem_6791(c);
32730 						asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 0)]), semTemplBody__sem_6788(c, (*it)._kind_6.sons->data[((NI) 0)]));
32731 						asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*it)._kind_6.sons->data[((NI) 1)]));
32732 						closeScope__sem_6793(c);
32733 					}
32734 					goto LA48_;
32735 					LA51_: ;
32736 					{
32737 						asgnRef((void**) (&(*n)._kind_6.sons->data[i]), semTemplBodyScope__sem_6795(c, it));
32738 					}
32739 					LA48_: ;
32740 					i_2 += ((NI) 1);
32741 				} LA47: ;
32742 			}
32743 		}
32744 	}
32745 	break;
32746 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
32747 	{
32748 		openScope__sem_6791(c);
32749 		{
32750 			NI i_3;
32751 			NI colontmp__2;
32752 			NI i_4;
32753 			i_3 = (NI)0;
32754 			colontmp__2 = (NI)0;
32755 			colontmp__2 = len__ast_3198(n);
32756 			i_4 = ((NI) 0);
32757 			{
32758 				while (1) {
32759 					if (!(i_4 < colontmp__2)) goto LA57;
32760 					i_3 = i_4;
32761 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_3]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[i_3]));
32762 					i_4 += ((NI) 1);
32763 				} LA57: ;
32764 			}
32765 		}
32766 		closeScope__sem_6793(c);
32767 	}
32768 	break;
32769 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
32770 	{
32771 		openScope__sem_6791(c);
32772 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 0)]));
32773 		{
32774 			NI i_5;
32775 			NI colontmp__3;
32776 			NI i_6;
32777 			i_5 = (NI)0;
32778 			colontmp__3 = (NI)0;
32779 			colontmp__3 = len__ast_3198(n);
32780 			i_6 = ((NI) 1);
32781 			{
32782 				while (1) {
32783 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
32784 					NI T66_;
32785 					NI T67_;
32786 					if (!(i_6 < colontmp__3)) goto LA61;
32787 					i_5 = i_6;
32788 					a = (*n)._kind_6.sons->data[i_5];
32789 					checkMinSonsLen__semdata_1084(a, ((NI) 1), (*(*(*c).c).graph).config);
32790 					{
32791 						NI j;
32792 						NI colontmp__4;
32793 						NI T63_;
32794 						NI i_7;
32795 						j = (NI)0;
32796 						colontmp__4 = (NI)0;
32797 						T63_ = (NI)0;
32798 						T63_ = len__ast_3198(a);
32799 						colontmp__4 = (NI)(T63_ - ((NI) 1));
32800 						i_7 = ((NI) 0);
32801 						{
32802 							while (1) {
32803 								if (!(i_7 < colontmp__4)) goto LA65;
32804 								j = i_7;
32805 								asgnRef((void**) (&(*a)._kind_6.sons->data[j]), semTemplBody__sem_6788(c, (*a)._kind_6.sons->data[j]));
32806 								i_7 += ((NI) 1);
32807 							} LA65: ;
32808 						}
32809 					}
32810 					T66_ = (NI)0;
32811 					T66_ = len__ast_3198(a);
32812 					T67_ = (NI)0;
32813 					T67_ = len__ast_3198(a);
32814 					asgnRef((void**) (&(*a)._kind_6.sons->data[(NI)(T66_ - ((NI) 1))]), semTemplBodyScope__sem_6795(c, (*a)._kind_6.sons->data[(NI)(T67_ - ((NI) 1))]));
32815 					i_6 += ((NI) 1);
32816 				} LA61: ;
32817 			}
32818 		}
32819 		closeScope__sem_6793(c);
32820 	}
32821 	break;
32822 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
32823 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
32824 	{
32825 		NI T69_;
32826 		NI T70_;
32827 		NI T84_;
32828 		NI T85_;
32829 		openScope__sem_6791(c);
32830 		T69_ = (NI)0;
32831 		T69_ = len__ast_3198(n);
32832 		T70_ = (NI)0;
32833 		T70_ = len__ast_3198(n);
32834 		asgnRef((void**) (&(*n)._kind_6.sons->data[(NI)(T69_ - ((NI) 2))]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[(NI)(T70_ - ((NI) 2))]));
32835 		{
32836 			NI i_8;
32837 			NI colontmp__5;
32838 			NI T72_;
32839 			NI i_9;
32840 			i_8 = (NI)0;
32841 			colontmp__5 = (NI)0;
32842 			T72_ = (NI)0;
32843 			T72_ = len__ast_3198(n);
32844 			colontmp__5 = (NI)(T72_ - ((NI) 2));
32845 			i_9 = ((NI) 0);
32846 			{
32847 				while (1) {
32848 					if (!(i_9 < colontmp__5)) goto LA74;
32849 					i_8 = i_9;
32850 					{
32851 						if (!((*(*n)._kind_6.sons->data[i_8]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA77_;
32852 						{
32853 							NI j_2;
32854 							NI colontmp__6;
32855 							NI T80_;
32856 							NI i_10;
32857 							j_2 = (NI)0;
32858 							colontmp__6 = (NI)0;
32859 							T80_ = (NI)0;
32860 							T80_ = len__ast_3198((*n)._kind_6.sons->data[i_8]);
32861 							colontmp__6 = (NI)(T80_ - ((NI) 1));
32862 							i_10 = ((NI) 0);
32863 							{
32864 								while (1) {
32865 									if (!(i_10 < colontmp__6)) goto LA82;
32866 									j_2 = i_10;
32867 									addLocalDecl__sem_6844(c, &(*(*n)._kind_6.sons->data[i_8])._kind_6.sons->data[j_2], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21));
32868 									i_10 += ((NI) 1);
32869 								} LA82: ;
32870 							}
32871 						}
32872 					}
32873 					goto LA75_;
32874 					LA77_: ;
32875 					{
32876 						addLocalDecl__sem_6844(c, &(*n)._kind_6.sons->data[i_8], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21));
32877 					}
32878 					LA75_: ;
32879 					i_9 += ((NI) 1);
32880 				} LA74: ;
32881 			}
32882 		}
32883 		openScope__sem_6791(c);
32884 		T84_ = (NI)0;
32885 		T84_ = len__ast_3198(n);
32886 		T85_ = (NI)0;
32887 		T85_ = len__ast_3198(n);
32888 		asgnRef((void**) (&(*n)._kind_6.sons->data[(NI)(T84_ - ((NI) 1))]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[(NI)(T85_ - ((NI) 1))]));
32889 		closeScope__sem_6793(c);
32890 		closeScope__sem_6793(c);
32891 	}
32892 	break;
32893 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
32894 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
32895 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 129):
32896 	{
32897 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*(*c).c).graph).config);
32898 		openScope__sem_6791(c);
32899 		{
32900 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA89_;
32901 			addLocalDecl__sem_6844(c, &(*n)._kind_6.sons->data[((NI) 0)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 22));
32902 		}
32903 		LA89_: ;
32904 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 1)]));
32905 		closeScope__sem_6793(c);
32906 	}
32907 	break;
32908 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
32909 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
32910 	{
32911 		checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*(*c).c).graph).config);
32912 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semTemplBodyScope__sem_6795(c, (*n)._kind_6.sons->data[((NI) 0)]));
32913 		{
32914 			NI i_11;
32915 			NI colontmp__7;
32916 			NI i_12;
32917 			i_11 = (NI)0;
32918 			colontmp__7 = (NI)0;
32919 			colontmp__7 = len__ast_3198(n);
32920 			i_12 = ((NI) 1);
32921 			{
32922 				while (1) {
32923 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
32924 					NI T105_;
32925 					NI T106_;
32926 					if (!(i_12 < colontmp__7)) goto LA94;
32927 					i_11 = i_12;
32928 					a_2 = (*n)._kind_6.sons->data[i_11];
32929 					checkMinSonsLen__semdata_1084(a_2, ((NI) 1), (*(*(*c).c).graph).config);
32930 					openScope__sem_6791(c);
32931 					{
32932 						NI j_3;
32933 						NI colontmp__8;
32934 						NI T96_;
32935 						NI i_13;
32936 						j_3 = (NI)0;
32937 						colontmp__8 = (NI)0;
32938 						T96_ = (NI)0;
32939 						T96_ = len__ast_3198(a_2);
32940 						colontmp__8 = (NI)(T96_ - ((NI) 1));
32941 						i_13 = ((NI) 0);
32942 						{
32943 							while (1) {
32944 								if (!(i_13 < colontmp__8)) goto LA98;
32945 								j_3 = i_13;
32946 								{
32947 									NIM_BOOL T101_;
32948 									T101_ = (NIM_BOOL)0;
32949 									T101_ = isInfixAs__ast_4935((*a_2)._kind_6.sons->data[j_3]);
32950 									if (!T101_) goto LA102_;
32951 									addLocalDecl__sem_6844(c, &(*(*a_2)._kind_6.sons->data[j_3])._kind_6.sons->data[((NI) 2)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9));
32952 									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)]));
32953 								}
32954 								goto LA99_;
32955 								LA102_: ;
32956 								{
32957 									asgnRef((void**) (&(*a_2)._kind_6.sons->data[j_3]), semTemplBody__sem_6788(c, (*a_2)._kind_6.sons->data[j_3]));
32958 								}
32959 								LA99_: ;
32960 								i_13 += ((NI) 1);
32961 							} LA98: ;
32962 						}
32963 					}
32964 					T105_ = (NI)0;
32965 					T105_ = len__ast_3198(a_2);
32966 					T106_ = (NI)0;
32967 					T106_ = len__ast_3198(a_2);
32968 					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))]));
32969 					closeScope__sem_6793(c);
32970 					i_12 += ((NI) 1);
32971 				} LA94: ;
32972 			}
32973 		}
32974 	}
32975 	break;
32976 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
32977 	{
32978 		semTemplSomeDecl__sem_7085(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8), ((NI) 0));
32979 	}
32980 	break;
32981 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
32982 	{
32983 		semTemplSomeDecl__sem_7085(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9), ((NI) 0));
32984 	}
32985 	break;
32986 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76):
32987 	{
32988 		checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*(*c).c).graph).config);
32989 		semTemplSomeDecl__sem_7085(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3), ((NI) 1));
32990 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 0)]));
32991 	}
32992 	break;
32993 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
32994 	{
32995 		semTemplSomeDecl__sem_7085(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10), ((NI) 0));
32996 	}
32997 	break;
32998 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
32999 	{
33000 		{
33001 			NI i_14;
33002 			NI colontmp__9;
33003 			NI i_15;
33004 			i_14 = (NI)0;
33005 			colontmp__9 = (NI)0;
33006 			colontmp__9 = len__ast_3198(n);
33007 			i_15 = ((NI) 0);
33008 			{
33009 				while (1) {
33010 					if (!(i_15 < colontmp__9)) goto LA114;
33011 					i_14 = i_15;
33012 					{
33013 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_3;
33014 						a_3 = (*n)._kind_6.sons->data[i_14];
33015 						{
33016 							if (!((*a_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA118_;
33017 							goto LA115;
33018 						}
33019 						LA118_: ;
33020 						{
33021 							if (!!(((*a_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA122_;
33022 							illFormedAst__semdata_1071(a_3, (*(*(*c).c).graph).config);
33023 						}
33024 						LA122_: ;
33025 						checkSonsLen__semdata_1077(a_3, ((NI) 3), (*(*(*c).c).graph).config);
33026 						addLocalDecl__sem_6844(c, &(*a_3)._kind_6.sons->data[((NI) 0)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
33027 					} LA115: ;
33028 					i_15 += ((NI) 1);
33029 				} LA114: ;
33030 			}
33031 		}
33032 		{
33033 			NI i_16;
33034 			NI colontmp__10;
33035 			NI i_17;
33036 			i_16 = (NI)0;
33037 			colontmp__10 = (NI)0;
33038 			colontmp__10 = len__ast_3198(n);
33039 			i_17 = ((NI) 0);
33040 			{
33041 				while (1) {
33042 					if (!(i_17 < colontmp__10)) goto LA126;
33043 					i_16 = i_17;
33044 					{
33045 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_4;
33046 						a_4 = (*n)._kind_6.sons->data[i_16];
33047 						{
33048 							if (!((*a_4).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA130_;
33049 							goto LA127;
33050 						}
33051 						LA130_: ;
33052 						{
33053 							if (!!(((*a_4).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA134_;
33054 							illFormedAst__semdata_1071(a_4, (*(*(*c).c).graph).config);
33055 						}
33056 						LA134_: ;
33057 						checkSonsLen__semdata_1077(a_4, ((NI) 3), (*(*(*c).c).graph).config);
33058 						{
33059 							if (!!(((*(*a_4)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA138_;
33060 							openScope__sem_6791(c);
33061 							asgnRef((void**) (&(*a_4)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*a_4)._kind_6.sons->data[((NI) 1)]));
33062 							asgnRef((void**) (&(*a_4)._kind_6.sons->data[((NI) 2)]), semTemplBody__sem_6788(c, (*a_4)._kind_6.sons->data[((NI) 2)]));
33063 							closeScope__sem_6793(c);
33064 						}
33065 						goto LA136_;
33066 						LA138_: ;
33067 						{
33068 							asgnRef((void**) (&(*a_4)._kind_6.sons->data[((NI) 2)]), semTemplBody__sem_6788(c, (*a_4)._kind_6.sons->data[((NI) 2)]));
33069 						}
33070 						LA136_: ;
33071 					} LA127: ;
33072 					i_17 += ((NI) 1);
33073 				} LA126: ;
33074 			}
33075 		}
33076 	}
33077 	break;
33078 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
33079 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
33080 	{
33081 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
33082 	}
33083 	break;
33084 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
33085 	{
33086 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13));
33087 	}
33088 	break;
33089 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
33090 	{
33091 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14));
33092 	}
33093 	break;
33094 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
33095 	{
33096 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15));
33097 	}
33098 	break;
33099 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
33100 	{
33101 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18));
33102 	}
33103 	break;
33104 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
33105 	{
33106 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
33107 	}
33108 	break;
33109 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
33110 	{
33111 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16));
33112 	}
33113 	break;
33114 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
33115 	{
33116 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 0)]));
33117 	}
33118 	break;
33119 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
33120 	{
33121 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 1)]));
33122 	}
33123 	break;
33124 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
33125 	{
33126 		{
33127 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
33128 			x = NIM_NIL;
33129 			{
33130 				NI i_18;
33131 				NI colontmp__11;
33132 				NI i_19;
33133 				i_18 = (NI)0;
33134 				colontmp__11 = (NI)0;
33135 				colontmp__11 = safeLen__ast_3191(n);
33136 				i_19 = ((NI) 0);
33137 				{
33138 					while (1) {
33139 						if (!(i_19 < colontmp__11)) goto LA154;
33140 						i_18 = i_19;
33141 						x = (*n)._kind_6.sons->data[i_18];
33142 						{
33143 							if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA157_;
33144 							asgnRef((void**) (&(*x)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*x)._kind_6.sons->data[((NI) 1)]));
33145 						}
33146 						LA157_: ;
33147 						i_19 += ((NI) 1);
33148 					} LA154: ;
33149 				}
33150 			}
33151 		}
33152 	}
33153 	break;
33154 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
33155 	{
33156 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T160_;
33157 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T161_;
33158 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
33159 		T160_ = NIM_NIL;
33160 		T160_ = getIdent__idents_143((*(*c).c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_27));
33161 		T161_ = NIM_NIL;
33162 		T161_ = newIdentNode__ast_3712(T160_, (*n).info);
33163 		add__ast_4797(result, T161_);
33164 		{
33165 			NI i_20;
33166 			NI colontmp__12;
33167 			NI i_21;
33168 			i_20 = (NI)0;
33169 			colontmp__12 = (NI)0;
33170 			colontmp__12 = len__ast_3198(n);
33171 			i_21 = ((NI) 0);
33172 			{
33173 				while (1) {
33174 					if (!(i_21 < colontmp__12)) goto LA164;
33175 					i_20 = i_21;
33176 					add__ast_4797(result, (*n)._kind_6.sons->data[i_20]);
33177 					i_21 += ((NI) 1);
33178 				} LA164: ;
33179 			}
33180 		}
33181 		result = semTemplBodySons__sem_7133(c, result);
33182 	}
33183 	break;
33184 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
33185 	{
33186 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T166_;
33187 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T167_;
33188 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
33189 		T166_ = NIM_NIL;
33190 		T166_ = getIdent__idents_143((*(*c).c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_127));
33191 		T167_ = NIM_NIL;
33192 		T167_ = newIdentNode__ast_3712(T166_, (*n).info);
33193 		add__ast_4797(result, T167_);
33194 		{
33195 			NI i_22;
33196 			NI colontmp__13;
33197 			NI i_23;
33198 			i_22 = (NI)0;
33199 			colontmp__13 = (NI)0;
33200 			colontmp__13 = len__ast_3198(n);
33201 			i_23 = ((NI) 0);
33202 			{
33203 				while (1) {
33204 					if (!(i_23 < colontmp__13)) goto LA170;
33205 					i_22 = i_23;
33206 					add__ast_4797(result, (*n)._kind_6.sons->data[i_22]);
33207 					i_23 += ((NI) 1);
33208 				} LA170: ;
33209 			}
33210 		}
33211 		result = semTemplBodySons__sem_7133(c, result);
33212 	}
33213 	break;
33214 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
33215 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
33216 	{
33217 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_5;
33218 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
33219 		tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw k;
33220 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*(*c).c).graph).config);
33221 		a_5 = (*n)._kind_6.sons->data[((NI) 0)];
33222 		b = (*n)._kind_6.sons->data[((NI) 1)];
33223 		k = (*a_5).kind;
33224 		switch (k) {
33225 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
33226 		{
33227 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T173_;
33228 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T174_;
33229 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a0;
33230 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
33231 			T173_ = NIM_NIL;
33232 			T173_ = getIdent__idents_143((*(*c).c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_132));
33233 			T174_ = NIM_NIL;
33234 			T174_ = newIdentNode__ast_3712(T173_, (*n).info);
33235 			add__ast_4797(result, T174_);
33236 			{
33237 				NI i_24;
33238 				NI colontmp__14;
33239 				NI i_25;
33240 				i_24 = (NI)0;
33241 				colontmp__14 = (NI)0;
33242 				colontmp__14 = len__ast_3198(a_5);
33243 				i_25 = ((NI) 0);
33244 				{
33245 					while (1) {
33246 						if (!(i_25 < colontmp__14)) goto LA177;
33247 						i_24 = i_25;
33248 						add__ast_4797(result, (*a_5)._kind_6.sons->data[i_24]);
33249 						i_25 += ((NI) 1);
33250 					} LA177: ;
33251 				}
33252 			}
33253 			add__ast_4797(result, b);
33254 			a0 = semTemplBody__sem_6788(c, (*a_5)._kind_6.sons->data[((NI) 0)]);
33255 			result = semTemplBodySons__sem_7133(c, result);
33256 		}
33257 		break;
33258 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
33259 		{
33260 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T179_;
33261 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T180_;
33262 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
33263 			T179_ = NIM_NIL;
33264 			T179_ = getIdent__idents_143((*(*c).c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_131));
33265 			T180_ = NIM_NIL;
33266 			T180_ = newIdentNode__ast_3712(T179_, (*n).info);
33267 			add__ast_4797(result, T180_);
33268 			{
33269 				NI i_26;
33270 				NI colontmp__15;
33271 				NI i_27;
33272 				i_26 = (NI)0;
33273 				colontmp__15 = (NI)0;
33274 				colontmp__15 = len__ast_3198(a_5);
33275 				i_27 = ((NI) 0);
33276 				{
33277 					while (1) {
33278 						if (!(i_27 < colontmp__15)) goto LA183;
33279 						i_26 = i_27;
33280 						add__ast_4797(result, (*a_5)._kind_6.sons->data[i_26]);
33281 						i_27 += ((NI) 1);
33282 					} LA183: ;
33283 				}
33284 			}
33285 			add__ast_4797(result, b);
33286 			result = semTemplBodySons__sem_7133(c, result);
33287 		}
33288 		break;
33289 		default:
33290 		{
33291 			result = semTemplBodySons__sem_7133(c, n);
33292 		}
33293 		break;
33294 		}
33295 	}
33296 	break;
33297 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30):
33298 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
33299 	{
33300 		{
33301 			NIM_BOOL T188_;
33302 			T188_ = (NIM_BOOL)0;
33303 			T188_ = isRunnableExamples__ast_4698((*n)._kind_6.sons->data[((NI) 0)]);
33304 			if (!!(T188_)) goto LA189_;
33305 			result = semTemplBodySons__sem_7133(c, n);
33306 		}
33307 		LA189_: ;
33308 	}
33309 	break;
33310 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
33311 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
33312 	{
33313 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
33314 		s_2 = qualifiedLookUp__lookups_1233((*c).c, n, 0);
33315 		{
33316 			if (!!((s_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA194_;
33317 			{
33318 				NIM_BOOL T198_;
33319 				NIM_BOOL T199_;
33320 				NIM_BOOL T200_;
33321 				NI T204_;
33322 				T198_ = (NIM_BOOL)0;
33323 				T199_ = (NIM_BOOL)0;
33324 				T200_ = (NIM_BOOL)0;
33325 				T200_ = ((*s_2).owner == (*c).owner);
33326 				if (!(T200_)) goto LA201_;
33327 				T200_ = ((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
33328 				LA201_: ;
33329 				T199_ = T200_;
33330 				if (!(T199_)) goto LA202_;
33331 				T199_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53));
33332 				LA202_: ;
33333 				T198_ = T199_;
33334 				if (!(T198_)) goto LA203_;
33335 				T204_ = (NI)0;
33336 				T204_ = len__ast_3198(n);
33337 				T198_ = (T204_ == ((NI) 1));
33338 				LA203_: ;
33339 				if (!T198_) goto LA205_;
33340 				(*s_2).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
33341 				result = newSymNode__ast_3719(s_2, (*n).info);
33342 				goto BeforeRet_;
33343 			}
33344 			goto LA196_;
33345 			LA205_: ;
33346 			{
33347 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1829_;
33348 				NIM_BOOL T208_;
33349 				xX60gensym1829_ = s_2;
33350 				T208_ = (NIM_BOOL)0;
33351 				T208_ = contains__astalgo_3496((&(*c).toBind), (NI)((NI)((NU64)(((NI) ((*xX60gensym1829_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym1829_).Sup.itemId.item))));
33352 				if (!T208_) goto LA209_;
33353 				result = symChoice__sem_6586((*c).c, n, s_2, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), (((NI) 0) < (*c).noGenSym));
33354 				goto BeforeRet_;
33355 			}
33356 			goto LA196_;
33357 			LA209_: ;
33358 			{
33359 				NIM_BOOL T212_;
33360 				T212_ = (NIM_BOOL)0;
33361 				T212_ = contains__astalgo_3496((&(*c).toMixin), (*(*s_2).name).id);
33362 				if (!T212_) goto LA213_;
33363 				result = symChoice__sem_6586((*c).c, n, s_2, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 2), (((NI) 0) < (*c).noGenSym));
33364 				goto BeforeRet_;
33365 			}
33366 			goto LA196_;
33367 			LA213_: ;
33368 			{
33369 				result = symChoice__sem_6586((*c).c, n, s_2, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 1), (((NI) 0) < (*c).noGenSym));
33370 				goto BeforeRet_;
33371 			}
33372 			LA196_: ;
33373 		}
33374 		LA194_: ;
33375 		{
33376 			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA218_;
33377 			result = n;
33378 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 0)]));
33379 			(*c).noGenSym += ((NI) 1);
33380 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 1)]));
33381 			(*c).noGenSym -= ((NI) 1);
33382 		}
33383 		goto LA216_;
33384 		LA218_: ;
33385 		{
33386 			result = semTemplBodySons__sem_7133(c, n);
33387 		}
33388 		LA216_: ;
33389 	}
33390 	break;
33391 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
33392 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
33393 	{
33394 		{
33395 			NI T224_;
33396 			T224_ = (NI)0;
33397 			T224_ = len__ast_3198(n);
33398 			if (!(T224_ == ((NI) 2))) goto LA225_;
33399 			(*c).noGenSym += ((NI) 1);
33400 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 0)]));
33401 			(*c).noGenSym -= ((NI) 1);
33402 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 1)]));
33403 		}
33404 		goto LA222_;
33405 		LA225_: ;
33406 		{
33407 			result = semTemplBodySons__sem_7133(c, n);
33408 		}
33409 		LA222_: ;
33410 	}
33411 	break;
33412 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 54):
33413 	{
33414 		{
33415 			NI i_28;
33416 			NI colontmp__16;
33417 			NI i_29;
33418 			i_28 = (NI)0;
33419 			colontmp__16 = (NI)0;
33420 			colontmp__16 = len__ast_3198(n);
33421 			i_29 = ((NI) 0);
33422 			{
33423 				while (1) {
33424 					if (!(i_29 < colontmp__16)) goto LA231;
33425 					i_28 = i_29;
33426 					asgnRef((void**) (&(*result)._kind_6.sons->data[i_28]), semTemplBodySons__sem_7133(c, (*n)._kind_6.sons->data[i_28]));
33427 					i_29 += ((NI) 1);
33428 				} LA231: ;
33429 			}
33430 		}
33431 	}
33432 	break;
33433 	default:
33434 	{
33435 		result = semTemplBodySons__sem_7133(c, n);
33436 	}
33437 	break;
33438 	}
33439 	}BeforeRet_: ;
33440 	return result;
33441 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplateDef__sem_7666)33442 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplateDef__sem_7666)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
33443 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
33444 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
33445 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T27_;
33446 	NIM_BOOL allUntyped;
33447 	tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw ctx;
33448 	tyTuple__7rlNEhvBksZh9a9asniQIl9aQ T73_;
33449 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* proto;
33450 	NIM_BOOL comesFromShadowscope;
33451 	result = NIM_NIL;
33452 	result = n;
33453 	s = NIM_NIL;
33454 	{
33455 		NIM_BOOL T3_;
33456 		T3_ = (NIM_BOOL)0;
33457 		T3_ = isTopLevel__semdata_1091(c);
33458 		if (!T3_) goto LA4_;
33459 		s = semIdentVis__sem_471(c, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18), (*n)._kind_6.sons->data[((NI) 0)], 2);
33460 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3)) & 63);
33461 	}
33462 	goto LA1_;
33463 	LA4_: ;
33464 	{
33465 		s = semIdentVis__sem_471(c, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18), (*n)._kind_6.sons->data[((NI) 0)], 0);
33466 	}
33467 	LA1_: ;
33468 	{
33469 		if (!!(((*s).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA9_;
33470 		{
33471 			NIM_BOOL T13_;
33472 			NIM_BOOL T14_;
33473 			NIM_BOOL T17_;
33474 			T13_ = (NIM_BOOL)0;
33475 			T14_ = (NIM_BOOL)0;
33476 			T14_ = (((*(*s).owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0);
33477 			if (!(T14_)) goto LA15_;
33478 			T14_ = contains__stdZenumutils_43(names__sem_7688, 8, (*(*s).name).s);
33479 			LA15_: ;
33480 			T13_ = T14_;
33481 			if (T13_) goto LA16_;
33482 			T17_ = (NIM_BOOL)0;
33483 			T17_ = eqStrings((*(*(*s).owner).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_693));
33484 			if (!(T17_)) goto LA18_;
33485 			T17_ = eqStrings((*(*s).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_694));
33486 			LA18_: ;
33487 			T13_ = T17_;
33488 			LA16_: ;
33489 			if (!T13_) goto LA19_;
33490 			(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 36)) & 63);
33491 		}
33492 		LA19_: ;
33493 	}
33494 	LA9_: ;
33495 	{
33496 		NIM_BOOL T23_;
33497 		T23_ = (NIM_BOOL)0;
33498 		T23_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
33499 		if (!(T23_)) goto LA24_;
33500 		T23_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
33501 		LA24_: ;
33502 		if (!T23_) goto LA25_;
33503 		nep1CheckDefImpl__linter_110((*(*c).graph).config, (*s).info, s, (*s).kind);
33504 	}
33505 	LA25_: ;
33506 	pushOwner__semdata_322(c, s);
33507 	T27_ = NIM_NIL;
33508 	T27_ = openScope__lookups_69(c);
33509 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(s));
33510 	pragmaCallable__pragmas_2552(c, s, n, TM__rF9caJawfOjYTjsgLVUSGFA_695, NIM_FALSE);
33511 	implicitPragmas__pragmas_2394(c, s, (*n).info, TM__rF9caJawfOjYTjsgLVUSGFA_695);
33512 	setGenericParamsMisc__sem_6510(c, n);
33513 	allUntyped = NIM_TRUE;
33514 	{
33515 		if (!!(((*(*n)._kind_6.sons->data[((NI) 3)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA30_;
33516 		semParamList__sem_91(c, (*n)._kind_6.sons->data[((NI) 3)], (*n)._kind_6.sons->data[((NI) 2)], s);
33517 		{
33518 			NI i;
33519 			NI colontmp_;
33520 			NI i_2;
33521 			i = (NI)0;
33522 			colontmp_ = (NI)0;
33523 			colontmp_ = len__ast_3198((*(*s).typ).n);
33524 			i_2 = ((NI) 1);
33525 			{
33526 				while (1) {
33527 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
33528 					if (!(i_2 < colontmp_)) goto LA34;
33529 					i = i_2;
33530 					param = (*(*(*(*s).typ).n)._kind_6.sons->data[i])._kind_4.sym;
33531 					(*param).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 40)) & 63);
33532 					(*param).flags &= ~(((NU64)1) << ((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37)) & 63));
33533 					{
33534 						if (!!(((*(*param).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6)))) goto LA37_;
33535 						allUntyped = NIM_FALSE;
33536 					}
33537 					LA37_: ;
33538 					i_2 += ((NI) 1);
33539 				} LA34: ;
33540 			}
33541 		}
33542 	}
33543 	goto LA28_;
33544 	LA30_: ;
33545 	{
33546 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T40_;
33547 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T41_;
33548 		asgnRef((void**) (&(*s).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25), c));
33549 		asgnRef((void**) (&(*(*s).typ).n), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76), (*n).info));
33550 		T40_ = NIM_NIL;
33551 		T40_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7), c);
33552 		rawAddSon__ast_4288((*s).typ, T40_, NIM_TRUE);
33553 		T41_ = NIM_NIL;
33554 		T41_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*n).info, (*(*s).typ).sons->data[((NI) 0)]);
33555 		add__ast_4797((*(*s).typ).n, T41_);
33556 	}
33557 	LA28_: ;
33558 	{
33559 		NI T44_;
33560 		T44_ = (NI)0;
33561 		T44_ = safeLen__ast_3191((*n)._kind_6.sons->data[((NI) 2)]);
33562 		if (!(T44_ == ((NI) 0))) goto LA45_;
33563 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), (*(*n)._kind_6.sons->data[((NI) 5)])._kind_6.sons->data[((NI) 1)]);
33564 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 5)]), (*(*c).graph).emptyNode);
33565 	}
33566 	LA45_: ;
33567 	{
33568 		if (!allUntyped) goto LA49_;
33569 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 9)) & 63);
33570 	}
33571 	LA49_: ;
33572 	{
33573 		if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA53_;
33574 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semPattern__sem_7129(c, (*n)._kind_6.sons->data[((NI) 1)], s));
33575 	}
33576 	LA53_: ;
33577 	nimZeroMem((void*)(&ctx), sizeof(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw));
33578 	initIntSet__pureZcollectionsZintsets_238((&ctx.toBind));
33579 	initIntSet__pureZcollectionsZintsets_238((&ctx.toMixin));
33580 	initIntSet__pureZcollectionsZintsets_238((&ctx.toInject));
33581 	ctx.c = c;
33582 	ctx.owner = s;
33583 	{
33584 		if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0)) goto LA57_;
33585 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), semTemplBodyDirty__sem_7597((&ctx), (*n)._kind_6.sons->data[((NI) 6)]));
33586 	}
33587 	goto LA55_;
33588 	LA57_: ;
33589 	{
33590 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), semTemplBody__sem_6788((&ctx), (*n)._kind_6.sons->data[((NI) 6)]));
33591 	}
33592 	LA55_: ;
33593 	closeScope__lookups_101(c);
33594 	popOwner__semdata_329(c);
33595 	asgnRef((void**) (&(*s).ast), n);
33596 	{
33597 		if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0)) goto LA62_;
33598 		{
33599 			NimStringDesc* T68_;
33600 			if (!!(((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA66_;
33601 			T68_ = NIM_NIL;
33602 			T68_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_218), (*(*s).name).s);
33603 			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);
33604 		}
33605 		LA66_: ;
33606 	}
33607 	goto LA60_;
33608 	LA62_: ;
33609 	{
33610 		NimStringDesc* T72_;
33611 		if (!((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA70_;
33612 		T72_ = NIM_NIL;
33613 		T72_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_402), (*(*s).name).s);
33614 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T72_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_697, NIM_FALSE);
33615 	}
33616 	goto LA60_;
33617 	LA70_: ;
33618 	LA60_: ;
33619 	nimZeroMem((void*)(&T73_), sizeof(tyTuple__7rlNEhvBksZh9a9asniQIl9aQ));
33620 	searchForProc__procfind_73(c, (*c).currentScope, s, (&T73_));
33621 	proto = NIM_NIL;
33622 	proto = T73_.Field0;
33623 	comesFromShadowscope = (NIM_BOOL)0;
33624 	comesFromShadowscope = T73_.Field1;
33625 	{
33626 		if (!(proto == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA76_;
33627 		addInterfaceOverloadableSymAt__lookups_899(c, (*c).currentScope, s);
33628 	}
33629 	goto LA74_;
33630 	LA76_: ;
33631 	{
33632 		if (!!(comesFromShadowscope)) goto LA79_;
33633 		symTabReplace__astalgo_3302((&(*(*c).currentScope).symbols), proto, s);
33634 	}
33635 	goto LA74_;
33636 	LA79_: ;
33637 	LA74_: ;
33638 	{
33639 		NI T85_;
33640 		if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA83_;
33641 		asgnRef((void**) (&(*c).patterns), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*c).patterns), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
33642 		T85_ = (*c).patterns->Sup.len++;
33643 		asgnRef((void**) (&(*c).patterns->data[T85_]), s);
33644 	}
33645 	LA83_: ;
33646 	return result;
33647 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semQuoteAst__sem_111)33648 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semQuoteAst__sem_111)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
33649 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
33650 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* quotedBlock;
33651 	NI T9_;
33652 	NimStringDesc* op;
33653 	tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* quotes;
33654 	tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* ids;
33655 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T20_;
33656 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dummyTemplate;
33657 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T21_;
33658 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
33659 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpl;
33660 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* identNodeSym;
33661 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* identNode;
33662 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T41_;
33663 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T42_;
33664 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T43_;
33665 {	result = NIM_NIL;
33666 	{
33667 		NIM_BOOL T3_;
33668 		NI T4_;
33669 		NI T6_;
33670 		T3_ = (NIM_BOOL)0;
33671 		T4_ = (NI)0;
33672 		T4_ = len__ast_3198(n);
33673 		T3_ = !((T4_ == ((NI) 2)));
33674 		if (!(T3_)) goto LA5_;
33675 		T6_ = (NI)0;
33676 		T6_ = len__ast_3198(n);
33677 		T3_ = !((T6_ == ((NI) 3)));
33678 		LA5_: ;
33679 		if (!T3_) goto LA7_;
33680 		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);
33681 		result = n;
33682 		goto BeforeRet_;
33683 	}
33684 	LA7_: ;
33685 	T9_ = (NI)0;
33686 	T9_ = len__ast_3198(n);
33687 	quotedBlock = (*n)._kind_6.sons->data[(NI)(T9_ - ((NI) 1))];
33688 	{
33689 		NI T12_;
33690 		T12_ = (NI)0;
33691 		T12_ = len__ast_3198(n);
33692 		if (!(T12_ == ((NI) 3))) goto LA13_;
33693 		op = expectString__sem_18166(c, (*n)._kind_6.sons->data[((NI) 1)]);
33694 	}
33695 	goto LA10_;
33696 	LA13_: ;
33697 	{
33698 		op = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_682));
33699 	}
33700 	LA10_: ;
33701 	quotes = newSeq__sem_18374(((NI) 2));
33702 	ids = newSeq__sem_18374(((NI) 1));
33703 	{
33704 		if (!!(((*quotedBlock).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115)))) goto LA18_;
33705 		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);
33706 	}
33707 	LA18_: ;
33708 	T20_ = NIM_NIL;
33709 	T20_ = newAnonSym__sem_18175(c, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3), (*n).info);
33710 	asgnRef((void**) (&ids->data[((NI) 0)]), newSymNode__ast_3716(T20_));
33711 	processQuotations__sem_18253(c, &quotedBlock, op, (&quotes), (&ids));
33712 	T21_ = NIM_NIL;
33713 	T21_ = newAnonSym__sem_18175(c, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18), (*n).info);
33714 	T22_ = NIM_NIL;
33715 	T22_ = newSymNode__ast_3716(T21_);
33716 	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);
33717 	{
33718 		NI T25_;
33719 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T28_;
33720 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T29_;
33721 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T30_;
33722 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
33723 		NI T32_;
33724 		NI T33_;
33725 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T34_;
33726 		T25_ = (ids ? ids->Sup.len : 0);
33727 		if (!(((NI) 0) < T25_)) goto LA26_;
33728 		asgnRef((void**) (&(*dummyTemplate)._kind_6.sons->data[((NI) 3)]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76), (*n).info));
33729 		T28_ = NIM_NIL;
33730 		T28_ = getSysSym__magicsys_16((*c).graph, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_685));
33731 		T29_ = NIM_NIL;
33732 		T29_ = newSymNode__ast_3716(T28_);
33733 		add__ast_4797((*dummyTemplate)._kind_6.sons->data[((NI) 3)], T29_);
33734 		T30_ = NIM_NIL;
33735 		T30_ = getSysSym__magicsys_16((*c).graph, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_685));
33736 		T31_ = NIM_NIL;
33737 		T31_ = newSymNode__ast_3716(T30_);
33738 		ids = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(ids), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
33739 		T32_ = ids->Sup.len++;
33740 		asgnRef((void**) (&ids->data[T32_]), T31_);
33741 		ids = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(ids), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
33742 		T33_ = ids->Sup.len++;
33743 		asgnRef((void**) (&ids->data[T33_]), (*(*c).graph).emptyNode);
33744 		T34_ = NIM_NIL;
33745 		T34_ = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), (*n).info, ids->data, (ids ? ids->Sup.len : 0));
33746 		add__ast_4797((*dummyTemplate)._kind_6.sons->data[((NI) 3)], T34_);
33747 	}
33748 	LA26_: ;
33749 	tmpl = semTemplateDef__sem_7666(c, dummyTemplate);
33750 	asgnRef((void**) (&quotes->data[((NI) 0)]), (*tmpl)._kind_6.sons->data[((NI) 0)]);
33751 	identNodeSym = getCompilerProc__magicsys_145((*c).graph, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_698));
33752 	{
33753 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T39_;
33754 		if (!(identNodeSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA37_;
33755 		T39_ = NIM_NIL;
33756 		T39_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_698));
33757 		identNode = newIdentNode__ast_3712(T39_, (*n).info);
33758 	}
33759 	goto LA35_;
33760 	LA37_: ;
33761 	{
33762 		identNode = newSymNode__ast_3716(identNodeSym);
33763 	}
33764 	LA35_: ;
33765 	nimZeroMem((void*)T41_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
33766 	T41_[0] = identNode;
33767 	T41_[1] = newStrNode__ast_3813(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_102));
33768 	asgnRef((void**) (&quotes->data[((NI) 1)]), newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, T41_, 2));
33769 	nimZeroMem((void*)T42_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
33770 	T43_ = NIM_NIL;
33771 	T43_ = createMagic__modulegraphs_9008((*c).graph, (*c).Sup.idgen, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_699), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 27));
33772 	T42_[0] = newSymNode__ast_3716(T43_);
33773 	T42_[1] = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, quotes->data, (quotes ? quotes->Sup.len : 0));
33774 	result = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, T42_, 2);
33775 	result = semExpandToAst__sem_18180(c, result);
33776 	}BeforeRet_: ;
33777 	return result;
33778 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,createFlowVar__sem_18510)33779 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, createFlowVar__sem_18510)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
33780 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
33781 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
33782 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
33783 	result = NIM_NIL;
33784 	T1_ = nextTypeId__ast_3151((*c).Sup.idgen);
33785 	result = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9), T1_, (*c).module);
33786 	T2_ = NIM_NIL;
33787 	T2_ = getCompilerProc__magicsys_145((*c).graph, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_704));
33788 	addSonSkipIntLit__magicsys_136(result, (*T2_).typ, (*c).Sup.idgen);
33789 	addSonSkipIntLit__magicsys_136(result, t, (*c).Sup.idgen);
33790 	result = instGenericContainer__sem_1125(c, info, result, NIM_FALSE);
33791 	return result;
33792 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,instantiateCreateFlowVarCall__sem_18515)33793 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, instantiateCreateFlowVarCall__sem_18515)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
33794 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
33795 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
33796 	tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q bindings;
33797 	result = NIM_NIL;
33798 	sym = getCompilerProc__magicsys_145((*c).graph, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_705));
33799 	{
33800 		if (!(sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA3_;
33801 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_706), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_707, NIM_FALSE);
33802 	}
33803 	LA3_: ;
33804 	nimZeroMem((void*)(&bindings), sizeof(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q));
33805 	initIdTable__ast_4096((&bindings));
33806 	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);
33807 	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);
33808 	{
33809 		if (!(((*result).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 18))&63U)))!=0)) goto LA7_;
33810 		(*result).flags = ((*result).flags & ~ 262336);
33811 		asgnRef((void**) (&(*result).loc.r), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
33812 	}
33813 	LA7_: ;
33814 	return result;
33815 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semSizeof__sem_18545)33816 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSizeof__sem_18545)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
33817 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
33818 	tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* configX60gensym4895_;
33819 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nodeX60gensym4895_;
33820 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typX60gensym4895_;
33821 	NI64 sizeX60gensym4895_;
33822 	result = NIM_NIL;
33823 	{
33824 		NI T3_;
33825 		NimStringDesc* T6_;
33826 		T3_ = (NI)0;
33827 		T3_ = len__ast_3198(n);
33828 		if (!!((T3_ == ((NI) 2)))) goto LA4_;
33829 		T6_ = NIM_NIL;
33830 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_351), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_709));
33831 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_710, NIM_FALSE);
33832 	}
33833 	goto LA1_;
33834 	LA4_: ;
33835 	{
33836 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 512));
33837 	}
33838 	LA1_: ;
33839 	asgnRef((void**) (&(*n).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31)));
33840 	configX60gensym4895_ = (*(*c).graph).config;
33841 	nodeX60gensym4895_ = n;
33842 	typX60gensym4895_ = (*(*nodeX60gensym4895_)._kind_6.sons->data[((NI) 1)]).typ;
33843 	computeSizeAlign__types_2924(configX60gensym4895_, typX60gensym4895_);
33844 	sizeX60gensym4895_ = (*typX60gensym4895_).size;
33845 	{
33846 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resX60gensym4895_;
33847 		if (!(IL64(0) <= sizeX60gensym4895_)) goto LA10_;
33848 		resX60gensym4895_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), sizeX60gensym4895_);
33849 		(*resX60gensym4895_).info = (*nodeX60gensym4895_).info;
33850 		asgnRef((void**) (&(*resX60gensym4895_).typ), (*nodeX60gensym4895_).typ);
33851 		result = resX60gensym4895_;
33852 	}
33853 	goto LA8_;
33854 	LA10_: ;
33855 	{
33856 		result = n;
33857 	}
33858 	LA8_: ;
33859 	return result;
33860 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semMagic__sem_18565)33861 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) {
33862 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
33863 {	result = NIM_NIL;
33864 	result = n;
33865 	switch ((*s).magic) {
33866 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 16):
33867 	{
33868 		markUsed__sigmatch_85(c, (*n).info, s);
33869 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
33870 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(s, (*(*n)._kind_6.sons->data[((NI) 0)]).info));
33871 		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))));
33872 		asgnRef((void**) (&(*result).typ), makePtrType__semdata_742(c, (*(*result)._kind_6.sons->data[((NI) 1)]).typ));
33873 	}
33874 	break;
33875 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 18):
33876 	{
33877 		markUsed__sigmatch_85(c, (*n).info, s);
33878 		result = semTypeOf__sem_132(c, n);
33879 	}
33880 	break;
33881 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 1):
33882 	{
33883 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
33884 		markUsed__sigmatch_85(c, (*n).info, s);
33885 		T4_ = NIM_NIL;
33886 		T4_ = setMs__sem_18539(n, s);
33887 		result = semDefined__sem_18104(c, T4_);
33888 	}
33889 	break;
33890 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 2):
33891 	{
33892 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
33893 		markUsed__sigmatch_85(c, (*n).info, s);
33894 		T6_ = NIM_NIL;
33895 		T6_ = setMs__sem_18539(n, s);
33896 		result = semDeclared__sem_18136(c, T6_, NIM_FALSE);
33897 	}
33898 	break;
33899 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 3):
33900 	{
33901 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
33902 		markUsed__sigmatch_85(c, (*n).info, s);
33903 		T8_ = NIM_NIL;
33904 		T8_ = setMs__sem_18539(n, s);
33905 		result = semDeclared__sem_18136(c, T8_, NIM_TRUE);
33906 	}
33907 	break;
33908 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 4):
33909 	{
33910 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
33911 		markUsed__sigmatch_85(c, (*n).info, s);
33912 		T10_ = NIM_NIL;
33913 		T10_ = setMs__sem_18539(n, s);
33914 		result = semCompiles__sem_18476(c, T10_, flags);
33915 	}
33916 	break;
33917 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 14):
33918 	{
33919 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
33920 		markUsed__sigmatch_85(c, (*n).info, s);
33921 		T12_ = NIM_NIL;
33922 		T12_ = setMs__sem_18539(n, s);
33923 		result = semIs__sem_14686(c, T12_, flags);
33924 	}
33925 	break;
33926 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 21):
33927 	{
33928 		markUsed__sigmatch_85(c, (*n).info, s);
33929 		result = semShallowCopy__sem_15753(c, n, flags);
33930 	}
33931 	break;
33932 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 27):
33933 	{
33934 		markUsed__sigmatch_85(c, (*n).info, s);
33935 		result = semExpandToAst__sem_18243(c, n, s, flags);
33936 	}
33937 	break;
33938 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 28):
33939 	{
33940 		markUsed__sigmatch_85(c, (*n).info, s);
33941 		result = semQuoteAst__sem_111(c, n);
33942 	}
33943 	break;
33944 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 140):
33945 	{
33946 		NimStringDesc* T17_;
33947 		markUsed__sigmatch_85(c, (*n).info, s);
33948 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
33949 		T17_ = NIM_NIL;
33950 		T17_ = renderTree__renderer_46((*n)._kind_6.sons->data[((NI) 1)], 4);
33951 		result = newStrNodeT__semfold_76(T17_, n, (*c).graph);
33952 		asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
33953 	}
33954 	break;
33955 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 141):
33956 	{
33957 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
33958 		markUsed__sigmatch_85(c, (*n).info, s);
33959 		{
33960 			if (!!((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 3))&31U)))!=0))) goto LA21_;
33961 			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);
33962 		}
33963 		LA21_: ;
33964 		result = setMs__sem_18539(n, s);
33965 		x = lastSon__ast_4832(n);
33966 		{
33967 			if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52))) goto LA25_;
33968 			x = (*x)._kind_6.sons->data[((NI) 6)];
33969 		}
33970 		LA25_: ;
33971 		(*c).inParallelStmt += ((NI) 1);
33972 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semStmt__sem_84(c, x, 0));
33973 		(*c).inParallelStmt -= ((NI) 1);
33974 	}
33975 	break;
33976 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 198):
33977 	{
33978 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
33979 		NI T40_;
33980 		markUsed__sigmatch_85(c, (*n).info, s);
33981 		result = setMs__sem_18539(n, s);
33982 		{
33983 			NI i;
33984 			NI colontmp_;
33985 			NI i_2;
33986 			i = (NI)0;
33987 			colontmp_ = (NI)0;
33988 			colontmp_ = len__ast_3198(n);
33989 			i_2 = ((NI) 1);
33990 			{
33991 				while (1) {
33992 					if (!(i_2 < colontmp_)) goto LA30;
33993 					i = i_2;
33994 					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), semExpr__sem_52(c, (*n)._kind_6.sons->data[i], 0));
33995 					i_2 += ((NI) 1);
33996 				} LA30: ;
33997 			}
33998 		}
33999 		{
34000 			NIM_BOOL T33_;
34001 			NI T34_;
34002 			NimStringDesc* T38_;
34003 			NimStringDesc* T39_;
34004 			T33_ = (NIM_BOOL)0;
34005 			T34_ = (NI)0;
34006 			T34_ = len__ast_3198(n);
34007 			T33_ = (((NI) 1) < T34_);
34008 			if (!(T33_)) goto LA35_;
34009 			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)));
34010 			LA35_: ;
34011 			if (!T33_) goto LA36_;
34012 			T38_ = NIM_NIL;
34013 			T39_ = NIM_NIL;
34014 			T39_ = dollar___renderer_2106((*n)._kind_6.sons->data[((NI) 1)]);
34015 			T38_ = rawNewString((T39_ ? T39_->Sup.len : 0) + 38);
34016 appendString(T38_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_702));
34017 appendString(T38_, T39_);
34018 			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);
34019 			result = errorNode__semdata_1009(c, n);
34020 			goto BeforeRet_;
34021 		}
34022 		LA36_: ;
34023 		T40_ = (NI)0;
34024 		T40_ = len__ast_3198(result);
34025 		typ = (*(*result)._kind_6.sons->data[(NI)(T40_ - ((NI) 1))]).typ;
34026 		{
34027 			NIM_BOOL T43_;
34028 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T52_;
34029 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T53_;
34030 			T43_ = (NIM_BOOL)0;
34031 			T43_ = isEmptyType__ast_4779(typ);
34032 			if (!!(T43_)) goto LA44_;
34033 			{
34034 				tyEnum_TSpawnResult__YOcUu9brt5AKRflRWdxATPw T48_;
34035 				T48_ = (tyEnum_TSpawnResult__YOcUu9brt5AKRflRWdxATPw)0;
34036 				T48_ = spawnResult__spawn_34(typ, (((NI) 0) < (*c).inParallelStmt));
34037 				if (!(T48_ == ((tyEnum_TSpawnResult__YOcUu9brt5AKRflRWdxATPw) 1))) goto LA49_;
34038 				asgnRef((void**) (&(*result).typ), createFlowVar__sem_18510(c, typ, (*n).info));
34039 			}
34040 			goto LA46_;
34041 			LA49_: ;
34042 			{
34043 				asgnRef((void**) (&(*result).typ), typ);
34044 			}
34045 			LA46_: ;
34046 			T52_ = NIM_NIL;
34047 			T52_ = instantiateCreateFlowVarCall__sem_18515(c, typ, (*n).info);
34048 			T53_ = NIM_NIL;
34049 			T53_ = newSymNode__ast_3716(T52_);
34050 			add__ast_4797(result, T53_);
34051 		}
34052 		goto LA41_;
34053 		LA44_: ;
34054 		{
34055 			add__ast_4797(result, (*(*c).graph).emptyNode);
34056 		}
34057 		LA41_: ;
34058 	}
34059 	break;
34060 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 203):
34061 	{
34062 		markUsed__sigmatch_85(c, (*n).info, s);
34063 		result = setMs__sem_18539(n, s);
34064 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 1)], 0));
34065 		asgnRef((void**) (&(*result).typ), (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
34066 	}
34067 	break;
34068 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 19):
34069 	{
34070 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig;
34071 		markUsed__sigmatch_85(c, (*n).info, s);
34072 		nOrig = copyTree__ast_4431(n);
34073 		result = semOverloadedCallAnalyseEffects__sem_16420(c, n, nOrig, flags);
34074 		{
34075 			if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA59_;
34076 			result = errorNode__semdata_1009(c, n);
34077 		}
34078 		goto LA57_;
34079 		LA59_: ;
34080 		{
34081 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee;
34082 			callee = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
34083 			{
34084 				if (!((*callee).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0))) goto LA64_;
34085 				semFinishOperands__sigmatch_4162(c, result);
34086 			}
34087 			LA64_: ;
34088 			activate__sem_108(c, result);
34089 			fixAbstractType__sem_14966(c, result);
34090 			analyseIfAddressTakenInCall__sem_15142(c, result);
34091 			{
34092 				if (!!(((*callee).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)))) goto LA68_;
34093 				result = magicsAfterOverloadResolution__sem_16026(c, result, flags);
34094 			}
34095 			LA68_: ;
34096 		}
34097 		LA57_: ;
34098 	}
34099 	break;
34100 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 267):
34101 	{
34102 		markUsed__sigmatch_85(c, (*n).info, s);
34103 		{
34104 			NIM_BOOL T73_;
34105 			NIM_BOOL T74_;
34106 			NI T76_;
34107 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T78_;
34108 			T73_ = (NIM_BOOL)0;
34109 			T74_ = (NIM_BOOL)0;
34110 			T74_ = ((3989504 &((NU32)1<<((NU)((*(*(*c).graph).config).cmd)&31U)))!=0);
34111 			if (!(T74_)) goto LA75_;
34112 			T76_ = (NI)0;
34113 			T76_ = len__ast_3198(n);
34114 			T74_ = (((NI) 2) <= T76_);
34115 			LA75_: ;
34116 			T73_ = T74_;
34117 			if (!(T73_)) goto LA77_;
34118 			T78_ = NIM_NIL;
34119 			T78_ = lastSon__ast_4832(n);
34120 			T73_ = ((*T78_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
34121 			LA77_: ;
34122 			if (!T73_) goto LA79_;
34123 			result = setMs__sem_18539(n, s);
34124 		}
34125 		goto LA71_;
34126 		LA79_: ;
34127 		{
34128 			result = (*(*c).graph).emptyNode;
34129 		}
34130 		LA71_: ;
34131 	}
34132 	break;
34133 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 10):
34134 	{
34135 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T83_;
34136 		markUsed__sigmatch_85(c, (*n).info, s);
34137 		T83_ = NIM_NIL;
34138 		T83_ = setMs__sem_18539(n, s);
34139 		result = semSizeof__sem_18545(c, T83_);
34140 	}
34141 	break;
34142 	default:
34143 	{
34144 		result = semDirectOp__sem_511(c, n, flags);
34145 	}
34146 	break;
34147 	}
34148 	}BeforeRet_: ;
34149 	return result;
34150 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newDeref__lowerings_11)34151 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDeref__lowerings_11)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34152 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34153 	result = NIM_NIL;
34154 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n).info, (*(*n).typ).sons->data[((NI) 0)]);
34155 	add__ast_4797(result, n);
34156 	return result;
34157 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,bracketedMacro__sem_16491)34158 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, bracketedMacro__sem_16491)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34159 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
34160 	result = NIM_NIL;
34161 	{
34162 		NIM_BOOL T3_;
34163 		NI T4_;
34164 		T3_ = (NIM_BOOL)0;
34165 		T4_ = (NI)0;
34166 		T4_ = len__ast_3198(n);
34167 		T3_ = (((NI) 1) <= T4_);
34168 		if (!(T3_)) goto LA5_;
34169 		T3_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
34170 		LA5_: ;
34171 		if (!T3_) goto LA6_;
34172 		result = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
34173 		{
34174 			if (!!(((393216 &((NU32)1<<((NU)((*result).kind)&31U)))!=0))) goto LA10_;
34175 			result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
34176 		}
34177 		LA10_: ;
34178 	}
34179 	LA6_: ;
34180 	return result;
34181 }
N_NIMCALL(void,setGenericParams__sem_16507)34182 N_LIB_PRIVATE N_NIMCALL(void, setGenericParams__sem_16507)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34183 	{
34184 		NI i;
34185 		NI colontmp_;
34186 		NI i_2;
34187 		i = (NI)0;
34188 		colontmp_ = (NI)0;
34189 		colontmp_ = len__ast_3198(n);
34190 		i_2 = ((NI) 1);
34191 		{
34192 			while (1) {
34193 				if (!(i_2 < colontmp_)) goto LA3;
34194 				i = i_2;
34195 				asgnRef((void**) (&(*(*n)._kind_6.sons->data[i]).typ), semTypeNode__sem_80(c, (*n)._kind_6.sons->data[i], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
34196 				i_2 += ((NI) 1);
34197 			} LA3: ;
34198 		}
34199 	}
34200 }
N_NIMCALL(void,resolveIndirectCall__sem_16475)34201 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) {
34202 	unsureAsgnRef((void**)&(*Result).c, NIM_NIL);
34203 	(*Result).exactMatches = 0;
34204 	(*Result).genericMatches = 0;
34205 	(*Result).subtypeMatches = 0;
34206 	(*Result).intConvMatches = 0;
34207 	(*Result).convMatches = 0;
34208 	(*Result).state = 0;
34209 	unsureAsgnRef((void**)&(*Result).callee, NIM_NIL);
34210 	unsureAsgnRef((void**)&(*Result).calleeSym, NIM_NIL);
34211 	(*Result).calleeScope = 0;
34212 	unsureAsgnRef((void**)&(*Result).call, NIM_NIL);
34213 	(*Result).bindings.counter = 0;
34214 	unsureAsgnRef((void**)&(*Result).bindings.data, NIM_NIL);
34215 	(*Result).magic = 0;
34216 	(*Result).baseTypeMatch = 0;
34217 	(*Result).fauxMatch = 0;
34218 	(*Result).genericConverter = 0;
34219 	(*Result).coerceDistincts = 0;
34220 	(*Result).typedescMatched = 0;
34221 	(*Result).isNoCall = 0;
34222 	unsureAsgnRef((void**)&(*Result).inferredTypes, NIM_NIL);
34223 	unsureAsgnRef((void**)&(*Result).diagnostics, NIM_NIL);
34224 	(*Result).inheritancePenalty = 0;
34225 	(*Result).firstMismatch.kind = 0;
34226 	(*Result).firstMismatch.arg = 0;
34227 	unsureAsgnRef((void**)&(*Result).firstMismatch.formal, NIM_NIL);
34228 	(*Result).diagnosticsEnabled = 0;
34229 	initCandidate__sigmatch_116(c, Result, t);
34230 	matches__sigmatch_4181(c, n, nOrig, Result);
34231 	{
34232 		if (!!(((*Result).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA3_;
34233 		{
34234 			NIM_BOOL T7_;
34235 			T7_ = (NIM_BOOL)0;
34236 			T7_ = (((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 0))&31U)))!=0);
34237 			if (!(T7_)) goto LA8_;
34238 			T7_ = canDeref__sem_2474(n);
34239 			LA8_: ;
34240 			if (!T7_) goto LA9_;
34241 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), tryDeref__sem_2490((*n)._kind_6.sons->data[((NI) 1)]));
34242 			initCandidate__sigmatch_116(c, Result, t);
34243 			matches__sigmatch_4181(c, n, nOrig, Result);
34244 		}
34245 		LA9_: ;
34246 	}
34247 	LA3_: ;
34248 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,overloadedCallOpr__sem_14774)34249 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, overloadedCallOpr__sem_14774)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34250 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34251 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* par;
34252 	NIM_BOOL amb;
34253 	result = NIM_NIL;
34254 	par = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_215));
34255 	amb = NIM_FALSE;
34256 	{
34257 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T3_;
34258 		T3_ = NIM_NIL;
34259 		T3_ = searchInScopes__lookups_423(c, par, (&amb));
34260 		if (!(T3_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA4_;
34261 		result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
34262 	}
34263 	goto LA1_;
34264 	LA4_: ;
34265 	{
34266 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
34267 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
34268 		T7_ = NIM_NIL;
34269 		T7_ = newIdentNode__ast_3712(par, (*n).info);
34270 		add__ast_4797(result, T7_);
34271 		{
34272 			NI i;
34273 			NI colontmp_;
34274 			NI i_2;
34275 			i = (NI)0;
34276 			colontmp_ = (NI)0;
34277 			colontmp_ = len__ast_3198(n);
34278 			i_2 = ((NI) 0);
34279 			{
34280 				while (1) {
34281 					if (!(i_2 < colontmp_)) goto LA10;
34282 					i = i_2;
34283 					add__ast_4797(result, (*n)._kind_6.sons->data[i]);
34284 					i_2 += ((NI) 1);
34285 				} LA10: ;
34286 			}
34287 		}
34288 		result = semExpr__sem_52(c, result, 0);
34289 	}
34290 	LA1_: ;
34291 	return result;
34292 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semIndirectOp__sem_16548)34293 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIndirectOp__sem_16548)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
34294 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34295 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prc;
34296 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig;
34297 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
34298 {	result = NIM_NIL;
34299 	result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
34300 	checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
34301 	prc = (*n)._kind_6.sons->data[((NI) 0)];
34302 	{
34303 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n0;
34304 		if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA3_;
34305 		checkSonsLen__semdata_1077((*n)._kind_6.sons->data[((NI) 0)], ((NI) 2), (*(*c).graph).config);
34306 		n0 = semFieldAccess__sem_13894(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
34307 		{
34308 			if (!((*n0).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 25))) goto LA7_;
34309 			result = n0;
34310 			transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 27));
34311 			(*result).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 11)) & 31);
34312 			{
34313 				NI i;
34314 				NI colontmp_;
34315 				NI i_2;
34316 				i = (NI)0;
34317 				colontmp_ = (NI)0;
34318 				colontmp_ = len__ast_3198(n);
34319 				i_2 = ((NI) 1);
34320 				{
34321 					while (1) {
34322 						if (!(i_2 < colontmp_)) goto LA11;
34323 						i = i_2;
34324 						add__ast_4797(result, (*n)._kind_6.sons->data[i]);
34325 						i_2 += ((NI) 1);
34326 					} LA11: ;
34327 				}
34328 			}
34329 			result = semExpr__sem_52(c, result, flags);
34330 			goto BeforeRet_;
34331 		}
34332 		goto LA5_;
34333 		LA7_: ;
34334 		{
34335 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), n0);
34336 		}
34337 		LA5_: ;
34338 	}
34339 	goto LA1_;
34340 	LA3_: ;
34341 	{
34342 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
34343 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], 32768));
34344 		t = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
34345 		{
34346 			NIM_BOOL T16_;
34347 			T16_ = (NIM_BOOL)0;
34348 			T16_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
34349 			if (!(T16_)) goto LA17_;
34350 			T16_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
34351 			LA17_: ;
34352 			if (!T16_) goto LA18_;
34353 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newDeref__lowerings_11((*n)._kind_6.sons->data[((NI) 0)]));
34354 		}
34355 		goto LA14_;
34356 		LA18_: ;
34357 		{
34358 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
34359 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42))) goto LA21_;
34360 			s = bracketedMacro__sem_16491((*n)._kind_6.sons->data[((NI) 0)]);
34361 			{
34362 				if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA25_;
34363 				setGenericParams__sem_16507(c, (*n)._kind_6.sons->data[((NI) 0)]);
34364 				result = semDirectOp__sem_511(c, n, flags);
34365 				goto BeforeRet_;
34366 			}
34367 			LA25_: ;
34368 		}
34369 		goto LA14_;
34370 		LA21_: ;
34371 		LA14_: ;
34372 	}
34373 	LA1_: ;
34374 	nOrig = copyTree__ast_4431(n);
34375 	semOpAux__sem_88(c, n);
34376 	t_2 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
34377 	{
34378 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA29_;
34379 		t_2 = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_711);
34380 	}
34381 	LA29_: ;
34382 	{
34383 		NIM_BOOL T33_;
34384 		tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
34385 		T33_ = (NIM_BOOL)0;
34386 		T33_ = !((t_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
34387 		if (!(T33_)) goto LA34_;
34388 		T33_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
34389 		LA34_: ;
34390 		if (!T33_) goto LA35_;
34391 		nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
34392 		resolveIndirectCall__sem_16475(c, n, nOrig, t_2, (&m));
34393 		{
34394 			if (!!((m.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA39_;
34395 			{
34396 				if (!((*(*(*c).graph).config).m.errorOutputs == 0)) goto LA43_;
34397 				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);
34398 				result = (*(*c).graph).emptyNode;
34399 				goto BeforeRet_;
34400 			}
34401 			goto LA41_;
34402 			LA43_: ;
34403 			{
34404 				NIM_BOOL hasErrorType;
34405 				NimStringDesc* msg;
34406 				hasErrorType = NIM_FALSE;
34407 				msg = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_300));
34408 				{
34409 					NI i_3;
34410 					NI colontmp__2;
34411 					NI i_4;
34412 					i_3 = (NI)0;
34413 					colontmp__2 = (NI)0;
34414 					colontmp__2 = len__ast_3198(n);
34415 					i_4 = ((NI) 1);
34416 					{
34417 						while (1) {
34418 							tyObject_TType__facALICuu8zUj0hjvbTLFg* nt;
34419 							NimStringDesc* T53_;
34420 							if (!(i_4 < colontmp__2)) goto LA48;
34421 							i_3 = i_4;
34422 							{
34423 								if (!(((NI) 1) < i_3)) goto LA51_;
34424 								msg = resizeString(msg, 2);
34425 appendString(msg, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
34426 							}
34427 							LA51_: ;
34428 							nt = (*(*n)._kind_6.sons->data[i_3]).typ;
34429 							T53_ = NIM_NIL;
34430 							T53_ = typeToString__types_50(nt, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
34431 							msg = resizeString(msg, (T53_ ? T53_->Sup.len : 0) + 0);
34432 appendString(msg, T53_);
34433 							{
34434 								if (!((*nt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50))) goto LA56_;
34435 								hasErrorType = NIM_TRUE;
34436 								goto LA46;
34437 							}
34438 							LA56_: ;
34439 							i_4 += ((NI) 1);
34440 						} LA48: ;
34441 					}
34442 				} LA46: ;
34443 				{
34444 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
34445 					NimStringDesc* T62_;
34446 					NimStringDesc* T63_;
34447 					if (!!(hasErrorType)) goto LA60_;
34448 					typ = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
34449 					T62_ = NIM_NIL;
34450 					T63_ = NIM_NIL;
34451 					T63_ = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
34452 					T62_ = rawNewString((T63_ ? T63_->Sup.len : 0) + 23);
34453 appendString(T62_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_713));
34454 appendString(T62_, T63_);
34455 					msg = resizeString(msg, (T62_ ? T62_->Sup.len : 0) + 0);
34456 appendString(msg, T62_);
34457 					{
34458 						NIM_BOOL T66_;
34459 						NIM_BOOL T67_;
34460 						NimStringDesc* T72_;
34461 						NimStringDesc* T73_;
34462 						T66_ = (NIM_BOOL)0;
34463 						T67_ = (NIM_BOOL)0;
34464 						T67_ = !(((*typ).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
34465 						if (!(T67_)) goto LA68_;
34466 						T67_ = !((((*(*typ).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 34))&63U)))!=0));
34467 						LA68_: ;
34468 						T66_ = T67_;
34469 						if (!(T66_)) goto LA69_;
34470 						T66_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
34471 						LA69_: ;
34472 						if (!T66_) goto LA70_;
34473 						T72_ = NIM_NIL;
34474 						T73_ = NIM_NIL;
34475 						T73_ = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
34476 						T72_ = rawNewString((T73_ ? T73_->Sup.len : 0) + 3);
34477 appendString(T72_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_714));
34478 appendString(T72_, T73_);
34479 						msg = resizeString(msg, (T72_ ? T72_->Sup.len : 0) + 0);
34480 appendString(msg, T72_);
34481 					}
34482 					LA70_: ;
34483 					addDeclaredLocMaybe__astmsgs_51((&msg), (*(*c).graph).config, typ);
34484 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), msg, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_715, NIM_FALSE);
34485 				}
34486 				LA60_: ;
34487 				result = errorNode__semdata_1009(c, n);
34488 				goto BeforeRet_;
34489 			}
34490 			LA41_: ;
34491 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
34492 		}
34493 		goto LA37_;
34494 		LA39_: ;
34495 		{
34496 			result = m.call;
34497 			instGenericConvertersSons__sem_2316(c, result, (&m));
34498 		}
34499 		LA37_: ;
34500 	}
34501 	goto LA31_;
34502 	LA35_: ;
34503 	{
34504 		NIM_BOOL T76_;
34505 		T76_ = (NIM_BOOL)0;
34506 		T76_ = !((t_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
34507 		if (!(T76_)) goto LA77_;
34508 		T76_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
34509 		LA77_: ;
34510 		if (!T76_) goto LA78_;
34511 		{
34512 			NI T82_;
34513 			T82_ = (NI)0;
34514 			T82_ = len__ast_3198(n);
34515 			if (!(T82_ == ((NI) 1))) goto LA83_;
34516 			result = semObjConstr__sem_16471(c, n, flags);
34517 			goto BeforeRet_;
34518 		}
34519 		LA83_: ;
34520 		result = semConv__sem_14395(c, n);
34521 		goto BeforeRet_;
34522 	}
34523 	goto LA31_;
34524 	LA78_: ;
34525 	{
34526 		result = overloadedCallOpr__sem_14774(c, n);
34527 		{
34528 			if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA88_;
34529 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), prc);
34530 			asgnRef((void**) (&(*nOrig)._kind_6.sons->data[((NI) 0)]), prc);
34531 			(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 12)) & 31);
34532 			result = semOverloadedCallAnalyseEffects__sem_16420(c, n, nOrig, flags);
34533 			{
34534 				if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA92_;
34535 				result = errorNode__semdata_1009(c, n);
34536 				goto BeforeRet_;
34537 			}
34538 			LA92_: ;
34539 		}
34540 		goto LA86_;
34541 		LA88_: ;
34542 		{
34543 			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_;
34544 			goto BeforeRet_;
34545 		}
34546 		goto LA86_;
34547 		LA95_: ;
34548 		LA86_: ;
34549 	}
34550 	LA31_: ;
34551 	{
34552 		if (!((*(*result)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA99_;
34553 		result = afterCallActions__sem_16520(c, result, nOrig, flags);
34554 	}
34555 	goto LA97_;
34556 	LA99_: ;
34557 	{
34558 		fixAbstractType__sem_14966(c, result);
34559 		analyseIfAddressTakenInCall__sem_15142(c, result);
34560 	}
34561 	LA97_: ;
34562 	}BeforeRet_: ;
34563 	return result;
34564 }
N_NIMCALL(NIM_BOOL,shouldBeBracketExpr__sem_20029)34565 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldBeBracketExpr__sem_20029)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34566 	NIM_BOOL result;
34567 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
34568 {	result = (NIM_BOOL)0;
34569 	a = (*n)._kind_6.sons->data[((NI) 0)];
34570 	{
34571 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
34572 		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_;
34573 		b = (*a)._kind_6.sons->data[((NI) 0)];
34574 		{
34575 			if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA7_;
34576 			{
34577 				NI i;
34578 				NI colontmp_;
34579 				NI i_2;
34580 				i = (NI)0;
34581 				colontmp_ = (NI)0;
34582 				colontmp_ = len__ast_3198(b);
34583 				i_2 = ((NI) 0);
34584 				{
34585 					while (1) {
34586 						if (!(i_2 < colontmp_)) goto LA11;
34587 						i = i_2;
34588 						{
34589 							NIM_BOOL T14_;
34590 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* be;
34591 							T14_ = (NIM_BOOL)0;
34592 							T14_ = ((*(*b)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
34593 							if (!(T14_)) goto LA15_;
34594 							T14_ = ((*(*(*b)._kind_6.sons->data[i])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5));
34595 							LA15_: ;
34596 							if (!T14_) goto LA16_;
34597 							be = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n).info);
34598 							{
34599 								NI i_3;
34600 								NI colontmp__2;
34601 								NI i_4;
34602 								i_3 = (NI)0;
34603 								colontmp__2 = (NI)0;
34604 								colontmp__2 = len__ast_3198(a);
34605 								i_4 = ((NI) 1);
34606 								{
34607 									while (1) {
34608 										if (!(i_4 < colontmp__2)) goto LA20;
34609 										i_3 = i_4;
34610 										add__ast_4797(be, (*a)._kind_6.sons->data[i_3]);
34611 										i_4 += ((NI) 1);
34612 									} LA20: ;
34613 								}
34614 							}
34615 							asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), be);
34616 							result = NIM_TRUE;
34617 							goto BeforeRet_;
34618 						}
34619 						LA16_: ;
34620 						i_2 += ((NI) 1);
34621 					} LA11: ;
34622 				}
34623 			}
34624 		}
34625 		LA7_: ;
34626 	}
34627 	LA3_: ;
34628 	}BeforeRet_: ;
34629 	return result;
34630 }
N_NIMCALL(NIM_BOOL,isGeneric__sem_20088)34631 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGeneric__sem_20088)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34632 	NIM_BOOL result;
34633 	result = (NIM_BOOL)0;
34634 	{
34635 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
34636 		NIM_BOOL T5_;
34637 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53))) goto LA3_;
34638 		s = qualifiedLookUp__lookups_1233(c, n, 0);
34639 		T5_ = (NIM_BOOL)0;
34640 		T5_ = !((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
34641 		if (!(T5_)) goto LA6_;
34642 		T5_ = isGenericRoutineStrict__ast_4639(s);
34643 		LA6_: ;
34644 		result = T5_;
34645 	}
34646 	LA3_: ;
34647 	return result;
34648 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,asBracketExpr__sem_20084)34649 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, asBracketExpr__sem_20084)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34650 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34651 {	result = NIM_NIL;
34652 	{
34653 		NIM_BOOL T3_;
34654 		NI T4_;
34655 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
34656 		T3_ = (NIM_BOOL)0;
34657 		T4_ = (NI)0;
34658 		T4_ = len__ast_3198(n);
34659 		T3_ = (((NI) 1) < T4_);
34660 		if (!(T3_)) goto LA5_;
34661 		T3_ = isGeneric__sem_20088(c, (*n)._kind_6.sons->data[((NI) 1)]);
34662 		LA5_: ;
34663 		if (!T3_) goto LA6_;
34664 		b = (*n)._kind_6.sons->data[((NI) 0)];
34665 		{
34666 			if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA10_;
34667 			{
34668 				NI i;
34669 				NI colontmp_;
34670 				NI i_2;
34671 				i = (NI)0;
34672 				colontmp_ = (NI)0;
34673 				colontmp_ = len__ast_3198(b);
34674 				i_2 = ((NI) 0);
34675 				{
34676 					while (1) {
34677 						if (!(i_2 < colontmp_)) goto LA14;
34678 						i = i_2;
34679 						{
34680 							NIM_BOOL T17_;
34681 							T17_ = (NIM_BOOL)0;
34682 							T17_ = ((*(*b)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
34683 							if (!(T17_)) goto LA18_;
34684 							T17_ = ((*(*(*b)._kind_6.sons->data[i])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5));
34685 							LA18_: ;
34686 							if (!T17_) goto LA19_;
34687 							result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n).info);
34688 							{
34689 								NI i_3;
34690 								NI colontmp__2;
34691 								NI i_4;
34692 								i_3 = (NI)0;
34693 								colontmp__2 = (NI)0;
34694 								colontmp__2 = len__ast_3198(n);
34695 								i_4 = ((NI) 1);
34696 								{
34697 									while (1) {
34698 										if (!(i_4 < colontmp__2)) goto LA23;
34699 										i_3 = i_4;
34700 										add__ast_4797(result, (*n)._kind_6.sons->data[i_3]);
34701 										i_4 += ((NI) 1);
34702 									} LA23: ;
34703 								}
34704 							}
34705 							goto BeforeRet_;
34706 						}
34707 						LA19_: ;
34708 						i_2 += ((NI) 1);
34709 					} LA14: ;
34710 				}
34711 			}
34712 		}
34713 		LA10_: ;
34714 	}
34715 	LA6_: ;
34716 	result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
34717 	goto BeforeRet_;
34718 	}BeforeRet_: ;
34719 	return result;
34720 }
N_NIMCALL(void,hoistParamsUsedInDefault__sem_20149)34721 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) {
34722 	{
34723 		NIM_BOOL T3_;
34724 		NIM_BOOL T4_;
34725 		NI paramPos;
34726 		T3_ = (NIM_BOOL)0;
34727 		T4_ = (NIM_BOOL)0;
34728 		T4_ = ((*(*defExpr)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
34729 		if (!(T4_)) goto LA5_;
34730 		T4_ = ((*(*(*defExpr))._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
34731 		LA5_: ;
34732 		T3_ = T4_;
34733 		if (!(T3_)) goto LA6_;
34734 		T3_ = ((*(*(*defExpr))._kind_4.sym).owner == (*(*(*call))._kind_6.sons->data[((NI) 0)])._kind_4.sym);
34735 		LA6_: ;
34736 		if (!T3_) goto LA7_;
34737 		paramPos = (NI)((*(*(*defExpr))._kind_4.sym).position + ((NI) 1));
34738 		{
34739 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* hoistedVarSym;
34740 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T13_;
34741 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T14_;
34742 			tyArray__T6RKPw8xfAeNaoei9aZGzXg T15_;
34743 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
34744 			if (!!(((*(*(*call))._kind_6.sons->data[paramPos]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA11_;
34745 			T13_ = NIM_NIL;
34746 			T13_ = getIdent__idents_143((*(*c).graph).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_716));
34747 			T14_ = nextSymId__ast_3132((*c).Sup.idgen);
34748 			hoistedVarSym = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9), T13_, T14_, (*(*c).p).owner, (*(*letSection)).info, (*(*(*c).p).owner).options);
34749 			asgnRef((void**) (&(*hoistedVarSym).typ), (*(*(*call))._kind_6.sons->data[paramPos]).typ);
34750 			nimZeroMem((void*)T15_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
34751 			T15_[0] = newSymNode__ast_3716(hoistedVarSym);
34752 			T15_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*letSection)).info);
34753 			T15_[2] = (*(*call))._kind_6.sons->data[paramPos];
34754 			T16_ = NIM_NIL;
34755 			T16_ = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), (*(*letSection)).info, T15_, 3);
34756 			add__ast_4797((*letSection), T16_);
34757 			asgnRef((void**) (&(*(*call))._kind_6.sons->data[paramPos]), newSymNode__ast_3716(hoistedVarSym));
34758 		}
34759 		LA11_: ;
34760 		unsureAsgnRef((void**) (&(*defExpr)), (*(*call))._kind_6.sons->data[paramPos]);
34761 	}
34762 	goto LA1_;
34763 	LA7_: ;
34764 	{
34765 		{
34766 			NI i;
34767 			NI colontmp_;
34768 			NI i_2;
34769 			i = (NI)0;
34770 			colontmp_ = (NI)0;
34771 			colontmp_ = safeLen__ast_3191((*defExpr));
34772 			i_2 = ((NI) 0);
34773 			{
34774 				while (1) {
34775 					if (!(i_2 < colontmp_)) goto LA20;
34776 					i = i_2;
34777 					hoistParamsUsedInDefault__sem_20149(c, call, letSection, &(*(*defExpr))._kind_6.sons->data[i]);
34778 					i_2 += ((NI) 1);
34779 				} LA20: ;
34780 			}
34781 		}
34782 	}
34783 	LA1_: ;
34784 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semArrayAccess__sem_17529)34785 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semArrayAccess__sem_17529)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
34786 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34787 	result = NIM_NIL;
34788 	result = semSubscript__sem_15311(c, n, flags);
34789 	{
34790 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T5_;
34791 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
34792 		if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
34793 		T5_ = NIM_NIL;
34794 		T5_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_27));
34795 		T6_ = NIM_NIL;
34796 		T6_ = buildOverloadedSubscripts__sem_17343(n, T5_);
34797 		result = semExpr__sem_52(c, T6_, flags);
34798 	}
34799 	LA3_: ;
34800 	return result;
34801 }
N_NIMCALL(tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg,checkPar__sem_18916)34802 N_LIB_PRIVATE N_NIMCALL(tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg, checkPar__sem_18916)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34803 	tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg result;
34804 {	result = (tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg)0;
34805 	{
34806 		NI T3_;
34807 		T3_ = (NI)0;
34808 		T3_ = len__ast_3198(n);
34809 		if (!(T3_ == ((NI) 0))) goto LA4_;
34810 		result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 3);
34811 	}
34812 	goto LA1_;
34813 	LA4_: ;
34814 	{
34815 		NI T7_;
34816 		T7_ = (NI)0;
34817 		T7_ = len__ast_3198(n);
34818 		if (!(T7_ == ((NI) 1))) goto LA8_;
34819 		{
34820 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA12_;
34821 			result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 2);
34822 		}
34823 		goto LA10_;
34824 		LA12_: ;
34825 		{
34826 			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160))) goto LA15_;
34827 			result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 3);
34828 		}
34829 		goto LA10_;
34830 		LA15_: ;
34831 		{
34832 			result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 1);
34833 		}
34834 		LA10_: ;
34835 	}
34836 	goto LA1_;
34837 	LA8_: ;
34838 	{
34839 		{
34840 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA21_;
34841 			result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 2);
34842 		}
34843 		goto LA19_;
34844 		LA21_: ;
34845 		{
34846 			result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 3);
34847 		}
34848 		LA19_: ;
34849 		{
34850 			NI i;
34851 			NI colontmp_;
34852 			NI i_2;
34853 			i = (NI)0;
34854 			colontmp_ = (NI)0;
34855 			colontmp_ = len__ast_3198(n);
34856 			i_2 = ((NI) 0);
34857 			{
34858 				while (1) {
34859 					if (!(i_2 < colontmp_)) goto LA26;
34860 					i = i_2;
34861 					{
34862 						if (!(result == ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 2))) goto LA29_;
34863 						{
34864 							NIM_BOOL T33_;
34865 							T33_ = (NIM_BOOL)0;
34866 							T33_ = !(((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)));
34867 							if (T33_) goto LA34_;
34868 							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)));
34869 							LA34_: ;
34870 							if (!T33_) goto LA35_;
34871 							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);
34872 							result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 0);
34873 							goto BeforeRet_;
34874 						}
34875 						LA35_: ;
34876 					}
34877 					goto LA27_;
34878 					LA29_: ;
34879 					{
34880 						{
34881 							if (!((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA40_;
34882 							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);
34883 							result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 0);
34884 							goto BeforeRet_;
34885 						}
34886 						LA40_: ;
34887 					}
34888 					LA27_: ;
34889 					i_2 += ((NI) 1);
34890 				} LA26: ;
34891 			}
34892 		}
34893 	}
34894 	LA1_: ;
34895 	}BeforeRet_: ;
34896 	return result;
34897 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTuplePositionsConstr__sem_19039)34898 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTuplePositionsConstr__sem_19039)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
34899 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34900 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
34901 	result = NIM_NIL;
34902 	result = n;
34903 	transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 160));
34904 	typ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18), c);
34905 	{
34906 		NI i;
34907 		NI colontmp_;
34908 		NI i_2;
34909 		i = (NI)0;
34910 		colontmp_ = (NI)0;
34911 		colontmp_ = len__ast_3198(n);
34912 		i_2 = ((NI) 0);
34913 		{
34914 			while (1) {
34915 				if (!(i_2 < colontmp_)) goto LA3;
34916 				i = i_2;
34917 				asgnRef((void**) (&(*n)._kind_6.sons->data[i]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[i], 0));
34918 				addSonSkipIntLit__magicsys_136(typ, (*(*n)._kind_6.sons->data[i]).typ, (*c).Sup.idgen);
34919 				i_2 += ((NI) 1);
34920 			} LA3: ;
34921 		}
34922 	}
34923 	asgnRef((void**) (&(*result).typ), typ);
34924 	return result;
34925 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTupleConstr__sem_19999)34926 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTupleConstr__sem_19999)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
34927 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34928 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tupexp;
34929 	NIM_BOOL isTupleType;
34930 {	result = NIM_NIL;
34931 	tupexp = semTuplePositionsConstr__sem_19039(c, n, flags);
34932 	isTupleType = (NIM_BOOL)0;
34933 	{
34934 		NI T3_;
34935 		T3_ = (NI)0;
34936 		T3_ = len__ast_3198(tupexp);
34937 		if (!(((NI) 0) < T3_)) goto LA4_;
34938 		isTupleType = ((*(*(*tupexp)._kind_6.sons->data[((NI) 0)]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
34939 		{
34940 			NI i;
34941 			NI colontmp_;
34942 			NI i_2;
34943 			i = (NI)0;
34944 			colontmp_ = (NI)0;
34945 			colontmp_ = len__ast_3198(tupexp);
34946 			i_2 = ((NI) 1);
34947 			{
34948 				while (1) {
34949 					if (!(i_2 < colontmp_)) goto LA8;
34950 					i = i_2;
34951 					{
34952 						if (!!((isTupleType == ((*(*(*tupexp)._kind_6.sons->data[i]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))))) goto LA11_;
34953 						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);
34954 						result = errorNode__semdata_1009(c, n);
34955 						goto BeforeRet_;
34956 					}
34957 					LA11_: ;
34958 					i_2 += ((NI) 1);
34959 				} LA8: ;
34960 			}
34961 		}
34962 	}
34963 	LA4_: ;
34964 	{
34965 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
34966 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
34967 		if (!isTupleType) goto LA15_;
34968 		result = n;
34969 		T17_ = NIM_NIL;
34970 		T17_ = semTypeNode__sem_80(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
34971 		typ = skipTypes__ast_3735(T17_, TM__rF9caJawfOjYTjsgLVUSGFA_123);
34972 		asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, typ));
34973 	}
34974 	goto LA13_;
34975 	LA15_: ;
34976 	{
34977 		result = tupexp;
34978 	}
34979 	LA13_: ;
34980 	}BeforeRet_: ;
34981 	return result;
34982 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTupleFieldsConstr__sem_18980)34983 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTupleFieldsConstr__sem_18980)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
34984 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34985 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
34986 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA ids;
34987 	result = NIM_NIL;
34988 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), (*n).info);
34989 	typ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18), c);
34990 	asgnRef((void**) (&(*typ).n), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info));
34991 	nimZeroMem((void*)(&ids), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
34992 	initIntSet__pureZcollectionsZintsets_238((&ids));
34993 	{
34994 		NI i;
34995 		NI colontmp_;
34996 		NI i_2;
34997 		i = (NI)0;
34998 		colontmp_ = (NI)0;
34999 		colontmp_ = len__ast_3198(n);
35000 		i_2 = ((NI) 0);
35001 		{
35002 			while (1) {
35003 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* id;
35004 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
35005 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
35006 				if (!(i_2 < colontmp_)) goto LA3;
35007 				i = i_2;
35008 				{
35009 					if (!!(((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA6_;
35010 					illFormedAst__semdata_1071((*n)._kind_6.sons->data[i], (*(*c).graph).config);
35011 				}
35012 				LA6_: ;
35013 				id = considerQuotedIdent__lookups_28(c, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
35014 				{
35015 					NIM_BOOL T10_;
35016 					NimStringDesc* T13_;
35017 					T10_ = (NIM_BOOL)0;
35018 					T10_ = containsOrIncl__astalgo_402((&ids), (*id).id);
35019 					if (!T10_) goto LA11_;
35020 					T13_ = NIM_NIL;
35021 					T13_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_660), (*id).s);
35022 					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);
35023 				}
35024 				LA11_: ;
35025 				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));
35026 				{
35027 					if (!((*(*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA16_;
35028 					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);
35029 					asgnRef((void**) (&(*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]).typ), errorType__semdata_1002(c));
35030 				}
35031 				LA16_: ;
35032 				f = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19), (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], c);
35033 				asgnRef((void**) (&(*f).typ), skipIntLit__magicsys_124((*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]).typ, (*c).Sup.idgen));
35034 				(*f).position = i;
35035 				rawAddSon__ast_4288(typ, (*f).typ, NIM_TRUE);
35036 				T18_ = NIM_NIL;
35037 				T18_ = newSymNode__ast_3716(f);
35038 				add__ast_4797((*typ).n, T18_);
35039 				asgnRef((void**) (&(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(f));
35040 				add__ast_4797(result, (*n)._kind_6.sons->data[i]);
35041 				i_2 += ((NI) 1);
35042 			} LA3: ;
35043 		}
35044 	}
35045 	asgnRef((void**) (&(*result).typ), typ);
35046 	return result;
35047 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semSetConstr__sem_18756)35048 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSetConstr__sem_18756)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
35049 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35050 	result = NIM_NIL;
35051 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39), (*n).info);
35052 	asgnRef((void**) (&(*result).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19), c));
35053 	(*(*result).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 43)) & 63);
35054 	{
35055 		NI T3_;
35056 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
35057 		T3_ = (NI)0;
35058 		T3_ = len__ast_3198(n);
35059 		if (!(T3_ == ((NI) 0))) goto LA4_;
35060 		T6_ = NIM_NIL;
35061 		T6_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3), c);
35062 		rawAddSon__ast_4288((*result).typ, T6_, NIM_TRUE);
35063 	}
35064 	goto LA1_;
35065 	LA4_: ;
35066 	{
35067 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
35068 		typ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
35069 		{
35070 			NI i;
35071 			NI colontmp_;
35072 			NI i_2;
35073 			i = (NI)0;
35074 			colontmp_ = (NI)0;
35075 			colontmp_ = len__ast_3198(n);
35076 			i_2 = ((NI) 0);
35077 			{
35078 				while (1) {
35079 					if (!(i_2 < colontmp_)) goto LA10;
35080 					i = i_2;
35081 					{
35082 						NIM_BOOL T13_;
35083 						T13_ = (NIM_BOOL)0;
35084 						T13_ = isRange__trees_213((*n)._kind_6.sons->data[i]);
35085 						if (!T13_) goto LA14_;
35086 						checkSonsLen__semdata_1077((*n)._kind_6.sons->data[i], ((NI) 3), (*(*c).graph).config);
35087 						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));
35088 						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));
35089 						{
35090 							if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA18_;
35091 							typ = skipTypes__ast_3735((*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_726);
35092 						}
35093 						LA18_: ;
35094 						asgnRef((void**) (&(*(*n)._kind_6.sons->data[i]).typ), (*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 2)]).typ);
35095 					}
35096 					goto LA11_;
35097 					LA14_: ;
35098 					{
35099 						if (!((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA21_;
35100 						{
35101 							if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA25_;
35102 							typ = skipTypes__ast_3735((*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_726);
35103 						}
35104 						LA25_: ;
35105 					}
35106 					goto LA11_;
35107 					LA21_: ;
35108 					{
35109 						asgnRef((void**) (&(*n)._kind_6.sons->data[i]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[i], 0));
35110 						{
35111 							if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA30_;
35112 							typ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[i]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_726);
35113 						}
35114 						LA30_: ;
35115 					}
35116 					LA11_: ;
35117 					i_2 += ((NI) 1);
35118 				} LA10: ;
35119 			}
35120 		}
35121 		{
35122 			NIM_BOOL T34_;
35123 			T34_ = (NIM_BOOL)0;
35124 			T34_ = isOrdinalType__types_299(typ, NIM_TRUE);
35125 			if (!!(T34_)) goto LA35_;
35126 			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);
35127 			typ = makeRangeType__semdata_1039(c, IL64(0), IL64(65535), (*n).info, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
35128 		}
35129 		goto LA32_;
35130 		LA35_: ;
35131 		{
35132 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T38_;
35133 			NIM_BOOL T39_;
35134 			T38_ = lengthOrd__types_1661((*(*c).graph).config, typ);
35135 			T39_ = (NIM_BOOL)0;
35136 			T39_ = lt___int495056_738(IL64(65536), T38_);
35137 			if (!T39_) goto LA40_;
35138 			typ = makeRangeType__semdata_1039(c, IL64(0), IL64(65535), (*n).info, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
35139 		}
35140 		goto LA32_;
35141 		LA40_: ;
35142 		LA32_: ;
35143 		addSonSkipIntLit__magicsys_136((*result).typ, typ, (*c).Sup.idgen);
35144 		{
35145 			NI i_3;
35146 			NI colontmp__2;
35147 			NI i_4;
35148 			i_3 = (NI)0;
35149 			colontmp__2 = (NI)0;
35150 			colontmp__2 = len__ast_3198(n);
35151 			i_4 = ((NI) 0);
35152 			{
35153 				while (1) {
35154 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
35155 					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
35156 					if (!(i_4 < colontmp__2)) goto LA44;
35157 					i_3 = i_4;
35158 					m = NIM_NIL;
35159 					info = (*(*n)._kind_6.sons->data[i_3]).info;
35160 					{
35161 						NIM_BOOL T47_;
35162 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T50_;
35163 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T51_;
35164 						T47_ = (NIM_BOOL)0;
35165 						T47_ = isRange__trees_213((*n)._kind_6.sons->data[i_3]);
35166 						if (!T47_) goto LA48_;
35167 						m = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44), info);
35168 						T50_ = NIM_NIL;
35169 						T50_ = fitNode__sem_70(c, typ, (*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[((NI) 1)], info);
35170 						add__ast_4797(m, T50_);
35171 						T51_ = NIM_NIL;
35172 						T51_ = fitNode__sem_70(c, typ, (*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[((NI) 2)], info);
35173 						add__ast_4797(m, T51_);
35174 					}
35175 					goto LA45_;
35176 					LA48_: ;
35177 					{
35178 						if (!((*(*n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA53_;
35179 						m = (*n)._kind_6.sons->data[i_3];
35180 					}
35181 					goto LA45_;
35182 					LA53_: ;
35183 					{
35184 						m = fitNode__sem_70(c, typ, (*n)._kind_6.sons->data[i_3], info);
35185 					}
35186 					LA45_: ;
35187 					add__ast_4797(result, m);
35188 					i_4 += ((NI) 1);
35189 				} LA44: ;
35190 			}
35191 		}
35192 	}
35193 	LA1_: ;
35194 	return result;
35195 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semArrayConstr__sem_14893)35196 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semArrayConstr__sem_14893)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
35197 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35198 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA firstIndex;
35199 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA lastIndex;
35200 	tyObject_TType__facALICuu8zUj0hjvbTLFg* indexType;
35201 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA lastValidIndex;
35202 	NI64 T55_;
35203 	NI64 T56_;
35204 	result = NIM_NIL;
35205 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*n).info);
35206 	asgnRef((void**) (&(*result).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), c));
35207 	rawAddSon__ast_4288((*result).typ, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), NIM_TRUE);
35208 	nimZeroMem((void*)(&firstIndex), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
35209 	nimZeroMem((void*)(&lastIndex), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
35210 	indexType = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
35211 	lastValidIndex = lastOrd__types_1470((*(*c).graph).config, indexType);
35212 	{
35213 		NI T3_;
35214 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
35215 		T3_ = (NI)0;
35216 		T3_ = len__ast_3198(n);
35217 		if (!(T3_ == ((NI) 0))) goto LA4_;
35218 		T6_ = NIM_NIL;
35219 		T6_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3), c);
35220 		rawAddSon__ast_4288((*result).typ, T6_, NIM_TRUE);
35221 		lastIndex = toInt128__types_1378(((NI) -1));
35222 	}
35223 	goto LA1_;
35224 	LA4_: ;
35225 	{
35226 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
35227 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* yy;
35228 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
35229 		x = (*n)._kind_6.sons->data[((NI) 0)];
35230 		{
35231 			NIM_BOOL T10_;
35232 			NI T12_;
35233 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* idx;
35234 			T10_ = (NIM_BOOL)0;
35235 			T10_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34));
35236 			if (!(T10_)) goto LA11_;
35237 			T12_ = (NI)0;
35238 			T12_ = len__ast_3198(x);
35239 			T10_ = (T12_ == ((NI) 2));
35240 			LA11_: ;
35241 			if (!T10_) goto LA13_;
35242 			idx = semConstExpr__sem_611(c, (*x)._kind_6.sons->data[((NI) 0)]);
35243 			{
35244 				NIM_BOOL T17_;
35245 				NimStringDesc* T20_;
35246 				NimStringDesc* T21_;
35247 				NimStringDesc* T22_;
35248 				T17_ = (NIM_BOOL)0;
35249 				T17_ = isOrdinalType__types_299((*idx).typ, NIM_FALSE);
35250 				if (!!(T17_)) goto LA18_;
35251 				T20_ = NIM_NIL;
35252 				T21_ = NIM_NIL;
35253 				T21_ = renderTree__renderer_46(idx, 0);
35254 				T22_ = NIM_NIL;
35255 				T22_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_729), T21_);
35256 				T20_ = rawNewString((T22_ ? T22_->Sup.len : 0) + 33);
35257 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_728));
35258 appendString(T20_, T22_);
35259 				liMessage__msgs_1118((*(*c).graph).config, (*idx).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_730, NIM_FALSE);
35260 			}
35261 			goto LA15_;
35262 			LA18_: ;
35263 			{
35264 				firstIndex = getOrdValue__types_161(idx, Max__int495056_27);
35265 				lastIndex = firstIndex;
35266 				indexType = (*idx).typ;
35267 				lastValidIndex = lastOrd__types_1470((*(*c).graph).config, indexType);
35268 				x = (*x)._kind_6.sons->data[((NI) 1)];
35269 			}
35270 			LA15_: ;
35271 		}
35272 		LA13_: ;
35273 		yy = semExprWithType__sem_56(c, x, 0);
35274 		typ = (*yy).typ;
35275 		add__ast_4797(result, yy);
35276 		{
35277 			NI i;
35278 			NI colontmp_;
35279 			NI i_2;
35280 			i = (NI)0;
35281 			colontmp_ = (NI)0;
35282 			colontmp_ = len__ast_3198(n);
35283 			i_2 = ((NI) 1);
35284 			{
35285 				while (1) {
35286 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* xx;
35287 					if (!(i_2 < colontmp_)) goto LA26;
35288 					i = i_2;
35289 					{
35290 						NIM_BOOL T29_;
35291 						tyObject_TType__facALICuu8zUj0hjvbTLFg* validIndex;
35292 						NI64 T32_;
35293 						NI64 T33_;
35294 						NimStringDesc* T34_;
35295 						tyArray__Re75IspeoxXy2oCZHwcRrA T35_;
35296 						NI T36_;
35297 						NimStringDesc* T37_;
35298 						T29_ = (NIM_BOOL)0;
35299 						T29_ = eqeq___int495056_313(lastIndex, lastValidIndex);
35300 						if (!T29_) goto LA30_;
35301 						T32_ = (NI64)0;
35302 						T32_ = toInt64__int495056_88(firstIndex);
35303 						T33_ = (NI64)0;
35304 						T33_ = toInt64__int495056_88(lastValidIndex);
35305 						validIndex = makeRangeType__semdata_1039(c, T32_, T33_, (*n).info, indexType);
35306 						T34_ = NIM_NIL;
35307 						nimZeroMem((void*)T35_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
35308 						T35_[0] = typeToString__types_50(validIndex, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
35309 						T36_ = (NI)0;
35310 						T36_ = len__ast_3198(n);
35311 						T35_[1] = dollar___systemZdollars_3((NI)(T36_ - i));
35312 						T37_ = NIM_NIL;
35313 						T37_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_732), T35_, 2);
35314 						T34_ = rawNewString((T37_ ? T37_->Sup.len : 0) + 37);
35315 appendString(T34_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_731));
35316 appendString(T34_, T37_);
35317 						liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T34_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_733, NIM_FALSE);
35318 					}
35319 					LA30_: ;
35320 					x = (*n)._kind_6.sons->data[i];
35321 					{
35322 						NIM_BOOL T40_;
35323 						NI T42_;
35324 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* idx_2;
35325 						T40_ = (NIM_BOOL)0;
35326 						T40_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34));
35327 						if (!(T40_)) goto LA41_;
35328 						T42_ = (NI)0;
35329 						T42_ = len__ast_3198(x);
35330 						T40_ = (T42_ == ((NI) 2));
35331 						LA41_: ;
35332 						if (!T40_) goto LA43_;
35333 						idx_2 = semConstExpr__sem_611(c, (*x)._kind_6.sons->data[((NI) 0)]);
35334 						idx_2 = fitNode__sem_70(c, indexType, idx_2, (*x).info);
35335 						{
35336 							tyObject_Int128__9a9axPfb75jdWY25AamJewkA T47_;
35337 							tyObject_Int128__9a9axPfb75jdWY25AamJewkA T48_;
35338 							NIM_BOOL T49_;
35339 							T47_ = plus___int495056_794(lastIndex, IL64(1));
35340 							T48_ = getOrdValue__types_161(idx_2, Max__int495056_27);
35341 							T49_ = (NIM_BOOL)0;
35342 							T49_ = eqeq___int495056_313(T47_, T48_);
35343 							if (!!(T49_)) goto LA50_;
35344 							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);
35345 						}
35346 						LA50_: ;
35347 						x = (*x)._kind_6.sons->data[((NI) 1)];
35348 					}
35349 					LA43_: ;
35350 					xx = semExprWithType__sem_56(c, x, 0);
35351 					add__ast_4797(result, xx);
35352 					typ = commonType__sem_237(c, typ, (*xx).typ);
35353 					inc__int495056_251((&lastIndex), ((NU32) 1));
35354 					i_2 += ((NI) 1);
35355 				} LA26: ;
35356 			}
35357 		}
35358 		addSonSkipIntLit__magicsys_136((*result).typ, typ, (*c).Sup.idgen);
35359 		{
35360 			NI i_3;
35361 			NI colontmp__2;
35362 			NI i_4;
35363 			i_3 = (NI)0;
35364 			colontmp__2 = (NI)0;
35365 			colontmp__2 = len__ast_3198(result);
35366 			i_4 = ((NI) 0);
35367 			{
35368 				while (1) {
35369 					if (!(i_4 < colontmp__2)) goto LA54;
35370 					i_3 = i_4;
35371 					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));
35372 					i_4 += ((NI) 1);
35373 				} LA54: ;
35374 			}
35375 		}
35376 	}
35377 	LA1_: ;
35378 	T55_ = (NI64)0;
35379 	T55_ = toInt64__int495056_88(firstIndex);
35380 	T56_ = (NI64)0;
35381 	T56_ = toInt64__int495056_88(lastIndex);
35382 	asgnRef((void**) (&(*(*result).typ).sons->data[((NI) 0)]), makeRangeType__semdata_1039(c, T55_, T56_, (*n).info, indexType));
35383 	return result;
35384 }
N_NIMCALL(NIM_BOOL,isCastable__sem_14277)35385 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCastable__sem_14277)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* dst, tyObject_TType__facALICuu8zUj0hjvbTLFg* src) {
35386 	NIM_BOOL result;
35387 	tyObject_TType__facALICuu8zUj0hjvbTLFg* src_2;
35388 	tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf;
35389 	NI64 dstSize;
35390 	NI64 srcSize;
35391 {	result = (NIM_BOOL)0;
35392 	src_2 = skipTypes__ast_3735(src, TM__rF9caJawfOjYTjsgLVUSGFA_739);
35393 	{
35394 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
35395 		T3_ = NIM_NIL;
35396 		T3_ = skipTypes__ast_3735(dst, TM__rF9caJawfOjYTjsgLVUSGFA_740);
35397 		if (!((*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27))) goto LA4_;
35398 		result = NIM_FALSE;
35399 		goto BeforeRet_;
35400 	}
35401 	LA4_: ;
35402 	{
35403 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
35404 		T8_ = NIM_NIL;
35405 		T8_ = skipTypes__ast_3735(src_2, TM__rF9caJawfOjYTjsgLVUSGFA_5);
35406 		if (!((*T8_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA9_;
35407 		result = NIM_FALSE;
35408 		goto BeforeRet_;
35409 	}
35410 	LA9_: ;
35411 	{
35412 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
35413 		T13_ = NIM_NIL;
35414 		T13_ = skipTypes__ast_3735(dst, TM__rF9caJawfOjYTjsgLVUSGFA_70);
35415 		if (!((*T13_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51))) goto LA14_;
35416 		result = NIM_FALSE;
35417 		goto BeforeRet_;
35418 	}
35419 	LA14_: ;
35420 	conf = (*(*c).graph).config;
35421 	{
35422 		tyObject_TType__facALICuu8zUj0hjvbTLFg* d;
35423 		tyObject_TType__facALICuu8zUj0hjvbTLFg* s;
35424 		if (!((48 &((NU16)1<<((NU)((*conf).selectedGC)&15U)))!=0)) goto LA18_;
35425 		d = skipTypes__ast_3735(dst, TM__rF9caJawfOjYTjsgLVUSGFA_70);
35426 		s = skipTypes__ast_3735(src_2, TM__rF9caJawfOjYTjsgLVUSGFA_70);
35427 		{
35428 			NIM_BOOL T22_;
35429 			NIM_BOOL T23_;
35430 			NIM_BOOL T26_;
35431 			NIM_BOOL T27_;
35432 			T22_ = (NIM_BOOL)0;
35433 			T23_ = (NIM_BOOL)0;
35434 			T23_ = ((*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
35435 			if (!(T23_)) goto LA24_;
35436 			T23_ = ((*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
35437 			LA24_: ;
35438 			T22_ = T23_;
35439 			if (!(T22_)) goto LA25_;
35440 			T26_ = (NIM_BOOL)0;
35441 			T26_ = isFinal__types_750((*s).sons->data[((NI) 0)]);
35442 			T27_ = (NIM_BOOL)0;
35443 			T27_ = isFinal__types_750((*d).sons->data[((NI) 0)]);
35444 			T22_ = !((T26_ == T27_));
35445 			LA25_: ;
35446 			if (!T22_) goto LA28_;
35447 			result = NIM_FALSE;
35448 			goto BeforeRet_;
35449 		}
35450 		goto LA20_;
35451 		LA28_: ;
35452 		{
35453 			NIM_BOOL T31_;
35454 			T31_ = (NIM_BOOL)0;
35455 			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));
35456 			if (!(T31_)) goto LA32_;
35457 			T31_ = ((*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
35458 			LA32_: ;
35459 			if (!T31_) goto LA33_;
35460 			result = NIM_FALSE;
35461 			goto BeforeRet_;
35462 		}
35463 		goto LA20_;
35464 		LA33_: ;
35465 		LA20_: ;
35466 	}
35467 	LA18_: ;
35468 	dstSize = (NI64)0;
35469 	srcSize = (NI64)0;
35470 	dstSize = computeSize__types_3317(conf, dst);
35471 	srcSize = computeSize__types_3317(conf, src_2);
35472 	{
35473 		NIM_BOOL T37_;
35474 		T37_ = (NIM_BOOL)0;
35475 		T37_ = (dstSize == IL64(-3));
35476 		if (T37_) goto LA38_;
35477 		T37_ = (srcSize == IL64(-3));
35478 		LA38_: ;
35479 		if (!T37_) goto LA39_;
35480 		result = NIM_TRUE;
35481 		goto BeforeRet_;
35482 	}
35483 	LA39_: ;
35484 	{
35485 		if (!(dstSize < IL64(0))) goto LA43_;
35486 		result = NIM_FALSE;
35487 	}
35488 	goto LA41_;
35489 	LA43_: ;
35490 	{
35491 		if (!(srcSize < IL64(0))) goto LA46_;
35492 		result = NIM_FALSE;
35493 	}
35494 	goto LA41_;
35495 	LA46_: ;
35496 	{
35497 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T49_;
35498 		T49_ = NIM_NIL;
35499 		T49_ = typeAllowed__typeallowed_472(dst, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3), c, 0);
35500 		if (!!((T49_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA50_;
35501 		result = NIM_FALSE;
35502 	}
35503 	goto LA41_;
35504 	LA50_: ;
35505 	{
35506 		NIM_BOOL T53_;
35507 		NIM_BOOL T57_;
35508 		T53_ = (NIM_BOOL)0;
35509 		T53_ = ((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
35510 		if (!(T53_)) goto LA54_;
35511 		T53_ = ((*dst).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
35512 		LA54_: ;
35513 		if (!T53_) goto LA55_;
35514 		T57_ = (NIM_BOOL)0;
35515 		T57_ = ((*src_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
35516 		if (!(T57_)) goto LA58_;
35517 		T57_ = ((*src_2).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
35518 		LA58_: ;
35519 		result = T57_;
35520 	}
35521 	goto LA41_;
35522 	LA55_: ;
35523 	{
35524 		NIM_BOOL T60_;
35525 		NIM_BOOL T61_;
35526 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T63_;
35527 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T65_;
35528 		T60_ = (NIM_BOOL)0;
35529 		T61_ = (NIM_BOOL)0;
35530 		T61_ = (srcSize <= dstSize);
35531 		if (T61_) goto LA62_;
35532 		T63_ = NIM_NIL;
35533 		T63_ = skipTypes__ast_3735(dst, TM__rF9caJawfOjYTjsgLVUSGFA_70);
35534 		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));
35535 		LA62_: ;
35536 		T60_ = T61_;
35537 		if (T60_) goto LA64_;
35538 		T65_ = NIM_NIL;
35539 		T65_ = skipTypes__ast_3735(src_2, TM__rF9caJawfOjYTjsgLVUSGFA_5);
35540 		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));
35541 		LA64_: ;
35542 		result = T60_;
35543 	}
35544 	LA41_: ;
35545 	{
35546 		NIM_BOOL T68_;
35547 		T68_ = (NIM_BOOL)0;
35548 		T68_ = result;
35549 		if (!(T68_)) goto LA69_;
35550 		T68_ = ((*src_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5));
35551 		LA69_: ;
35552 		if (!T68_) goto LA70_;
35553 		result = ((*dst).size <= ((NI64) ((*conf).target.ptrSize)));
35554 	}
35555 	LA70_: ;
35556 	}BeforeRet_: ;
35557 	return result;
35558 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semCast__sem_14524)35559 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semCast__sem_14524)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
35560 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35561 	tyObject_TType__facALICuu8zUj0hjvbTLFg* targetType;
35562 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* castedExpr;
35563 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T19_;
35564 	result = NIM_NIL;
35565 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
35566 	targetType = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
35567 	castedExpr = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
35568 	{
35569 		NimStringDesc* T5_;
35570 		NimStringDesc* T6_;
35571 		if (!(((*targetType).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 21))&63U)))!=0)) goto LA3_;
35572 		T5_ = NIM_NIL;
35573 		T5_ = typeToString__types_50(targetType, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
35574 		T6_ = NIM_NIL;
35575 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_737), T5_);
35576 		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);
35577 	}
35578 	LA3_: ;
35579 	{
35580 		NIM_BOOL T9_;
35581 		NimStringDesc* tar;
35582 		NimStringDesc* alt;
35583 		NimStringDesc* msg;
35584 		NimStringDesc* T18_;
35585 		T9_ = (NIM_BOOL)0;
35586 		T9_ = isCastable__sem_14277(c, targetType, (*castedExpr).typ);
35587 		if (!!(T9_)) goto LA10_;
35588 		tar = typeToString__types_50(targetType, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
35589 		alt = typeToString__types_50(targetType, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
35590 		{
35591 			NimStringDesc* T16_;
35592 			if (!!(eqStrings(tar, alt))) goto LA14_;
35593 			T16_ = NIM_NIL;
35594 			T16_ = rawNewString((tar ? tar->Sup.len : 0) + (alt ? alt->Sup.len : 0) + 1);
35595 appendString(T16_, tar);
35596 appendString(T16_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_178));
35597 appendString(T16_, alt);
35598 			msg = T16_;
35599 		}
35600 		goto LA12_;
35601 		LA14_: ;
35602 		{
35603 			msg = tar;
35604 		}
35605 		LA12_: ;
35606 		T18_ = NIM_NIL;
35607 		T18_ = rawNewString((msg ? msg->Sup.len : 0) + 29);
35608 appendString(T18_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_741));
35609 appendString(T18_, msg);
35610 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T18_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_742, NIM_FALSE);
35611 	}
35612 	LA10_: ;
35613 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61), (*n).info);
35614 	asgnRef((void**) (&(*result).typ), targetType);
35615 	T19_ = NIM_NIL;
35616 	T19_ = copyTree__ast_4431((*n)._kind_6.sons->data[((NI) 0)]);
35617 	add__ast_4797(result, T19_);
35618 	add__ast_4797(result, castedExpr);
35619 	return result;
35620 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprBranch__sem_9264)35621 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprBranch__sem_9264)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
35622 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35623 	result = NIM_NIL;
35624 	result = semExpr__sem_52(c, n, flags);
35625 	{
35626 		if (!!(((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3_;
35627 		{
35628 			if (!((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA7_;
35629 			result = newDeref__lowerings_11(result);
35630 		}
35631 		LA7_: ;
35632 	}
35633 	LA3_: ;
35634 	return result;
35635 }
N_NIMCALL(NIM_BOOL,endsInNoReturn__sem_416)35636 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, endsInNoReturn__sem_416)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
35637 	NIM_BOOL result;
35638 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
35639 	NIM_BOOL T6_;
35640 	NIM_BOOL T8_;
35641 	NIM_BOOL T9_;
35642 	result = (NIM_BOOL)0;
35643 	it = n;
35644 	{
35645 		while (1) {
35646 			NIM_BOOL T3_;
35647 			NI T5_;
35648 			T3_ = (NIM_BOOL)0;
35649 			T3_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
35650 			if (!(T3_)) goto LA4_;
35651 			T5_ = (NI)0;
35652 			T5_ = len__ast_3198(it);
35653 			T3_ = (((NI) 0) < T5_);
35654 			LA4_: ;
35655 			if (!T3_) goto LA2;
35656 			it = lastSon__ast_4832(it);
35657 		} LA2: ;
35658 	}
35659 	T6_ = (NIM_BOOL)0;
35660 	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));
35661 	if (T6_) goto LA7_;
35662 	T8_ = (NIM_BOOL)0;
35663 	T9_ = (NIM_BOOL)0;
35664 	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));
35665 	if (!(T9_)) goto LA10_;
35666 	T9_ = ((*(*it)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
35667 	LA10_: ;
35668 	T8_ = T9_;
35669 	if (!(T8_)) goto LA11_;
35670 	T8_ = (((*(*(*it)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 16))&63U)))!=0);
35671 	LA11_: ;
35672 	T6_ = T8_;
35673 	LA7_: ;
35674 	result = T6_;
35675 	return result;
35676 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,commonType__sem_448)35677 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, commonType__sem_448)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
35678 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
35679 {	result = NIM_NIL;
35680 	{
35681 		NIM_BOOL T3_;
35682 		T3_ = (NIM_BOOL)0;
35683 		T3_ = endsInNoReturn__sem_416(y);
35684 		if (!T3_) goto LA4_;
35685 		result = x;
35686 		goto BeforeRet_;
35687 	}
35688 	LA4_: ;
35689 	result = commonType__sem_237(c, x, (*y).typ);
35690 	}BeforeRet_: ;
35691 	return result;
35692 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprBranchScope__sem_9277)35693 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprBranchScope__sem_9277)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
35694 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35695 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
35696 	result = NIM_NIL;
35697 	T1_ = NIM_NIL;
35698 	T1_ = openScope__lookups_69(c);
35699 	result = semExprBranch__sem_9264(c, n, 0);
35700 	closeScope__lookups_101(c);
35701 	return result;
35702 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semIf__sem_9366)35703 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIf__sem_9366)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
35704 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35705 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
35706 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
35707 	NIM_BOOL hasElse;
35708 	result = NIM_NIL;
35709 	result = n;
35710 	T1_ = NIM_NIL;
35711 	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*) newObj((&NTIptype__qt2Wh0elFEz5fH0l7yusLw_), sizeof(tyObject_TType__facALICuu8zUj0hjvbTLFg));
35712 	(*T1_).Sup.Sup.m_type = (&NTIttype__facALICuu8zUj0hjvbTLFg_);
35713 	(*T1_).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6);
35714 	typ = T1_;
35715 	hasElse = NIM_FALSE;
35716 	{
35717 		NI i;
35718 		NI colontmp_;
35719 		NI i_2;
35720 		i = (NI)0;
35721 		colontmp_ = (NI)0;
35722 		colontmp_ = len__ast_3198(n);
35723 		i_2 = ((NI) 0);
35724 		{
35725 			while (1) {
35726 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
35727 				if (!(i_2 < colontmp_)) goto LA4;
35728 				i = i_2;
35729 				it = (*n)._kind_6.sons->data[i];
35730 				{
35731 					NI T7_;
35732 					tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T10_;
35733 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
35734 					T7_ = (NI)0;
35735 					T7_ = len__ast_3198(it);
35736 					if (!(T7_ == ((NI) 2))) goto LA8_;
35737 					T10_ = NIM_NIL;
35738 					T10_ = openScope__lookups_69(c);
35739 					T11_ = NIM_NIL;
35740 					T11_ = semExprWithType__sem_56(c, (*it)._kind_6.sons->data[((NI) 0)], 0);
35741 					asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 0)]), forceBool__sem_2869(c, T11_));
35742 					asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 1)]), semExprBranch__sem_9264(c, (*it)._kind_6.sons->data[((NI) 1)], flags));
35743 					typ = commonType__sem_448(c, typ, (*it)._kind_6.sons->data[((NI) 1)]);
35744 					closeScope__lookups_101(c);
35745 				}
35746 				goto LA5_;
35747 				LA8_: ;
35748 				{
35749 					NI T13_;
35750 					T13_ = (NI)0;
35751 					T13_ = len__ast_3198(it);
35752 					if (!(T13_ == ((NI) 1))) goto LA14_;
35753 					hasElse = NIM_TRUE;
35754 					asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 0)]), semExprBranchScope__sem_9277(c, (*it)._kind_6.sons->data[((NI) 0)]));
35755 					typ = commonType__sem_448(c, typ, (*it)._kind_6.sons->data[((NI) 0)]);
35756 				}
35757 				goto LA5_;
35758 				LA14_: ;
35759 				{
35760 					illFormedAst__semdata_1071(it, (*(*c).graph).config);
35761 				}
35762 				LA5_: ;
35763 				i_2 += ((NI) 1);
35764 			} LA4: ;
35765 		}
35766 	}
35767 	{
35768 		NIM_BOOL T19_;
35769 		NIM_BOOL T20_;
35770 		NIM_BOOL T23_;
35771 		T19_ = (NIM_BOOL)0;
35772 		T20_ = (NIM_BOOL)0;
35773 		T20_ = isEmptyType__ast_4779(typ);
35774 		if (T20_) goto LA21_;
35775 		T20_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
35776 		LA21_: ;
35777 		T19_ = T20_;
35778 		if (T19_) goto LA22_;
35779 		T23_ = (NIM_BOOL)0;
35780 		T23_ = !(hasElse);
35781 		if (!(T23_)) goto LA24_;
35782 		T23_ = !(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0));
35783 		LA24_: ;
35784 		T19_ = T23_;
35785 		LA22_: ;
35786 		if (!T19_) goto LA25_;
35787 		{
35788 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it_2;
35789 			it_2 = NIM_NIL;
35790 			{
35791 				NI i_3;
35792 				NI colontmp__2;
35793 				NI i_4;
35794 				i_3 = (NI)0;
35795 				colontmp__2 = (NI)0;
35796 				colontmp__2 = safeLen__ast_3191(n);
35797 				i_4 = ((NI) 0);
35798 				{
35799 					while (1) {
35800 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
35801 						if (!(i_4 < colontmp__2)) goto LA30;
35802 						i_3 = i_4;
35803 						it_2 = (*n)._kind_6.sons->data[i_3];
35804 						T31_ = NIM_NIL;
35805 						T31_ = lastSon__ast_4832(it_2);
35806 						discardCheck__sem_9323(c, T31_, flags);
35807 						i_4 += ((NI) 1);
35808 					} LA30: ;
35809 				}
35810 			}
35811 		}
35812 		transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 92));
35813 		{
35814 			if (!(typ == (*c).enforceVoidContext)) goto LA34_;
35815 			asgnRef((void**) (&(*result).typ), (*c).enforceVoidContext);
35816 		}
35817 		LA34_: ;
35818 	}
35819 	goto LA17_;
35820 	LA25_: ;
35821 	{
35822 		{
35823 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it_3;
35824 			it_3 = NIM_NIL;
35825 			{
35826 				NI i_5;
35827 				NI colontmp__3;
35828 				NI i_6;
35829 				i_5 = (NI)0;
35830 				colontmp__3 = (NI)0;
35831 				colontmp__3 = safeLen__ast_3191(n);
35832 				i_6 = ((NI) 0);
35833 				{
35834 					while (1) {
35835 						NI j;
35836 						NI T41_;
35837 						if (!(i_6 < colontmp__3)) goto LA40;
35838 						i_5 = i_6;
35839 						it_3 = (*n)._kind_6.sons->data[i_5];
35840 						T41_ = (NI)0;
35841 						T41_ = len__ast_3198(it_3);
35842 						j = (NI)(T41_ - ((NI) 1));
35843 						{
35844 							NIM_BOOL T44_;
35845 							T44_ = (NIM_BOOL)0;
35846 							T44_ = endsInNoReturn__sem_416((*it_3)._kind_6.sons->data[j]);
35847 							if (!!(T44_)) goto LA45_;
35848 							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));
35849 						}
35850 						LA45_: ;
35851 						i_6 += ((NI) 1);
35852 					} LA40: ;
35853 				}
35854 			}
35855 		}
35856 		transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 48));
35857 		asgnRef((void**) (&(*result).typ), typ);
35858 	}
35859 	LA17_: ;
35860 	return result;
35861 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTableConstr__sem_18848)35862 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTableConstr__sem_18848)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
35863 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35864 	NI lastKey;
35865 	result = NIM_NIL;
35866 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*n).info);
35867 	lastKey = ((NI) 0);
35868 	{
35869 		NI i;
35870 		NI colontmp_;
35871 		NI i_2;
35872 		i = (NI)0;
35873 		colontmp_ = (NI)0;
35874 		colontmp_ = len__ast_3198(n);
35875 		i_2 = ((NI) 0);
35876 		{
35877 			while (1) {
35878 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
35879 				if (!(i_2 < colontmp_)) goto LA3;
35880 				i = i_2;
35881 				x = (*n)._kind_6.sons->data[i];
35882 				{
35883 					NIM_BOOL T6_;
35884 					NI T8_;
35885 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pair_2;
35886 					T6_ = (NIM_BOOL)0;
35887 					T6_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34));
35888 					if (!(T6_)) goto LA7_;
35889 					T8_ = (NI)0;
35890 					T8_ = len__ast_3198(x);
35891 					T6_ = (T8_ == ((NI) 2));
35892 					LA7_: ;
35893 					if (!T6_) goto LA9_;
35894 					{
35895 						NI j;
35896 						NI i_3;
35897 						j = (NI)0;
35898 						i_3 = lastKey;
35899 						{
35900 							while (1) {
35901 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pair;
35902 								if (!(i_3 < i)) goto LA13;
35903 								j = i_3;
35904 								pair = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), (*x).info);
35905 								add__ast_4797(pair, (*n)._kind_6.sons->data[j]);
35906 								add__ast_4797(pair, (*x)._kind_6.sons->data[((NI) 1)]);
35907 								add__ast_4797(result, pair);
35908 								i_3 += ((NI) 1);
35909 							} LA13: ;
35910 						}
35911 					}
35912 					pair_2 = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), (*x).info);
35913 					add__ast_4797(pair_2, (*x)._kind_6.sons->data[((NI) 0)]);
35914 					add__ast_4797(pair_2, (*x)._kind_6.sons->data[((NI) 1)]);
35915 					add__ast_4797(result, pair_2);
35916 					lastKey = (NI)(i + ((NI) 1));
35917 				}
35918 				LA9_: ;
35919 				i_2 += ((NI) 1);
35920 			} LA3: ;
35921 		}
35922 	}
35923 	{
35924 		NI T16_;
35925 		T16_ = (NI)0;
35926 		T16_ = len__ast_3198(n);
35927 		if (!!((lastKey == T16_))) goto LA17_;
35928 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
35929 	}
35930 	LA17_: ;
35931 	result = semExpr__sem_52(c, result, 0);
35932 	return result;
35933 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semBlock__sem_19802)35934 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBlock__sem_19802)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
35935 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35936 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
35937 	result = NIM_NIL;
35938 	result = n;
35939 	(*(*c).p).nestedBlockCounter += ((NI) 1);
35940 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
35941 	T1_ = NIM_NIL;
35942 	T1_ = openScope__lookups_69(c);
35943 	{
35944 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* labl;
35945 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA4_;
35946 		labl = newSymG__sem_458(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 22), (*n)._kind_6.sons->data[((NI) 0)], c);
35947 		{
35948 			if (!!((((*labl).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA8_;
35949 			addDecl__lookups_845(c, labl);
35950 		}
35951 		goto LA6_;
35952 		LA8_: ;
35953 		{
35954 			if (!((*labl).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA11_;
35955 			asgnRef((void**) (&(*labl).owner), (*(*c).p).owner);
35956 		}
35957 		goto LA6_;
35958 		LA11_: ;
35959 		LA6_: ;
35960 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(labl, (*(*n)._kind_6.sons->data[((NI) 0)]).info));
35961 		suggestSym__sigmatch_5375((*c).graph, (*(*n)._kind_6.sons->data[((NI) 0)]).info, labl, &(*(*c).graph).usageSym, NIM_TRUE);
35962 		{
35963 			NIM_BOOL T15_;
35964 			T15_ = (NIM_BOOL)0;
35965 			T15_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
35966 			if (!(T15_)) goto LA16_;
35967 			T15_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
35968 			LA16_: ;
35969 			if (!T15_) goto LA17_;
35970 			nep1CheckDefImpl__linter_110((*(*c).graph).config, (*labl).info, labl, (*labl).kind);
35971 		}
35972 		LA17_: ;
35973 	}
35974 	LA4_: ;
35975 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 1)], flags));
35976 	asgnRef((void**) (&(*n).typ), (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
35977 	{
35978 		NIM_BOOL T21_;
35979 		T21_ = (NIM_BOOL)0;
35980 		T21_ = isEmptyType__ast_4779((*n).typ);
35981 		if (!T21_) goto LA22_;
35982 		transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 112));
35983 	}
35984 	goto LA19_;
35985 	LA22_: ;
35986 	{
35987 		transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 127));
35988 	}
35989 	LA19_: ;
35990 	closeScope__lookups_101(c);
35991 	(*(*c).p).nestedBlockCounter -= ((NI) 1);
35992 	return result;
35993 }
N_NIMCALL(void,inferConceptStaticParam__sem_13725)35994 N_LIB_PRIVATE N_NIMCALL(void, inferConceptStaticParam__sem_13725)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* inferred, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
35995 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
35996 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res;
35997 	typ = (*inferred).typ;
35998 	res = semConstExpr__sem_611(c, n);
35999 	{
36000 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
36001 		NIM_BOOL T4_;
36002 		NimStringDesc* T7_;
36003 		tyArray__24KAM9afIUgUaqBaEBB6r9bg T8_;
36004 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T9_;
36005 		NimStringDesc* T10_;
36006 		T3_ = NIM_NIL;
36007 		T3_ = base__types_63(typ);
36008 		T4_ = (NIM_BOOL)0;
36009 		T4_ = sameType__types_1824((*res).typ, T3_, 0);
36010 		if (!!(T4_)) goto LA5_;
36011 		T7_ = NIM_NIL;
36012 		nimZeroMem((void*)T8_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
36013 		T8_[0] = renderTree__renderer_46(inferred, 0);
36014 		T8_[1] = typeToString__types_50((*res).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
36015 		T9_ = NIM_NIL;
36016 		T9_ = base__types_63(typ);
36017 		T8_[2] = typeToString__types_50(T9_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
36018 		T10_ = NIM_NIL;
36019 		T10_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_745), T8_, 3);
36020 		T7_ = rawNewString((T10_ ? T10_->Sup.len : 0) + 65);
36021 appendString(T7_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_744));
36022 appendString(T7_, T10_);
36023 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T7_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_746, NIM_FALSE);
36024 	}
36025 	LA5_: ;
36026 	asgnRef((void**) (&(*typ).n), res);
36027 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semStmtList__sem_13731)36028 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStmtList__sem_13731)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
36029 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
36030 	NIM_BOOL voidContext;
36031 	NI last;
36032 	NI T1_;
36033 	result = NIM_NIL;
36034 	result = n;
36035 	transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 115));
36036 	voidContext = NIM_FALSE;
36037 	T1_ = (NI)0;
36038 	T1_ = len__ast_3198(n);
36039 	last = (NI)(T1_ - ((NI) 1));
36040 	{
36041 		NI i;
36042 		NI colontmp_;
36043 		NI i_2;
36044 		i = (NI)0;
36045 		colontmp_ = (NI)0;
36046 		colontmp_ = len__ast_3198(n);
36047 		i_2 = ((NI) 0);
36048 		{
36049 			while (1) {
36050 				if (!(i_2 < colontmp_)) goto LA4;
36051 				i = i_2;
36052 				{
36053 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
36054 					x = semExpr__sem_52(c, (*n)._kind_6.sons->data[i], flags);
36055 					asgnRef((void**) (&(*n)._kind_6.sons->data[i]), x);
36056 					{
36057 						NIM_BOOL T8_;
36058 						NIM_BOOL T9_;
36059 						NIM_BOOL T12_;
36060 						T8_ = (NIM_BOOL)0;
36061 						T9_ = (NIM_BOOL)0;
36062 						T9_ = !(((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)));
36063 						if (!(T9_)) goto LA10_;
36064 						T9_ = !(((*x).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
36065 						LA10_: ;
36066 						T8_ = T9_;
36067 						if (!(T8_)) goto LA11_;
36068 						T12_ = (NIM_BOOL)0;
36069 						T12_ = !((((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 17))&31U)))!=0));
36070 						if (T12_) goto LA13_;
36071 						T12_ = !((i == last));
36072 						LA13_: ;
36073 						T8_ = T12_;
36074 						LA11_: ;
36075 						if (!T8_) goto LA14_;
36076 						switch ((*(*x).typ).kind) {
36077 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
36078 						{
36079 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* verdict;
36080 							{
36081 								NIM_BOOL T19_;
36082 								NIM_BOOL T20_;
36083 								T19_ = (NIM_BOOL)0;
36084 								T20_ = (NIM_BOOL)0;
36085 								T20_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29));
36086 								if (!(T20_)) goto LA21_;
36087 								T20_ = ((*(*x)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
36088 								LA21_: ;
36089 								T19_ = T20_;
36090 								if (!(T19_)) goto LA22_;
36091 								T19_ = eqStrings((*(*(*(*x)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_743));
36092 								LA22_: ;
36093 								if (!T19_) goto LA23_;
36094 								{
36095 									NIM_BOOL T27_;
36096 									T27_ = (NIM_BOOL)0;
36097 									T27_ = isUnresolvedStatic__ast_3517((*(*x)._kind_6.sons->data[((NI) 1)]).typ);
36098 									if (!T27_) goto LA28_;
36099 									inferConceptStaticParam__sem_13725(c, (*x)._kind_6.sons->data[((NI) 1)], (*x)._kind_6.sons->data[((NI) 2)]);
36100 									goto LA5;
36101 								}
36102 								goto LA25_;
36103 								LA28_: ;
36104 								{
36105 									NIM_BOOL T31_;
36106 									T31_ = (NIM_BOOL)0;
36107 									T31_ = isUnresolvedStatic__ast_3517((*(*x)._kind_6.sons->data[((NI) 2)]).typ);
36108 									if (!T31_) goto LA32_;
36109 									inferConceptStaticParam__sem_13725(c, (*x)._kind_6.sons->data[((NI) 2)], (*x)._kind_6.sons->data[((NI) 1)]);
36110 									goto LA5;
36111 								}
36112 								goto LA25_;
36113 								LA32_: ;
36114 								LA25_: ;
36115 							}
36116 							LA23_: ;
36117 							verdict = semConstExpr__sem_611(c, (*n)._kind_6.sons->data[i]);
36118 							{
36119 								NIM_BOOL T36_;
36120 								NIM_BOOL T37_;
36121 								T36_ = (NIM_BOOL)0;
36122 								T37_ = (NIM_BOOL)0;
36123 								T37_ = (verdict == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
36124 								if (T37_) goto LA38_;
36125 								T37_ = !(((*verdict).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)));
36126 								LA38_: ;
36127 								T36_ = T37_;
36128 								if (T36_) goto LA39_;
36129 								T36_ = ((*verdict)._kind_1.intVal == IL64(0));
36130 								LA39_: ;
36131 								if (!T36_) goto LA40_;
36132 								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);
36133 							}
36134 							LA40_: ;
36135 						}
36136 						break;
36137 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
36138 						{
36139 							goto LA5;
36140 						}
36141 						break;
36142 						default:
36143 						{
36144 						}
36145 						break;
36146 						}
36147 					}
36148 					LA14_: ;
36149 					{
36150 						if (!((*(*n)._kind_6.sons->data[i]).typ == (*c).enforceVoidContext)) goto LA46_;
36151 						voidContext = NIM_TRUE;
36152 						asgnRef((void**) (&(*n).typ), (*c).enforceVoidContext);
36153 					}
36154 					LA46_: ;
36155 					{
36156 						NIM_BOOL T50_;
36157 						NIM_BOOL T52_;
36158 						NI T53_;
36159 						T50_ = (NIM_BOOL)0;
36160 						T50_ = (i == last);
36161 						if (!(T50_)) goto LA51_;
36162 						T52_ = (NIM_BOOL)0;
36163 						T53_ = (NI)0;
36164 						T53_ = len__ast_3198(n);
36165 						T52_ = (T53_ == ((NI) 1));
36166 						if (T52_) goto LA54_;
36167 						T52_ = !(((2056 & flags) == 0));
36168 						LA54_: ;
36169 						T50_ = T52_;
36170 						LA51_: ;
36171 						if (!T50_) goto LA55_;
36172 						asgnRef((void**) (&(*n).typ), (*(*n)._kind_6.sons->data[i]).typ);
36173 						{
36174 							NIM_BOOL T59_;
36175 							T59_ = (NIM_BOOL)0;
36176 							T59_ = isEmptyType__ast_4779((*n).typ);
36177 							if (!!(T59_)) goto LA60_;
36178 							transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 126));
36179 						}
36180 						LA60_: ;
36181 					}
36182 					goto LA48_;
36183 					LA55_: ;
36184 					{
36185 						NIM_BOOL T63_;
36186 						T63_ = (NIM_BOOL)0;
36187 						T63_ = !((i == last));
36188 						if (T63_) goto LA64_;
36189 						T63_ = voidContext;
36190 						LA64_: ;
36191 						if (!T63_) goto LA65_;
36192 						discardCheck__sem_9323(c, (*n)._kind_6.sons->data[i], flags);
36193 					}
36194 					goto LA48_;
36195 					LA65_: ;
36196 					{
36197 						asgnRef((void**) (&(*n).typ), (*(*n)._kind_6.sons->data[i]).typ);
36198 						{
36199 							NIM_BOOL T70_;
36200 							T70_ = (NIM_BOOL)0;
36201 							T70_ = isEmptyType__ast_4779((*n).typ);
36202 							if (!!(T70_)) goto LA71_;
36203 							transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 126));
36204 						}
36205 						LA71_: ;
36206 					}
36207 					LA48_: ;
36208 					{
36209 						NIM_BOOL T75_;
36210 						NIM_BOOL T77_;
36211 						NIM_BOOL T78_;
36212 						T75_ = (NIM_BOOL)0;
36213 						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));
36214 						if (T75_) goto LA76_;
36215 						T77_ = (NIM_BOOL)0;
36216 						T78_ = (NIM_BOOL)0;
36217 						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));
36218 						if (!(T78_)) goto LA79_;
36219 						T78_ = ((*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
36220 						LA79_: ;
36221 						T77_ = T78_;
36222 						if (!(T77_)) goto LA80_;
36223 						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);
36224 						LA80_: ;
36225 						T75_ = T77_;
36226 						LA76_: ;
36227 						if (!T75_) goto LA81_;
36228 						{
36229 							NI j;
36230 							NI colontmp__2;
36231 							NI colontmp__3;
36232 							NI i_3;
36233 							j = (NI)0;
36234 							colontmp__2 = (NI)0;
36235 							colontmp__3 = (NI)0;
36236 							colontmp__2 = (NI)(i + ((NI) 1));
36237 							colontmp__3 = len__ast_3198(n);
36238 							i_3 = colontmp__2;
36239 							{
36240 								while (1) {
36241 									if (!(i_3 < colontmp__3)) goto LA85;
36242 									j = i_3;
36243 									switch ((*(*n)._kind_6.sons->data[j]).kind) {
36244 									case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
36245 									case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
36246 									case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
36247 									case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
36248 									case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 157):
36249 									{
36250 									}
36251 									break;
36252 									default:
36253 									{
36254 										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);
36255 									}
36256 									break;
36257 									}
36258 									i_3 += ((NI) 1);
36259 								} LA85: ;
36260 							}
36261 						}
36262 					}
36263 					goto LA73_;
36264 					LA81_: ;
36265 					{
36266 					}
36267 					LA73_: ;
36268 				} LA5: ;
36269 				i_2 += ((NI) 1);
36270 			} LA4: ;
36271 		}
36272 	}
36273 	{
36274 		NIM_BOOL T91_;
36275 		NIM_BOOL T92_;
36276 		NIM_BOOL T93_;
36277 		NI T94_;
36278 		T91_ = (NIM_BOOL)0;
36279 		T92_ = (NIM_BOOL)0;
36280 		T93_ = (NIM_BOOL)0;
36281 		T94_ = (NI)0;
36282 		T94_ = len__ast_3198(result);
36283 		T93_ = (T94_ == ((NI) 1));
36284 		if (!(T93_)) goto LA95_;
36285 		T93_ = ((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL));
36286 		LA95_: ;
36287 		T92_ = T93_;
36288 		if (!(T92_)) goto LA96_;
36289 		T92_ = !((((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 16))&31U)))!=0));
36290 		LA96_: ;
36291 		T91_ = T92_;
36292 		if (!(T91_)) goto LA97_;
36293 		T91_ = !(((*(*result)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 105)));
36294 		LA97_: ;
36295 		if (!T91_) goto LA98_;
36296 		result = (*result)._kind_6.sons->data[((NI) 0)];
36297 	}
36298 	LA98_: ;
36299 	return result;
36300 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semRaise__sem_11562)36301 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semRaise__sem_11562)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
36302 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
36303 	result = NIM_NIL;
36304 	result = n;
36305 	checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
36306 	{
36307 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
36308 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
36309 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0));
36310 		typ = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
36311 		{
36312 			NIM_BOOL T7_;
36313 			T7_ = (NIM_BOOL)0;
36314 			T7_ = isImportedException__ast_4904(typ, (*(*c).graph).config);
36315 			if (!!(T7_)) goto LA8_;
36316 			typ = skipTypes__ast_3735(typ, TM__rF9caJawfOjYTjsgLVUSGFA_750);
36317 			{
36318 				if (!!(((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22)))) goto LA12_;
36319 				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);
36320 			}
36321 			LA12_: ;
36322 			{
36323 				NIM_BOOL T16_;
36324 				NI T17_;
36325 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T19_;
36326 				NIM_BOOL T20_;
36327 				NimStringDesc* T23_;
36328 				NimStringDesc* T24_;
36329 				T16_ = (NIM_BOOL)0;
36330 				T17_ = (NI)0;
36331 				T17_ = len__ast_4002(typ);
36332 				T16_ = (((NI) 0) < T17_);
36333 				if (!(T16_)) goto LA18_;
36334 				T19_ = NIM_NIL;
36335 				T19_ = lastSon__ast_3743(typ);
36336 				T20_ = (NIM_BOOL)0;
36337 				T20_ = isException__types_4000(T19_);
36338 				T16_ = !(T20_);
36339 				LA18_: ;
36340 				if (!T16_) goto LA21_;
36341 				T23_ = NIM_NIL;
36342 				T23_ = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
36343 				T24_ = NIM_NIL;
36344 				T24_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_753), T23_);
36345 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T24_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_754, NIM_FALSE);
36346 			}
36347 			LA21_: ;
36348 		}
36349 		LA8_: ;
36350 	}
36351 	LA3_: ;
36352 	return result;
36353 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semLowerLetVarCustomPragma__sem_9949)36354 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semLowerLetVarCustomPragma__sem_9949)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
36355 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
36356 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
36357 {	result = NIM_NIL;
36358 	b = (*a)._kind_6.sons->data[((NI) 0)];
36359 	{
36360 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nodePragma;
36361 		NIM_BOOL amb;
36362 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
36363 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lhs;
36364 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* clash;
36365 		tyArray__cypz0nHJsd9cnKgpO7fP5hQ T41_;
36366 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ret;
36367 		if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA3_;
36368 		{
36369 			NI T7_;
36370 			T7_ = (NI)0;
36371 			T7_ = len__ast_3198((*b)._kind_6.sons->data[((NI) 1)]);
36372 			if (!!((T7_ == ((NI) 1)))) goto LA8_;
36373 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
36374 			goto BeforeRet_;
36375 		}
36376 		LA8_: ;
36377 		nodePragma = (*(*b)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)];
36378 		amb = NIM_FALSE;
36379 		sym = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
36380 		switch ((*nodePragma).kind) {
36381 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
36382 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
36383 		{
36384 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
36385 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* userPragma;
36386 			tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw w;
36387 			ident = considerQuotedIdent__lookups_28(c, nodePragma, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
36388 			userPragma = strTableGet__astalgo_3390((*c).userPragmas, ident);
36389 			{
36390 				if (!!((userPragma == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA13_;
36391 				result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
36392 				goto BeforeRet_;
36393 			}
36394 			LA13_: ;
36395 			w = whichPragma__trees_244(nodePragma);
36396 			{
36397 				NIM_BOOL T17_;
36398 				NIM_BOOL T18_;
36399 				NIM_BOOL T19_;
36400 				NIM_BOOL T22_;
36401 				NIM_BOOL T25_;
36402 				T17_ = (NIM_BOOL)0;
36403 				T18_ = (NIM_BOOL)0;
36404 				T19_ = (NIM_BOOL)0;
36405 				T19_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99));
36406 				if (!(T19_)) goto LA20_;
36407 				T19_ = ((TM__rF9caJawfOjYTjsgLVUSGFA_120[(NU)(w)>>3] &(1U<<((NU)(w)&7U)))!=0);
36408 				LA20_: ;
36409 				T18_ = T19_;
36410 				if (T18_) goto LA21_;
36411 				T22_ = (NIM_BOOL)0;
36412 				T22_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100));
36413 				if (!(T22_)) goto LA23_;
36414 				T22_ = ((TM__rF9caJawfOjYTjsgLVUSGFA_120[(NU)(w)>>3] &(1U<<((NU)(w)&7U)))!=0);
36415 				LA23_: ;
36416 				T18_ = T22_;
36417 				LA21_: ;
36418 				T17_ = T18_;
36419 				if (T17_) goto LA24_;
36420 				T25_ = (NIM_BOOL)0;
36421 				T25_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101));
36422 				if (!(T25_)) goto LA26_;
36423 				T25_ = ((TM__rF9caJawfOjYTjsgLVUSGFA_121[(NU)(w)>>3] &(1U<<((NU)(w)&7U)))!=0);
36424 				LA26_: ;
36425 				T17_ = T25_;
36426 				LA24_: ;
36427 				if (!T17_) goto LA27_;
36428 				result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
36429 				goto BeforeRet_;
36430 			}
36431 			LA27_: ;
36432 			sym = searchInScopes__lookups_423(c, ident, (&amb));
36433 			{
36434 				NIM_BOOL T31_;
36435 				T31_ = (NIM_BOOL)0;
36436 				T31_ = (sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
36437 				if (T31_) goto LA32_;
36438 				T31_ = (((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0);
36439 				LA32_: ;
36440 				if (!T31_) goto LA33_;
36441 				result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
36442 				goto BeforeRet_;
36443 			}
36444 			LA33_: ;
36445 		}
36446 		break;
36447 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
36448 		{
36449 			sym = (*nodePragma)._kind_4.sym;
36450 		}
36451 		break;
36452 		default:
36453 		{
36454 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
36455 			goto BeforeRet_;
36456 		}
36457 		break;
36458 		}
36459 		lhs = (*b)._kind_6.sons->data[((NI) 0)];
36460 		clash = strTableGet__astalgo_3390((*(*c).currentScope).symbols, (*lhs)._kind_5.ident);
36461 		{
36462 			if (!!((clash == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA39_;
36463 			wrongRedefinition__lookups_805(c, (*lhs).info, (*(*lhs)._kind_5.ident).s, (*clash).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14));
36464 		}
36465 		LA39_: ;
36466 		nimZeroMem((void*)T41_, sizeof(tyArray__cypz0nHJsd9cnKgpO7fP5hQ));
36467 		result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T41_, 0);
36468 		add__ast_4797(result, nodePragma);
36469 		add__ast_4797(result, lhs);
36470 		{
36471 			if (!!(((*(*a)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA44_;
36472 			add__ast_4797(result, (*a)._kind_6.sons->data[((NI) 1)]);
36473 		}
36474 		goto LA42_;
36475 		LA44_: ;
36476 		{
36477 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T47_;
36478 			T47_ = NIM_NIL;
36479 			T47_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), (*a).info, (*(*c).graph).sysTypes[(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5))- 0]);
36480 			add__ast_4797(result, T47_);
36481 		}
36482 		LA42_: ;
36483 		add__ast_4797(result, (*a)._kind_6.sons->data[((NI) 2)]);
36484 		(*result).info = (*a).info;
36485 		ret = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*a).info);
36486 		add__ast_4797(ret, result);
36487 		result = semExprNoType__sem_60(c, ret);
36488 	}
36489 	LA3_: ;
36490 	}BeforeRet_: ;
36491 	return result;
36492 }
N_NIMCALL(void,errorSymChoiceUseQualifier__sem_10047)36493 N_LIB_PRIVATE N_NIMCALL(void, errorSymChoiceUseQualifier__sem_10047)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
36494 	NimStringDesc* err;
36495 	NimStringDesc* T1_;
36496 	NimStringDesc* T2_;
36497 	NI i;
36498 	T1_ = NIM_NIL;
36499 	T2_ = NIM_NIL;
36500 	T2_ = dollar___renderer_2106((*n)._kind_6.sons->data[((NI) 0)]);
36501 	T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + 24);
36502 appendString(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_755));
36503 appendString(T1_, T2_);
36504 appendString(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
36505 	err = T1_;
36506 	i = ((NI) 0);
36507 	{
36508 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
36509 		child = NIM_NIL;
36510 		{
36511 			NI i_2;
36512 			NI colontmp_;
36513 			NI i_3;
36514 			i_2 = (NI)0;
36515 			colontmp_ = (NI)0;
36516 			colontmp_ = safeLen__ast_3191(n);
36517 			i_3 = ((NI) 0);
36518 			{
36519 				while (1) {
36520 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* candidate;
36521 					NimStringDesc* T12_;
36522 					if (!(i_3 < colontmp_)) goto LA6;
36523 					i_2 = i_3;
36524 					child = (*n)._kind_6.sons->data[i_2];
36525 					candidate = (*child)._kind_4.sym;
36526 					{
36527 						if (!(i == ((NI) 0))) goto LA9_;
36528 						err = resizeString(err, 30);
36529 appendString(err, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_756));
36530 					}
36531 					goto LA7_;
36532 					LA9_: ;
36533 					{
36534 						err = resizeString(err, 1);
36535 appendString(err, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_270));
36536 					}
36537 					LA7_: ;
36538 					T12_ = NIM_NIL;
36539 					T12_ = rawNewString(((*(*(*candidate).owner).name).s ? (*(*(*candidate).owner).name).s->Sup.len : 0) + ((*(*candidate).name).s ? (*(*candidate).name).s->Sup.len : 0) + 3);
36540 appendString(T12_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_757));
36541 appendString(T12_, (*(*(*candidate).owner).name).s);
36542 appendString(T12_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_209));
36543 appendString(T12_, (*(*candidate).name).s);
36544 					err = resizeString(err, (T12_ ? T12_->Sup.len : 0) + 0);
36545 appendString(err, T12_);
36546 					i += ((NI) 1);
36547 					i_3 += ((NI) 1);
36548 				} LA6: ;
36549 			}
36550 		}
36551 	}
36552 	liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), err, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_758, NIM_FALSE);
36553 }
N_NIMCALL(NIM_BOOL,hasEmpty__sem_9842)36554 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasEmpty__sem_9842)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
36555 	NIM_BOOL result;
36556 	result = (NIM_BOOL)0;
36557 	{
36558 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
36559 		if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19))) goto LA3_;
36560 		T5_ = NIM_NIL;
36561 		T5_ = lastSon__ast_3743(typ);
36562 		result = ((*T5_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
36563 	}
36564 	goto LA1_;
36565 	LA3_: ;
36566 	{
36567 		if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA7_;
36568 		{
36569 			tyObject_TType__facALICuu8zUj0hjvbTLFg** s;
36570 			NI i;
36571 			NI L;
36572 			NI T10_;
36573 			s = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
36574 			i = ((NI) 0);
36575 			T10_ = ((*typ).sons ? (*typ).sons->Sup.len : 0);
36576 			L = T10_;
36577 			{
36578 				while (1) {
36579 					NIM_BOOL T13_;
36580 					if (!(i < L)) goto LA12;
36581 					s = &(*typ).sons->data[i];
36582 					T13_ = (NIM_BOOL)0;
36583 					T13_ = result;
36584 					if (T13_) goto LA14_;
36585 					T13_ = hasEmpty__sem_9842((*s));
36586 					LA14_: ;
36587 					result = T13_;
36588 					i += ((NI) 1);
36589 				} LA12: ;
36590 			}
36591 		}
36592 	}
36593 	goto LA1_;
36594 	LA7_: ;
36595 	LA1_: ;
36596 	return result;
36597 }
N_NIMCALL(void,addToVarSection__sem_9733)36598 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) {
36599 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value;
36600 	NI T1_;
36601 	T1_ = (NI)0;
36602 	T1_ = len__ast_3198(identDefs);
36603 	value = (*identDefs)._kind_6.sons->data[(NI)(T1_ - ((NI) 1))];
36604 	{
36605 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* o;
36606 		if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA4_;
36607 		o = copyNode__ast_4336(orig);
36608 		add__ast_4797(o, identDefs);
36609 		add__ast_4797(result, o);
36610 	}
36611 	goto LA2_;
36612 	LA4_: ;
36613 	{
36614 		add__ast_4797(result, identDefs);
36615 	}
36616 	LA2_: ;
36617 }
N_NIMCALL(void,fillPartialObject__sem_9910)36618 N_LIB_PRIVATE N_NIMCALL(void, fillPartialObject__sem_9910)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
36619 	{
36620 		NI T3_;
36621 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
36622 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* y;
36623 		tyObject_TType__facALICuu8zUj0hjvbTLFg* obj;
36624 		T3_ = (NI)0;
36625 		T3_ = len__ast_3198(n);
36626 		if (!(T3_ == ((NI) 2))) goto LA4_;
36627 		x = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
36628 		y = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
36629 		obj = skipTypes__ast_3735((*x).typ, TM__rF9caJawfOjYTjsgLVUSGFA_97);
36630 		{
36631 			NIM_BOOL T8_;
36632 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
36633 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T12_;
36634 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T13_;
36635 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
36636 			T8_ = (NIM_BOOL)0;
36637 			T8_ = ((*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
36638 			if (!(T8_)) goto LA9_;
36639 			T8_ = (((*obj).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 16))&63U)))!=0);
36640 			LA9_: ;
36641 			if (!T8_) goto LA10_;
36642 			T12_ = NIM_NIL;
36643 			T12_ = getIdent__idents_143((*c).cache, (*y).s);
36644 			T13_ = nextSymId__ast_3132((*c).Sup.idgen);
36645 			field = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19), T12_, T13_, (*obj).sym, (*(*n)._kind_6.sons->data[((NI) 1)]).info, 0);
36646 			asgnRef((void**) (&(*field).typ), skipIntLit__magicsys_124(typ, (*c).Sup.idgen));
36647 			(*field).position = len__ast_3198((*obj).n);
36648 			T14_ = NIM_NIL;
36649 			T14_ = newSymNode__ast_3716(field);
36650 			add__ast_4797((*obj).n, T14_);
36651 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), makeDeref__sem_9872(x));
36652 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), newSymNode__ast_3716(field));
36653 			asgnRef((void**) (&(*n).typ), (*field).typ);
36654 		}
36655 		goto LA6_;
36656 		LA10_: ;
36657 		{
36658 			NimStringDesc* T16_;
36659 			NimStringDesc* T17_;
36660 			T16_ = NIM_NIL;
36661 			T17_ = NIM_NIL;
36662 			T17_ = typeToString__types_50(obj, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
36663 			T16_ = rawNewString((T17_ ? T17_->Sup.len : 0) + 71);
36664 appendString(T16_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_768));
36665 appendString(T16_, T17_);
36666 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T16_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_769, NIM_FALSE);
36667 		}
36668 		LA6_: ;
36669 	}
36670 	goto LA1_;
36671 	LA4_: ;
36672 	{
36673 		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);
36674 	}
36675 	LA1_: ;
36676 }
N_NIMCALL(NIM_BOOL,isDiscardUnderscore__sem_9761)36677 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDiscardUnderscore__sem_9761)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v) {
36678 	NIM_BOOL result;
36679 	result = (NIM_BOOL)0;
36680 	{
36681 		if (!eqStrings((*(*v).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_772))) goto LA3_;
36682 		(*v).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37)) & 63);
36683 		result = NIM_TRUE;
36684 	}
36685 	LA3_: ;
36686 	return result;
36687 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,findShadowedVar__sem_9651)36688 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, findShadowedVar__sem_9651)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v) {
36689 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
36690 {	result = NIM_NIL;
36691 	{
36692 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
36693 		scope = NIM_NIL;
36694 		{
36695 			tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* s;
36696 			tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
36697 			s = NIM_NIL;
36698 			current = (*(*c).currentScope).parent;
36699 			{
36700 				while (1) {
36701 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* shadowed;
36702 					if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA4;
36703 					s = current;
36704 					{
36705 						if (!(s == (*c).topLevelScope)) goto LA7_;
36706 						goto LA2;
36707 					}
36708 					LA7_: ;
36709 					scope = s;
36710 					shadowed = strTableGet__astalgo_3390((*scope).symbols, (*v).name);
36711 					{
36712 						NIM_BOOL T11_;
36713 						T11_ = (NIM_BOOL)0;
36714 						T11_ = !((shadowed == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
36715 						if (!(T11_)) goto LA12_;
36716 						T11_ = ((2099976 &((NU32)1<<((NU)((*shadowed).kind)&31U)))!=0);
36717 						LA12_: ;
36718 						if (!T11_) goto LA13_;
36719 						result = shadowed;
36720 						goto BeforeRet_;
36721 					}
36722 					LA13_: ;
36723 					current = (*current).parent;
36724 				} LA4: ;
36725 			}
36726 		} LA2: ;
36727 	}
36728 	}BeforeRet_: ;
36729 	return result;
36730 }
N_NIMCALL(void,setVarType__sem_9941)36731 N_LIB_PRIVATE N_NIMCALL(void, setVarType__sem_9941)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
36732 	{
36733 		NIM_BOOL T3_;
36734 		NIM_BOOL T5_;
36735 		NimStringDesc* T8_;
36736 		NimStringDesc* T9_;
36737 		NimStringDesc* T10_;
36738 		T3_ = (NIM_BOOL)0;
36739 		T3_ = !(((*v).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
36740 		if (!(T3_)) goto LA4_;
36741 		T5_ = (NIM_BOOL)0;
36742 		T5_ = sameTypeOrNil__types_1848((*v).typ, typ, 0);
36743 		T3_ = !(T5_);
36744 		LA4_: ;
36745 		if (!T3_) goto LA6_;
36746 		T8_ = NIM_NIL;
36747 		T9_ = NIM_NIL;
36748 		T9_ = typeToString__types_50((*v).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
36749 		T10_ = NIM_NIL;
36750 		T10_ = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
36751 		T8_ = rawNewString(((*(*v).name).s ? (*(*v).name).s->Sup.len : 0) + (T9_ ? T9_->Sup.len : 0) + (T10_ ? T10_->Sup.len : 0) + 82);
36752 appendString(T8_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_776));
36753 appendString(T8_, (*(*v).name).s);
36754 appendString(T8_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_777));
36755 appendString(T8_, T9_);
36756 appendString(T8_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_778));
36757 appendString(T8_, T10_);
36758 		liMessage__msgs_1118((*(*c).graph).config, (*v).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T8_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_779, NIM_FALSE);
36759 	}
36760 	LA6_: ;
36761 	asgnRef((void**) (&(*v).typ), typ);
36762 }
N_NIMCALL(void,defaultConstructionError__sem_138)36763 N_LIB_PRIVATE N_NIMCALL(void, defaultConstructionError__sem_138)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
36764 	tyObject_TType__facALICuu8zUj0hjvbTLFg* objType;
36765 	objType = t;
36766 	{
36767 		while (1) {
36768 			if (!!(((*objType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*objType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13)))) goto LA2;
36769 			objType = lastSon__ast_3743(objType);
36770 		} LA2: ;
36771 	}
36772 	{
36773 		tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw constrCtx;
36774 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
36775 		tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ initResult;
36776 		if (!((*objType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA5_;
36777 		nimZeroMem((void*)(&constrCtx), sizeof(tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw));
36778 		T7_ = NIM_NIL;
36779 		T7_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38), info);
36780 		initConstrContext__sem_19652(objType, T7_, (&constrCtx));
36781 		initResult = semConstructTypeAux__sem_19627(c, (&constrCtx), 0);
36782 		{
36783 			NI T10_;
36784 			tyArray__Re75IspeoxXy2oCZHwcRrA T13_;
36785 			NimStringDesc* T14_;
36786 			T10_ = (constrCtx.missingFields ? constrCtx.missingFields->Sup.len : 0);
36787 			if (!(((NI) 0) < T10_)) goto LA11_;
36788 			nimZeroMem((void*)T13_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
36789 			T13_[0] = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
36790 			T13_[1] = listSymbolNames__astalgo_4310(constrCtx.missingFields->data, (constrCtx.missingFields ? constrCtx.missingFields->Sup.len : 0));
36791 			T14_ = NIM_NIL;
36792 			T14_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_781), T13_, 2);
36793 			liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T14_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_782, NIM_FALSE);
36794 		}
36795 		LA11_: ;
36796 	}
36797 	goto LA3_;
36798 	LA5_: ;
36799 	{
36800 		NimStringDesc* T18_;
36801 		NimStringDesc* T19_;
36802 		if (!((*objType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA16_;
36803 		T18_ = NIM_NIL;
36804 		T18_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
36805 		T19_ = NIM_NIL;
36806 		T19_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_783), T18_);
36807 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T19_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_784, NIM_FALSE);
36808 	}
36809 	goto LA3_;
36810 	LA16_: ;
36811 	{
36812 	}
36813 	LA3_: ;
36814 }
N_NIMCALL(void,checkNilable__sem_9708)36815 N_LIB_PRIVATE N_NIMCALL(void, checkNilable__sem_9708)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v) {
36816 	{
36817 		NIM_BOOL T3_;
36818 		T3_ = (NIM_BOOL)0;
36819 		T3_ = ((72 & (*v).flags) == 8);
36820 		if (!(T3_)) goto LA4_;
36821 		T3_ = requiresInit__typeallowed_578((*v).typ);
36822 		LA4_: ;
36823 		if (!T3_) goto LA5_;
36824 		{
36825 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
36826 			T9_ = NIM_NIL;
36827 			T9_ = astdef__ast_3483(v);
36828 			if (!(T9_ == 0)) goto LA10_;
36829 			liMessage__msgs_1118((*(*c).graph).config, (*v).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 41), (*(*v).name).s, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_785, NIM_FALSE);
36830 		}
36831 		goto LA7_;
36832 		LA10_: ;
36833 		{
36834 			NIM_BOOL T13_;
36835 			NIM_BOOL T14_;
36836 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
36837 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
36838 			T13_ = (NIM_BOOL)0;
36839 			T14_ = (NIM_BOOL)0;
36840 			T14_ = (((*(*v).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
36841 			if (!(T14_)) goto LA15_;
36842 			T16_ = NIM_NIL;
36843 			T16_ = astdef__ast_3483(v);
36844 			T14_ = !(((*T16_).typ == 0));
36845 			LA15_: ;
36846 			T13_ = T14_;
36847 			if (!(T13_)) goto LA17_;
36848 			T18_ = NIM_NIL;
36849 			T18_ = astdef__ast_3483(v);
36850 			T13_ = !((((*(*T18_).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
36851 			LA17_: ;
36852 			if (!T13_) goto LA19_;
36853 			liMessage__msgs_1118((*(*c).graph).config, (*v).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 41), (*(*v).name).s, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_786, NIM_FALSE);
36854 		}
36855 		goto LA7_;
36856 		LA19_: ;
36857 		LA7_: ;
36858 	}
36859 	LA5_: ;
36860 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semVarOrLet__sem_10066)36861 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semVarOrLet__sem_10066)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symkind) {
36862 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
36863 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
36864 {	result = NIM_NIL;
36865 	{
36866 		NI T3_;
36867 		T3_ = (NI)0;
36868 		T3_ = len__ast_3198(n);
36869 		if (!(T3_ == ((NI) 1))) goto LA4_;
36870 		result = semLowerLetVarCustomPragma__sem_9949(c, (*n)._kind_6.sons->data[((NI) 0)], n);
36871 		{
36872 			if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA8_;
36873 			goto BeforeRet_;
36874 		}
36875 		LA8_: ;
36876 	}
36877 	LA4_: ;
36878 	b = NIM_NIL;
36879 	result = copyNode__ast_4336(n);
36880 	{
36881 		NI i;
36882 		NI colontmp_;
36883 		NI i_2;
36884 		i = (NI)0;
36885 		colontmp_ = (NI)0;
36886 		colontmp_ = len__ast_3198(n);
36887 		i_2 = ((NI) 0);
36888 		{
36889 			while (1) {
36890 				if (!(i_2 < colontmp_)) goto LA12;
36891 				i = i_2;
36892 				{
36893 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
36894 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
36895 					tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg typFlags;
36896 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
36897 					tyObject_TType__facALICuu8zUj0hjvbTLFg* tup;
36898 					a = (*n)._kind_6.sons->data[i];
36899 					{
36900 						if (!((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11))) goto LA16_;
36901 						suggestStmt__sigmatch_6552(c, a);
36902 					}
36903 					LA16_: ;
36904 					{
36905 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA20_;
36906 						goto LA13;
36907 					}
36908 					LA20_: ;
36909 					{
36910 						if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36)))) goto LA24_;
36911 						illFormedAst__semdata_1071(a, (*(*c).graph).config);
36912 					}
36913 					LA24_: ;
36914 					checkMinSonsLen__semdata_1084(a, ((NI) 3), (*(*c).graph).config);
36915 					typ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
36916 					{
36917 						NI T28_;
36918 						NI T31_;
36919 						T28_ = (NI)0;
36920 						T28_ = len__ast_3198(a);
36921 						if (!!(((*(*a)._kind_6.sons->data[(NI)(T28_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA29_;
36922 						T31_ = (NI)0;
36923 						T31_ = len__ast_3198(a);
36924 						typ = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[(NI)(T31_ - ((NI) 2))], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
36925 					}
36926 					LA29_: ;
36927 					nimZeroMem((void*)(&typFlags), sizeof(tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg));
36928 					def = (*(*c).graph).emptyNode;
36929 					{
36930 						NI T34_;
36931 						NI T37_;
36932 						T34_ = (NI)0;
36933 						T34_ = len__ast_3198(a);
36934 						if (!!(((*(*a)._kind_6.sons->data[(NI)(T34_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA35_;
36935 						T37_ = (NI)0;
36936 						T37_ = len__ast_3198(a);
36937 						def = semExprWithType__sem_56(c, (*a)._kind_6.sons->data[(NI)(T37_ - ((NI) 1))], 0);
36938 						{
36939 							NIM_BOOL T40_;
36940 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T42_;
36941 							T40_ = (NIM_BOOL)0;
36942 							T40_ = ((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57));
36943 							if (!(T40_)) goto LA41_;
36944 							T42_ = NIM_NIL;
36945 							T42_ = skipTypes__ast_3735((*(*def)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
36946 							T40_ = ((*T42_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
36947 							LA41_: ;
36948 							if (!T40_) goto LA43_;
36949 							errorSymChoiceUseQualifier__sem_10047(c, def);
36950 						}
36951 						goto LA38_;
36952 						LA43_: ;
36953 						{
36954 							NIM_BOOL T46_;
36955 							T46_ = (NIM_BOOL)0;
36956 							T46_ = ((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
36957 							if (!(T46_)) goto LA47_;
36958 							T46_ = ((393216 &((NU32)1<<((NU)((*(*def)._kind_4.sym).kind)&31U)))!=0);
36959 							LA47_: ;
36960 							if (!T46_) goto LA48_;
36961 							typFlags |= ((NU8)1)<<((((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 5)) & 7);
36962 						}
36963 						goto LA38_;
36964 						LA48_: ;
36965 						{
36966 							NIM_BOOL T51_;
36967 							T51_ = (NIM_BOOL)0;
36968 							T51_ = ((*(*def).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
36969 							if (!(T51_)) goto LA52_;
36970 							T51_ = !(((*(*(*c).p).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)));
36971 							LA52_: ;
36972 							if (!T51_) goto LA53_;
36973 							typFlags |= ((NU8)1)<<((((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 6)) & 7);
36974 						}
36975 						goto LA38_;
36976 						LA53_: ;
36977 						LA38_: ;
36978 						{
36979 							if (!!((typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA57_;
36980 							{
36981 								NIM_BOOL T61_;
36982 								T61_ = (NIM_BOOL)0;
36983 								T61_ = isMetaType__ast_3495(typ);
36984 								if (!T61_) goto LA62_;
36985 								def = inferWithMetatype__sem_231(c, typ, def, NIM_FALSE);
36986 								typ = (*def).typ;
36987 							}
36988 							goto LA59_;
36989 							LA62_: ;
36990 							{
36991 								def = fitNodeConsiderViewType__sem_212(c, typ, def, (*def).info);
36992 							}
36993 							LA59_: ;
36994 						}
36995 						goto LA55_;
36996 						LA57_: ;
36997 						{
36998 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T66_;
36999 							T66_ = NIM_NIL;
37000 							T66_ = skipTypes__ast_3735((*def).typ, TM__rF9caJawfOjYTjsgLVUSGFA_759);
37001 							typ = skipIntLit__magicsys_124(T66_, (*c).Sup.idgen);
37002 							{
37003 								NIM_BOOL T69_;
37004 								T69_ = (NIM_BOOL)0;
37005 								T69_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53));
37006 								if (!(T69_)) goto LA70_;
37007 								T69_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0);
37008 								LA70_: ;
37009 								if (!T69_) goto LA71_;
37010 								typ = lastSon__ast_3743(typ);
37011 							}
37012 							LA71_: ;
37013 							{
37014 								NIM_BOOL T75_;
37015 								NimStringDesc* T78_;
37016 								NimStringDesc* T79_;
37017 								T75_ = (NIM_BOOL)0;
37018 								T75_ = hasEmpty__sem_9842(typ);
37019 								if (!T75_) goto LA76_;
37020 								T78_ = NIM_NIL;
37021 								T78_ = toHumanStr__ast_5188((*typ).kind);
37022 								T79_ = NIM_NIL;
37023 								T79_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_760), T78_);
37024 								liMessage__msgs_1118((*(*c).graph).config, (*def).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T79_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_761, NIM_FALSE);
37025 							}
37026 							goto LA73_;
37027 							LA76_: ;
37028 							{
37029 								NIM_BOOL T81_;
37030 								NIM_BOOL T82_;
37031 								NimStringDesc* T87_;
37032 								NimStringDesc* T88_;
37033 								T81_ = (NIM_BOOL)0;
37034 								T82_ = (NIM_BOOL)0;
37035 								T82_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
37036 								if (!(T82_)) goto LA83_;
37037 								T82_ = ((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
37038 								LA83_: ;
37039 								T81_ = T82_;
37040 								if (!(T81_)) goto LA84_;
37041 								T81_ = isGenericRoutine__ast_4627((*(*def)._kind_4.sym).ast);
37042 								LA84_: ;
37043 								if (!T81_) goto LA85_;
37044 								T87_ = NIM_NIL;
37045 								T87_ = renderTree__renderer_46(def, 0);
37046 								T88_ = NIM_NIL;
37047 								T88_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_762), T87_);
37048 								liMessage__msgs_1118((*(*c).graph).config, (*def).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T88_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_763, NIM_FALSE);
37049 							}
37050 							goto LA73_;
37051 							LA85_: ;
37052 							LA73_: ;
37053 						}
37054 						LA55_: ;
37055 					}
37056 					LA35_: ;
37057 					{
37058 						if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA91_;
37059 						goto LA13;
37060 					}
37061 					LA91_: ;
37062 					{
37063 						if (!!(((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)))) goto LA95_;
37064 						typFlags |= ((NU8)1)<<((((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 2)) & 7);
37065 					}
37066 					LA95_: ;
37067 					typeAllowedCheck__sem_481(c, (*a).info, typ, symkind, typFlags);
37068 					tup = skipTypes__ast_3735(typ, TM__rF9caJawfOjYTjsgLVUSGFA_137);
37069 					{
37070 						NI T110_;
37071 						NI T111_;
37072 						NI T112_;
37073 						NI T113_;
37074 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA99_;
37075 						{
37076 							if (!!(((*tup).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18)))) goto LA103_;
37077 							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);
37078 						}
37079 						goto LA101_;
37080 						LA103_: ;
37081 						{
37082 							NI T106_;
37083 							NI T107_;
37084 							T106_ = (NI)0;
37085 							T106_ = len__ast_3198(a);
37086 							T107_ = (NI)0;
37087 							T107_ = len__ast_4002(tup);
37088 							if (!!(((NI)(T106_ - ((NI) 2)) == T107_))) goto LA108_;
37089 							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);
37090 						}
37091 						goto LA101_;
37092 						LA108_: ;
37093 						LA101_: ;
37094 						b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36), (*a).info);
37095 						T110_ = (NI)0;
37096 						T110_ = len__ast_3198(a);
37097 						newSons__semtypinst_404(b, T110_);
37098 						T111_ = (NI)0;
37099 						T111_ = len__ast_3198(b);
37100 						T112_ = (NI)0;
37101 						T112_ = len__ast_3198(a);
37102 						asgnRef((void**) (&(*b)._kind_6.sons->data[(NI)(T111_ - ((NI) 2))]), (*a)._kind_6.sons->data[(NI)(T112_ - ((NI) 2))]);
37103 						T113_ = (NI)0;
37104 						T113_ = len__ast_3198(b);
37105 						asgnRef((void**) (&(*b)._kind_6.sons->data[(NI)(T113_ - ((NI) 1))]), def);
37106 						addToVarSection__sem_9733(c, result, n, b);
37107 					}
37108 					goto LA97_;
37109 					LA99_: ;
37110 					{
37111 						NIM_BOOL T115_;
37112 						NIM_BOOL T116_;
37113 						NIM_BOOL T117_;
37114 						NI T121_;
37115 						T115_ = (NIM_BOOL)0;
37116 						T116_ = (NIM_BOOL)0;
37117 						T117_ = (NIM_BOOL)0;
37118 						T117_ = ((*tup).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
37119 						if (!(T117_)) goto LA118_;
37120 						T117_ = ((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160));
37121 						LA118_: ;
37122 						T116_ = T117_;
37123 						if (!(T116_)) goto LA119_;
37124 						T116_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35));
37125 						LA119_: ;
37126 						T115_ = T116_;
37127 						if (!(T115_)) goto LA120_;
37128 						T121_ = (NI)0;
37129 						T121_ = len__ast_3198(a);
37130 						T115_ = (((NI) 3) < T121_);
37131 						LA120_: ;
37132 						if (!T115_) goto LA122_;
37133 						liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 38), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_767, NIM_FALSE);
37134 					}
37135 					goto LA97_;
37136 					LA122_: ;
37137 					LA97_: ;
37138 					{
37139 						NI j;
37140 						NI colontmp__2;
37141 						NI T125_;
37142 						NI i_3;
37143 						j = (NI)0;
37144 						colontmp__2 = (NI)0;
37145 						T125_ = (NI)0;
37146 						T125_ = len__ast_3198(a);
37147 						colontmp__2 = (NI)(T125_ - ((NI) 2));
37148 						i_3 = ((NI) 0);
37149 						{
37150 							while (1) {
37151 								if (!(i_3 < colontmp__2)) goto LA127;
37152 								j = i_3;
37153 								{
37154 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
37155 									{
37156 										tyObject_TType__facALICuu8zUj0hjvbTLFg* T133_;
37157 										if (!((*(*a)._kind_6.sons->data[j]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA131_;
37158 										T133_ = NIM_NIL;
37159 										{
37160 											if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36)))) goto LA136_;
37161 											T133_ = typ;
37162 										}
37163 										goto LA134_;
37164 										LA136_: ;
37165 										{
37166 											T133_ = (*tup).sons->data[j];
37167 										}
37168 										LA134_: ;
37169 										fillPartialObject__sem_9910(c, (*a)._kind_6.sons->data[j], T133_);
37170 										addToVarSection__sem_9733(c, result, n, a);
37171 										goto LA128;
37172 									}
37173 									LA131_: ;
37174 									v = semIdentDef__sem_9679(c, (*a)._kind_6.sons->data[j], symkind);
37175 									{
37176 										NIM_BOOL T141_;
37177 										T141_ = (NIM_BOOL)0;
37178 										T141_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
37179 										if (!(T141_)) goto LA142_;
37180 										T141_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
37181 										LA142_: ;
37182 										if (!T141_) goto LA143_;
37183 										nep1CheckDefImpl__linter_110((*(*c).graph).config, (*v).info, v, (*v).kind);
37184 									}
37185 									LA143_: ;
37186 									{
37187 										if (!!((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA147_;
37188 										{
37189 											NIM_BOOL T151_;
37190 											T151_ = (NIM_BOOL)0;
37191 											T151_ = isDiscardUnderscore__sem_9761(v);
37192 											if (!!(T151_)) goto LA152_;
37193 											addInterfaceDecl__lookups_879(c, v);
37194 										}
37195 										LA152_: ;
37196 									}
37197 									goto LA145_;
37198 									LA147_: ;
37199 									{
37200 										{
37201 											if (!((*v).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA157_;
37202 											asgnRef((void**) (&(*v).owner), (*(*c).p).owner);
37203 										}
37204 										LA157_: ;
37205 									}
37206 									LA145_: ;
37207 									{
37208 										if (!(((NI) 0) < (*c).inUnrolledContext)) goto LA161_;
37209 										(*v).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 25)) & 63);
37210 									}
37211 									goto LA159_;
37212 									LA161_: ;
37213 									{
37214 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* shadowed;
37215 										shadowed = findShadowedVar__sem_9651(c, v);
37216 										{
37217 											if (!!((shadowed == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA166_;
37218 											(*shadowed).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 25)) & 63);
37219 											{
37220 												NIM_BOOL T170_;
37221 												T170_ = (NIM_BOOL)0;
37222 												T170_ = ((*shadowed).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
37223 												if (!(T170_)) goto LA171_;
37224 												T170_ = !((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0));
37225 												LA171_: ;
37226 												if (!T170_) goto LA172_;
37227 												liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 53), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_773, NIM_FALSE);
37228 											}
37229 											LA172_: ;
37230 										}
37231 										LA166_: ;
37232 									}
37233 									LA159_: ;
37234 									{
37235 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T192_;
37236 										NI T193_;
37237 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T194_;
37238 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
37239 										NI T203_;
37240 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T204_;
37241 										if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36)))) goto LA176_;
37242 										{
37243 											if (!!(((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA180_;
37244 											{
37245 												if (!(((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 26))&63U)))!=0)) goto LA184_;
37246 												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);
37247 											}
37248 											LA184_: ;
37249 										}
37250 										LA180_: ;
37251 										setVarType__sem_9941(c, v, typ);
37252 										b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), (*a).info);
37253 										{
37254 											NIM_BOOL T188_;
37255 											NimStringDesc* T191_;
37256 											T188_ = (NIM_BOOL)0;
37257 											T188_ = importantComments__options_3985((*(*c).graph).config);
37258 											if (!T188_) goto LA189_;
37259 											T191_ = NIM_NIL;
37260 											T191_ = comment__ast_993(a);
37261 											commenteq___ast_1361(b, T191_);
37262 										}
37263 										LA189_: ;
37264 										T192_ = NIM_NIL;
37265 										T192_ = newSymNode__ast_3716(v);
37266 										add__ast_4797(b, T192_);
37267 										T193_ = (NI)0;
37268 										T193_ = len__ast_3198(a);
37269 										add__ast_4797(b, (*a)._kind_6.sons->data[(NI)(T193_ - ((NI) 2))]);
37270 										T194_ = NIM_NIL;
37271 										T194_ = copyTree__ast_4431(def);
37272 										add__ast_4797(b, T194_);
37273 										addToVarSection__sem_9733(c, result, n, b);
37274 										ast = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), (*a).info);
37275 										{
37276 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
37277 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T199_;
37278 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T200_;
37279 											if (!((*(*a)._kind_6.sons->data[j]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA197_;
37280 											p = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43), (*a).info);
37281 											T199_ = NIM_NIL;
37282 											T199_ = newSymNode__ast_3716(v);
37283 											add__ast_4797(p, T199_);
37284 											T200_ = NIM_NIL;
37285 											T200_ = copyTree__ast_4431((*(*a)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 1)]);
37286 											add__ast_4797(p, T200_);
37287 											add__ast_4797(ast, p);
37288 										}
37289 										goto LA195_;
37290 										LA197_: ;
37291 										{
37292 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T202_;
37293 											T202_ = NIM_NIL;
37294 											T202_ = newSymNode__ast_3716(v);
37295 											add__ast_4797(ast, T202_);
37296 										}
37297 										LA195_: ;
37298 										T203_ = (NI)0;
37299 										T203_ = len__ast_3198(a);
37300 										T204_ = NIM_NIL;
37301 										T204_ = copyTree__ast_4431((*a)._kind_6.sons->data[(NI)(T203_ - ((NI) 2))]);
37302 										add__ast_4797(ast, T204_);
37303 										add__ast_4797(ast, def);
37304 										asgnRef((void**) (&(*v).ast), ast);
37305 									}
37306 									goto LA174_;
37307 									LA176_: ;
37308 									{
37309 										{
37310 											if (!((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160))) goto LA208_;
37311 											asgnRef((void**) (&(*v).ast), (*def)._kind_6.sons->data[j]);
37312 										}
37313 										LA208_: ;
37314 										{
37315 											if (!((*tup).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA212_;
37316 											setVarType__sem_9941(c, v, (*tup).sons->data[j]);
37317 										}
37318 										goto LA210_;
37319 										LA212_: ;
37320 										{
37321 											asgnRef((void**) (&(*v).typ), tup);
37322 										}
37323 										LA210_: ;
37324 										asgnRef((void**) (&(*b)._kind_6.sons->data[j]), newSymNode__ast_3716(v));
37325 									}
37326 									LA174_: ;
37327 									{
37328 										tyObject_TType__facALICuu8zUj0hjvbTLFg* actualType;
37329 										if (!((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA217_;
37330 										actualType = skipTypes__ast_3735((*v).typ, TM__rF9caJawfOjYTjsgLVUSGFA_780);
37331 										{
37332 											NIM_BOOL T221_;
37333 											T221_ = (NIM_BOOL)0;
37334 											T221_ = ((*actualType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*actualType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13));
37335 											if (!(T221_)) goto LA222_;
37336 											T221_ = requiresInit__typeallowed_578(actualType);
37337 											LA222_: ;
37338 											if (!T221_) goto LA223_;
37339 											defaultConstructionError__sem_138(c, (*v).typ, (*v).info);
37340 										}
37341 										goto LA219_;
37342 										LA223_: ;
37343 										{
37344 											checkNilable__sem_9708(c, v);
37345 										}
37346 										LA219_: ;
37347 										{
37348 											NIM_BOOL T228_;
37349 											T228_ = (NIM_BOOL)0;
37350 											T228_ = ((*v).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9));
37351 											if (!(T228_)) goto LA229_;
37352 											T228_ = !((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0));
37353 											LA229_: ;
37354 											if (!T228_) goto LA230_;
37355 											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);
37356 										}
37357 										LA230_: ;
37358 									}
37359 									LA217_: ;
37360 									{
37361 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
37362 										if (!(((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0)) goto LA234_;
37363 										x = newNodeI__ast_3356((*result).kind, (*v).info);
37364 										add__ast_4797(x, (*result)._kind_6.sons->data[i]);
37365 										setupCompileTimeVar__vm_13765((*c).module, (*c).Sup.idgen, (*c).graph, x);
37366 									}
37367 									LA234_: ;
37368 									{
37369 										if (!(((*v).flags & 67108872) == 8)) goto LA238_;
37370 										liMessage__msgs_1118((*(*c).graph).config, (*v).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 96), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_789, NIM_FALSE);
37371 									}
37372 									LA238_: ;
37373 								} LA128: ;
37374 								i_3 += ((NI) 1);
37375 							} LA127: ;
37376 						}
37377 					}
37378 				} LA13: ;
37379 				i_2 += ((NI) 1);
37380 			} LA12: ;
37381 		}
37382 	}
37383 	}BeforeRet_: ;
37384 	return result;
37385 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,fitRemoveHiddenConv__sem_9629)37386 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fitRemoveHiddenConv__sem_9629)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
37387 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
37388 	result = NIM_NIL;
37389 	result = fitNode__sem_70(c, typ, n, (*n).info);
37390 	{
37391 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r1;
37392 		if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59))) goto LA3_;
37393 		r1 = (*result)._kind_6.sons->data[((NI) 1)];
37394 		{
37395 			NIM_BOOL T7_;
37396 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T9_;
37397 			T7_ = (NIM_BOOL)0;
37398 			T7_ = ((*r1).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*r1).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
37399 			if (!(T7_)) goto LA8_;
37400 			T9_ = NIM_NIL;
37401 			T9_ = skipTypes__ast_3735(typ, TM__rF9caJawfOjYTjsgLVUSGFA_472);
37402 			T7_ = ((*T9_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*T9_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39));
37403 			LA8_: ;
37404 			if (!T7_) goto LA10_;
37405 			result = newFloatNode__ast_3809(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16), ((NF) ((*r1)._kind_1.intVal)));
37406 			(*result).info = (*n).info;
37407 			asgnRef((void**) (&(*result).typ), typ);
37408 			{
37409 				NIM_BOOL T14_;
37410 				tyArray__Re75IspeoxXy2oCZHwcRrA T17_;
37411 				NimStringDesc* T18_;
37412 				T14_ = (NIM_BOOL)0;
37413 				T14_ = floatRangeCheck__types_1613((*result)._kind_2.floatVal, typ);
37414 				if (!!(T14_)) goto LA15_;
37415 				nimZeroMem((void*)T17_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
37416 				T17_[0] = dollar___system_3118((*result)._kind_2.floatVal);
37417 				T17_[1] = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
37418 				T18_ = NIM_NIL;
37419 				T18_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_95), T17_, 2);
37420 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T18_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_790, NIM_FALSE);
37421 			}
37422 			LA15_: ;
37423 		}
37424 		goto LA5_;
37425 		LA10_: ;
37426 		{
37427 			changeType__sem_75(c, r1, typ, NIM_TRUE);
37428 			result = r1;
37429 		}
37430 		LA5_: ;
37431 	}
37432 	goto LA1_;
37433 	LA3_: ;
37434 	{
37435 		NIM_BOOL T21_;
37436 		T21_ = (NIM_BOOL)0;
37437 		T21_ = sameType__types_1824((*result).typ, typ, 0);
37438 		if (!!(T21_)) goto LA22_;
37439 		changeType__sem_75(c, result, typ, NIM_FALSE);
37440 	}
37441 	goto LA1_;
37442 	LA22_: ;
37443 	LA1_: ;
37444 	return result;
37445 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConst__sem_10429)37446 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConst__sem_10429)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
37447 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
37448 	result = NIM_NIL;
37449 	result = copyNode__ast_4336(n);
37450 	(*c).inStaticContext += ((NI) 1);
37451 	{
37452 		NI i;
37453 		NI colontmp_;
37454 		NI i_2;
37455 		i = (NI)0;
37456 		colontmp_ = (NI)0;
37457 		colontmp_ = len__ast_3198(n);
37458 		i_2 = ((NI) 0);
37459 		{
37460 			while (1) {
37461 				if (!(i_2 < colontmp_)) goto LA3;
37462 				i = i_2;
37463 				{
37464 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
37465 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
37466 					tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg typFlags;
37467 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
37468 					NI T23_;
37469 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
37470 					a = (*n)._kind_6.sons->data[i];
37471 					{
37472 						if (!((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11))) goto LA7_;
37473 						suggestStmt__sigmatch_6552(c, a);
37474 					}
37475 					LA7_: ;
37476 					{
37477 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA11_;
37478 						goto LA4;
37479 					}
37480 					LA11_: ;
37481 					{
37482 						if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36)))) goto LA15_;
37483 						illFormedAst__semdata_1071(a, (*(*c).graph).config);
37484 					}
37485 					LA15_: ;
37486 					checkMinSonsLen__semdata_1084(a, ((NI) 3), (*(*c).graph).config);
37487 					typ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
37488 					{
37489 						NI T19_;
37490 						NI T22_;
37491 						T19_ = (NI)0;
37492 						T19_ = len__ast_3198(a);
37493 						if (!!(((*(*a)._kind_6.sons->data[(NI)(T19_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA20_;
37494 						T22_ = (NI)0;
37495 						T22_ = len__ast_3198(a);
37496 						typ = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[(NI)(T22_ - ((NI) 2))], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
37497 					}
37498 					LA20_: ;
37499 					nimZeroMem((void*)(&typFlags), sizeof(tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg));
37500 					T23_ = (NI)0;
37501 					T23_ = len__ast_3198(a);
37502 					def = semExprWithType__sem_56(c, (*a)._kind_6.sons->data[(NI)(T23_ - ((NI) 1))], 0);
37503 					{
37504 						NIM_BOOL T26_;
37505 						T26_ = (NIM_BOOL)0;
37506 						T26_ = ((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
37507 						if (!(T26_)) goto LA27_;
37508 						T26_ = ((393216 &((NU32)1<<((NU)((*(*def)._kind_4.sym).kind)&31U)))!=0);
37509 						LA27_: ;
37510 						if (!T26_) goto LA28_;
37511 						typFlags |= ((NU8)1)<<((((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 5)) & 7);
37512 					}
37513 					goto LA24_;
37514 					LA28_: ;
37515 					{
37516 						NIM_BOOL T31_;
37517 						T31_ = (NIM_BOOL)0;
37518 						T31_ = ((*(*def).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
37519 						if (!(T31_)) goto LA32_;
37520 						T31_ = !(((*(*(*c).p).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)));
37521 						LA32_: ;
37522 						if (!T31_) goto LA33_;
37523 						typFlags |= ((NU8)1)<<((((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 6)) & 7);
37524 					}
37525 					goto LA24_;
37526 					LA33_: ;
37527 					LA24_: ;
37528 					{
37529 						if (!!((typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA37_;
37530 						{
37531 							NIM_BOOL T41_;
37532 							T41_ = (NIM_BOOL)0;
37533 							T41_ = isMetaType__ast_3495(typ);
37534 							if (!T41_) goto LA42_;
37535 							def = inferWithMetatype__sem_231(c, typ, def, NIM_FALSE);
37536 							typ = (*def).typ;
37537 						}
37538 						goto LA39_;
37539 						LA42_: ;
37540 						{
37541 							def = fitRemoveHiddenConv__sem_9629(c, typ, def);
37542 						}
37543 						LA39_: ;
37544 					}
37545 					goto LA35_;
37546 					LA37_: ;
37547 					{
37548 						typ = (*def).typ;
37549 					}
37550 					LA35_: ;
37551 					def = semConstExpr__sem_611(c, def);
37552 					{
37553 						NI T50_;
37554 						if (!(def == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA48_;
37555 						T50_ = (NI)0;
37556 						T50_ = len__ast_3198(a);
37557 						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);
37558 						goto LA4;
37559 					}
37560 					LA48_: ;
37561 					{
37562 						if (!!(((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)))) goto LA53_;
37563 						{
37564 							if (!!(((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)))) goto LA57_;
37565 							typFlags |= ((NU8)1)<<((((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 2)) & 7);
37566 						}
37567 						LA57_: ;
37568 						typeAllowedCheck__sem_481(c, (*a).info, typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10), typFlags);
37569 					}
37570 					LA53_: ;
37571 					b = NIM_NIL;
37572 					{
37573 						NI T72_;
37574 						NI T73_;
37575 						NI T74_;
37576 						NI T75_;
37577 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA61_;
37578 						{
37579 							if (!!(((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18)))) goto LA65_;
37580 							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);
37581 						}
37582 						goto LA63_;
37583 						LA65_: ;
37584 						{
37585 							NI T68_;
37586 							NI T69_;
37587 							T68_ = (NI)0;
37588 							T68_ = len__ast_3198(a);
37589 							T69_ = (NI)0;
37590 							T69_ = len__ast_4002(typ);
37591 							if (!!(((NI)(T68_ - ((NI) 2)) == T69_))) goto LA70_;
37592 							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);
37593 						}
37594 						goto LA63_;
37595 						LA70_: ;
37596 						LA63_: ;
37597 						b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36), (*a).info);
37598 						T72_ = (NI)0;
37599 						T72_ = len__ast_3198(a);
37600 						newSons__semtypinst_404(b, T72_);
37601 						T73_ = (NI)0;
37602 						T73_ = len__ast_3198(b);
37603 						T74_ = (NI)0;
37604 						T74_ = len__ast_3198(a);
37605 						asgnRef((void**) (&(*b)._kind_6.sons->data[(NI)(T73_ - ((NI) 2))]), (*a)._kind_6.sons->data[(NI)(T74_ - ((NI) 2))]);
37606 						T75_ = (NI)0;
37607 						T75_ = len__ast_3198(b);
37608 						asgnRef((void**) (&(*b)._kind_6.sons->data[(NI)(T75_ - ((NI) 1))]), def);
37609 					}
37610 					LA61_: ;
37611 					{
37612 						NI j;
37613 						NI colontmp__2;
37614 						NI T77_;
37615 						NI i_3;
37616 						j = (NI)0;
37617 						colontmp__2 = (NI)0;
37618 						T77_ = (NI)0;
37619 						T77_ = len__ast_3198(a);
37620 						colontmp__2 = (NI)(T77_ - ((NI) 2));
37621 						i_3 = ((NI) 0);
37622 						{
37623 							while (1) {
37624 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
37625 								if (!(i_3 < colontmp__2)) goto LA79;
37626 								j = i_3;
37627 								v = semIdentDef__sem_9679(c, (*a)._kind_6.sons->data[j], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10));
37628 								{
37629 									if (!!((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA82_;
37630 									addInterfaceDecl__lookups_879(c, v);
37631 								}
37632 								goto LA80_;
37633 								LA82_: ;
37634 								{
37635 									if (!((*v).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA85_;
37636 									asgnRef((void**) (&(*v).owner), getCurrOwner__semdata_315(c));
37637 								}
37638 								goto LA80_;
37639 								LA85_: ;
37640 								LA80_: ;
37641 								{
37642 									NIM_BOOL T89_;
37643 									T89_ = (NIM_BOOL)0;
37644 									T89_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
37645 									if (!(T89_)) goto LA90_;
37646 									T89_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
37647 									LA90_: ;
37648 									if (!T89_) goto LA91_;
37649 									nep1CheckDefImpl__linter_110((*(*c).graph).config, (*v).info, v, (*v).kind);
37650 								}
37651 								LA91_: ;
37652 								{
37653 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T103_;
37654 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T104_;
37655 									if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36)))) goto LA95_;
37656 									setVarType__sem_9941(c, v, typ);
37657 									asgnRef((void**) (&(*v).ast), def);
37658 									b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102), (*a).info);
37659 									{
37660 										NIM_BOOL T99_;
37661 										NimStringDesc* T102_;
37662 										T99_ = (NIM_BOOL)0;
37663 										T99_ = importantComments__options_3985((*(*c).graph).config);
37664 										if (!T99_) goto LA100_;
37665 										T102_ = NIM_NIL;
37666 										T102_ = comment__ast_993(a);
37667 										commenteq___ast_1361(b, T102_);
37668 									}
37669 									LA100_: ;
37670 									T103_ = NIM_NIL;
37671 									T103_ = newSymNode__ast_3716(v);
37672 									add__ast_4797(b, T103_);
37673 									add__ast_4797(b, (*a)._kind_6.sons->data[((NI) 1)]);
37674 									T104_ = NIM_NIL;
37675 									T104_ = copyTree__ast_4431(def);
37676 									add__ast_4797(b, T104_);
37677 								}
37678 								goto LA93_;
37679 								LA95_: ;
37680 								{
37681 									setVarType__sem_9941(c, v, (*typ).sons->data[j]);
37682 									{
37683 										if (!!(((*(*def)._kind_6.sons->data[j]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA108_;
37684 										asgnRef((void**) (&(*v).ast), (*def)._kind_6.sons->data[j]);
37685 									}
37686 									goto LA106_;
37687 									LA108_: ;
37688 									{
37689 										asgnRef((void**) (&(*v).ast), (*(*def)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 1)]);
37690 									}
37691 									LA106_: ;
37692 									asgnRef((void**) (&(*b)._kind_6.sons->data[j]), newSymNode__ast_3716(v));
37693 								}
37694 								LA93_: ;
37695 								i_3 += ((NI) 1);
37696 							} LA79: ;
37697 						}
37698 					}
37699 					add__ast_4797(result, b);
37700 				} LA4: ;
37701 				i_2 += ((NI) 1);
37702 			} LA3: ;
37703 		}
37704 	}
37705 	(*c).inStaticContext -= ((NI) 1);
37706 	return result;
37707 }
N_NIMCALL(void,typeDefLeftSidePass__sem_11622)37708 N_LIB_PRIVATE N_NIMCALL(void, typeDefLeftSidePass__sem_11622)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typeSection, NI i) {
37709 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typeDef_1;
37710 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* name;
37711 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
37712 {	typeDef_1 = (*typeSection)._kind_6.sons->data[i];
37713 	checkSonsLen__semdata_1077(typeDef_1, ((NI) 3), (*(*c).graph).config);
37714 	name = (*typeDef_1)._kind_6.sons->data[((NI) 0)];
37715 	s = NIM_NIL;
37716 	{
37717 		NIM_BOOL T3_;
37718 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* pkgName;
37719 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* typName;
37720 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* pkg;
37721 		T3_ = (NIM_BOOL)0;
37722 		T3_ = ((*name).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45));
37723 		if (!(T3_)) goto LA4_;
37724 		T3_ = ((*(*typeDef_1)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133));
37725 		LA4_: ;
37726 		if (!T3_) goto LA5_;
37727 		pkgName = considerQuotedIdent__lookups_28(c, (*name)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
37728 		typName = considerQuotedIdent__lookups_28(c, (*name)._kind_6.sons->data[((NI) 1)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
37729 		pkg = strTableGet__astalgo_3390((*(*c).graph).packageSyms, pkgName);
37730 		{
37731 			NIM_BOOL T9_;
37732 			NimStringDesc* T13_;
37733 			T9_ = (NIM_BOOL)0;
37734 			T9_ = (pkg == 0);
37735 			if (T9_) goto LA10_;
37736 			T9_ = !(((*pkg).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 24)));
37737 			LA10_: ;
37738 			if (!T9_) goto LA11_;
37739 			T13_ = NIM_NIL;
37740 			T13_ = rawNewString(((*pkgName).s ? (*pkgName).s->Sup.len : 0) + 22);
37741 appendString(T13_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_794));
37742 appendString(T13_, (*pkgName).s);
37743 			liMessage__msgs_1118((*(*c).graph).config, (*name).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T13_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_795, NIM_FALSE);
37744 		}
37745 		goto LA7_;
37746 		LA11_: ;
37747 		{
37748 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* typsym;
37749 			typsym = strTableGet__astalgo_3390((*(*c).graph).packageTypes, typName);
37750 			{
37751 				if (!(typsym == 0)) goto LA17_;
37752 				s = semIdentDef__sem_9679(c, (*name)._kind_6.sons->data[((NI) 1)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
37753 				asgnRef((void**) (&(*s).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17), c));
37754 				asgnRef((void**) (&(*(*s).typ).sym), s);
37755 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4)) & 63);
37756 				strTableAdd__astalgo_3332((&(*(*c).graph).packageTypes), s);
37757 				addInterfaceDecl__lookups_879(c, s);
37758 			}
37759 			goto LA15_;
37760 			LA17_: ;
37761 			{
37762 				NIM_BOOL T20_;
37763 				T20_ = (NIM_BOOL)0;
37764 				T20_ = ((*typsym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
37765 				if (!(T20_)) goto LA21_;
37766 				T20_ = (((*typsym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0);
37767 				LA21_: ;
37768 				if (!T20_) goto LA22_;
37769 				s = typsym;
37770 				addInterfaceDecl__lookups_879(c, s);
37771 			}
37772 			goto LA15_;
37773 			LA22_: ;
37774 			{
37775 				NimStringDesc* T25_;
37776 				T25_ = NIM_NIL;
37777 				T25_ = rawNewString(((*(*typsym).name).s ? (*(*typsym).name).s->Sup.len : 0) + 36);
37778 appendString(T25_, (*(*typsym).name).s);
37779 appendString(T25_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_796));
37780 				liMessage__msgs_1118((*(*c).graph).config, (*name).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T25_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_797, NIM_FALSE);
37781 				s = typsym;
37782 			}
37783 			LA15_: ;
37784 		}
37785 		LA7_: ;
37786 	}
37787 	goto LA1_;
37788 	LA5_: ;
37789 	{
37790 		s = semIdentDef__sem_9679(c, name, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
37791 		asgnRef((void**) (&(*s).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30), c));
37792 		asgnRef((void**) (&(*(*s).typ).sym), s);
37793 		{
37794 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* rewritten;
37795 			if (!((*name).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA29_;
37796 			rewritten = applyTypeSectionPragmas__sem_5714(c, (*name)._kind_6.sons->data[((NI) 1)], typeDef_1);
37797 			{
37798 				if (!!((rewritten == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA33_;
37799 				asgnRef((void**) (&(*typeSection)._kind_6.sons->data[i]), rewritten);
37800 				typeDefLeftSidePass__sem_11622(c, typeSection, i);
37801 				goto BeforeRet_;
37802 			}
37803 			LA33_: ;
37804 			pragma__pragmas_123(c, s, (*name)._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_499, NIM_FALSE);
37805 		}
37806 		LA29_: ;
37807 		{
37808 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* pkg_2;
37809 			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0)) goto LA37_;
37810 			pkg_2 = (*(*c).module).owner;
37811 			{
37812 				NIM_BOOL T41_;
37813 				NIM_BOOL T42_;
37814 				T41_ = (NIM_BOOL)0;
37815 				T42_ = (NIM_BOOL)0;
37816 				T42_ = isTopLevel__semdata_1091(c);
37817 				T41_ = !(T42_);
37818 				if (T41_) goto LA43_;
37819 				T41_ = (pkg_2 == 0);
37820 				LA43_: ;
37821 				if (!T41_) goto LA44_;
37822 				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);
37823 			}
37824 			goto LA39_;
37825 			LA44_: ;
37826 			{
37827 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* typsym_2;
37828 				typsym_2 = strTableGet__astalgo_3390((*(*c).graph).packageTypes, (*s).name);
37829 				{
37830 					if (!!((typsym_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA49_;
37831 					{
37832 						NIM_BOOL T53_;
37833 						T53_ = (NIM_BOOL)0;
37834 						T53_ = !((((*typsym_2).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0));
37835 						if (T53_) goto LA54_;
37836 						T53_ = !((((*typsym_2).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0));
37837 						LA54_: ;
37838 						if (!T53_) goto LA55_;
37839 						(*typsym_2).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10)) & 63);
37840 						(*typsym_2).info = (*s).info;
37841 					}
37842 					goto LA51_;
37843 					LA55_: ;
37844 					{
37845 						NimStringDesc* T58_;
37846 						NimStringDesc* T59_;
37847 						T58_ = NIM_NIL;
37848 						T59_ = NIM_NIL;
37849 						T59_ = dollar___msgs_624((*(*c).graph).config, (*typsym_2).info);
37850 						T58_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + (T59_ ? T59_->Sup.len : 0) + 66);
37851 appendString(T58_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_800));
37852 appendString(T58_, (*(*s).name).s);
37853 appendString(T58_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_801));
37854 appendString(T58_, T59_);
37855 						liMessage__msgs_1118((*(*c).graph).config, (*name).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T58_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_802, NIM_FALSE);
37856 					}
37857 					LA51_: ;
37858 					s = typsym_2;
37859 				}
37860 				LA49_: ;
37861 			}
37862 			LA39_: ;
37863 		}
37864 		LA37_: ;
37865 		{
37866 			if (!!((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA62_;
37867 			addInterfaceDecl__lookups_879(c, s);
37868 		}
37869 		goto LA60_;
37870 		LA62_: ;
37871 		{
37872 			if (!((*s).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA65_;
37873 			asgnRef((void**) (&(*s).owner), getCurrOwner__semdata_315(c));
37874 		}
37875 		goto LA60_;
37876 		LA65_: ;
37877 		LA60_: ;
37878 	}
37879 	LA1_: ;
37880 	{
37881 		if (!((*name).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA69_;
37882 		asgnRef((void**) (&(*(*typeDef_1)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(s));
37883 	}
37884 	goto LA67_;
37885 	LA69_: ;
37886 	{
37887 		asgnRef((void**) (&(*typeDef_1)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(s));
37888 	}
37889 	LA67_: ;
37890 	}BeforeRet_: ;
37891 }
N_NIMCALL(void,typeSectionLeftSidePass__sem_11722)37892 N_LIB_PRIVATE N_NIMCALL(void, typeSectionLeftSidePass__sem_11722)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
37893 	{
37894 		NI i;
37895 		NI colontmp_;
37896 		NI i_2;
37897 		i = (NI)0;
37898 		colontmp_ = (NI)0;
37899 		colontmp_ = len__ast_3198(n);
37900 		i_2 = ((NI) 0);
37901 		{
37902 			while (1) {
37903 				if (!(i_2 < colontmp_)) goto LA3;
37904 				i = i_2;
37905 				{
37906 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
37907 					a = (*n)._kind_6.sons->data[i];
37908 					{
37909 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA7_;
37910 						goto LA4;
37911 					}
37912 					LA7_: ;
37913 					{
37914 						if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA11_;
37915 						illFormedAst__semdata_1071(a, (*(*c).graph).config);
37916 					}
37917 					LA11_: ;
37918 					typeDefLeftSidePass__sem_11622(c, n, i);
37919 				} LA4: ;
37920 				i_2 += ((NI) 1);
37921 			} LA3: ;
37922 		}
37923 	}
37924 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,typeSectionTypeName__sem_11606)37925 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, typeSectionTypeName__sem_11606)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
37926 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
37927 	result = NIM_NIL;
37928 	{
37929 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA3_;
37930 		{
37931 			NI T7_;
37932 			T7_ = (NI)0;
37933 			T7_ = len__ast_3198(n);
37934 			if (!(T7_ == ((NI) 0))) goto LA8_;
37935 			illFormedAst__semdata_1071(n, (*(*c).graph).config);
37936 		}
37937 		LA8_: ;
37938 		result = (*n)._kind_6.sons->data[((NI) 0)];
37939 	}
37940 	goto LA1_;
37941 	LA3_: ;
37942 	{
37943 		result = n;
37944 	}
37945 	LA1_: ;
37946 	{
37947 		if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA13_;
37948 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
37949 	}
37950 	LA13_: ;
37951 	return result;
37952 }
N_NIMCALL(void,setMagicType__sem_6266)37953 N_LIB_PRIVATE N_NIMCALL(void, setMagicType__sem_6266)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, NI size) {
37954 	(*(*m).typ).kind = kind;
37955 	(*(*m).typ).size = ((NI64) (size));
37956 	(*(*m).typ).align = ((NI16) (size));
37957 	{
37958 		NIM_BOOL T3_;
37959 		T3_ = (NIM_BOOL)0;
37960 		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));
37961 		if (!(T3_)) goto LA4_;
37962 		T3_ = (size == ((NI) 8));
37963 		LA4_: ;
37964 		if (!T3_) goto LA5_;
37965 		(*(*m).typ).align = floatInt64Align__options_4700(conf);
37966 	}
37967 	LA5_: ;
37968 }
N_NIMCALL(void,setMagicIntegral__sem_6275)37969 N_LIB_PRIVATE N_NIMCALL(void, setMagicIntegral__sem_6275)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, NI size) {
37970 	setMagicType__sem_6266(conf, m, kind, size);
37971 	(*(*m).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
37972 }
N_NIMCALL(void,processMagicType__sem_6284)37973 N_LIB_PRIVATE N_NIMCALL(void, processMagicType__sem_6284)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m) {
37974 	switch ((*m).magic) {
37975 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 173):
37976 	{
37977 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31), (*(*(*c).graph).config).target.intSize);
37978 	}
37979 	break;
37980 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 174):
37981 	{
37982 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32), ((NI) 1));
37983 	}
37984 	break;
37985 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 175):
37986 	{
37987 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33), ((NI) 2));
37988 	}
37989 	break;
37990 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 176):
37991 	{
37992 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34), ((NI) 4));
37993 	}
37994 	break;
37995 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 177):
37996 	{
37997 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35), ((NI) 8));
37998 	}
37999 	break;
38000 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 178):
38001 	{
38002 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40), (*(*(*c).graph).config).target.intSize);
38003 	}
38004 	break;
38005 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 179):
38006 	{
38007 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41), ((NI) 1));
38008 	}
38009 	break;
38010 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 180):
38011 	{
38012 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42), ((NI) 2));
38013 	}
38014 	break;
38015 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 181):
38016 	{
38017 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43), ((NI) 4));
38018 	}
38019 	break;
38020 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 182):
38021 	{
38022 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44), ((NI) 8));
38023 	}
38024 	break;
38025 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 183):
38026 	{
38027 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36), (*(*(*c).graph).config).target.floatSize);
38028 	}
38029 	break;
38030 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 184):
38031 	{
38032 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37), ((NI) 4));
38033 	}
38034 	break;
38035 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 185):
38036 	{
38037 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38), ((NI) 8));
38038 	}
38039 	break;
38040 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 186):
38041 	{
38042 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39), ((NI) 16));
38043 	}
38044 	break;
38045 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 187):
38046 	{
38047 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1), ((NI) 1));
38048 	}
38049 	break;
38050 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 188):
38051 	{
38052 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2), ((NI) 1));
38053 	}
38054 	break;
38055 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 189):
38056 	{
38057 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T18_;
38058 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28), ((NI) -1));
38059 		T18_ = NIM_NIL;
38060 		T18_ = getSysType__magicsys_60((*c).graph, (*m).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
38061 		rawAddSon__ast_4288((*m).typ, T18_, NIM_TRUE);
38062 		{
38063 			if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA21_;
38064 			(*(*m).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31)) & 63);
38065 		}
38066 		LA21_: ;
38067 	}
38068 	break;
38069 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 190):
38070 	{
38071 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T24_;
38072 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29), (*(*(*c).graph).config).target.ptrSize);
38073 		T24_ = NIM_NIL;
38074 		T24_ = getSysType__magicsys_60((*c).graph, (*m).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
38075 		rawAddSon__ast_4288((*m).typ, T24_, NIM_TRUE);
38076 	}
38077 	break;
38078 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 191):
38079 	{
38080 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26), (*(*(*c).graph).config).target.ptrSize);
38081 	}
38082 	break;
38083 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 192):
38084 	{
38085 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5), (*(*(*c).graph).config).target.ptrSize);
38086 	}
38087 	break;
38088 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 193):
38089 	{
38090 		{
38091 			if (!eqStrings((*(*m).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_804))) goto LA30_;
38092 			setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59), ((NI) 0));
38093 		}
38094 		goto LA28_;
38095 		LA30_: ;
38096 		{
38097 			setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6), ((NI) 0));
38098 		}
38099 		LA28_: ;
38100 	}
38101 	break;
38102 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 194):
38103 	{
38104 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7), ((NI) 0));
38105 	}
38106 	break;
38107 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 195):
38108 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 17):
38109 	{
38110 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T35_;
38111 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8), ((NI) 0));
38112 		T35_ = NIM_NIL;
38113 		T35_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
38114 		rawAddSon__ast_4288((*m).typ, T35_, NIM_TRUE);
38115 	}
38116 	break;
38117 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 24):
38118 	{
38119 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T37_;
38120 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), ((NI) 0));
38121 		T37_ = NIM_NIL;
38122 		T37_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
38123 		rawAddSon__ast_4288((*m).typ, T37_, NIM_TRUE);
38124 	}
38125 	break;
38126 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 196):
38127 	{
38128 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63), ((NI) 0));
38129 	}
38130 	break;
38131 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 159):
38132 	{
38133 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), ((NI) -1));
38134 	}
38135 	break;
38136 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 160):
38137 	{
38138 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27), ((NI) -1));
38139 	}
38140 	break;
38141 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 164):
38142 	{
38143 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48), ((NI) -1));
38144 	}
38145 	break;
38146 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 161):
38147 	{
38148 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T43_;
38149 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20), ((NI) -1));
38150 		T43_ = NIM_NIL;
38151 		T43_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
38152 		rawAddSon__ast_4288((*m).typ, T43_, NIM_TRUE);
38153 	}
38154 	break;
38155 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 162):
38156 	{
38157 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19), ((NI) -1));
38158 	}
38159 	break;
38160 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 271):
38161 	{
38162 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49), ((NI) -1));
38163 	}
38164 	break;
38165 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 163):
38166 	{
38167 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24), ((NI) -1));
38168 		{
38169 			if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA49_;
38170 			(*(*m).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31)) & 63);
38171 		}
38172 		LA49_: ;
38173 		{
38174 			NIM_BOOL T53_;
38175 			T53_ = (NIM_BOOL)0;
38176 			T53_ = NIM_FALSE;
38177 			if (T53_) goto LA54_;
38178 			T53_ = ((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 8));
38179 			LA54_: ;
38180 			if (!T53_) goto LA55_;
38181 		}
38182 		goto LA51_;
38183 		LA55_: ;
38184 		{
38185 		}
38186 		LA51_: ;
38187 		asgnRef((void**) (&(*(*c).graph).sysTypes[(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24))- 0]), (*m).typ);
38188 	}
38189 	break;
38190 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 171):
38191 	{
38192 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T59_;
38193 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15), ((NI) -1));
38194 		T59_ = NIM_NIL;
38195 		T59_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
38196 		rawAddSon__ast_4288((*m).typ, T59_, NIM_TRUE);
38197 	}
38198 	break;
38199 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 172):
38200 	{
38201 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T61_;
38202 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64), ((NI) 0));
38203 		T61_ = NIM_NIL;
38204 		T61_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
38205 		rawAddSon__ast_4288((*m).typ, T61_, NIM_TRUE);
38206 	}
38207 	break;
38208 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 197):
38209 	{
38210 		(*(*m).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 33)) & 63);
38211 		(*(*m).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
38212 	}
38213 	break;
38214 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 268):
38215 	{
38216 	}
38217 	break;
38218 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 269):
38219 	{
38220 		if (eqStrings((*(*m).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_805))) goto LA65_;
38221 		if (eqStrings((*(*m).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_806))) goto LA66_;
38222 		if (eqStrings((*(*m).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_535))) goto LA67_;
38223 		goto LA68_;
38224 		LA65_: ;
38225 		{
38226 			setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47), (*(*(*c).graph).config).target.ptrSize);
38227 		}
38228 		goto LA69_;
38229 		LA66_: ;
38230 		{
38231 			setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46), ((NI) -1));
38232 		}
38233 		goto LA69_;
38234 		LA67_: ;
38235 		{
38236 			setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45), (*(*(*c).graph).config).target.ptrSize);
38237 			(*(*m).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4)) & 63);
38238 		}
38239 		goto LA69_;
38240 		LA68_: ;
38241 		{
38242 			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);
38243 		}
38244 		LA69_: ;
38245 	}
38246 	break;
38247 	default:
38248 	{
38249 		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);
38250 	}
38251 	break;
38252 	}
38253 }
N_NIMCALL(void,Marker_tyRef__XNJoeAba9c9cA3kTvTEsgqEQ)38254 static N_NIMCALL(void, Marker_tyRef__XNJoeAba9c9cA3kTvTEsgqEQ)(void* p, NI op) {
38255 	tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ* a;
38256 	a = (tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ*)p;
38257 	nimGCvisit((void*)(*a).genericType1, op);
38258 }
N_CLOSURE(NIM_BOOL,traverseSubTypes__sem_11752)38259 N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, traverseSubTypes__sem_11752)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, void* ClE_0) {
38260 	NIM_BOOL result;
38261 	tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ* colonenvP_;
38262 {	result = (NIM_BOOL)0;
38263 	colonenvP_ = (tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ*) ClE_0;
38264 	result = NIM_FALSE;
38265 	switch ((*t).kind) {
38266 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
38267 	{
38268 		(*t).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 36)) & 63);
38269 		result = NIM_TRUE;
38270 		goto BeforeRet_;
38271 	}
38272 	break;
38273 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
38274 	{
38275 		{
38276 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
38277 			field = NIM_NIL;
38278 			{
38279 				NI i;
38280 				NI colontmp_;
38281 				NI i_2;
38282 				i = (NI)0;
38283 				colontmp_ = (NI)0;
38284 				colontmp_ = safeLen__ast_3191((*t).n);
38285 				i_2 = ((NI) 0);
38286 				{
38287 					while (1) {
38288 						NIM_BOOL subX60gensym3017_;
38289 						tyProc__u9aP1I541s9an9cuSAzDOz9bTg T7_;
38290 						NIM_BOOL T8_;
38291 						if (!(i_2 < colontmp_)) goto LA6;
38292 						i = i_2;
38293 						field = (*(*t).n)._kind_6.sons->data[i];
38294 						nimZeroMem((void*)(&T7_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38295 						T7_.ClP_0 = traverseSubTypes__sem_11752; T7_.ClE_0 = colonenvP_;
38296 						subX60gensym3017_ = T7_.ClE_0? T7_.ClP_0(c, (*field).typ, T7_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_810)(T7_.ClP_0))(c, (*field).typ);
38297 						T8_ = (NIM_BOOL)0;
38298 						T8_ = result;
38299 						if (T8_) goto LA9_;
38300 						T8_ = subX60gensym3017_;
38301 						LA9_: ;
38302 						result = T8_;
38303 						i_2 += ((NI) 1);
38304 					} LA6: ;
38305 				}
38306 			}
38307 		}
38308 	}
38309 	break;
38310 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
38311 	{
38312 		tyProc__u9aP1I541s9an9cuSAzDOz9bTg T11_;
38313 		nimZeroMem((void*)(&T11_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38314 		T11_.ClP_0 = traverseSubTypes__sem_11752; T11_.ClE_0 = colonenvP_;
38315 		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)]);
38316 		goto BeforeRet_;
38317 	}
38318 	break;
38319 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
38320 	{
38321 		{
38322 			tyObject_TType__facALICuu8zUj0hjvbTLFg** subType;
38323 			NI i_3;
38324 			NI L;
38325 			NI T14_;
38326 			subType = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
38327 			i_3 = ((NI) 0);
38328 			T14_ = ((*t).sons ? (*t).sons->Sup.len : 0);
38329 			L = T14_;
38330 			{
38331 				while (1) {
38332 					if (!(i_3 < L)) goto LA16;
38333 					subType = &(*t).sons->data[i_3];
38334 					{
38335 						NIM_BOOL subX60gensym3020_;
38336 						tyProc__u9aP1I541s9an9cuSAzDOz9bTg T21_;
38337 						NIM_BOOL T22_;
38338 						if (!!(((*subType) == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA19_;
38339 						nimZeroMem((void*)(&T21_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38340 						T21_.ClP_0 = traverseSubTypes__sem_11752; T21_.ClE_0 = colonenvP_;
38341 						subX60gensym3020_ = T21_.ClE_0? T21_.ClP_0(c, (*subType), T21_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_812)(T21_.ClP_0))(c, (*subType));
38342 						T22_ = (NIM_BOOL)0;
38343 						T22_ = result;
38344 						if (T22_) goto LA23_;
38345 						T22_ = subX60gensym3020_;
38346 						LA23_: ;
38347 						result = T22_;
38348 					}
38349 					LA19_: ;
38350 					i_3 += ((NI) 1);
38351 				} LA16: ;
38352 			}
38353 		}
38354 		{
38355 			NimStringDesc* T28_;
38356 			NimStringDesc* T29_;
38357 			if (!result) goto LA26_;
38358 			T28_ = NIM_NIL;
38359 			T29_ = NIM_NIL;
38360 			T29_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
38361 			T28_ = rawNewString((T29_ ? T29_->Sup.len : 0) + 46);
38362 appendString(T28_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_813));
38363 appendString(T28_, T29_);
38364 			liMessage__msgs_1118((*(*c).graph).config, (*(*(*colonenvP_).genericType1).sym).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T28_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_814, NIM_FALSE);
38365 		}
38366 		LA26_: ;
38367 	}
38368 	break;
38369 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
38370 	{
38371 		tyProc__u9aP1I541s9an9cuSAzDOz9bTg T31_;
38372 		nimZeroMem((void*)(&T31_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38373 		T31_.ClP_0 = traverseSubTypes__sem_11752; T31_.ClE_0 = colonenvP_;
38374 		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)]);
38375 		goto BeforeRet_;
38376 	}
38377 	break;
38378 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
38379 	{
38380 		tyObject_TType__facALICuu8zUj0hjvbTLFg* targetBody;
38381 		targetBody = (*t).sons->data[((NI) 0)];
38382 		{
38383 			NI i_4;
38384 			NI colontmp__2;
38385 			NI i_5;
38386 			i_4 = (NI)0;
38387 			colontmp__2 = (NI)0;
38388 			colontmp__2 = len__ast_4002(t);
38389 			i_5 = ((NI) 1);
38390 			{
38391 				while (1) {
38392 					tyObject_TType__facALICuu8zUj0hjvbTLFg* param;
38393 					if (!(i_5 < colontmp__2)) goto LA35;
38394 					i_4 = i_5;
38395 					param = (*t).sons->data[i_4];
38396 					{
38397 						if (!((*param).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA38_;
38398 						{
38399 							tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw formalFlags;
38400 							if (!(((*param).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 35))&63U)))!=0)) goto LA42_;
38401 							formalFlags = (*(*targetBody).sons->data[(NI)(i_4 - ((NI) 1))]).flags;
38402 							{
38403 								NimStringDesc* T48_;
38404 								if (!!(((formalFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 35))&63U)))!=0))) goto LA46_;
38405 								T48_ = NIM_NIL;
38406 								T48_ = rawNewString(((*(*(*param).sym).name).s ? (*(*(*param).sym).name).s->Sup.len : 0) + 51);
38407 appendString(T48_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_816));
38408 appendString(T48_, (*(*(*param).sym).name).s);
38409 appendString(T48_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_817));
38410 								liMessage__msgs_1118((*(*c).graph).config, (*(*(*colonenvP_).genericType1).sym).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T48_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_818, NIM_FALSE);
38411 							}
38412 							goto LA44_;
38413 							LA46_: ;
38414 							{
38415 								if (!((formalFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 36))&63U)))!=0)) goto LA50_;
38416 								(*param).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 36)) & 63);
38417 							}
38418 							goto LA44_;
38419 							LA50_: ;
38420 							LA44_: ;
38421 							result = NIM_TRUE;
38422 						}
38423 						goto LA40_;
38424 						LA42_: ;
38425 						{
38426 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* formalParam;
38427 							if (!(((*param).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 37))&63U)))!=0)) goto LA53_;
38428 							formalParam = (*(*targetBody).sons->data[(NI)(i_4 - ((NI) 1))]).sym;
38429 							{
38430 								NimStringDesc* T59_;
38431 								if (!!((((*(*formalParam).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 37))&63U)))!=0))) goto LA57_;
38432 								T59_ = NIM_NIL;
38433 								T59_ = rawNewString(((*(*(*param).sym).name).s ? (*(*(*param).sym).name).s->Sup.len : 0) + 59);
38434 appendString(T59_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_819));
38435 appendString(T59_, (*(*(*param).sym).name).s);
38436 appendString(T59_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_820));
38437 								liMessage__msgs_1118((*(*c).graph).config, (*(*(*colonenvP_).genericType1).sym).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T59_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_821, NIM_FALSE);
38438 							}
38439 							LA57_: ;
38440 							result = NIM_TRUE;
38441 						}
38442 						goto LA40_;
38443 						LA53_: ;
38444 						LA40_: ;
38445 					}
38446 					goto LA36_;
38447 					LA38_: ;
38448 					{
38449 						NIM_BOOL subX60gensym3044_;
38450 						tyProc__u9aP1I541s9an9cuSAzDOz9bTg T61_;
38451 						NIM_BOOL T62_;
38452 						nimZeroMem((void*)(&T61_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38453 						T61_.ClP_0 = traverseSubTypes__sem_11752; T61_.ClE_0 = colonenvP_;
38454 						subX60gensym3044_ = T61_.ClE_0? T61_.ClP_0(c, param, T61_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_822)(T61_.ClP_0))(c, param);
38455 						T62_ = (NIM_BOOL)0;
38456 						T62_ = result;
38457 						if (T62_) goto LA63_;
38458 						T62_ = subX60gensym3044_;
38459 						LA63_: ;
38460 						result = T62_;
38461 					}
38462 					LA36_: ;
38463 					i_5 += ((NI) 1);
38464 				} LA35: ;
38465 			}
38466 		}
38467 	}
38468 	break;
38469 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56):
38470 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
38471 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
38472 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
38473 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51):
38474 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
38475 	{
38476 		NimStringDesc* T65_;
38477 		NimStringDesc* T66_;
38478 		T65_ = NIM_NIL;
38479 		T66_ = NIM_NIL;
38480 		T66_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
38481 		T65_ = rawNewString((T66_ ? T66_->Sup.len : 0) + 63);
38482 appendString(T65_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_823));
38483 appendString(T65_, T66_);
38484 appendString(T65_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
38485 		liMessage__msgs_1118((*(*c).graph).config, (*(*(*colonenvP_).genericType1).sym).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T65_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_824, NIM_FALSE);
38486 	}
38487 	break;
38488 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52):
38489 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
38490 	{
38491 		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);
38492 	}
38493 	break;
38494 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
38495 	{
38496 		{
38497 			tyObject_TType__facALICuu8zUj0hjvbTLFg** fieldType;
38498 			NI i_6;
38499 			NI L_2;
38500 			NI T70_;
38501 			fieldType = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
38502 			i_6 = ((NI) 0);
38503 			T70_ = ((*t).sons ? (*t).sons->Sup.len : 0);
38504 			L_2 = T70_;
38505 			{
38506 				while (1) {
38507 					NIM_BOOL subX60gensym3054_;
38508 					tyProc__u9aP1I541s9an9cuSAzDOz9bTg T73_;
38509 					NIM_BOOL T74_;
38510 					if (!(i_6 < L_2)) goto LA72;
38511 					fieldType = &(*t).sons->data[i_6];
38512 					nimZeroMem((void*)(&T73_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38513 					T73_.ClP_0 = traverseSubTypes__sem_11752; T73_.ClE_0 = colonenvP_;
38514 					subX60gensym3054_ = T73_.ClE_0? T73_.ClP_0(c, (*fieldType), T73_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_827)(T73_.ClP_0))(c, (*fieldType));
38515 					T74_ = (NIM_BOOL)0;
38516 					T74_ = result;
38517 					if (T74_) goto LA75_;
38518 					T74_ = subX60gensym3054_;
38519 					LA75_: ;
38520 					result = T74_;
38521 					i_6 += ((NI) 1);
38522 				} LA72: ;
38523 			}
38524 		}
38525 	}
38526 	break;
38527 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
38528 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
38529 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
38530 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
38531 	{
38532 		tyProc__u9aP1I541s9an9cuSAzDOz9bTg T82_;
38533 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T83_;
38534 		{
38535 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T79_;
38536 			T79_ = NIM_NIL;
38537 			T79_ = base__types_63(t);
38538 			if (!((*T79_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA80_;
38539 			result = NIM_TRUE;
38540 			goto BeforeRet_;
38541 		}
38542 		LA80_: ;
38543 		nimZeroMem((void*)(&T82_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38544 		T82_.ClP_0 = traverseSubTypes__sem_11752; T82_.ClE_0 = colonenvP_;
38545 		T83_ = NIM_NIL;
38546 		T83_ = base__types_63(t);
38547 		result = T82_.ClE_0? T82_.ClP_0(c, T83_, T82_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_828)(T82_.ClP_0))(c, T83_);
38548 		goto BeforeRet_;
38549 	}
38550 	break;
38551 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
38552 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
38553 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
38554 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
38555 	{
38556 		tyProc__u9aP1I541s9an9cuSAzDOz9bTg T85_;
38557 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T86_;
38558 		nimZeroMem((void*)(&T85_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38559 		T85_.ClP_0 = traverseSubTypes__sem_11752; T85_.ClE_0 = colonenvP_;
38560 		T86_ = NIM_NIL;
38561 		T86_ = lastSon__ast_3743(t);
38562 		result = T85_.ClE_0? T85_.ClP_0(c, T86_, T85_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_829)(T85_.ClP_0))(c, T86_);
38563 		goto BeforeRet_;
38564 	}
38565 	break;
38566 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
38567 	{
38568 		{
38569 			NimStringDesc* argX60gensym3056_;
38570 			if (!NIM_TRUE) goto LA90_;
38571 			argX60gensym3056_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_830);
38572 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym3056_, TM__rF9caJawfOjYTjsgLVUSGFA_830);
38573 		}
38574 		LA90_: ;
38575 	}
38576 	break;
38577 	default:
38578 	{
38579 	}
38580 	break;
38581 	}
38582 	}BeforeRet_: ;
38583 	return result;
38584 }
N_NIMCALL(void,checkCovariantParamsUsages__sem_11743)38585 N_LIB_PRIVATE N_NIMCALL(void, checkCovariantParamsUsages__sem_11743)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* genericType) {
38586 	tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ* colonenv_;
38587 	tyObject_TType__facALICuu8zUj0hjvbTLFg* body;
38588 	NI T1_;
38589 	tyProc__u9aP1I541s9an9cuSAzDOz9bTg T2_;
38590 	NIM_BOOL T3_;
38591 	colonenv_ = NIM_NIL;
38592 	colonenv_ = (tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ*) newObj((&NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_), sizeof(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ));
38593 	(*colonenv_).Sup.m_type = (&NTIobject__pOSGedHS6i9aexCYZEItHgQ_);
38594 	asgnRef((void**) (&(*colonenv_).genericType1), genericType);
38595 	T1_ = (NI)0;
38596 	T1_ = len__ast_4002((*colonenv_).genericType1);
38597 	body = (*(*colonenv_).genericType1).sons->data[(NI)(T1_ - ((NI) 1))];
38598 	nimZeroMem((void*)(&T2_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38599 	T2_.ClP_0 = traverseSubTypes__sem_11752; T2_.ClE_0 = colonenv_;
38600 	T3_ = (NIM_BOOL)0;
38601 	T3_ = T2_.ClE_0? T2_.ClP_0(c, body, T2_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_831)(T2_.ClP_0))(c, body);
38602 	(void)(T3_);
38603 }
N_NIMCALL(void,typeSectionRightSidePass__sem_11843)38604 N_LIB_PRIVATE N_NIMCALL(void, typeSectionRightSidePass__sem_11843)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
38605 	{
38606 		NI i;
38607 		NI colontmp_;
38608 		NI i_2;
38609 		i = (NI)0;
38610 		colontmp_ = (NI)0;
38611 		colontmp_ = len__ast_3198(n);
38612 		i_2 = ((NI) 0);
38613 		{
38614 			while (1) {
38615 				if (!(i_2 < colontmp_)) goto LA3;
38616 				i = i_2;
38617 				{
38618 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
38619 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* name;
38620 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
38621 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aa;
38622 					a = (*n)._kind_6.sons->data[i];
38623 					{
38624 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA7_;
38625 						goto LA4;
38626 					}
38627 					LA7_: ;
38628 					{
38629 						if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA11_;
38630 						illFormedAst__semdata_1071(a, (*(*c).graph).config);
38631 					}
38632 					LA11_: ;
38633 					checkSonsLen__semdata_1077(a, ((NI) 3), (*(*c).graph).config);
38634 					name = typeSectionTypeName__sem_11606(c, (*a)._kind_6.sons->data[((NI) 0)]);
38635 					s = (*name)._kind_4.sym;
38636 					{
38637 						NIM_BOOL T15_;
38638 						NimStringDesc* T19_;
38639 						T15_ = (NIM_BOOL)0;
38640 						T15_ = ((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
38641 						if (!(T15_)) goto LA16_;
38642 						T15_ = ((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
38643 						LA16_: ;
38644 						if (!T15_) goto LA17_;
38645 						T19_ = NIM_NIL;
38646 						T19_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_402), (*(*s).name).s);
38647 						liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T19_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_803, NIM_FALSE);
38648 					}
38649 					LA17_: ;
38650 					{
38651 						if (!!(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)))) goto LA22_;
38652 						processMagicType__sem_6284(c, s);
38653 					}
38654 					LA22_: ;
38655 					{
38656 						tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T28_;
38657 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T33_;
38658 						tyObject_TType__facALICuu8zUj0hjvbTLFg* body;
38659 						if (!!(((*(*a)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA26_;
38660 						T28_ = NIM_NIL;
38661 						T28_ = openScope__lookups_69(c);
38662 						pushOwner__semdata_322(c, s);
38663 						{
38664 							if (!((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0))) goto LA31_;
38665 							(*(*s).typ).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10);
38666 						}
38667 						LA31_: ;
38668 						asgnRef((void**) (&(*(*s).typ).n), semGenericParamList__sem_6334(c, (*a)._kind_6.sons->data[((NI) 1)], (*s).typ));
38669 						asgnRef((void**) (&(*a)._kind_6.sons->data[((NI) 1)]), (*(*s).typ).n);
38670 						(*(*s).typ).size = IL64(-1);
38671 						T33_ = NIM_NIL;
38672 						T33_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
38673 						rawAddSon__ast_4288((*s).typ, T33_, NIM_TRUE);
38674 						asgnRef((void**) (&(*s).ast), a);
38675 						(*c).inGenericContext += ((NI) 1);
38676 						body = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[((NI) 2)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
38677 						(*c).inGenericContext -= ((NI) 1);
38678 						{
38679 							NI T38_;
38680 							if (!!((body == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA36_;
38681 							asgnRef((void**) (&(*body).sym), s);
38682 							(*body).size = IL64(-1);
38683 							T38_ = (NI)0;
38684 							T38_ = len__ast_4002((*s).typ);
38685 							asgnRef((void**) (&(*(*s).typ).sons->data[(NI)(T38_ - ((NI) 1))]), body);
38686 							{
38687 								if (!(((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 35))&63U)))!=0)) goto LA41_;
38688 								checkCovariantParamsUsages__sem_11743(c, (*s).typ);
38689 								{
38690 									tyObject_TType__facALICuu8zUj0hjvbTLFg* body_2;
38691 									if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0)) goto LA45_;
38692 									body_2 = lastSon__ast_3743((*s).typ);
38693 									{
38694 										if (!((*body_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA49_;
38695 										if ((*(*body_2).n)._kind_6.sons) { nimGCunrefRC1((*(*body_2).n)._kind_6.sons); (*(*body_2).n)._kind_6.sons = NIM_NIL; }
38696 									}
38697 									LA49_: ;
38698 								}
38699 								LA45_: ;
38700 							}
38701 							LA41_: ;
38702 						}
38703 						LA36_: ;
38704 						popOwner__semdata_329(c);
38705 						closeScope__lookups_101(c);
38706 					}
38707 					goto LA24_;
38708 					LA26_: ;
38709 					{
38710 						tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
38711 						if (!!(((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA52_;
38712 						pushOwner__semdata_322(c, s);
38713 						t = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[((NI) 2)], (*s).typ);
38714 						{
38715 							if (!((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA56_;
38716 							asgnRef((void**) (&(*s).typ), t);
38717 						}
38718 						goto LA54_;
38719 						LA56_: ;
38720 						{
38721 							NIM_BOOL T59_;
38722 							NIM_BOOL T61_;
38723 							T59_ = (NIM_BOOL)0;
38724 							T59_ = !((t == (*s).typ));
38725 							if (!(T59_)) goto LA60_;
38726 							T61_ = (NIM_BOOL)0;
38727 							T61_ = ((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
38728 							if (T61_) goto LA62_;
38729 							T61_ = !(((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4)));
38730 							LA62_: ;
38731 							T59_ = T61_;
38732 							LA60_: ;
38733 							if (!T59_) goto LA63_;
38734 							assignType__ast_3976((*s).typ, t);
38735 						}
38736 						goto LA54_;
38737 						LA63_: ;
38738 						LA54_: ;
38739 						asgnRef((void**) (&(*s).ast), a);
38740 						popOwner__semdata_329(c);
38741 						{
38742 							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_;
38743 							(*(*a)._kind_6.sons->data[((NI) 2)]).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7)) & 31);
38744 						}
38745 						LA67_: ;
38746 					}
38747 					goto LA24_;
38748 					LA52_: ;
38749 					LA24_: ;
38750 					{
38751 						NIM_BOOL T71_;
38752 						T71_ = (NIM_BOOL)0;
38753 						T71_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 7))&63U)))!=0);
38754 						if (!(T71_)) goto LA72_;
38755 						T71_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4));
38756 						LA72_: ;
38757 						if (!T71_) goto LA73_;
38758 						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);
38759 					}
38760 					LA73_: ;
38761 					{
38762 						NIM_BOOL T77_;
38763 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T79_;
38764 						T77_ = (NIM_BOOL)0;
38765 						T77_ = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 32))&63U)))!=0);
38766 						if (!(T77_)) goto LA78_;
38767 						T79_ = NIM_NIL;
38768 						T79_ = skipTypes__ast_3735((*s).typ, TM__rF9caJawfOjYTjsgLVUSGFA_834);
38769 						T77_ = !(((*T79_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13)));
38770 						LA78_: ;
38771 						if (!T77_) goto LA80_;
38772 						(*(*s).typ).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 32)) & 63));
38773 						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);
38774 					}
38775 					LA80_: ;
38776 					aa = (*a)._kind_6.sons->data[((NI) 2)];
38777 					{
38778 						NIM_BOOL T84_;
38779 						NIM_BOOL T85_;
38780 						NI T87_;
38781 						tyObject_TType__facALICuu8zUj0hjvbTLFg* st;
38782 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* obj;
38783 						NimStringDesc* T104_;
38784 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T105_;
38785 						tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T106_;
38786 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T107_;
38787 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* symNode;
38788 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T115_;
38789 						T84_ = (NIM_BOOL)0;
38790 						T85_ = (NIM_BOOL)0;
38791 						T85_ = ((*aa).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141) || (*aa).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 142));
38792 						if (!(T85_)) goto LA86_;
38793 						T87_ = (NI)0;
38794 						T87_ = len__ast_3198(aa);
38795 						T85_ = (T87_ == ((NI) 1));
38796 						LA86_: ;
38797 						T84_ = T85_;
38798 						if (!(T84_)) goto LA88_;
38799 						T84_ = ((*(*aa)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133));
38800 						LA88_: ;
38801 						if (!T84_) goto LA89_;
38802 						st = (*s).typ;
38803 						{
38804 							if (!((*st).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA93_;
38805 							st = lastSon__ast_3743(st);
38806 						}
38807 						LA93_: ;
38808 						{
38809 							NimStringDesc* argX60gensym3101_;
38810 							if (!!(((*st).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*st).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22)))) goto LA97_;
38811 							argX60gensym3101_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_837);
38812 							internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym3101_, TM__rF9caJawfOjYTjsgLVUSGFA_837);
38813 						}
38814 						LA97_: ;
38815 						{
38816 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T101_;
38817 							NimStringDesc* argX60gensym3104_;
38818 							T101_ = NIM_NIL;
38819 							T101_ = lastSon__ast_3743(st);
38820 							if (!!(((*T101_).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA102_;
38821 							argX60gensym3104_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_838);
38822 							internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym3104_, TM__rF9caJawfOjYTjsgLVUSGFA_838);
38823 						}
38824 						LA102_: ;
38825 						(*st).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 34)) & 63);
38826 						T104_ = NIM_NIL;
38827 						T104_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 11);
38828 appendString(T104_, (*(*s).name).s);
38829 appendString(T104_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_839));
38830 						T105_ = NIM_NIL;
38831 						T105_ = getIdent__idents_143((*c).cache, T104_);
38832 						T106_ = nextSymId__ast_3132((*c).Sup.idgen);
38833 						T107_ = NIM_NIL;
38834 						T107_ = getCurrOwner__semdata_315(c);
38835 						obj = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), T105_, T106_, T107_, (*s).info, 0);
38836 						symNode = newSymNode__ast_3716(obj);
38837 						asgnRef((void**) (&(*obj).ast), shallowCopy__ast_4413(a));
38838 						switch ((*(*a)._kind_6.sons->data[((NI) 0)]).kind) {
38839 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
38840 						{
38841 							asgnRef((void**) (&(*(*obj).ast)._kind_6.sons->data[((NI) 0)]), symNode);
38842 						}
38843 						break;
38844 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
38845 						{
38846 							asgnRef((void**) (&(*(*obj).ast)._kind_6.sons->data[((NI) 0)]), shallowCopy__ast_4413((*a)._kind_6.sons->data[((NI) 0)]));
38847 							asgnRef((void**) (&(*(*(*obj).ast)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]), symNode);
38848 							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)]);
38849 						}
38850 						break;
38851 						default:
38852 						{
38853 						}
38854 						break;
38855 						}
38856 						asgnRef((void**) (&(*(*obj).ast)._kind_6.sons->data[((NI) 1)]), (*a)._kind_6.sons->data[((NI) 1)]);
38857 						asgnRef((void**) (&(*(*obj).ast)._kind_6.sons->data[((NI) 2)]), (*(*a)._kind_6.sons->data[((NI) 2)])._kind_6.sons->data[((NI) 0)]);
38858 						{
38859 							if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0)) goto LA113_;
38860 							(*obj).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11)) & 63);
38861 						}
38862 						LA113_: ;
38863 						asgnRef((void**) (&(*obj).typ), lastSon__ast_3743(st));
38864 						T115_ = NIM_NIL;
38865 						T115_ = lastSon__ast_3743(st);
38866 						asgnRef((void**) (&(*T115_).sym), obj);
38867 					}
38868 					LA89_: ;
38869 				} LA4: ;
38870 				i_2 += ((NI) 1);
38871 			} LA3: ;
38872 		}
38873 	}
38874 }
N_NIMCALL(void,checkMeta__sem_12065)38875 N_LIB_PRIVATE N_NIMCALL(void, checkMeta__sem_12065)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
38876 	{
38877 		NIM_BOOL T3_;
38878 		NIM_BOOL T4_;
38879 		T3_ = (NIM_BOOL)0;
38880 		T4_ = (NIM_BOOL)0;
38881 		T4_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
38882 		if (!(T4_)) goto LA5_;
38883 		T4_ = isMetaType__ast_3495(t);
38884 		LA5_: ;
38885 		T3_ = T4_;
38886 		if (!(T3_)) goto LA6_;
38887 		T3_ = !((((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 25))&63U)))!=0));
38888 		LA6_: ;
38889 		if (!T3_) goto LA7_;
38890 		{
38891 			NIM_BOOL T11_;
38892 			NIM_BOOL T12_;
38893 			NI T14_;
38894 			NimStringDesc* T18_;
38895 			NimStringDesc* T19_;
38896 			T11_ = (NIM_BOOL)0;
38897 			T12_ = (NIM_BOOL)0;
38898 			T12_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51));
38899 			if (!(T12_)) goto LA13_;
38900 			T14_ = (NI)0;
38901 			T14_ = len__ast_4002(t);
38902 			T12_ = (T14_ == ((NI) 1));
38903 			LA13_: ;
38904 			T11_ = T12_;
38905 			if (!(T11_)) goto LA15_;
38906 			T11_ = ((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
38907 			LA15_: ;
38908 			if (!T11_) goto LA16_;
38909 			T18_ = NIM_NIL;
38910 			T18_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
38911 			T19_ = NIM_NIL;
38912 			T19_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_840), T18_);
38913 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T19_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_841, NIM_FALSE);
38914 		}
38915 		goto LA9_;
38916 		LA16_: ;
38917 		{
38918 			NimStringDesc* T21_;
38919 			NimStringDesc* T22_;
38920 			T21_ = NIM_NIL;
38921 			T21_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
38922 			T22_ = NIM_NIL;
38923 			T22_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_551), T21_);
38924 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T22_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_842, NIM_FALSE);
38925 		}
38926 		LA9_: ;
38927 	}
38928 	LA7_: ;
38929 }
N_NIMCALL(void,checkForMetaFields__sem_12062)38930 N_LIB_PRIVATE N_NIMCALL(void, checkForMetaFields__sem_12062)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
38931 {	{
38932 		if (!(n == 0)) goto LA3_;
38933 		goto BeforeRet_;
38934 	}
38935 	LA3_: ;
38936 	switch ((*n).kind) {
38937 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
38938 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
38939 	{
38940 		{
38941 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
38942 			s = NIM_NIL;
38943 			{
38944 				NI i;
38945 				NI colontmp_;
38946 				NI i_2;
38947 				i = (NI)0;
38948 				colontmp_ = (NI)0;
38949 				colontmp_ = safeLen__ast_3191(n);
38950 				i_2 = ((NI) 0);
38951 				{
38952 					while (1) {
38953 						if (!(i_2 < colontmp_)) goto LA9;
38954 						i = i_2;
38955 						s = (*n)._kind_6.sons->data[i];
38956 						checkForMetaFields__sem_12062(c, s);
38957 						i_2 += ((NI) 1);
38958 					} LA9: ;
38959 				}
38960 			}
38961 		}
38962 	}
38963 	break;
38964 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
38965 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
38966 	{
38967 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
38968 		T11_ = NIM_NIL;
38969 		T11_ = lastSon__ast_4832(n);
38970 		checkForMetaFields__sem_12062(c, T11_);
38971 	}
38972 	break;
38973 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
38974 	{
38975 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
38976 		t = (*(*n)._kind_4.sym).typ;
38977 		switch ((*t).kind) {
38978 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
38979 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
38980 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
38981 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
38982 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
38983 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
38984 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
38985 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
38986 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
38987 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
38988 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
38989 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
38990 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
38991 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
38992 		{
38993 			NI start;
38994 			start = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
38995 			{
38996 				NI i_3;
38997 				NI colontmp__2;
38998 				NI i_4;
38999 				i_3 = (NI)0;
39000 				colontmp__2 = (NI)0;
39001 				colontmp__2 = len__ast_4002(t);
39002 				i_4 = start;
39003 				{
39004 					while (1) {
39005 						if (!(i_4 < colontmp__2)) goto LA16;
39006 						i_3 = i_4;
39007 						checkMeta__sem_12065(c, n, (*t).sons->data[i_3]);
39008 						i_4 += ((NI) 1);
39009 					} LA16: ;
39010 				}
39011 			}
39012 		}
39013 		break;
39014 		default:
39015 		{
39016 			checkMeta__sem_12065(c, n, t);
39017 		}
39018 		break;
39019 		}
39020 	}
39021 	break;
39022 	default:
39023 	{
39024 		{
39025 			NimStringDesc* argX60gensym3136_;
39026 			if (!NIM_TRUE) goto LA21_;
39027 			argX60gensym3136_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_843);
39028 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym3136_, TM__rF9caJawfOjYTjsgLVUSGFA_843);
39029 		}
39030 		LA21_: ;
39031 	}
39032 	break;
39033 	}
39034 	}BeforeRet_: ;
39035 }
N_NIMCALL(void,typeSectionFinalPass__sem_12118)39036 N_LIB_PRIVATE N_NIMCALL(void, typeSectionFinalPass__sem_12118)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
39037 	{
39038 		NI i;
39039 		NI colontmp_;
39040 		NI i_2;
39041 		i = (NI)0;
39042 		colontmp_ = (NI)0;
39043 		colontmp_ = len__ast_3198(n);
39044 		i_2 = ((NI) 0);
39045 		{
39046 			while (1) {
39047 				if (!(i_2 < colontmp_)) goto LA3;
39048 				i = i_2;
39049 				{
39050 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
39051 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* name;
39052 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
39053 					a = (*n)._kind_6.sons->data[i];
39054 					{
39055 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA7_;
39056 						goto LA4;
39057 					}
39058 					LA7_: ;
39059 					name = typeSectionTypeName__sem_11606(c, (*a)._kind_6.sons->data[((NI) 0)]);
39060 					s = (*name)._kind_4.sym;
39061 					{
39062 						NIM_BOOL T11_;
39063 						T11_ = (NIM_BOOL)0;
39064 						T11_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
39065 						if (!(T11_)) goto LA12_;
39066 						T11_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
39067 						LA12_: ;
39068 						if (!T11_) goto LA13_;
39069 						nep1CheckDefImpl__linter_110((*(*c).graph).config, (*s).info, s, (*s).kind);
39070 					}
39071 					LA13_: ;
39072 					{
39073 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
39074 						if (!((*(*a)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA17_;
39075 						x = (*a)._kind_6.sons->data[((NI) 2)];
39076 						{
39077 							NIM_BOOL T21_;
39078 							T21_ = (NIM_BOOL)0;
39079 							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));
39080 							if (!(T21_)) goto LA22_;
39081 							T21_ = (((*x).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0);
39082 							LA22_: ;
39083 							if (!T21_) goto LA23_;
39084 						}
39085 						goto LA19_;
39086 						LA23_: ;
39087 						{
39088 							{
39089 								while (1) {
39090 									NIM_BOOL T28_;
39091 									NI T30_;
39092 									T28_ = (NIM_BOOL)0;
39093 									T28_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
39094 									if (!(T28_)) goto LA29_;
39095 									T30_ = (NI)0;
39096 									T30_ = len__ast_3198(x);
39097 									T28_ = (((NI) 0) < T30_);
39098 									LA29_: ;
39099 									if (!T28_) goto LA27;
39100 									x = lastSon__ast_4832(x);
39101 								} LA27: ;
39102 							}
39103 							{
39104 								NIM_BOOL T33_;
39105 								tyObject_TType__facALICuu8zUj0hjvbTLFg* T35_;
39106 								tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
39107 								T33_ = (NIM_BOOL)0;
39108 								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)));
39109 								if (!(T33_)) goto LA34_;
39110 								T35_ = NIM_NIL;
39111 								T35_ = safeSkipTypes__types_3552((*s).typ, TM__rF9caJawfOjYTjsgLVUSGFA_97);
39112 								T33_ = !(((*T35_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*T35_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14)));
39113 								LA34_: ;
39114 								if (!T33_) goto LA36_;
39115 								t = semTypeNode__sem_80(c, x, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
39116 								{
39117 									NIM_BOOL T40_;
39118 									T40_ = (NIM_BOOL)0;
39119 									T40_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
39120 									if (!(T40_)) goto LA41_;
39121 									T40_ = !(((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4) || (*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46)));
39122 									LA41_: ;
39123 									if (!T40_) goto LA42_;
39124 									{
39125 										NIM_BOOL T46_;
39126 										NIM_BOOL T48_;
39127 										T46_ = (NIM_BOOL)0;
39128 										T46_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
39129 										if (!(T46_)) goto LA47_;
39130 										T48_ = (NIM_BOOL)0;
39131 										T48_ = isMetaType__ast_3495(t);
39132 										T46_ = !(T48_);
39133 										LA47_: ;
39134 										if (!T46_) goto LA49_;
39135 										assignType__ast_3976((*s).typ, t);
39136 										(*(*s).typ).Sup.itemId = (*t).Sup.itemId;
39137 									}
39138 									goto LA44_;
39139 									LA49_: ;
39140 									{
39141 										if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA52_;
39142 										assignType__ast_3976((*s).typ, t);
39143 										(*(*s).typ).Sup.itemId = (*t).Sup.itemId;
39144 									}
39145 									goto LA44_;
39146 									LA52_: ;
39147 									LA44_: ;
39148 								}
39149 								LA42_: ;
39150 							}
39151 							LA36_: ;
39152 							checkConstructedType__semtypinst_26((*(*c).graph).config, (*s).info, (*s).typ);
39153 							{
39154 								NIM_BOOL T56_;
39155 								T56_ = (NIM_BOOL)0;
39156 								T56_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
39157 								if (!(T56_)) goto LA57_;
39158 								T56_ = !(((*(*s).typ).n == 0));
39159 								LA57_: ;
39160 								if (!T56_) goto LA58_;
39161 								checkForMetaFields__sem_12062(c, (*(*s).typ).n);
39162 							}
39163 							LA58_: ;
39164 							{
39165 								NIM_BOOL T62_;
39166 								NIM_BOOL T64_;
39167 								T62_ = (NIM_BOOL)0;
39168 								T62_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
39169 								if (!(T62_)) goto LA63_;
39170 								T64_ = (NIM_BOOL)0;
39171 								T64_ = isTopLevel__semdata_1091(c);
39172 								T62_ = !(T64_);
39173 								LA63_: ;
39174 								if (!T62_) goto LA65_;
39175 								(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37)) & 63);
39176 							}
39177 							LA65_: ;
39178 						}
39179 						LA19_: ;
39180 					}
39181 					LA17_: ;
39182 				} LA4: ;
39183 				i_2 += ((NI) 1);
39184 			} LA3: ;
39185 		}
39186 	}
39187 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTypeSection__sem_12312)39188 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTypeSection__sem_12312)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
39189 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39190 	result = NIM_NIL;
39191 	{
39192 		NIM_BOOL T3_;
39193 		T3_ = (NIM_BOOL)0;
39194 		T3_ = !((((*(*c).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0));
39195 		if (T3_) goto LA4_;
39196 		T3_ = !((((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0));
39197 		LA4_: ;
39198 		if (!T3_) goto LA5_;
39199 		(*c).inTypeContext += ((NI) 1);
39200 		typeSectionLeftSidePass__sem_11722(c, n);
39201 		typeSectionRightSidePass__sem_11843(c, n);
39202 		typeSectionFinalPass__sem_12118(c, n);
39203 		(*c).inTypeContext -= ((NI) 1);
39204 	}
39205 	LA5_: ;
39206 	result = n;
39207 	return result;
39208 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semDiscard__sem_9153)39209 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDiscard__sem_9153)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
39210 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39211 	result = NIM_NIL;
39212 	result = n;
39213 	checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
39214 	{
39215 		tyObject_TType__facALICuu8zUj0hjvbTLFg* sonType;
39216 		tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw sonKind;
39217 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
39218 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0));
39219 		sonType = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
39220 		sonKind = (*(*n)._kind_6.sons->data[((NI) 0)]).kind;
39221 		{
39222 			NIM_BOOL T7_;
39223 			NIM_BOOL T8_;
39224 			T7_ = (NIM_BOOL)0;
39225 			T8_ = (NIM_BOOL)0;
39226 			T8_ = isEmptyType__ast_4779(sonType);
39227 			if (T8_) goto LA9_;
39228 			T8_ = ((*sonType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0) || (*sonType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
39229 			LA9_: ;
39230 			T7_ = T8_;
39231 			if (T7_) goto LA10_;
39232 			T7_ = (sonKind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132));
39233 			LA10_: ;
39234 			if (!T7_) goto LA11_;
39235 			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);
39236 		}
39237 		LA11_: ;
39238 		{
39239 			NIM_BOOL T15_;
39240 			NimStringDesc* T19_;
39241 			NimStringDesc* T20_;
39242 			T15_ = (NIM_BOOL)0;
39243 			T15_ = ((*sonType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
39244 			if (!(T15_)) goto LA16_;
39245 			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)));
39246 			LA16_: ;
39247 			if (!T15_) goto LA17_;
39248 			T19_ = NIM_NIL;
39249 			T20_ = NIM_NIL;
39250 			T20_ = dollar___renderer_2106((*n)._kind_6.sons->data[((NI) 0)]);
39251 			T19_ = rawNewString((T20_ ? T20_->Sup.len : 0) + 38);
39252 appendString(T19_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_846));
39253 appendString(T19_, T20_);
39254 appendString(T19_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_215));
39255 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T19_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_847, NIM_FALSE);
39256 		}
39257 		LA17_: ;
39258 	}
39259 	LA3_: ;
39260 	return result;
39261 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semWhile__sem_9234)39262 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semWhile__sem_9234)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
39263 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39264 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
39265 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
39266 	result = NIM_NIL;
39267 	result = n;
39268 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
39269 	T1_ = NIM_NIL;
39270 	T1_ = openScope__lookups_69(c);
39271 	T2_ = NIM_NIL;
39272 	T2_ = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
39273 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), forceBool__sem_2869(c, T2_));
39274 	(*(*c).p).nestedLoopCounter += ((NI) 1);
39275 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semStmt__sem_84(c, (*n)._kind_6.sons->data[((NI) 1)], flags));
39276 	(*(*c).p).nestedLoopCounter -= ((NI) 1);
39277 	closeScope__lookups_101(c);
39278 	{
39279 		if (!((*(*n)._kind_6.sons->data[((NI) 1)]).typ == (*c).enforceVoidContext)) goto LA5_;
39280 		asgnRef((void**) (&(*result).typ), (*c).enforceVoidContext);
39281 	}
39282 	goto LA3_;
39283 	LA5_: ;
39284 	{
39285 		if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0)) goto LA8_;
39286 		asgnRef((void**) (&(*result).typ), (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
39287 	}
39288 	goto LA3_;
39289 	LA8_: ;
39290 	LA3_: ;
39291 	return result;
39292 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTry__sem_9422)39293 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTry__sem_9422)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
39294 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39295 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
39296 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
39297 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
39298 	NI last;
39299 	NI T2_;
39300 	NI catchAllExcepts;
39301 	result = NIM_NIL;
39302 	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
39303 	initIntSet__pureZcollectionsZintsets_238((&check));
39304 	result = n;
39305 	checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
39306 	T1_ = NIM_NIL;
39307 	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*) newObj((&NTIptype__qt2Wh0elFEz5fH0l7yusLw_), sizeof(tyObject_TType__facALICuu8zUj0hjvbTLFg));
39308 	(*T1_).Sup.Sup.m_type = (&NTIttype__facALICuu8zUj0hjvbTLFg_);
39309 	(*T1_).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6);
39310 	typ = T1_;
39311 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprBranchScope__sem_9277(c, (*n)._kind_6.sons->data[((NI) 0)]));
39312 	typ = commonType__sem_237(c, typ, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
39313 	T2_ = (NI)0;
39314 	T2_ = len__ast_3198(n);
39315 	last = (NI)(T2_ - ((NI) 1));
39316 	catchAllExcepts = ((NI) 0);
39317 	{
39318 		NI i;
39319 		NI res;
39320 		i = (NI)0;
39321 		res = ((NI) 1);
39322 		{
39323 			while (1) {
39324 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
39325 				tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T6_;
39326 				NI T98_;
39327 				NI T99_;
39328 				if (!(res <= last)) goto LA5;
39329 				i = res;
39330 				a = (*n)._kind_6.sons->data[i];
39331 				checkMinSonsLen__semdata_1084(a, ((NI) 1), (*(*c).graph).config);
39332 				T6_ = NIM_NIL;
39333 				T6_ = openScope__lookups_69(c);
39334 				{
39335 					if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87))) goto LA9_;
39336 					{
39337 						NIM_BOOL T13_;
39338 						NI T14_;
39339 						tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T18_;
39340 						T13_ = (NIM_BOOL)0;
39341 						T14_ = (NI)0;
39342 						T14_ = len__ast_3198(a);
39343 						T13_ = (T14_ == ((NI) 2));
39344 						if (!(T13_)) goto LA15_;
39345 						T13_ = ((*(*a)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41));
39346 						LA15_: ;
39347 						if (!T13_) goto LA16_;
39348 						T18_ = dotdot___pureZunicode_840(((NI) 0), ((NI) 0));
39349 						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));
39350 					}
39351 					LA16_: ;
39352 					{
39353 						NIM_BOOL T21_;
39354 						NI T22_;
39355 						NIM_BOOL isImported;
39356 						tyObject_TType__facALICuu8zUj0hjvbTLFg* typX60gensym2355_;
39357 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T26_;
39358 						NIM_BOOL isImportedX60gensym2355_;
39359 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symbol;
39360 						T21_ = (NIM_BOOL)0;
39361 						T22_ = (NI)0;
39362 						T22_ = len__ast_3198(a);
39363 						T21_ = (T22_ == ((NI) 2));
39364 						if (!(T21_)) goto LA23_;
39365 						T21_ = isInfixAs__ast_4935((*a)._kind_6.sons->data[((NI) 0)]);
39366 						LA23_: ;
39367 						if (!T21_) goto LA24_;
39368 						T26_ = NIM_NIL;
39369 						T26_ = semTypeNode__sem_80(c, (*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
39370 						typX60gensym2355_ = toObject__ast_4879(T26_);
39371 						isImportedX60gensym2355_ = NIM_FALSE;
39372 						{
39373 							NIM_BOOL T29_;
39374 							T29_ = (NIM_BOOL)0;
39375 							T29_ = isImportedException__ast_4904(typX60gensym2355_, (*(*c).graph).config);
39376 							if (!T29_) goto LA30_;
39377 							isImportedX60gensym2355_ = NIM_TRUE;
39378 						}
39379 						goto LA27_;
39380 						LA30_: ;
39381 						{
39382 							NIM_BOOL T33_;
39383 							T33_ = (NIM_BOOL)0;
39384 							T33_ = isException__types_4000(typX60gensym2355_);
39385 							if (!!(T33_)) goto LA34_;
39386 							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);
39387 						}
39388 						goto LA27_;
39389 						LA34_: ;
39390 						LA27_: ;
39391 						{
39392 							tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym2360_;
39393 							NIM_BOOL T38_;
39394 							xX60gensym2360_ = typX60gensym2355_;
39395 							T38_ = (NIM_BOOL)0;
39396 							T38_ = containsOrIncl__astalgo_402((&check), (NI)((NI)((NU64)(((NI) ((*xX60gensym2360_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym2360_).Sup.itemId.item))));
39397 							if (!T38_) goto LA39_;
39398 							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);
39399 						}
39400 						LA39_: ;
39401 						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_));
39402 						isImported = isImportedX60gensym2355_;
39403 						symbol = newSymG__sem_458(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9), (*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 2)], c);
39404 						{
39405 							if (!isImported) goto LA43_;
39406 							asgnRef((void**) (&(*symbol).typ), (*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]).typ);
39407 						}
39408 						goto LA41_;
39409 						LA43_: ;
39410 						{
39411 							asgnRef((void**) (&(*symbol).typ), toRef__ast_4871((*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]).typ, (*c).Sup.idgen));
39412 						}
39413 						LA41_: ;
39414 						addDecl__lookups_845(c, symbol);
39415 						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));
39416 					}
39417 					goto LA19_;
39418 					LA24_: ;
39419 					{
39420 						NI T47_;
39421 						T47_ = (NI)0;
39422 						T47_ = len__ast_3198(a);
39423 						if (!(T47_ == ((NI) 1))) goto LA48_;
39424 						catchAllExcepts += ((NI) 1);
39425 					}
39426 					goto LA19_;
39427 					LA48_: ;
39428 					{
39429 						NIM_BOOL isNative;
39430 						NIM_BOOL isImported_2;
39431 						{
39432 							if (!(((NI) 0) < catchAllExcepts)) goto LA53_;
39433 							catchAllExcepts += ((NI) 1);
39434 						}
39435 						LA53_: ;
39436 						isNative = (NIM_BOOL)0;
39437 						isImported_2 = (NIM_BOOL)0;
39438 						{
39439 							NI j;
39440 							NI colontmp_;
39441 							NI T56_;
39442 							NI i_2;
39443 							j = (NI)0;
39444 							colontmp_ = (NI)0;
39445 							T56_ = (NI)0;
39446 							T56_ = len__ast_3198(a);
39447 							colontmp_ = (NI)(T56_ - ((NI) 1));
39448 							i_2 = ((NI) 0);
39449 							{
39450 								while (1) {
39451 									NIM_BOOL tmp;
39452 									tyObject_TType__facALICuu8zUj0hjvbTLFg* typX60gensym2376_;
39453 									tyObject_TType__facALICuu8zUj0hjvbTLFg* T59_;
39454 									NIM_BOOL isImportedX60gensym2376_;
39455 									if (!(i_2 < colontmp_)) goto LA58;
39456 									j = i_2;
39457 									T59_ = NIM_NIL;
39458 									T59_ = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[j], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
39459 									typX60gensym2376_ = toObject__ast_4879(T59_);
39460 									isImportedX60gensym2376_ = NIM_FALSE;
39461 									{
39462 										NIM_BOOL T62_;
39463 										T62_ = (NIM_BOOL)0;
39464 										T62_ = isImportedException__ast_4904(typX60gensym2376_, (*(*c).graph).config);
39465 										if (!T62_) goto LA63_;
39466 										isImportedX60gensym2376_ = NIM_TRUE;
39467 									}
39468 									goto LA60_;
39469 									LA63_: ;
39470 									{
39471 										NIM_BOOL T66_;
39472 										T66_ = (NIM_BOOL)0;
39473 										T66_ = isException__types_4000(typX60gensym2376_);
39474 										if (!!(T66_)) goto LA67_;
39475 										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);
39476 									}
39477 									goto LA60_;
39478 									LA67_: ;
39479 									LA60_: ;
39480 									{
39481 										tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym2381_;
39482 										NIM_BOOL T71_;
39483 										xX60gensym2381_ = typX60gensym2376_;
39484 										T71_ = (NIM_BOOL)0;
39485 										T71_ = containsOrIncl__astalgo_402((&check), (NI)((NI)((NU64)(((NI) ((*xX60gensym2381_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym2381_).Sup.itemId.item))));
39486 										if (!T71_) goto LA72_;
39487 										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);
39488 									}
39489 									LA72_: ;
39490 									asgnRef((void**) (&(*a)._kind_6.sons->data[j]), newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*(*a)._kind_6.sons->data[j]).info, typX60gensym2376_));
39491 									tmp = isImportedX60gensym2376_;
39492 									{
39493 										if (!tmp) goto LA76_;
39494 										isImported_2 = NIM_TRUE;
39495 									}
39496 									goto LA74_;
39497 									LA76_: ;
39498 									{
39499 										isNative = NIM_TRUE;
39500 									}
39501 									LA74_: ;
39502 									i_2 += ((NI) 1);
39503 								} LA58: ;
39504 							}
39505 						}
39506 						{
39507 							NIM_BOOL T81_;
39508 							T81_ = (NIM_BOOL)0;
39509 							T81_ = isNative;
39510 							if (!(T81_)) goto LA82_;
39511 							T81_ = isImported_2;
39512 							LA82_: ;
39513 							if (!T81_) goto LA83_;
39514 							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);
39515 						}
39516 						LA83_: ;
39517 					}
39518 					LA19_: ;
39519 				}
39520 				goto LA7_;
39521 				LA9_: ;
39522 				{
39523 					if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA86_;
39524 					{
39525 						NI T90_;
39526 						T90_ = (NI)0;
39527 						T90_ = len__ast_3198(n);
39528 						if (!!((i == (NI)(T90_ - ((NI) 1))))) goto LA91_;
39529 						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);
39530 					}
39531 					LA91_: ;
39532 				}
39533 				goto LA7_;
39534 				LA86_: ;
39535 				{
39536 					illFormedAst__semdata_1071(n, (*(*c).graph).config);
39537 				}
39538 				LA7_: ;
39539 				{
39540 					if (!(((NI) 1) < catchAllExcepts)) goto LA96_;
39541 					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);
39542 				}
39543 				LA96_: ;
39544 				T98_ = (NI)0;
39545 				T98_ = len__ast_3198(a);
39546 				T99_ = (NI)0;
39547 				T99_ = len__ast_3198(a);
39548 				asgnRef((void**) (&(*a)._kind_6.sons->data[(NI)(T98_ - ((NI) 1))]), semExprBranchScope__sem_9277(c, (*a)._kind_6.sons->data[(NI)(T99_ - ((NI) 1))]));
39549 				{
39550 					NI T104_;
39551 					if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107)))) goto LA102_;
39552 					T104_ = (NI)0;
39553 					T104_ = len__ast_3198(a);
39554 					typ = commonType__sem_448(c, typ, (*a)._kind_6.sons->data[(NI)(T104_ - ((NI) 1))]);
39555 				}
39556 				goto LA100_;
39557 				LA102_: ;
39558 				{
39559 					last -= ((NI) 1);
39560 				}
39561 				LA100_: ;
39562 				closeScope__lookups_101(c);
39563 				res += ((NI) 1);
39564 			} LA5: ;
39565 		}
39566 	}
39567 	{
39568 		NIM_BOOL T108_;
39569 		T108_ = (NIM_BOOL)0;
39570 		T108_ = isEmptyType__ast_4779(typ);
39571 		if (T108_) goto LA109_;
39572 		T108_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
39573 		LA109_: ;
39574 		if (!T108_) goto LA110_;
39575 		discardCheck__sem_9323(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
39576 		{
39577 			NI i_3;
39578 			NI colontmp__2;
39579 			NI i_4;
39580 			i_3 = (NI)0;
39581 			colontmp__2 = (NI)0;
39582 			colontmp__2 = len__ast_3198(n);
39583 			i_4 = ((NI) 1);
39584 			{
39585 				while (1) {
39586 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T115_;
39587 					if (!(i_4 < colontmp__2)) goto LA114;
39588 					i_3 = i_4;
39589 					T115_ = NIM_NIL;
39590 					T115_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
39591 					discardCheck__sem_9323(c, T115_, flags);
39592 					i_4 += ((NI) 1);
39593 				} LA114: ;
39594 			}
39595 		}
39596 		{
39597 			if (!(typ == (*c).enforceVoidContext)) goto LA118_;
39598 			asgnRef((void**) (&(*result).typ), (*c).enforceVoidContext);
39599 		}
39600 		LA118_: ;
39601 	}
39602 	goto LA106_;
39603 	LA110_: ;
39604 	{
39605 		{
39606 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T123_;
39607 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T126_;
39608 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T127_;
39609 			T123_ = NIM_NIL;
39610 			T123_ = lastSon__ast_4832(n);
39611 			if (!((*T123_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA124_;
39612 			T126_ = NIM_NIL;
39613 			T126_ = lastSon__ast_4832(n);
39614 			T127_ = NIM_NIL;
39615 			T127_ = lastSon__ast_4832(T126_);
39616 			discardCheck__sem_9323(c, T127_, flags);
39617 		}
39618 		LA124_: ;
39619 		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));
39620 		{
39621 			NI i_5;
39622 			NI res_2;
39623 			i_5 = (NI)0;
39624 			res_2 = ((NI) 1);
39625 			{
39626 				while (1) {
39627 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
39628 					NI j_2;
39629 					NI T131_;
39630 					if (!(res_2 <= last)) goto LA130;
39631 					i_5 = res_2;
39632 					it = (*n)._kind_6.sons->data[i_5];
39633 					T131_ = (NI)0;
39634 					T131_ = len__ast_3198(it);
39635 					j_2 = (NI)(T131_ - ((NI) 1));
39636 					{
39637 						NIM_BOOL T134_;
39638 						T134_ = (NIM_BOOL)0;
39639 						T134_ = endsInNoReturn__sem_416((*it)._kind_6.sons->data[j_2]);
39640 						if (!!(T134_)) goto LA135_;
39641 						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));
39642 					}
39643 					LA135_: ;
39644 					res_2 += ((NI) 1);
39645 				} LA130: ;
39646 			}
39647 		}
39648 		asgnRef((void**) (&(*result).typ), typ);
39649 	}
39650 	LA106_: ;
39651 	return result;
39652 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semBreakOrContinue__sem_9185)39653 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBreakOrContinue__sem_9185)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
39654 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39655 	result = NIM_NIL;
39656 	result = n;
39657 	checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
39658 	{
39659 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
39660 		{
39661 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
39662 			if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111)))) goto LA7_;
39663 			s = NIM_NIL;
39664 			switch ((*(*n)._kind_6.sons->data[((NI) 0)]).kind) {
39665 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
39666 			{
39667 				s = lookUp__lookups_1211(c, (*n)._kind_6.sons->data[((NI) 0)]);
39668 			}
39669 			break;
39670 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
39671 			{
39672 				s = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
39673 			}
39674 			break;
39675 			default:
39676 			{
39677 				illFormedAst__semdata_1071(n, (*(*c).graph).config);
39678 			}
39679 			break;
39680 			}
39681 			s = getGenSym__semdata_408(c, s);
39682 			{
39683 				NIM_BOOL T14_;
39684 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym2275_;
39685 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym2276_;
39686 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
39687 				T14_ = (NIM_BOOL)0;
39688 				T14_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 22));
39689 				if (!(T14_)) goto LA15_;
39690 				xX60gensym2275_ = (*s).owner;
39691 				xX60gensym2276_ = (*(*c).p).owner;
39692 				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))));
39693 				LA15_: ;
39694 				if (!T14_) goto LA16_;
39695 				x = newSymNode__ast_3716(s);
39696 				(*x).info = (*n).info;
39697 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
39698 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), x);
39699 				suggestSym__sigmatch_5375((*c).graph, (*x).info, s, &(*(*c).graph).usageSym, NIM_TRUE);
39700 			}
39701 			goto LA12_;
39702 			LA16_: ;
39703 			{
39704 				NimStringDesc* T19_;
39705 				T19_ = NIM_NIL;
39706 				T19_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_857), (*(*s).name).s);
39707 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T19_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_858, NIM_FALSE);
39708 			}
39709 			LA12_: ;
39710 		}
39711 		goto LA5_;
39712 		LA7_: ;
39713 		{
39714 			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);
39715 		}
39716 		LA5_: ;
39717 	}
39718 	goto LA1_;
39719 	LA3_: ;
39720 	{
39721 		NIM_BOOL T22_;
39722 		NIM_BOOL T24_;
39723 		NimStringDesc* T28_;
39724 		NimStringDesc* T29_;
39725 		T22_ = (NIM_BOOL)0;
39726 		T22_ = ((*(*c).p).nestedLoopCounter <= ((NI) 0));
39727 		if (!(T22_)) goto LA23_;
39728 		T24_ = (NIM_BOOL)0;
39729 		T24_ = ((*(*c).p).nestedBlockCounter <= ((NI) 0));
39730 		if (T24_) goto LA25_;
39731 		T24_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111));
39732 		LA25_: ;
39733 		T22_ = T24_;
39734 		LA23_: ;
39735 		if (!T22_) goto LA26_;
39736 		T28_ = NIM_NIL;
39737 		T28_ = renderTree__renderer_46(n, 4);
39738 		T29_ = NIM_NIL;
39739 		T29_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_857), T28_);
39740 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T29_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_861, NIM_FALSE);
39741 	}
39742 	goto LA1_;
39743 	LA26_: ;
39744 	LA1_: ;
39745 	return result;
39746 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,handleStmtMacro__sem_11247)39747 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) {
39748 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39749 {	result = NIM_NIL;
39750 	{
39751 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* maType;
39752 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* headSymbol;
39753 		tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
39754 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* match;
39755 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symx;
39756 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* callExpr;
39757 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
39758 		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_;
39759 		maType = getCompilerProc__magicsys_145((*c).graph, magicType);
39760 		{
39761 			if (!(maType == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA7_;
39762 			goto BeforeRet_;
39763 		}
39764 		LA7_: ;
39765 		headSymbol = (*selector)._kind_6.sons->data[((NI) 0)];
39766 		nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
39767 		match = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
39768 		symx = initOverloadIter__lookups_1374((&o), c, headSymbol);
39769 		{
39770 			while (1) {
39771 				if (!!((symx == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA10;
39772 				{
39773 					if (!((393216 &((NU32)1<<((NU)((*symx).kind)&31U)))!=0)) goto LA13_;
39774 					{
39775 						NIM_BOOL T17_;
39776 						NI T18_;
39777 						T17_ = (NIM_BOOL)0;
39778 						T18_ = (NI)0;
39779 						T18_ = len__ast_4002((*symx).typ);
39780 						T17_ = (T18_ == ((NI) 2));
39781 						if (!(T17_)) goto LA19_;
39782 						T17_ = ((*(*symx).typ).sons->data[((NI) 1)] == (*maType).typ);
39783 						LA19_: ;
39784 						if (!T17_) goto LA20_;
39785 						{
39786 							if (!(match == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA24_;
39787 							match = symx;
39788 						}
39789 						goto LA22_;
39790 						LA24_: ;
39791 						{
39792 							tyArray__24KAM9afIUgUaqBaEBB6r9bg T27_;
39793 							NimStringDesc* T28_;
39794 							nimZeroMem((void*)T27_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
39795 							T27_[0] = getProcHeader__types_222((*(*c).graph).config, match, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
39796 							T27_[1] = getProcHeader__types_222((*(*c).graph).config, symx, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
39797 							T27_[2] = dollar___renderer_2106(selector);
39798 							T28_ = NIM_NIL;
39799 							T28_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_426), T27_, 3);
39800 							liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T28_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_862, NIM_FALSE);
39801 						}
39802 						LA22_: ;
39803 					}
39804 					LA20_: ;
39805 				}
39806 				LA13_: ;
39807 				symx = nextOverloadIter__lookups_1528((&o), c, headSymbol);
39808 			} LA10: ;
39809 		}
39810 		{
39811 			if (!(match == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA31_;
39812 			goto BeforeRet_;
39813 		}
39814 		LA31_: ;
39815 		callExpr = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
39816 		T33_ = NIM_NIL;
39817 		T33_ = newSymNode__ast_3716(match);
39818 		add__ast_4797(callExpr, T33_);
39819 		add__ast_4797(callExpr, n);
39820 		switch ((*match).kind) {
39821 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
39822 		{
39823 			result = semMacroExpr__sem_524(c, callExpr, callExpr, match, flags);
39824 		}
39825 		break;
39826 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
39827 		{
39828 			result = semTemplateExpr__sem_519(c, callExpr, match, flags);
39829 		}
39830 		break;
39831 		default:
39832 		{
39833 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
39834 		}
39835 		break;
39836 		}
39837 	}
39838 	LA3_: ;
39839 	}BeforeRet_: ;
39840 	return result;
39841 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,handleForLoopMacro__sem_11301)39842 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, handleForLoopMacro__sem_11301)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
39843 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39844 	NI T1_;
39845 	result = NIM_NIL;
39846 	T1_ = (NI)0;
39847 	T1_ = len__ast_3198(n);
39848 	result = handleStmtMacro__sem_11247(c, n, (*n)._kind_6.sons->data[(NI)(T1_ - ((NI) 2))], ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_863), flags);
39849 	return result;
39850 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprNoDeref__sem_63)39851 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprNoDeref__sem_63)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
39852 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39853 	result = NIM_NIL;
39854 	result = semExprCheck__sem_13933(c, n, flags);
39855 	{
39856 		NimStringDesc* T5_;
39857 		NimStringDesc* T6_;
39858 		if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
39859 		T5_ = NIM_NIL;
39860 		T5_ = renderTree__renderer_46(result, 4);
39861 		T6_ = NIM_NIL;
39862 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_864), T5_);
39863 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_865, NIM_FALSE);
39864 		asgnRef((void**) (&(*result).typ), errorType__semdata_1002(c));
39865 	}
39866 	LA3_: ;
39867 	return result;
39868 }
N_NIMCALL(NIM_BOOL,isTrivalStmtExpr__sem_11231)39869 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrivalStmtExpr__sem_11231)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
39870 	NIM_BOOL result;
39871 {	result = (NIM_BOOL)0;
39872 	{
39873 		NI i;
39874 		NI colontmp_;
39875 		NI T2_;
39876 		NI i_2;
39877 		i = (NI)0;
39878 		colontmp_ = (NI)0;
39879 		T2_ = (NI)0;
39880 		T2_ = len__ast_3198(n);
39881 		colontmp_ = (NI)(T2_ - ((NI) 1));
39882 		i_2 = ((NI) 0);
39883 		{
39884 			while (1) {
39885 				if (!(i_2 < colontmp_)) goto LA4;
39886 				i = i_2;
39887 				{
39888 					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_;
39889 					result = NIM_FALSE;
39890 					goto BeforeRet_;
39891 				}
39892 				LA7_: ;
39893 				i_2 += ((NI) 1);
39894 			} LA4: ;
39895 		}
39896 	}
39897 	result = NIM_TRUE;
39898 	}BeforeRet_: ;
39899 	return result;
39900 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,symForVar__sem_10945)39901 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, symForVar__sem_10945)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
39902 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
39903 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
39904 	result = NIM_NIL;
39905 	{
39906 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA3_;
39907 		m = (*n)._kind_6.sons->data[((NI) 0)];
39908 	}
39909 	goto LA1_;
39910 	LA3_: ;
39911 	{
39912 		m = n;
39913 	}
39914 	LA1_: ;
39915 	result = newSymG__sem_458(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21), m, c);
39916 	{
39917 		NIM_BOOL T8_;
39918 		T8_ = (NIM_BOOL)0;
39919 		T8_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
39920 		if (!(T8_)) goto LA9_;
39921 		T8_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
39922 		LA9_: ;
39923 		if (!T8_) goto LA10_;
39924 		nep1CheckDefImpl__linter_110((*(*c).graph).config, (*result).info, result, (*result).kind);
39925 	}
39926 	LA10_: ;
39927 	{
39928 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA14_;
39929 		pragma__pragmas_123(c, result, (*n)._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_868, NIM_FALSE);
39930 	}
39931 	LA14_: ;
39932 	return result;
39933 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semForVars__sem_10972)39934 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semForVars__sem_10972)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
39935 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39936 	tyObject_TType__facALICuu8zUj0hjvbTLFg* iterBase;
39937 	NI T1_;
39938 	tyObject_TType__facALICuu8zUj0hjvbTLFg* iter;
39939 	tyObject_TType__facALICuu8zUj0hjvbTLFg* iterAfterVarLent;
39940 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T138_;
39941 	NI T139_;
39942 	NI T140_;
39943 {	result = NIM_NIL;
39944 	result = n;
39945 	T1_ = (NI)0;
39946 	T1_ = len__ast_3198(n);
39947 	iterBase = (*(*n)._kind_6.sons->data[(NI)(T1_ - ((NI) 2))]).typ;
39948 	iter = skipTypes__ast_3735(iterBase, TM__rF9caJawfOjYTjsgLVUSGFA_39);
39949 	iterAfterVarLent = skipTypes__ast_3735(iter, TM__rF9caJawfOjYTjsgLVUSGFA_866);
39950 	{
39951 		NIM_BOOL T4_;
39952 		NI T6_;
39953 		T4_ = (NIM_BOOL)0;
39954 		T4_ = !(((*iterAfterVarLent).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18)));
39955 		if (T4_) goto LA5_;
39956 		T6_ = (NI)0;
39957 		T6_ = len__ast_3198(n);
39958 		T4_ = (T6_ == ((NI) 3));
39959 		LA5_: ;
39960 		if (!T4_) goto LA7_;
39961 		{
39962 			NI T11_;
39963 			T11_ = (NI)0;
39964 			T11_ = len__ast_3198(n);
39965 			if (!(T11_ == ((NI) 3))) goto LA12_;
39966 			{
39967 				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA16_;
39968 				{
39969 					NI T20_;
39970 					NI T21_;
39971 					T20_ = (NI)0;
39972 					T20_ = len__ast_3198((*n)._kind_6.sons->data[((NI) 0)]);
39973 					T21_ = (NI)0;
39974 					T21_ = len__ast_4002(iterAfterVarLent);
39975 					if (!!(((NI)(T20_ - ((NI) 1)) == T21_))) goto LA22_;
39976 					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);
39977 					result = errorNode__semdata_1009(c, n);
39978 					goto BeforeRet_;
39979 				}
39980 				LA22_: ;
39981 				{
39982 					NI i;
39983 					NI colontmp_;
39984 					NI T25_;
39985 					NI i_2;
39986 					i = (NI)0;
39987 					colontmp_ = (NI)0;
39988 					T25_ = (NI)0;
39989 					T25_ = len__ast_3198((*n)._kind_6.sons->data[((NI) 0)]);
39990 					colontmp_ = (NI)(T25_ - ((NI) 1));
39991 					i_2 = ((NI) 0);
39992 					{
39993 						while (1) {
39994 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
39995 							if (!(i_2 < colontmp_)) goto LA27;
39996 							i = i_2;
39997 							v = symForVar__sem_10945(c, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[i]);
39998 							{
39999 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T30_;
40000 								T30_ = NIM_NIL;
40001 								T30_ = getCurrOwner__semdata_315(c);
40002 								if (!((*T30_).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA31_;
40003 								(*v).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3)) & 63);
40004 							}
40005 							LA31_: ;
40006 							switch ((*iter).kind) {
40007 							case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
40008 							case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
40009 							{
40010 								asgnRef((void**) (&(*v).typ), newTypeS__semdata_733((*iter).kind, c));
40011 								add__concepts_23((*v).typ, (*iterAfterVarLent).sons->data[i]);
40012 								{
40013 									if (!(((*iter).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20))&63U)))!=0)) goto LA36_;
40014 									(*(*v).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
40015 								}
40016 								LA36_: ;
40017 							}
40018 							break;
40019 							default:
40020 							{
40021 								asgnRef((void**) (&(*v).typ), (*iter).sons->data[i]);
40022 							}
40023 							break;
40024 							}
40025 							asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[i]), newSymNode__ast_3716(v));
40026 							{
40027 								NIM_BOOL T41_;
40028 								NIM_BOOL T43_;
40029 								T41_ = (NIM_BOOL)0;
40030 								T41_ = !((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0));
40031 								if (!(T41_)) goto LA42_;
40032 								T43_ = (NIM_BOOL)0;
40033 								T43_ = isDiscardUnderscore__sem_9761(v);
40034 								T41_ = !(T43_);
40035 								LA42_: ;
40036 								if (!T41_) goto LA44_;
40037 								addDecl__lookups_845(c, v);
40038 							}
40039 							goto LA39_;
40040 							LA44_: ;
40041 							{
40042 								if (!((*v).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA47_;
40043 								asgnRef((void**) (&(*v).owner), getCurrOwner__semdata_315(c));
40044 							}
40045 							goto LA39_;
40046 							LA47_: ;
40047 							LA39_: ;
40048 							i_2 += ((NI) 1);
40049 						} LA27: ;
40050 					}
40051 				}
40052 			}
40053 			goto LA14_;
40054 			LA16_: ;
40055 			{
40056 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v_2;
40057 				v_2 = symForVar__sem_10945(c, (*n)._kind_6.sons->data[((NI) 0)]);
40058 				{
40059 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T52_;
40060 					T52_ = NIM_NIL;
40061 					T52_ = getCurrOwner__semdata_315(c);
40062 					if (!((*T52_).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA53_;
40063 					(*v_2).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3)) & 63);
40064 				}
40065 				LA53_: ;
40066 				asgnRef((void**) (&(*v_2).typ), iterBase);
40067 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(v_2));
40068 				{
40069 					NIM_BOOL T57_;
40070 					NIM_BOOL T59_;
40071 					T57_ = (NIM_BOOL)0;
40072 					T57_ = !((((*v_2).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0));
40073 					if (!(T57_)) goto LA58_;
40074 					T59_ = (NIM_BOOL)0;
40075 					T59_ = isDiscardUnderscore__sem_9761(v_2);
40076 					T57_ = !(T59_);
40077 					LA58_: ;
40078 					if (!T57_) goto LA60_;
40079 					addDecl__lookups_845(c, v_2);
40080 				}
40081 				goto LA55_;
40082 				LA60_: ;
40083 				{
40084 					if (!((*v_2).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA63_;
40085 					asgnRef((void**) (&(*v_2).owner), getCurrOwner__semdata_315(c));
40086 				}
40087 				goto LA55_;
40088 				LA63_: ;
40089 				LA55_: ;
40090 			}
40091 			LA14_: ;
40092 		}
40093 		goto LA9_;
40094 		LA12_: ;
40095 		{
40096 			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);
40097 		}
40098 		LA9_: ;
40099 	}
40100 	goto LA2_;
40101 	LA7_: ;
40102 	{
40103 		NI T67_;
40104 		NI T68_;
40105 		T67_ = (NI)0;
40106 		T67_ = len__ast_3198(n);
40107 		T68_ = (NI)0;
40108 		T68_ = len__ast_4002(iterAfterVarLent);
40109 		if (!!(((NI)(T67_ - ((NI) 2)) == T68_))) goto LA69_;
40110 		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);
40111 	}
40112 	goto LA2_;
40113 	LA69_: ;
40114 	{
40115 		{
40116 			NI i_3;
40117 			NI colontmp__2;
40118 			NI T73_;
40119 			NI i_4;
40120 			i_3 = (NI)0;
40121 			colontmp__2 = (NI)0;
40122 			T73_ = (NI)0;
40123 			T73_ = len__ast_3198(n);
40124 			colontmp__2 = (NI)(T73_ - ((NI) 2));
40125 			i_4 = ((NI) 0);
40126 			{
40127 				while (1) {
40128 					if (!(i_4 < colontmp__2)) goto LA75;
40129 					i_3 = i_4;
40130 					{
40131 						NIM_BOOL mutable_1;
40132 						NIM_BOOL isLent;
40133 						if (!((*(*n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA78_;
40134 						mutable_1 = NIM_FALSE;
40135 						isLent = NIM_FALSE;
40136 						switch ((*(*iter).sons->data[i_3]).kind) {
40137 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
40138 						{
40139 							mutable_1 = NIM_TRUE;
40140 							asgnRef((void**) (&(*iter).sons->data[i_3]), skipTypes__ast_3735((*iter).sons->data[i_3], TM__rF9caJawfOjYTjsgLVUSGFA_182));
40141 						}
40142 						break;
40143 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
40144 						{
40145 							isLent = NIM_TRUE;
40146 							asgnRef((void**) (&(*iter).sons->data[i_3]), skipTypes__ast_3735((*iter).sons->data[i_3], TM__rF9caJawfOjYTjsgLVUSGFA_871));
40147 						}
40148 						break;
40149 						default:
40150 						{
40151 						}
40152 						break;
40153 						}
40154 						{
40155 							NI T85_;
40156 							NI T86_;
40157 							T85_ = (NI)0;
40158 							T85_ = len__ast_3198((*n)._kind_6.sons->data[i_3]);
40159 							T86_ = (NI)0;
40160 							T86_ = len__ast_4002((*iter).sons->data[i_3]);
40161 							if (!!(((NI)(T85_ - ((NI) 1)) == T86_))) goto LA87_;
40162 							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);
40163 						}
40164 						LA87_: ;
40165 						{
40166 							NI j;
40167 							NI colontmp__3;
40168 							NI T90_;
40169 							NI i_5;
40170 							j = (NI)0;
40171 							colontmp__3 = (NI)0;
40172 							T90_ = (NI)0;
40173 							T90_ = len__ast_3198((*n)._kind_6.sons->data[i_3]);
40174 							colontmp__3 = (NI)(T90_ - ((NI) 1));
40175 							i_5 = ((NI) 0);
40176 							{
40177 								while (1) {
40178 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v_3;
40179 									if (!(i_5 < colontmp__3)) goto LA92;
40180 									j = i_5;
40181 									v_3 = symForVar__sem_10945(c, (*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[j]);
40182 									{
40183 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T95_;
40184 										T95_ = NIM_NIL;
40185 										T95_ = getCurrOwner__semdata_315(c);
40186 										if (!((*T95_).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA96_;
40187 										(*v_3).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3)) & 63);
40188 									}
40189 									LA96_: ;
40190 									{
40191 										if (!mutable_1) goto LA100_;
40192 										asgnRef((void**) (&(*v_3).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23), c));
40193 										add__concepts_23((*v_3).typ, (*(*iter).sons->data[i_3]).sons->data[j]);
40194 									}
40195 									goto LA98_;
40196 									LA100_: ;
40197 									{
40198 										if (!isLent) goto LA103_;
40199 										asgnRef((void**) (&(*v_3).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47), c));
40200 										add__concepts_23((*v_3).typ, (*(*iter).sons->data[i_3]).sons->data[j]);
40201 									}
40202 									goto LA98_;
40203 									LA103_: ;
40204 									{
40205 										asgnRef((void**) (&(*v_3).typ), (*(*iter).sons->data[i_3]).sons->data[j]);
40206 									}
40207 									LA98_: ;
40208 									asgnRef((void**) (&(*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[j]), newSymNode__ast_3716(v_3));
40209 									{
40210 										NIM_BOOL T108_;
40211 										T108_ = (NIM_BOOL)0;
40212 										T108_ = isDiscardUnderscore__sem_9761(v_3);
40213 										if (!!(T108_)) goto LA109_;
40214 										addDecl__lookups_845(c, v_3);
40215 									}
40216 									goto LA106_;
40217 									LA109_: ;
40218 									{
40219 										if (!((*v_3).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA112_;
40220 										asgnRef((void**) (&(*v_3).owner), getCurrOwner__semdata_315(c));
40221 									}
40222 									goto LA106_;
40223 									LA112_: ;
40224 									LA106_: ;
40225 									i_5 += ((NI) 1);
40226 								} LA92: ;
40227 							}
40228 						}
40229 					}
40230 					goto LA76_;
40231 					LA78_: ;
40232 					{
40233 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v_4;
40234 						v_4 = symForVar__sem_10945(c, (*n)._kind_6.sons->data[i_3]);
40235 						{
40236 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T117_;
40237 							T117_ = NIM_NIL;
40238 							T117_ = getCurrOwner__semdata_315(c);
40239 							if (!((*T117_).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA118_;
40240 							(*v_4).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3)) & 63);
40241 						}
40242 						LA118_: ;
40243 						switch ((*iter).kind) {
40244 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
40245 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
40246 						{
40247 							asgnRef((void**) (&(*v_4).typ), newTypeS__semdata_733((*iter).kind, c));
40248 							add__concepts_23((*v_4).typ, (*iterAfterVarLent).sons->data[i_3]);
40249 							{
40250 								if (!(((*iter).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20))&63U)))!=0)) goto LA123_;
40251 								(*(*v_4).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
40252 							}
40253 							LA123_: ;
40254 						}
40255 						break;
40256 						default:
40257 						{
40258 							asgnRef((void**) (&(*v_4).typ), (*iter).sons->data[i_3]);
40259 						}
40260 						break;
40261 						}
40262 						asgnRef((void**) (&(*n)._kind_6.sons->data[i_3]), newSymNode__ast_3716(v_4));
40263 						{
40264 							if (!!((((*v_4).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA128_;
40265 							{
40266 								NIM_BOOL T132_;
40267 								T132_ = (NIM_BOOL)0;
40268 								T132_ = isDiscardUnderscore__sem_9761(v_4);
40269 								if (!!(T132_)) goto LA133_;
40270 								addDecl__lookups_845(c, v_4);
40271 							}
40272 							LA133_: ;
40273 						}
40274 						goto LA126_;
40275 						LA128_: ;
40276 						{
40277 							if (!((*v_4).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA136_;
40278 							asgnRef((void**) (&(*v_4).owner), getCurrOwner__semdata_315(c));
40279 						}
40280 						goto LA126_;
40281 						LA136_: ;
40282 						LA126_: ;
40283 					}
40284 					LA76_: ;
40285 					i_4 += ((NI) 1);
40286 				} LA75: ;
40287 			}
40288 		}
40289 	}
40290 	LA2_: ;
40291 	(*(*c).p).nestedLoopCounter += ((NI) 1);
40292 	T138_ = NIM_NIL;
40293 	T138_ = openScope__lookups_69(c);
40294 	T139_ = (NI)0;
40295 	T139_ = len__ast_3198(n);
40296 	T140_ = (NI)0;
40297 	T140_ = len__ast_3198(n);
40298 	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));
40299 	{
40300 		NI T145_;
40301 		if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0))) goto LA143_;
40302 		T145_ = (NI)0;
40303 		T145_ = len__ast_3198(n);
40304 		discardCheck__sem_9323(c, (*n)._kind_6.sons->data[(NI)(T145_ - ((NI) 1))], flags);
40305 	}
40306 	LA143_: ;
40307 	closeScope__lookups_101(c);
40308 	(*(*c).p).nestedLoopCounter -= ((NI) 1);
40309 	}BeforeRet_: ;
40310 	return result;
40311 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,instFieldLoopBody__sem_10639)40312 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, instFieldLoopBody__sem_10639)(tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* forLoop) {
40313 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
40314 {	result = NIM_NIL;
40315 	{
40316 		NIM_BOOL T3_;
40317 		T3_ = (NIM_BOOL)0;
40318 		T3_ = !(((*c).field == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
40319 		if (!(T3_)) goto LA4_;
40320 		T3_ = isEmptyType__ast_4779((*(*c).field).typ);
40321 		LA4_: ;
40322 		if (!T3_) goto LA5_;
40323 		result = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
40324 		goto BeforeRet_;
40325 	}
40326 	LA5_: ;
40327 	switch ((*n).kind) {
40328 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
40329 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
40330 	{
40331 		result = copyNode__ast_4336(n);
40332 	}
40333 	break;
40334 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
40335 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
40336 	{
40337 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
40338 		result = n;
40339 		ident = considerQuotedIdent__lookups_28((*c).c, n, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
40340 		{
40341 			if (!(*c).replaceByFieldName) goto LA11_;
40342 			{
40343 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T15_;
40344 				NimStringDesc* fieldName;
40345 				T15_ = NIM_NIL;
40346 				T15_ = considerQuotedIdent__lookups_28((*c).c, (*forLoop)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
40347 				if (!((*ident).id == (*T15_).id)) goto LA16_;
40348 				{
40349 					if (!((*c).tupleType == 0)) goto LA20_;
40350 					fieldName = (*(*(*c).field).name).s;
40351 				}
40352 				goto LA18_;
40353 				LA20_: ;
40354 				{
40355 					NimStringDesc* T25_;
40356 					NimStringDesc* T26_;
40357 					if (!((*(*c).tupleType).n == 0)) goto LA23_;
40358 					T25_ = NIM_NIL;
40359 					T26_ = NIM_NIL;
40360 					T26_ = dollar___systemZdollars_3((*c).tupleIndex);
40361 					T25_ = rawNewString((T26_ ? T26_->Sup.len : 0) + 5);
40362 appendString(T25_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_881));
40363 appendString(T25_, T26_);
40364 					fieldName = T25_;
40365 				}
40366 				goto LA18_;
40367 				LA23_: ;
40368 				{
40369 					fieldName = (*(*(*(*(*(*c).tupleType).n)._kind_6.sons->data[(*c).tupleIndex])._kind_4.sym).name).s;
40370 				}
40371 				LA18_: ;
40372 				result = newStrNode__ast_3813(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), fieldName);
40373 				goto BeforeRet_;
40374 			}
40375 			LA16_: ;
40376 		}
40377 		LA11_: ;
40378 		{
40379 			NI i;
40380 			NI colontmp_;
40381 			NI colontmp__2;
40382 			NI T29_;
40383 			NI i_2;
40384 			i = (NI)0;
40385 			colontmp_ = (NI)0;
40386 			colontmp__2 = (NI)0;
40387 			colontmp_ = (*c).replaceByFieldName;
40388 			T29_ = (NI)0;
40389 			T29_ = len__ast_3198(forLoop);
40390 			colontmp__2 = (NI)(T29_ - ((NI) 2));
40391 			i_2 = colontmp_;
40392 			{
40393 				while (1) {
40394 					if (!(i_2 < colontmp__2)) goto LA31;
40395 					i = i_2;
40396 					{
40397 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T34_;
40398 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
40399 						NI T37_;
40400 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tupl;
40401 						T34_ = NIM_NIL;
40402 						T34_ = considerQuotedIdent__lookups_28((*c).c, (*forLoop)._kind_6.sons->data[i], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
40403 						if (!((*ident).id == (*T34_).id)) goto LA35_;
40404 						T37_ = (NI)0;
40405 						T37_ = len__ast_3198(forLoop);
40406 						call = (*forLoop)._kind_6.sons->data[(NI)(T37_ - ((NI) 2))];
40407 						tupl = (*call)._kind_6.sons->data[(NI)((NI)(i + ((NI) 1)) - (*c).replaceByFieldName)];
40408 						{
40409 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T42_;
40410 							if (!((*c).field == 0)) goto LA40_;
40411 							result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n).info);
40412 							add__ast_4797(result, tupl);
40413 							T42_ = NIM_NIL;
40414 							T42_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) ((*c).tupleIndex)));
40415 							add__ast_4797(result, T42_);
40416 						}
40417 						goto LA38_;
40418 						LA40_: ;
40419 						{
40420 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T44_;
40421 							result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), (*n).info);
40422 							add__ast_4797(result, tupl);
40423 							T44_ = NIM_NIL;
40424 							T44_ = newSymNode__ast_3719((*c).field, (*n).info);
40425 							add__ast_4797(result, T44_);
40426 						}
40427 						LA38_: ;
40428 						goto LA28;
40429 					}
40430 					LA35_: ;
40431 					i_2 += ((NI) 1);
40432 				} LA31: ;
40433 			}
40434 		} LA28: ;
40435 	}
40436 	break;
40437 	default:
40438 	{
40439 		{
40440 			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111))) goto LA48_;
40441 			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);
40442 		}
40443 		LA48_: ;
40444 		result = shallowCopy__ast_4413(n);
40445 		{
40446 			NI i_3;
40447 			NI colontmp__3;
40448 			NI i_4;
40449 			i_3 = (NI)0;
40450 			colontmp__3 = (NI)0;
40451 			colontmp__3 = len__ast_3198(n);
40452 			i_4 = ((NI) 0);
40453 			{
40454 				while (1) {
40455 					if (!(i_4 < colontmp__3)) goto LA52;
40456 					i_3 = i_4;
40457 					asgnRef((void**) (&(*result)._kind_6.sons->data[i_3]), instFieldLoopBody__sem_10639(c, (*n)._kind_6.sons->data[i_3], forLoop));
40458 					i_4 += ((NI) 1);
40459 				} LA52: ;
40460 			}
40461 		}
40462 	}
40463 	break;
40464 	}
40465 	}BeforeRet_: ;
40466 	return result;
40467 }
N_NIMCALL(void,semForObjectFields__sem_10725)40468 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) {
40469 {	switch ((*typ).kind) {
40470 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
40471 	{
40472 		tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA fc;
40473 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T2_;
40474 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
40475 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
40476 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
40477 		nimZeroMem((void*)(&fc), sizeof(tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA));
40478 		fc.c = c.c;
40479 		fc.field = (*typ)._kind_4.sym;
40480 		fc.replaceByFieldName = (c.m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 129));
40481 		T2_ = NIM_NIL;
40482 		T2_ = openScope__lookups_69(c.c);
40483 		(*c.c).inUnrolledContext += ((NI) 1);
40484 		T3_ = NIM_NIL;
40485 		T3_ = lastSon__ast_4832(forLoop);
40486 		body = instFieldLoopBody__sem_10639((&fc), T3_, forLoop);
40487 		T4_ = NIM_NIL;
40488 		T4_ = semStmt__sem_84(c.c, body, 0);
40489 		add__ast_4797(father, T4_);
40490 		(*c.c).inUnrolledContext -= ((NI) 1);
40491 		closeScope__lookups_101(c.c);
40492 	}
40493 	break;
40494 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
40495 	{
40496 	}
40497 	break;
40498 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
40499 	{
40500 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
40501 		NI T7_;
40502 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caseStmt;
40503 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* access;
40504 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
40505 		T7_ = (NI)0;
40506 		T7_ = len__ast_3198(forLoop);
40507 		call = (*forLoop)._kind_6.sons->data[(NI)(T7_ - ((NI) 2))];
40508 		{
40509 			NI T10_;
40510 			T10_ = (NI)0;
40511 			T10_ = len__ast_3198(call);
40512 			if (!(((NI) 2) < T10_)) goto LA11_;
40513 			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);
40514 			goto BeforeRet_;
40515 		}
40516 		LA11_: ;
40517 		semForObjectFields__sem_10725(c, (*typ)._kind_6.sons->data[((NI) 0)], forLoop, father);
40518 		caseStmt = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97), (*forLoop).info);
40519 		access = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), (*forLoop).info, ((NI) 2));
40520 		asgnRef((void**) (&(*access)._kind_6.sons->data[((NI) 0)]), (*call)._kind_6.sons->data[((NI) 1)]);
40521 		asgnRef((void**) (&(*access)._kind_6.sons->data[((NI) 1)]), newSymNode__ast_3719((*(*typ)._kind_6.sons->data[((NI) 0)])._kind_4.sym, (*forLoop).info));
40522 		T13_ = NIM_NIL;
40523 		T13_ = semExprWithType__sem_56(c.c, access, 0);
40524 		add__ast_4797(caseStmt, T13_);
40525 		{
40526 			NI i;
40527 			NI colontmp_;
40528 			NI i_2;
40529 			i = (NI)0;
40530 			colontmp_ = (NI)0;
40531 			colontmp_ = len__ast_3198(typ);
40532 			i_2 = ((NI) 1);
40533 			{
40534 				while (1) {
40535 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
40536 					NI T17_;
40537 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
40538 					NI T19_;
40539 					if (!(i_2 < colontmp_)) goto LA16;
40540 					i = i_2;
40541 					branch = copyTree__ast_4431((*typ)._kind_6.sons->data[i]);
40542 					T17_ = (NI)0;
40543 					T17_ = len__ast_3198(branch);
40544 					asgnRef((void**) (&(*branch)._kind_6.sons->data[(NI)(T17_ - ((NI) 1))]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*forLoop).info));
40545 					T18_ = NIM_NIL;
40546 					T18_ = lastSon__ast_4832((*typ)._kind_6.sons->data[i]);
40547 					T19_ = (NI)0;
40548 					T19_ = len__ast_3198(branch);
40549 					semForObjectFields__sem_10725(c, T18_, forLoop, (*branch)._kind_6.sons->data[(NI)(T19_ - ((NI) 1))]);
40550 					add__ast_4797(caseStmt, branch);
40551 					i_2 += ((NI) 1);
40552 				} LA16: ;
40553 			}
40554 		}
40555 		add__ast_4797(father, caseStmt);
40556 	}
40557 	break;
40558 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
40559 	{
40560 		{
40561 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t;
40562 			t = NIM_NIL;
40563 			{
40564 				NI i_3;
40565 				NI colontmp__2;
40566 				NI i_4;
40567 				i_3 = (NI)0;
40568 				colontmp__2 = (NI)0;
40569 				colontmp__2 = safeLen__ast_3191(typ);
40570 				i_4 = ((NI) 0);
40571 				{
40572 					while (1) {
40573 						if (!(i_4 < colontmp__2)) goto LA24;
40574 						i_3 = i_4;
40575 						t = (*typ)._kind_6.sons->data[i_3];
40576 						semForObjectFields__sem_10725(c, t, forLoop, father);
40577 						i_4 += ((NI) 1);
40578 					} LA24: ;
40579 				}
40580 			}
40581 		}
40582 	}
40583 	break;
40584 	default:
40585 	{
40586 		illFormedAstLocal__semdata_1074(typ, (*(*c.c).graph).config);
40587 	}
40588 	break;
40589 	}
40590 	}BeforeRet_: ;
40591 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semForFields__sem_10813)40592 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semForFields__sem_10813)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m) {
40593 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
40594 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* trueSymbol;
40595 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
40596 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* stmts;
40597 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
40598 	NI T9_;
40599 	tyObject_TType__facALICuu8zUj0hjvbTLFg* tupleTypeA;
40600 {	result = NIM_NIL;
40601 	result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96), (*n).info, ((NI) 2));
40602 	T1_ = NIM_NIL;
40603 	T1_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_873));
40604 	trueSymbol = systemModuleSym__modulegraphs_2829((*c).graph, T1_);
40605 	{
40606 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T6_;
40607 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T7_;
40608 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T8_;
40609 		if (!(trueSymbol == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA4_;
40610 		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);
40611 		T6_ = NIM_NIL;
40612 		T6_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_873));
40613 		T7_ = nextSymId__ast_3132((*c).Sup.idgen);
40614 		T8_ = NIM_NIL;
40615 		T8_ = getCurrOwner__semdata_315(c);
40616 		trueSymbol = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0), T6_, T7_, T8_, (*n).info, 0);
40617 		asgnRef((void**) (&(*trueSymbol).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
40618 	}
40619 	LA4_: ;
40620 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(trueSymbol, (*n).info));
40621 	stmts = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
40622 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), stmts);
40623 	T9_ = (NI)0;
40624 	T9_ = len__ast_3198(n);
40625 	call = (*n)._kind_6.sons->data[(NI)(T9_ - ((NI) 2))];
40626 	{
40627 		NI T12_;
40628 		NI T13_;
40629 		T12_ = (NI)0;
40630 		T12_ = len__ast_3198(n);
40631 		T13_ = (NI)0;
40632 		T13_ = len__ast_3198(call);
40633 		if (!!(((NI)(T12_ - ((NI) 2)) == (NI)((NI)(T13_ - ((NI) 1)) + (m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 129)))))) goto LA14_;
40634 		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);
40635 		goto BeforeRet_;
40636 	}
40637 	LA14_: ;
40638 	tupleTypeA = skipTypes__ast_3735((*(*call)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_878);
40639 	{
40640 		if (!!(((*tupleTypeA).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*tupleTypeA).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA18_;
40641 		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);
40642 		goto BeforeRet_;
40643 	}
40644 	LA18_: ;
40645 	{
40646 		NI i;
40647 		NI colontmp_;
40648 		NI i_2;
40649 		i = (NI)0;
40650 		colontmp_ = (NI)0;
40651 		colontmp_ = len__ast_3198(call);
40652 		i_2 = ((NI) 1);
40653 		{
40654 			while (1) {
40655 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* calli;
40656 				tyObject_TType__facALICuu8zUj0hjvbTLFg* tupleTypeB;
40657 				if (!(i_2 < colontmp_)) goto LA22;
40658 				i = i_2;
40659 				calli = (*call)._kind_6.sons->data[i];
40660 				tupleTypeB = skipTypes__ast_3735((*calli).typ, TM__rF9caJawfOjYTjsgLVUSGFA_878);
40661 				{
40662 					NIM_BOOL T25_;
40663 					T25_ = (NIM_BOOL)0;
40664 					T25_ = sameType__types_1824(tupleTypeA, tupleTypeB, 0);
40665 					if (!!(T25_)) goto LA26_;
40666 					typeMismatch__types_3870((*(*c).graph).config, (*calli).info, tupleTypeA, tupleTypeB, calli);
40667 				}
40668 				LA26_: ;
40669 				i_2 += ((NI) 1);
40670 			} LA22: ;
40671 		}
40672 	}
40673 	(*(*c).p).nestedLoopCounter += ((NI) 1);
40674 	{
40675 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* loopBody;
40676 		NI T32_;
40677 		if (!((*tupleTypeA).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA30_;
40678 		T32_ = (NI)0;
40679 		T32_ = len__ast_3198(n);
40680 		loopBody = (*n)._kind_6.sons->data[(NI)(T32_ - ((NI) 1))];
40681 		{
40682 			NI i_3;
40683 			NI colontmp__2;
40684 			NI i_4;
40685 			i_3 = (NI)0;
40686 			colontmp__2 = (NI)0;
40687 			colontmp__2 = len__ast_4002(tupleTypeA);
40688 			i_4 = ((NI) 0);
40689 			{
40690 				while (1) {
40691 					tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T36_;
40692 					tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA fc;
40693 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
40694 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T37_;
40695 					if (!(i_4 < colontmp__2)) goto LA35;
40696 					i_3 = i_4;
40697 					T36_ = NIM_NIL;
40698 					T36_ = openScope__lookups_69(c);
40699 					nimZeroMem((void*)(&fc), sizeof(tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA));
40700 					fc.tupleType = tupleTypeA;
40701 					fc.tupleIndex = i_3;
40702 					fc.c = c;
40703 					fc.replaceByFieldName = (m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 129));
40704 					body = instFieldLoopBody__sem_10639((&fc), loopBody, n);
40705 					(*c).inUnrolledContext += ((NI) 1);
40706 					T37_ = NIM_NIL;
40707 					T37_ = semStmt__sem_84(c, body, 0);
40708 					add__ast_4797(stmts, T37_);
40709 					(*c).inUnrolledContext -= ((NI) 1);
40710 					closeScope__lookups_101(c);
40711 					i_4 += ((NI) 1);
40712 				} LA35: ;
40713 			}
40714 		}
40715 	}
40716 	goto LA28_;
40717 	LA30_: ;
40718 	{
40719 		tyObject_TFieldsCtx__Oumniq9anVI0B7eyXhL1U9cw fc_2;
40720 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
40721 		nimZeroMem((void*)(&fc_2), sizeof(tyObject_TFieldsCtx__Oumniq9anVI0B7eyXhL1U9cw));
40722 		fc_2.m = m;
40723 		fc_2.c = c;
40724 		t = tupleTypeA;
40725 		{
40726 			while (1) {
40727 				if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA40;
40728 				semForObjectFields__sem_10725(fc_2, (*t).n, n, stmts);
40729 				{
40730 					if (!((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA43_;
40731 					goto LA39;
40732 				}
40733 				LA43_: ;
40734 				t = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_53);
40735 			} LA40: ;
40736 		} LA39: ;
40737 	}
40738 	LA28_: ;
40739 	(*(*c).p).nestedLoopCounter -= ((NI) 1);
40740 	{
40741 		NIM_BOOL T47_;
40742 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
40743 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T50_;
40744 		T47_ = (NIM_BOOL)0;
40745 		T47_ = containsNode__ast_4545(stmts, TM__rF9caJawfOjYTjsgLVUSGFA_886);
40746 		if (!T47_) goto LA48_;
40747 		b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110), (*n).info);
40748 		T50_ = NIM_NIL;
40749 		T50_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
40750 		add__ast_4797(b, T50_);
40751 		add__ast_4797(stmts, b);
40752 	}
40753 	goto LA45_;
40754 	LA48_: ;
40755 	{
40756 		result = stmts;
40757 	}
40758 	LA45_: ;
40759 	}BeforeRet_: ;
40760 	return result;
40761 }
N_INLINE(NIM_BOOL,isClosureIterator__ast_5004)40762 static N_INLINE(NIM_BOOL, isClosureIterator__ast_5004)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
40763 	NIM_BOOL result;
40764 	NIM_BOOL T1_;
40765 	NIM_BOOL T2_;
40766 	result = (NIM_BOOL)0;
40767 	T1_ = (NIM_BOOL)0;
40768 	T2_ = (NIM_BOOL)0;
40769 	T2_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
40770 	if (!(T2_)) goto LA3_;
40771 	T2_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15))&63U)))!=0);
40772 	LA3_: ;
40773 	T1_ = T2_;
40774 	if (!(T1_)) goto LA4_;
40775 	T1_ = ((*typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
40776 	LA4_: ;
40777 	result = T1_;
40778 	return result;
40779 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,implicitIterator__sem_11206)40780 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, implicitIterator__sem_11206)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, NimStringDesc* it, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg) {
40781 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
40782 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
40783 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
40784 	result = NIM_NIL;
40785 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*arg).info);
40786 	T1_ = NIM_NIL;
40787 	T1_ = getIdent__idents_143((*c).cache, it);
40788 	T2_ = NIM_NIL;
40789 	T2_ = newIdentNode__ast_3712(T1_, (*arg).info);
40790 	add__ast_4797(result, T2_);
40791 	{
40792 		NIM_BOOL T5_;
40793 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
40794 		T5_ = (NIM_BOOL)0;
40795 		T5_ = !(((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
40796 		if (!(T5_)) goto LA6_;
40797 		T5_ = ((*(*arg).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*arg).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
40798 		LA6_: ;
40799 		if (!T5_) goto LA7_;
40800 		T9_ = NIM_NIL;
40801 		T9_ = newDeref__lowerings_11(arg);
40802 		add__ast_4797(result, T9_);
40803 	}
40804 	goto LA3_;
40805 	LA7_: ;
40806 	{
40807 		add__ast_4797(result, arg);
40808 	}
40809 	LA3_: ;
40810 	result = semExprNoDeref__sem_63(c, result, 2);
40811 	return result;
40812 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semFor__sem_11337)40813 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semFor__sem_11337)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
40814 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
40815 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T5_;
40816 	NI T6_;
40817 	NI T7_;
40818 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
40819 	NI T8_;
40820 	NIM_BOOL isCallExpr;
40821 {	result = NIM_NIL;
40822 	checkMinSonsLen__semdata_1084(n, ((NI) 3), (*(*c).graph).config);
40823 	result = handleForLoopMacro__sem_11301(c, n, flags);
40824 	{
40825 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
40826 		goto BeforeRet_;
40827 	}
40828 	LA3_: ;
40829 	T5_ = NIM_NIL;
40830 	T5_ = openScope__lookups_69(c);
40831 	result = n;
40832 	T6_ = (NI)0;
40833 	T6_ = len__ast_3198(n);
40834 	T7_ = (NI)0;
40835 	T7_ = len__ast_3198(n);
40836 	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));
40837 	T8_ = (NI)0;
40838 	T8_ = len__ast_3198(n);
40839 	call = (*n)._kind_6.sons->data[(NI)(T8_ - ((NI) 2))];
40840 	{
40841 		NIM_BOOL T11_;
40842 		NI T15_;
40843 		T11_ = (NIM_BOOL)0;
40844 		T11_ = ((*call).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
40845 		if (!(T11_)) goto LA12_;
40846 		T11_ = isTrivalStmtExpr__sem_11231(call);
40847 		LA12_: ;
40848 		if (!T11_) goto LA13_;
40849 		call = lastSon__ast_4832(call);
40850 		T15_ = (NI)0;
40851 		T15_ = len__ast_3198(n);
40852 		asgnRef((void**) (&(*n)._kind_6.sons->data[(NI)(T15_ - ((NI) 2))]), call);
40853 	}
40854 	LA13_: ;
40855 	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));
40856 	{
40857 		NIM_BOOL T18_;
40858 		NIM_BOOL T19_;
40859 		T18_ = (NIM_BOOL)0;
40860 		T19_ = (NIM_BOOL)0;
40861 		T19_ = isCallExpr;
40862 		if (!(T19_)) goto LA20_;
40863 		T19_ = ((*(*call)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
40864 		LA20_: ;
40865 		T18_ = T19_;
40866 		if (!(T18_)) goto LA21_;
40867 		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));
40868 		LA21_: ;
40869 		if (!T18_) goto LA22_;
40870 		{
40871 			if (!((*(*(*call)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 130))) goto LA26_;
40872 			result = semForVars__sem_10972(c, n, flags);
40873 			transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 95));
40874 		}
40875 		goto LA24_;
40876 		LA26_: ;
40877 		{
40878 			result = semForFields__sem_10813(c, n, (*(*(*call)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic);
40879 		}
40880 		LA24_: ;
40881 	}
40882 	goto LA16_;
40883 	LA22_: ;
40884 	{
40885 		NIM_BOOL T30_;
40886 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T32_;
40887 		T30_ = (NIM_BOOL)0;
40888 		T30_ = isCallExpr;
40889 		if (!(T30_)) goto LA31_;
40890 		T32_ = NIM_NIL;
40891 		T32_ = skipTypes__ast_3735((*(*call)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
40892 		T30_ = isClosureIterator__ast_5004(T32_);
40893 		LA31_: ;
40894 		if (!T30_) goto LA33_;
40895 		result = semForVars__sem_10972(c, n, flags);
40896 	}
40897 	goto LA16_;
40898 	LA33_: ;
40899 	{
40900 		NIM_BOOL T36_;
40901 		NIM_BOOL T37_;
40902 		T36_ = (NIM_BOOL)0;
40903 		T37_ = (NIM_BOOL)0;
40904 		T37_ = !(isCallExpr);
40905 		if (T37_) goto LA38_;
40906 		T37_ = !(((*(*call)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
40907 		LA38_: ;
40908 		T36_ = T37_;
40909 		if (T36_) goto LA39_;
40910 		T36_ = !(((*(*(*call)._kind_6.sons->data[((NI) 0)])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15)));
40911 		LA39_: ;
40912 		if (!T36_) goto LA40_;
40913 		{
40914 			NI T44_;
40915 			NI T47_;
40916 			NI T48_;
40917 			T44_ = (NI)0;
40918 			T44_ = len__ast_3198(n);
40919 			if (!(T44_ == ((NI) 3))) goto LA45_;
40920 			T47_ = (NI)0;
40921 			T47_ = len__ast_3198(n);
40922 			T48_ = (NI)0;
40923 			T48_ = len__ast_3198(n);
40924 			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))]));
40925 		}
40926 		goto LA42_;
40927 		LA45_: ;
40928 		{
40929 			NI T50_;
40930 			NI T53_;
40931 			NI T54_;
40932 			T50_ = (NI)0;
40933 			T50_ = len__ast_3198(n);
40934 			if (!(T50_ == ((NI) 4))) goto LA51_;
40935 			T53_ = (NI)0;
40936 			T53_ = len__ast_3198(n);
40937 			T54_ = (NI)0;
40938 			T54_ = len__ast_3198(n);
40939 			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))]));
40940 		}
40941 		goto LA42_;
40942 		LA51_: ;
40943 		{
40944 			NI T56_;
40945 			T56_ = (NI)0;
40946 			T56_ = len__ast_3198(n);
40947 			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);
40948 		}
40949 		LA42_: ;
40950 		result = semForVars__sem_10972(c, n, flags);
40951 	}
40952 	goto LA16_;
40953 	LA40_: ;
40954 	{
40955 		result = semForVars__sem_10972(c, n, flags);
40956 	}
40957 	LA16_: ;
40958 	{
40959 		NI T60_;
40960 		T60_ = (NI)0;
40961 		T60_ = len__ast_3198(n);
40962 		if (!((*(*n)._kind_6.sons->data[(NI)(T60_ - ((NI) 1))]).typ == (*c).enforceVoidContext)) goto LA61_;
40963 		asgnRef((void**) (&(*result).typ), (*c).enforceVoidContext);
40964 	}
40965 	goto LA58_;
40966 	LA61_: ;
40967 	{
40968 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T66_;
40969 		if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0)) goto LA64_;
40970 		T66_ = NIM_NIL;
40971 		T66_ = lastSon__ast_4832(result);
40972 		asgnRef((void**) (&(*result).typ), (*T66_).typ);
40973 	}
40974 	goto LA58_;
40975 	LA64_: ;
40976 	LA58_: ;
40977 	closeScope__lookups_101(c);
40978 	}BeforeRet_: ;
40979 	return result;
40980 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,handleCaseStmtMacro__sem_11311)40981 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, handleCaseStmtMacro__sem_11311)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
40982 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
40983 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* toResolve;
40984 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
40985 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
40986 	tySequence__0dpGN6F4ocevqUQGsaf41w* errors;
40987 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA r;
40988 	result = NIM_NIL;
40989 	toResolve = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
40990 	T1_ = NIM_NIL;
40991 	T1_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_891));
40992 	T2_ = NIM_NIL;
40993 	T2_ = newIdentNode__ast_3712(T1_, (*n).info);
40994 	add__ast_4797(toResolve, T2_);
40995 	add__ast_4797(toResolve, (*n)._kind_6.sons->data[((NI) 0)]);
40996 	errors = NIM_NIL;
40997 	nimZeroMem((void*)(&r), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
40998 	resolveOverloads__sem_1997(c, toResolve, toResolve, 393216, 0, (&errors), NIM_FALSE, (&r));
40999 	{
41000 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* match;
41001 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* toExpand;
41002 		if (!(r.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1))) goto LA5_;
41003 		match = r.calleeSym;
41004 		markUsed__sigmatch_85(c, (*(*n)._kind_6.sons->data[((NI) 0)]).info, match);
41005 		asgnRef((void**) (&(*r.call)._kind_6.sons->data[((NI) 1)]), n);
41006 		toExpand = semResolvedCall__sem_2401(c, (&r), r.call, 0);
41007 		switch ((*match).kind) {
41008 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
41009 		{
41010 			result = semMacroExpr__sem_524(c, toExpand, toExpand, match, flags);
41011 		}
41012 		break;
41013 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
41014 		{
41015 			result = semTemplateExpr__sem_519(c, toExpand, match, flags);
41016 		}
41017 		break;
41018 		default:
41019 		{
41020 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
41021 		}
41022 		break;
41023 		}
41024 	}
41025 	LA5_: ;
41026 	return result;
41027 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semCase__sem_11453)41028 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semCase__sem_11453)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
41029 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41030 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
41031 	NIM_BOOL chckCovered;
41032 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA covered;
41033 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
41034 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
41035 	NIM_BOOL hasElse;
41036 	tyObject_TType__facALICuu8zUj0hjvbTLFg* caseTyp;
41037 {	result = NIM_NIL;
41038 	result = n;
41039 	checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
41040 	T1_ = NIM_NIL;
41041 	T1_ = openScope__lookups_69(c);
41042 	pushCaseContext__semdata_1105(c, n);
41043 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0));
41044 	chckCovered = NIM_FALSE;
41045 	covered = toInt128__types_1378(((NI) 0));
41046 	T2_ = NIM_NIL;
41047 	T2_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*) newObj((&NTIptype__qt2Wh0elFEz5fH0l7yusLw_), sizeof(tyObject_TType__facALICuu8zUj0hjvbTLFg));
41048 	(*T2_).Sup.Sup.m_type = (&NTIttype__facALICuu8zUj0hjvbTLFg_);
41049 	(*T2_).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6);
41050 	typ = T2_;
41051 	hasElse = NIM_FALSE;
41052 	caseTyp = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_459);
41053 	switch ((*caseTyp).kind) {
41054 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
41055 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
41056 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
41057 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
41058 	{
41059 		chckCovered = NIM_TRUE;
41060 	}
41061 	break;
41062 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
41063 	{
41064 		{
41065 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
41066 			T7_ = NIM_NIL;
41067 			T7_ = skipTypes__ast_3735((*caseTyp).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_70);
41068 			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_;
41069 			chckCovered = NIM_TRUE;
41070 		}
41071 		LA8_: ;
41072 	}
41073 	break;
41074 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
41075 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
41076 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
41077 	{
41078 	}
41079 	break;
41080 	default:
41081 	{
41082 		popCaseContext__semdata_1121(c);
41083 		closeScope__lookups_101(c);
41084 		{
41085 			if (!(((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 8))&31U)))!=0)) goto LA14_;
41086 			result = handleCaseStmtMacro__sem_11311(c, n, flags);
41087 			{
41088 				if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA18_;
41089 				goto BeforeRet_;
41090 			}
41091 			LA18_: ;
41092 		}
41093 		LA14_: ;
41094 		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);
41095 		goto BeforeRet_;
41096 	}
41097 	break;
41098 	}
41099 	{
41100 		NI i;
41101 		NI colontmp_;
41102 		NI i_2;
41103 		i = (NI)0;
41104 		colontmp_ = (NI)0;
41105 		colontmp_ = len__ast_3198(n);
41106 		i_2 = ((NI) 1);
41107 		{
41108 			while (1) {
41109 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
41110 				if (!(i_2 < colontmp_)) goto LA22;
41111 				i = i_2;
41112 				setCaseContextIdx__semdata_1136(c, i);
41113 				x = (*n)._kind_6.sons->data[i];
41114 				switch ((*x).kind) {
41115 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
41116 				{
41117 					NI last;
41118 					NI T24_;
41119 					checkMinSonsLen__semdata_1084(x, ((NI) 2), (*(*c).graph).config);
41120 					semCaseBranch__sem_3791(c, n, x, i, (&covered));
41121 					T24_ = (NI)0;
41122 					T24_ = len__ast_3198(x);
41123 					last = (NI)(T24_ - ((NI) 1));
41124 					asgnRef((void**) (&(*x)._kind_6.sons->data[last]), semExprBranchScope__sem_9277(c, (*x)._kind_6.sons->data[last]));
41125 					typ = commonType__sem_448(c, typ, (*x)._kind_6.sons->data[last]);
41126 				}
41127 				break;
41128 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
41129 				{
41130 					tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T26_;
41131 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
41132 					chckCovered = NIM_FALSE;
41133 					checkSonsLen__semdata_1077(x, ((NI) 2), (*(*c).graph).config);
41134 					T26_ = NIM_NIL;
41135 					T26_ = openScope__lookups_69(c);
41136 					T27_ = NIM_NIL;
41137 					T27_ = semExprWithType__sem_56(c, (*x)._kind_6.sons->data[((NI) 0)], 0);
41138 					asgnRef((void**) (&(*x)._kind_6.sons->data[((NI) 0)]), forceBool__sem_2869(c, T27_));
41139 					asgnRef((void**) (&(*x)._kind_6.sons->data[((NI) 1)]), semExprBranch__sem_9264(c, (*x)._kind_6.sons->data[((NI) 1)], 0));
41140 					typ = commonType__sem_448(c, typ, (*x)._kind_6.sons->data[((NI) 1)]);
41141 					closeScope__lookups_101(c);
41142 				}
41143 				break;
41144 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
41145 				{
41146 					checkSonsLen__semdata_1077(x, ((NI) 1), (*(*c).graph).config);
41147 					asgnRef((void**) (&(*x)._kind_6.sons->data[((NI) 0)]), semExprBranchScope__sem_9277(c, (*x)._kind_6.sons->data[((NI) 0)]));
41148 					typ = commonType__sem_448(c, typ, (*x)._kind_6.sons->data[((NI) 0)]);
41149 					{
41150 						NIM_BOOL T31_;
41151 						NIM_BOOL T32_;
41152 						tyObject_Int128__9a9axPfb75jdWY25AamJewkA T34_;
41153 						T31_ = (NIM_BOOL)0;
41154 						T32_ = (NIM_BOOL)0;
41155 						T32_ = chckCovered;
41156 						if (!(T32_)) goto LA33_;
41157 						T34_ = toCover__sem_3884(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
41158 						T32_ = eqeq___int495056_313(covered, T34_);
41159 						LA33_: ;
41160 						T31_ = T32_;
41161 						if (T31_) goto LA35_;
41162 						T31_ = hasElse;
41163 						LA35_: ;
41164 						if (!T31_) goto LA36_;
41165 						liMessage__msgs_1118((*(*c).graph).config, (*x).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 44), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_894, NIM_FALSE);
41166 					}
41167 					LA36_: ;
41168 					hasElse = NIM_TRUE;
41169 					chckCovered = NIM_FALSE;
41170 				}
41171 				break;
41172 				default:
41173 				{
41174 					illFormedAst__semdata_1071(x, (*(*c).graph).config);
41175 				}
41176 				break;
41177 				}
41178 				i_2 += ((NI) 1);
41179 			} LA22: ;
41180 		}
41181 	}
41182 	{
41183 		if (!chckCovered) goto LA41_;
41184 		{
41185 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T45_;
41186 			NIM_BOOL T46_;
41187 			T45_ = toCover__sem_3884(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
41188 			T46_ = (NIM_BOOL)0;
41189 			T46_ = eqeq___int495056_313(covered, T45_);
41190 			if (!T46_) goto LA47_;
41191 			hasElse = NIM_TRUE;
41192 		}
41193 		goto LA43_;
41194 		LA47_: ;
41195 		{
41196 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T50_;
41197 			NimStringDesc* T53_;
41198 			NimStringDesc* T54_;
41199 			T50_ = NIM_NIL;
41200 			T50_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_472);
41201 			if (!((*T50_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*T50_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA51_;
41202 			T53_ = NIM_NIL;
41203 			T53_ = formatMissingEnums__sem_4020(c, n);
41204 			T54_ = NIM_NIL;
41205 			T54_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_473), T53_);
41206 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T54_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_895, NIM_FALSE);
41207 		}
41208 		goto LA43_;
41209 		LA51_: ;
41210 		{
41211 			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);
41212 		}
41213 		LA43_: ;
41214 	}
41215 	LA41_: ;
41216 	popCaseContext__semdata_1121(c);
41217 	closeScope__lookups_101(c);
41218 	{
41219 		NIM_BOOL T58_;
41220 		NIM_BOOL T59_;
41221 		NIM_BOOL T62_;
41222 		T58_ = (NIM_BOOL)0;
41223 		T59_ = (NIM_BOOL)0;
41224 		T59_ = isEmptyType__ast_4779(typ);
41225 		if (T59_) goto LA60_;
41226 		T59_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
41227 		LA60_: ;
41228 		T58_ = T59_;
41229 		if (T58_) goto LA61_;
41230 		T62_ = (NIM_BOOL)0;
41231 		T62_ = !(hasElse);
41232 		if (!(T62_)) goto LA63_;
41233 		T62_ = !(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0));
41234 		LA63_: ;
41235 		T58_ = T62_;
41236 		LA61_: ;
41237 		if (!T58_) goto LA64_;
41238 		{
41239 			NI i_3;
41240 			NI colontmp__2;
41241 			NI i_4;
41242 			i_3 = (NI)0;
41243 			colontmp__2 = (NI)0;
41244 			colontmp__2 = len__ast_3198(n);
41245 			i_4 = ((NI) 1);
41246 			{
41247 				while (1) {
41248 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T69_;
41249 					if (!(i_4 < colontmp__2)) goto LA68;
41250 					i_3 = i_4;
41251 					T69_ = NIM_NIL;
41252 					T69_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
41253 					discardCheck__sem_9323(c, T69_, flags);
41254 					i_4 += ((NI) 1);
41255 				} LA68: ;
41256 			}
41257 		}
41258 		{
41259 			if (!(typ == (*c).enforceVoidContext)) goto LA72_;
41260 			asgnRef((void**) (&(*result).typ), (*c).enforceVoidContext);
41261 		}
41262 		LA72_: ;
41263 	}
41264 	goto LA56_;
41265 	LA64_: ;
41266 	{
41267 		{
41268 			NI i_5;
41269 			NI colontmp__3;
41270 			NI i_6;
41271 			i_5 = (NI)0;
41272 			colontmp__3 = (NI)0;
41273 			colontmp__3 = len__ast_3198(n);
41274 			i_6 = ((NI) 1);
41275 			{
41276 				while (1) {
41277 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
41278 					NI j;
41279 					NI T78_;
41280 					if (!(i_6 < colontmp__3)) goto LA77;
41281 					i_5 = i_6;
41282 					it = (*n)._kind_6.sons->data[i_5];
41283 					T78_ = (NI)0;
41284 					T78_ = len__ast_3198(it);
41285 					j = (NI)(T78_ - ((NI) 1));
41286 					{
41287 						NIM_BOOL T81_;
41288 						T81_ = (NIM_BOOL)0;
41289 						T81_ = endsInNoReturn__sem_416((*it)._kind_6.sons->data[j]);
41290 						if (!!(T81_)) goto LA82_;
41291 						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));
41292 					}
41293 					LA82_: ;
41294 					i_6 += ((NI) 1);
41295 				} LA77: ;
41296 			}
41297 		}
41298 		asgnRef((void**) (&(*result).typ), typ);
41299 	}
41300 	LA56_: ;
41301 	}BeforeRet_: ;
41302 	return result;
41303 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semReturn__sem_17871)41304 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semReturn__sem_17871)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41305 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41306 {	result = NIM_NIL;
41307 	result = n;
41308 	checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
41309 	{
41310 		NIM_BOOL T3_;
41311 		NIM_BOOL T5_;
41312 		T3_ = (NIM_BOOL)0;
41313 		T3_ = ((225280 &((NU32)1<<((NU)((*(*(*c).p).owner).kind)&31U)))!=0);
41314 		if (T3_) goto LA4_;
41315 		T5_ = (NIM_BOOL)0;
41316 		T5_ = !(((*(*(*c).p).owner).typ == 0));
41317 		if (!(T5_)) goto LA6_;
41318 		T5_ = isClosureIterator__ast_5004((*(*(*c).p).owner).typ);
41319 		LA6_: ;
41320 		T3_ = T5_;
41321 		LA4_: ;
41322 		if (!T3_) goto LA7_;
41323 		{
41324 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA11_;
41325 			{
41326 				NIM_BOOL T15_;
41327 				NIM_BOOL T16_;
41328 				T15_ = (NIM_BOOL)0;
41329 				T16_ = (NIM_BOOL)0;
41330 				T16_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73));
41331 				if (!(T16_)) goto LA17_;
41332 				T16_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
41333 				LA17_: ;
41334 				T15_ = T16_;
41335 				if (!(T15_)) goto LA18_;
41336 				T15_ = ((*(*c).p).resultSym == (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)])._kind_4.sym);
41337 				LA18_: ;
41338 				if (!T15_) goto LA19_;
41339 			}
41340 			goto LA13_;
41341 			LA19_: ;
41342 			{
41343 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
41344 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
41345 				if (!!(((*(*c).p).resultSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA22_;
41346 				a = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*(*n)._kind_6.sons->data[((NI) 0)]).info);
41347 				T24_ = NIM_NIL;
41348 				T24_ = newSymNode__ast_3716((*(*c).p).resultSym);
41349 				add__ast_4797(a, T24_);
41350 				add__ast_4797(a, (*n)._kind_6.sons->data[((NI) 0)]);
41351 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), a);
41352 			}
41353 			goto LA13_;
41354 			LA22_: ;
41355 			{
41356 				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);
41357 				goto BeforeRet_;
41358 			}
41359 			LA13_: ;
41360 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), semAsgn__sem_15307(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ) 0)));
41361 			{
41362 				NIM_BOOL T28_;
41363 				T28_ = (NIM_BOOL)0;
41364 				T28_ = ((*(*(*result)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
41365 				if (!(T28_)) goto LA29_;
41366 				T28_ = ((*(*(*result)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)])._kind_4.sym == (*(*c).p).resultSym);
41367 				LA29_: ;
41368 				if (!T28_) goto LA30_;
41369 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), (*(*c).graph).emptyNode);
41370 			}
41371 			LA30_: ;
41372 		}
41373 		LA11_: ;
41374 	}
41375 	goto LA1_;
41376 	LA7_: ;
41377 	{
41378 		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);
41379 	}
41380 	LA1_: ;
41381 	}BeforeRet_: ;
41382 	return result;
41383 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semUsing__sem_9768)41384 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semUsing__sem_9768)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41385 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41386 	result = NIM_NIL;
41387 	result = (*(*c).graph).emptyNode;
41388 	{
41389 		NIM_BOOL T3_;
41390 		NimStringDesc* T6_;
41391 		T3_ = (NIM_BOOL)0;
41392 		T3_ = isTopLevel__semdata_1091(c);
41393 		if (!!(T3_)) goto LA4_;
41394 		T6_ = NIM_NIL;
41395 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_901));
41396 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_902, NIM_FALSE);
41397 	}
41398 	LA4_: ;
41399 	{
41400 		NI i;
41401 		NI colontmp_;
41402 		NI i_2;
41403 		i = (NI)0;
41404 		colontmp_ = (NI)0;
41405 		colontmp_ = len__ast_3198(n);
41406 		i_2 = ((NI) 0);
41407 		{
41408 			while (1) {
41409 				if (!(i_2 < colontmp_)) goto LA9;
41410 				i = i_2;
41411 				{
41412 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
41413 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
41414 					a = (*n)._kind_6.sons->data[i];
41415 					{
41416 						if (!((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11))) goto LA13_;
41417 						suggestStmt__sigmatch_6552(c, a);
41418 					}
41419 					LA13_: ;
41420 					{
41421 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA17_;
41422 						goto LA10;
41423 					}
41424 					LA17_: ;
41425 					{
41426 						if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102)))) goto LA21_;
41427 						illFormedAst__semdata_1071(a, (*(*c).graph).config);
41428 					}
41429 					LA21_: ;
41430 					checkMinSonsLen__semdata_1084(a, ((NI) 3), (*(*c).graph).config);
41431 					{
41432 						NI T25_;
41433 						tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
41434 						NI T28_;
41435 						T25_ = (NI)0;
41436 						T25_ = len__ast_3198(a);
41437 						if (!!(((*(*a)._kind_6.sons->data[(NI)(T25_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA26_;
41438 						T28_ = (NI)0;
41439 						T28_ = len__ast_3198(a);
41440 						typ = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[(NI)(T28_ - ((NI) 2))], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
41441 						{
41442 							NI j;
41443 							NI colontmp__2;
41444 							NI T30_;
41445 							NI i_3;
41446 							j = (NI)0;
41447 							colontmp__2 = (NI)0;
41448 							T30_ = (NI)0;
41449 							T30_ = len__ast_3198(a);
41450 							colontmp__2 = (NI)(T30_ - ((NI) 2));
41451 							i_3 = ((NI) 0);
41452 							{
41453 								while (1) {
41454 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
41455 									NIM_BOOL T39_;
41456 									if (!(i_3 < colontmp__2)) goto LA32;
41457 									j = i_3;
41458 									v = semIdentDef__sem_9679(c, (*a)._kind_6.sons->data[j], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
41459 									{
41460 										NIM_BOOL T35_;
41461 										T35_ = (NIM_BOOL)0;
41462 										T35_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
41463 										if (!(T35_)) goto LA36_;
41464 										T35_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
41465 										LA36_: ;
41466 										if (!T35_) goto LA37_;
41467 										nep1CheckDefImpl__linter_110((*(*c).graph).config, (*v).info, v, (*v).kind);
41468 									}
41469 									LA37_: ;
41470 									asgnRef((void**) (&(*v).typ), typ);
41471 									T39_ = (NIM_BOOL)0;
41472 									T39_ = strTableIncl__astalgo_3381((&(*c).signatures), v, NIM_FALSE);
41473 									i_3 += ((NI) 1);
41474 								} LA32: ;
41475 							}
41476 						}
41477 					}
41478 					goto LA23_;
41479 					LA26_: ;
41480 					{
41481 						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);
41482 					}
41483 					LA23_: ;
41484 					def = NIM_NIL;
41485 					{
41486 						NI T43_;
41487 						T43_ = (NI)0;
41488 						T43_ = len__ast_3198(a);
41489 						if (!!(((*(*a)._kind_6.sons->data[(NI)(T43_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA44_;
41490 						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);
41491 					}
41492 					LA44_: ;
41493 				} LA10: ;
41494 				i_2 += ((NI) 1);
41495 			} LA9: ;
41496 		}
41497 	}
41498 	return result;
41499 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semAsm__sem_9228)41500 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAsm__sem_9228)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41501 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41502 	NIM_CHAR marker;
41503 	result = NIM_NIL;
41504 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
41505 	marker = pragmaAsm__pragmas_201(c, (*n)._kind_6.sons->data[((NI) 0)]);
41506 	{
41507 		if (!((NU8)(marker) == (NU8)(0))) goto LA3_;
41508 		marker = 96;
41509 	}
41510 	LA3_: ;
41511 	result = semAsmOrEmit__pragmas_1133(c, n, marker);
41512 	return result;
41513 }
N_NIMCALL(void,semYieldVarResult__sem_17977)41514 N_LIB_PRIVATE N_NIMCALL(void, semYieldVarResult__sem_17977)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* restype) {
41515 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
41516 	t = skipTypes__ast_3735(restype, TM__rF9caJawfOjYTjsgLVUSGFA_137);
41517 	switch ((*t).kind) {
41518 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
41519 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
41520 	{
41521 		(*t).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
41522 		{
41523 			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_;
41524 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
41525 		}
41526 		LA4_: ;
41527 		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))));
41528 	}
41529 	break;
41530 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
41531 	{
41532 		{
41533 			NI i;
41534 			NI colontmp_;
41535 			NI i_2;
41536 			i = (NI)0;
41537 			colontmp_ = (NI)0;
41538 			colontmp_ = len__ast_4002(t);
41539 			i_2 = ((NI) 0);
41540 			{
41541 				while (1) {
41542 					tyObject_TType__facALICuu8zUj0hjvbTLFg* e;
41543 					if (!(i_2 < colontmp_)) goto LA9;
41544 					i = i_2;
41545 					e = skipTypes__ast_3735((*t).sons->data[i], TM__rF9caJawfOjYTjsgLVUSGFA_137);
41546 					{
41547 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tupleConstr;
41548 						if (!((*e).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*e).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA12_;
41549 						(*e).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
41550 						{
41551 							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_;
41552 							tupleConstr = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)];
41553 						}
41554 						goto LA14_;
41555 						LA16_: ;
41556 						{
41557 							tupleConstr = (*n)._kind_6.sons->data[((NI) 0)];
41558 						}
41559 						LA14_: ;
41560 						{
41561 							if (!((*tupleConstr).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*tupleConstr).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160))) goto LA21_;
41562 							{
41563 								if (!((*(*tupleConstr)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA25_;
41564 								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))));
41565 							}
41566 							goto LA23_;
41567 							LA25_: ;
41568 							{
41569 								asgnRef((void**) (&(*tupleConstr)._kind_6.sons->data[i]), takeImplicitAddr__sem_17562(c, (*tupleConstr)._kind_6.sons->data[i], ((*e).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))));
41570 							}
41571 							LA23_: ;
41572 						}
41573 						goto LA19_;
41574 						LA21_: ;
41575 						{
41576 							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);
41577 						}
41578 						LA19_: ;
41579 					}
41580 					LA12_: ;
41581 					i_2 += ((NI) 1);
41582 				} LA9: ;
41583 			}
41584 		}
41585 	}
41586 	break;
41587 	default:
41588 	{
41589 	}
41590 	break;
41591 	}
41592 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semYield__sem_18051)41593 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semYield__sem_18051)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41594 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41595 	result = NIM_NIL;
41596 	result = n;
41597 	checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
41598 	{
41599 		NIM_BOOL T3_;
41600 		T3_ = (NIM_BOOL)0;
41601 		T3_ = ((*(*c).p).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
41602 		if (T3_) goto LA4_;
41603 		T3_ = !(((*(*(*c).p).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15)));
41604 		LA4_: ;
41605 		if (!T3_) goto LA5_;
41606 		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);
41607 	}
41608 	goto LA1_;
41609 	LA5_: ;
41610 	{
41611 		tyObject_TType__facALICuu8zUj0hjvbTLFg* iterType;
41612 		tyObject_TType__facALICuu8zUj0hjvbTLFg* restype;
41613 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA8_;
41614 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0));
41615 		iterType = (*(*(*c).p).owner).typ;
41616 		restype = (*iterType).sons->data[((NI) 0)];
41617 		{
41618 			if (!!((restype == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA12_;
41619 			{
41620 				if (!!(((*restype).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6)))) goto LA16_;
41621 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), fitNode__sem_70(c, restype, (*n)._kind_6.sons->data[((NI) 0)], (*n).info));
41622 			}
41623 			LA16_: ;
41624 			{
41625 				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA20_;
41626 				internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_909), TM__rF9caJawfOjYTjsgLVUSGFA_910);
41627 			}
41628 			LA20_: ;
41629 			{
41630 				NIM_BOOL T24_;
41631 				tyObject_TType__facALICuu8zUj0hjvbTLFg* inferred;
41632 				T24_ = (NIM_BOOL)0;
41633 				T24_ = isMetaType__ast_3495(restype);
41634 				if (!(T24_)) goto LA25_;
41635 				T24_ = !(((*restype).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)));
41636 				LA25_: ;
41637 				if (!T24_) goto LA26_;
41638 				inferred = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
41639 				asgnRef((void**) (&(*iterType).sons->data[((NI) 0)]), inferred);
41640 				{
41641 					if (!!(((*(*c).p).resultSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA30_;
41642 					asgnRef((void**) (&(*(*(*c).p).resultSym).typ), inferred);
41643 				}
41644 				LA30_: ;
41645 			}
41646 			LA26_: ;
41647 			semYieldVarResult__sem_17977(c, n, restype);
41648 		}
41649 		goto LA10_;
41650 		LA12_: ;
41651 		{
41652 			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);
41653 		}
41654 		LA10_: ;
41655 	}
41656 	goto LA1_;
41657 	LA8_: ;
41658 	{
41659 		if (!!(((*(*(*(*c).p).owner).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA34_;
41660 		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);
41661 	}
41662 	goto LA1_;
41663 	LA34_: ;
41664 	LA1_: ;
41665 	return result;
41666 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semIterator__sem_13400)41667 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIterator__sem_13400)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41668 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41669 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
41670 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
41671 {	result = NIM_NIL;
41672 	{
41673 		if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
41674 		asgnRef((void**) (&(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).owner), getCurrOwner__semdata_315(c));
41675 		transitionRoutineSymKind__ast_4393((*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym, ((tyEnum_TSymKind__uwRDzlpaGW5WJzgBn4R8Eg) 15));
41676 	}
41677 	LA3_: ;
41678 	result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15), TM__rF9caJawfOjYTjsgLVUSGFA_918, 0);
41679 	{
41680 		if (!!(((*result).kind == (*n).kind))) goto LA7_;
41681 		goto BeforeRet_;
41682 	}
41683 	LA7_: ;
41684 	s = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
41685 	t = (*s).typ;
41686 	{
41687 		NIM_BOOL T11_;
41688 		T11_ = (NIM_BOOL)0;
41689 		T11_ = ((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
41690 		if (!(T11_)) goto LA12_;
41691 		T11_ = !(((*(*s).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)));
41692 		LA12_: ;
41693 		if (!T11_) goto LA13_;
41694 		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);
41695 	}
41696 	LA13_: ;
41697 	{
41698 		if (!((*(*s).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9))) goto LA17_;
41699 		(*(*s).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 12)) & 63);
41700 	}
41701 	goto LA15_;
41702 	LA17_: ;
41703 	{
41704 		(*(*s).typ).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 5);
41705 	}
41706 	LA15_: ;
41707 	{
41708 		NIM_BOOL T22_;
41709 		NIM_BOOL T23_;
41710 		NimStringDesc* T28_;
41711 		T22_ = (NIM_BOOL)0;
41712 		T23_ = (NIM_BOOL)0;
41713 		T23_ = ((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
41714 		if (!(T23_)) goto LA24_;
41715 		T23_ = ((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
41716 		LA24_: ;
41717 		T22_ = T23_;
41718 		if (!(T22_)) goto LA25_;
41719 		T22_ = ((*c).inConceptDecl == ((NI) 0));
41720 		LA25_: ;
41721 		if (!T22_) goto LA26_;
41722 		T28_ = NIM_NIL;
41723 		T28_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_402), (*(*s).name).s);
41724 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T28_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_921, NIM_FALSE);
41725 	}
41726 	LA26_: ;
41727 	{
41728 		NIM_BOOL T31_;
41729 		T31_ = (NIM_BOOL)0;
41730 		T31_ = (((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0);
41731 		if (!(T31_)) goto LA32_;
41732 		T31_ = !(((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
41733 		LA32_: ;
41734 		if (!T31_) goto LA33_;
41735 		asgnRef((void**) (&(*result).typ), makeVarType__semdata_766(c, (*result).typ, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
41736 		(*(*result).typ).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9);
41737 	}
41738 	LA33_: ;
41739 	}BeforeRet_: ;
41740 	return result;
41741 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semProc__sem_9261)41742 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semProc__sem_9261)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41743 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41744 	result = NIM_NIL;
41745 	result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12), TM__rF9caJawfOjYTjsgLVUSGFA_922, 0);
41746 	return result;
41747 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semFunc__sem_13456)41748 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semFunc__sem_13456)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41749 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41750 	tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw validPragmas;
41751 	result = NIM_NIL;
41752 	nimZeroMem((void*)validPragmas, sizeof(tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw));
41753 	{
41754 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
41755 		nimCopyMem((void*)validPragmas, (NIM_CONST void*)TM__rF9caJawfOjYTjsgLVUSGFA_922, 37);
41756 	}
41757 	goto LA1_;
41758 	LA3_: ;
41759 	{
41760 		nimCopyMem((void*)validPragmas, (NIM_CONST void*)TM__rF9caJawfOjYTjsgLVUSGFA_923, 37);
41761 	}
41762 	LA1_: ;
41763 	result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13), validPragmas, 0);
41764 	return result;
41765 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semMethod__sem_13466)41766 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semMethod__sem_13466)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41767 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41768 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
41769 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* disp;
41770 {	result = NIM_NIL;
41771 	{
41772 		NIM_BOOL T3_;
41773 		NimStringDesc* T6_;
41774 		T3_ = (NIM_BOOL)0;
41775 		T3_ = isTopLevel__semdata_1091(c);
41776 		if (!!(T3_)) goto LA4_;
41777 		T6_ = NIM_NIL;
41778 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_924));
41779 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_925, NIM_FALSE);
41780 	}
41781 	LA4_: ;
41782 	result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14), TM__rF9caJawfOjYTjsgLVUSGFA_926, 0);
41783 	{
41784 		NI T9_;
41785 		T9_ = (NI)0;
41786 		T9_ = safeLen__ast_3191(result);
41787 		if (!(T9_ <= ((NI) 0))) goto LA10_;
41788 		goto BeforeRet_;
41789 	}
41790 	LA10_: ;
41791 	{
41792 		if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80)))) goto LA14_;
41793 		goto BeforeRet_;
41794 	}
41795 	LA14_: ;
41796 	s = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
41797 	disp = getDispatcher__cgmeth_42(s);
41798 	{
41799 		NIM_BOOL T18_;
41800 		NIM_BOOL T19_;
41801 		tyObject_TType__facALICuu8zUj0hjvbTLFg* ret;
41802 		T18_ = (NIM_BOOL)0;
41803 		T19_ = (NIM_BOOL)0;
41804 		T19_ = !((disp == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
41805 		if (!(T19_)) goto LA20_;
41806 		T19_ = !(((*(*disp).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
41807 		LA20_: ;
41808 		T18_ = T19_;
41809 		if (!(T18_)) goto LA21_;
41810 		T18_ = ((*(*(*disp).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
41811 		LA21_: ;
41812 		if (!T18_) goto LA22_;
41813 		ret = (*(*s).typ).sons->data[((NI) 0)];
41814 		asgnRef((void**) (&(*(*disp).typ).sons->data[((NI) 0)]), ret);
41815 		{
41816 			if (!((*(*(*disp).ast)._kind_6.sons->data[((NI) 7)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA26_;
41817 			{
41818 				NIM_BOOL T30_;
41819 				T30_ = (NIM_BOOL)0;
41820 				T30_ = isEmptyType__ast_4779(ret);
41821 				if (!T30_) goto LA31_;
41822 				asgnRef((void**) (&(*(*disp).ast)._kind_6.sons->data[((NI) 7)]), (*(*c).graph).emptyNode);
41823 			}
41824 			goto LA28_;
41825 			LA31_: ;
41826 			{
41827 				asgnRef((void**) (&(*(*(*(*disp).ast)._kind_6.sons->data[((NI) 7)])._kind_4.sym).typ), ret);
41828 			}
41829 			LA28_: ;
41830 		}
41831 		LA26_: ;
41832 	}
41833 	LA22_: ;
41834 	}BeforeRet_: ;
41835 	return result;
41836 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConverterDef__sem_13501)41837 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConverterDef__sem_13501)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41838 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41839 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
41840 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
41841 	tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA T26_;
41842 {	result = NIM_NIL;
41843 	{
41844 		NIM_BOOL T3_;
41845 		NimStringDesc* T6_;
41846 		T3_ = (NIM_BOOL)0;
41847 		T3_ = isTopLevel__semdata_1091(c);
41848 		if (!!(T3_)) goto LA4_;
41849 		T6_ = NIM_NIL;
41850 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_927));
41851 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_928, NIM_FALSE);
41852 	}
41853 	LA4_: ;
41854 	checkSonsLen__semdata_1077(n, ((NI) 7), (*(*c).graph).config);
41855 	result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16), TM__rF9caJawfOjYTjsgLVUSGFA_922, 0);
41856 	{
41857 		NI T9_;
41858 		T9_ = (NI)0;
41859 		T9_ = safeLen__ast_3191(result);
41860 		if (!(T9_ <= ((NI) 0))) goto LA10_;
41861 		goto BeforeRet_;
41862 	}
41863 	LA10_: ;
41864 	{
41865 		if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81)))) goto LA14_;
41866 		goto BeforeRet_;
41867 	}
41868 	LA14_: ;
41869 	s = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
41870 	t = (*s).typ;
41871 	{
41872 		NimStringDesc* T20_;
41873 		if (!((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA18_;
41874 		T20_ = NIM_NIL;
41875 		T20_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_929), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_927));
41876 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_930, NIM_FALSE);
41877 	}
41878 	LA18_: ;
41879 	{
41880 		NI T23_;
41881 		T23_ = (NI)0;
41882 		T23_ = len__ast_4002(t);
41883 		if (!!((T23_ == ((NI) 2)))) goto LA24_;
41884 		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);
41885 	}
41886 	LA24_: ;
41887 	nimZeroMem((void*)(&T26_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
41888 	nimZeroMem((void*)(&T26_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
41889 	T26_.sym = s;
41890 	addConverterDef__semdata_667(c, T26_);
41891 	}BeforeRet_: ;
41892 	return result;
41893 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semMacroDef__sem_13520)41894 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semMacroDef__sem_13520)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41895 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41896 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
41897 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
41898 	NIM_BOOL allUntyped;
41899 {	result = NIM_NIL;
41900 	checkSonsLen__semdata_1077(n, ((NI) 7), (*(*c).graph).config);
41901 	result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17), TM__rF9caJawfOjYTjsgLVUSGFA_933, 0);
41902 	{
41903 		NI T3_;
41904 		T3_ = (NI)0;
41905 		T3_ = safeLen__ast_3191(result);
41906 		if (!(T3_ <= ((NI) 0))) goto LA4_;
41907 		goto BeforeRet_;
41908 	}
41909 	LA4_: ;
41910 	{
41911 		if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82)))) goto LA8_;
41912 		goto BeforeRet_;
41913 	}
41914 	LA8_: ;
41915 	s = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
41916 	t = (*s).typ;
41917 	allUntyped = NIM_TRUE;
41918 	{
41919 		NI i;
41920 		NI colontmp_;
41921 		NI i_2;
41922 		i = (NI)0;
41923 		colontmp_ = (NI)0;
41924 		colontmp_ = len__ast_3198((*t).n);
41925 		i_2 = ((NI) 1);
41926 		{
41927 			while (1) {
41928 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
41929 				if (!(i_2 < colontmp_)) goto LA12;
41930 				i = i_2;
41931 				param = (*(*(*t).n)._kind_6.sons->data[i])._kind_4.sym;
41932 				{
41933 					if (!!(((*(*param).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6)))) goto LA15_;
41934 					allUntyped = NIM_FALSE;
41935 				}
41936 				LA15_: ;
41937 				i_2 += ((NI) 1);
41938 			} LA12: ;
41939 		}
41940 	}
41941 	{
41942 		if (!allUntyped) goto LA19_;
41943 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 9)) & 63);
41944 	}
41945 	LA19_: ;
41946 	{
41947 		NimStringDesc* T25_;
41948 		if (!((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA23_;
41949 		T25_ = NIM_NIL;
41950 		T25_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_402), (*(*s).name).s);
41951 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T25_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_934, NIM_FALSE);
41952 	}
41953 	LA23_: ;
41954 	}BeforeRet_: ;
41955 	return result;
41956 }
N_NIMCALL(void,incMod__sem_13555)41957 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) {
41958 	NI32 f;
41959 	f = checkModuleName__modulepaths_21((*(*c).graph).config, it, NIM_TRUE);
41960 	{
41961 		if (!!((f == ((NI32) -1)))) goto LA3_;
41962 		addIncludeFileDep__semdata_604(c, f);
41963 		onProcessing__modulegraphs_11274((*c).graph, f, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_944), (*c).module);
41964 		{
41965 			NIM_BOOL T7_;
41966 			NimStringDesc* T10_;
41967 			NimStringDesc* T11_;
41968 			T7_ = (NIM_BOOL)0;
41969 			T7_ = containsOrIncl__astalgo_402((&(*c).includedFiles), ((NI) (f)));
41970 			if (!T7_) goto LA8_;
41971 			T10_ = NIM_NIL;
41972 			T10_ = toMsgFilename__msgs_602((*(*c).graph).config, f);
41973 			T11_ = NIM_NIL;
41974 			T11_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_10), T10_);
41975 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_945, NIM_FALSE);
41976 		}
41977 		goto LA5_;
41978 		LA8_: ;
41979 		{
41980 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
41981 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
41982 			T13_ = NIM_NIL;
41983 			T13_ = (*(*c).graph).includeFileCallback((*c).graph, (*c).module, f);
41984 			T14_ = NIM_NIL;
41985 			T14_ = semStmt__sem_84(c, T13_, 0);
41986 			add__ast_4797(includeStmtResult, T14_);
41987 			excl__reorder_264((&(*c).includedFiles), ((NI) (f)));
41988 		}
41989 		LA5_: ;
41990 	}
41991 	LA3_: ;
41992 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,evalInclude__sem_13575)41993 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalInclude__sem_13575)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41994 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41995 	result = NIM_NIL;
41996 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
41997 	add__ast_4797(result, n);
41998 	{
41999 		NI i;
42000 		NI colontmp_;
42001 		NI i_2;
42002 		i = (NI)0;
42003 		colontmp_ = (NI)0;
42004 		colontmp_ = len__ast_3198(n);
42005 		i_2 = ((NI) 0);
42006 		{
42007 			while (1) {
42008 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* imp;
42009 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
42010 				if (!(i_2 < colontmp_)) goto LA3;
42011 				i = i_2;
42012 				imp = NIM_NIL;
42013 				it = (*n)._kind_6.sons->data[i];
42014 				{
42015 					NIM_BOOL T6_;
42016 					NIM_BOOL T7_;
42017 					NI T9_;
42018 					NimStringDesc* T13_;
42019 					T6_ = (NIM_BOOL)0;
42020 					T7_ = (NIM_BOOL)0;
42021 					T7_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29));
42022 					if (!(T7_)) goto LA8_;
42023 					T9_ = (NI)0;
42024 					T9_ = len__ast_3198(it);
42025 					T7_ = (T9_ == ((NI) 3));
42026 					LA8_: ;
42027 					T6_ = T7_;
42028 					if (!(T6_)) goto LA10_;
42029 					T6_ = !(eqStrings((*(*(*it)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_940)));
42030 					LA10_: ;
42031 					if (!T6_) goto LA11_;
42032 					T13_ = NIM_NIL;
42033 					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);
42034 appendString(T13_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_941));
42035 appendString(T13_, (*(*(*it)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s);
42036 appendString(T13_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_942));
42037 					liMessage__msgs_1118((*(*c).graph).config, (*it).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T13_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_943, NIM_FALSE);
42038 				}
42039 				LA11_: ;
42040 				{
42041 					NIM_BOOL T16_;
42042 					NIM_BOOL T17_;
42043 					NI T19_;
42044 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sep;
42045 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dir;
42046 					T16_ = (NIM_BOOL)0;
42047 					T17_ = (NIM_BOOL)0;
42048 					T17_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29));
42049 					if (!(T17_)) goto LA18_;
42050 					T19_ = (NI)0;
42051 					T19_ = len__ast_3198(it);
42052 					T17_ = (T19_ == ((NI) 3));
42053 					LA18_: ;
42054 					T16_ = T17_;
42055 					if (!(T16_)) goto LA20_;
42056 					T16_ = ((*(*it)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41));
42057 					LA20_: ;
42058 					if (!T16_) goto LA21_;
42059 					sep = (*it)._kind_6.sons->data[((NI) 0)];
42060 					dir = (*it)._kind_6.sons->data[((NI) 1)];
42061 					imp = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29), (*it).info);
42062 					add__ast_4797(imp, sep);
42063 					add__ast_4797(imp, dir);
42064 					add__ast_4797(imp, sep);
42065 					{
42066 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
42067 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__2;
42068 						x = NIM_NIL;
42069 						colontmp__2 = NIM_NIL;
42070 						colontmp__2 = (*it)._kind_6.sons->data[((NI) 2)];
42071 						{
42072 							NI i_3;
42073 							NI colontmp__3;
42074 							NI i_4;
42075 							i_3 = (NI)0;
42076 							colontmp__3 = (NI)0;
42077 							colontmp__3 = safeLen__ast_3191(colontmp__2);
42078 							i_4 = ((NI) 0);
42079 							{
42080 								while (1) {
42081 									if (!(i_4 < colontmp__3)) goto LA26;
42082 									i_3 = i_4;
42083 									x = (*colontmp__2)._kind_6.sons->data[i_3];
42084 									asgnRef((void**) (&(*imp)._kind_6.sons->data[((NI) 2)]), x);
42085 									incMod__sem_13555(c, n, imp, result);
42086 									i_4 += ((NI) 1);
42087 								} LA26: ;
42088 							}
42089 						}
42090 					}
42091 				}
42092 				goto LA14_;
42093 				LA21_: ;
42094 				{
42095 					incMod__sem_13555(c, n, it, result);
42096 				}
42097 				LA14_: ;
42098 				i_2 += ((NI) 1);
42099 			} LA3: ;
42100 		}
42101 	}
42102 	return result;
42103 }
N_INLINE(NIM_BOOL,isCachedModule__modulegraphs_2697)42104 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2697)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module) {
42105 	NIM_BOOL result;
42106 	NIM_BOOL T1_;
42107 	NI T2_;
42108 	result = (NIM_BOOL)0;
42109 	T1_ = (NIM_BOOL)0;
42110 	T2_ = ((*g).packed_0 ? (*g).packed_0->Sup.len : 0);
42111 	T1_ = (module < T2_);
42112 	if (!(T1_)) goto LA3_;
42113 	T1_ = ((*g).packed_0->data[module].status == ((tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q) 3));
42114 	LA3_: ;
42115 	result = T1_;
42116 	return result;
42117 }
N_INLINE(NIM_BOOL,isCachedModule__modulegraphs_2709)42118 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2709)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m) {
42119 	NIM_BOOL result;
42120 	result = (NIM_BOOL)0;
42121 	result = isCachedModule__modulegraphs_2697(g, (*m).position);
42122 	return result;
42123 }
N_INLINE(void,specialSyms__sem_19892)42124 static N_INLINE(void, specialSyms__sem_19892)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
42125 	{
42126 		tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA T5_;
42127 		if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16))) goto LA3_;
42128 		nimZeroMem((void*)(&T5_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
42129 		nimZeroMem((void*)(&T5_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
42130 		T5_.sym = s;
42131 		addConverter__semdata_653(c, T5_);
42132 	}
42133 	goto LA1_;
42134 	LA3_: ;
42135 	{
42136 		NIM_BOOL T7_;
42137 		NIM_BOOL T8_;
42138 		NIM_BOOL T9_;
42139 		tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA T15_;
42140 		T7_ = (NIM_BOOL)0;
42141 		T8_ = (NIM_BOOL)0;
42142 		T9_ = (NIM_BOOL)0;
42143 		T9_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
42144 		if (!(T9_)) goto LA10_;
42145 		T9_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
42146 		LA10_: ;
42147 		T8_ = T9_;
42148 		if (!(T8_)) goto LA11_;
42149 		T8_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
42150 		LA11_: ;
42151 		T7_ = T8_;
42152 		if (!(T7_)) goto LA12_;
42153 		T7_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0);
42154 		LA12_: ;
42155 		if (!T7_) goto LA13_;
42156 		nimZeroMem((void*)(&T15_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
42157 		nimZeroMem((void*)(&T15_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
42158 		T15_.sym = s;
42159 		addPureEnum__semdata_674(c, T15_);
42160 	}
42161 	goto LA1_;
42162 	LA13_: ;
42163 	LA1_: ;
42164 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExport__sem_19888)42165 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExport__sem_19888)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
42166 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
42167 	result = NIM_NIL;
42168 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118), (*n).info);
42169 	{
42170 		NI i;
42171 		NI colontmp_;
42172 		NI i_2;
42173 		i = (NI)0;
42174 		colontmp_ = (NI)0;
42175 		colontmp_ = len__ast_3198(n);
42176 		i_2 = ((NI) 0);
42177 		{
42178 			while (1) {
42179 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
42180 				tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
42181 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
42182 				if (!(i_2 < colontmp_)) goto LA3;
42183 				i = i_2;
42184 				a = (*n)._kind_6.sons->data[i];
42185 				nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
42186 				s = initOverloadIter__lookups_1374((&o), c, a);
42187 				{
42188 					NimStringDesc* T8_;
42189 					NimStringDesc* T9_;
42190 					if (!(s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA6_;
42191 					T8_ = NIM_NIL;
42192 					T9_ = NIM_NIL;
42193 					T9_ = renderTree__renderer_46(a, 0);
42194 					T8_ = rawNewString((T9_ ? T9_->Sup.len : 0) + 15);
42195 appendString(T8_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_947));
42196 appendString(T8_, T9_);
42197 					liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T8_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_948, NIM_FALSE);
42198 				}
42199 				goto LA4_;
42200 				LA6_: ;
42201 				{
42202 					if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA11_;
42203 					reexportSym__semdata_717(c, s);
42204 					{
42205 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it;
42206 						NIM_BOOL importHidden;
42207 						it = NIM_NIL;
42208 						importHidden = (((*s).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
42209 						{
42210 							NIM_BOOL T16_;
42211 							tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
42212 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
42213 							T16_ = (NIM_BOOL)0;
42214 							T16_ = isCachedModule__modulegraphs_2709((*c).graph, s);
42215 							if (!T16_) goto LA17_;
42216 							nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
42217 							r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*s).position)), importHidden);
42218 							{
42219 								while (1) {
42220 									if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA20;
42221 									it = r;
42222 									{
42223 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T25_;
42224 										if (!((43513792 &((NU32)1<<((NU)((*it).kind)&31U)))!=0)) goto LA23_;
42225 										reexportSym__semdata_717(c, it);
42226 										T25_ = NIM_NIL;
42227 										T25_ = newSymNode__ast_3719(it, (*a).info);
42228 										add__ast_4797(result, T25_);
42229 										specialSyms__sem_19892(c, it);
42230 									}
42231 									LA23_: ;
42232 									r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
42233 								} LA20: ;
42234 							}
42235 						}
42236 						goto LA14_;
42237 						LA17_: ;
42238 						{
42239 							{
42240 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_2;
42241 								tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__2;
42242 								tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
42243 								NI i_3;
42244 								NI L;
42245 								NI T32_;
42246 								s_2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
42247 								colontmp__2 = NIM_NIL;
42248 								retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*s).position].interf);
42249 								{
42250 									if (!importHidden) goto LA30_;
42251 									retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*s).position].interfHidden);
42252 								}
42253 								LA30_: ;
42254 								colontmp__2 = (*retX60gensym17_).data;
42255 								i_3 = ((NI) 0);
42256 								T32_ = (colontmp__2 ? colontmp__2->Sup.len : 0);
42257 								L = T32_;
42258 								{
42259 									while (1) {
42260 										if (!(i_3 < L)) goto LA34;
42261 										s_2 = &colontmp__2->data[i_3];
42262 										{
42263 											if (!!(((*s_2) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA37_;
42264 											it = (*s_2);
42265 											{
42266 												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
42267 												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_;
42268 												reexportSym__semdata_717(c, it);
42269 												T43_ = NIM_NIL;
42270 												T43_ = newSymNode__ast_3719(it, (*a).info);
42271 												add__ast_4797(result, T43_);
42272 												specialSyms__sem_19892(c, it);
42273 											}
42274 											LA41_: ;
42275 										}
42276 										LA37_: ;
42277 										i_3 += ((NI) 1);
42278 									} LA34: ;
42279 								}
42280 							}
42281 						}
42282 						LA14_: ;
42283 					}
42284 					markUsed__sigmatch_85(c, (*n).info, s);
42285 				}
42286 				goto LA4_;
42287 				LA11_: ;
42288 				{
42289 					{
42290 						while (1) {
42291 							if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA46;
42292 							{
42293 								NimStringDesc* T51_;
42294 								NimStringDesc* T52_;
42295 								if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20))) goto LA49_;
42296 								T51_ = NIM_NIL;
42297 								T52_ = NIM_NIL;
42298 								T52_ = renderTree__renderer_46(a, 0);
42299 								T51_ = rawNewString((T52_ ? T52_->Sup.len : 0) + 59);
42300 appendString(T51_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_947));
42301 appendString(T51_, T52_);
42302 appendString(T51_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_949));
42303 								liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T51_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_950, NIM_FALSE);
42304 							}
42305 							LA49_: ;
42306 							{
42307 								NIM_BOOL T55_;
42308 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T59_;
42309 								T55_ = (NIM_BOOL)0;
42310 								T55_ = ((43513792 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
42311 								if (!(T55_)) goto LA56_;
42312 								T55_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0));
42313 								LA56_: ;
42314 								if (!T55_) goto LA57_;
42315 								T59_ = NIM_NIL;
42316 								T59_ = newSymNode__ast_3719(s, (*a).info);
42317 								add__ast_4797(result, T59_);
42318 								reexportSym__semdata_717(c, s);
42319 								markUsed__sigmatch_85(c, (*n).info, s);
42320 								specialSyms__sem_19892(c, s);
42321 								{
42322 									NIM_BOOL T62_;
42323 									tyObject_TType__facALICuu8zUj0hjvbTLFg* etyp;
42324 									T62_ = (NIM_BOOL)0;
42325 									T62_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
42326 									if (!(T62_)) goto LA63_;
42327 									T62_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0));
42328 									LA63_: ;
42329 									if (!T62_) goto LA64_;
42330 									etyp = (*s).typ;
42331 									{
42332 										if (!((*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14))) goto LA68_;
42333 										{
42334 											NI j;
42335 											NI colontmp__3;
42336 											NI i_4;
42337 											j = (NI)0;
42338 											colontmp__3 = (NI)0;
42339 											colontmp__3 = len__ast_3198((*etyp).n);
42340 											i_4 = ((NI) 0);
42341 											{
42342 												while (1) {
42343 													tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* e;
42344 													if (!(i_4 < colontmp__3)) goto LA72;
42345 													j = i_4;
42346 													e = (*(*(*etyp).n)._kind_6.sons->data[j])._kind_4.sym;
42347 													{
42348 														if (!!(((*e).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20)))) goto LA75_;
42349 														internalErrorImpl__msgs_1431((*(*c).graph).config, (*s).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_951), TM__rF9caJawfOjYTjsgLVUSGFA_952);
42350 													}
42351 													LA75_: ;
42352 													reexportSym__semdata_717(c, e);
42353 													i_4 += ((NI) 1);
42354 												} LA72: ;
42355 											}
42356 										}
42357 									}
42358 									LA68_: ;
42359 								}
42360 								LA64_: ;
42361 							}
42362 							LA57_: ;
42363 							s = nextOverloadIter__lookups_1528((&o), c, a);
42364 						} LA46: ;
42365 					}
42366 				}
42367 				LA4_: ;
42368 				i_2 += ((NI) 1);
42369 			} LA3: ;
42370 		}
42371 	}
42372 	return result;
42373 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExportExcept__sem_19849)42374 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExportExcept__sem_19849)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
42375 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
42376 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* moduleName;
42377 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA exceptSet;
42378 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* exported;
42379 {	result = NIM_NIL;
42380 	moduleName = semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
42381 	{
42382 		NIM_BOOL T3_;
42383 		T3_ = (NIM_BOOL)0;
42384 		T3_ = !(((*moduleName).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
42385 		if (T3_) goto LA4_;
42386 		T3_ = !(((*(*moduleName)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
42387 		LA4_: ;
42388 		if (!T3_) goto LA5_;
42389 		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);
42390 		result = n;
42391 		goto BeforeRet_;
42392 	}
42393 	LA5_: ;
42394 	nimZeroMem((void*)(&exceptSet), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
42395 	readExceptSet__importer_17(c, n, (&exceptSet));
42396 	exported = (*moduleName)._kind_4.sym;
42397 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118), (*n).info);
42398 	reexportSym__semdata_717(c, exported);
42399 	{
42400 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
42401 		NIM_BOOL importHidden;
42402 		s = NIM_NIL;
42403 		importHidden = (((*exported).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
42404 		{
42405 			NIM_BOOL T10_;
42406 			tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
42407 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
42408 			T10_ = (NIM_BOOL)0;
42409 			T10_ = isCachedModule__modulegraphs_2709((*c).graph, exported);
42410 			if (!T10_) goto LA11_;
42411 			nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
42412 			r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*exported).position)), importHidden);
42413 			{
42414 				while (1) {
42415 					if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA14;
42416 					s = r;
42417 					{
42418 						NIM_BOOL T17_;
42419 						NIM_BOOL T18_;
42420 						NIM_BOOL T20_;
42421 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
42422 						T17_ = (NIM_BOOL)0;
42423 						T18_ = (NIM_BOOL)0;
42424 						T18_ = ((43513792 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
42425 						if (!(T18_)) goto LA19_;
42426 						T20_ = (NIM_BOOL)0;
42427 						T20_ = contains__astalgo_3496((&exceptSet), (*(*s).name).id);
42428 						T18_ = !(T20_);
42429 						LA19_: ;
42430 						T17_ = T18_;
42431 						if (!(T17_)) goto LA21_;
42432 						T17_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0));
42433 						LA21_: ;
42434 						if (!T17_) goto LA22_;
42435 						reexportSym__semdata_717(c, s);
42436 						T24_ = NIM_NIL;
42437 						T24_ = newSymNode__ast_3719(s, (*n).info);
42438 						add__ast_4797(result, T24_);
42439 					}
42440 					LA22_: ;
42441 					r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
42442 				} LA14: ;
42443 			}
42444 		}
42445 		goto LA8_;
42446 		LA11_: ;
42447 		{
42448 			{
42449 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_2;
42450 				tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp_;
42451 				tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
42452 				NI i;
42453 				NI L;
42454 				NI T31_;
42455 				s_2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
42456 				colontmp_ = NIM_NIL;
42457 				retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*exported).position].interf);
42458 				{
42459 					if (!importHidden) goto LA29_;
42460 					retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*exported).position].interfHidden);
42461 				}
42462 				LA29_: ;
42463 				colontmp_ = (*retX60gensym17_).data;
42464 				i = ((NI) 0);
42465 				T31_ = (colontmp_ ? colontmp_->Sup.len : 0);
42466 				L = T31_;
42467 				{
42468 					while (1) {
42469 						if (!(i < L)) goto LA33;
42470 						s_2 = &colontmp_->data[i];
42471 						{
42472 							if (!!(((*s_2) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA36_;
42473 							s = (*s_2);
42474 							{
42475 								NIM_BOOL T40_;
42476 								NIM_BOOL T41_;
42477 								NIM_BOOL T43_;
42478 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T47_;
42479 								T40_ = (NIM_BOOL)0;
42480 								T41_ = (NIM_BOOL)0;
42481 								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));
42482 								if (!(T41_)) goto LA42_;
42483 								T43_ = (NIM_BOOL)0;
42484 								T43_ = contains__astalgo_3496((&exceptSet), (*(*s).name).id);
42485 								T41_ = !(T43_);
42486 								LA42_: ;
42487 								T40_ = T41_;
42488 								if (!(T40_)) goto LA44_;
42489 								T40_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0));
42490 								LA44_: ;
42491 								if (!T40_) goto LA45_;
42492 								reexportSym__semdata_717(c, s);
42493 								T47_ = NIM_NIL;
42494 								T47_ = newSymNode__ast_3719(s, (*n).info);
42495 								add__ast_4797(result, T47_);
42496 							}
42497 							LA45_: ;
42498 						}
42499 						LA36_: ;
42500 						i += ((NI) 1);
42501 					} LA33: ;
42502 				}
42503 			}
42504 		}
42505 		LA8_: ;
42506 	}
42507 	markUsed__sigmatch_85(c, (*n).info, exported);
42508 	}BeforeRet_: ;
42509 	return result;
42510 }
N_NIMCALL(void,setLine__sem_13634)42511 N_LIB_PRIVATE N_NIMCALL(void, setLine__sem_13634)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
42512 	{
42513 		if (!!((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
42514 		{
42515 			NI i;
42516 			NI colontmp_;
42517 			NI i_2;
42518 			i = (NI)0;
42519 			colontmp_ = (NI)0;
42520 			colontmp_ = safeLen__ast_3191(n);
42521 			i_2 = ((NI) 0);
42522 			{
42523 				while (1) {
42524 					if (!(i_2 < colontmp_)) goto LA7;
42525 					i = i_2;
42526 					setLine__sem_13634((*n)._kind_6.sons->data[i], info);
42527 					i_2 += ((NI) 1);
42528 				} LA7: ;
42529 			}
42530 		}
42531 		(*n).info = info;
42532 	}
42533 	LA3_: ;
42534 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semPragmaBlock__sem_13647)42535 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semPragmaBlock__sem_13647)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
42536 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
42537 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmaList;
42538 	NI inUncheckedAssignSection;
42539 	result = NIM_NIL;
42540 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
42541 	pragmaList = (*n)._kind_6.sons->data[((NI) 0)];
42542 	pragma__pragmas_123(c, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), pragmaList, TM__rF9caJawfOjYTjsgLVUSGFA_956, NIM_TRUE);
42543 	inUncheckedAssignSection = ((NI) 0);
42544 	{
42545 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
42546 		p = NIM_NIL;
42547 		{
42548 			NI i;
42549 			NI colontmp_;
42550 			NI i_2;
42551 			i = (NI)0;
42552 			colontmp_ = (NI)0;
42553 			colontmp_ = safeLen__ast_3191(pragmaList);
42554 			i_2 = ((NI) 0);
42555 			{
42556 				while (1) {
42557 					if (!(i_2 < colontmp_)) goto LA4;
42558 					i = i_2;
42559 					p = (*pragmaList)._kind_6.sons->data[i];
42560 					{
42561 						tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T7_;
42562 						tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T10_;
42563 						T7_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
42564 						T7_ = whichPragma__trees_244(p);
42565 						if (!(T7_ == ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 9))) goto LA8_;
42566 						T10_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
42567 						T10_ = whichPragma__trees_244((*p)._kind_6.sons->data[((NI) 1)]);
42568 						switch (T10_) {
42569 						case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 110):
42570 						case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 109):
42571 						case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 179):
42572 						case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 174):
42573 						{
42574 						}
42575 						break;
42576 						case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 86):
42577 						{
42578 							inUncheckedAssignSection = ((NI) 1);
42579 						}
42580 						break;
42581 						default:
42582 						{
42583 							NimStringDesc* T14_;
42584 							NimStringDesc* T15_;
42585 							T14_ = NIM_NIL;
42586 							T15_ = NIM_NIL;
42587 							T15_ = dollar___renderer_2106(p);
42588 							T14_ = rawNewString((T15_ ? T15_->Sup.len : 0) + 22);
42589 appendString(T14_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_957));
42590 appendString(T14_, T15_);
42591 							liMessage__msgs_1118((*(*c).graph).config, (*p).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T14_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_958, NIM_FALSE);
42592 						}
42593 						break;
42594 						}
42595 					}
42596 					LA8_: ;
42597 					i_2 += ((NI) 1);
42598 				} LA4: ;
42599 			}
42600 		}
42601 	}
42602 	(*c).inUncheckedAssignSection += inUncheckedAssignSection;
42603 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 1)], 0));
42604 	(*c).inUncheckedAssignSection -= inUncheckedAssignSection;
42605 	result = n;
42606 	asgnRef((void**) (&(*result).typ), (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
42607 	{
42608 		NI i_3;
42609 		NI colontmp__2;
42610 		NI i_4;
42611 		i_3 = (NI)0;
42612 		colontmp__2 = (NI)0;
42613 		colontmp__2 = len__ast_3198(pragmaList);
42614 		i_4 = ((NI) 0);
42615 		{
42616 			while (1) {
42617 				tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T19_;
42618 				if (!(i_4 < colontmp__2)) goto LA18;
42619 				i_3 = i_4;
42620 				T19_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
42621 				T19_ = whichPragma__trees_244((*pragmaList)._kind_6.sons->data[i_3]);
42622 				switch (T19_) {
42623 				case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 127):
42624 				{
42625 					setLine__sem_13634(result, (*(*pragmaList)._kind_6.sons->data[i_3]).info);
42626 				}
42627 				break;
42628 				case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 190):
42629 				{
42630 					(*result).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 6)) & 31);
42631 				}
42632 				break;
42633 				default:
42634 				{
42635 				}
42636 				break;
42637 				}
42638 				i_4 += ((NI) 1);
42639 			} LA18: ;
42640 		}
42641 	}
42642 	return result;
42643 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semStaticStmt__sem_13685)42644 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStaticStmt__sem_13685)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
42645 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
42646 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
42647 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
42648 	result = NIM_NIL;
42649 	(*c).inStaticContext += ((NI) 1);
42650 	T1_ = NIM_NIL;
42651 	T1_ = openScope__lookups_69(c);
42652 	a = semStmt__sem_84(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
42653 	closeScope__lookups_101(c);
42654 	(*c).inStaticContext -= ((NI) 1);
42655 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), a);
42656 	evalStaticStmt__vm_13759((*c).module, (*c).Sup.idgen, (*c).graph, a, (*(*c).p).owner);
42657 	result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114), (*n).info, ((NI) 1));
42658 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), (*(*c).graph).emptyNode);
42659 	return result;
42660 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExpr__sem_52)42661 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExpr__sem_52)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
42662 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
42663 {	result = NIM_NIL;
42664 	result = n;
42665 	{
42666 		if (!((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11))) goto LA3_;
42667 		suggestExpr__sigmatch_6536(c, n);
42668 	}
42669 	LA3_: ;
42670 	{
42671 		if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0)) goto LA7_;
42672 		goto BeforeRet_;
42673 	}
42674 	LA7_: ;
42675 	switch ((*n).kind) {
42676 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
42677 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
42678 	{
42679 		tySet_tyEnum_TLookupFlag__ObWMY5GMSl1GiMcrKaAhKQ checks;
42680 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
42681 		{
42682 			if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 14))&31U)))!=0)) goto LA12_;
42683 			checks = 10;
42684 		}
42685 		goto LA10_;
42686 		LA12_: ;
42687 		{
42688 			if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 15))&31U)))!=0)) goto LA15_;
42689 			checks = 14;
42690 		}
42691 		goto LA10_;
42692 		LA15_: ;
42693 		{
42694 			checks = 15;
42695 		}
42696 		LA10_: ;
42697 		s = qualifiedLookUp__lookups_1233(c, n, checks);
42698 		{
42699 			if (!((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL))) goto LA20_;
42700 			semCaptureSym__lambdalifting_4995(s, (*(*c).p).owner);
42701 		}
42702 		LA20_: ;
42703 		switch ((*s).kind) {
42704 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12):
42705 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13):
42706 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14):
42707 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
42708 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
42709 		{
42710 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
42711 			{
42712 				if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA25_;
42713 				markIndirect__semdata_1060(c, (*result)._kind_4.sym);
42714 			}
42715 			LA25_: ;
42716 			{
42717 				if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0)) goto LA29_;
42718 				asgnRef((void**) (&(*result).typ), makeVarType__semdata_766(c, (*result).typ, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
42719 			}
42720 			LA29_: ;
42721 		}
42722 		break;
42723 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20):
42724 		{
42725 			{
42726 				if (!(((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 15))&31U)))!=0)) goto LA34_;
42727 				result = enumFieldSymChoice__sem_20195(c, n, s);
42728 			}
42729 			goto LA32_;
42730 			LA34_: ;
42731 			{
42732 				result = semSym__sem_16966(c, n, s, flags);
42733 			}
42734 			LA32_: ;
42735 		}
42736 		break;
42737 		default:
42738 		{
42739 			result = semSym__sem_16966(c, n, s, flags);
42740 		}
42741 		break;
42742 		}
42743 	}
42744 	break;
42745 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
42746 	{
42747 		result = semSym__sem_16966(c, n, (*n)._kind_4.sym, flags);
42748 	}
42749 	break;
42750 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
42751 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0):
42752 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
42753 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
42754 	{
42755 	}
42756 	break;
42757 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
42758 	{
42759 		{
42760 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA43_;
42761 			asgnRef((void**) (&(*result).typ), getNilType__sem_20188(c));
42762 		}
42763 		LA43_: ;
42764 	}
42765 	break;
42766 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6):
42767 	{
42768 		{
42769 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA48_;
42770 			setIntLitType__semdata_245(c, result);
42771 		}
42772 		LA48_: ;
42773 	}
42774 	break;
42775 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 7):
42776 	{
42777 		{
42778 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA53_;
42779 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32)));
42780 		}
42781 		LA53_: ;
42782 	}
42783 	break;
42784 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 8):
42785 	{
42786 		{
42787 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA58_;
42788 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33)));
42789 		}
42790 		LA58_: ;
42791 	}
42792 	break;
42793 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 9):
42794 	{
42795 		{
42796 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA63_;
42797 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34)));
42798 		}
42799 		LA63_: ;
42800 	}
42801 	break;
42802 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10):
42803 	{
42804 		{
42805 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA68_;
42806 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35)));
42807 		}
42808 		LA68_: ;
42809 	}
42810 	break;
42811 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 11):
42812 	{
42813 		{
42814 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA73_;
42815 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40)));
42816 		}
42817 		LA73_: ;
42818 	}
42819 	break;
42820 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 12):
42821 	{
42822 		{
42823 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA78_;
42824 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41)));
42825 		}
42826 		LA78_: ;
42827 	}
42828 	break;
42829 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 13):
42830 	{
42831 		{
42832 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA83_;
42833 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42)));
42834 		}
42835 		LA83_: ;
42836 	}
42837 	break;
42838 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 14):
42839 	{
42840 		{
42841 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA88_;
42842 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43)));
42843 		}
42844 		LA88_: ;
42845 	}
42846 	break;
42847 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
42848 	{
42849 		{
42850 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA93_;
42851 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44)));
42852 		}
42853 		LA93_: ;
42854 	}
42855 	break;
42856 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 17):
42857 	{
42858 		{
42859 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA98_;
42860 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37)));
42861 		}
42862 		LA98_: ;
42863 	}
42864 	break;
42865 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
42866 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16):
42867 	{
42868 		{
42869 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA103_;
42870 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38)));
42871 		}
42872 		LA103_: ;
42873 	}
42874 	break;
42875 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19):
42876 	{
42877 		{
42878 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA108_;
42879 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39)));
42880 		}
42881 		LA108_: ;
42882 	}
42883 	break;
42884 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
42885 	{
42886 		{
42887 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA113_;
42888 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
42889 		}
42890 		LA113_: ;
42891 	}
42892 	break;
42893 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5):
42894 	{
42895 		{
42896 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA118_;
42897 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2)));
42898 		}
42899 		LA118_: ;
42900 	}
42901 	break;
42902 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
42903 	{
42904 		result = semFieldAccess__sem_13894(c, n, flags);
42905 		{
42906 			if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 25))) goto LA123_;
42907 			transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 27));
42908 			result = semExpr__sem_52(c, result, flags);
42909 		}
42910 		LA123_: ;
42911 	}
42912 	break;
42913 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 55):
42914 	{
42915 		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);
42916 		result = semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
42917 	}
42918 	break;
42919 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
42920 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 134):
42921 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 135):
42922 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150):
42923 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 137):
42924 	{
42925 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
42926 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T147_;
42927 		{
42928 			NIM_BOOL T129_;
42929 			NI T131_;
42930 			tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag modifier;
42931 			T129_ = (NIM_BOOL)0;
42932 			T129_ = !(((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)));
42933 			if (!(T129_)) goto LA130_;
42934 			T131_ = (NI)0;
42935 			T131_ = len__ast_3198(n);
42936 			T129_ = (T131_ == ((NI) 1));
42937 			LA130_: ;
42938 			if (!T129_) goto LA132_;
42939 			switch ((*n).kind) {
42940 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 143):
42941 			{
42942 				modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23);
42943 			}
42944 			break;
42945 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141):
42946 			{
42947 				modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22);
42948 			}
42949 			break;
42950 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 142):
42951 			{
42952 				modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21);
42953 			}
42954 			break;
42955 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 137):
42956 			{
42957 				modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60);
42958 			}
42959 			break;
42960 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
42961 			{
42962 				modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8);
42963 			}
42964 			break;
42965 			default:
42966 			{
42967 				modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0);
42968 			}
42969 			break;
42970 			}
42971 			{
42972 				tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType;
42973 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T144_;
42974 				tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T145_;
42975 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T146_;
42976 				if (!!((modifier == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA142_;
42977 				T144_ = NIM_NIL;
42978 				T144_ = semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
42979 				baseType = skipTypes__ast_3735((*T144_).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123);
42980 				T145_ = NIM_NIL;
42981 				T145_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
42982 				asgnRef((void**) (&T145_->data[0]), baseType);
42983 				T146_ = NIM_NIL;
42984 				T146_ = newTypeWithSons__semdata_821(c, modifier, T145_);
42985 				asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, T146_));
42986 				goto BeforeRet_;
42987 			}
42988 			LA142_: ;
42989 		}
42990 		LA132_: ;
42991 		T147_ = NIM_NIL;
42992 		T147_ = semTypeNode__sem_80(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
42993 		typ = skipTypes__ast_3735(T147_, TM__rF9caJawfOjYTjsgLVUSGFA_123);
42994 		asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, typ));
42995 	}
42996 	break;
42997 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 128):
42998 	{
42999 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ_2;
43000 		typ_2 = semTypeNode__sem_80(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
43001 		asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, typ_2));
43002 	}
43003 	break;
43004 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27):
43005 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29):
43006 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30):
43007 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
43008 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26):
43009 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28):
43010 	{
43011 		tySet_tyEnum_TLookupFlag__ObWMY5GMSl1GiMcrKaAhKQ mode;
43012 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
43013 		checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
43014 		{
43015 			if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 9))&31U)))!=0)) goto LA152_;
43016 			mode = 0;
43017 		}
43018 		goto LA150_;
43019 		LA152_: ;
43020 		{
43021 			mode = 2;
43022 		}
43023 		LA150_: ;
43024 		(*c).isAmbiguous = NIM_FALSE;
43025 		s_2 = qualifiedLookUp__lookups_1233(c, (*n)._kind_6.sons->data[((NI) 0)], mode);
43026 		{
43027 			if (!!((s_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA157_;
43028 			switch ((*s_2).kind) {
43029 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
43030 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
43031 			{
43032 				result = semDirectOp__sem_511(c, n, flags);
43033 			}
43034 			break;
43035 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
43036 			{
43037 				NIM_BOOL ambig;
43038 				ambig = (*c).isAmbiguous;
43039 				{
43040 					NIM_BOOL T163_;
43041 					NIM_BOOL T164_;
43042 					NI T167_;
43043 					T163_ = (NIM_BOOL)0;
43044 					T164_ = (NIM_BOOL)0;
43045 					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));
43046 					if (!(T164_)) goto LA165_;
43047 					T164_ = ambig;
43048 					LA165_: ;
43049 					T163_ = !(T164_);
43050 					if (!(T163_)) goto LA166_;
43051 					T167_ = (NI)0;
43052 					T167_ = len__ast_3198(n);
43053 					T163_ = (T167_ == ((NI) 2));
43054 					LA166_: ;
43055 					if (!T163_) goto LA168_;
43056 					result = semConv__sem_14395(c, n);
43057 				}
43058 				goto LA161_;
43059 				LA168_: ;
43060 				{
43061 					NIM_BOOL T171_;
43062 					NI T173_;
43063 					T171_ = (NIM_BOOL)0;
43064 					T171_ = ambig;
43065 					if (!(T171_)) goto LA172_;
43066 					T173_ = (NI)0;
43067 					T173_ = len__ast_3198(n);
43068 					T171_ = (T173_ == ((NI) 1));
43069 					LA172_: ;
43070 					if (!T171_) goto LA174_;
43071 					errorUseQualifier__lookups_1180(c, (*n).info, s_2);
43072 				}
43073 				goto LA161_;
43074 				LA174_: ;
43075 				{
43076 					NI T177_;
43077 					T177_ = (NI)0;
43078 					T177_ = len__ast_3198(n);
43079 					if (!(T177_ == ((NI) 1))) goto LA178_;
43080 					result = semObjConstr__sem_16471(c, n, flags);
43081 				}
43082 				goto LA161_;
43083 				LA178_: ;
43084 				{
43085 					if (!((*s_2).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0))) goto LA181_;
43086 					result = semDirectOp__sem_511(c, n, flags);
43087 				}
43088 				goto LA161_;
43089 				LA181_: ;
43090 				{
43091 					result = semMagic__sem_18565(c, n, s_2, flags);
43092 				}
43093 				LA161_: ;
43094 			}
43095 			break;
43096 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12):
43097 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13):
43098 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14):
43099 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
43100 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
43101 			{
43102 				{
43103 					if (!((*s_2).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0))) goto LA187_;
43104 					result = semDirectOp__sem_511(c, n, flags);
43105 				}
43106 				goto LA185_;
43107 				LA187_: ;
43108 				{
43109 					result = semMagic__sem_18565(c, n, s_2, flags);
43110 				}
43111 				LA185_: ;
43112 			}
43113 			break;
43114 			default:
43115 			{
43116 				result = semIndirectOp__sem_16548(c, n, flags);
43117 			}
43118 			break;
43119 			}
43120 		}
43121 		goto LA155_;
43122 		LA157_: ;
43123 		{
43124 			NIM_BOOL T192_;
43125 			NIM_BOOL T193_;
43126 			T192_ = (NIM_BOOL)0;
43127 			T193_ = (NIM_BOOL)0;
43128 			T193_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
43129 			if (T193_) goto LA194_;
43130 			T193_ = shouldBeBracketExpr__sem_20029(n);
43131 			LA194_: ;
43132 			T192_ = T193_;
43133 			if (!(T192_)) goto LA195_;
43134 			T192_ = isSymChoice__sem_14366((*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]);
43135 			LA195_: ;
43136 			if (!T192_) goto LA196_;
43137 			setGenericParams__sem_16507(c, (*n)._kind_6.sons->data[((NI) 0)]);
43138 			result = semDirectOp__sem_511(c, n, flags);
43139 		}
43140 		goto LA155_;
43141 		LA196_: ;
43142 		{
43143 			if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 9))&31U)))!=0)) goto LA199_;
43144 			result = semDirectOp__sem_511(c, n, flags);
43145 		}
43146 		goto LA155_;
43147 		LA199_: ;
43148 		{
43149 			NIM_BOOL T202_;
43150 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
43151 			T202_ = (NIM_BOOL)0;
43152 			T202_ = isSymChoice__sem_14366((*n)._kind_6.sons->data[((NI) 0)]);
43153 			if (!T202_) goto LA203_;
43154 			b = asBracketExpr__sem_20084(c, n);
43155 			{
43156 				if (!!((b == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA207_;
43157 				result = semExpr__sem_52(c, b, flags);
43158 			}
43159 			goto LA205_;
43160 			LA207_: ;
43161 			{
43162 				result = semDirectOp__sem_511(c, n, flags);
43163 			}
43164 			LA205_: ;
43165 		}
43166 		goto LA155_;
43167 		LA203_: ;
43168 		{
43169 			result = semIndirectOp__sem_16548(c, n, flags);
43170 		}
43171 		LA155_: ;
43172 		{
43173 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* hoistedParams;
43174 			tyArray__AB6yfoUgfWM2NtGe9bzkCmw T218_;
43175 			if (!(((*result).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19))&31U)))!=0)) goto LA213_;
43176 			result = copyTree__ast_4431(result);
43177 			hoistedParams = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100), (*result).info);
43178 			{
43179 				NI i;
43180 				NI colontmp_;
43181 				NI i_2;
43182 				i = (NI)0;
43183 				colontmp_ = (NI)0;
43184 				colontmp_ = len__ast_3198(result);
43185 				i_2 = ((NI) 1);
43186 				{
43187 					while (1) {
43188 						if (!(i_2 < colontmp_)) goto LA217;
43189 						i = i_2;
43190 						hoistParamsUsedInDefault__sem_20149(c, &result, &hoistedParams, &(*result)._kind_6.sons->data[i]);
43191 						i_2 += ((NI) 1);
43192 					} LA217: ;
43193 				}
43194 			}
43195 			nimZeroMem((void*)T218_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
43196 			T218_[0] = hoistedParams;
43197 			T218_[1] = result;
43198 			result = newTreeIT__ast_3431(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*result).info, (*result).typ, T218_, 2);
43199 		}
43200 		LA213_: ;
43201 	}
43202 	break;
43203 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
43204 	{
43205 		{
43206 			if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 7))&31U)))!=0)) goto LA222_;
43207 			result = semWhen__sem_515(c, n, NIM_TRUE);
43208 		}
43209 		goto LA220_;
43210 		LA222_: ;
43211 		{
43212 			result = semWhen__sem_515(c, n, NIM_FALSE);
43213 			{
43214 				if (!(result == n)) goto LA227_;
43215 				result = semWhen__sem_515(c, n, NIM_TRUE);
43216 			}
43217 			goto LA225_;
43218 			LA227_: ;
43219 			{
43220 				result = semExpr__sem_52(c, result, flags);
43221 			}
43222 			LA225_: ;
43223 		}
43224 		LA220_: ;
43225 	}
43226 	break;
43227 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
43228 	{
43229 		checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
43230 		result = semArrayAccess__sem_17529(c, n, flags);
43231 	}
43232 	break;
43233 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
43234 	{
43235 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T232_;
43236 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T233_;
43237 		T232_ = NIM_NIL;
43238 		T232_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_127));
43239 		T233_ = NIM_NIL;
43240 		T233_ = buildOverloadedSubscripts__sem_17343(n, T232_);
43241 		result = semExpr__sem_52(c, T233_, flags);
43242 	}
43243 	break;
43244 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
43245 	{
43246 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragma;
43247 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* pragmaName;
43248 		tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags_2;
43249 		tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg finalNodeFlags;
43250 		tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T235_;
43251 		pragma = (*n)._kind_6.sons->data[((NI) 1)];
43252 		pragmaName = considerQuotedIdent__lookups_28(c, (*pragma)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
43253 		flags_2 = flags;
43254 		finalNodeFlags = 0;
43255 		T235_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
43256 		T235_ = whichKeyword__idents_214(pragmaName);
43257 		switch (T235_) {
43258 		case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 223):
43259 		{
43260 			flags_2 |= ((NU32)1)<<((((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10)) & 31);
43261 		}
43262 		break;
43263 		case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 166):
43264 		{
43265 			finalNodeFlags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 20)) & 31);
43266 		}
43267 		break;
43268 		default:
43269 		{
43270 			invalidPragma__pragmas_148(c, n);
43271 		}
43272 		break;
43273 		}
43274 		result = semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], flags_2);
43275 		(*result).flags = ((*result).flags | finalNodeFlags);
43276 	}
43277 	break;
43278 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
43279 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
43280 	{
43281 		tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg T240_;
43282 		T240_ = (tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg)0;
43283 		T240_ = checkPar__sem_18916(c, n);
43284 		switch (T240_) {
43285 		case ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 0):
43286 		{
43287 			result = errorNode__semdata_1009(c, n);
43288 		}
43289 		break;
43290 		case ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 3):
43291 		{
43292 			result = semTupleConstr__sem_19999(c, n, flags);
43293 		}
43294 		break;
43295 		case ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 2):
43296 		{
43297 			result = semTupleFieldsConstr__sem_18980(c, n, flags);
43298 		}
43299 		break;
43300 		case ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 1):
43301 		{
43302 			result = semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
43303 		}
43304 		break;
43305 		}
43306 	}
43307 	break;
43308 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
43309 	{
43310 		result = semSetConstr__sem_18756(c, n);
43311 	}
43312 	break;
43313 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
43314 	{
43315 		result = semArrayConstr__sem_14893(c, n, flags);
43316 	}
43317 	break;
43318 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
43319 	{
43320 		result = semObjConstr__sem_16471(c, n, flags);
43321 	}
43322 	break;
43323 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
43324 	{
43325 		result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12), TM__rF9caJawfOjYTjsgLVUSGFA_736, flags);
43326 	}
43327 	break;
43328 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
43329 	{
43330 		result = semDeref__sem_17356(c, n);
43331 	}
43332 	break;
43333 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
43334 	{
43335 		result = n;
43336 		checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
43337 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), semAddrArg__sem_15262(c, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE));
43338 		asgnRef((void**) (&(*result).typ), makePtrType__semdata_742(c, (*(*result)._kind_6.sons->data[((NI) 0)]).typ));
43339 	}
43340 	break;
43341 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
43342 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
43343 	{
43344 		checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
43345 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], flags));
43346 	}
43347 	break;
43348 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
43349 	{
43350 		result = semCast__sem_14524(c, n);
43351 	}
43352 	break;
43353 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
43354 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
43355 	{
43356 		result = semIf__sem_9366(c, n, flags);
43357 	}
43358 	break;
43359 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
43360 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
43361 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
43362 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
43363 	{
43364 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
43365 		considerGenSyms__semdata_425(c, n);
43366 	}
43367 	break;
43368 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71):
43369 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72):
43370 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
43371 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
43372 	{
43373 		checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
43374 		considerGenSyms__semdata_425(c, n);
43375 	}
43376 	break;
43377 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
43378 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
43379 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
43380 	{
43381 		checkSonsLen__semdata_1077(n, ((NI) 3), (*(*c).graph).config);
43382 		considerGenSyms__semdata_425(c, n);
43383 	}
43384 	break;
43385 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
43386 	{
43387 		checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
43388 		considerGenSyms__semdata_425(c, n);
43389 	}
43390 	break;
43391 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 54):
43392 	{
43393 		result = semTableConstr__sem_18848(c, n);
43394 	}
43395 	break;
43396 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
43397 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
43398 	{
43399 	}
43400 	break;
43401 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 62):
43402 	{
43403 		result = semStaticExpr__sem_125(c, (*n)._kind_6.sons->data[((NI) 0)]);
43404 	}
43405 	break;
43406 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
43407 	{
43408 		result = semAsgn__sem_15307(c, n, ((tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ) 0));
43409 	}
43410 	break;
43411 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
43412 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
43413 	{
43414 		result = semBlock__sem_19802(c, n, flags);
43415 	}
43416 	break;
43417 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
43418 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
43419 	{
43420 		result = semStmtList__sem_13731(c, n, flags);
43421 	}
43422 	break;
43423 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
43424 	{
43425 		result = semRaise__sem_11562(c, n);
43426 	}
43427 	break;
43428 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
43429 	{
43430 		result = semVarOrLet__sem_10066(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
43431 	}
43432 	break;
43433 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
43434 	{
43435 		result = semVarOrLet__sem_10066(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9));
43436 	}
43437 	break;
43438 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
43439 	{
43440 		result = semConst__sem_10429(c, n);
43441 	}
43442 	break;
43443 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
43444 	{
43445 		result = semTypeSection__sem_12312(c, n);
43446 	}
43447 	break;
43448 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
43449 	{
43450 		result = semDiscard__sem_9153(c, n);
43451 	}
43452 	break;
43453 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
43454 	{
43455 		result = semWhile__sem_9234(c, n, flags);
43456 	}
43457 	break;
43458 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
43459 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
43460 	{
43461 		result = semTry__sem_9422(c, n, flags);
43462 	}
43463 	break;
43464 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
43465 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111):
43466 	{
43467 		result = semBreakOrContinue__sem_9185(c, n);
43468 	}
43469 	break;
43470 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
43471 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
43472 	{
43473 		result = semFor__sem_11337(c, n, flags);
43474 	}
43475 	break;
43476 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
43477 	{
43478 		result = semCase__sem_11453(c, n, flags);
43479 	}
43480 	break;
43481 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
43482 	{
43483 		result = semReturn__sem_17871(c, n);
43484 	}
43485 	break;
43486 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 124):
43487 	{
43488 		result = semUsing__sem_9768(c, n);
43489 	}
43490 	break;
43491 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 89):
43492 	{
43493 		result = semAsm__sem_9228(c, n);
43494 	}
43495 	break;
43496 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104):
43497 	{
43498 		result = semYield__sem_18051(c, n);
43499 	}
43500 	break;
43501 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
43502 	{
43503 		pragma__pragmas_123(c, (*(*c).p).owner, n, TM__rF9caJawfOjYTjsgLVUSGFA_917, NIM_TRUE);
43504 	}
43505 	break;
43506 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
43507 	{
43508 		result = semIterator__sem_13400(c, n);
43509 	}
43510 	break;
43511 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
43512 	{
43513 		result = semProc__sem_9261(c, n);
43514 	}
43515 	break;
43516 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
43517 	{
43518 		result = semFunc__sem_13456(c, n);
43519 	}
43520 	break;
43521 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
43522 	{
43523 		result = semMethod__sem_13466(c, n);
43524 	}
43525 	break;
43526 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
43527 	{
43528 		result = semConverterDef__sem_13501(c, n);
43529 	}
43530 	break;
43531 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
43532 	{
43533 		result = semMacroDef__sem_13520(c, n);
43534 	}
43535 	break;
43536 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
43537 	{
43538 		result = semTemplateDef__sem_7666(c, n);
43539 	}
43540 	break;
43541 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
43542 	{
43543 		{
43544 			NimStringDesc* T292_;
43545 			if (!((NI)(((NI) 2) + (*c).compilesContextId) < (*(*c).currentScope).depthLevel)) goto LA290_;
43546 			T292_ = NIM_NIL;
43547 			T292_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_935));
43548 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T292_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_936, NIM_FALSE);
43549 		}
43550 		LA290_: ;
43551 		result = evalImport__importer_3854(c, n);
43552 	}
43553 	break;
43554 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 117):
43555 	{
43556 		{
43557 			NIM_BOOL T296_;
43558 			NimStringDesc* T299_;
43559 			T296_ = (NIM_BOOL)0;
43560 			T296_ = isTopLevel__semdata_1091(c);
43561 			if (!!(T296_)) goto LA297_;
43562 			T299_ = NIM_NIL;
43563 			T299_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_935));
43564 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T299_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_937, NIM_FALSE);
43565 		}
43566 		LA297_: ;
43567 		result = evalImportExcept__importer_3935(c, n);
43568 	}
43569 	break;
43570 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 120):
43571 	{
43572 		{
43573 			NIM_BOOL T303_;
43574 			NimStringDesc* T306_;
43575 			T303_ = (NIM_BOOL)0;
43576 			T303_ = isTopLevel__semdata_1091(c);
43577 			if (!!(T303_)) goto LA304_;
43578 			T306_ = NIM_NIL;
43579 			T306_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_938));
43580 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T306_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_939, NIM_FALSE);
43581 		}
43582 		LA304_: ;
43583 		result = evalFrom__importer_3909(c, n);
43584 	}
43585 	break;
43586 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
43587 	{
43588 		result = evalInclude__sem_13575(c, n);
43589 	}
43590 	break;
43591 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
43592 	{
43593 		{
43594 			NIM_BOOL T311_;
43595 			NimStringDesc* T314_;
43596 			T311_ = (NIM_BOOL)0;
43597 			T311_ = isTopLevel__semdata_1091(c);
43598 			if (!!(T311_)) goto LA312_;
43599 			T314_ = NIM_NIL;
43600 			T314_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_115));
43601 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T314_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_946, NIM_FALSE);
43602 		}
43603 		LA312_: ;
43604 		result = semExport__sem_19888(c, n);
43605 	}
43606 	break;
43607 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 119):
43608 	{
43609 		{
43610 			NIM_BOOL T318_;
43611 			NimStringDesc* T321_;
43612 			T318_ = (NIM_BOOL)0;
43613 			T318_ = isTopLevel__semdata_1091(c);
43614 			if (!!(T318_)) goto LA319_;
43615 			T321_ = NIM_NIL;
43616 			T321_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_115));
43617 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T321_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_953, NIM_FALSE);
43618 		}
43619 		LA319_: ;
43620 		result = semExportExcept__sem_19849(c, n);
43621 	}
43622 	break;
43623 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
43624 	{
43625 		result = semPragmaBlock__sem_13647(c, n);
43626 	}
43627 	break;
43628 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
43629 	{
43630 		result = semStaticStmt__sem_13685(c, n);
43631 	}
43632 	break;
43633 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 105):
43634 	{
43635 		{
43636 			if (!((*c).currentScope == (*c).topLevelScope)) goto LA327_;
43637 			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);
43638 		}
43639 		LA327_: ;
43640 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], 0));
43641 		{
43642 			NIM_BOOL T331_;
43643 			NIM_BOOL T332_;
43644 			NIM_BOOL T334_;
43645 			T331_ = (NIM_BOOL)0;
43646 			T332_ = (NIM_BOOL)0;
43647 			T332_ = isEmptyType__ast_4779((*(*n)._kind_6.sons->data[((NI) 0)]).typ);
43648 			T331_ = !(T332_);
43649 			if (!(T331_)) goto LA333_;
43650 			T334_ = (NIM_BOOL)0;
43651 			T334_ = implicitlyDiscardable__sem_9282((*n)._kind_6.sons->data[((NI) 0)]);
43652 			T331_ = !(T334_);
43653 			LA333_: ;
43654 			if (!T331_) goto LA335_;
43655 			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);
43656 		}
43657 		LA335_: ;
43658 	}
43659 	break;
43660 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
43661 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 157):
43662 	{
43663 		{
43664 			NIM_BOOL T340_;
43665 			NI T341_;
43666 			NI T343_;
43667 			T340_ = (NIM_BOOL)0;
43668 			T341_ = (NI)0;
43669 			T341_ = len__ast_3198(n);
43670 			T340_ = !((T341_ == ((NI) 1)));
43671 			if (!(T340_)) goto LA342_;
43672 			T343_ = (NI)0;
43673 			T343_ = len__ast_3198(n);
43674 			T340_ = !((T343_ == ((NI) 2)));
43675 			LA342_: ;
43676 			if (!T340_) goto LA344_;
43677 			illFormedAst__semdata_1071(n, (*(*c).graph).config);
43678 		}
43679 		LA344_: ;
43680 		{
43681 			NI i_3;
43682 			NI colontmp__2;
43683 			NI i_4;
43684 			i_3 = (NI)0;
43685 			colontmp__2 = (NI)0;
43686 			colontmp__2 = len__ast_3198(n);
43687 			i_4 = ((NI) 0);
43688 			{
43689 				while (1) {
43690 					if (!(i_4 < colontmp__2)) goto LA348;
43691 					i_3 = i_4;
43692 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_3]), semExpr__sem_52(c, (*n)._kind_6.sons->data[i_3], 0));
43693 					i_4 += ((NI) 1);
43694 				} LA348: ;
43695 			}
43696 		}
43697 	}
43698 	break;
43699 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24):
43700 	{
43701 	}
43702 	break;
43703 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
43704 	{
43705 	}
43706 	break;
43707 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
43708 	{
43709 		{
43710 			if (!!(((*c).p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)))) goto LA354_;
43711 			{
43712 				NIM_BOOL T358_;
43713 				NI T359_;
43714 				NI T363_;
43715 				T358_ = (NIM_BOOL)0;
43716 				T359_ = (NI)0;
43717 				T359_ = len__ast_3198(n);
43718 				T358_ = (((NI) 0) < T359_);
43719 				if (!(T358_)) goto LA360_;
43720 				T358_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
43721 				LA360_: ;
43722 				if (!T358_) goto LA361_;
43723 				asgnRef((void**) (&(*(*c).p).localBindStmts), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*(*c).p).localBindStmts), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
43724 				T363_ = (*(*c).p).localBindStmts->Sup.len++;
43725 				asgnRef((void**) (&(*(*c).p).localBindStmts->data[T363_]), n);
43726 			}
43727 			LA361_: ;
43728 		}
43729 		goto LA352_;
43730 		LA354_: ;
43731 		{
43732 			NimStringDesc* T365_;
43733 			NimStringDesc* T366_;
43734 			T365_ = NIM_NIL;
43735 			T366_ = NIM_NIL;
43736 			T366_ = renderTree__renderer_46(n, 4);
43737 			T365_ = rawNewString((T366_ ? T366_->Sup.len : 0) + 38);
43738 appendString(T365_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_963));
43739 appendString(T365_, T366_);
43740 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T365_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_964, NIM_FALSE);
43741 		}
43742 		LA352_: ;
43743 	}
43744 	break;
43745 	default:
43746 	{
43747 		NimStringDesc* T368_;
43748 		NimStringDesc* T369_;
43749 		T368_ = NIM_NIL;
43750 		T369_ = NIM_NIL;
43751 		T369_ = renderTree__renderer_46(n, 4);
43752 		T368_ = rawNewString((T369_ ? T369_->Sup.len : 0) + 20);
43753 appendString(T368_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_965));
43754 appendString(T368_, T369_);
43755 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T368_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_966, NIM_FALSE);
43756 	}
43757 	break;
43758 	}
43759 	{
43760 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA372_;
43761 		(*result).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7)) & 31);
43762 	}
43763 	LA372_: ;
43764 	}BeforeRet_: ;
43765 	return result;
43766 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprCheck__sem_13933)43767 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprCheck__sem_13933)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
43768 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
43769 	NIM_BOOL isEmpty;
43770 	NIM_BOOL isTypeError;
43771 	NIM_BOOL T5_;
43772 	result = NIM_NIL;
43773 	{
43774 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA3_;
43775 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
43776 	}
43777 	LA3_: ;
43778 	result = semExpr__sem_52(c, n, (flags | 2048));
43779 	isEmpty = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
43780 	T5_ = (NIM_BOOL)0;
43781 	T5_ = !(((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
43782 	if (!(T5_)) goto LA6_;
43783 	T5_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
43784 	LA6_: ;
43785 	isTypeError = T5_;
43786 	{
43787 		NIM_BOOL T9_;
43788 		NimStringDesc* T13_;
43789 		NimStringDesc* T14_;
43790 		T9_ = (NIM_BOOL)0;
43791 		T9_ = isEmpty;
43792 		if (T9_) goto LA10_;
43793 		T9_ = isTypeError;
43794 		LA10_: ;
43795 		if (!T9_) goto LA11_;
43796 		T13_ = NIM_NIL;
43797 		T13_ = renderTree__renderer_46(result, 4);
43798 		T14_ = NIM_NIL;
43799 		T14_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_864), T13_);
43800 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T14_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_967, NIM_FALSE);
43801 	}
43802 	LA11_: ;
43803 	{
43804 		if (!isEmpty) goto LA17_;
43805 		result = errorNode__semdata_1009(c, n);
43806 	}
43807 	LA17_: ;
43808 	return result;
43809 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprWithType__sem_56)43810 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprWithType__sem_56)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
43811 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
43812 	result = NIM_NIL;
43813 	result = semExprCheck__sem_13933(c, n, flags);
43814 	{
43815 		NIM_BOOL T3_;
43816 		T3_ = (NIM_BOOL)0;
43817 		T3_ = ((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
43818 		if (!(T3_)) goto LA4_;
43819 		T3_ = ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0);
43820 		LA4_: ;
43821 		if (!T3_) goto LA5_;
43822 		asgnRef((void**) (&(*result).typ), (*c).voidType);
43823 	}
43824 	goto LA1_;
43825 	LA5_: ;
43826 	{
43827 		NIM_BOOL T8_;
43828 		NimStringDesc* T12_;
43829 		NimStringDesc* T13_;
43830 		T8_ = (NIM_BOOL)0;
43831 		T8_ = ((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
43832 		if (T8_) goto LA9_;
43833 		T8_ = ((*result).typ == (*c).enforceVoidContext);
43834 		LA9_: ;
43835 		if (!T8_) goto LA10_;
43836 		T12_ = NIM_NIL;
43837 		T12_ = renderTree__renderer_46(result, 4);
43838 		T13_ = NIM_NIL;
43839 		T13_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_864), T12_);
43840 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T13_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_968, NIM_FALSE);
43841 		asgnRef((void**) (&(*result).typ), errorType__semdata_1002(c));
43842 	}
43843 	goto LA1_;
43844 	LA10_: ;
43845 	{
43846 		if (!((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50))) goto LA15_;
43847 		asgnRef((void**) (&(*result).typ), errorType__semdata_1002(c));
43848 	}
43849 	goto LA1_;
43850 	LA15_: ;
43851 	{
43852 		{
43853 			if (!((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA20_;
43854 			result = newDeref__lowerings_11(result);
43855 		}
43856 		LA20_: ;
43857 	}
43858 	LA1_: ;
43859 	return result;
43860 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConstExpr__sem_611)43861 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConstExpr__sem_611)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
43862 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
43863 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
43864 {	result = NIM_NIL;
43865 	e = semExprWithType__sem_56(c, n, 0);
43866 	{
43867 		if (!(e == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
43868 		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);
43869 		result = n;
43870 		goto BeforeRet_;
43871 	}
43872 	LA3_: ;
43873 	{
43874 		NIM_BOOL T7_;
43875 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T9_;
43876 		T7_ = (NIM_BOOL)0;
43877 		T7_ = ((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57));
43878 		if (!(T7_)) goto LA8_;
43879 		T9_ = NIM_NIL;
43880 		T9_ = skipTypes__ast_3735((*(*e)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
43881 		T7_ = ((*T9_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
43882 		LA8_: ;
43883 		if (!T7_) goto LA10_;
43884 		result = e;
43885 		goto BeforeRet_;
43886 	}
43887 	LA10_: ;
43888 	result = getConstExpr__semfold_81((*c).module, e, (*c).Sup.idgen, (*c).graph);
43889 	{
43890 		if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA14_;
43891 		result = evalConstExpr__vm_13746((*c).module, (*c).Sup.idgen, (*c).graph, e);
43892 		{
43893 			NIM_BOOL T18_;
43894 			T18_ = (NIM_BOOL)0;
43895 			T18_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
43896 			if (T18_) goto LA19_;
43897 			T18_ = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
43898 			LA19_: ;
43899 			if (!T18_) goto LA20_;
43900 			{
43901 				NIM_BOOL T24_;
43902 				T24_ = (NIM_BOOL)0;
43903 				T24_ = eqeq___msgs_993((*e).info, (*n).info);
43904 				if (!!(T24_)) goto LA25_;
43905 				pushInfoContext__msgs_490((*(*c).graph).config, (*n).info, ((NimStringDesc*) NIM_NIL));
43906 				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);
43907 				popInfoContext__msgs_507((*(*c).graph).config);
43908 			}
43909 			goto LA22_;
43910 			LA25_: ;
43911 			{
43912 				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);
43913 			}
43914 			LA22_: ;
43915 			result = e;
43916 		}
43917 		goto LA16_;
43918 		LA20_: ;
43919 		{
43920 			result = fixupTypeAfterEval__sem_570(c, result, e);
43921 		}
43922 		LA16_: ;
43923 	}
43924 	LA14_: ;
43925 	}BeforeRet_: ;
43926 	return result;
43927 }
N_NIMCALL(NIM_BOOL,hasUnresolvedParams__sem_9864)43928 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasUnresolvedParams__sem_9864)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
43929 	NIM_BOOL result;
43930 	result = (NIM_BOOL)0;
43931 	result = (((*(*n).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0);
43932 	return result;
43933 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semOperand__sem_13900)43934 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOperand__sem_13900)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
43935 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
43936 	result = NIM_NIL;
43937 	{
43938 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA3_;
43939 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
43940 	}
43941 	LA3_: ;
43942 	result = semExpr__sem_52(c, n, (flags | 4096));
43943 	{
43944 		if (!!(((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA7_;
43945 		{
43946 			NIM_BOOL T11_;
43947 			NimStringDesc* T15_;
43948 			NimStringDesc* T16_;
43949 			T11_ = (NIM_BOOL)0;
43950 			T11_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
43951 			if (!(T11_)) goto LA12_;
43952 			T11_ = hasUnresolvedParams__sem_9864(result, 4096);
43953 			LA12_: ;
43954 			if (!T11_) goto LA13_;
43955 			T15_ = NIM_NIL;
43956 			T15_ = renderTree__renderer_46(n, 0);
43957 			T16_ = NIM_NIL;
43958 			T16_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_762), T15_);
43959 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T16_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_972, NIM_FALSE);
43960 		}
43961 		LA13_: ;
43962 		{
43963 			if (!((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA19_;
43964 			result = newDeref__lowerings_11(result);
43965 		}
43966 		LA19_: ;
43967 	}
43968 	goto LA5_;
43969 	LA7_: ;
43970 	{
43971 		if (!!(((384 & flags) == 0))) goto LA22_;
43972 		asgnRef((void**) (&(*result).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63), c));
43973 	}
43974 	goto LA5_;
43975 	LA22_: ;
43976 	{
43977 		NimStringDesc* T25_;
43978 		NimStringDesc* T26_;
43979 		T25_ = NIM_NIL;
43980 		T25_ = renderTree__renderer_46(result, 4);
43981 		T26_ = NIM_NIL;
43982 		T26_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_864), T25_);
43983 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_973, NIM_FALSE);
43984 		asgnRef((void**) (&(*result).typ), errorType__semdata_1002(c));
43985 	}
43986 	LA5_: ;
43987 	return result;
43988 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semInferredLambda__sem_12601)43989 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semInferredLambda__sem_12601)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
43990 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
43991 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
43992 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* original;
43993 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
43994 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params;
43995 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T9_;
43996 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
43997 	result = NIM_NIL;
43998 	n_2 = n;
43999 	original = (*(*n_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
44000 	s = original;
44001 	n_2 = replaceTypesInBody__semtypinst_988(c, pt, n_2, original, NIM_FALSE);
44002 	result = n_2;
44003 	asgnRef((void**) (&(*s).ast), result);
44004 	asgnRef((void**) (&(*(*n_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym), s);
44005 	asgnRef((void**) (&(*n_2)._kind_6.sons->data[((NI) 2)]), (*(*c).graph).emptyNode);
44006 	params = copyTree__ast_4431((*(*n_2).typ).n);
44007 	asgnRef((void**) (&(*n_2)._kind_6.sons->data[((NI) 3)]), params);
44008 	asgnRef((void**) (&(*s).typ), (*n_2).typ);
44009 	{
44010 		NI i;
44011 		NI colontmp_;
44012 		NI i_2;
44013 		i = (NI)0;
44014 		colontmp_ = (NI)0;
44015 		colontmp_ = len__ast_3198(params);
44016 		i_2 = ((NI) 1);
44017 		{
44018 			while (1) {
44019 				if (!(i_2 < colontmp_)) goto LA3;
44020 				i = i_2;
44021 				{
44022 					NimStringDesc* T8_;
44023 					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_;
44024 					T8_ = NIM_NIL;
44025 					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);
44026 appendString(T8_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_974));
44027 appendString(T8_, (*(*(*(*params)._kind_6.sons->data[i])._kind_4.sym).name).s);
44028 					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);
44029 				}
44030 				LA6_: ;
44031 				i_2 += ((NI) 1);
44032 			} LA3: ;
44033 		}
44034 	}
44035 	T9_ = NIM_NIL;
44036 	T9_ = openScope__lookups_69(c);
44037 	pushOwner__semdata_322(c, s);
44038 	addParams__sem_96(c, params, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
44039 	pushProcCon__sem_898(c, s);
44040 	addResult__sem_12395(c, n_2, (*(*n_2).typ).sons->data[((NI) 0)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
44041 	T10_ = NIM_NIL;
44042 	T10_ = semProcBody__sem_67(c, (*n_2)._kind_6.sons->data[((NI) 6)]);
44043 	asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), hloBody__sem_783(c, T10_));
44044 	trackProc__sempass50_4692(c, s, (*(*s).ast)._kind_6.sons->data[((NI) 6)]);
44045 	popProcCon__semdata_389(c);
44046 	popOwner__semdata_329(c);
44047 	closeScope__lookups_101(c);
44048 	{
44049 		NIM_BOOL T13_;
44050 		T13_ = (NIM_BOOL)0;
44051 		T13_ = (((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0);
44052 		if (!(T13_)) goto LA14_;
44053 		T13_ = !(((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
44054 		LA14_: ;
44055 		if (!T13_) goto LA15_;
44056 		asgnRef((void**) (&(*result).typ), makeVarType__semdata_766(c, (*result).typ, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
44057 	}
44058 	LA15_: ;
44059 	return result;
44060 }
N_NIMCALL(NI *,new__sem_20568)44061 N_LIB_PRIVATE N_NIMCALL(NI*, new__sem_20568)(void) {
44062 	NI* result;
44063 	NI* r;
44064 {	result = NIM_NIL;
44065 	r = NIM_NIL;
44066 	r = (NI*) newObj((&NTIrefint__9ai78kkwqt3gikTN9cpHKUVg_), sizeof(NI));
44067 	result = r;
44068 	goto BeforeRet_;
44069 	}BeforeRet_: ;
44070 	return result;
44071 }
N_NIMCALL(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w *,myOpen__sem_20558)44072 N_LIB_PRIVATE N_NIMCALL(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, myOpen__sem_20558)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
44073 	tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* result;
44074 	tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
44075 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
44076 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
44077 	tyProc__3cacbJ4la9bDJNibHybQSnA T7_;
44078 	tyProc__fMj9boIZZOt9cLWRnD3rtKhA T8_;
44079 	tyProc__7JwrY3AhkVNlleAJXClX9cw T9_;
44080 	result = NIM_NIL;
44081 	c = newContext__semdata_503(graph, module);
44082 	asgnRef((void**) (&(*c).Sup.idgen), idgen);
44083 	T1_ = nextTypeId__ast_3151(idgen);
44084 	asgnRef((void**) (&(*c).enforceVoidContext), newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7), T1_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
44085 	T2_ = nextTypeId__ast_3151(idgen);
44086 	asgnRef((void**) (&(*c).voidType), newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63), T2_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
44087 	{
44088 		if (!!(((*c).p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)))) goto LA5_;
44089 		internalErrorImpl__msgs_1431((*graph).config, (*module).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_2), TM__rF9caJawfOjYTjsgLVUSGFA_3);
44090 	}
44091 	LA5_: ;
44092 	(*c).semConstExpr = semConstExpr__sem_611;
44093 	(*c).semExpr = semExpr__sem_52;
44094 	(*c).semTryExpr = tryExpr__sem_104;
44095 	(*c).semTryConstExpr = tryConstExpr__sem_582;
44096 	(*c).computeRequiresInit = computeRequiresInit__sem_135;
44097 	(*c).semOperand = semOperand__sem_13900;
44098 	(*c).semConstBoolExpr = semConstBoolExpr__sem_2877;
44099 	(*c).semOverloadedCall = semOverloadedCall__sem_2498;
44100 	nimZeroMem((void*)(&T7_), sizeof(tyProc__3cacbJ4la9bDJNibHybQSnA));
44101 	T7_.ClP_0 = ((TM__rF9caJawfOjYTjsgLVUSGFA_976) (semInferredLambda__sem_12601)); T7_.ClE_0 = NIM_NIL;
44102 	asgnRef((void**) (&(*c).semInferredLambda.ClE_0), T7_.ClE_0);
44103 	(*c).semInferredLambda.ClP_0 = T7_.ClP_0;
44104 	nimZeroMem((void*)(&T8_), sizeof(tyProc__fMj9boIZZOt9cLWRnD3rtKhA));
44105 	T8_.ClP_0 = ((TM__rF9caJawfOjYTjsgLVUSGFA_977) (generateInstance__sem_1295)); T8_.ClE_0 = NIM_NIL;
44106 	asgnRef((void**) (&(*c).semGenerateInstance.ClE_0), T8_.ClE_0);
44107 	(*c).semGenerateInstance.ClP_0 = T8_.ClP_0;
44108 	(*c).semTypeNode = semTypeNode__sem_80;
44109 	(*c).instTypeBoundOp = instTypeBoundOp__sigmatch_4327;
44110 	nimZeroMem((void*)(&T9_), sizeof(tyProc__7JwrY3AhkVNlleAJXClX9cw));
44111 	T9_.ClP_0 = ((TM__rF9caJawfOjYTjsgLVUSGFA_978) (hasUnresolvedArgs__sem_142)); T9_.ClE_0 = NIM_NIL;
44112 	asgnRef((void**) (&(*c).hasUnresolvedArgs.ClE_0), T9_.ClE_0);
44113 	(*c).hasUnresolvedArgs.ClP_0 = T9_.ClP_0;
44114 	asgnRef((void**) (&(*c).templInstCounter), new__sem_20568());
44115 	pushProcCon__sem_898(c, module);
44116 	pushOwner__semdata_322(c, (*c).module);
44117 	asgnRef((void**) (&(*c).moduleScope), openScope__lookups_69(c));
44118 	strTableAdd__astalgo_3332((&(*(*c).moduleScope).symbols), module);
44119 	{
44120 		if (!(((*module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0)) goto LA12_;
44121 		asgnRef((void**) (&(*graph).systemModule), module);
44122 	}
44123 	LA12_: ;
44124 	asgnRef((void**) (&(*c).topLevelScope), openScope__lookups_69(c));
44125 	result = &c->Sup;
44126 	return result;
44127 }
N_NIMCALL(NIM_BOOL,isImportSystemStmt__sem_20680)44128 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isImportSystemStmt__sem_20680)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44129 	NIM_BOOL result;
44130 {	result = (NIM_BOOL)0;
44131 	{
44132 		if (!((*g).systemModule == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA3_;
44133 		result = NIM_FALSE;
44134 		goto BeforeRet_;
44135 	}
44136 	LA3_: ;
44137 	switch ((*n).kind) {
44138 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
44139 	{
44140 		{
44141 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
44142 			x = NIM_NIL;
44143 			{
44144 				NI i;
44145 				NI colontmp_;
44146 				NI i_2;
44147 				i = (NI)0;
44148 				colontmp_ = (NI)0;
44149 				colontmp_ = safeLen__ast_3191(n);
44150 				i_2 = ((NI) 0);
44151 				{
44152 					while (1) {
44153 						if (!(i_2 < colontmp_)) goto LA9;
44154 						i = i_2;
44155 						x = (*n)._kind_6.sons->data[i];
44156 						{
44157 							NI32 f;
44158 							if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA12_;
44159 							f = checkModuleName__modulepaths_21((*g).config, x, NIM_FALSE);
44160 							{
44161 								if (!(f == (*(*g).systemModule).info.fileIndex)) goto LA16_;
44162 								result = NIM_TRUE;
44163 								goto BeforeRet_;
44164 							}
44165 							LA16_: ;
44166 						}
44167 						LA12_: ;
44168 						i_2 += ((NI) 1);
44169 					} LA9: ;
44170 				}
44171 			}
44172 		}
44173 	}
44174 	break;
44175 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 117):
44176 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 120):
44177 	{
44178 		{
44179 			NI32 f_2;
44180 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA21_;
44181 			f_2 = checkModuleName__modulepaths_21((*g).config, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
44182 			{
44183 				if (!(f_2 == (*(*g).systemModule).info.fileIndex)) goto LA25_;
44184 				result = NIM_TRUE;
44185 				goto BeforeRet_;
44186 			}
44187 			LA25_: ;
44188 		}
44189 		LA21_: ;
44190 	}
44191 	break;
44192 	default:
44193 	{
44194 	}
44195 	break;
44196 	}
44197 	}BeforeRet_: ;
44198 	return result;
44199 }
N_NIMCALL(NIM_BOOL,isEmptyTree__sem_20701)44200 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyTree__sem_20701)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44201 	NIM_BOOL result;
44202 {	result = (NIM_BOOL)0;
44203 	switch ((*n).kind) {
44204 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
44205 	{
44206 		{
44207 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
44208 			it = NIM_NIL;
44209 			{
44210 				NI i;
44211 				NI colontmp_;
44212 				NI i_2;
44213 				i = (NI)0;
44214 				colontmp_ = (NI)0;
44215 				colontmp_ = safeLen__ast_3191(n);
44216 				i_2 = ((NI) 0);
44217 				{
44218 					while (1) {
44219 						if (!(i_2 < colontmp_)) goto LA5;
44220 						i = i_2;
44221 						it = (*n)._kind_6.sons->data[i];
44222 						{
44223 							NIM_BOOL T8_;
44224 							T8_ = (NIM_BOOL)0;
44225 							T8_ = isEmptyTree__sem_20701(it);
44226 							if (!!(T8_)) goto LA9_;
44227 							result = NIM_FALSE;
44228 							goto BeforeRet_;
44229 						}
44230 						LA9_: ;
44231 						i_2 += ((NI) 1);
44232 					} LA5: ;
44233 				}
44234 			}
44235 		}
44236 		result = NIM_TRUE;
44237 	}
44238 	break;
44239 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
44240 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
44241 	{
44242 		result = NIM_TRUE;
44243 	}
44244 	break;
44245 	default:
44246 	{
44247 		result = NIM_FALSE;
44248 	}
44249 	break;
44250 	}
44251 	}BeforeRet_: ;
44252 	return result;
44253 }
N_NIMCALL(void,gatherStmts__sem_12233)44254 N_LIB_PRIVATE N_NIMCALL(void, gatherStmts__sem_12233)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result) {
44255 	switch ((*n).kind) {
44256 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
44257 	{
44258 		{
44259 			NI i;
44260 			NI colontmp_;
44261 			NI i_2;
44262 			i = (NI)0;
44263 			colontmp_ = (NI)0;
44264 			colontmp_ = len__ast_3198(n);
44265 			i_2 = ((NI) 0);
44266 			{
44267 				while (1) {
44268 					NI32 f;
44269 					if (!(i_2 < colontmp_)) goto LA4;
44270 					i = i_2;
44271 					f = checkModuleName__modulepaths_21((*(*c).graph).config, (*n)._kind_6.sons->data[i], NIM_TRUE);
44272 					{
44273 						if (!!((f == ((NI32) -1)))) goto LA7_;
44274 						{
44275 							NIM_BOOL T11_;
44276 							NimStringDesc* T14_;
44277 							NimStringDesc* T15_;
44278 							T11_ = (NIM_BOOL)0;
44279 							T11_ = containsOrIncl__astalgo_402((&(*c).includedFiles), ((NI) (f)));
44280 							if (!T11_) goto LA12_;
44281 							T14_ = NIM_NIL;
44282 							T14_ = toMsgFilename__msgs_602((*(*c).graph).config, f);
44283 							T15_ = NIM_NIL;
44284 							T15_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_10), T14_);
44285 							liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T15_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_979, NIM_FALSE);
44286 						}
44287 						goto LA9_;
44288 						LA12_: ;
44289 						{
44290 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* code;
44291 							code = (*(*c).graph).includeFileCallback((*c).graph, (*c).module, f);
44292 							gatherStmts__sem_12233(c, code, result);
44293 							excl__reorder_264((&(*c).includedFiles), ((NI) (f)));
44294 						}
44295 						LA9_: ;
44296 					}
44297 					LA7_: ;
44298 					i_2 += ((NI) 1);
44299 				} LA4: ;
44300 			}
44301 		}
44302 	}
44303 	break;
44304 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
44305 	{
44306 		{
44307 			NI i_3;
44308 			NI colontmp__2;
44309 			NI i_4;
44310 			i_3 = (NI)0;
44311 			colontmp__2 = (NI)0;
44312 			colontmp__2 = len__ast_3198(n);
44313 			i_4 = ((NI) 0);
44314 			{
44315 				while (1) {
44316 					if (!(i_4 < colontmp__2)) goto LA20;
44317 					i_3 = i_4;
44318 					gatherStmts__sem_12233(c, (*n)._kind_6.sons->data[i_3], result);
44319 					i_4 += ((NI) 1);
44320 				} LA20: ;
44321 			}
44322 		}
44323 	}
44324 	break;
44325 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
44326 	{
44327 		(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7)) & 31);
44328 		typeSectionLeftSidePass__sem_11722(c, n);
44329 		add__ast_4797(result, n);
44330 	}
44331 	break;
44332 	default:
44333 	{
44334 		add__ast_4797(result, n);
44335 	}
44336 	break;
44337 	}
44338 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semAllTypeSections__sem_12229)44339 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAllTypeSections__sem_12229)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44340 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
44341 	result = NIM_NIL;
44342 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
44343 	gatherStmts__sem_12233(c, n, result);
44344 	{
44345 		NI iX60gensym3174_;
44346 		NI colontmp_;
44347 		NI i;
44348 		iX60gensym3174_ = (NI)0;
44349 		colontmp_ = (NI)0;
44350 		colontmp_ = len__ast_3198(result);
44351 		i = ((NI) 0);
44352 		{
44353 			while (1) {
44354 				if (!(i < colontmp_)) goto LA3;
44355 				iX60gensym3174_ = i;
44356 				{
44357 					if (!((*(*result)._kind_6.sons->data[iX60gensym3174_]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98))) goto LA6_;
44358 					typeSectionRightSidePass__sem_11843(c, (*result)._kind_6.sons->data[iX60gensym3174_]);
44359 				}
44360 				LA6_: ;
44361 				i += ((NI) 1);
44362 			} LA3: ;
44363 		}
44364 	}
44365 	{
44366 		NI iX60gensym3177_;
44367 		NI colontmp__2;
44368 		NI i_2;
44369 		iX60gensym3177_ = (NI)0;
44370 		colontmp__2 = (NI)0;
44371 		colontmp__2 = len__ast_3198(result);
44372 		i_2 = ((NI) 0);
44373 		{
44374 			while (1) {
44375 				if (!(i_2 < colontmp__2)) goto LA10;
44376 				iX60gensym3177_ = i_2;
44377 				{
44378 					if (!((*(*result)._kind_6.sons->data[iX60gensym3177_]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98))) goto LA13_;
44379 					typeSectionFinalPass__sem_12118(c, (*result)._kind_6.sons->data[iX60gensym3177_]);
44380 				}
44381 				LA13_: ;
44382 				i_2 += ((NI) 1);
44383 			} LA10: ;
44384 		}
44385 	}
44386 	return result;
44387 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,hloStmt__sem_794)44388 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, hloStmt__sem_794)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44389 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
44390 {	result = NIM_NIL;
44391 	{
44392 		NIM_BOOL T3_;
44393 		NI T4_;
44394 		T3_ = (NIM_BOOL)0;
44395 		T4_ = ((*c).patterns ? (*c).patterns->Sup.len : 0);
44396 		T3_ = (T4_ == ((NI) 0));
44397 		if (T3_) goto LA5_;
44398 		T3_ = !((((*(*(*c).graph).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 23))&31U)))!=0));
44399 		LA5_: ;
44400 		if (!T3_) goto LA6_;
44401 		result = n;
44402 		goto BeforeRet_;
44403 	}
44404 	LA6_: ;
44405 	(*c).hloLoopDetector = ((NI) 0);
44406 	result = hlo__sem_668(c, n);
44407 	}BeforeRet_: ;
44408 	return result;
44409 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,buildEchoStmt__sem_16718)44410 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildEchoStmt__sem_16718)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44411 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
44412 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* e;
44413 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
44414 	NimStringDesc* T9_;
44415 	NimStringDesc* T10_;
44416 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
44417 	result = NIM_NIL;
44418 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
44419 	T1_ = NIM_NIL;
44420 	T1_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_980));
44421 	e = systemModuleSym__modulegraphs_2829((*c).graph, T1_);
44422 	{
44423 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
44424 		if (!!((e == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA4_;
44425 		T6_ = NIM_NIL;
44426 		T6_ = newSymNode__ast_3716(e);
44427 		add__ast_4797(result, T6_);
44428 	}
44429 	goto LA2_;
44430 	LA4_: ;
44431 	{
44432 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n2X60gensym4377_;
44433 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
44434 		n2X60gensym4377_ = n;
44435 		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);
44436 		T8_ = NIM_NIL;
44437 		T8_ = errorNode__semdata_1009(c, n2X60gensym4377_);
44438 		add__ast_4797(result, T8_);
44439 	}
44440 	LA2_: ;
44441 	add__ast_4797(result, n);
44442 	T9_ = NIM_NIL;
44443 	T10_ = NIM_NIL;
44444 	T10_ = typeToString__types_50((*n).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
44445 	T9_ = rawNewString((T10_ ? T10_->Sup.len : 0) + 2);
44446 appendString(T9_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_281));
44447 appendString(T9_, T10_);
44448 	T11_ = NIM_NIL;
44449 	T11_ = newStrNode__ast_3813(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), T9_);
44450 	add__ast_4797(result, T11_);
44451 	result = semExpr__sem_52(c, result, 0);
44452 	return result;
44453 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semStmtAndGenerateGenerics__sem_20705)44454 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStmtAndGenerateGenerics__sem_20705)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44455 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
44456 	result = NIM_NIL;
44457 	{
44458 		NIM_BOOL T3_;
44459 		NIM_BOOL T5_;
44460 		T3_ = (NIM_BOOL)0;
44461 		T3_ = ((*c).topStmts == ((NI) 0));
44462 		if (!(T3_)) goto LA4_;
44463 		T5_ = (NIM_BOOL)0;
44464 		T5_ = isImportSystemStmt__sem_20680((*c).graph, n);
44465 		T3_ = !(T5_);
44466 		LA4_: ;
44467 		if (!T3_) goto LA6_;
44468 		{
44469 			NIM_BOOL T10_;
44470 			NIM_BOOL T12_;
44471 			T10_ = (NIM_BOOL)0;
44472 			T10_ = !((((*(*c).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0));
44473 			if (!(T10_)) goto LA11_;
44474 			T12_ = (NIM_BOOL)0;
44475 			T12_ = isEmptyTree__sem_20701(n);
44476 			T10_ = !(T12_);
44477 			LA11_: ;
44478 			if (!T10_) goto LA13_;
44479 			strTableAdd__astalgo_3332((&(*(*c).moduleScope).symbols), (*(*c).graph).systemModule);
44480 			importAllSymbols__importer_2078(c, (*(*c).graph).systemModule);
44481 			(*c).topStmts += ((NI) 1);
44482 		}
44483 		LA13_: ;
44484 	}
44485 	goto LA1_;
44486 	LA6_: ;
44487 	{
44488 		(*c).topStmts += ((NI) 1);
44489 	}
44490 	LA1_: ;
44491 	{
44492 		if (!(((*(*c).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0)) goto LA18_;
44493 		result = semAllTypeSections__sem_12229(c, n);
44494 	}
44495 	goto LA16_;
44496 	LA18_: ;
44497 	{
44498 		result = n;
44499 	}
44500 	LA16_: ;
44501 	result = semStmt__sem_84(c, result, 0);
44502 	result = hloStmt__sem_794(c, result);
44503 	{
44504 		NIM_BOOL T23_;
44505 		NIM_BOOL T25_;
44506 		T23_ = (NIM_BOOL)0;
44507 		T23_ = ((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 24));
44508 		if (!(T23_)) goto LA24_;
44509 		T25_ = (NIM_BOOL)0;
44510 		T25_ = isEmptyType__ast_4779((*result).typ);
44511 		T23_ = !(T25_);
44512 		LA24_: ;
44513 		if (!T23_) goto LA26_;
44514 		result = buildEchoStmt__sem_16718(c, result);
44515 	}
44516 	LA26_: ;
44517 	{
44518 		if (!((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11))) goto LA30_;
44519 		appendToModule__ast_3540((*c).module, result);
44520 	}
44521 	LA30_: ;
44522 	trackStmt__sempass50_4915(c, (*c).module, result, NIM_TRUE);
44523 	return result;
44524 }
N_NIMCALL(void,recoverContext__sem_20740)44525 N_LIB_PRIVATE N_NIMCALL(void, recoverContext__sem_20740)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
44526 	asgnRef((void**) (&(*c).currentScope), (*c).topLevelScope);
44527 	{
44528 		while (1) {
44529 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T3_;
44530 			T3_ = NIM_NIL;
44531 			T3_ = getCurrOwner__semdata_315(c);
44532 			if (!!(((*T3_).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)))) goto LA2;
44533 			popOwner__semdata_329(c);
44534 		} LA2: ;
44535 	}
44536 	{
44537 		while (1) {
44538 			NIM_BOOL T6_;
44539 			T6_ = (NIM_BOOL)0;
44540 			T6_ = !(((*c).p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)));
44541 			if (!(T6_)) goto LA7_;
44542 			T6_ = !(((*(*(*c).p).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
44543 			LA7_: ;
44544 			if (!T6_) goto LA5;
44545 			asgnRef((void**) (&(*c).p), (*(*c).p).next);
44546 		} LA5: ;
44547 	}
44548 }
N_INLINE(Exception *,getCurrentException)44549 static N_INLINE(Exception*, getCurrentException)(void) {
44550 	Exception* result;
44551 	result = NIM_NIL;
44552 	result = currException__system_2566;
44553 	return result;
44554 }
N_INLINE(NIM_BOOL,isObjWithCache)44555 static N_INLINE(NIM_BOOL, isObjWithCache)(TNimType* obj, TNimType* subclass, TNimType** cache) {
44556 	NIM_BOOL result;
44557 {	result = (NIM_BOOL)0;
44558 	{
44559 		if (!(obj == subclass)) goto LA3_;
44560 		result = NIM_TRUE;
44561 		goto BeforeRet_;
44562 	}
44563 	LA3_: ;
44564 	{
44565 		if (!((*obj).base == subclass)) goto LA7_;
44566 		result = NIM_TRUE;
44567 		goto BeforeRet_;
44568 	}
44569 	LA7_: ;
44570 	{
44571 		if (!(cache[(((NI) 0))- 0] == obj)) goto LA11_;
44572 		result = NIM_FALSE;
44573 		goto BeforeRet_;
44574 	}
44575 	LA11_: ;
44576 	{
44577 		if (!(cache[(((NI) 1))- 0] == obj)) goto LA15_;
44578 		result = NIM_TRUE;
44579 		goto BeforeRet_;
44580 	}
44581 	LA15_: ;
44582 	result = isObjSlowPath__system_3313(obj, subclass, cache);
44583 	goto BeforeRet_;
44584 	}BeforeRet_: ;
44585 	return result;
44586 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,myProcess__sem_20754)44587 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, myProcess__sem_20754)(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* context, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44588 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* volatile result;
44589 	tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
44590 	result = NIM_NIL;
44591 	c = ((tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug*) (context));
44592 	{
44593 		if (!((*(*(*c).graph).config).errorMax <= ((NI) 1))) goto LA3_;
44594 		result = semStmtAndGenerateGenerics__sem_20705(c, n);
44595 	}
44596 	goto LA1_;
44597 	LA3_: ;
44598 	{
44599 		NI oldContextLen;
44600 		NI oldInGenericInst;
44601 		TSafePoint TM__rF9caJawfOjYTjsgLVUSGFA_983;
44602 		oldContextLen = getInfoContextLen__msgs_476((*(*c).graph).config);
44603 		oldInGenericInst = (*c).inGenericInst;
44604 		pushSafePoint(&TM__rF9caJawfOjYTjsgLVUSGFA_983);
44605 		TM__rF9caJawfOjYTjsgLVUSGFA_983.status = _setjmp(TM__rF9caJawfOjYTjsgLVUSGFA_983.context);
44606 		if (TM__rF9caJawfOjYTjsgLVUSGFA_983.status == 0) {
44607 		result = semStmtAndGenerateGenerics__sem_20705(c, n);
44608 		popSafePoint();
44609 		}
44610 		else {
44611 			popSafePoint();
44612 			if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIerecoverableerror__IxbcvonC7TQkv166Uvdu1g_))||isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIesuggestdone__cDtWY9cE7zf8BAC5QcEZZkQ_))) {
44613 				TM__rF9caJawfOjYTjsgLVUSGFA_983.status = 0;
44614 				recoverContext__sem_20740(c);
44615 				(*c).inGenericInst = oldInGenericInst;
44616 				setInfoContextLen__msgs_483((*(*c).graph).config, oldContextLen);
44617 				{
44618 					Exception* T10_;
44619 					T10_ = NIM_NIL;
44620 					T10_ = getCurrentException();
44621 					if (!((T10_) && (isObjWithCache((*T10_).Sup.m_type, (&NTIesuggestdone__cDtWY9cE7zf8BAC5QcEZZkQ_), Nim_OfCheck_CACHE985)))) goto LA11_;
44622 					(*c).suggestionsMade = NIM_TRUE;
44623 					result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
44624 				}
44625 				goto LA8_;
44626 				LA11_: ;
44627 				{
44628 					result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
44629 				}
44630 				LA8_: ;
44631 				popCurrentException();
44632 			}
44633 		}
44634 		if (TM__rF9caJawfOjYTjsgLVUSGFA_983.status != 0) reraiseException();
44635 	}
44636 	LA1_: ;
44637 	storeRodNode__semdata_1178(c, result);
44638 	return result;
44639 }
N_NIMCALL(void,reportUnusedModules__sem_20768)44640 N_LIB_PRIVATE N_NIMCALL(void, reportUnusedModules__sem_20768)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
44641 	{
44642 		NI i;
44643 		NI colontmp_;
44644 		NI T2_;
44645 		NI res;
44646 		i = (NI)0;
44647 		colontmp_ = (NI)0;
44648 		T2_ = (((*c).unusedImports ? (*c).unusedImports->Sup.len : 0)-1);
44649 		colontmp_ = T2_;
44650 		res = ((NI) 0);
44651 		{
44652 			while (1) {
44653 				if (!(res <= colontmp_)) goto LA4;
44654 				i = res;
44655 				{
44656 					if (!!((((*(*c).unusedImports->data[i].Field0).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0))&63U)))!=0))) goto LA7_;
44657 					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);
44658 				}
44659 				LA7_: ;
44660 				res += ((NI) 1);
44661 			} LA4: ;
44662 		}
44663 	}
44664 }
N_NIMCALL(void,addCodeForGenerics__sem_20522)44665 N_LIB_PRIVATE N_NIMCALL(void, addCodeForGenerics__sem_20522)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44666 	NI T19_;
44667 	{
44668 		NI i;
44669 		NI colontmp_;
44670 		NI T2_;
44671 		NI i_2;
44672 		i = (NI)0;
44673 		colontmp_ = (NI)0;
44674 		T2_ = ((*c).generics ? (*c).generics->Sup.len : 0);
44675 		colontmp_ = T2_;
44676 		i_2 = (*c).lastGenericIdx;
44677 		{
44678 			while (1) {
44679 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc;
44680 				if (!(i_2 < colontmp_)) goto LA4;
44681 				i = i_2;
44682 				prc = (*(*c).generics->data[i].inst).sym;
44683 				{
44684 					NIM_BOOL T7_;
44685 					T7_ = (NIM_BOOL)0;
44686 					T7_ = ((94208 &((NU32)1<<((NU)((*prc).kind)&31U)))!=0);
44687 					if (!(T7_)) goto LA8_;
44688 					T7_ = ((*prc).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
44689 					LA8_: ;
44690 					if (!T7_) goto LA9_;
44691 					{
44692 						NIM_BOOL T13_;
44693 						NimStringDesc* T17_;
44694 						T13_ = (NIM_BOOL)0;
44695 						T13_ = ((*prc).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
44696 						if (T13_) goto LA14_;
44697 						T13_ = ((*(*prc).ast)._kind_6.sons->data[((NI) 6)] == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
44698 						LA14_: ;
44699 						if (!T13_) goto LA15_;
44700 						T17_ = NIM_NIL;
44701 						T17_ = rawNewString(((*(*prc).name).s ? (*(*prc).name).s->Sup.len : 0) + 12);
44702 appendString(T17_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_988));
44703 appendString(T17_, (*(*prc).name).s);
44704 						internalErrorImpl__msgs_1431((*(*c).graph).config, (*prc).info, T17_, TM__rF9caJawfOjYTjsgLVUSGFA_989);
44705 					}
44706 					goto LA11_;
44707 					LA15_: ;
44708 					{
44709 						add__ast_4797(n, (*prc).ast);
44710 					}
44711 					LA11_: ;
44712 				}
44713 				LA9_: ;
44714 				i_2 += ((NI) 1);
44715 			} LA4: ;
44716 		}
44717 	}
44718 	T19_ = ((*c).generics ? (*c).generics->Sup.len : 0);
44719 	(*c).lastGenericIdx = T19_;
44720 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,myClose__sem_20782)44721 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, myClose__sem_20782)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* context, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44722 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
44723 	tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
44724 	result = NIM_NIL;
44725 	c = ((tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug*) (context));
44726 	{
44727 		NIM_BOOL T3_;
44728 		T3_ = (NIM_BOOL)0;
44729 		T3_ = ((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11));
44730 		if (!(T3_)) goto LA4_;
44731 		T3_ = !((*c).suggestionsMade);
44732 		LA4_: ;
44733 		if (!T3_) goto LA5_;
44734 		suggestSentinel__sigmatch_6567(c);
44735 	}
44736 	LA5_: ;
44737 	closeScope__lookups_101(c);
44738 	rawCloseScope__lookups_99(c);
44739 	reportUnusedModules__sem_20768(c);
44740 	result = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
44741 	{
44742 		if (!!((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA9_;
44743 		internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_986), TM__rF9caJawfOjYTjsgLVUSGFA_987);
44744 	}
44745 	LA9_: ;
44746 	addCodeForGenerics__sem_20522(c, result);
44747 	{
44748 		if (!!(((*(*c).module).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA13_;
44749 		add__ast_4797(result, (*(*c).module).ast);
44750 	}
44751 	LA13_: ;
44752 	popOwner__semdata_329(c);
44753 	popProcCon__semdata_389(c);
44754 	sealRodFile__semdata_3603(c);
44755 	return result;
44756 }
N_NIMCALL(void,compiler_semDatInit000)44757 N_LIB_PRIVATE N_NIMCALL(void, compiler_semDatInit000)(void) {
44758 static TNimNode* TM__rF9caJawfOjYTjsgLVUSGFA_362_3[3];
44759 static TNimNode* TM__rF9caJawfOjYTjsgLVUSGFA_374_2[2];
44760 static TNimNode* TM__rF9caJawfOjYTjsgLVUSGFA_809_2[2];
44761 static TNimNode TM__rF9caJawfOjYTjsgLVUSGFA_0[10];
44762 NTIobject__LF0eKAnygFo4etNDdpTetg_.size = sizeof(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg);
44763 NTIobject__LF0eKAnygFo4etNDdpTetg_.align = NIM_ALIGNOF(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg);
44764 NTIobject__LF0eKAnygFo4etNDdpTetg_.kind = 17;
44765 NTIobject__LF0eKAnygFo4etNDdpTetg_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
44766 TM__rF9caJawfOjYTjsgLVUSGFA_362_3[0] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[1];
44767 TM__rF9caJawfOjYTjsgLVUSGFA_0[1].kind = 1;
44768 TM__rF9caJawfOjYTjsgLVUSGFA_0[1].offset = offsetof(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg, colonstate_);
44769 TM__rF9caJawfOjYTjsgLVUSGFA_0[1].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
44770 TM__rF9caJawfOjYTjsgLVUSGFA_0[1].name = ":state";
44771 TM__rF9caJawfOjYTjsgLVUSGFA_362_3[1] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[2];
44772 TM__rF9caJawfOjYTjsgLVUSGFA_0[2].kind = 1;
44773 TM__rF9caJawfOjYTjsgLVUSGFA_0[2].offset = offsetof(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg, c1);
44774 TM__rF9caJawfOjYTjsgLVUSGFA_0[2].typ = (&NTIpcontext__EjEifkTC8tg9afiUW4StSSA_);
44775 TM__rF9caJawfOjYTjsgLVUSGFA_0[2].name = "c1";
44776 TM__rF9caJawfOjYTjsgLVUSGFA_362_3[2] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[3];
44777 TM__rF9caJawfOjYTjsgLVUSGFA_0[3].kind = 1;
44778 TM__rF9caJawfOjYTjsgLVUSGFA_0[3].offset = offsetof(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg, scope2);
44779 TM__rF9caJawfOjYTjsgLVUSGFA_0[3].typ = (&NTIpscope__N89ckikRqMir57209a3tEeqw_);
44780 TM__rF9caJawfOjYTjsgLVUSGFA_0[3].name = "scope2";
44781 TM__rF9caJawfOjYTjsgLVUSGFA_0[0].len = 3; TM__rF9caJawfOjYTjsgLVUSGFA_0[0].kind = 2; TM__rF9caJawfOjYTjsgLVUSGFA_0[0].sons = &TM__rF9caJawfOjYTjsgLVUSGFA_362_3[0];
44782 NTIobject__LF0eKAnygFo4etNDdpTetg_.node = &TM__rF9caJawfOjYTjsgLVUSGFA_0[0];
44783 NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_.size = sizeof(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg*);
44784 NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_.align = NIM_ALIGNOF(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg*);
44785 NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_.kind = 22;
44786 NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_.base = (&NTIobject__LF0eKAnygFo4etNDdpTetg_);
44787 NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_.marker = Marker_tyRef__IqGNbqKVyQ9b9an5n9bN8QJsQ;
44788 NTIobject__irrxU9bX4WBQP9bu3Q627FYw_.size = sizeof(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw);
44789 NTIobject__irrxU9bX4WBQP9bu3Q627FYw_.align = NIM_ALIGNOF(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw);
44790 NTIobject__irrxU9bX4WBQP9bu3Q627FYw_.kind = 17;
44791 NTIobject__irrxU9bX4WBQP9bu3Q627FYw_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
44792 TM__rF9caJawfOjYTjsgLVUSGFA_374_2[0] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[5];
44793 TM__rF9caJawfOjYTjsgLVUSGFA_0[5].kind = 1;
44794 TM__rF9caJawfOjYTjsgLVUSGFA_0[5].offset = offsetof(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw, colonstate_);
44795 TM__rF9caJawfOjYTjsgLVUSGFA_0[5].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
44796 TM__rF9caJawfOjYTjsgLVUSGFA_0[5].name = ":state";
44797 TM__rF9caJawfOjYTjsgLVUSGFA_374_2[1] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[6];
44798 TM__rF9caJawfOjYTjsgLVUSGFA_0[6].kind = 1;
44799 TM__rF9caJawfOjYTjsgLVUSGFA_0[6].offset = offsetof(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw, orig1);
44800 TM__rF9caJawfOjYTjsgLVUSGFA_0[6].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
44801 TM__rF9caJawfOjYTjsgLVUSGFA_0[6].name = "orig1";
44802 TM__rF9caJawfOjYTjsgLVUSGFA_0[4].len = 2; TM__rF9caJawfOjYTjsgLVUSGFA_0[4].kind = 2; TM__rF9caJawfOjYTjsgLVUSGFA_0[4].sons = &TM__rF9caJawfOjYTjsgLVUSGFA_374_2[0];
44803 NTIobject__irrxU9bX4WBQP9bu3Q627FYw_.node = &TM__rF9caJawfOjYTjsgLVUSGFA_0[4];
44804 NTIrefobject__s6znTCfmZMSZG9absJgsa1w_.size = sizeof(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw*);
44805 NTIrefobject__s6znTCfmZMSZG9absJgsa1w_.align = NIM_ALIGNOF(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw*);
44806 NTIrefobject__s6znTCfmZMSZG9absJgsa1w_.kind = 22;
44807 NTIrefobject__s6znTCfmZMSZG9absJgsa1w_.base = (&NTIobject__irrxU9bX4WBQP9bu3Q627FYw_);
44808 NTIrefobject__s6znTCfmZMSZG9absJgsa1w_.marker = Marker_tyRef__s6znTCfmZMSZG9absJgsa1w;
44809 NTIobject__pOSGedHS6i9aexCYZEItHgQ_.size = sizeof(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ);
44810 NTIobject__pOSGedHS6i9aexCYZEItHgQ_.align = NIM_ALIGNOF(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ);
44811 NTIobject__pOSGedHS6i9aexCYZEItHgQ_.kind = 17;
44812 NTIobject__pOSGedHS6i9aexCYZEItHgQ_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
44813 TM__rF9caJawfOjYTjsgLVUSGFA_809_2[0] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[8];
44814 TM__rF9caJawfOjYTjsgLVUSGFA_0[8].kind = 1;
44815 TM__rF9caJawfOjYTjsgLVUSGFA_0[8].offset = offsetof(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ, colonstate_);
44816 TM__rF9caJawfOjYTjsgLVUSGFA_0[8].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
44817 TM__rF9caJawfOjYTjsgLVUSGFA_0[8].name = ":state";
44818 TM__rF9caJawfOjYTjsgLVUSGFA_809_2[1] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[9];
44819 TM__rF9caJawfOjYTjsgLVUSGFA_0[9].kind = 1;
44820 TM__rF9caJawfOjYTjsgLVUSGFA_0[9].offset = offsetof(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ, genericType1);
44821 TM__rF9caJawfOjYTjsgLVUSGFA_0[9].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
44822 TM__rF9caJawfOjYTjsgLVUSGFA_0[9].name = "genericType1";
44823 TM__rF9caJawfOjYTjsgLVUSGFA_0[7].len = 2; TM__rF9caJawfOjYTjsgLVUSGFA_0[7].kind = 2; TM__rF9caJawfOjYTjsgLVUSGFA_0[7].sons = &TM__rF9caJawfOjYTjsgLVUSGFA_809_2[0];
44824 NTIobject__pOSGedHS6i9aexCYZEItHgQ_.node = &TM__rF9caJawfOjYTjsgLVUSGFA_0[7];
44825 NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_.size = sizeof(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ*);
44826 NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_.align = NIM_ALIGNOF(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ*);
44827 NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_.kind = 22;
44828 NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_.base = (&NTIobject__pOSGedHS6i9aexCYZEItHgQ_);
44829 NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_.marker = Marker_tyRef__XNJoeAba9c9cA3kTvTEsgqEQ;
44830 }
44831 
44832