1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
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__cC4ce9cdvDKtIpar5g9cDejA[16];
1204 struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA {
1205 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* next;
1206 NI key;
1207 tyArray__cC4ce9cdvDKtIpar5g9cDejA 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_5308)(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_5270)(void* usr);
1891 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
1892 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1893 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
1894 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
1895 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5264)(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_1815)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b, tySet_tyEnum_TTypeCmpFlag__72pgRXSg7774cr9aCWVPORw flags);
1983 N_LIB_PRIVATE N_NIMCALL(void, typeMismatch__types_3861)(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_3588)(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_1465)(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_1604)(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_3665)(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_2659)(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_2210)(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_3351)(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_3617)(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_2915)(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_3786)(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_3416)(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_2676)(tyObject_TType__facALICuu8zUj0hjvbTLFg* a, tyObject_TType__facALICuu8zUj0hjvbTLFg* b);
2327 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, commonSuperclass__types_2738)(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_1839)(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_3354)(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_3920)(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_1652)(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_3614)(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_7484)(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_3604)(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_3987)(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_7755)(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_3308)(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_3991)(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_3543)(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_5217;
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)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
5336 	return result;
5337 }
N_INLINE(void,incRef__system_5308)5338 static N_INLINE(void, incRef__system_5308)(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)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
5345 	return result;
5346 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5270)5347 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(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) 8));
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 = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
5360 	return result;
5361 }
N_INLINE(void,rtlAddZCT__system_5313)5362 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
5363 	addZCT__system_5264((&gch__system_5217.zct), c);
5364 }
N_INLINE(void,decRef__system_5315)5365 static N_INLINE(void, decRef__system_5315)(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_5313(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_5270(src);
5382 		incRef__system_5308(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_5270((*dest));
5390 		decRef__system_5315(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_1815(T22_, T23_, 0);
6254 			if (!!(T24_)) goto LA25_;
6255 			typeMismatch__types_3861((*(*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_5270(p);
6737 	decRef__system_5315(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_1815((*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_1465((*(*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_1604((*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_3588(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_3665(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_2659(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)((NU32)(((NI) ((*xX60gensym794_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((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)((NU32)(((NI) ((*xX60gensym796_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((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)((NU32)(((NI) ((*xX60gensym797_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((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)((NU32)(((NI) ((*xX60gensym800_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym800_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym801_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((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_2210((*typ).sons->data[((NI) 1)]);
8058 		}
8059 		goto LA35_;
8060 		LA37_: ;
8061 		{
8062 			ty = skipGenericAlias__types_2210(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_3351((*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)((NU32)(((NI) ((*xX60gensym2002_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((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)((NU32)(((NI) ((*xX60gensym2020_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((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)((NU32)(((NI) ((*xX60gensym1627_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((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)((NU32)(((NI) ((*xX60gensym1628_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((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)((NU32)(((NI) ((*xX60gensym2045_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((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_3617(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_3351(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)((NU32)(((NI) ((*xX60gensym1907_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((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)((NU32)(((NI) ((*xX60gensym1944_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((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)((NU32)(((NI) ((*xX60gensym1967_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((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_1815((*(*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_1815(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_3416(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_5270(p);
15313 	decRef__system_5315(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_3786((&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 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_318))) goto LA26_;
16314 break;
16315 	case 2:
16316 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_313))) goto LA21_;
16317 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_317))) goto LA25_;
16318 break;
16319 	case 3:
16320 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_44))) goto LA15_;
16321 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_312))) goto LA20_;
16322 break;
16323 	case 4:
16324 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_310))) goto LA19_;
16325 break;
16326 	case 5:
16327 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_109))) goto LA17_;
16328 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_314))) goto LA22_;
16329 break;
16330 	case 8:
16331 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_315))) goto LA23_;
16332 break;
16333 	case 10:
16334 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_307))) goto LA15_;
16335 break;
16336 	case 12:
16337 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_309))) goto LA18_;
16338 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_316))) goto LA24_;
16339 break;
16340 	case 14:
16341 if (eqStrings(s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_308))) goto LA16_;
16342 break;
16343 	}
16344 	goto LA27_;
16345 	LA15_: ;
16346 	{
16347 		tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T30_;
16348 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T31_;
16349 		T30_ = NIM_NIL;
16350 		T30_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 2);
16351 		asgnRef((void**) (&T30_->data[0]), operand_2);
16352 		asgnRef((void**) (&T30_->data[1]), skipTypes__ast_3735((*(*traitCall)._kind_6.sons->data[((NI) 2)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123));
16353 		T31_ = NIM_NIL;
16354 		T31_ = newTypeWithSons__semdata_815(context, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57), T30_, (*c).Sup.idgen);
16355 		result = toNode__sem_15428(T31_, (*traitCall).info);
16356 		goto BeforeRet_;
16357 	}
16358 	goto LA28_;
16359 	LA16_: ;
16360 	{
16361 		tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T33_;
16362 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T34_;
16363 		T33_ = NIM_NIL;
16364 		T33_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 2);
16365 		asgnRef((void**) (&T33_->data[0]), operand_2);
16366 		asgnRef((void**) (&T33_->data[1]), skipTypes__ast_3735((*(*traitCall)._kind_6.sons->data[((NI) 2)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123));
16367 		T34_ = NIM_NIL;
16368 		T34_ = newTypeWithSons__semdata_815(context, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56), T33_, (*c).Sup.idgen);
16369 		result = toNode__sem_15428(T34_, (*traitCall).info);
16370 		goto BeforeRet_;
16371 	}
16372 	goto LA28_;
16373 	LA17_: ;
16374 	{
16375 		tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T36_;
16376 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T37_;
16377 		T36_ = NIM_NIL;
16378 		T36_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
16379 		asgnRef((void**) (&T36_->data[0]), operand_2);
16380 		T37_ = NIM_NIL;
16381 		T37_ = newTypeWithSons__semdata_815(context, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58), T36_, (*c).Sup.idgen);
16382 		result = toNode__sem_15428(T37_, (*traitCall).info);
16383 		goto BeforeRet_;
16384 	}
16385 	goto LA28_;
16386 	LA18_: ;
16387 	{
16388 		tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw prefer;
16389 		NimStringDesc* T44_;
16390 		prefer = ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 5);
16391 		{
16392 			NI T41_;
16393 			NimStringDesc* preferStr;
16394 			T41_ = (NI)0;
16395 			T41_ = len__ast_3198(traitCall);
16396 			if (!(((NI) 2) <= T41_)) goto LA42_;
16397 			preferStr = (*(*traitCall)._kind_6.sons->data[((NI) 2)])._kind_3.strVal;
16398 			prefer = parseEnum__sem_15509(preferStr);
16399 		}
16400 		LA42_: ;
16401 		T44_ = NIM_NIL;
16402 		T44_ = typeToString__types_50(operand_2, prefer);
16403 		result = newStrNode__ast_3813(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), T44_);
16404 		asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*(*traitCall)._kind_6.sons->data[((NI) 1)]).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
16405 		(*result).info = (*traitCall).info;
16406 	}
16407 	goto LA28_;
16408 	LA19_: ;
16409 	{
16410 		NimStringDesc* T46_;
16411 		T46_ = NIM_NIL;
16412 		T46_ = typeToString__types_50(operand_2, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 5));
16413 		result = newStrNode__ast_3813(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), T46_);
16414 		asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*(*traitCall)._kind_6.sons->data[((NI) 1)]).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
16415 		(*result).info = (*traitCall).info;
16416 	}
16417 	goto LA28_;
16418 	LA20_: ;
16419 	{
16420 		NI T48_;
16421 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T49_;
16422 		T48_ = (NI)0;
16423 		T48_ = len__ast_4002(operand_2);
16424 		result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) ((NI)(T48_ - ((*operand_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25))))));
16425 		T49_ = nextTypeId__ast_3151((*c).Sup.idgen);
16426 		asgnRef((void**) (&(*result).typ), newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31), T49_, context));
16427 		(*result).info = (*traitCall).info;
16428 	}
16429 	goto LA28_;
16430 	LA21_: ;
16431 	{
16432 		tyObject_TType__facALICuu8zUj0hjvbTLFg* arg;
16433 		arg = operand_2;
16434 		switch ((*arg).kind) {
16435 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
16436 		{
16437 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T52_;
16438 			T52_ = NIM_NIL;
16439 			T52_ = base__types_63(arg);
16440 			result = getTypeDescNode__sem_15447(c, T52_, (*operand_2).owner, (*traitCall).info);
16441 		}
16442 		break;
16443 		default:
16444 		{
16445 			tyArray__Re75IspeoxXy2oCZHwcRrA T54_;
16446 			NimStringDesc* T55_;
16447 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T56_;
16448 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T57_;
16449 			nimZeroMem((void*)T54_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
16450 			T54_[0] = toHumanStr__ast_5188((*arg).kind);
16451 			T54_[1] = typeToString__types_50(operand_2, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
16452 			T55_ = NIM_NIL;
16453 			T55_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_328), T54_, 2);
16454 			liMessage__msgs_1118((*(*c).graph).config, (*traitCall).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T55_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_329, NIM_FALSE);
16455 			T56_ = nextTypeId__ast_3151((*c).Sup.idgen);
16456 			T57_ = NIM_NIL;
16457 			T57_ = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), T56_, context);
16458 			result = toNode__sem_15428(T57_, (*traitCall).info);
16459 		}
16460 		break;
16461 		}
16462 	}
16463 	goto LA28_;
16464 	LA22_: ;
16465 	{
16466 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T59_;
16467 		T59_ = NIM_NIL;
16468 		T59_ = uninstantiate__sem_15443(operand_2);
16469 		result = toNode__sem_15428(T59_, (*traitCall).info);
16470 	}
16471 	goto LA28_;
16472 	LA23_: ;
16473 	{
16474 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
16475 		NIM_BOOL complexObj;
16476 		NIM_BOOL T61_;
16477 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T63_;
16478 		t = skipTypes__ast_3735(operand_2, TM__rF9caJawfOjYTjsgLVUSGFA_330);
16479 		T61_ = (NIM_BOOL)0;
16480 		T61_ = containsGarbageCollectedRef__types_612(t);
16481 		if (T61_) goto LA62_;
16482 		T61_ = !(((IL64(2147483664) & (*t).flags) == 0));
16483 		LA62_: ;
16484 		complexObj = T61_;
16485 		T63_ = toInt128__types_1378(!(complexObj));
16486 		result = newIntNodeT__semfold_57(T63_, traitCall, (*c).Sup.idgen, (*c).graph);
16487 	}
16488 	goto LA28_;
16489 	LA24_: ;
16490 	{
16491 		tyObject_TType__facALICuu8zUj0hjvbTLFg* operand_3;
16492 		NIM_BOOL cond;
16493 		NIM_BOOL T65_;
16494 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T67_;
16495 		operand_3 = skipTypes__ast_3735(operand_2, TM__rF9caJawfOjYTjsgLVUSGFA_331);
16496 		T65_ = (NIM_BOOL)0;
16497 		T65_ = ((*operand_3).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
16498 		if (!(T65_)) goto LA66_;
16499 		T65_ = !(((*operand_3).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
16500 		LA66_: ;
16501 		cond = T65_;
16502 		T67_ = toInt128__types_1378(cond);
16503 		result = newIntNodeT__semfold_57(T67_, traitCall, (*c).Sup.idgen, (*c).graph);
16504 	}
16505 	goto LA28_;
16506 	LA25_: ;
16507 	{
16508 		tyObject_TType__facALICuu8zUj0hjvbTLFg* operand_4;
16509 		NI T69_;
16510 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T70_;
16511 		operand_4 = skipTypes__ast_3735(operand_2, TM__rF9caJawfOjYTjsgLVUSGFA_331);
16512 		T69_ = (NI)0;
16513 		T69_ = len__ast_4002(operand_4);
16514 		T70_ = toInt128__types_1378(T69_);
16515 		result = newIntNodeT__semfold_57(T70_, traitCall, (*c).Sup.idgen, (*c).graph);
16516 	}
16517 	goto LA28_;
16518 	LA26_: ;
16519 	{
16520 		tyObject_TType__facALICuu8zUj0hjvbTLFg* arg_2;
16521 		NIM_BOOL rec;
16522 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T72_;
16523 		arg_2 = skipTypes__ast_3735(operand_2, TM__rF9caJawfOjYTjsgLVUSGFA_331);
16524 		T72_ = NIM_NIL;
16525 		T72_ = semConstExpr__sem_611(c, (*traitCall)._kind_6.sons->data[((NI) 2)]);
16526 		rec = !(((*T72_)._kind_1.intVal == IL64(0)));
16527 		{
16528 			while (1) {
16529 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T75_;
16530 				if (!((*arg_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA74;
16531 				T75_ = NIM_NIL;
16532 				T75_ = base__types_63(arg_2);
16533 				arg_2 = skipTypes__ast_3735(T75_, TM__rF9caJawfOjYTjsgLVUSGFA_332);
16534 				{
16535 					if (!!(rec)) goto LA78_;
16536 					goto LA73;
16537 				}
16538 				LA78_: ;
16539 			} LA74: ;
16540 		} LA73: ;
16541 		result = getTypeDescNode__sem_15447(c, arg_2, (*operand_2).owner, (*traitCall).info);
16542 	}
16543 	goto LA28_;
16544 	LA27_: ;
16545 	{
16546 		NimStringDesc* T81_;
16547 		T81_ = NIM_NIL;
16548 		T81_ = rawNewString((s ? s->Sup.len : 0) + 15);
16549 appendString(T81_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_333));
16550 appendString(T81_, s);
16551 		liMessage__msgs_1118((*(*c).graph).config, (*traitCall).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T81_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_334, NIM_FALSE);
16552 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*traitCall).info);
16553 	}
16554 	LA28_: ;
16555 	}BeforeRet_: ;
16556 	return result;
16557 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTypeTraits__sem_15631)16558 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTypeTraits__sem_15631)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16559 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16560 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
16561 	result = NIM_NIL;
16562 	checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
16563 	t = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
16564 	{
16565 		NIM_BOOL T3_;
16566 		NimStringDesc* argX60gensym4046_;
16567 		T3_ = (NIM_BOOL)0;
16568 		T3_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
16569 		if (!(T3_)) goto LA4_;
16570 		T3_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
16571 		LA4_: ;
16572 		if (!!(T3_)) goto LA5_;
16573 		argX60gensym4046_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_304);
16574 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym4046_, TM__rF9caJawfOjYTjsgLVUSGFA_304);
16575 	}
16576 	LA5_: ;
16577 	{
16578 		NI T9_;
16579 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T12_;
16580 		T9_ = (NI)0;
16581 		T9_ = len__ast_4002(t);
16582 		if (!(((NI) 0) < T9_)) goto LA10_;
16583 		T12_ = NIM_NIL;
16584 		T12_ = getCurrOwner__semdata_315(c);
16585 		result = evalTypeTrait__sem_15454(c, n, t, T12_);
16586 	}
16587 	goto LA7_;
16588 	LA10_: ;
16589 	{
16590 		result = n;
16591 	}
16592 	LA7_: ;
16593 	return result;
16594 }
N_NIMCALL(NI,expectIntLit__sem_15390)16595 N_LIB_PRIVATE N_NIMCALL(NI, expectIntLit__sem_15390)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16596 	NI result;
16597 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
16598 	result = (NI)0;
16599 	x = (*c).semConstExpr(c, n);
16600 	switch ((*x).kind) {
16601 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10):
16602 	{
16603 		result = ((NI) ((*x)._kind_1.intVal));
16604 	}
16605 	break;
16606 	default:
16607 	{
16608 		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);
16609 	}
16610 	break;
16611 	}
16612 	return result;
16613 }
N_INLINE(NI,toLinenumber__msgs_609)16614 static N_INLINE(NI, toLinenumber__msgs_609)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
16615 	NI result;
16616 	result = (NI)0;
16617 	result = ((NI) (info.line));
16618 	return result;
16619 }
N_INLINE(NI,toColumn__msgs_612)16620 static N_INLINE(NI, toColumn__msgs_612)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
16621 	NI result;
16622 	result = (NI)0;
16623 	result = ((NI) (info.col));
16624 	return result;
16625 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semInstantiationInfo__sem_15397)16626 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semInstantiationInfo__sem_15397)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16627 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16628 	NI idx;
16629 	NI useFullPaths;
16630 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
16631 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* filename;
16632 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
16633 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* line;
16634 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T22_;
16635 	NI T23_;
16636 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* column;
16637 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T24_;
16638 	NI T25_;
16639 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T26_;
16640 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
16641 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T28_;
16642 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T29_;
16643 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T30_;
16644 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
16645 	result = NIM_NIL;
16646 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), (*n).info, (*n).typ);
16647 	idx = expectIntLit__sem_15390(c, (*n)._kind_6.sons->data[((NI) 1)]);
16648 	useFullPaths = expectIntLit__sem_15390(c, (*n)._kind_6.sons->data[((NI) 2)]);
16649 	info = getInfoContext__msgs_516((*(*c).graph).config, idx);
16650 	T1_ = NIM_NIL;
16651 	T1_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28));
16652 	filename = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), (*n).info, T1_);
16653 	{
16654 		if (!!((useFullPaths == ((NI) 0)))) goto LA4_;
16655 		asgnRef((void**) (&(*filename)._kind_3.strVal), toFullPath__msgs_538((*(*c).graph).config, info.fileIndex));
16656 	}
16657 	goto LA2_;
16658 	LA4_: ;
16659 	{
16660 		{
16661 			NIM_BOOL T9_;
16662 			T9_ = (NIM_BOOL)0;
16663 			T9_ = (info.fileIndex < ((NI32) 0));
16664 			if (T9_) goto LA10_;
16665 			T9_ = ((*(*c).graph).config == ((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL));
16666 			LA10_: ;
16667 			if (!T9_) goto LA11_;
16668 			{
16669 				NimStringDesc* T17_;
16670 				if (!(info.fileIndex == ((NI32) -3))) goto LA15_;
16671 				T17_ = NIM_NIL;
16672 				T17_ = (*filename)._kind_3.strVal; (*filename)._kind_3.strVal = copyStringRC1(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_337));
16673 				if (T17_) nimGCunrefNoCycle(T17_);
16674 			}
16675 			goto LA13_;
16676 			LA15_: ;
16677 			{
16678 				NimStringDesc* T19_;
16679 				T19_ = NIM_NIL;
16680 				T19_ = (*filename)._kind_3.strVal; (*filename)._kind_3.strVal = copyStringRC1(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_338));
16681 				if (T19_) nimGCunrefNoCycle(T19_);
16682 			}
16683 			LA13_: ;
16684 		}
16685 		goto LA7_;
16686 		LA11_: ;
16687 		{
16688 			NimStringDesc* T21_;
16689 			T21_ = NIM_NIL;
16690 			T21_ = (*filename)._kind_3.strVal; (*filename)._kind_3.strVal = copyStringRC1((*(*(*c).graph).config).m.fileInfos->data[info.fileIndex].shortName);
16691 			if (T21_) nimGCunrefNoCycle(T21_);
16692 		}
16693 		LA7_: ;
16694 	}
16695 	LA2_: ;
16696 	T22_ = NIM_NIL;
16697 	T22_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
16698 	line = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), (*n).info, T22_);
16699 	T23_ = (NI)0;
16700 	T23_ = toLinenumber__msgs_609(info);
16701 	(*line)._kind_1.intVal = ((NI64) (T23_));
16702 	T24_ = NIM_NIL;
16703 	T24_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
16704 	column = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), (*n).info, T24_);
16705 	T25_ = (NI)0;
16706 	T25_ = toColumn__msgs_612(info);
16707 	(*column)._kind_1.intVal = ((NI64) (T25_));
16708 	nimZeroMem((void*)T26_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
16709 	T26_[0] = (*(*(*n).typ).n)._kind_6.sons->data[((NI) 0)];
16710 	T26_[1] = filename;
16711 	T27_ = NIM_NIL;
16712 	T27_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34), T26_, 2);
16713 	add__ast_4797(result, T27_);
16714 	nimZeroMem((void*)T28_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
16715 	T28_[0] = (*(*(*n).typ).n)._kind_6.sons->data[((NI) 1)];
16716 	T28_[1] = line;
16717 	T29_ = NIM_NIL;
16718 	T29_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34), T28_, 2);
16719 	add__ast_4797(result, T29_);
16720 	nimZeroMem((void*)T30_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
16721 	T30_[0] = (*(*(*n).typ).n)._kind_6.sons->data[((NI) 2)];
16722 	T30_[1] = column;
16723 	T31_ = NIM_NIL;
16724 	T31_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34), T30_, 2);
16725 	add__ast_4797(result, T31_);
16726 	return result;
16727 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semOrd__sem_15652)16728 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOrd__sem_15652)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16729 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16730 	tyObject_TType__facALICuu8zUj0hjvbTLFg* parType;
16731 	result = NIM_NIL;
16732 	result = n;
16733 	parType = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
16734 	{
16735 		NIM_BOOL T3_;
16736 		T3_ = (NIM_BOOL)0;
16737 		T3_ = isOrdinalType__types_299(parType, NIM_TRUE);
16738 		if (!T3_) goto LA4_;
16739 	}
16740 	goto LA1_;
16741 	LA4_: ;
16742 	{
16743 		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);
16744 		asgnRef((void**) (&(*result).typ), errorType__semdata_1002(c));
16745 	}
16746 	LA1_: ;
16747 	return result;
16748 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semOf__sem_15757)16749 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOf__sem_15757)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16750 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16751 {	result = NIM_NIL;
16752 	{
16753 		NI T3_;
16754 		tyObject_TType__facALICuu8zUj0hjvbTLFg* a;
16755 		tyObject_TType__facALICuu8zUj0hjvbTLFg* b;
16756 		tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
16757 		tyObject_TType__facALICuu8zUj0hjvbTLFg* y;
16758 		T3_ = (NI)0;
16759 		T3_ = len__ast_3198(n);
16760 		if (!(T3_ == ((NI) 3))) goto LA4_;
16761 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 0));
16762 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 2)], 512));
16763 		a = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_97);
16764 		b = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 2)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_97);
16765 		x = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_341);
16766 		y = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 2)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_341);
16767 		{
16768 			NIM_BOOL T8_;
16769 			T8_ = (NIM_BOOL)0;
16770 			T8_ = ((*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
16771 			if (T8_) goto LA9_;
16772 			T8_ = !(((*y).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)));
16773 			LA9_: ;
16774 			if (!T8_) goto LA10_;
16775 			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);
16776 		}
16777 		goto LA6_;
16778 		LA10_: ;
16779 		{
16780 			NIM_BOOL T13_;
16781 			T13_ = (NIM_BOOL)0;
16782 			T13_ = !(((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)));
16783 			if (T13_) goto LA14_;
16784 			T13_ = !(((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)));
16785 			LA14_: ;
16786 			if (!T13_) goto LA15_;
16787 			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);
16788 		}
16789 		goto LA6_;
16790 		LA15_: ;
16791 		{
16792 			NI diff;
16793 			diff = inheritanceDiff__types_2676(a, b);
16794 			{
16795 				NimStringDesc* T22_;
16796 				if (!(diff <= ((NI) 0))) goto LA20_;
16797 				T22_ = NIM_NIL;
16798 				T22_ = renderTree__renderer_46(n, 0);
16799 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 85), T22_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_345, NIM_FALSE);
16800 				result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(1));
16801 				(*result).info = (*n).info;
16802 				asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
16803 				goto BeforeRet_;
16804 			}
16805 			goto LA18_;
16806 			LA20_: ;
16807 			{
16808 				if (!(diff == ((NI) 2147483647))) goto LA24_;
16809 				{
16810 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T28_;
16811 					NimStringDesc* T31_;
16812 					NimStringDesc* T32_;
16813 					T28_ = NIM_NIL;
16814 					T28_ = commonSuperclass__types_2738(a, b);
16815 					if (!(T28_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA29_;
16816 					T31_ = NIM_NIL;
16817 					T31_ = typeToString__types_50(a, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
16818 					T32_ = NIM_NIL;
16819 					T32_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_346), T31_);
16820 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T32_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_347, NIM_FALSE);
16821 				}
16822 				goto LA26_;
16823 				LA29_: ;
16824 				{
16825 					NimStringDesc* T34_;
16826 					T34_ = NIM_NIL;
16827 					T34_ = renderTree__renderer_46(n, 0);
16828 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 86), T34_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_348, NIM_FALSE);
16829 					result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(0));
16830 					(*result).info = (*n).info;
16831 					asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
16832 				}
16833 				LA26_: ;
16834 			}
16835 			goto LA18_;
16836 			LA24_: ;
16837 			LA18_: ;
16838 		}
16839 		LA6_: ;
16840 	}
16841 	goto LA1_;
16842 	LA4_: ;
16843 	{
16844 		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);
16845 	}
16846 	LA1_: ;
16847 	asgnRef((void**) (&(*n).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
16848 	result = n;
16849 	}BeforeRet_: ;
16850 	return result;
16851 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semLowHigh__sem_14549)16852 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semLowHigh__sem_14549)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m) {
16853 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16854 	result = NIM_NIL;
16855 	{
16856 		NI T3_;
16857 		NimStringDesc* T6_;
16858 		T3_ = (NI)0;
16859 		T3_ = len__ast_3198(n);
16860 		if (!!((T3_ == ((NI) 2)))) goto LA4_;
16861 		T6_ = NIM_NIL;
16862 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_351), opToStr__sem_14554[(m)- 8]);
16863 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_354, NIM_FALSE);
16864 	}
16865 	goto LA1_;
16866 	LA4_: ;
16867 	{
16868 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
16869 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 512));
16870 		typ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_355);
16871 		switch ((*typ).kind) {
16872 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
16873 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
16874 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
16875 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
16876 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
16877 		{
16878 			asgnRef((void**) (&(*n).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31)));
16879 		}
16880 		break;
16881 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
16882 		{
16883 			asgnRef((void**) (&(*n).typ), (*typ).sons->data[((NI) 0)]);
16884 			{
16885 				NIM_BOOL T12_;
16886 				T12_ = (NIM_BOOL)0;
16887 				T12_ = ((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20));
16888 				if (!(T12_)) goto LA13_;
16889 				T12_ = emptyRange__nimsets_273((*(*(*n).typ).n)._kind_6.sons->data[((NI) 0)], (*(*(*n).typ).n)._kind_6.sons->data[((NI) 1)]);
16890 				LA13_: ;
16891 				if (!T12_) goto LA14_;
16892 				asgnRef((void**) (&(*n).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31)));
16893 			}
16894 			LA14_: ;
16895 		}
16896 		break;
16897 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
16898 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
16899 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
16900 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
16901 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
16902 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38):
16903 		{
16904 			asgnRef((void**) (&(*n).typ), skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123));
16905 		}
16906 		break;
16907 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
16908 		{
16909 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
16910 			T18_ = NIM_NIL;
16911 			T18_ = copyTree__ast_4431(n);
16912 			asgnRef((void**) (&(*n).typ), makeTypeFromExpr__semdata_804(c, T18_));
16913 		}
16914 		break;
16915 		default:
16916 		{
16917 			NimStringDesc* T20_;
16918 			T20_ = NIM_NIL;
16919 			T20_ = rawNewString((opToStr__sem_14554[(m)- 8] ? opToStr__sem_14554[(m)- 8]->Sup.len : 0) + 22);
16920 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_356));
16921 appendString(T20_, opToStr__sem_14554[(m)- 8]);
16922 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_357, NIM_FALSE);
16923 		}
16924 		break;
16925 		}
16926 	}
16927 	LA1_: ;
16928 	result = n;
16929 	return result;
16930 }
N_INLINE(NIM_BOOL,isCompileTimeProc__ast_4683)16931 static N_INLINE(NIM_BOOL, isCompileTimeProc__ast_4683)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
16932 	NIM_BOOL result;
16933 	NIM_BOOL T1_;
16934 	NIM_BOOL T3_;
16935 	result = (NIM_BOOL)0;
16936 	T1_ = (NIM_BOOL)0;
16937 	T1_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
16938 	if (T1_) goto LA2_;
16939 	T3_ = (NIM_BOOL)0;
16940 	T3_ = ((12288 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
16941 	if (!(T3_)) goto LA4_;
16942 	T3_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0);
16943 	LA4_: ;
16944 	T1_ = T3_;
16945 	LA2_: ;
16946 	result = T1_;
16947 	return result;
16948 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semBindSym__sem_15658)16949 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBindSym__sem_15658)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
16950 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
16951 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sl;
16952 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* isMixin;
16953 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* id;
16954 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T13_;
16955 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
16956 {	result = NIM_NIL;
16957 	result = copyNode__ast_4336(n);
16958 	add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 0)]);
16959 	sl = semConstExpr__sem_611(c, (*n)._kind_6.sons->data[((NI) 1)]);
16960 	{
16961 		if (!!(((*sl).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) || (*sl).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 21) || (*sl).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22)))) goto LA3_;
16962 		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);
16963 		result = errorNode__semdata_1009(c, n);
16964 		goto BeforeRet_;
16965 	}
16966 	LA3_: ;
16967 	isMixin = semConstExpr__sem_611(c, (*n)._kind_6.sons->data[((NI) 2)]);
16968 	{
16969 		NIM_BOOL T7_;
16970 		NIM_BOOL T8_;
16971 		T7_ = (NIM_BOOL)0;
16972 		T8_ = (NIM_BOOL)0;
16973 		T8_ = !(((*isMixin).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)));
16974 		if (T8_) goto LA9_;
16975 		T8_ = ((*isMixin)._kind_1.intVal < IL64(0));
16976 		LA9_: ;
16977 		T7_ = T8_;
16978 		if (T7_) goto LA10_;
16979 		T7_ = (IL64(2) < (*isMixin)._kind_1.intVal);
16980 		LA10_: ;
16981 		if (!T7_) goto LA11_;
16982 		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);
16983 		result = errorNode__semdata_1009(c, n);
16984 		goto BeforeRet_;
16985 	}
16986 	LA11_: ;
16987 	T13_ = NIM_NIL;
16988 	T13_ = getIdent__idents_143((*c).cache, (*sl)._kind_3.strVal);
16989 	id = newIdentNode__ast_3712(T13_, (*n).info);
16990 	s = qualifiedLookUp__lookups_1233(c, id, 2);
16991 	{
16992 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sc;
16993 		if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA16_;
16994 		sc = symChoice__sem_6586(c, id, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) ((*isMixin)._kind_1.intVal)), NIM_FALSE);
16995 		{
16996 			NIM_BOOL T20_;
16997 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T22_;
16998 			T20_ = (NIM_BOOL)0;
16999 			T20_ = (((NI) 0) < (*c).inStaticContext);
17000 			if (T20_) goto LA21_;
17001 			T22_ = NIM_NIL;
17002 			T22_ = getCurrOwner__semdata_315(c);
17003 			T20_ = isCompileTimeProc__ast_4683(T22_);
17004 			LA21_: ;
17005 			if (!!(T20_)) goto LA23_;
17006 			result = sc;
17007 			goto BeforeRet_;
17008 		}
17009 		LA23_: ;
17010 		add__ast_4797(result, sc);
17011 	}
17012 	goto LA14_;
17013 	LA16_: ;
17014 	{
17015 		errorUndeclaredIdentifier__lookups_1199(c, (*(*n)._kind_6.sons->data[((NI) 1)]).info, (*sl)._kind_3.strVal, ((NimStringDesc*) NIM_NIL));
17016 	}
17017 	LA14_: ;
17018 	}BeforeRet_: ;
17019 	return result;
17020 }
N_NIMCALL(void,Marker_tyRef__IqGNbqKVyQ9b9an5n9bN8QJsQ)17021 static N_NIMCALL(void, Marker_tyRef__IqGNbqKVyQ9b9an5n9bN8QJsQ)(void* p, NI op) {
17022 	tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg* a;
17023 	a = (tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg*)p;
17024 	nimGCvisit((void*)(*a).c1, op);
17025 	nimGCvisit((void*)(*a).scope2, op);
17026 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,opBindSym__sem_15697)17027 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) {
17028 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17029 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* id;
17030 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* tmpScope;
17031 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
17032 {	result = NIM_NIL;
17033 	{
17034 		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_;
17035 		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);
17036 		result = errorNode__semdata_1009(c, n);
17037 		goto BeforeRet_;
17038 	}
17039 	LA3_: ;
17040 	{
17041 		NIM_BOOL T7_;
17042 		T7_ = (NIM_BOOL)0;
17043 		T7_ = (isMixin < ((NI) 0));
17044 		if (T7_) goto LA8_;
17045 		T7_ = (((NI) 2) < isMixin);
17046 		LA8_: ;
17047 		if (!T7_) goto LA9_;
17048 		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);
17049 		result = errorNode__semdata_1009(c, n);
17050 		goto BeforeRet_;
17051 	}
17052 	LA9_: ;
17053 	{
17054 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA13_;
17055 		id = n;
17056 	}
17057 	goto LA11_;
17058 	LA13_: ;
17059 	{
17060 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T16_;
17061 		T16_ = NIM_NIL;
17062 		T16_ = getIdent__idents_143((*c).cache, (*n)._kind_3.strVal);
17063 		id = newIdentNode__ast_3712(T16_, (*info).info);
17064 	}
17065 	LA11_: ;
17066 	tmpScope = (*c).currentScope;
17067 	asgnRef((void**) (&(*c).currentScope), scope);
17068 	s = qualifiedLookUp__lookups_1233(c, id, 2);
17069 	{
17070 		if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA19_;
17071 		result = symChoice__sem_6586(c, id, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) (isMixin)), NIM_FALSE);
17072 	}
17073 	goto LA17_;
17074 	LA19_: ;
17075 	{
17076 		NimStringDesc* T22_;
17077 		T22_ = NIM_NIL;
17078 		{
17079 			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA25_;
17080 			T22_ = copyString((*(*n)._kind_5.ident).s);
17081 		}
17082 		goto LA23_;
17083 		LA25_: ;
17084 		{
17085 			T22_ = copyString((*n)._kind_3.strVal);
17086 		}
17087 		LA23_: ;
17088 		errorUndeclaredIdentifier__lookups_1199(c, (*info).info, T22_, ((NimStringDesc*) NIM_NIL));
17089 	}
17090 	LA17_: ;
17091 	asgnRef((void**) (&(*c).currentScope), tmpScope);
17092 	}BeforeRet_: ;
17093 	return result;
17094 }
N_CLOSURE(void,bindSymWrapper__sem_15736)17095 N_LIB_PRIVATE N_CLOSURE(void, bindSymWrapper__sem_15736)(tyObject_VmArgs__0UUl6e5CNNQfMon2xW2bVA* a, void* ClE_0) {
17096 	tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg* colonenvP_;
17097 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
17098 	NI64 T2_;
17099 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
17100 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
17101 	colonenvP_ = (tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg*) ClE_0;
17102 	T1_ = NIM_NIL;
17103 	T1_ = getNode__vm_330(a, ((NI) 0));
17104 	T2_ = (NI64)0;
17105 	T2_ = getInt__vm_273(a, ((NI) 1));
17106 	T3_ = NIM_NIL;
17107 	T3_ = getNode__vm_330(a, ((NI) 2));
17108 	T4_ = NIM_NIL;
17109 	T4_ = opBindSym__sem_15697((*colonenvP_).c1, (*colonenvP_).scope2, T1_, ((NI) (T2_)), T3_);
17110 	setResult__vm_246(a, T4_);
17111 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semDynamicBindSym__sem_15727)17112 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDynamicBindSym__sem_15727)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
17113 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17114 	tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg* colonenv_;
17115 	tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw* vm;
17116 	NI idx;
17117 	tyProc__5QC9cKfPJmKuW0XbCTd8ylA T12_;
17118 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* idxNode;
17119 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T13_;
17120 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T14_;
17121 {	result = NIM_NIL;
17122 	colonenv_ = NIM_NIL;
17123 	colonenv_ = (tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg*) newObj((&NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_), sizeof(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg));
17124 	(*colonenv_).Sup.m_type = (&NTIobject__LF0eKAnygFo4etNDdpTetg_);
17125 	asgnRef((void**) (&(*colonenv_).c1), c);
17126 	{
17127 		NIM_BOOL T3_;
17128 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T5_;
17129 		T3_ = (NIM_BOOL)0;
17130 		T3_ = (((NI) 0) < (*(*colonenv_).c1).inStaticContext);
17131 		if (T3_) goto LA4_;
17132 		T5_ = NIM_NIL;
17133 		T5_ = getCurrOwner__semdata_315((*colonenv_).c1);
17134 		T3_ = isCompileTimeProc__ast_4683(T5_);
17135 		LA4_: ;
17136 		if (!!(T3_)) goto LA6_;
17137 		result = semBindSym__sem_15658((*colonenv_).c1, n);
17138 		goto BeforeRet_;
17139 	}
17140 	LA6_: ;
17141 	{
17142 		if (!((*(*(*colonenv_).c1).graph).vm == 0)) goto LA10_;
17143 		setupGlobalCtx__vm_13671((*(*colonenv_).c1).module, (*(*colonenv_).c1).graph, (*(*colonenv_).c1).Sup.idgen);
17144 	}
17145 	LA10_: ;
17146 	vm = (*((tyObject_TCtx__S3Av1Ng7MBWGEZZBhfDYCw**) (&((*(*(*colonenv_).c1).graph).vm))));
17147 	asgnRef((void**) (&(*colonenv_).scope2), (*(*colonenv_).c1).currentScope);
17148 	nimZeroMem((void*)(&T12_), sizeof(tyProc__5QC9cKfPJmKuW0XbCTd8ylA));
17149 	T12_.ClP_0 = bindSymWrapper__sem_15736; T12_.ClE_0 = colonenv_;
17150 	idx = registerCallback__vmdef_433(vm, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_363), T12_);
17151 	nimZeroMem((void*)(&T13_), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
17152 	T14_ = NIM_NIL;
17153 	T14_ = getSysType__magicsys_60((*(*colonenv_).c1).graph, T13_, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
17154 	idxNode = newIntTypeNode__ast_3783(((NI64) (idx)), T14_);
17155 	result = copyNode__ast_4336(n);
17156 	{
17157 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
17158 		x = NIM_NIL;
17159 		{
17160 			NI i;
17161 			NI colontmp_;
17162 			NI i_2;
17163 			i = (NI)0;
17164 			colontmp_ = (NI)0;
17165 			colontmp_ = safeLen__ast_3191(n);
17166 			i_2 = ((NI) 0);
17167 			{
17168 				while (1) {
17169 					if (!(i_2 < colontmp_)) goto LA18;
17170 					i = i_2;
17171 					x = (*n)._kind_6.sons->data[i];
17172 					add__ast_4797(result, x);
17173 					i_2 += ((NI) 1);
17174 				} LA18: ;
17175 			}
17176 		}
17177 	}
17178 	add__ast_4797(result, n);
17179 	add__ast_4797(result, idxNode);
17180 	}BeforeRet_: ;
17181 	return result;
17182 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,whereToBindTypeHook__sem_12681)17183 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, whereToBindTypeHook__sem_12681)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
17184 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
17185 	result = NIM_NIL;
17186 	result = t;
17187 	{
17188 		while (1) {
17189 			{
17190 				if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10) || (*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11))) goto LA5_;
17191 				result = lastSon__ast_3743(result);
17192 			}
17193 			goto LA3_;
17194 			LA5_: ;
17195 			{
17196 				if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA8_;
17197 				result = (*result).sons->data[((NI) 0)];
17198 			}
17199 			goto LA3_;
17200 			LA8_: ;
17201 			{
17202 				goto LA1;
17203 			}
17204 			LA3_: ;
17205 		}
17206 	} LA1: ;
17207 	{
17208 		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_;
17209 		result = canonType__sem_12663(c, result);
17210 	}
17211 	LA13_: ;
17212 	return result;
17213 }
N_NIMCALL(void,Marker_tyRef__s6znTCfmZMSZG9absJgsa1w)17214 static N_NIMCALL(void, Marker_tyRef__s6znTCfmZMSZG9absJgsa1w)(void* p, NI op) {
17215 	tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw* a;
17216 	a = (tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw*)p;
17217 	nimGCvisit((void*)(*a).orig1, op);
17218 }
N_CLOSURE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,transform__sem_15878)17219 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) {
17220 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17221 	tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw* colonenvP_;
17222 	result = NIM_NIL;
17223 	colonenvP_ = (tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw*) ClE_0;
17224 	result = shallowCopy__ast_4413(n);
17225 	{
17226 		NIM_BOOL T3_;
17227 		T3_ = (NIM_BOOL)0;
17228 		T3_ = sameTypeOrNil__types_1839((*n).typ, old, 0);
17229 		if (!T3_) goto LA4_;
17230 		asgnRef((void**) (&(*result).typ), fresh);
17231 	}
17232 	LA4_: ;
17233 	{
17234 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA8_;
17235 		{
17236 			if (!((*n)._kind_4.sym == oldParam)) goto LA12_;
17237 			asgnRef((void**) (&(*result)._kind_4.sym), newParam);
17238 		}
17239 		goto LA10_;
17240 		LA12_: ;
17241 		{
17242 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T17_;
17243 			if (!((*(*n)._kind_4.sym).owner == (*colonenvP_).orig1)) goto LA15_;
17244 			T17_ = nextSymId__ast_3132((*c).Sup.idgen);
17245 			asgnRef((void**) (&(*result)._kind_4.sym), copySym__ast_4054((*n)._kind_4.sym, T17_));
17246 			asgnRef((void**) (&(*(*result)._kind_4.sym).owner), procSym);
17247 		}
17248 		goto LA10_;
17249 		LA15_: ;
17250 		LA10_: ;
17251 	}
17252 	LA8_: ;
17253 	{
17254 		NI i;
17255 		NI colontmp_;
17256 		NI i_2;
17257 		i = (NI)0;
17258 		colontmp_ = (NI)0;
17259 		colontmp_ = safeLen__ast_3191(n);
17260 		i_2 = ((NI) 0);
17261 		{
17262 			while (1) {
17263 				tyProc__9aCo26f5IRYbBmS07lBztwA T21_;
17264 				if (!(i_2 < colontmp_)) goto LA20;
17265 				i = i_2;
17266 				nimZeroMem((void*)(&T21_), sizeof(tyProc__9aCo26f5IRYbBmS07lBztwA));
17267 				T21_.ClP_0 = transform__sem_15878; T21_.ClE_0 = colonenvP_;
17268 				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));
17269 				i_2 += ((NI) 1);
17270 			} LA20: ;
17271 		}
17272 	}
17273 	return result;
17274 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,turnFinalizerIntoDestructor__sem_15873)17275 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, turnFinalizerIntoDestructor__sem_15873)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* orig, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
17276 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
17277 	tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw* colonenv_;
17278 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
17279 	tyObject_TType__facALICuu8zUj0hjvbTLFg* origParamType;
17280 	tyObject_TType__facALICuu8zUj0hjvbTLFg* newParamType;
17281 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
17282 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* oldParam;
17283 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* newParam;
17284 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T3_;
17285 	tyProc__9aCo26f5IRYbBmS07lBztwA T4_;
17286 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T5_;
17287 	result = NIM_NIL;
17288 	colonenv_ = NIM_NIL;
17289 	colonenv_ = (tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw*) newObj((&NTIrefobject__s6znTCfmZMSZG9absJgsa1w_), sizeof(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw));
17290 	(*colonenv_).Sup.m_type = (&NTIobject__irrxU9bX4WBQP9bu3Q627FYw_);
17291 	asgnRef((void**) (&(*colonenv_).orig1), orig);
17292 	T1_ = nextSymId__ast_3132((*c).Sup.idgen);
17293 	result = copySym__ast_4054((*colonenv_).orig1, T1_);
17294 	(*result).info = info;
17295 	(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2)) & 63);
17296 	asgnRef((void**) (&(*result).owner), (*colonenv_).orig1);
17297 	origParamType = (*(*(*colonenv_).orig1).typ).sons->data[((NI) 1)];
17298 	T2_ = NIM_NIL;
17299 	T2_ = skipTypes__ast_3735(origParamType, TM__rF9caJawfOjYTjsgLVUSGFA_97);
17300 	newParamType = makeVarType__semdata_775(result, T2_, (*c).Sup.idgen, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
17301 	oldParam = (*(*(*(*(*colonenv_).orig1).typ).n)._kind_6.sons->data[((NI) 1)])._kind_4.sym;
17302 	T3_ = nextSymId__ast_3132((*c).Sup.idgen);
17303 	newParam = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3), (*oldParam).name, T3_, result, (*result).info, 0);
17304 	asgnRef((void**) (&(*newParam).typ), newParamType);
17305 	nimZeroMem((void*)(&T4_), sizeof(tyProc__9aCo26f5IRYbBmS07lBztwA));
17306 	T4_.ClP_0 = transform__sem_15878; T4_.ClE_0 = colonenv_;
17307 	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));
17308 	T5_ = nextTypeId__ast_3151((*c).Sup.idgen);
17309 	asgnRef((void**) (&(*result).typ), newProcType__ast_5056((*result).info, T5_, result));
17310 	addParam__ast_5065((*result).typ, newParam);
17311 	return result;
17312 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,unownedType__sem_15813)17313 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, unownedType__sem_15813)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
17314 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
17315 	result = NIM_NIL;
17316 	switch ((*t).kind) {
17317 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
17318 	{
17319 		tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* elems;
17320 		NI T2_;
17321 		NIM_BOOL someChange;
17322 		T2_ = (NI)0;
17323 		T2_ = len__ast_4002(t);
17324 		elems = newSeq__modulegraphs_2893(((NI) (T2_)));
17325 		someChange = NIM_FALSE;
17326 		{
17327 			NI i;
17328 			NI colontmp_;
17329 			NI i_2;
17330 			i = (NI)0;
17331 			colontmp_ = (NI)0;
17332 			colontmp_ = len__ast_4002(t);
17333 			i_2 = ((NI) 0);
17334 			{
17335 				while (1) {
17336 					if (!(i_2 < colontmp_)) goto LA5;
17337 					i = i_2;
17338 					asgnRef((void**) (&elems->data[i]), unownedType__sem_15813(c, (*t).sons->data[i]));
17339 					{
17340 						if (!!((elems->data[i] == (*t).sons->data[i]))) goto LA8_;
17341 						someChange = NIM_TRUE;
17342 					}
17343 					LA8_: ;
17344 					i_2 += ((NI) 1);
17345 				} LA5: ;
17346 			}
17347 		}
17348 		{
17349 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T14_;
17350 			if (!someChange) goto LA12_;
17351 			T14_ = nextTypeId__ast_3151((*c).Sup.idgen);
17352 			result = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18), T14_, (*t).owner);
17353 			{
17354 				tyObject_TType__facALICuu8zUj0hjvbTLFg** e;
17355 				NI i_3;
17356 				NI L;
17357 				NI T16_;
17358 				e = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
17359 				i_3 = ((NI) 0);
17360 				T16_ = (elems ? elems->Sup.len : 0);
17361 				L = T16_;
17362 				{
17363 					while (1) {
17364 						if (!(i_3 < L)) goto LA18;
17365 						e = &elems->data[i_3];
17366 						rawAddSon__ast_4288(result, (*e), NIM_TRUE);
17367 						i_3 += ((NI) 1);
17368 					} LA18: ;
17369 				}
17370 			}
17371 		}
17372 		goto LA10_;
17373 		LA12_: ;
17374 		{
17375 			result = t;
17376 		}
17377 		LA10_: ;
17378 	}
17379 	break;
17380 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
17381 	{
17382 		result = (*t).sons->data[((NI) 0)];
17383 	}
17384 	break;
17385 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
17386 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
17387 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
17388 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
17389 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
17390 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
17391 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
17392 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
17393 	{
17394 		tyObject_TType__facALICuu8zUj0hjvbTLFg* b;
17395 		NI T22_;
17396 		T22_ = (NI)0;
17397 		T22_ = len__ast_4002(t);
17398 		b = unownedType__sem_15813(c, (*t).sons->data[(NI)(T22_ - ((NI) 1))]);
17399 		{
17400 			NI T25_;
17401 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T28_;
17402 			NI T29_;
17403 			T25_ = (NI)0;
17404 			T25_ = len__ast_4002(t);
17405 			if (!!((b == (*t).sons->data[(NI)(T25_ - ((NI) 1))]))) goto LA26_;
17406 			T28_ = nextTypeId__ast_3151((*c).Sup.idgen);
17407 			result = copyType__ast_4046(t, T28_, (*t).owner);
17408 			copyTypeProps__modulegraphs_8872((*c).graph, ((NI) ((*(*c).Sup.idgen).module)), result, t);
17409 			T29_ = (NI)0;
17410 			T29_ = len__ast_4002(result);
17411 			asgnRef((void**) (&(*result).sons->data[(NI)(T29_ - ((NI) 1))]), b);
17412 			(*result).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4)) & 63));
17413 		}
17414 		goto LA23_;
17415 		LA26_: ;
17416 		{
17417 			result = t;
17418 		}
17419 		LA23_: ;
17420 	}
17421 	break;
17422 	default:
17423 	{
17424 		result = t;
17425 	}
17426 	break;
17427 	}
17428 	return result;
17429 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semUnown__sem_15809)17430 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semUnown__sem_15809)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
17431 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17432 	result = NIM_NIL;
17433 	result = copyTree__ast_4431((*n)._kind_6.sons->data[((NI) 1)]);
17434 	asgnRef((void**) (&(*result).typ), unownedType__sem_15813(c, (*result).typ));
17435 	return result;
17436 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semQuantifier__sem_15916)17437 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semQuantifier__sem_15916)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
17438 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17439 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
17440 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* args;
17441 	NI T26_;
17442 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
17443 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
17444 	result = NIM_NIL;
17445 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
17446 	T1_ = NIM_NIL;
17447 	T1_ = openScope__lookups_69(c);
17448 	result = newNodeIT__ast_3378((*n).kind, (*n).info, (*n).typ);
17449 	add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 0)]);
17450 	args = (*n)._kind_6.sons->data[((NI) 1)];
17451 	{
17452 		NI i;
17453 		NI colontmp_;
17454 		NI T3_;
17455 		NI res;
17456 		i = (NI)0;
17457 		colontmp_ = (NI)0;
17458 		T3_ = (NI)0;
17459 		T3_ = len__ast_3198(args);
17460 		colontmp_ = (NI)(T3_ - ((NI) 2));
17461 		res = ((NI) 0);
17462 		{
17463 			while (1) {
17464 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
17465 				NIM_BOOL valid;
17466 				if (!(res <= colontmp_)) goto LA5;
17467 				i = res;
17468 				it = (*args)._kind_6.sons->data[i];
17469 				valid = NIM_FALSE;
17470 				{
17471 					tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* op;
17472 					if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29))) goto LA8_;
17473 					op = considerQuotedIdent__lookups_28(c, (*it)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
17474 					{
17475 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
17476 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* domain;
17477 						tyArray__T6RKPw8xfAeNaoei9aZGzXg T20_;
17478 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T21_;
17479 						if (!((*op).id == ((NI) 31))) goto LA12_;
17480 						v = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21), (*it)._kind_6.sons->data[((NI) 1)], c);
17481 						{
17482 							NIM_BOOL T16_;
17483 							T16_ = (NIM_BOOL)0;
17484 							T16_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
17485 							if (!(T16_)) goto LA17_;
17486 							T16_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
17487 							LA17_: ;
17488 							if (!T16_) goto LA18_;
17489 							nep1CheckDefImpl__linter_110((*(*c).graph).config, (*v).info, v, (*v).kind);
17490 						}
17491 						LA18_: ;
17492 						domain = semExprWithType__sem_56(c, (*it)._kind_6.sons->data[((NI) 2)], 2);
17493 						asgnRef((void**) (&(*v).typ), (*domain).typ);
17494 						valid = NIM_TRUE;
17495 						addDecl__lookups_845(c, v);
17496 						nimZeroMem((void*)T20_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
17497 						T20_[0] = (*it)._kind_6.sons->data[((NI) 0)];
17498 						T20_[1] = newSymNode__ast_3716(v);
17499 						T20_[2] = domain;
17500 						T21_ = NIM_NIL;
17501 						T21_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29), T20_, 3);
17502 						add__ast_4797(result, T21_);
17503 					}
17504 					LA12_: ;
17505 				}
17506 				LA8_: ;
17507 				{
17508 					if (!!(valid)) goto LA24_;
17509 					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);
17510 				}
17511 				LA24_: ;
17512 				res += ((NI) 1);
17513 			} LA5: ;
17514 		}
17515 	}
17516 	T26_ = (NI)0;
17517 	T26_ = len__ast_3198(args);
17518 	T27_ = NIM_NIL;
17519 	T27_ = semExprWithType__sem_56(c, (*args)._kind_6.sons->data[(NI)(T26_ - ((NI) 1))], 0);
17520 	T28_ = NIM_NIL;
17521 	T28_ = forceBool__sem_2869(c, T27_);
17522 	add__ast_4797(result, T28_);
17523 	closeScope__lookups_101(c);
17524 	return result;
17525 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semOld__sem_15985)17526 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOld__sem_15985)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
17527 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17528 	result = NIM_NIL;
17529 	{
17530 		if (!((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA3_;
17531 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), (*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)]);
17532 	}
17533 	LA3_: ;
17534 	{
17535 		NIM_BOOL T7_;
17536 		T7_ = (NIM_BOOL)0;
17537 		T7_ = !(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
17538 		if (T7_) goto LA8_;
17539 		T7_ = !(((*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)));
17540 		LA8_: ;
17541 		if (!T7_) goto LA9_;
17542 		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);
17543 	}
17544 	goto LA5_;
17545 	LA9_: ;
17546 	{
17547 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T12_;
17548 		NimStringDesc* T15_;
17549 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T16_;
17550 		T12_ = NIM_NIL;
17551 		T12_ = getCurrOwner__semdata_315(c);
17552 		if (!!(((*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).owner == T12_))) goto LA13_;
17553 		T15_ = NIM_NIL;
17554 		T16_ = NIM_NIL;
17555 		T16_ = getCurrOwner__semdata_315(c);
17556 		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);
17557 appendString(T15_, (*(*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).name).s);
17558 appendString(T15_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_381));
17559 appendString(T15_, (*(*T16_).name).s);
17560 		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);
17561 	}
17562 	goto LA5_;
17563 	LA13_: ;
17564 	LA5_: ;
17565 	result = n;
17566 	return result;
17567 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semPrivateAccess__sem_16015)17568 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semPrivateAccess__sem_16015)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
17569 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17570 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
17571 	NI T1_;
17572 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
17573 	result = NIM_NIL;
17574 	t = toObjectFromRefPtrGeneric__ast_4890((*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).sons->data[((NI) 0)]);
17575 	asgnRef((void**) (&(*(*c).currentScope).allowPrivateAccess), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*(*c).currentScope).allowPrivateAccess), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
17576 	T1_ = (*(*c).currentScope).allowPrivateAccess->Sup.len++;
17577 	asgnRef((void**) (&(*(*c).currentScope).allowPrivateAccess->data[T1_]), (*t).sym);
17578 	T2_ = NIM_NIL;
17579 	T2_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63));
17580 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info, T2_);
17581 	return result;
17582 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,magicsAfterOverloadResolution__sem_16026)17583 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, magicsAfterOverloadResolution__sem_16026)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
17584 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
17585 	result = NIM_NIL;
17586 	switch ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic) {
17587 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 16):
17588 	{
17589 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
17590 		result = n;
17591 		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))));
17592 		asgnRef((void**) (&(*result).typ), makePtrType__semdata_742(c, (*(*result)._kind_6.sons->data[((NI) 1)]).typ));
17593 	}
17594 	break;
17595 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 18):
17596 	{
17597 		result = semTypeOf__sem_132(c, n);
17598 	}
17599 	break;
17600 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 10):
17601 	{
17602 		tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* configX60gensym4179_;
17603 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nodeX60gensym4179_;
17604 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typX60gensym4179_;
17605 		NI64 sizeX60gensym4179_;
17606 		configX60gensym4179_ = (*(*c).graph).config;
17607 		nodeX60gensym4179_ = n;
17608 		typX60gensym4179_ = (*(*nodeX60gensym4179_)._kind_6.sons->data[((NI) 1)]).typ;
17609 		computeSizeAlign__types_2915(configX60gensym4179_, typX60gensym4179_);
17610 		sizeX60gensym4179_ = (*typX60gensym4179_).size;
17611 		{
17612 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resX60gensym4179_;
17613 			if (!(IL64(0) <= sizeX60gensym4179_)) goto LA6_;
17614 			resX60gensym4179_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), sizeX60gensym4179_);
17615 			(*resX60gensym4179_).info = (*nodeX60gensym4179_).info;
17616 			asgnRef((void**) (&(*resX60gensym4179_).typ), (*nodeX60gensym4179_).typ);
17617 			result = resX60gensym4179_;
17618 		}
17619 		goto LA4_;
17620 		LA6_: ;
17621 		{
17622 			result = n;
17623 		}
17624 		LA4_: ;
17625 	}
17626 	break;
17627 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 11):
17628 	{
17629 		tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* configX60gensym4183_;
17630 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nodeX60gensym4183_;
17631 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typX60gensym4183_;
17632 		NI16 alignX60gensym4183_;
17633 		configX60gensym4183_ = (*(*c).graph).config;
17634 		nodeX60gensym4183_ = n;
17635 		typX60gensym4183_ = (*(*nodeX60gensym4183_)._kind_6.sons->data[((NI) 1)]).typ;
17636 		computeSizeAlign__types_2915(configX60gensym4183_, typX60gensym4183_);
17637 		alignX60gensym4183_ = (*typX60gensym4183_).align;
17638 		{
17639 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resX60gensym4183_;
17640 			if (!(((NI16) 0) <= alignX60gensym4183_)) goto LA12_;
17641 			resX60gensym4183_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (alignX60gensym4183_)));
17642 			(*resX60gensym4183_).info = (*nodeX60gensym4183_).info;
17643 			asgnRef((void**) (&(*resX60gensym4183_).typ), (*nodeX60gensym4183_).typ);
17644 			result = resX60gensym4183_;
17645 		}
17646 		goto LA10_;
17647 		LA12_: ;
17648 		{
17649 			result = n;
17650 		}
17651 		LA10_: ;
17652 	}
17653 	break;
17654 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 12):
17655 	{
17656 		tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* configX60gensym4187_;
17657 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nodeX60gensym4187_;
17658 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dotExprX60gensym4187_;
17659 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* valueX60gensym4187_;
17660 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* memberX60gensym4187_;
17661 		NI offsetX60gensym4187_;
17662 		configX60gensym4187_ = (*(*c).graph).config;
17663 		nodeX60gensym4187_ = n;
17664 		dotExprX60gensym4187_ = NIM_NIL;
17665 		{
17666 			{
17667 				if (!((*(*nodeX60gensym4187_)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA19_;
17668 				dotExprX60gensym4187_ = (*nodeX60gensym4187_)._kind_6.sons->data[((NI) 1)];
17669 			}
17670 			goto LA17_;
17671 			LA19_: ;
17672 			{
17673 				if (!((*(*nodeX60gensym4187_)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46))) goto LA22_;
17674 				dotExprX60gensym4187_ = (*(*nodeX60gensym4187_)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)];
17675 			}
17676 			goto LA17_;
17677 			LA22_: ;
17678 			{
17679 				liMessage__msgs_1118(configX60gensym4187_, (*nodeX60gensym4187_).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_245), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_246, NIM_FALSE);
17680 			}
17681 			LA17_: ;
17682 		}
17683 		valueX60gensym4187_ = (*dotExprX60gensym4187_)._kind_6.sons->data[((NI) 0)];
17684 		memberX60gensym4187_ = (*dotExprX60gensym4187_)._kind_6.sons->data[((NI) 1)];
17685 		computeSizeAlign__types_2915(configX60gensym4187_, (*valueX60gensym4187_).typ);
17686 		offsetX60gensym4187_ = (*(*memberX60gensym4187_)._kind_4.sym).offset;
17687 		{
17688 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpX60gensym4187_;
17689 			if (!(((NI) 0) <= offsetX60gensym4187_)) goto LA27_;
17690 			tmpX60gensym4187_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (offsetX60gensym4187_)));
17691 			(*tmpX60gensym4187_).info = (*nodeX60gensym4187_).info;
17692 			asgnRef((void**) (&(*tmpX60gensym4187_).typ), (*nodeX60gensym4187_).typ);
17693 			result = tmpX60gensym4187_;
17694 		}
17695 		goto LA25_;
17696 		LA27_: ;
17697 		{
17698 			result = n;
17699 		}
17700 		LA25_: ;
17701 	}
17702 	break;
17703 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5):
17704 	{
17705 		result = semArrGet__sem_15315(c, n, flags);
17706 	}
17707 	break;
17708 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 6):
17709 	{
17710 		result = semArrPut__sem_15338(c, n, flags);
17711 	}
17712 	break;
17713 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 7):
17714 	{
17715 		{
17716 			if (!eqStrings((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_178))) goto LA35_;
17717 			result = semAsgnOpr__sem_15367(c, n);
17718 		}
17719 		goto LA33_;
17720 		LA35_: ;
17721 		{
17722 			result = semShallowCopy__sem_15753(c, n, flags);
17723 		}
17724 		LA33_: ;
17725 	}
17726 	break;
17727 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 139):
17728 	{
17729 		result = semIsPartOf__sem_15375(c, n, flags);
17730 	}
17731 	break;
17732 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 13):
17733 	{
17734 		result = semTypeTraits__sem_15631(c, n);
17735 	}
17736 	break;
17737 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 140):
17738 	{
17739 		NimStringDesc* T41_;
17740 		T41_ = NIM_NIL;
17741 		T41_ = renderTree__renderer_46((*n)._kind_6.sons->data[((NI) 1)], 4);
17742 		result = newStrNodeT__semfold_76(T41_, n, (*c).graph);
17743 		asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
17744 	}
17745 	break;
17746 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 260):
17747 	{
17748 		result = semInstantiationInfo__sem_15397(c, n);
17749 	}
17750 	break;
17751 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 31):
17752 	{
17753 		result = semOrd__sem_15652(c, n);
17754 	}
17755 	break;
17756 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 15):
17757 	{
17758 		result = semOf__sem_15757(c, n);
17759 	}
17760 	break;
17761 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 9):
17762 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 8):
17763 	{
17764 		result = semLowHigh__sem_14549(c, n, (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic);
17765 	}
17766 	break;
17767 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 21):
17768 	{
17769 		result = semShallowCopy__sem_15753(c, n, flags);
17770 	}
17771 	break;
17772 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 250):
17773 	{
17774 		{
17775 			if (!!((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 6))&31U)))!=0))) goto LA50_;
17776 			result = semBindSym__sem_15658(c, n);
17777 		}
17778 		goto LA48_;
17779 		LA50_: ;
17780 		{
17781 			result = semDynamicBindSym__sem_15727(c, n);
17782 		}
17783 		LA48_: ;
17784 	}
17785 	break;
17786 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 203):
17787 	{
17788 		result = n;
17789 		asgnRef((void**) (&(*result).typ), (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
17790 	}
17791 	break;
17792 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 127):
17793 	{
17794 		result = n;
17795 	}
17796 	break;
17797 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 19):
17798 	{
17799 		tyProc__RcJNn9bSvWdJgUmA1O6sbHA plugin;
17800 		plugin = getPlugin__pluginsZactive_25((*c).cache, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
17801 		{
17802 			NimStringDesc* T60_;
17803 			if (!(plugin == 0)) goto LA58_;
17804 			T60_ = NIM_NIL;
17805 			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);
17806 appendString(T60_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_367));
17807 appendString(T60_, (*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s);
17808 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T60_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_368, NIM_FALSE);
17809 			result = n;
17810 		}
17811 		goto LA56_;
17812 		LA58_: ;
17813 		{
17814 			result = plugin(c, n);
17815 		}
17816 		LA56_: ;
17817 	}
17818 	break;
17819 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 33):
17820 	{
17821 		{
17822 			NIM_BOOL T65_;
17823 			NI T66_;
17824 			NI T68_;
17825 			T65_ = (NIM_BOOL)0;
17826 			T66_ = (NI)0;
17827 			T66_ = len__ast_3198(n);
17828 			T65_ = ((*(*n)._kind_6.sons->data[(NI)(T66_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
17829 			if (!(T65_)) goto LA67_;
17830 			T68_ = (NI)0;
17831 			T68_ = len__ast_3198(n);
17832 			T65_ = !(((12288 &((NU32)1<<((NU)((*(*(*n)._kind_6.sons->data[(NI)(T68_ - ((NI) 1))])._kind_4.sym).kind)&31U)))!=0));
17833 			LA67_: ;
17834 			if (!T65_) goto LA69_;
17835 			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);
17836 		}
17837 		goto LA63_;
17838 		LA69_: ;
17839 		{
17840 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nfin;
17841 			NI T74_;
17842 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fin;
17843 			if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 41))&63U)))!=0)) goto LA72_;
17844 			T74_ = (NI)0;
17845 			T74_ = len__ast_3198(n);
17846 			nfin = skipConvCastAndClosure__astalgo_114((*n)._kind_6.sons->data[(NI)(T74_ - ((NI) 1))]);
17847 			switch ((*nfin).kind) {
17848 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
17849 			{
17850 				fin = (*nfin)._kind_4.sym;
17851 			}
17852 			break;
17853 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51):
17854 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
17855 			{
17856 				fin = (*(*nfin)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
17857 			}
17858 			break;
17859 			default:
17860 			{
17861 				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);
17862 				fin = NIM_NIL;
17863 			}
17864 			break;
17865 			}
17866 			{
17867 				tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
17868 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T86_;
17869 				if (!!((fin == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA80_;
17870 				{
17871 					if (!!(((12288 &((NU32)1<<((NU)((*fin).kind)&31U)))!=0))) goto LA84_;
17872 					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);
17873 				}
17874 				LA84_: ;
17875 				T86_ = NIM_NIL;
17876 				T86_ = skipTypes__ast_3735((*(*fin).typ).sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_373);
17877 				t = whereToBindTypeHook__sem_12681(c, T86_);
17878 				{
17879 					NIM_BOOL T89_;
17880 					NIM_BOOL T90_;
17881 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T92_;
17882 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T94_;
17883 					T89_ = (NIM_BOOL)0;
17884 					T90_ = (NIM_BOOL)0;
17885 					T90_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
17886 					if (!(T90_)) goto LA91_;
17887 					T92_ = NIM_NIL;
17888 					T92_ = getAttachedOp__modulegraphs_4011((*c).graph, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
17889 					T90_ = !((T92_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
17890 					LA91_: ;
17891 					T89_ = T90_;
17892 					if (!(T89_)) goto LA93_;
17893 					T94_ = NIM_NIL;
17894 					T94_ = getAttachedOp__modulegraphs_4011((*c).graph, t, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
17895 					T89_ = ((*T94_).owner == fin);
17896 					LA93_: ;
17897 					if (!T89_) goto LA95_;
17898 				}
17899 				goto LA87_;
17900 				LA95_: ;
17901 				{
17902 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T98_;
17903 					T98_ = NIM_NIL;
17904 					T98_ = turnFinalizerIntoDestructor__sem_15873(c, fin, (*n).info);
17905 					bindTypeHook__sem_12701(c, T98_, n, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
17906 				}
17907 				LA87_: ;
17908 			}
17909 			LA80_: ;
17910 		}
17911 		goto LA63_;
17912 		LA72_: ;
17913 		LA63_: ;
17914 		result = n;
17915 	}
17916 	break;
17917 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 150):
17918 	{
17919 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
17920 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op;
17921 		result = n;
17922 		t_2 = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_228);
17923 		op = getAttachedOp__modulegraphs_4011((*c).graph, t_2, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 0));
17924 		{
17925 			if (!!((op == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA102_;
17926 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(op));
17927 		}
17928 		LA102_: ;
17929 	}
17930 	break;
17931 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 151):
17932 	{
17933 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_3;
17934 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* op_2;
17935 		result = n;
17936 		t_3 = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_228);
17937 		op_2 = getAttachedOp__modulegraphs_4011((*c).graph, t_3, ((tyEnum_TTypeAttachedOp__Rp5P9bWYldQTLkZ7DytmxOg) 3));
17938 		{
17939 			if (!!((op_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA107_;
17940 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(op_2));
17941 		}
17942 		LA107_: ;
17943 	}
17944 	break;
17945 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 153):
17946 	{
17947 		result = semUnown__sem_15809(c, n);
17948 	}
17949 	break;
17950 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 113):
17951 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 114):
17952 	{
17953 		result = semQuantifier__sem_15916(c, n);
17954 	}
17955 	break;
17956 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 115):
17957 	{
17958 		result = semOld__sem_15985(c, n);
17959 	}
17960 	break;
17961 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 138):
17962 	{
17963 		tyObject_TType__facALICuu8zUj0hjvbTLFg* seqType;
17964 		result = n;
17965 		seqType = skipTypes__ast_3735((*(*result)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_383);
17966 		{
17967 			NIM_BOOL T115_;
17968 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T117_;
17969 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T120_;
17970 			NimStringDesc* T121_;
17971 			T115_ = (NIM_BOOL)0;
17972 			T115_ = ((*seqType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
17973 			if (!(T115_)) goto LA116_;
17974 			T117_ = NIM_NIL;
17975 			T117_ = base__types_63(seqType);
17976 			T115_ = requiresInit__typeallowed_578(T117_);
17977 			LA116_: ;
17978 			if (!T115_) goto LA118_;
17979 			T120_ = NIM_NIL;
17980 			T120_ = base__types_63(seqType);
17981 			T121_ = NIM_NIL;
17982 			T121_ = typeToString__types_50(T120_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
17983 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 39), T121_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_384, NIM_FALSE);
17984 		}
17985 		LA118_: ;
17986 	}
17987 	break;
17988 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 152):
17989 	{
17990 		tyObject_TType__facALICuu8zUj0hjvbTLFg* constructed;
17991 		result = n;
17992 		{
17993 			NimStringDesc* argX60gensym4250_;
17994 			if (!!(((*(*(*result)._kind_6.sons->data[((NI) 1)]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA125_;
17995 			argX60gensym4250_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_385);
17996 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym4250_, TM__rF9caJawfOjYTjsgLVUSGFA_385);
17997 		}
17998 		LA125_: ;
17999 		constructed = base__types_63((*(*result)._kind_6.sons->data[((NI) 1)]).typ);
18000 		{
18001 			NIM_BOOL T129_;
18002 			NimStringDesc* T132_;
18003 			T129_ = (NIM_BOOL)0;
18004 			T129_ = requiresInit__typeallowed_578(constructed);
18005 			if (!T129_) goto LA130_;
18006 			T132_ = NIM_NIL;
18007 			T132_ = typeToString__types_50(constructed, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
18008 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 40), T132_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_386, NIM_FALSE);
18009 		}
18010 		LA130_: ;
18011 	}
18012 	break;
18013 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 155):
18014 	{
18015 		{
18016 			NIM_BOOL T136_;
18017 			NimStringDesc* T139_;
18018 			NimStringDesc* T140_;
18019 			T136_ = (NIM_BOOL)0;
18020 			T136_ = checkIsolate__isolation95check_112((*n)._kind_6.sons->data[((NI) 1)]);
18021 			if (!!(T136_)) goto LA137_;
18022 			T139_ = NIM_NIL;
18023 			T140_ = NIM_NIL;
18024 			T140_ = dollar___renderer_2106((*n)._kind_6.sons->data[((NI) 1)]);
18025 			T139_ = rawNewString((T140_ ? T140_->Sup.len : 0) + 31);
18026 appendString(T139_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_387));
18027 appendString(T139_, T140_);
18028 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T139_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_388, NIM_FALSE);
18029 		}
18030 		LA137_: ;
18031 		result = n;
18032 	}
18033 	break;
18034 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 52):
18035 	{
18036 		{
18037 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T144_;
18038 			T144_ = NIM_NIL;
18039 			T144_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
18040 			if (!((*T144_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*T144_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44))) goto LA145_;
18041 			(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic = ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 66);
18042 		}
18043 		LA145_: ;
18044 		result = n;
18045 	}
18046 	break;
18047 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 275):
18048 	{
18049 		result = semPrivateAccess__sem_16015(c, n);
18050 	}
18051 	break;
18052 	default:
18053 	{
18054 		result = n;
18055 	}
18056 	break;
18057 	}
18058 	return result;
18059 }
N_NIMCALL(NIM_BOOL,hasCycle__sem_548)18060 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasCycle__sem_548)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
18061 	NIM_BOOL result;
18062 	result = (NIM_BOOL)0;
18063 	(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 0)) & 31);
18064 	{
18065 		NI i;
18066 		NI colontmp_;
18067 		NI i_2;
18068 		i = (NI)0;
18069 		colontmp_ = (NI)0;
18070 		colontmp_ = safeLen__ast_3191(n);
18071 		i_2 = ((NI) 0);
18072 		{
18073 			while (1) {
18074 				if (!(i_2 < colontmp_)) goto LA3;
18075 				i = i_2;
18076 				{
18077 					NIM_BOOL T6_;
18078 					T6_ = (NIM_BOOL)0;
18079 					T6_ = (((*(*n)._kind_6.sons->data[i]).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 0))&31U)))!=0);
18080 					if (T6_) goto LA7_;
18081 					T6_ = hasCycle__sem_548((*n)._kind_6.sons->data[i]);
18082 					LA7_: ;
18083 					if (!T6_) goto LA8_;
18084 					result = NIM_TRUE;
18085 					goto LA1;
18086 				}
18087 				LA8_: ;
18088 				i_2 += ((NI) 1);
18089 			} LA3: ;
18090 		}
18091 	} LA1: ;
18092 	(*n).flags &= ~(((NU32)1) << ((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 0)) & 31));
18093 	return result;
18094 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,fixupTypeAfterEval__sem_570)18095 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fixupTypeAfterEval__sem_570)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* eOrig) {
18096 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18097 	result = NIM_NIL;
18098 	{
18099 		if (!((*(*eOrig).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*(*eOrig).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7) || (*(*eOrig).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA3_;
18100 		result = semExprWithType__sem_56(c, evaluated, 0);
18101 	}
18102 	goto LA1_;
18103 	LA3_: ;
18104 	{
18105 		tyObject_TType__facALICuu8zUj0hjvbTLFg* expectedType;
18106 		result = evaluated;
18107 		expectedType = skipTypes__ast_3735((*eOrig).typ, TM__rF9caJawfOjYTjsgLVUSGFA_30);
18108 		{
18109 			NIM_BOOL T8_;
18110 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n2X60gensym48_;
18111 			T8_ = (NIM_BOOL)0;
18112 			T8_ = hasCycle__sem_548(result);
18113 			if (!T8_) goto LA9_;
18114 			n2X60gensym48_ = eOrig;
18115 			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);
18116 			result = errorNode__semdata_1009(c, n2X60gensym48_);
18117 		}
18118 		goto LA6_;
18119 		LA9_: ;
18120 		{
18121 			annotateType__semmacrosanity_69(result, expectedType, (*(*c).graph).config);
18122 		}
18123 		LA6_: ;
18124 	}
18125 	LA1_: ;
18126 	return result;
18127 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,evalAtCompileTime__sem_117)18128 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalAtCompileTime__sem_117)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
18129 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18130 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee;
18131 {	result = NIM_NIL;
18132 	result = n;
18133 	{
18134 		NIM_BOOL T3_;
18135 		T3_ = (NIM_BOOL)0;
18136 		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)));
18137 		if (T3_) goto LA4_;
18138 		T3_ = !(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
18139 		LA4_: ;
18140 		if (!T3_) goto LA5_;
18141 		goto BeforeRet_;
18142 	}
18143 	LA5_: ;
18144 	callee = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
18145 	{
18146 		NIM_BOOL T9_;
18147 		T9_ = (NIM_BOOL)0;
18148 		T9_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18149 		if (!(T9_)) goto LA10_;
18150 		T9_ = (((*(*n).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 33))&63U)))!=0);
18151 		LA10_: ;
18152 		if (!T9_) goto LA11_;
18153 		goto BeforeRet_;
18154 	}
18155 	LA11_: ;
18156 	{
18157 		NIM_BOOL T15_;
18158 		NIM_BOOL T16_;
18159 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
18160 		NIM_BOOL allConst;
18161 		T15_ = (NIM_BOOL)0;
18162 		T16_ = (NIM_BOOL)0;
18163 		T16_ = !(((*callee).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)));
18164 		if (!(T16_)) goto LA17_;
18165 		T16_ = ((TM__rF9caJawfOjYTjsgLVUSGFA_389[(NU)((*callee).magic)>>3] &(1U<<((NU)((*callee).magic)&7U)))!=0);
18166 		LA17_: ;
18167 		T15_ = T16_;
18168 		if (!(T15_)) goto LA18_;
18169 		T15_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18170 		LA18_: ;
18171 		if (!T15_) goto LA19_;
18172 		call = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, (*n).typ);
18173 		add__ast_4797(call, (*n)._kind_6.sons->data[((NI) 0)]);
18174 		allConst = NIM_TRUE;
18175 		{
18176 			NI i;
18177 			NI colontmp_;
18178 			NI i_2;
18179 			i = (NI)0;
18180 			colontmp_ = (NI)0;
18181 			colontmp_ = len__ast_3198(n);
18182 			i_2 = ((NI) 1);
18183 			{
18184 				while (1) {
18185 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
18186 					if (!(i_2 < colontmp_)) goto LA23;
18187 					i = i_2;
18188 					a = getConstExpr__semfold_81((*c).module, (*n)._kind_6.sons->data[i], (*c).Sup.idgen, (*c).graph);
18189 					{
18190 						if (!(a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA26_;
18191 						allConst = NIM_FALSE;
18192 						a = (*n)._kind_6.sons->data[i];
18193 						{
18194 							if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58))) goto LA30_;
18195 							a = (*a)._kind_6.sons->data[((NI) 1)];
18196 						}
18197 						LA30_: ;
18198 					}
18199 					LA26_: ;
18200 					add__ast_4797(call, a);
18201 					i_2 += ((NI) 1);
18202 				} LA23: ;
18203 			}
18204 		}
18205 		{
18206 			if (!allConst) goto LA34_;
18207 			result = getConstExpr__semfold_81((*c).module, call, (*c).Sup.idgen, (*c).graph);
18208 			{
18209 				if (!(result == 0)) goto LA38_;
18210 				result = n;
18211 			}
18212 			goto LA36_;
18213 			LA38_: ;
18214 			{
18215 				goto BeforeRet_;
18216 			}
18217 			LA36_: ;
18218 		}
18219 		LA34_: ;
18220 	}
18221 	LA19_: ;
18222 	{
18223 		{
18224 			NI T44_;
18225 			tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T58_;
18226 			T44_ = (NI)0;
18227 			T44_ = len__ast_3198(n);
18228 			if (!(((NI) 1) < T44_)) goto LA45_;
18229 			{
18230 				NI i_3;
18231 				NI colontmp__2;
18232 				NI i_4;
18233 				i_3 = (NI)0;
18234 				colontmp__2 = (NI)0;
18235 				colontmp__2 = len__ast_3198(n);
18236 				i_4 = ((NI) 1);
18237 				{
18238 					while (1) {
18239 						if (!(i_4 < colontmp__2)) goto LA49;
18240 						i_3 = i_4;
18241 						{
18242 							NIM_BOOL T52_;
18243 							NIM_BOOL T53_;
18244 							T52_ = (NIM_BOOL)0;
18245 							T53_ = (NIM_BOOL)0;
18246 							T53_ = ((*(*n)._kind_6.sons->data[i_3]).typ == 0);
18247 							if (T53_) goto LA54_;
18248 							T53_ = !(((*(*(*n)._kind_6.sons->data[i_3]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60)));
18249 							LA54_: ;
18250 							T52_ = T53_;
18251 							if (T52_) goto LA55_;
18252 							T52_ = !((((*(*(*n)._kind_6.sons->data[i_3]).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0));
18253 							LA55_: ;
18254 							if (!T52_) goto LA56_;
18255 							goto LA41;
18256 						}
18257 						LA56_: ;
18258 						i_4 += ((NI) 1);
18259 					} LA49: ;
18260 				}
18261 			}
18262 			T58_ = NIM_NIL;
18263 			T58_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
18264 			asgnRef((void**) (&T58_->data[0]), (*n).typ);
18265 			asgnRef((void**) (&(*n).typ), newTypeWithSons__semdata_821(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), T58_));
18266 			(*(*n).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)) & 63);
18267 		}
18268 		LA45_: ;
18269 	} LA41: ;
18270 	{
18271 		NIM_BOOL T61_;
18272 		NIM_BOOL T63_;
18273 		NIM_BOOL T64_;
18274 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call_2;
18275 		T61_ = (NIM_BOOL)0;
18276 		T61_ = ((*callee).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10));
18277 		if (T61_) goto LA62_;
18278 		T63_ = (NIM_BOOL)0;
18279 		T64_ = (NIM_BOOL)0;
18280 		T64_ = !(((268439552 & (*callee).flags) == 0));
18281 		if (!(T64_)) goto LA65_;
18282 		T64_ = ((80 & (*callee).flags) == 0);
18283 		LA65_: ;
18284 		T63_ = T64_;
18285 		if (!(T63_)) goto LA66_;
18286 		T63_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18287 		LA66_: ;
18288 		T61_ = T63_;
18289 		LA62_: ;
18290 		if (!T61_) goto LA67_;
18291 		{
18292 			NIM_BOOL T71_;
18293 			NIM_BOOL T72_;
18294 			T71_ = (NIM_BOOL)0;
18295 			T72_ = (NIM_BOOL)0;
18296 			T72_ = !(((*callee).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10)));
18297 			if (!(T72_)) goto LA73_;
18298 			T72_ = !((((*callee).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0));
18299 			LA73_: ;
18300 			T71_ = T72_;
18301 			if (!(T71_)) goto LA74_;
18302 			T71_ = !((((*(*(*c).graph).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 22))&31U)))!=0));
18303 			LA74_: ;
18304 			if (!T71_) goto LA75_;
18305 			goto BeforeRet_;
18306 		}
18307 		LA75_: ;
18308 		{
18309 			if (!!(((TM__rF9caJawfOjYTjsgLVUSGFA_389[(NU)((*callee).magic)>>3] &(1U<<((NU)((*callee).magic)&7U)))!=0))) goto LA79_;
18310 			goto BeforeRet_;
18311 		}
18312 		LA79_: ;
18313 		{
18314 			NIM_BOOL T83_;
18315 			T83_ = (NIM_BOOL)0;
18316 			T83_ = !(((78848 &((NU32)1<<((NU)((*callee).kind)&31U)))!=0));
18317 			if (T83_) goto LA84_;
18318 			T83_ = isGenericRoutine__ast_4646(callee);
18319 			LA84_: ;
18320 			if (!T83_) goto LA85_;
18321 			goto BeforeRet_;
18322 		}
18323 		LA85_: ;
18324 		{
18325 			NIM_BOOL T89_;
18326 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T91_;
18327 			T89_ = (NIM_BOOL)0;
18328 			T89_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18329 			if (!(T89_)) goto LA90_;
18330 			T91_ = NIM_NIL;
18331 			T91_ = typeAllowed__typeallowed_472((*n).typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10), c, 0);
18332 			T89_ = !((T91_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18333 			LA90_: ;
18334 			if (!T89_) goto LA92_;
18335 			goto BeforeRet_;
18336 		}
18337 		LA92_: ;
18338 		call_2 = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, (*n).typ);
18339 		add__ast_4797(call_2, (*n)._kind_6.sons->data[((NI) 0)]);
18340 		{
18341 			NI i_5;
18342 			NI colontmp__3;
18343 			NI i_6;
18344 			i_5 = (NI)0;
18345 			colontmp__3 = (NI)0;
18346 			colontmp__3 = len__ast_3198(n);
18347 			i_6 = ((NI) 1);
18348 			{
18349 				while (1) {
18350 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
18351 					if (!(i_6 < colontmp__3)) goto LA96;
18352 					i_5 = i_6;
18353 					a_2 = getConstExpr__semfold_81((*c).module, (*n)._kind_6.sons->data[i_5], (*c).Sup.idgen, (*c).graph);
18354 					{
18355 						if (!(a_2 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA99_;
18356 						result = n;
18357 						goto BeforeRet_;
18358 					}
18359 					LA99_: ;
18360 					add__ast_4797(call_2, a_2);
18361 					i_6 += ((NI) 1);
18362 				} LA96: ;
18363 			}
18364 		}
18365 		{
18366 			NIM_BOOL T103_;
18367 			T103_ = (NIM_BOOL)0;
18368 			T103_ = ((*c).inStaticContext == ((NI) 0));
18369 			if (T103_) goto LA104_;
18370 			T103_ = (((*callee).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 12))&63U)))!=0);
18371 			LA104_: ;
18372 			if (!T103_) goto LA105_;
18373 			{
18374 				if (!(((*callee).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0)) goto LA109_;
18375 				result = evalStaticExpr__vm_13752((*c).module, (*c).Sup.idgen, (*c).graph, call_2, (*(*c).p).owner);
18376 				{
18377 					NimStringDesc* T115_;
18378 					NimStringDesc* T116_;
18379 					if (!(result == 0)) goto LA113_;
18380 					T115_ = NIM_NIL;
18381 					T115_ = renderTree__renderer_46(call_2, 0);
18382 					T116_ = NIM_NIL;
18383 					T116_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_390), T115_);
18384 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T116_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_391, NIM_FALSE);
18385 				}
18386 				goto LA111_;
18387 				LA113_: ;
18388 				{
18389 					result = fixupTypeAfterEval__sem_570(c, result, n);
18390 				}
18391 				LA111_: ;
18392 			}
18393 			goto LA107_;
18394 			LA109_: ;
18395 			{
18396 				result = evalConstExpr__vm_13746((*c).module, (*c).Sup.idgen, (*c).graph, call_2);
18397 				{
18398 					if (!(result == 0)) goto LA121_;
18399 					result = n;
18400 				}
18401 				goto LA119_;
18402 				LA121_: ;
18403 				{
18404 					result = fixupTypeAfterEval__sem_570(c, result, n);
18405 				}
18406 				LA119_: ;
18407 			}
18408 			LA107_: ;
18409 		}
18410 		goto LA101_;
18411 		LA105_: ;
18412 		{
18413 			result = n;
18414 		}
18415 		LA101_: ;
18416 	}
18417 	LA67_: ;
18418 	}BeforeRet_: ;
18419 	return result;
18420 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,afterCallActions__sem_16520)18421 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) {
18422 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18423 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee;
18424 {	result = NIM_NIL;
18425 	{
18426 		NIM_BOOL T3_;
18427 		NIM_BOOL T4_;
18428 		T3_ = (NIM_BOOL)0;
18429 		T4_ = (NIM_BOOL)0;
18430 		T4_ = !(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 13))&31U)))!=0));
18431 		if (!(T4_)) goto LA5_;
18432 		T4_ = !(((*n).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18433 		LA5_: ;
18434 		T3_ = T4_;
18435 		if (!(T3_)) goto LA6_;
18436 		T3_ = ((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
18437 		LA6_: ;
18438 		if (!T3_) goto LA7_;
18439 		result = errorNode__semdata_1009(c, n);
18440 		goto BeforeRet_;
18441 	}
18442 	LA7_: ;
18443 	result = n;
18444 	callee = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
18445 	switch ((*callee).kind) {
18446 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
18447 	{
18448 		result = semMacroExpr__sem_524(c, result, orig, callee, flags);
18449 	}
18450 	break;
18451 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
18452 	{
18453 		result = semTemplateExpr__sem_519(c, result, callee, flags);
18454 	}
18455 	break;
18456 	default:
18457 	{
18458 		semFinishOperands__sigmatch_4162(c, result);
18459 		activate__sem_108(c, result);
18460 		fixAbstractType__sem_14966(c, result);
18461 		analyseIfAddressTakenInCall__sem_15142(c, result);
18462 		{
18463 			if (!!(((*callee).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)))) goto LA14_;
18464 			result = magicsAfterOverloadResolution__sem_16026(c, result, flags);
18465 		}
18466 		LA14_: ;
18467 	}
18468 	break;
18469 	}
18470 	{
18471 		if (!((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL))) goto LA18_;
18472 		result = evalAtCompileTime__sem_117(c, result);
18473 	}
18474 	LA18_: ;
18475 	}BeforeRet_: ;
18476 	return result;
18477 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semDirectOp__sem_511)18478 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDirectOp__sem_511)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
18479 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18480 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig;
18481 	result = NIM_NIL;
18482 	nOrig = copyTree__ast_4431(n);
18483 	result = semOverloadedCallAnalyseEffects__sem_16420(c, n, nOrig, flags);
18484 	{
18485 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
18486 		result = afterCallActions__sem_16520(c, result, nOrig, flags);
18487 	}
18488 	goto LA1_;
18489 	LA3_: ;
18490 	{
18491 		result = errorNode__semdata_1009(c, n);
18492 	}
18493 	LA1_: ;
18494 	return result;
18495 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,evalPattern__sem_671)18496 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalPattern__sem_671)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig) {
18497 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18498 	NimStringDesc* rule;
18499 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
18500 	result = NIM_NIL;
18501 	{
18502 		NIM_BOOL T3_;
18503 		NimStringDesc* argX60gensym82_;
18504 		T3_ = (NIM_BOOL)0;
18505 		T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27));
18506 		if (!(T3_)) goto LA4_;
18507 		T3_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
18508 		LA4_: ;
18509 		if (!!(T3_)) goto LA5_;
18510 		argX60gensym82_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_227);
18511 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym82_, TM__rF9caJawfOjYTjsgLVUSGFA_227);
18512 	}
18513 	LA5_: ;
18514 	rule = NIM_NIL;
18515 	{
18516 		NIM_BOOL T9_;
18517 		T9_ = (NIM_BOOL)0;
18518 		T9_ = hasHint__options_517((*(*c).graph).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 88));
18519 		if (!T9_) goto LA10_;
18520 		rule = renderTree__renderer_46(n, 4);
18521 	}
18522 	LA10_: ;
18523 	s = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
18524 	switch ((*s).kind) {
18525 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
18526 	{
18527 		result = semMacroExpr__sem_524(c, n, orig, s, 0);
18528 	}
18529 	break;
18530 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
18531 	{
18532 		result = semTemplateExpr__sem_519(c, n, s, 65536);
18533 	}
18534 	break;
18535 	default:
18536 	{
18537 		result = semDirectOp__sem_511(c, n, 0);
18538 	}
18539 	break;
18540 	}
18541 	{
18542 		NIM_BOOL T17_;
18543 		NimStringDesc* T20_;
18544 		NimStringDesc* T21_;
18545 		T17_ = (NIM_BOOL)0;
18546 		T17_ = hasHint__options_517((*(*c).graph).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 88));
18547 		if (!T17_) goto LA18_;
18548 		T20_ = NIM_NIL;
18549 		T21_ = NIM_NIL;
18550 		T21_ = renderTree__renderer_46(result, 4);
18551 		T20_ = rawNewString((rule ? rule->Sup.len : 0) + (T21_ ? T21_->Sup.len : 0) + 7);
18552 appendString(T20_, rule);
18553 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_394));
18554 appendString(T20_, T21_);
18555 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
18556 		liMessage__msgs_1118((*(*c).graph).config, (*orig).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 88), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_395, NIM_FALSE);
18557 	}
18558 	LA18_: ;
18559 	return result;
18560 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,applyPatterns__sem_692)18561 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, applyPatterns__sem_692)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
18562 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18563 	result = NIM_NIL;
18564 	result = n;
18565 	{
18566 		NI i;
18567 		NI colontmp_;
18568 		NI T2_;
18569 		NI res;
18570 		i = (NI)0;
18571 		colontmp_ = (NI)0;
18572 		T2_ = ((*c).patterns ? (*c).patterns->Sup.len : 0);
18573 		colontmp_ = (NI)(T2_ - ((NI) 1));
18574 		res = colontmp_;
18575 		{
18576 			while (1) {
18577 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* pattern;
18578 				if (!(((NI) 0) <= res)) goto LA4;
18579 				i = res;
18580 				pattern = (*c).patterns->data[i];
18581 				{
18582 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
18583 					if (!!((pattern == 0))) goto LA7_;
18584 					x = applyRule__patterns_548(c, pattern, result);
18585 					{
18586 						if (!!((x == 0))) goto LA11_;
18587 						(*(*(*c).graph).config).evalTemplateCounter += ((NI) 1);
18588 						{
18589 							if (!(((NI) 1000) < (*(*(*c).graph).config).evalTemplateCounter)) goto LA15_;
18590 							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);
18591 						}
18592 						LA15_: ;
18593 						asgnRef((void**) (&(*c).patterns->data[i]), ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
18594 						{
18595 							if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA19_;
18596 							asgnRef((void**) (&(*x)._kind_6.sons->data[((NI) 1)]), evalPattern__sem_671(c, (*x)._kind_6.sons->data[((NI) 1)], result));
18597 							result = flattenStmts__trees_355(x);
18598 						}
18599 						goto LA17_;
18600 						LA19_: ;
18601 						{
18602 							result = evalPattern__sem_671(c, x, result);
18603 						}
18604 						LA17_: ;
18605 						(*(*(*c).graph).config).evalTemplateCounter -= ((NI) 1);
18606 						asgnRef((void**) (&(*c).patterns->data[i]), pattern);
18607 					}
18608 					LA11_: ;
18609 				}
18610 				LA7_: ;
18611 				res -= ((NI) 1);
18612 			} LA4: ;
18613 		}
18614 	}
18615 	return result;
18616 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,hlo__sem_668)18617 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, hlo__sem_668)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
18618 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18619 {	result = NIM_NIL;
18620 	(*c).hloLoopDetector += ((NI) 1);
18621 	{
18622 		if (!(((NI) 300) < (*c).hloLoopDetector)) goto LA3_;
18623 		result = n;
18624 		goto BeforeRet_;
18625 	}
18626 	LA3_: ;
18627 	switch ((*n).kind) {
18628 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
18629 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
18630 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
18631 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
18632 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
18633 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
18634 	{
18635 		result = n;
18636 	}
18637 	break;
18638 	default:
18639 	{
18640 		{
18641 			NIM_BOOL T9_;
18642 			NIM_BOOL T10_;
18643 			T9_ = (NIM_BOOL)0;
18644 			T10_ = (NIM_BOOL)0;
18645 			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));
18646 			if (!(T10_)) goto LA11_;
18647 			T10_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
18648 			LA11_: ;
18649 			T9_ = T10_;
18650 			if (!(T9_)) goto LA12_;
18651 			T9_ = ((2056 & (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags) == 2056);
18652 			LA12_: ;
18653 			if (!T9_) goto LA13_;
18654 			result = n;
18655 			goto BeforeRet_;
18656 		}
18657 		LA13_: ;
18658 		result = applyPatterns__sem_692(c, n);
18659 		{
18660 			if (!(result == n)) goto LA17_;
18661 			{
18662 				NI i;
18663 				NI colontmp_;
18664 				NI i_2;
18665 				i = (NI)0;
18666 				colontmp_ = (NI)0;
18667 				colontmp_ = safeLen__ast_3191(result);
18668 				i_2 = ((NI) 0);
18669 				{
18670 					while (1) {
18671 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
18672 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* h;
18673 						if (!(i_2 < colontmp_)) goto LA21;
18674 						i = i_2;
18675 						a = (*result)._kind_6.sons->data[i];
18676 						h = hlo__sem_668(c, a);
18677 						{
18678 							if (!!((h == a))) goto LA24_;
18679 							asgnRef((void**) (&(*result)._kind_6.sons->data[i]), h);
18680 						}
18681 						LA24_: ;
18682 						i_2 += ((NI) 1);
18683 					} LA21: ;
18684 				}
18685 			}
18686 		}
18687 		goto LA15_;
18688 		LA17_: ;
18689 		{
18690 			{
18691 				NIM_BOOL T29_;
18692 				T29_ = (NIM_BOOL)0;
18693 				T29_ = isEmptyType__ast_4779((*n).typ);
18694 				if (!(T29_)) goto LA30_;
18695 				T29_ = isEmptyType__ast_4779((*result).typ);
18696 				LA30_: ;
18697 				if (!T29_) goto LA31_;
18698 			}
18699 			goto LA27_;
18700 			LA31_: ;
18701 			{
18702 				result = fitNode__sem_70(c, (*n).typ, result, (*n).info);
18703 			}
18704 			LA27_: ;
18705 			result = commonOptimizations__transf_1490((*c).graph, (*c).Sup.idgen, (*c).module, result);
18706 			result = hlo__sem_668(c, result);
18707 			result = commonOptimizations__transf_1490((*c).graph, (*c).Sup.idgen, (*c).module, result);
18708 		}
18709 		LA15_: ;
18710 	}
18711 	break;
18712 	}
18713 	}BeforeRet_: ;
18714 	return result;
18715 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,hloBody__sem_783)18716 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, hloBody__sem_783)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
18717 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18718 {	result = NIM_NIL;
18719 	{
18720 		NIM_BOOL T3_;
18721 		NI T4_;
18722 		T3_ = (NIM_BOOL)0;
18723 		T4_ = ((*c).patterns ? (*c).patterns->Sup.len : 0);
18724 		T3_ = (T4_ == ((NI) 0));
18725 		if (T3_) goto LA5_;
18726 		T3_ = !((((*(*(*c).graph).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 23))&31U)))!=0));
18727 		LA5_: ;
18728 		if (!T3_) goto LA6_;
18729 		result = n;
18730 		goto BeforeRet_;
18731 	}
18732 	LA6_: ;
18733 	(*c).hloLoopDetector = ((NI) 0);
18734 	result = hlo__sem_668(c, n);
18735 	}BeforeRet_: ;
18736 	return result;
18737 }
N_INLINE(void,popProcCon__semdata_389)18738 static N_INLINE(void, popProcCon__semdata_389)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
18739 	asgnRef((void**) (&(*c).p), (*(*c).p).next);
18740 }
N_NIMCALL(void,typeAllowedCheck__sem_481)18741 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) {
18742 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
18743 	t = typeAllowed__typeallowed_472(typ, kind, c, flags);
18744 	{
18745 		NimStringDesc* err;
18746 		if (!!((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3_;
18747 		err = NIM_NIL;
18748 		{
18749 			tyArray__Re75IspeoxXy2oCZHwcRrA T9_;
18750 			if (!(t == typ)) goto LA7_;
18751 			nimZeroMem((void*)T9_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
18752 			T9_[0] = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
18753 			T9_[1] = toHumanStr__ast_5158(kind);
18754 			err = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_398), T9_, 2);
18755 			{
18756 				NIM_BOOL T12_;
18757 				tyArray__nHXaesL0DJZHyVS07ARPRA T16_;
18758 				NimStringDesc* T17_;
18759 				T12_ = (NIM_BOOL)0;
18760 				T12_ = ((1792 &((NU32)1<<((NU)(kind)&31U)))!=0);
18761 				if (!(T12_)) goto LA13_;
18762 				T12_ = ((flags &((NU8)1<<((NU)(((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 5))&7U)))!=0);
18763 				LA13_: ;
18764 				if (!T12_) goto LA14_;
18765 				nimZeroMem((void*)T16_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
18766 				T16_[0] = toHumanStr__ast_5158((*(*typ).owner).kind);
18767 				T17_ = NIM_NIL;
18768 				T17_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_399), T16_, 1);
18769 				err = resizeString(err, (T17_ ? T17_->Sup.len : 0) + 0);
18770 appendString(err, T17_);
18771 			}
18772 			LA14_: ;
18773 		}
18774 		goto LA5_;
18775 		LA7_: ;
18776 		{
18777 			tyArray__24KAM9afIUgUaqBaEBB6r9bg T19_;
18778 			nimZeroMem((void*)T19_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
18779 			T19_[0] = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
18780 			T19_[1] = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
18781 			T19_[2] = toHumanStr__ast_5158(kind);
18782 			err = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_400), T19_, 3);
18783 		}
18784 		LA5_: ;
18785 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), err, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_401, NIM_FALSE);
18786 	}
18787 	LA3_: ;
18788 }
N_INLINE(void,paramsTypeCheck__sem_505)18789 static N_INLINE(void, paramsTypeCheck__sem_505)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
18790 	typeAllowedCheck__sem_481(c, (*(*typ).n).info, typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12), 0);
18791 }
N_NIMCALL(void,fixupInstantiatedSymbols__sem_1095)18792 N_LIB_PRIVATE N_NIMCALL(void, fixupInstantiatedSymbols__sem_1095)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
18793 	{
18794 		NI i;
18795 		NI colontmp_;
18796 		NI T2_;
18797 		NI i_2;
18798 		i = (NI)0;
18799 		colontmp_ = (NI)0;
18800 		T2_ = ((*c).generics ? (*c).generics->Sup.len : 0);
18801 		colontmp_ = T2_;
18802 		i_2 = ((NI) 0);
18803 		{
18804 			while (1) {
18805 				if (!(i_2 < colontmp_)) goto LA4;
18806 				i = i_2;
18807 				{
18808 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym162_;
18809 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym163_;
18810 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* oldPrc;
18811 					tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T9_;
18812 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
18813 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
18814 					xX60gensym162_ = (*c).generics->data[i].genericSym;
18815 					xX60gensym163_ = s;
18816 					if (!((NI)((NI)((NU32)(((NI) ((*xX60gensym162_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym162_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym163_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym163_).Sup.itemId.item))))) goto LA7_;
18817 					oldPrc = (*(*c).generics->data[i].inst).sym;
18818 					pushProcCon__sem_898(c, oldPrc);
18819 					pushOwner__semdata_322(c, oldPrc);
18820 					pushInfoContext__msgs_490((*(*c).graph).config, (*oldPrc).info, ((NimStringDesc*) NIM_NIL));
18821 					T9_ = NIM_NIL;
18822 					T9_ = openScope__lookups_69(c);
18823 					n = (*oldPrc).ast;
18824 					T10_ = NIM_NIL;
18825 					T10_ = getBody__modulegraphs_11241((*c).graph, s);
18826 					asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), copyTree__ast_4431(T10_));
18827 					instantiateBody__sem_1028(c, n, (*(*oldPrc).typ).n, oldPrc, s);
18828 					closeScope__lookups_101(c);
18829 					popInfoContext__msgs_507((*(*c).graph).config);
18830 					popOwner__semdata_329(c);
18831 					popProcCon__semdata_389(c);
18832 				}
18833 				LA7_: ;
18834 				i_2 += ((NI) 1);
18835 			} LA4: ;
18836 		}
18837 	}
18838 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,searchForBorrowProc__sem_2711)18839 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, searchForBorrowProc__sem_2711)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* startScope, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fn) {
18840 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
18841 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
18842 	NIM_BOOL hasDistinct;
18843 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
18844 	result = NIM_NIL;
18845 	call = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*fn).info);
18846 	hasDistinct = NIM_FALSE;
18847 	T1_ = NIM_NIL;
18848 	T1_ = newIdentNode__ast_3712((*fn).name, (*fn).info);
18849 	add__ast_4797(call, T1_);
18850 	{
18851 		NI i;
18852 		NI colontmp_;
18853 		NI i_2;
18854 		i = (NI)0;
18855 		colontmp_ = (NI)0;
18856 		colontmp_ = len__ast_3198((*(*fn).typ).n);
18857 		i_2 = ((NI) 1);
18858 		{
18859 			while (1) {
18860 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* param;
18861 				tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
18862 				tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
18863 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T17_;
18864 				if (!(i_2 < colontmp_)) goto LA4;
18865 				i = i_2;
18866 				param = (*(*(*fn).typ).n)._kind_6.sons->data[i];
18867 				t = skipTypes__ast_3735((*param).typ, TM__rF9caJawfOjYTjsgLVUSGFA_406);
18868 				{
18869 					NIM_BOOL T7_;
18870 					T7_ = (NIM_BOOL)0;
18871 					T7_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13));
18872 					if (T7_) goto LA8_;
18873 					T7_ = ((*(*param).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13));
18874 					LA8_: ;
18875 					if (!T7_) goto LA9_;
18876 					hasDistinct = NIM_TRUE;
18877 				}
18878 				LA9_: ;
18879 				x = NIM_NIL;
18880 				{
18881 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T15_;
18882 					if (!((*(*param).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA13_;
18883 					x = newTypeS__semdata_733((*(*param).typ).kind, c);
18884 					T15_ = NIM_NIL;
18885 					T15_ = baseOfDistinct__types_3354(t, (*c).graph, (*c).Sup.idgen);
18886 					addSonSkipIntLit__magicsys_136(x, T15_, (*c).Sup.idgen);
18887 				}
18888 				goto LA11_;
18889 				LA13_: ;
18890 				{
18891 					x = baseOfDistinct__types_3354(t, (*c).graph, (*c).Sup.idgen);
18892 				}
18893 				LA11_: ;
18894 				T17_ = NIM_NIL;
18895 				T17_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*fn).info, x);
18896 				add__ast_4797(call, T17_);
18897 				i_2 += ((NI) 1);
18898 			} LA4: ;
18899 		}
18900 	}
18901 	{
18902 		tySet_tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw filter;
18903 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resolved;
18904 		if (!hasDistinct) goto LA20_;
18905 		{
18906 			if (!((12288 &((NU32)1<<((NU)((*fn).kind)&31U)))!=0)) goto LA24_;
18907 			filter = 12288;
18908 		}
18909 		goto LA22_;
18910 		LA24_: ;
18911 		{
18912 			filter = 0;
18913 			filter |=((NU32)(1)<<(((*fn).kind)%(sizeof(NU32)*8)));
18914 		}
18915 		LA22_: ;
18916 		resolved = semOverloadedCall__sem_2498(c, call, call, filter, 0);
18917 		{
18918 			if (!!((resolved == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA29_;
18919 			result = (*(*resolved)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
18920 			{
18921 				NIM_BOOL T33_;
18922 				T33_ = (NIM_BOOL)0;
18923 				T33_ = compareTypes__types_2659((*(*result).typ).sons->data[((NI) 0)], (*(*fn).typ).sons->data[((NI) 0)], ((tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg) 1), 0);
18924 				if (!!(T33_)) goto LA34_;
18925 				result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
18926 			}
18927 			goto LA31_;
18928 			LA34_: ;
18929 			{
18930 				if (!((*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 6) || (*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5))) goto LA37_;
18931 				result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
18932 			}
18933 			goto LA31_;
18934 			LA37_: ;
18935 			LA31_: ;
18936 		}
18937 		LA29_: ;
18938 	}
18939 	LA20_: ;
18940 	return result;
18941 }
N_NIMCALL(void,semBorrow__sem_12355)18942 N_LIB_PRIVATE N_NIMCALL(void, semBorrow__sem_12355)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
18943 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b;
18944 	b = searchForBorrowProc__sem_2711(c, (*(*c).currentScope).parent, s);
18945 	{
18946 		if (!!((b == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA3_;
18947 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), newSymNode__ast_3716(b));
18948 		(*s).magic = (*b).magic;
18949 		{
18950 			NIM_BOOL T7_;
18951 			NI T9_;
18952 			T7_ = (NIM_BOOL)0;
18953 			T7_ = !(((*b).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
18954 			if (!(T7_)) goto LA8_;
18955 			T9_ = (NI)0;
18956 			T9_ = len__ast_4002((*b).typ);
18957 			T7_ = (((NI) 0) < T9_);
18958 			LA8_: ;
18959 			if (!T7_) goto LA10_;
18960 			asgnRef((void**) (&(*(*(*s).typ).n)._kind_6.sons->data[((NI) 0)]), (*(*(*b).typ).n)._kind_6.sons->data[((NI) 0)]);
18961 		}
18962 		LA10_: ;
18963 		(*(*s).typ).flags = (*(*b).typ).flags;
18964 	}
18965 	goto LA1_;
18966 	LA3_: ;
18967 	{
18968 		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);
18969 	}
18970 	LA1_: ;
18971 }
N_NIMCALL(void,sideEffectsCheck__sem_1122)18972 N_LIB_PRIVATE N_NIMCALL(void, sideEffectsCheck__sem_1122)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
18973 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semProcAux__sem_13029)18974 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) {
18975 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
18976 	NIM_BOOL isAnon;
18977 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
18978 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* declarationScope;
18979 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T10_;
18980 	tyTuple__7rlNEhvBksZh9a9asniQIl9aQ T36_;
18981 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* proto;
18982 	NIM_BOOL comesFromShadowScope;
18983 	NIM_BOOL hasProto;
18984 {	result = NIM_NIL;
18985 	result = semProcAnnotation__sem_12464(c, n, validPragmas);
18986 	{
18987 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
18988 		goto BeforeRet_;
18989 	}
18990 	LA3_: ;
18991 	result = n;
18992 	checkMinSonsLen__semdata_1084(n, ((NI) 7), (*(*c).graph).config);
18993 	isAnon = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
18994 	s = NIM_NIL;
18995 	switch ((*(*n)._kind_6.sons->data[((NI) 0)]).kind) {
18996 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
18997 	{
18998 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T6_;
18999 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T7_;
19000 		T6_ = nextSymId__ast_3132((*c).Sup.idgen);
19001 		T7_ = NIM_NIL;
19002 		T7_ = getCurrOwner__semdata_315(c);
19003 		s = newSym__ast_3445(kind, (*(*c).cache).idAnon, T6_, T7_, (*n).info, 0);
19004 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
19005 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(s));
19006 	}
19007 	break;
19008 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
19009 	{
19010 		s = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
19011 		asgnRef((void**) (&(*s).owner), getCurrOwner__semdata_315(c));
19012 	}
19013 	break;
19014 	default:
19015 	{
19016 		s = semIdentDef__sem_9679(c, (*n)._kind_6.sons->data[((NI) 0)], kind);
19017 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(s));
19018 	}
19019 	break;
19020 	}
19021 	asgnRef((void**) (&(*s).ast), n);
19022 	(*s).options = (*(*(*c).graph).config).options;
19023 	declarationScope = (*c).currentScope;
19024 	pushOwner__semdata_322(c, s);
19025 	T10_ = NIM_NIL;
19026 	T10_ = openScope__lookups_69(c);
19027 	setGenericParamsMisc__sem_6510(c, n);
19028 	{
19029 		if (!!(((*(*n)._kind_6.sons->data[((NI) 3)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA13_;
19030 		semParamList__sem_91(c, (*n)._kind_6.sons->data[((NI) 3)], (*n)._kind_6.sons->data[((NI) 2)], s);
19031 	}
19032 	goto LA11_;
19033 	LA13_: ;
19034 	{
19035 		asgnRef((void**) (&(*s).typ), newProcType__sem_5053(c, (*n).info, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
19036 	}
19037 	LA11_: ;
19038 	{
19039 		NI T18_;
19040 		T18_ = (NI)0;
19041 		T18_ = safeLen__ast_3191((*n)._kind_6.sons->data[((NI) 2)]);
19042 		if (!(T18_ == ((NI) 0))) goto LA19_;
19043 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), (*(*n)._kind_6.sons->data[((NI) 5)])._kind_6.sons->data[((NI) 1)]);
19044 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 5)]), (*(*c).graph).emptyNode);
19045 	}
19046 	LA19_: ;
19047 	{
19048 		if (!(((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 33))&63U)))!=0)) goto LA23_;
19049 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28)) & 63);
19050 	}
19051 	LA23_: ;
19052 	{
19053 		if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA27_;
19054 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semPattern__sem_7129(c, (*n)._kind_6.sons->data[((NI) 1)], s));
19055 	}
19056 	LA27_: ;
19057 	{
19058 		if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15))) goto LA31_;
19059 		(*(*s).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15)) & 63);
19060 	}
19061 	goto LA29_;
19062 	LA31_: ;
19063 	{
19064 		if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13))) goto LA34_;
19065 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 12)) & 63);
19066 		(*(*s).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 1)) & 63);
19067 	}
19068 	goto LA29_;
19069 	LA34_: ;
19070 	LA29_: ;
19071 	nimZeroMem((void*)(&T36_), sizeof(tyTuple__7rlNEhvBksZh9a9asniQIl9aQ));
19072 	{
19073 		if (!isAnon) goto LA39_;
19074 		T36_.Field0 = TM__rF9caJawfOjYTjsgLVUSGFA_168.Field0;
19075 		T36_.Field1 = TM__rF9caJawfOjYTjsgLVUSGFA_168.Field1;
19076 	}
19077 	goto LA37_;
19078 	LA39_: ;
19079 	{
19080 		searchForProc__procfind_73(c, declarationScope, s, (&T36_));
19081 	}
19082 	LA37_: ;
19083 	proto = NIM_NIL;
19084 	proto = T36_.Field0;
19085 	comesFromShadowScope = (NIM_BOOL)0;
19086 	comesFromShadowScope = T36_.Field1;
19087 	{
19088 		NIM_BOOL T44_;
19089 		NIM_BOOL T45_;
19090 		T44_ = (NIM_BOOL)0;
19091 		T45_ = (NIM_BOOL)0;
19092 		T45_ = (proto == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
19093 		if (!(T45_)) goto LA46_;
19094 		T45_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0);
19095 		LA46_: ;
19096 		T44_ = T45_;
19097 		if (!(T44_)) goto LA47_;
19098 		T44_ = !(((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
19099 		LA47_: ;
19100 		if (!T44_) goto LA48_;
19101 		proto = s;
19102 	}
19103 	LA48_: ;
19104 	hasProto = !((proto == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
19105 	switch ((*s).kind) {
19106 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
19107 	{
19108 		{
19109 			if (!!(((*(*s).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)))) goto LA53_;
19110 			{
19111 				if (!isAnon) goto LA57_;
19112 				(*(*s).typ).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9);
19113 			}
19114 			goto LA55_;
19115 			LA57_: ;
19116 			{
19117 				(*(*s).typ).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 5);
19118 			}
19119 			LA55_: ;
19120 		}
19121 		LA53_: ;
19122 	}
19123 	break;
19124 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
19125 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
19126 	{
19127 	}
19128 	break;
19129 	default:
19130 	{
19131 		{
19132 			tyObject_TOptionEntry__H9ac5KbrDJVwT1zH5O83r7w* T66_;
19133 			if (!!(hasProto)) goto LA64_;
19134 			T66_ = NIM_NIL;
19135 			T66_ = lastOptionEntry__semdata_341(c);
19136 			(*(*s).typ).callConv = (*T66_).defaultCC;
19137 		}
19138 		LA64_: ;
19139 	}
19140 	break;
19141 	}
19142 	{
19143 		NIM_BOOL T69_;
19144 		T69_ = (NIM_BOOL)0;
19145 		T69_ = !(hasProto);
19146 		if (!(T69_)) goto LA70_;
19147 		T69_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0));
19148 		LA70_: ;
19149 		if (!T69_) goto LA71_;
19150 		{
19151 			if (!((1568832 &((NU32)1<<((NU)((*s).kind)&31U)))!=0)) goto LA75_;
19152 			addInterfaceOverloadableSymAt__lookups_899(c, declarationScope, s);
19153 		}
19154 		goto LA73_;
19155 		LA75_: ;
19156 		{
19157 			addInterfaceDeclAt__lookups_875(c, declarationScope, s);
19158 		}
19159 		LA73_: ;
19160 	}
19161 	LA71_: ;
19162 	pragmaCallable__pragmas_2552(c, s, n, validPragmas, NIM_FALSE);
19163 	{
19164 		if (!!(hasProto)) goto LA80_;
19165 		implicitPragmas__pragmas_2394(c, s, (*n).info, validPragmas);
19166 	}
19167 	LA80_: ;
19168 	{
19169 		NIM_BOOL T84_;
19170 		T84_ = (NIM_BOOL)0;
19171 		T84_ = !(((*(*n)._kind_6.sons->data[((NI) 4)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
19172 		if (!(T84_)) goto LA85_;
19173 		T84_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 31))&63U)))!=0));
19174 		LA85_: ;
19175 		if (!T84_) goto LA86_;
19176 		setEffectsForProcType__sempass50_4540((*c).graph, (*s).typ, (*n)._kind_6.sons->data[((NI) 4)], s);
19177 	}
19178 	LA86_: ;
19179 	(*(*s).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 44)) & 63);
19180 	{
19181 		NIM_BOOL T90_;
19182 		NIM_BOOL T92_;
19183 		NIM_BOOL T93_;
19184 		NimStringDesc* T98_;
19185 		NimStringDesc* T99_;
19186 		NimStringDesc* T100_;
19187 		NimStringDesc* T101_;
19188 		T90_ = (NIM_BOOL)0;
19189 		T90_ = hasProto;
19190 		if (!(T90_)) goto LA91_;
19191 		T92_ = (NIM_BOOL)0;
19192 		T93_ = (NIM_BOOL)0;
19193 		T93_ = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 42))&63U)))!=0);
19194 		if (!(T93_)) goto LA94_;
19195 		T93_ = !(((*(*proto).typ).callConv == (*(*s).typ).callConv));
19196 		LA94_: ;
19197 		T92_ = T93_;
19198 		if (T92_) goto LA95_;
19199 		T92_ = ((((*(*proto).typ).flags & ~ (*(*s).typ).flags)==0)&&((*(*proto).typ).flags != (*(*s).typ).flags));
19200 		LA95_: ;
19201 		T90_ = T92_;
19202 		LA91_: ;
19203 		if (!T90_) goto LA96_;
19204 		T98_ = NIM_NIL;
19205 		T99_ = NIM_NIL;
19206 		T99_ = dollar___msgs_624((*(*c).graph).config, (*proto).info);
19207 		T100_ = NIM_NIL;
19208 		T100_ = dollar___msgs_624((*(*c).graph).config, (*s).info);
19209 		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);
19210 appendString(T98_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
19211 appendString(T98_, (*(*proto).name).s);
19212 appendString(T98_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_170));
19213 appendString(T98_, T99_);
19214 appendString(T98_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_171));
19215 appendString(T98_, (*(*s).name).s);
19216 appendString(T98_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_170));
19217 appendString(T98_, T100_);
19218 		T101_ = NIM_NIL;
19219 		T101_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_169), T98_);
19220 		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);
19221 	}
19222 	LA96_: ;
19223 	{
19224 		NIM_BOOL T104_;
19225 		T104_ = (NIM_BOOL)0;
19226 		T104_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
19227 		if (!(T104_)) goto LA105_;
19228 		T104_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
19229 		LA105_: ;
19230 		if (!T104_) goto LA106_;
19231 		nep1CheckDefImpl__linter_110((*(*c).graph).config, (*s).info, s, (*s).kind);
19232 	}
19233 	LA106_: ;
19234 	{
19235 		if (!hasProto) goto LA110_;
19236 	}
19237 	goto LA108_;
19238 	LA110_: ;
19239 	{
19240 	}
19241 	LA108_: ;
19242 	{
19243 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T127_;
19244 		if (!hasProto) goto LA115_;
19245 		{
19246 			NIM_BOOL T119_;
19247 			T119_ = (NIM_BOOL)0;
19248 			T119_ = !((((*proto).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0));
19249 			if (!(T119_)) goto LA120_;
19250 			T119_ = ((*proto).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
19251 			LA120_: ;
19252 			if (!T119_) goto LA121_;
19253 			wrongRedefinition__lookups_805(c, (*n).info, (*(*proto).name).s, (*proto).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14));
19254 		}
19255 		LA121_: ;
19256 		{
19257 			if (!!(comesFromShadowScope)) goto LA125_;
19258 			(*proto).flags &= ~(((NU64)1) << ((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4)) & 63));
19259 			(*proto).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 5)) & 63);
19260 		}
19261 		LA125_: ;
19262 		suggestSym__sigmatch_5375((*c).graph, (*s).info, proto, &(*(*c).graph).usageSym, NIM_TRUE);
19263 		closeScope__lookups_101(c);
19264 		T127_ = NIM_NIL;
19265 		T127_ = openScope__lookups_69(c);
19266 		{
19267 			NIM_BOOL T130_;
19268 			T130_ = (NIM_BOOL)0;
19269 			T130_ = isGenericParams__ast_4616((*(*proto).ast)._kind_6.sons->data[((NI) 2)]);
19270 			if (!T130_) goto LA131_;
19271 			addGenericParamListToScope__sem_11585(c, (*(*proto).ast)._kind_6.sons->data[((NI) 2)]);
19272 		}
19273 		LA131_: ;
19274 		addParams__sem_96(c, (*(*proto).typ).n, (*proto).kind);
19275 		(*proto).info = (*s).info;
19276 		(*proto).options = (*s).options;
19277 		s = proto;
19278 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), (*(*proto).ast)._kind_6.sons->data[((NI) 2)]);
19279 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 3)]), (*(*proto).ast)._kind_6.sons->data[((NI) 3)]);
19280 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 4)]), (*(*proto).ast)._kind_6.sons->data[((NI) 4)]);
19281 		{
19282 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA135_;
19283 			internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_173), TM__rF9caJawfOjYTjsgLVUSGFA_174);
19284 		}
19285 		LA135_: ;
19286 		asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym), proto);
19287 		{
19288 			NIM_BOOL T139_;
19289 			NimStringDesc* T141_;
19290 			NimStringDesc* T144_;
19291 			T139_ = (NIM_BOOL)0;
19292 			T139_ = importantComments__options_3985((*(*c).graph).config);
19293 			if (!(T139_)) goto LA140_;
19294 			T141_ = NIM_NIL;
19295 			T141_ = comment__ast_993((*proto).ast);
19296 			T139_ = (((NI) 0) < (T141_ ? T141_->Sup.len : 0));
19297 			LA140_: ;
19298 			if (!T139_) goto LA142_;
19299 			T144_ = NIM_NIL;
19300 			T144_ = comment__ast_993((*proto).ast);
19301 			commenteq___ast_1361(n, T144_);
19302 		}
19303 		LA142_: ;
19304 		asgnRef((void**) (&(*proto).ast), n);
19305 		popOwner__semdata_329(c);
19306 		pushOwner__semdata_322(c, s);
19307 	}
19308 	LA115_: ;
19309 	{
19310 		if (!!(isAnon)) goto LA147_;
19311 		{
19312 			NIM_BOOL T151_;
19313 			T151_ = (NIM_BOOL)0;
19314 			T151_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 35))&63U)))!=0);
19315 			if (T151_) goto LA152_;
19316 			T151_ = ((NU8)((*(*s).name).s->data[((NI) 0)]) == (NU8)(61));
19317 			LA152_: ;
19318 			if (!T151_) goto LA153_;
19319 			semOverride__sem_12810(c, s, n);
19320 		}
19321 		goto LA149_;
19322 		LA153_: ;
19323 		{
19324 			if (!(((NU8)((*(*s).name).s->data[((NI) 0)])) == ((NU8)(46)) || ((NU8)((*(*s).name).s->data[((NI) 0)])) == ((NU8)(40)))) goto LA156_;
19325 			{
19326 				NIM_BOOL T160_;
19327 				NimStringDesc* T164_;
19328 				T160_ = (NIM_BOOL)0;
19329 				T160_ = contains__stdZenumutils_43(TM__rF9caJawfOjYTjsgLVUSGFA_208, 3, (*(*s).name).s);
19330 				if (!(T160_)) goto LA161_;
19331 				T160_ = ((18 & (*c).features) == 0);
19332 				LA161_: ;
19333 				if (!T160_) goto LA162_;
19334 				T164_ = NIM_NIL;
19335 				T164_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 80);
19336 appendString(T164_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_212));
19337 appendString(T164_, (*(*s).name).s);
19338 appendString(T164_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_213));
19339 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T164_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_214, NIM_FALSE);
19340 			}
19341 			goto LA158_;
19342 			LA162_: ;
19343 			{
19344 				NIM_BOOL T166_;
19345 				NimStringDesc* T170_;
19346 				T166_ = (NIM_BOOL)0;
19347 				T166_ = eqStrings((*(*s).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_215));
19348 				if (!(T166_)) goto LA167_;
19349 				T166_ = !((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 2))&31U)))!=0));
19350 				LA167_: ;
19351 				if (!T166_) goto LA168_;
19352 				T170_ = NIM_NIL;
19353 				T170_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 80);
19354 appendString(T170_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_212));
19355 appendString(T170_, (*(*s).name).s);
19356 appendString(T170_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_216));
19357 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T170_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_217, NIM_FALSE);
19358 			}
19359 			goto LA158_;
19360 			LA168_: ;
19361 			LA158_: ;
19362 		}
19363 		goto LA149_;
19364 		LA156_: ;
19365 		LA149_: ;
19366 	}
19367 	LA147_: ;
19368 	{
19369 		NIM_BOOL T173_;
19370 		T173_ = (NIM_BOOL)0;
19371 		T173_ = !(((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
19372 		if (!(T173_)) goto LA174_;
19373 		T173_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0));
19374 		LA174_: ;
19375 		if (!T173_) goto LA175_;
19376 		{
19377 			NimStringDesc* T181_;
19378 			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 31))&63U)))!=0)) goto LA179_;
19379 			T181_ = NIM_NIL;
19380 			T181_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_218), (*(*s).name).s);
19381 			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);
19382 		}
19383 		LA179_: ;
19384 		{
19385 			NIM_BOOL T184_;
19386 			NIM_BOOL T185_;
19387 			NIM_BOOL T188_;
19388 			T184_ = (NIM_BOOL)0;
19389 			T185_ = (NIM_BOOL)0;
19390 			T185_ = ((6 &((NU16)1<<((NU)((*(*(*c).graph).config).ideCmd)&15U)))!=0);
19391 			if (!(T185_)) goto LA186_;
19392 			T185_ = !(((393216 &((NU32)1<<((NU)((*s).kind)&31U)))!=0));
19393 			LA186_: ;
19394 			T184_ = T185_;
19395 			if (!(T184_)) goto LA187_;
19396 			T188_ = (NIM_BOOL)0;
19397 			T188_ = cursorInProc__sem_12968((*(*c).graph).config, (*n)._kind_6.sons->data[((NI) 6)]);
19398 			T184_ = !(T188_);
19399 			LA187_: ;
19400 			if (!T184_) goto LA189_;
19401 			{
19402 				if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14))) goto LA193_;
19403 				semMethodPrototype__sem_12992(c, s, n);
19404 			}
19405 			LA193_: ;
19406 		}
19407 		goto LA182_;
19408 		LA189_: ;
19409 		{
19410 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp;
19411 			if (!isAnon) goto LA196_;
19412 			gp = (*n)._kind_6.sons->data[((NI) 2)];
19413 			{
19414 				NIM_BOOL T200_;
19415 				NIM_BOOL T202_;
19416 				NI T203_;
19417 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T207_;
19418 				T200_ = (NIM_BOOL)0;
19419 				T200_ = ((*gp).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
19420 				if (T200_) goto LA201_;
19421 				T202_ = (NIM_BOOL)0;
19422 				T203_ = (NI)0;
19423 				T203_ = len__ast_3198(gp);
19424 				T202_ = (T203_ == ((NI) 1));
19425 				if (!(T202_)) goto LA204_;
19426 				T202_ = (((*(*(*gp)._kind_6.sons->data[((NI) 0)]).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 11))&63U)))!=0);
19427 				LA204_: ;
19428 				T200_ = T202_;
19429 				LA201_: ;
19430 				if (!T200_) goto LA205_;
19431 				pushProcCon__sem_898(c, s);
19432 				addResult__sem_12395(c, n, (*(*s).typ).sons->data[((NI) 0)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
19433 				T207_ = NIM_NIL;
19434 				T207_ = semProcBody__sem_67(c, (*n)._kind_6.sons->data[((NI) 6)]);
19435 				asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), hloBody__sem_783(c, T207_));
19436 				trackProc__sempass50_4692(c, s, (*(*s).ast)._kind_6.sons->data[((NI) 6)]);
19437 				popProcCon__semdata_389(c);
19438 			}
19439 			goto LA198_;
19440 			LA205_: ;
19441 			{
19442 				if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 12))&31U)))!=0))) goto LA209_;
19443 				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);
19444 			}
19445 			goto LA198_;
19446 			LA209_: ;
19447 			LA198_: ;
19448 		}
19449 		goto LA182_;
19450 		LA196_: ;
19451 		{
19452 			pushProcCon__sem_898(c, s);
19453 			{
19454 				NIM_BOOL T214_;
19455 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T224_;
19456 				T214_ = (NIM_BOOL)0;
19457 				T214_ = ((*(*n)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
19458 				if (T214_) goto LA215_;
19459 				T214_ = ((393216 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
19460 				LA215_: ;
19461 				if (!T214_) goto LA216_;
19462 				{
19463 					NIM_BOOL T220_;
19464 					T220_ = (NIM_BOOL)0;
19465 					T220_ = !(((393216 &((NU32)1<<((NU)((*s).kind)&31U)))!=0));
19466 					if (!(T220_)) goto LA221_;
19467 					T220_ = ((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
19468 					LA221_: ;
19469 					if (!T220_) goto LA222_;
19470 					paramsTypeCheck__sem_505(c, (*s).typ);
19471 				}
19472 				LA222_: ;
19473 				maybeAddResult__sem_100(c, s, n);
19474 				T224_ = NIM_NIL;
19475 				T224_ = semProcBody__sem_67(c, (*n)._kind_6.sons->data[((NI) 6)]);
19476 				asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), hloBody__sem_783(c, T224_));
19477 				trackProc__sempass50_4692(c, s, (*(*s).ast)._kind_6.sons->data[((NI) 6)]);
19478 			}
19479 			goto LA212_;
19480 			LA216_: ;
19481 			{
19482 				tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T235_;
19483 				{
19484 					NIM_BOOL T228_;
19485 					tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T232_;
19486 					tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T233_;
19487 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T234_;
19488 					T228_ = (NIM_BOOL)0;
19489 					T228_ = !(((*(*s).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
19490 					if (!(T228_)) goto LA229_;
19491 					T228_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15)));
19492 					LA229_: ;
19493 					if (!T228_) goto LA230_;
19494 					T232_ = NIM_NIL;
19495 					T232_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_102));
19496 					T233_ = nextSymId__ast_3132((*c).Sup.idgen);
19497 					T234_ = NIM_NIL;
19498 					T234_ = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0), T232_, T233_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), (*n).info, 0);
19499 					addDecl__lookups_845(c, T234_);
19500 				}
19501 				LA230_: ;
19502 				T235_ = NIM_NIL;
19503 				T235_ = openScope__lookups_69(c);
19504 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), semGenericStmt__sem_2885(c, (*n)._kind_6.sons->data[((NI) 6)]));
19505 				closeScope__lookups_101(c);
19506 				{
19507 					if (!((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0))) goto LA238_;
19508 					fixupInstantiatedSymbols__sem_1095(c, s);
19509 				}
19510 				LA238_: ;
19511 			}
19512 			LA212_: ;
19513 			{
19514 				if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14))) goto LA242_;
19515 				semMethodPrototype__sem_12992(c, s, n);
19516 			}
19517 			LA242_: ;
19518 			popProcCon__semdata_389(c);
19519 		}
19520 		LA182_: ;
19521 	}
19522 	goto LA171_;
19523 	LA175_: ;
19524 	{
19525 		{
19526 			if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14))) goto LA247_;
19527 			semMethodPrototype__sem_12992(c, s, n);
19528 		}
19529 		LA247_: ;
19530 		{
19531 			NimStringDesc* T253_;
19532 			if (!hasProto) goto LA251_;
19533 			T253_ = NIM_NIL;
19534 			T253_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_402), (*(*proto).name).s);
19535 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T253_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_403, NIM_FALSE);
19536 		}
19537 		LA251_: ;
19538 		{
19539 			NIM_BOOL T256_;
19540 			T256_ = (NIM_BOOL)0;
19541 			T256_ = ((IL64(2164260928) & (*s).flags) == 0);
19542 			if (!(T256_)) goto LA257_;
19543 			T256_ = ((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
19544 			LA257_: ;
19545 			if (!T256_) goto LA258_;
19546 			{
19547 				NIM_BOOL T262_;
19548 				NIM_BOOL T263_;
19549 				T262_ = (NIM_BOOL)0;
19550 				T263_ = (NIM_BOOL)0;
19551 				T263_ = ((12288 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
19552 				if (!(T263_)) goto LA264_;
19553 				T263_ = !(((*(*s).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
19554 				LA264_: ;
19555 				T262_ = T263_;
19556 				if (!(T262_)) goto LA265_;
19557 				T262_ = ((*(*(*s).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
19558 				LA265_: ;
19559 				if (!T262_) goto LA266_;
19560 				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);
19561 			}
19562 			LA266_: ;
19563 			(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4)) & 63);
19564 			(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 5)) & 63);
19565 		}
19566 		goto LA254_;
19567 		LA258_: ;
19568 		{
19569 			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 31))&63U)))!=0)) goto LA269_;
19570 			semBorrow__sem_12355(c, n, s);
19571 		}
19572 		goto LA254_;
19573 		LA269_: ;
19574 		LA254_: ;
19575 	}
19576 	LA171_: ;
19577 	sideEffectsCheck__sem_1122(c, s);
19578 	closeScope__lookups_101(c);
19579 	popOwner__semdata_329(c);
19580 	{
19581 		NI T275_;
19582 		if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA273_;
19583 		asgnRef((void**) (&(*c).patterns), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*c).patterns), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
19584 		T275_ = (*c).patterns->Sup.len++;
19585 		asgnRef((void**) (&(*c).patterns->data[T275_]), s);
19586 	}
19587 	LA273_: ;
19588 	{
19589 		if (!isAnon) goto LA278_;
19590 		transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 51));
19591 		asgnRef((void**) (&(*result).typ), (*s).typ);
19592 		{
19593 			if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0)) goto LA282_;
19594 			asgnRef((void**) (&(*result).typ), makeVarType__semdata_766(c, (*result).typ, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
19595 		}
19596 		LA282_: ;
19597 	}
19598 	goto LA276_;
19599 	LA278_: ;
19600 	{
19601 		NIM_BOOL T285_;
19602 		NIM_BOOL T286_;
19603 		T285_ = (NIM_BOOL)0;
19604 		T286_ = (NIM_BOOL)0;
19605 		T286_ = isTopLevel__semdata_1091(c);
19606 		if (!(T286_)) goto LA287_;
19607 		T286_ = !(((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15)));
19608 		LA287_: ;
19609 		T285_ = T286_;
19610 		if (!(T285_)) goto LA288_;
19611 		T285_ = ((*(*s).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
19612 		LA288_: ;
19613 		if (!T285_) goto LA289_;
19614 		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);
19615 	}
19616 	goto LA276_;
19617 	LA289_: ;
19618 	LA276_: ;
19619 	}BeforeRet_: ;
19620 	return result;
19621 }
N_NIMCALL(void,determineType__sem_1460)19622 N_LIB_PRIVATE N_NIMCALL(void, determineType__sem_1460)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
19623 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
19624 {	{
19625 		if (!!(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3_;
19626 		goto BeforeRet_;
19627 	}
19628 	LA3_: ;
19629 	T5_ = NIM_NIL;
19630 	T5_ = semProcAux__sem_13029(c, (*s).ast, (*s).kind, TM__rF9caJawfOjYTjsgLVUSGFA_411, 0);
19631 	(void)(T5_);
19632 	}BeforeRet_: ;
19633 }
N_NIMCALL(tySequence__u9c10b19cqoKPxYSuh3ZKtIw *,initCandidateSymbols__sem_1463)19634 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) {
19635 	tySequence__u9c10b19cqoKPxYSuh3ZKtIw* result;
19636 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symx;
19637 	result = NIM_NIL;
19638 	result = NIM_NIL;
19639 	symx = initOverloadIter__lookups_1374(o, c, headSymbol);
19640 	{
19641 		while (1) {
19642 			if (!!((symx == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA2;
19643 			{
19644 				tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ T7_;
19645 				NI T8_;
19646 				if (!((filter &((NU32)1<<((NU)((*symx).kind)&31U)))!=0)) goto LA5_;
19647 				nimZeroMem((void*)(&T7_), sizeof(tyTuple__TZXo9ct5DP9bCdCGHY4IfZPQ));
19648 				T7_.Field0 = symx;
19649 				T7_.Field1 = lastOverloadScope__lookups_1472((&(*o)));
19650 				result = (tySequence__u9c10b19cqoKPxYSuh3ZKtIw*) incrSeqV3((TGenericSeq*)(result), (&NTIseqLLpsym_intTT__u9c10b19cqoKPxYSuh3ZKtIw_));
19651 				T8_ = result->Sup.len++;
19652 				asgnRef((void**) (&result->data[T8_].Field0), T7_.Field0);
19653 				result->data[T8_].Field1 = T7_.Field1;
19654 			}
19655 			LA5_: ;
19656 			symx = nextOverloadIter__lookups_1528(o, c, headSymbol);
19657 		} LA2: ;
19658 	}
19659 	{
19660 		NI T11_;
19661 		T11_ = (result ? result->Sup.len : 0);
19662 		if (!(((NI) 0) < T11_)) goto LA12_;
19663 		initCandidate__sigmatch_124(c, best, result->data[((NI) 0)].Field0, initialBinding, result->data[((NI) 0)].Field1, diagnostics);
19664 		initCandidate__sigmatch_124(c, alt, result->data[((NI) 0)].Field0, initialBinding, result->data[((NI) 0)].Field1, diagnostics);
19665 		(*best).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
19666 	}
19667 	LA12_: ;
19668 	return result;
19669 }
N_NIMCALL(void,pickBestCandidate__sem_1496)19670 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) {
19671 	tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
19672 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
19673 	NI scope;
19674 	NI counterInitial;
19675 	tySequence__u9c10b19cqoKPxYSuh3ZKtIw* syms;
19676 	NIM_BOOL noSyms;
19677 	NI nextSymIndex;
19678 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA z;
19679 	nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
19680 	sym = initOverloadIter__lookups_1374((&o), c, headSymbol);
19681 	scope = lastOverloadScope__lookups_1472((&o));
19682 	counterInitial = (*(*c).currentScope).symbols.counter;
19683 	syms = NIM_NIL;
19684 	noSyms = NIM_TRUE;
19685 	nextSymIndex = ((NI) 0);
19686 	{
19687 		while (1) {
19688 			if (!!((sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA2;
19689 			{
19690 				if (!((filter &((NU32)1<<((NU)((*sym).kind)&31U)))!=0)) goto LA5_;
19691 				initCandidate__sigmatch_124(c, best, sym, initialBinding, scope, diagnosticsFlag);
19692 				initCandidate__sigmatch_124(c, alt, sym, initialBinding, scope, diagnosticsFlag);
19693 				(*best).state = ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2);
19694 				goto LA1;
19695 			}
19696 			goto LA3_;
19697 			LA5_: ;
19698 			{
19699 				sym = nextOverloadIter__lookups_1528((&o), c, headSymbol);
19700 				scope = lastOverloadScope__lookups_1472((&o));
19701 			}
19702 			LA3_: ;
19703 		} LA2: ;
19704 	} LA1: ;
19705 	nimZeroMem((void*)(&z), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
19706 	{
19707 		while (1) {
19708 			if (!!((sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA9;
19709 			{
19710 				{
19711 					if (!!(((filter &((NU32)1<<((NU)((*sym).kind)&31U)))!=0))) goto LA13_;
19712 					sym = nextOverloadIter__lookups_1528((&o), c, headSymbol);
19713 					scope = lastOverloadScope__lookups_1472((&o));
19714 					goto LA10;
19715 				}
19716 				LA13_: ;
19717 				determineType__sem_1460(c, sym);
19718 				initCandidate__sigmatch_124(c, (&z), sym, initialBinding, scope, diagnosticsFlag);
19719 				{
19720 					NIM_BOOL T17_;
19721 					NI T19_;
19722 					T17_ = (NIM_BOOL)0;
19723 					T17_ = ((*(*c).currentScope).symbols.counter == counterInitial);
19724 					if (T17_) goto LA18_;
19725 					T19_ = (syms ? syms->Sup.len : 0);
19726 					T17_ = !((T19_ == ((NI) 0)));
19727 					LA18_: ;
19728 					if (!T17_) goto LA20_;
19729 					matches__sigmatch_4181(c, n, orig, (&z));
19730 					{
19731 						if (!(z.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1))) goto LA24_;
19732 						{
19733 							if (!((*sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15))) goto LA28_;
19734 							{
19735 								NIM_BOOL T32_;
19736 								T32_ = (NIM_BOOL)0;
19737 								T32_ = !(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 1))&31U)))!=0));
19738 								if (!(T32_)) goto LA33_;
19739 								T32_ = ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 2))&31U)))!=0);
19740 								LA33_: ;
19741 								if (!!(T32_)) goto LA34_;
19742 								z.exactMatches += ((NI) 200);
19743 							}
19744 							goto LA30_;
19745 							LA34_: ;
19746 							{
19747 								z.exactMatches -= ((NI) 200);
19748 							}
19749 							LA30_: ;
19750 						}
19751 						LA28_: ;
19752 						switch ((*best).state) {
19753 						case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0):
19754 						case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 2):
19755 						{
19756 							genericAssign((void*)(&(*best)), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_));
19757 						}
19758 						break;
19759 						case ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1):
19760 						{
19761 							NI cmp;
19762 							cmp = cmpCandidates__sigmatch_358((&(*best)), (&z));
19763 							{
19764 								if (!(cmp < ((NI) 0))) goto LA41_;
19765 								genericAssign((void*)(&(*best)), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_));
19766 							}
19767 							goto LA39_;
19768 							LA41_: ;
19769 							{
19770 								if (!(cmp == ((NI) 0))) goto LA44_;
19771 								genericAssign((void*)(&(*alt)), (void*)(&z), (&NTItcandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA_));
19772 							}
19773 							goto LA39_;
19774 							LA44_: ;
19775 							LA39_: ;
19776 						}
19777 						break;
19778 						}
19779 					}
19780 					goto LA22_;
19781 					LA24_: ;
19782 					{
19783 						NIM_BOOL T47_;
19784 						tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ T51_;
19785 						NI T52_;
19786 						T47_ = (NIM_BOOL)0;
19787 						T47_ = errorsEnabled;
19788 						if (T47_) goto LA48_;
19789 						T47_ = z.diagnosticsEnabled;
19790 						LA48_: ;
19791 						if (!T47_) goto LA49_;
19792 						nimZeroMem((void*)(&T51_), sizeof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ));
19793 						nimZeroMem((void*)(&T51_), sizeof(tyObject_CandidateError__5fLnqPfj0Ty9cmak1Q1pBFQ));
19794 						T51_.sym = sym;
19795 						T51_.firstMismatch.kind = z.firstMismatch.kind;
19796 						T51_.firstMismatch.arg = z.firstMismatch.arg;
19797 						T51_.firstMismatch.formal = z.firstMismatch.formal;
19798 						genericSeqAssign((&T51_.diagnostics), z.diagnostics, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
19799 						unsureAsgnRef((void**) (&(*errors)), (tySequence__0dpGN6F4ocevqUQGsaf41w*) incrSeqV3((TGenericSeq*)((*errors)), (&NTIcandidateerrors__0dpGN6F4ocevqUQGsaf41w_)));
19800 						T52_ = (*errors)->Sup.len++;
19801 						asgnRef((void**) (&(*errors)->data[T52_].sym), T51_.sym);
19802 						(*errors)->data[T52_].firstMismatch.kind = T51_.firstMismatch.kind;
19803 						(*errors)->data[T52_].firstMismatch.arg = T51_.firstMismatch.arg;
19804 						asgnRef((void**) (&(*errors)->data[T52_].firstMismatch.formal), T51_.firstMismatch.formal);
19805 						genericSeqAssign((&(*errors)->data[T52_].diagnostics), T51_.diagnostics, (&NTIseqLstringT__sM4lkSb7zS6F7OVMvW9cffQ_));
19806 						(*errors)->data[T52_].enabled = T51_.enabled;
19807 					}
19808 					goto LA22_;
19809 					LA49_: ;
19810 					LA22_: ;
19811 				}
19812 				goto LA15_;
19813 				LA20_: ;
19814 				{
19815 					syms = initCandidateSymbols__sem_1463(c, headSymbol, initialBinding, filter, best, alt, (&o), diagnosticsFlag);
19816 					noSyms = NIM_FALSE;
19817 				}
19818 				LA15_: ;
19819 				{
19820 					if (!noSyms) goto LA56_;
19821 					sym = nextOverloadIter__lookups_1528((&o), c, headSymbol);
19822 					scope = lastOverloadScope__lookups_1472((&o));
19823 				}
19824 				goto LA54_;
19825 				LA56_: ;
19826 				{
19827 					NI T59_;
19828 					T59_ = (syms ? syms->Sup.len : 0);
19829 					if (!(nextSymIndex < T59_)) goto LA60_;
19830 					sym = syms->data[nextSymIndex].Field0;
19831 					scope = syms->data[nextSymIndex].Field1;
19832 					nextSymIndex += ((NI) 1);
19833 				}
19834 				goto LA54_;
19835 				LA60_: ;
19836 				{
19837 					goto LA8;
19838 				}
19839 				LA54_: ;
19840 			} LA10: ;
19841 		} LA9: ;
19842 	} LA8: ;
19843 }
N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA,dotdot___pureZunicode_840)19844 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___pureZunicode_840)(NI a, NI b) {
19845 	tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
19846 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
19847 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
19848 	result.a = a;
19849 	result.b = b;
19850 	return result;
19851 }
N_INLINE(NimStringDesc *,X5BX5D___pureZunicode_3215)19852 static N_INLINE(NimStringDesc*, X5BX5D___pureZunicode_3215)(NimStringDesc* s, tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA x) {
19853 	NimStringDesc* result;
19854 	NI a;
19855 	NI L;
19856 	result = NIM_NIL;
19857 	a = x.a;
19858 	L = (NI)((NI)((NI)((s ? s->Sup.len : 0) - x.b) - a) + ((NI) 1));
19859 	result = mnewString(((NI) (L)));
19860 	{
19861 		NI i;
19862 		NI i_2;
19863 		i = (NI)0;
19864 		i_2 = ((NI) 0);
19865 		{
19866 			while (1) {
19867 				if (!(i_2 < L)) goto LA3;
19868 				i = i_2;
19869 				result->data[i] = s->data[(NI)(i + a)];
19870 				i_2 += ((NI) 1);
19871 			} LA3: ;
19872 		}
19873 	}
19874 	return result;
19875 }
N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA,dotdot___stdZenumutils_80)19876 static N_INLINE(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA, dotdot___stdZenumutils_80)(NI a, NI b) {
19877 	tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA result;
19878 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
19879 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA));
19880 	result.a = a;
19881 	result.b = b;
19882 	return result;
19883 }
N_NIMCALL(NimStringDesc *,getMsgDiagnostic__sem_1968)19884 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) {
19885 	NimStringDesc* result;
19886 	NimStringDesc* ident;
19887 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T10_;
19888 	result = NIM_NIL;
19889 	{
19890 		if (!(((NI) 0) < (*c).compilesContextId)) goto LA3_;
19891 	}
19892 	goto LA1_;
19893 	LA3_: ;
19894 	{
19895 		tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
19896 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
19897 		nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
19898 		sym = initOverloadIter__lookups_1374((&o), c, f);
19899 		{
19900 			while (1) {
19901 				tyArray__nHXaesL0DJZHyVS07ARPRA T8_;
19902 				NimStringDesc* T9_;
19903 				if (!!((sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA7;
19904 				nimZeroMem((void*)T8_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
19905 				T8_[0] = getSymRepr__lookups_548((*(*c).graph).config, sym, NIM_TRUE);
19906 				T9_ = NIM_NIL;
19907 				T9_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_413), T8_, 1);
19908 				result = resizeString(result, (T9_ ? T9_->Sup.len : 0) + 0);
19909 appendString(result, T9_);
19910 				sym = nextOverloadIter__lookups_1528((&o), c, f);
19911 			} LA7: ;
19912 		}
19913 	}
19914 	LA1_: ;
19915 	T10_ = NIM_NIL;
19916 	T10_ = considerQuotedIdent__lookups_28(c, f, n);
19917 	ident = (*T10_).s;
19918 	{
19919 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym_2;
19920 		NimStringDesc* typeHint;
19921 		NimStringDesc* suffix;
19922 		NimStringDesc* T28_;
19923 		NimStringDesc* T29_;
19924 		if (!((2560 & (*n).flags) == 512)) goto LA13_;
19925 		sym_2 = typSym__astmsgs_5((*(*n)._kind_6.sons->data[((NI) 1)]).typ);
19926 		typeHint = ((NimStringDesc*) NIM_NIL);
19927 		{
19928 			if (!(sym_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA17_;
19929 		}
19930 		goto LA15_;
19931 		LA17_: ;
19932 		{
19933 			NimStringDesc* T20_;
19934 			NimStringDesc* T21_;
19935 			T20_ = NIM_NIL;
19936 			T21_ = NIM_NIL;
19937 			T21_ = getProcHeader__types_222((*(*c).graph).config, sym_2, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
19938 			T20_ = rawNewString((T21_ ? T21_->Sup.len : 0) + 10);
19939 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_414));
19940 appendString(T20_, T21_);
19941 			typeHint = T20_;
19942 		}
19943 		LA15_: ;
19944 		{
19945 			NimStringDesc* T26_;
19946 			if (!(((NI) 0) < (result ? result->Sup.len : 0))) goto LA24_;
19947 			T26_ = NIM_NIL;
19948 			T26_ = rawNewString((result ? result->Sup.len : 0) + 1);
19949 appendString(T26_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_415));
19950 appendString(T26_, result);
19951 			suffix = T26_;
19952 		}
19953 		goto LA22_;
19954 		LA24_: ;
19955 		{
19956 			suffix = ((NimStringDesc*) NIM_NIL);
19957 		}
19958 		LA22_: ;
19959 		T28_ = NIM_NIL;
19960 		T29_ = NIM_NIL;
19961 		T29_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_416), ident);
19962 		T28_ = rawNewString((T29_ ? T29_->Sup.len : 0) + (typeHint ? typeHint->Sup.len : 0) + (suffix ? suffix->Sup.len : 0) + 0);
19963 appendString(T28_, T29_);
19964 appendString(T28_, typeHint);
19965 appendString(T28_, suffix);
19966 		result = T28_;
19967 	}
19968 	goto LA11_;
19969 	LA13_: ;
19970 	{
19971 		{
19972 			if (!((result ? result->Sup.len : 0) == ((NI) 0))) goto LA33_;
19973 			result = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_417), ident);
19974 		}
19975 		goto LA31_;
19976 		LA33_: ;
19977 		{
19978 			tyArray__Re75IspeoxXy2oCZHwcRrA T36_;
19979 			nimZeroMem((void*)T36_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
19980 			T36_[0] = copyString(ident);
19981 			T36_[1] = copyString(result);
19982 			result = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_418), T36_, 2);
19983 		}
19984 		LA31_: ;
19985 	}
19986 	LA11_: ;
19987 	return result;
19988 }
N_NIMCALL(NIM_BOOL,sameMethodDispatcher__sem_1428)19989 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameMethodDispatcher__sem_1428)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* a, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* b) {
19990 	NIM_BOOL result;
19991 	result = (NIM_BOOL)0;
19992 	result = NIM_FALSE;
19993 	{
19994 		NIM_BOOL T3_;
19995 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aa;
19996 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bb;
19997 		T3_ = (NIM_BOOL)0;
19998 		T3_ = ((*a).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14));
19999 		if (!(T3_)) goto LA4_;
20000 		T3_ = ((*b).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14));
20001 		LA4_: ;
20002 		if (!T3_) goto LA5_;
20003 		aa = lastSon__ast_4832((*a).ast);
20004 		bb = lastSon__ast_4832((*b).ast);
20005 		{
20006 			NIM_BOOL T9_;
20007 			T9_ = (NIM_BOOL)0;
20008 			T9_ = ((*aa).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
20009 			if (!(T9_)) goto LA10_;
20010 			T9_ = ((*bb).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
20011 			LA10_: ;
20012 			if (!T9_) goto LA11_;
20013 			{
20014 				if (!((*aa)._kind_4.sym == (*bb)._kind_4.sym)) goto LA15_;
20015 				result = NIM_TRUE;
20016 			}
20017 			LA15_: ;
20018 		}
20019 		goto LA7_;
20020 		LA11_: ;
20021 		{
20022 		}
20023 		LA7_: ;
20024 	}
20025 	LA5_: ;
20026 	return result;
20027 }
N_NIMCALL(void,resolveOverloads__sem_1997)20028 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) {
20029 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initialBinding;
20030 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA alt;
20031 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* f;
20032 	tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg overloadsState;
20033 {	unsureAsgnRef((void**)&(*Result).c, NIM_NIL);
20034 	(*Result).exactMatches = 0;
20035 	(*Result).genericMatches = 0;
20036 	(*Result).subtypeMatches = 0;
20037 	(*Result).intConvMatches = 0;
20038 	(*Result).convMatches = 0;
20039 	(*Result).state = 0;
20040 	unsureAsgnRef((void**)&(*Result).callee, NIM_NIL);
20041 	unsureAsgnRef((void**)&(*Result).calleeSym, NIM_NIL);
20042 	(*Result).calleeScope = 0;
20043 	unsureAsgnRef((void**)&(*Result).call, NIM_NIL);
20044 	(*Result).bindings.counter = 0;
20045 	unsureAsgnRef((void**)&(*Result).bindings.data, NIM_NIL);
20046 	(*Result).magic = 0;
20047 	(*Result).baseTypeMatch = 0;
20048 	(*Result).fauxMatch = 0;
20049 	(*Result).genericConverter = 0;
20050 	(*Result).coerceDistincts = 0;
20051 	(*Result).typedescMatched = 0;
20052 	(*Result).isNoCall = 0;
20053 	unsureAsgnRef((void**)&(*Result).inferredTypes, NIM_NIL);
20054 	unsureAsgnRef((void**)&(*Result).diagnostics, NIM_NIL);
20055 	(*Result).inheritancePenalty = 0;
20056 	(*Result).firstMismatch.kind = 0;
20057 	(*Result).firstMismatch.arg = 0;
20058 	unsureAsgnRef((void**)&(*Result).firstMismatch.formal, NIM_NIL);
20059 	(*Result).diagnosticsEnabled = 0;
20060 	initialBinding = NIM_NIL;
20061 	nimZeroMem((void*)(&alt), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
20062 	f = (*n)._kind_6.sons->data[((NI) 0)];
20063 	{
20064 		if (!((*f).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42))) goto LA3_;
20065 		semOpAux__sem_88(c, f);
20066 		initialBinding = f;
20067 		f = (*f)._kind_6.sons->data[((NI) 0)];
20068 	}
20069 	goto LA1_;
20070 	LA3_: ;
20071 	{
20072 		initialBinding = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
20073 	}
20074 	LA1_: ;
20075 	pickBestCandidate__sem_1496(c, f, n, orig, initialBinding, filter, Result, (&alt), errors, ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), errorsEnabled, flags);
20076 	overloadsState = (*Result).state;
20077 	{
20078 		if (!!((overloadsState == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA8_;
20079 		{
20080 			NIM_BOOL T12_;
20081 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* hiddenArg;
20082 			T12_ = (NIM_BOOL)0;
20083 			T12_ = !(((*c).p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)));
20084 			if (!(T12_)) goto LA13_;
20085 			T12_ = !(((*(*c).p).selfSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
20086 			LA13_: ;
20087 			if (!T12_) goto LA14_;
20088 			hiddenArg = newSymNode__ast_3716((*(*c).p).selfSym);
20089 			asgnRef((void**) (&(*hiddenArg).typ), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
20090 			insert__liftdestructors_1579((&(*n)._kind_6.sons), hiddenArg, ((NI) 1));
20091 			insert__liftdestructors_1579((&(*orig)._kind_6.sons), hiddenArg, ((NI) 1));
20092 			pickBestCandidate__sem_1496(c, f, n, orig, initialBinding, filter, Result, (&alt), errors, ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), errorsEnabled, flags);
20093 			{
20094 				if (!!(((*Result).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA18_;
20095 				delete__closureiters_1709((&(*n)._kind_6.sons), ((NI) 1));
20096 				delete__closureiters_1709((&(*orig)._kind_6.sons), ((NI) 1));
20097 				(*n).flags &= ~(((NU32)1) << ((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 12)) & 31));
20098 			}
20099 			goto LA16_;
20100 			LA18_: ;
20101 			{
20102 				goto BeforeRet_;
20103 			}
20104 			LA16_: ;
20105 		}
20106 		LA14_: ;
20107 		{
20108 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T32_;
20109 			tyArray__T6RKPw8xfAeNaoei9aZGzXg T33_;
20110 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T34_;
20111 			tyArray__T6RKPw8xfAeNaoei9aZGzXg T35_;
20112 			if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 9))&31U)))!=0)) goto LA23_;
20113 			{
20114 				NIM_BOOL T27_;
20115 				NI T29_;
20116 				NimStringDesc* argX60gensym324_;
20117 				T27_ = (NIM_BOOL)0;
20118 				T27_ = ((*f).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
20119 				if (!(T27_)) goto LA28_;
20120 				T29_ = (NI)0;
20121 				T29_ = len__ast_3198(n);
20122 				T27_ = (((NI) 2) <= T29_);
20123 				LA28_: ;
20124 				if (!!(T27_)) goto LA30_;
20125 				argX60gensym324_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_412);
20126 				internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym324_, TM__rF9caJawfOjYTjsgLVUSGFA_412);
20127 			}
20128 			LA30_: ;
20129 			T32_ = dotdot___pureZunicode_840(((NI) 0), ((NI) 1));
20130 			nimZeroMem((void*)T33_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
20131 			T33_[0] = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
20132 			T33_[1] = (*n)._kind_6.sons->data[((NI) 1)];
20133 			T33_[2] = f;
20134 			X5BX5Deq___pragmas_1672((&(*n)._kind_6.sons), T32_, T33_, 3);
20135 			T34_ = dotdot___pureZunicode_840(((NI) 0), ((NI) 1));
20136 			nimZeroMem((void*)T35_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
20137 			T35_[0] = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
20138 			T35_[1] = (*orig)._kind_6.sons->data[((NI) 1)];
20139 			T35_[2] = f;
20140 			X5BX5Deq___pragmas_1672((&(*orig)._kind_6.sons), T34_, T35_, 3);
20141 			{
20142 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* opX60gensym329_;
20143 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T40_;
20144 				if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 11))&31U)))!=0)) goto LA38_;
20145 				T40_ = NIM_NIL;
20146 				T40_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_210));
20147 				opX60gensym329_ = newIdentNode__ast_3712(T40_, (*n).info);
20148 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), opX60gensym329_);
20149 				asgnRef((void**) (&(*orig)._kind_6.sons->data[((NI) 0)]), opX60gensym329_);
20150 				pickBestCandidate__sem_1496(c, opX60gensym329_, n, orig, initialBinding, filter, Result, (&alt), errors, ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), errorsEnabled, flags);
20151 			}
20152 			LA38_: ;
20153 			{
20154 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* opX60gensym335_;
20155 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T45_;
20156 				if (!((5 &((NU8)1<<((NU)((*Result).state)&7U)))!=0)) goto LA43_;
20157 				T45_ = NIM_NIL;
20158 				T45_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_209));
20159 				opX60gensym335_ = newIdentNode__ast_3712(T45_, (*n).info);
20160 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), opX60gensym335_);
20161 				asgnRef((void**) (&(*orig)._kind_6.sons->data[((NI) 0)]), opX60gensym335_);
20162 				pickBestCandidate__sem_1496(c, opX60gensym335_, n, orig, initialBinding, filter, Result, (&alt), errors, ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), errorsEnabled, flags);
20163 			}
20164 			LA43_: ;
20165 		}
20166 		goto LA21_;
20167 		LA23_: ;
20168 		{
20169 			NIM_BOOL T47_;
20170 			NIM_BOOL T48_;
20171 			NI T51_;
20172 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* calleeName;
20173 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T54_;
20174 			NimStringDesc* T55_;
20175 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T56_;
20176 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* callOp;
20177 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T57_;
20178 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T58_;
20179 			tyArray__T6RKPw8xfAeNaoei9aZGzXg T59_;
20180 			tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T60_;
20181 			tyArray__T6RKPw8xfAeNaoei9aZGzXg T61_;
20182 			T47_ = (NIM_BOOL)0;
20183 			T48_ = (NIM_BOOL)0;
20184 			T48_ = (((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 10))&31U)))!=0);
20185 			if (!(T48_)) goto LA49_;
20186 			T48_ = ((*f).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
20187 			LA49_: ;
20188 			T47_ = T48_;
20189 			if (!(T47_)) goto LA50_;
20190 			T51_ = (NI)0;
20191 			T51_ = len__ast_3198(n);
20192 			T47_ = (T51_ == ((NI) 3));
20193 			LA50_: ;
20194 			if (!T47_) goto LA52_;
20195 			T54_ = dotdot___stdZenumutils_80(((NI) 0), ((NI) 2));
20196 			T55_ = NIM_NIL;
20197 			T55_ = X5BX5D___pureZunicode_3215((*(*f)._kind_5.ident).s, T54_);
20198 			T56_ = NIM_NIL;
20199 			T56_ = getIdent__idents_143((*c).cache, T55_);
20200 			calleeName = newIdentNode__ast_3712(T56_, (*n).info);
20201 			T57_ = NIM_NIL;
20202 			T57_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_211));
20203 			callOp = newIdentNode__ast_3712(T57_, (*n).info);
20204 			T58_ = dotdot___pureZunicode_840(((NI) 0), ((NI) 1));
20205 			nimZeroMem((void*)T59_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
20206 			T59_[0] = callOp;
20207 			T59_[1] = (*n)._kind_6.sons->data[((NI) 1)];
20208 			T59_[2] = calleeName;
20209 			X5BX5Deq___pragmas_1672((&(*n)._kind_6.sons), T58_, T59_, 3);
20210 			T60_ = dotdot___pureZunicode_840(((NI) 0), ((NI) 1));
20211 			nimZeroMem((void*)T61_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
20212 			T61_[0] = callOp;
20213 			T61_[1] = (*orig)._kind_6.sons->data[((NI) 1)];
20214 			T61_[2] = calleeName;
20215 			X5BX5Deq___pragmas_1672((&(*orig)._kind_6.sons), T60_, T61_, 3);
20216 			pickBestCandidate__sem_1496(c, callOp, n, orig, initialBinding, filter, Result, (&alt), errors, ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), errorsEnabled, flags);
20217 		}
20218 		goto LA21_;
20219 		LA52_: ;
20220 		LA21_: ;
20221 		{
20222 			NIM_BOOL T64_;
20223 			T64_ = (NIM_BOOL)0;
20224 			T64_ = (overloadsState == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0));
20225 			if (!(T64_)) goto LA65_;
20226 			T64_ = ((*Result).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 0));
20227 			LA65_: ;
20228 			if (!T64_) goto LA66_;
20229 			{
20230 				if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 18))&31U)))!=0))) goto LA70_;
20231 				{
20232 					NIM_BOOL T74_;
20233 					NIM_BOOL T75_;
20234 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
20235 					T74_ = (NIM_BOOL)0;
20236 					T75_ = (NIM_BOOL)0;
20237 					T75_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
20238 					if (!(T75_)) goto LA76_;
20239 					T75_ = eqStrings((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_211));
20240 					LA76_: ;
20241 					T74_ = T75_;
20242 					if (!(T74_)) goto LA77_;
20243 					T74_ = ((*(*n)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
20244 					LA77_: ;
20245 					if (!T74_) goto LA78_;
20246 					sym = (*(*(*n)._kind_6.sons->data[((NI) 1)]).typ).sym;
20247 					{
20248 						NimStringDesc* T84_;
20249 						if (!(sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA82_;
20250 						T84_ = NIM_NIL;
20251 						T84_ = getMsgDiagnostic__sem_1968(c, flags, n, f);
20252 						liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T84_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_419, NIM_FALSE);
20253 					}
20254 					goto LA80_;
20255 					LA82_: ;
20256 					{
20257 						NimStringDesc* field;
20258 						NimStringDesc* msg;
20259 						NimStringDesc* T86_;
20260 						NimStringDesc* T87_;
20261 						NimStringDesc* T88_;
20262 						field = (*(*(*n)._kind_6.sons->data[((NI) 2)])._kind_5.ident).s;
20263 						T86_ = NIM_NIL;
20264 						T87_ = NIM_NIL;
20265 						T87_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_416), field);
20266 						T88_ = NIM_NIL;
20267 						T88_ = getProcHeader__types_222((*(*c).graph).config, sym, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
20268 						T86_ = rawNewString((T87_ ? T87_->Sup.len : 0) + (T88_ ? T88_->Sup.len : 0) + 10);
20269 appendString(T86_, T87_);
20270 appendString(T86_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_414));
20271 appendString(T86_, T88_);
20272 						msg = T86_;
20273 						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);
20274 					}
20275 					LA80_: ;
20276 				}
20277 				goto LA72_;
20278 				LA78_: ;
20279 				{
20280 					NimStringDesc* T90_;
20281 					T90_ = NIM_NIL;
20282 					T90_ = getMsgDiagnostic__sem_1968(c, flags, n, f);
20283 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T90_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_421, NIM_FALSE);
20284 				}
20285 				LA72_: ;
20286 			}
20287 			LA70_: ;
20288 			goto BeforeRet_;
20289 		}
20290 		goto LA62_;
20291 		LA66_: ;
20292 		{
20293 			if (!!(((*Result).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA92_;
20294 			{
20295 				NimStringDesc* T98_;
20296 				NimStringDesc* T99_;
20297 				if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 12))&31U)))!=0)) goto LA96_;
20298 				T98_ = NIM_NIL;
20299 				T98_ = renderTree__renderer_46(n, 4);
20300 				T99_ = NIM_NIL;
20301 				T99_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_268), T98_);
20302 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T99_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_422, NIM_FALSE);
20303 			}
20304 			goto LA94_;
20305 			LA96_: ;
20306 			{
20307 				{
20308 					if (!!(((1536 & (*n).flags) == 0))) goto LA103_;
20309 					delete__closureiters_1709((&(*n)._kind_6.sons), ((NI) 2));
20310 					asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), f);
20311 				}
20312 				LA103_: ;
20313 			}
20314 			LA94_: ;
20315 			goto BeforeRet_;
20316 		}
20317 		goto LA62_;
20318 		LA92_: ;
20319 		LA62_: ;
20320 	}
20321 	LA8_: ;
20322 	{
20323 		NIM_BOOL T107_;
20324 		NIM_BOOL T108_;
20325 		NI T110_;
20326 		NIM_BOOL T112_;
20327 		T107_ = (NIM_BOOL)0;
20328 		T108_ = (NIM_BOOL)0;
20329 		T108_ = (alt.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1));
20330 		if (!(T108_)) goto LA109_;
20331 		T110_ = (NI)0;
20332 		T110_ = cmpCandidates__sigmatch_358(Result, (&alt));
20333 		T108_ = (T110_ == ((NI) 0));
20334 		LA109_: ;
20335 		T107_ = T108_;
20336 		if (!(T107_)) goto LA111_;
20337 		T112_ = (NIM_BOOL)0;
20338 		T112_ = sameMethodDispatcher__sem_1428((*Result).calleeSym, alt.calleeSym);
20339 		T107_ = !(T112_);
20340 		LA111_: ;
20341 		if (!T107_) goto LA113_;
20342 		{
20343 			NimStringDesc* argX60gensym374_;
20344 			if (!!(((*Result).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA117_;
20345 			argX60gensym374_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_423);
20346 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym374_, TM__rF9caJawfOjYTjsgLVUSGFA_423);
20347 		}
20348 		LA117_: ;
20349 		{
20350 			if (!((*(*(*c).graph).config).m.errorOutputs == 0)) goto LA121_;
20351 			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);
20352 		}
20353 		goto LA119_;
20354 		LA121_: ;
20355 		{
20356 			NimStringDesc* args;
20357 			tyArray__24KAM9afIUgUaqBaEBB6r9bg T134_;
20358 			NimStringDesc* T135_;
20359 			if (!((*(*(*c).graph).config).errorCounter == ((NI) 0))) goto LA124_;
20360 			args = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_71));
20361 			{
20362 				NI i;
20363 				NI colontmp_;
20364 				NI i_2;
20365 				i = (NI)0;
20366 				colontmp_ = (NI)0;
20367 				colontmp_ = len__ast_3198(n);
20368 				i_2 = ((NI) 1);
20369 				{
20370 					while (1) {
20371 						NimStringDesc* T133_;
20372 						if (!(i_2 < colontmp_)) goto LA128;
20373 						i = i_2;
20374 						{
20375 							if (!(((NI) 1) < i)) goto LA131_;
20376 							args = resizeString(args, 2);
20377 appendString(args, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
20378 						}
20379 						LA131_: ;
20380 						T133_ = NIM_NIL;
20381 						T133_ = typeToString__types_50((*(*n)._kind_6.sons->data[i]).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
20382 						args = resizeString(args, (T133_ ? T133_->Sup.len : 0) + 0);
20383 appendString(args, T133_);
20384 						i_2 += ((NI) 1);
20385 					} LA128: ;
20386 				}
20387 			}
20388 			args = resizeString(args, 1);
20389 appendString(args, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_73));
20390 			nimZeroMem((void*)T134_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
20391 			T134_[0] = getProcHeader__types_222((*(*c).graph).config, (*Result).calleeSym, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
20392 			T134_[1] = getProcHeader__types_222((*(*c).graph).config, alt.calleeSym, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
20393 			T134_[2] = copyString(args);
20394 			T135_ = NIM_NIL;
20395 			T135_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_426), T134_, 3);
20396 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T135_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_427, NIM_FALSE);
20397 		}
20398 		goto LA119_;
20399 		LA124_: ;
20400 		LA119_: ;
20401 	}
20402 	LA113_: ;
20403 	}BeforeRet_: ;
20404 }
N_NIMCALL(void,instGenericConvertersSons__sem_2316)20405 N_LIB_PRIVATE N_NIMCALL(void, instGenericConvertersSons__sem_2316)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* x) {
20406 	{
20407 		if (!(*x).genericConverter) goto LA3_;
20408 		{
20409 			NI i;
20410 			NI colontmp_;
20411 			NI i_2;
20412 			i = (NI)0;
20413 			colontmp_ = (NI)0;
20414 			colontmp_ = len__ast_3198(n);
20415 			i_2 = ((NI) 1);
20416 			{
20417 				while (1) {
20418 					if (!(i_2 < colontmp_)) goto LA7;
20419 					i = i_2;
20420 					instGenericConvertersArg__sem_2292(c, (*n)._kind_6.sons->data[i], x);
20421 					i_2 += ((NI) 1);
20422 				} LA7: ;
20423 			}
20424 		}
20425 	}
20426 	LA3_: ;
20427 }
N_NIMCALL(void,updateDefaultParams__sem_2362)20428 N_LIB_PRIVATE N_NIMCALL(void, updateDefaultParams__sem_2362)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call) {
20429 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* calleeParams;
20430 	calleeParams = (*(*(*(*call)._kind_6.sons->data[((NI) 0)])._kind_4.sym).typ).n;
20431 	{
20432 		NI i;
20433 		NI colontmp_;
20434 		NI i_2;
20435 		i = (NI)0;
20436 		colontmp_ = (NI)0;
20437 		colontmp_ = len__ast_3198(call);
20438 		i_2 = ((NI) 1);
20439 		{
20440 			while (1) {
20441 				if (!(i_2 < colontmp_)) goto LA3;
20442 				i = i_2;
20443 				{
20444 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
20445 					if (!(((*(*call)._kind_6.sons->data[i]).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 18))&31U)))!=0)) goto LA6_;
20446 					def = (*(*(*calleeParams)._kind_6.sons->data[i])._kind_4.sym).ast;
20447 					{
20448 						if (!(((*def).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19))&31U)))!=0)) goto LA10_;
20449 						(*call).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19)) & 31);
20450 					}
20451 					LA10_: ;
20452 					asgnRef((void**) (&(*call)._kind_6.sons->data[i]), def);
20453 				}
20454 				LA6_: ;
20455 				i_2 += ((NI) 1);
20456 			} LA3: ;
20457 		}
20458 	}
20459 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semResolvedCall__sem_2401)20460 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) {
20461 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20462 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* finalCallee;
20463 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
20464 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp;
20465 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T90_;
20466 {	result = NIM_NIL;
20467 	finalCallee = (*x).calleeSym;
20468 	info = getCallLineInfo__sem_2390(n);
20469 	markUsed__sigmatch_85(c, info, finalCallee);
20470 	{
20471 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T5_;
20472 		if (!!(((*x).fauxMatch == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA3_;
20473 		result = (*x).call;
20474 		T5_ = getCallLineInfo__sem_2390((*result)._kind_6.sons->data[((NI) 0)]);
20475 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(finalCallee, T5_));
20476 		{
20477 			NIM_BOOL T8_;
20478 			T8_ = (NIM_BOOL)0;
20479 			T8_ = containsGenericType__types_3351((*result).typ);
20480 			if (T8_) goto LA9_;
20481 			T8_ = ((*x).fauxMatch == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61));
20482 			LA9_: ;
20483 			if (!T8_) goto LA10_;
20484 			asgnRef((void**) (&(*result).typ), newTypeS__semdata_733((*x).fauxMatch, c));
20485 			{
20486 				if (!((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50))) goto LA14_;
20487 				(*(*result).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
20488 			}
20489 			LA14_: ;
20490 		}
20491 		LA10_: ;
20492 		goto BeforeRet_;
20493 	}
20494 	LA3_: ;
20495 	gp = (*(*finalCallee).ast)._kind_6.sons->data[((NI) 2)];
20496 	{
20497 		NIM_BOOL T18_;
20498 		T18_ = (NIM_BOOL)0;
20499 		T18_ = isGenericParams__ast_4616(gp);
20500 		if (!T18_) goto LA19_;
20501 		{
20502 			if (!!(((393216 &((NU32)1<<((NU)((*(*x).calleeSym).kind)&31U)))!=0))) goto LA23_;
20503 			{
20504 				if (!((*(*x).calleeSym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5) || (*(*x).calleeSym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 6))) goto LA27_;
20505 				finalCallee = (*x).calleeSym;
20506 			}
20507 			goto LA25_;
20508 			LA27_: ;
20509 			{
20510 				finalCallee = generateInstance__sem_1295(c, (*x).calleeSym, (*x).bindings, (*n).info);
20511 			}
20512 			LA25_: ;
20513 		}
20514 		goto LA21_;
20515 		LA23_: ;
20516 		{
20517 			{
20518 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
20519 				s = NIM_NIL;
20520 				{
20521 					NimStringDesc* argX60gensym132_;
20522 					if (!!(((*gp).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75)))) goto LA34_;
20523 					argX60gensym132_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_79);
20524 					internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym132_, TM__rF9caJawfOjYTjsgLVUSGFA_79);
20525 				}
20526 				LA34_: ;
20527 				{
20528 					NI i;
20529 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
20530 					i = (NI)0;
20531 					a = NIM_NIL;
20532 					{
20533 						NI i_2;
20534 						NI colontmp_;
20535 						NI i_3;
20536 						i_2 = (NI)0;
20537 						colontmp_ = (NI)0;
20538 						colontmp_ = safeLen__ast_3191(gp);
20539 						i_3 = ((NI) 0);
20540 						{
20541 							while (1) {
20542 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* q;
20543 								if (!(i_3 < colontmp_)) goto LA39;
20544 								i_2 = i_3;
20545 								i = i_2;
20546 								a = (*gp)._kind_6.sons->data[i_2];
20547 								{
20548 									NimStringDesc* argX60gensym135_;
20549 									if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA42_;
20550 									argX60gensym135_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_80);
20551 									internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym135_, TM__rF9caJawfOjYTjsgLVUSGFA_80);
20552 								}
20553 								LA42_: ;
20554 								q = (*a)._kind_4.sym;
20555 								{
20556 									tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind;
20557 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
20558 									tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T53_;
20559 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T54_;
20560 									tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
20561 									RootObj* T55_;
20562 									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_;
20563 									{
20564 										if (!((*(*q).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA50_;
20565 										symKind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10);
20566 									}
20567 									goto LA48_;
20568 									LA50_: ;
20569 									{
20570 										symKind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7);
20571 									}
20572 									LA48_: ;
20573 									T53_ = nextSymId__ast_3132((*c).Sup.idgen);
20574 									T54_ = NIM_NIL;
20575 									T54_ = getCurrOwner__semdata_315(c);
20576 									s_2 = newSym__ast_3445(symKind, (*q).name, T53_, T54_, (*q).info, 0);
20577 									(*s_2).flags = ((*s_2).flags | 5);
20578 									T55_ = NIM_NIL;
20579 									T55_ = idTableGet__astalgo_64((*x).bindings, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*q).typ)))));
20580 									t = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T55_));
20581 									{
20582 										if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA58_;
20583 										{
20584 											if (!(((*(*q).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 11))&63U)))!=0)) goto LA62_;
20585 											t = (*q).typ;
20586 										}
20587 										goto LA60_;
20588 										LA62_: ;
20589 										{
20590 											NimStringDesc* T65_;
20591 											T65_ = NIM_NIL;
20592 											T65_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_81), (*(*s_2).name).s);
20593 											liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T65_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_82, NIM_FALSE);
20594 											t = errorType__semdata_1002(c);
20595 										}
20596 										LA60_: ;
20597 									}
20598 									goto LA56_;
20599 									LA58_: ;
20600 									{
20601 										NimStringDesc* T69_;
20602 										if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62))) goto LA67_;
20603 										T69_ = NIM_NIL;
20604 										T69_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_81), (*(*q).name).s);
20605 										liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T69_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_83, NIM_FALSE);
20606 										t = errorType__semdata_1002(c);
20607 									}
20608 									goto LA56_;
20609 									LA67_: ;
20610 									{
20611 										if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA71_;
20612 										t = generateTypeInstance__semtypinst_1050(c, (*x).bindings, (*a).info, t);
20613 									}
20614 									goto LA56_;
20615 									LA71_: ;
20616 									LA56_: ;
20617 									asgnRef((void**) (&(*s_2).typ), t);
20618 									{
20619 										if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA75_;
20620 										asgnRef((void**) (&(*s_2).ast), (*t).n);
20621 									}
20622 									LA75_: ;
20623 									s = s_2;
20624 									switch ((*s).kind) {
20625 									case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10):
20626 									{
20627 										{
20628 											if (!!(((*s).ast == 0))) goto LA80_;
20629 											add__ast_4797((*x).call, (*s).ast);
20630 										}
20631 										goto LA78_;
20632 										LA80_: ;
20633 										{
20634 											add__ast_4797((*x).call, (*(*c).graph).emptyNode);
20635 										}
20636 										LA78_: ;
20637 									}
20638 									break;
20639 									case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
20640 									{
20641 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T84_;
20642 										T84_ = NIM_NIL;
20643 										T84_ = newSymNode__ast_3719(s, (*n).info);
20644 										add__ast_4797((*x).call, T84_);
20645 									}
20646 									break;
20647 									default:
20648 									{
20649 										{
20650 											NimStringDesc* argX60gensym425_;
20651 											if (!NIM_TRUE) goto LA88_;
20652 											argX60gensym425_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_430);
20653 											internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym425_, TM__rF9caJawfOjYTjsgLVUSGFA_430);
20654 										}
20655 										LA88_: ;
20656 									}
20657 									break;
20658 									}
20659 								}
20660 								LA46_: ;
20661 								i_3 += ((NI) 1);
20662 							} LA39: ;
20663 						}
20664 					}
20665 				}
20666 			}
20667 		}
20668 		LA21_: ;
20669 	}
20670 	LA19_: ;
20671 	result = (*x).call;
20672 	instGenericConvertersSons__sem_2316(c, result, x);
20673 	T90_ = getCallLineInfo__sem_2390((*result)._kind_6.sons->data[((NI) 0)]);
20674 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(finalCallee, T90_));
20675 	asgnRef((void**) (&(*result).typ), (*(*finalCallee).typ).sons->data[((NI) 0)]);
20676 	updateDefaultParams__sem_2362(result);
20677 	}BeforeRet_: ;
20678 	return result;
20679 }
N_INLINE(NIM_BOOL,canDeref__sem_2474)20680 static N_INLINE(NIM_BOOL, canDeref__sem_2474)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
20681 	NIM_BOOL result;
20682 	NIM_BOOL T1_;
20683 	NI T2_;
20684 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
20685 	NIM_BOOL T4_;
20686 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
20687 	result = (NIM_BOOL)0;
20688 	T1_ = (NIM_BOOL)0;
20689 	T2_ = (NI)0;
20690 	T2_ = len__ast_3198(n);
20691 	T1_ = (((NI) 2) <= T2_);
20692 	if (!(T1_)) goto LA3_;
20693 	t = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
20694 	T4_ = (NIM_BOOL)0;
20695 	T4_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
20696 	if (!(T4_)) goto LA5_;
20697 	T6_ = NIM_NIL;
20698 	T6_ = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_137);
20699 	T4_ = ((*T6_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*T6_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
20700 	LA5_: ;
20701 	T1_ = T4_;
20702 	LA3_: ;
20703 	result = T1_;
20704 	return result;
20705 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,tryDeref__sem_2490)20706 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryDeref__sem_2490)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
20707 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20708 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
20709 	result = NIM_NIL;
20710 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n).info);
20711 	T1_ = NIM_NIL;
20712 	T1_ = skipTypes__ast_3735((*n).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
20713 	asgnRef((void**) (&(*result).typ), (*T1_).sons->data[((NI) 0)]);
20714 	add__ast_4797(result, n);
20715 	return result;
20716 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semOverloadedCall__sem_2498)20717 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) {
20718 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20719 	tySequence__0dpGN6F4ocevqUQGsaf41w* errors;
20720 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA r;
20721 	result = NIM_NIL;
20722 	errors = NIM_NIL;
20723 	nimZeroMem((void*)(&r), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
20724 	resolveOverloads__sem_1997(c, n, nOrig, filter, flags, (&errors), ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), (&r));
20725 	{
20726 		if (!(r.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1))) goto LA3_;
20727 		{
20728 			NI T7_;
20729 			tyTuple__ZtAk5YtH0VW1iPowvxePrg T10_;
20730 			tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw _;
20731 			NimStringDesc* candidates;
20732 			NimStringDesc* T11_;
20733 			NimStringDesc* T12_;
20734 			T7_ = (errors ? errors->Sup.len : 0);
20735 			if (!(((NI) 0) < T7_)) goto LA8_;
20736 			nimZeroMem((void*)(&T10_), sizeof(tyTuple__ZtAk5YtH0VW1iPowvxePrg));
20737 			presentFailedCandidates__sem_1636(c, n, errors, (&T10_));
20738 			_ = (tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw)0;
20739 			_ = T10_.Field0;
20740 			candidates = NIM_NIL;
20741 			candidates = T10_.Field1;
20742 			T11_ = NIM_NIL;
20743 			T12_ = NIM_NIL;
20744 			T12_ = renderTree__renderer_46(n, 0);
20745 			T11_ = rawNewString((T12_ ? T12_->Sup.len : 0) + (candidates ? candidates->Sup.len : 0) + 29);
20746 appendString(T11_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_428));
20747 appendString(T11_, T12_);
20748 appendString(T11_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_270));
20749 appendString(T11_, candidates);
20750 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 99), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_429, NIM_FALSE);
20751 		}
20752 		LA8_: ;
20753 		result = semResolvedCall__sem_2401(c, (&r), n, flags);
20754 	}
20755 	goto LA1_;
20756 	LA3_: ;
20757 	{
20758 		NIM_BOOL T14_;
20759 		tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA r_2;
20760 		T14_ = (NIM_BOOL)0;
20761 		T14_ = (((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 0))&31U)))!=0);
20762 		if (!(T14_)) goto LA15_;
20763 		T14_ = canDeref__sem_2474(n);
20764 		LA15_: ;
20765 		if (!T14_) goto LA16_;
20766 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), tryDeref__sem_2490((*n)._kind_6.sons->data[((NI) 1)]));
20767 		nimZeroMem((void*)(&r_2), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
20768 		resolveOverloads__sem_1997(c, n, nOrig, filter, flags, (&errors), ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0), (&r_2));
20769 		{
20770 			if (!(r_2.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1))) goto LA20_;
20771 			result = semResolvedCall__sem_2401(c, (&r_2), n, flags);
20772 		}
20773 		goto LA18_;
20774 		LA20_: ;
20775 		{
20776 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), (*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)]);
20777 			{
20778 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
20779 				if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0))) goto LA25_;
20780 				T27_ = NIM_NIL;
20781 				T27_ = semOverloadedCall__sem_2498(c, n, nOrig, filter, (flags | 1024));
20782 				(void)(T27_);
20783 			}
20784 			goto LA23_;
20785 			LA25_: ;
20786 			{
20787 				if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 18))&31U)))!=0))) goto LA29_;
20788 				notFoundError__sem_1922(c, n, errors);
20789 			}
20790 			goto LA23_;
20791 			LA29_: ;
20792 			LA23_: ;
20793 		}
20794 		LA18_: ;
20795 	}
20796 	goto LA1_;
20797 	LA16_: ;
20798 	{
20799 		{
20800 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T36_;
20801 			if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0))) goto LA34_;
20802 			T36_ = NIM_NIL;
20803 			T36_ = semOverloadedCall__sem_2498(c, n, nOrig, filter, (flags | 1024));
20804 			(void)(T36_);
20805 		}
20806 		goto LA32_;
20807 		LA34_: ;
20808 		{
20809 			if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 18))&31U)))!=0))) goto LA38_;
20810 			notFoundError__sem_1922(c, n, errors);
20811 		}
20812 		goto LA32_;
20813 		LA38_: ;
20814 		LA32_: ;
20815 	}
20816 	LA1_: ;
20817 	return result;
20818 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semOverloadedCallAnalyseEffects__sem_16420)20819 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) {
20820 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20821 {	result = NIM_NIL;
20822 	{
20823 		if (!!(((flags & 14) == 0))) goto LA3_;
20824 		result = semOverloadedCall__sem_2498(c, n, nOrig, 520192, flags);
20825 	}
20826 	goto LA1_;
20827 	LA3_: ;
20828 	{
20829 		result = semOverloadedCall__sem_2498(c, n, nOrig, 487424, flags);
20830 	}
20831 	LA1_: ;
20832 	{
20833 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee;
20834 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA8_;
20835 		{
20836 			if (!!(((*(*result)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA12_;
20837 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_431), TM__rF9caJawfOjYTjsgLVUSGFA_432);
20838 			goto BeforeRet_;
20839 		}
20840 		LA12_: ;
20841 		callee = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
20842 		switch ((*callee).kind) {
20843 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
20844 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
20845 		{
20846 		}
20847 		break;
20848 		default:
20849 		{
20850 			{
20851 				NIM_BOOL T18_;
20852 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym4312_;
20853 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym4313_;
20854 				NimStringDesc* T22_;
20855 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T23_;
20856 				T18_ = (NIM_BOOL)0;
20857 				T18_ = ((*callee).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15));
20858 				if (!(T18_)) goto LA19_;
20859 				xX60gensym4312_ = callee;
20860 				xX60gensym4313_ = (*(*c).p).owner;
20861 				T18_ = ((NI)((NI)((NU32)(((NI) ((*xX60gensym4312_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym4312_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym4313_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym4313_).Sup.itemId.item))));
20862 				LA19_: ;
20863 				if (!T18_) goto LA20_;
20864 				T22_ = NIM_NIL;
20865 				T22_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_433), (*(*callee).name).s);
20866 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T22_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_434, NIM_FALSE);
20867 				T23_ = NIM_NIL;
20868 				T23_ = errorSym__lookups_506(c, n);
20869 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(T23_));
20870 			}
20871 			goto LA16_;
20872 			LA20_: ;
20873 			{
20874 				if (!((*callee).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15))) goto LA25_;
20875 				{
20876 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
20877 					if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 2))&31U)))!=0)) goto LA29_;
20878 					typ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64), c);
20879 					rawAddSon__ast_4288(typ, (*result).typ, NIM_TRUE);
20880 					asgnRef((void**) (&(*result).typ), typ);
20881 				}
20882 				LA29_: ;
20883 			}
20884 			goto LA16_;
20885 			LA25_: ;
20886 			LA16_: ;
20887 		}
20888 		break;
20889 		}
20890 	}
20891 	LA8_: ;
20892 	}BeforeRet_: ;
20893 	return result;
20894 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,propertyWriteAccess__sem_17538)20895 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) {
20896 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20897 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* id;
20898 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* setterId;
20899 	NimStringDesc* T1_;
20900 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T2_;
20901 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aOrig;
20902 	tyArray__T6RKPw8xfAeNaoei9aZGzXg T3_;
20903 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig;
20904 	tyArray__T6RKPw8xfAeNaoei9aZGzXg T4_;
20905 	result = NIM_NIL;
20906 	id = considerQuotedIdent__lookups_28(c, (*a)._kind_6.sons->data[((NI) 1)], a);
20907 	T1_ = NIM_NIL;
20908 	T1_ = rawNewString(((*id).s ? (*id).s->Sup.len : 0) + 1);
20909 appendString(T1_, (*id).s);
20910 appendChar(T1_, 61);
20911 	T2_ = NIM_NIL;
20912 	T2_ = getIdent__idents_143((*c).cache, T1_);
20913 	setterId = newIdentNode__ast_3712(T2_, (*n).info);
20914 	aOrig = (*nOrig)._kind_6.sons->data[((NI) 0)];
20915 	nimZeroMem((void*)T3_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
20916 	T3_[0] = setterId;
20917 	T3_[1] = (*a)._kind_6.sons->data[((NI) 0)];
20918 	T3_[2] = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
20919 	result = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, T3_, 3);
20920 	(*result).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 10)) & 31);
20921 	nimZeroMem((void*)T4_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
20922 	T4_[0] = setterId;
20923 	T4_[1] = (*aOrig)._kind_6.sons->data[((NI) 0)];
20924 	T4_[2] = (*nOrig)._kind_6.sons->data[((NI) 1)];
20925 	orig = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, T4_, 3);
20926 	result = semOverloadedCallAnalyseEffects__sem_16420(c, result, orig, 0);
20927 	{
20928 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA7_;
20929 		result = afterCallActions__sem_16520(c, result, nOrig, 0);
20930 	}
20931 	LA7_: ;
20932 	return result;
20933 }
N_INLINE(NIM_BOOL,isSymChoice__sem_14366)20934 static N_INLINE(NIM_BOOL, isSymChoice__sem_14366)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
20935 	NIM_BOOL result;
20936 	result = (NIM_BOOL)0;
20937 	result = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57));
20938 	return result;
20939 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,dotTransformation__sem_17303)20940 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, dotTransformation__sem_17303)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
20941 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20942 	result = NIM_NIL;
20943 	{
20944 		NIM_BOOL T3_;
20945 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
20946 		T3_ = (NIM_BOOL)0;
20947 		T3_ = isSymChoice__sem_14366((*n)._kind_6.sons->data[((NI) 1)]);
20948 		if (!T3_) goto LA4_;
20949 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 25), (*n).info);
20950 		add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 1)]);
20951 		T6_ = NIM_NIL;
20952 		T6_ = copyTree__ast_4431((*n)._kind_6.sons->data[((NI) 0)]);
20953 		add__ast_4797(result, T6_);
20954 	}
20955 	goto LA1_;
20956 	LA4_: ;
20957 	{
20958 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* i;
20959 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
20960 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
20961 		i = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 1)], n);
20962 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 25), (*n).info);
20963 		(*result).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 9)) & 31);
20964 		T8_ = NIM_NIL;
20965 		T8_ = newIdentNode__ast_3712(i, (*(*n)._kind_6.sons->data[((NI) 1)]).info);
20966 		add__ast_4797(result, T8_);
20967 		T9_ = NIM_NIL;
20968 		T9_ = copyTree__ast_4431((*n)._kind_6.sons->data[((NI) 0)]);
20969 		add__ast_4797(result, T9_);
20970 	}
20971 	LA1_: ;
20972 	return result;
20973 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,buildOverloadedSubscripts__sem_17343)20974 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildOverloadedSubscripts__sem_17343)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident) {
20975 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
20976 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
20977 	result = NIM_NIL;
20978 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
20979 	T1_ = NIM_NIL;
20980 	T1_ = newIdentNode__ast_3712(ident, (*n).info);
20981 	add__ast_4797(result, T1_);
20982 	{
20983 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
20984 		s = NIM_NIL;
20985 		{
20986 			NI i;
20987 			NI colontmp_;
20988 			NI i_2;
20989 			i = (NI)0;
20990 			colontmp_ = (NI)0;
20991 			colontmp_ = safeLen__ast_3191(n);
20992 			i_2 = ((NI) 0);
20993 			{
20994 				while (1) {
20995 					if (!(i_2 < colontmp_)) goto LA5;
20996 					i = i_2;
20997 					s = (*n)._kind_6.sons->data[i];
20998 					add__ast_4797(result, s);
20999 					i_2 += ((NI) 1);
21000 				} LA5: ;
21001 			}
21002 		}
21003 	}
21004 	return result;
21005 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getRoot__sem_17663)21006 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getRoot__sem_17663)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL followDeref) {
21007 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
21008 	result = NIM_NIL;
21009 	result = n;
21010 	{
21011 		while (1) {
21012 			switch ((*result).kind) {
21013 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
21014 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
21015 			{
21016 				{
21017 					if (!followDeref) goto LA6_;
21018 					result = (*result)._kind_6.sons->data[((NI) 0)];
21019 				}
21020 				goto LA4_;
21021 				LA6_: ;
21022 				{
21023 					goto LA1;
21024 				}
21025 				LA4_: ;
21026 			}
21027 			break;
21028 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
21029 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
21030 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
21031 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
21032 			{
21033 				result = (*result)._kind_6.sons->data[((NI) 0)];
21034 			}
21035 			break;
21036 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
21037 			{
21038 				result = (*result)._kind_6.sons->data[((NI) 1)];
21039 			}
21040 			break;
21041 			default:
21042 			{
21043 				goto LA1;
21044 			}
21045 			break;
21046 			}
21047 		}
21048 	} LA1: ;
21049 	return result;
21050 }
N_INLINE(NIM_BOOL,scopedLifetime__sem_17670)21051 static N_INLINE(NIM_BOOL, scopedLifetime__sem_17670)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri) {
21052 	NIM_BOOL result;
21053 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
21054 	NIM_BOOL T1_;
21055 	NIM_BOOL T3_;
21056 	NIM_BOOL T4_;
21057 	result = (NIM_BOOL)0;
21058 	n = getRoot__sem_17663(ri, NIM_FALSE);
21059 	T1_ = (NIM_BOOL)0;
21060 	T1_ = ((*ri).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) && (*ri).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32) || (*ri).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38));
21061 	if (T1_) goto LA2_;
21062 	T3_ = (NIM_BOOL)0;
21063 	T4_ = (NIM_BOOL)0;
21064 	T4_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
21065 	if (!(T4_)) goto LA5_;
21066 	T4_ = ((*(*n)._kind_4.sym).owner == (*(*c).p).owner);
21067 	LA5_: ;
21068 	T3_ = T4_;
21069 	if (!(T3_)) goto LA6_;
21070 	T3_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11)));
21071 	LA6_: ;
21072 	T1_ = T3_;
21073 	LA2_: ;
21074 	result = T1_;
21075 	return result;
21076 }
N_INLINE(NIM_BOOL,escapes__sem_17695)21077 static N_INLINE(NIM_BOOL, escapes__sem_17695)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le) {
21078 	NIM_BOOL result;
21079 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
21080 	NIM_BOOL T1_;
21081 	result = (NIM_BOOL)0;
21082 	n = getRoot__sem_17663(le, NIM_TRUE);
21083 	T1_ = (NIM_BOOL)0;
21084 	T1_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
21085 	if (!(T1_)) goto LA2_;
21086 	T1_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
21087 	LA2_: ;
21088 	result = T1_;
21089 	return result;
21090 }
N_NIMCALL(void,borrowCheck__sem_17656)21091 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) {
21092 	{
21093 		NIM_BOOL T3_;
21094 		NIM_BOOL T4_;
21095 		NIM_BOOL T5_;
21096 		NIM_BOOL T6_;
21097 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
21098 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T11_;
21099 		T3_ = (NIM_BOOL)0;
21100 		T4_ = (NIM_BOOL)0;
21101 		T5_ = (NIM_BOOL)0;
21102 		T6_ = (NIM_BOOL)0;
21103 		T6_ = !(((*ri).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
21104 		if (!(T6_)) goto LA7_;
21105 		T8_ = NIM_NIL;
21106 		T8_ = skipTypes__ast_3735((*ri).typ, TM__rF9caJawfOjYTjsgLVUSGFA_440);
21107 		T6_ = ((*T8_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
21108 		LA7_: ;
21109 		T5_ = T6_;
21110 		if (!(T5_)) goto LA9_;
21111 		T5_ = !(((*le).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
21112 		LA9_: ;
21113 		T4_ = T5_;
21114 		if (!(T4_)) goto LA10_;
21115 		T11_ = NIM_NIL;
21116 		T11_ = skipTypes__ast_3735((*le).typ, TM__rF9caJawfOjYTjsgLVUSGFA_440);
21117 		T4_ = !(((*T11_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
21118 		LA10_: ;
21119 		T3_ = T4_;
21120 		if (!(T3_)) goto LA12_;
21121 		T3_ = scopedLifetime__sem_17670(c, ri);
21122 		LA12_: ;
21123 		if (!T3_) goto LA13_;
21124 		{
21125 			NIM_BOOL T17_;
21126 			NimStringDesc* T21_;
21127 			NimStringDesc* T22_;
21128 			T17_ = (NIM_BOOL)0;
21129 			T17_ = ((*le).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
21130 			if (!(T17_)) goto LA18_;
21131 			T17_ = ((*(*le)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
21132 			LA18_: ;
21133 			if (!T17_) goto LA19_;
21134 			T21_ = NIM_NIL;
21135 			T22_ = NIM_NIL;
21136 			T22_ = typeToString__types_50((*le).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
21137 			T21_ = rawNewString((T22_ ? T22_->Sup.len : 0) + 86);
21138 appendString(T21_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_441));
21139 appendString(T21_, T22_);
21140 appendString(T21_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_442));
21141 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_443, NIM_FALSE);
21142 		}
21143 		goto LA15_;
21144 		LA19_: ;
21145 		{
21146 			NIM_BOOL T24_;
21147 			T24_ = (NIM_BOOL)0;
21148 			T24_ = escapes__sem_17695(c, le);
21149 			if (!T24_) goto LA25_;
21150 			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);
21151 		}
21152 		goto LA15_;
21153 		LA25_: ;
21154 		LA15_: ;
21155 	}
21156 	LA13_: ;
21157 }
N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q,goodLineInfo__sem_17739)21158 N_LIB_PRIVATE N_NIMCALL(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q, goodLineInfo__sem_17739)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg) {
21159 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q result;
21160 	nimZeroMem((void*)(&result), sizeof(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q));
21161 	{
21162 		NIM_BOOL T3_;
21163 		NI T5_;
21164 		NI T8_;
21165 		T3_ = (NIM_BOOL)0;
21166 		T3_ = ((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
21167 		if (!(T3_)) goto LA4_;
21168 		T5_ = (NI)0;
21169 		T5_ = len__ast_3198(arg);
21170 		T3_ = (((NI) 0) < T5_);
21171 		LA4_: ;
21172 		if (!T3_) goto LA6_;
21173 		T8_ = (NI)0;
21174 		T8_ = len__ast_3198(arg);
21175 		result = goodLineInfo__sem_17739((*arg)._kind_6.sons->data[(NI)(T8_ - ((NI) 1))]);
21176 	}
21177 	goto LA1_;
21178 	LA6_: ;
21179 	{
21180 		result = (*arg).info;
21181 	}
21182 	LA1_: ;
21183 	return result;
21184 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,takeImplicitAddr__sem_17562)21185 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, takeImplicitAddr__sem_17562)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL isLent) {
21186 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
21187 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* root;
21188 	tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag valid;
21189 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T43_;
21190 {	result = NIM_NIL;
21191 	root = exprRoot__parampatterns_300(n);
21192 	{
21193 		NIM_BOOL T3_;
21194 		T3_ = (NIM_BOOL)0;
21195 		T3_ = !((root == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
21196 		if (!(T3_)) goto LA4_;
21197 		T3_ = ((*root).owner == (*(*c).p).owner);
21198 		LA4_: ;
21199 		if (!T3_) goto LA5_;
21200 		{
21201 			NIM_BOOL T9_;
21202 			tyArray__24KAM9afIUgUaqBaEBB6r9bg T13_;
21203 			NimStringDesc* T14_;
21204 			T9_ = (NIM_BOOL)0;
21205 			T9_ = ((800 &((NU32)1<<((NU)((*root).kind)&31U)))!=0);
21206 			if (!(T9_)) goto LA10_;
21207 			T9_ = !((((*root).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0));
21208 			LA10_: ;
21209 			if (!T9_) goto LA11_;
21210 			nimZeroMem((void*)T13_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
21211 			T13_[0] = copyString((*(*root).name).s);
21212 			T13_[1] = renderTree__renderer_46(n, 4);
21213 			T13_[2] = createDocLink__lineinfos_6(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_447));
21214 			T14_ = NIM_NIL;
21215 			T14_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_446), T13_, 3);
21216 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T14_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_448, NIM_FALSE);
21217 		}
21218 		goto LA7_;
21219 		LA11_: ;
21220 		{
21221 			NIM_BOOL T16_;
21222 			tyArray__24KAM9afIUgUaqBaEBB6r9bg T20_;
21223 			NimStringDesc* T21_;
21224 			T16_ = (NIM_BOOL)0;
21225 			T16_ = ((*root).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
21226 			if (!(T16_)) goto LA17_;
21227 			T16_ = !(((*root).position == ((NI) 0)));
21228 			LA17_: ;
21229 			if (!T16_) goto LA18_;
21230 			nimZeroMem((void*)T20_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
21231 			T20_[0] = copyString((*(*root).name).s);
21232 			T20_[1] = renderTree__renderer_46(n, 4);
21233 			T20_[2] = createDocLink__lineinfos_6(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_447));
21234 			T21_ = NIM_NIL;
21235 			T21_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_449), T20_, 3);
21236 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T21_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_450, NIM_FALSE);
21237 		}
21238 		goto LA7_;
21239 		LA18_: ;
21240 		LA7_: ;
21241 	}
21242 	LA5_: ;
21243 	switch ((*n).kind) {
21244 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
21245 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
21246 	{
21247 		result = n;
21248 		goto BeforeRet_;
21249 	}
21250 	break;
21251 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
21252 	{
21253 		result = (*n)._kind_6.sons->data[((NI) 0)];
21254 		goto BeforeRet_;
21255 	}
21256 	break;
21257 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
21258 	{
21259 		{
21260 			NI T27_;
21261 			T27_ = (NI)0;
21262 			T27_ = len__ast_3198(n);
21263 			if (!(T27_ == ((NI) 1))) goto LA28_;
21264 			result = (*n)._kind_6.sons->data[((NI) 0)];
21265 			goto BeforeRet_;
21266 		}
21267 		LA28_: ;
21268 	}
21269 	break;
21270 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
21271 	{
21272 	}
21273 	break;
21274 	default:
21275 	{
21276 	}
21277 	break;
21278 	}
21279 	valid = isAssignable__sem_15001(c, n, isLent);
21280 	{
21281 		if (!!((valid == ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 1)))) goto LA34_;
21282 		{
21283 			NimStringDesc* T40_;
21284 			NimStringDesc* T41_;
21285 			if (!(valid == ((tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag) 2))) goto LA38_;
21286 			T40_ = NIM_NIL;
21287 			T40_ = renderTree__renderer_46(n, 4);
21288 			T41_ = NIM_NIL;
21289 			T41_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_232), T40_);
21290 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T41_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_451, NIM_FALSE);
21291 		}
21292 		goto LA36_;
21293 		LA38_: ;
21294 		{
21295 			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);
21296 		}
21297 		LA36_: ;
21298 	}
21299 	LA34_: ;
21300 	T43_ = NIM_NIL;
21301 	{
21302 		if (!((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA46_;
21303 		T43_ = (*n).typ;
21304 	}
21305 	goto LA44_;
21306 	LA46_: ;
21307 	{
21308 		T43_ = makePtrType__semdata_742(c, (*n).typ);
21309 	}
21310 	LA44_: ;
21311 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64), (*n).info, T43_);
21312 	add__ast_4797(result, n);
21313 	}BeforeRet_: ;
21314 	return result;
21315 }
N_INLINE(void,asgnToResultVar__sem_17611)21316 static N_INLINE(void, asgnToResultVar__sem_17611)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* le, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ri) {
21317 	{
21318 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
21319 		if (!((*le).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA3_;
21320 		x = (*le)._kind_6.sons->data[((NI) 0)];
21321 		{
21322 			if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA7_;
21323 			{
21324 				NIM_BOOL T11_;
21325 				NIM_BOOL T13_;
21326 				tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog T15_;
21327 				T11_ = (NIM_BOOL)0;
21328 				T11_ = ((*(*x)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
21329 				if (!(T11_)) goto LA12_;
21330 				T13_ = (NIM_BOOL)0;
21331 				T13_ = ((*(*x).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*x).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
21332 				if (T13_) goto LA14_;
21333 				T15_ = (tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog)0;
21334 				T15_ = classifyViewType__typeallowed_564((*x).typ);
21335 				T13_ = !((T15_ == ((tyEnum_ViewTypeKind__3S4FAWaxPP9ahVaUnMsznog) 0)));
21336 				LA14_: ;
21337 				T11_ = T13_;
21338 				LA12_: ;
21339 				if (!T11_) goto LA16_;
21340 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), x);
21341 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), takeImplicitAddr__sem_17562(c, ri, ((*(*x).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))));
21342 				(*(*x).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
21343 			}
21344 			goto LA9_;
21345 			LA16_: ;
21346 			{
21347 				if (!(((*(*x)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0)) goto LA19_;
21348 				(*(*x).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
21349 			}
21350 			goto LA9_;
21351 			LA19_: ;
21352 			LA9_: ;
21353 		}
21354 		LA7_: ;
21355 	}
21356 	LA3_: ;
21357 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semAsgn__sem_15307)21358 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAsgn__sem_15307)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ mode) {
21359 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
21360 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
21361 	tyObject_TType__facALICuu8zUj0hjvbTLFg* le;
21362 {	result = NIM_NIL;
21363 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
21364 	a = (*n)._kind_6.sons->data[((NI) 0)];
21365 	switch ((*a).kind) {
21366 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
21367 	{
21368 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig;
21369 		nOrig = copyTree__ast_4431(n);
21370 		a = builtinFieldAccess__sem_17178(c, a, 1);
21371 		{
21372 			if (!(a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA4_;
21373 			a = propertyWriteAccess__sem_17538(c, n, nOrig, (*n)._kind_6.sons->data[((NI) 0)]);
21374 			{
21375 				if (!!((a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA8_;
21376 				result = a;
21377 				goto BeforeRet_;
21378 			}
21379 			LA8_: ;
21380 			a = dotTransformation__sem_17303(c, (*n)._kind_6.sons->data[((NI) 0)]);
21381 			{
21382 				if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 25))) goto LA12_;
21383 				transitionSonsKind__ast_4359(a, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 27));
21384 				a = semExprWithType__sem_56(c, a, 1);
21385 			}
21386 			LA12_: ;
21387 		}
21388 		LA4_: ;
21389 	}
21390 	break;
21391 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
21392 	{
21393 		a = semSubscript__sem_15311(c, a, 1);
21394 		{
21395 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T19_;
21396 			if (!(a == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA17_;
21397 			T19_ = NIM_NIL;
21398 			T19_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_132));
21399 			result = buildOverloadedSubscripts__sem_17343((*n)._kind_6.sons->data[((NI) 0)], T19_);
21400 			add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 1)]);
21401 			{
21402 				if (!(mode == ((tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ) 1))) goto LA22_;
21403 				bracketNotFoundError__sem_1937(c, result);
21404 				result = n;
21405 				goto BeforeRet_;
21406 			}
21407 			goto LA20_;
21408 			LA22_: ;
21409 			{
21410 				result = semExprNoType__sem_60(c, result);
21411 				goto BeforeRet_;
21412 			}
21413 			LA20_: ;
21414 		}
21415 		LA17_: ;
21416 	}
21417 	break;
21418 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
21419 	{
21420 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T26_;
21421 		T26_ = NIM_NIL;
21422 		T26_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_131));
21423 		result = buildOverloadedSubscripts__sem_17343((*n)._kind_6.sons->data[((NI) 0)], T26_);
21424 		add__ast_4797(result, (*n)._kind_6.sons->data[((NI) 1)]);
21425 		result = semExprNoType__sem_60(c, result);
21426 		goto BeforeRet_;
21427 	}
21428 	break;
21429 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
21430 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
21431 	{
21432 		{
21433 			NI T30_;
21434 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
21435 			T30_ = (NI)0;
21436 			T30_ = len__ast_3198(a);
21437 			if (!(((NI) 2) <= T30_)) goto LA31_;
21438 			T33_ = NIM_NIL;
21439 			T33_ = lowerTupleUnpackingForAsgn__lowerings_206((*c).graph, n, (*c).Sup.idgen, (*(*c).p).owner);
21440 			result = semStmt__sem_84(c, T33_, 0);
21441 			goto BeforeRet_;
21442 		}
21443 		goto LA28_;
21444 		LA31_: ;
21445 		{
21446 			a = semExprWithType__sem_56(c, a, 1);
21447 		}
21448 		LA28_: ;
21449 	}
21450 	break;
21451 	default:
21452 	{
21453 		a = semExprWithType__sem_56(c, a, 1);
21454 	}
21455 	break;
21456 	}
21457 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), a);
21458 	le = (*a).typ;
21459 	{
21460 		if (!(le == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA38_;
21461 		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);
21462 	}
21463 	goto LA36_;
21464 	LA38_: ;
21465 	{
21466 		NIM_BOOL T41_;
21467 		NIM_BOOL T42_;
21468 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T43_;
21469 		tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag T45_;
21470 		NIM_BOOL T47_;
21471 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T48_;
21472 		NimStringDesc* T52_;
21473 		NimStringDesc* T53_;
21474 		T41_ = (NIM_BOOL)0;
21475 		T42_ = (NIM_BOOL)0;
21476 		T43_ = NIM_NIL;
21477 		T43_ = skipTypes__ast_3735(le, TM__rF9caJawfOjYTjsgLVUSGFA_137);
21478 		T42_ = !(((*T43_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23)));
21479 		if (!(T42_)) goto LA44_;
21480 		T45_ = (tyEnum_TAssignableResult__JFgO3TudAWntzWI8Fmx4Ag)0;
21481 		T45_ = isAssignable__sem_15001(c, a, NIM_FALSE);
21482 		T42_ = ((17 &((NU8)1<<((NU)(T45_)&7U)))!=0);
21483 		LA44_: ;
21484 		T41_ = T42_;
21485 		if (T41_) goto LA46_;
21486 		T47_ = (NIM_BOOL)0;
21487 		T48_ = NIM_NIL;
21488 		T48_ = skipTypes__ast_3735(le, TM__rF9caJawfOjYTjsgLVUSGFA_228);
21489 		T47_ = ((*T48_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27) || (*T48_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48));
21490 		if (!(T47_)) goto LA49_;
21491 		T47_ = !((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 13))&31U)))!=0));
21492 		LA49_: ;
21493 		T41_ = T47_;
21494 		LA46_: ;
21495 		if (!T41_) goto LA50_;
21496 		T52_ = NIM_NIL;
21497 		T52_ = renderTree__renderer_46(a, 4);
21498 		T53_ = NIM_NIL;
21499 		T53_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_437), T52_);
21500 		liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T53_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_438, NIM_FALSE);
21501 	}
21502 	goto LA36_;
21503 	LA50_: ;
21504 	{
21505 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lhs;
21506 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* rhs;
21507 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T85_;
21508 		lhs = (*n)._kind_6.sons->data[((NI) 0)];
21509 		rhs = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
21510 		{
21511 			NIM_BOOL T57_;
21512 			T57_ = (NIM_BOOL)0;
21513 			T57_ = ((*lhs).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
21514 			if (!(T57_)) goto LA58_;
21515 			T57_ = ((*(*lhs)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
21516 			LA58_: ;
21517 			if (!T57_) goto LA59_;
21518 			asgnRef((void**) (&(*n).typ), (*c).enforceVoidContext);
21519 			{
21520 				NIM_BOOL T63_;
21521 				NIM_BOOL T65_;
21522 				tyObject_TType__facALICuu8zUj0hjvbTLFg* rhsTyp;
21523 				T63_ = (NIM_BOOL)0;
21524 				T63_ = !(((*(*(*c).p).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)));
21525 				if (!(T63_)) goto LA64_;
21526 				T65_ = (NIM_BOOL)0;
21527 				T65_ = isMetaType__ast_3495((*(*lhs)._kind_4.sym).typ);
21528 				if (!(T65_)) goto LA66_;
21529 				T65_ = !(((*(*(*lhs)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)));
21530 				LA66_: ;
21531 				T63_ = T65_;
21532 				LA64_: ;
21533 				if (!T63_) goto LA67_;
21534 				rhsTyp = (*rhs).typ;
21535 				{
21536 					NIM_BOOL T71_;
21537 					T71_ = (NIM_BOOL)0;
21538 					T71_ = ((*rhsTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) || (*rhsTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53));
21539 					if (!(T71_)) goto LA72_;
21540 					T71_ = (((*rhsTyp).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0);
21541 					LA72_: ;
21542 					if (!T71_) goto LA73_;
21543 					rhsTyp = lastSon__ast_3743(rhsTyp);
21544 				}
21545 				LA73_: ;
21546 				{
21547 					tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T77_;
21548 					T77_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
21549 					T77_ = cmpTypes__sigmatch_3047(c, (*lhs).typ, rhsTyp);
21550 					if (!((1280 &((NU16)1<<((NU)(T77_)&15U)))!=0)) goto LA78_;
21551 					{
21552 						NimStringDesc* argX60gensym4660_;
21553 						if (!!(!(((*(*c).p).resultSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))))) goto LA82_;
21554 						argX60gensym4660_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_439);
21555 						internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym4660_, TM__rF9caJawfOjYTjsgLVUSGFA_439);
21556 					}
21557 					LA82_: ;
21558 					typeAllowedCheck__sem_481(c, (*n).info, rhsTyp, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11), 0);
21559 					asgnRef((void**) (&(*lhs).typ), rhsTyp);
21560 					asgnRef((void**) (&(*(*(*c).p).resultSym).typ), rhsTyp);
21561 					asgnRef((void**) (&(*(*(*(*c).p).owner).typ).sons->data[((NI) 0)]), rhsTyp);
21562 				}
21563 				goto LA75_;
21564 				LA78_: ;
21565 				{
21566 					typeMismatch__types_3861((*(*c).graph).config, (*n).info, (*lhs).typ, rhsTyp, rhs);
21567 				}
21568 				LA75_: ;
21569 			}
21570 			LA67_: ;
21571 		}
21572 		LA59_: ;
21573 		borrowCheck__sem_17656(c, n, lhs, rhs);
21574 		T85_ = goodLineInfo__sem_17739((*n)._kind_6.sons->data[((NI) 1)]);
21575 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), fitNode__sem_70(c, le, rhs, T85_));
21576 		fixAbstractType__sem_14966(c, n);
21577 		asgnToResultVar__sem_17611(c, n, (*n)._kind_6.sons->data[((NI) 0)], (*n)._kind_6.sons->data[((NI) 1)]);
21578 	}
21579 	LA36_: ;
21580 	result = n;
21581 	}BeforeRet_: ;
21582 	return result;
21583 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semProcBody__sem_67)21584 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semProcBody__sem_67)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
21585 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
21586 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
21587 	result = NIM_NIL;
21588 	T1_ = NIM_NIL;
21589 	T1_ = openScope__lookups_69(c);
21590 	result = semExpr__sem_52(c, n, 0);
21591 	{
21592 		NIM_BOOL T4_;
21593 		NIM_BOOL T6_;
21594 		T4_ = (NIM_BOOL)0;
21595 		T4_ = !(((*(*c).p).resultSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
21596 		if (!(T4_)) goto LA5_;
21597 		T6_ = (NIM_BOOL)0;
21598 		T6_ = isEmptyType__ast_4779((*result).typ);
21599 		T4_ = !(T6_);
21600 		LA5_: ;
21601 		if (!T4_) goto LA7_;
21602 		{
21603 			if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA11_;
21604 			asgnRef((void**) (&(*result).typ), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
21605 		}
21606 		goto LA9_;
21607 		LA11_: ;
21608 		{
21609 			NIM_BOOL T14_;
21610 			T14_ = (NIM_BOOL)0;
21611 			T14_ = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
21612 			if (!(T14_)) goto LA15_;
21613 			T14_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5));
21614 			LA15_: ;
21615 			if (!T14_) goto LA16_;
21616 			fixNilType__sem_9307(c, result);
21617 		}
21618 		goto LA9_;
21619 		LA16_: ;
21620 		{
21621 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
21622 			a = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*n).info, ((NI) 2));
21623 			asgnRef((void**) (&(*a)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716((*(*c).p).resultSym));
21624 			asgnRef((void**) (&(*a)._kind_6.sons->data[((NI) 1)]), result);
21625 			result = semAsgn__sem_15307(c, a, ((tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ) 0));
21626 		}
21627 		LA9_: ;
21628 	}
21629 	goto LA2_;
21630 	LA7_: ;
21631 	{
21632 		discardCheck__sem_9323(c, result, 0);
21633 	}
21634 	LA2_: ;
21635 	{
21636 		NIM_BOOL T22_;
21637 		NIM_BOOL T23_;
21638 		T22_ = (NIM_BOOL)0;
21639 		T23_ = (NIM_BOOL)0;
21640 		T23_ = !(((393216 &((NU32)1<<((NU)((*(*(*c).p).owner).kind)&31U)))!=0));
21641 		if (!(T23_)) goto LA24_;
21642 		T23_ = !(((*(*c).p).resultSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
21643 		LA24_: ;
21644 		T22_ = T23_;
21645 		if (!(T22_)) goto LA25_;
21646 		T22_ = isMetaType__ast_3495((*(*(*c).p).resultSym).typ);
21647 		LA25_: ;
21648 		if (!T22_) goto LA26_;
21649 		{
21650 			NIM_BOOL T30_;
21651 			T30_ = (NIM_BOOL)0;
21652 			T30_ = isEmptyType__ast_4779((*result).typ);
21653 			if (!T30_) goto LA31_;
21654 			asgnRef((void**) (&(*(*(*c).p).resultSym).typ), errorType__semdata_1002(c));
21655 			asgnRef((void**) (&(*(*(*(*c).p).owner).typ).sons->data[((NI) 0)]), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
21656 		}
21657 		goto LA28_;
21658 		LA31_: ;
21659 		{
21660 			NimStringDesc* T34_;
21661 			T34_ = NIM_NIL;
21662 			T34_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_453), (*(*(*(*c).p).owner).name).s);
21663 			liMessage__msgs_1118((*(*c).graph).config, (*(*(*c).p).resultSym).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T34_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_454, NIM_FALSE);
21664 		}
21665 		LA28_: ;
21666 	}
21667 	LA26_: ;
21668 	{
21669 		NIM_BOOL T37_;
21670 		NIM_BOOL T38_;
21671 		NimStringDesc* T43_;
21672 		T37_ = (NIM_BOOL)0;
21673 		T38_ = (NIM_BOOL)0;
21674 		T38_ = isInlineIterator__ast_4989((*(*(*c).p).owner).typ);
21675 		if (!(T38_)) goto LA39_;
21676 		T38_ = !(((*(*(*(*c).p).owner).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
21677 		LA39_: ;
21678 		T37_ = T38_;
21679 		if (!(T37_)) goto LA40_;
21680 		T37_ = ((*(*(*(*(*c).p).owner).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
21681 		LA40_: ;
21682 		if (!T37_) goto LA41_;
21683 		T43_ = NIM_NIL;
21684 		T43_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_453), (*(*(*(*c).p).owner).name).s);
21685 		liMessage__msgs_1118((*(*c).graph).config, (*(*(*c).p).owner).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T43_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_455, NIM_FALSE);
21686 	}
21687 	LA41_: ;
21688 	closeScope__lookups_101(c);
21689 	return result;
21690 }
N_NIMCALL(void,instantiateBody__sem_1028)21691 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) {
21692 	{
21693 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* procParams;
21694 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
21695 		tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q symMap;
21696 		if (!!(((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
21697 		procParams = (*(*result).typ).n;
21698 		{
21699 			NI i;
21700 			NI colontmp_;
21701 			NI i_2;
21702 			i = (NI)0;
21703 			colontmp_ = (NI)0;
21704 			colontmp_ = len__ast_3198(procParams);
21705 			i_2 = ((NI) 1);
21706 			{
21707 				while (1) {
21708 					if (!(i_2 < colontmp_)) goto LA7;
21709 					i = i_2;
21710 					addDecl__lookups_845(c, (*(*procParams)._kind_6.sons->data[i])._kind_4.sym);
21711 					i_2 += ((NI) 1);
21712 				} LA7: ;
21713 			}
21714 		}
21715 		maybeAddResult__sem_100(c, result, (*result).ast);
21716 		(*c).inGenericInst += ((NI) 1);
21717 		b = (*n)._kind_6.sons->data[((NI) 6)];
21718 		nimZeroMem((void*)(&symMap), sizeof(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q));
21719 		initIdTable__ast_4096((&symMap));
21720 		{
21721 			if (!!((params == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA10_;
21722 			{
21723 				NI i_3;
21724 				NI colontmp__2;
21725 				NI i_4;
21726 				i_3 = (NI)0;
21727 				colontmp__2 = (NI)0;
21728 				colontmp__2 = len__ast_3198(params);
21729 				i_4 = ((NI) 1);
21730 				{
21731 					while (1) {
21732 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
21733 						if (!(i_4 < colontmp__2)) goto LA14;
21734 						i_3 = i_4;
21735 						param = (*(*params)._kind_6.sons->data[i_3])._kind_4.sym;
21736 						{
21737 							if (!(((*param).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0)) goto LA17_;
21738 							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)))));
21739 						}
21740 						LA17_: ;
21741 						i_4 += ((NI) 1);
21742 					} LA14: ;
21743 				}
21744 			}
21745 		}
21746 		LA10_: ;
21747 		freshGenSyms__sem_990(c, b, result, orig, (&symMap));
21748 		b = semProcBody__sem_67(c, b);
21749 		asgnRef((void**) (&(*(*result).ast)._kind_6.sons->data[((NI) 6)]), hloBody__sem_783(c, b));
21750 		(*result).flags &= ~(((NU64)1) << ((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4)) & 63));
21751 		trackProc__sempass50_4692(c, result, (*(*result).ast)._kind_6.sons->data[((NI) 6)]);
21752 		(*c).inGenericInst -= ((NI) 1);
21753 	}
21754 	LA3_: ;
21755 }
N_INLINE(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,pop__icZic_2460)21756 static N_INLINE(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, pop__icZic_2460)(tySequence__eHqUwlHGGaPw0TDPDeL79cQ** s) {
21757 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
21758 	NI L;
21759 	NI T1_;
21760 	result = NIM_NIL;
21761 	T1_ = ((*s) ? (*s)->Sup.len : 0);
21762 	L = (NI)(T1_ - ((NI) 1));
21763 	result = (*s)->data[L];
21764 	unsureAsgnRef((void**) (&(*s)), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) setLengthSeqV2(&((*s))->Sup, (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_), ((NI) (L))));
21765 	return result;
21766 }
N_NIMCALL(void,finishMethod__sem_114)21767 N_LIB_PRIVATE N_NIMCALL(void, finishMethod__sem_114)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
21768 	{
21769 		NIM_BOOL T3_;
21770 		T3_ = (NIM_BOOL)0;
21771 		T3_ = hasObjParam__sem_12972(s);
21772 		if (!T3_) goto LA4_;
21773 		methodDef__cgmeth_263((*c).graph, (*c).Sup.idgen, s);
21774 	}
21775 	LA4_: ;
21776 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,generateInstance__sem_1295)21777 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) {
21778 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
21779 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
21780 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T9_;
21781 	NI T10_;
21782 	tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg* oldMatchedConcept;
21783 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* oldScope;
21784 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T14_;
21785 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T15_;
21786 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T16_;
21787 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp;
21788 	tyObject_TInstantiation__5LqgVn6Tq9ainQRK7TQAQxA* entry;
21789 	NI i;
21790 	NI T21_;
21791 	NI T22_;
21792 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* oldPrc;
21793 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T100_;
21794 	result = NIM_NIL;
21795 	{
21796 		NimStringDesc* argX60gensym213_;
21797 		if (!!(!(((393216 &((NU32)1<<((NU)((*fn).kind)&31U)))!=0)))) goto LA3_;
21798 		argX60gensym213_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_74);
21799 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym213_, TM__rF9caJawfOjYTjsgLVUSGFA_74);
21800 	}
21801 	LA3_: ;
21802 	{
21803 		if (!(((NI) 50) < (*c).instCounter)) goto LA7_;
21804 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_76), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_77, NIM_FALSE);
21805 	}
21806 	LA7_: ;
21807 	(*c).instCounter += ((NI) 1);
21808 	n = copyTree__ast_4431((*fn).ast);
21809 	T9_ = NIM_NIL;
21810 	T9_ = getModule__astalgo_216(fn);
21811 	asgnRef((void**) (&(*c).friendModules), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*c).friendModules), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
21812 	T10_ = (*c).friendModules->Sup.len++;
21813 	asgnRef((void**) (&(*c).friendModules->data[T10_]), T9_);
21814 	oldMatchedConcept = (*c).matchedConcept;
21815 	(*c).matchedConcept = ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL);
21816 	oldScope = (*c).currentScope;
21817 	{
21818 		while (1) {
21819 			NIM_BOOL T13_;
21820 			T13_ = (NIM_BOOL)0;
21821 			T13_ = isTopLevel__semdata_1091(c);
21822 			if (!!(T13_)) goto LA12;
21823 			asgnRef((void**) (&(*c).currentScope), (*(*c).currentScope).parent);
21824 		} LA12: ;
21825 	}
21826 	T14_ = nextSymId__ast_3132((*c).Sup.idgen);
21827 	result = copySym__ast_4054(fn, T14_);
21828 	(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 2)) & 63);
21829 	asgnRef((void**) (&(*result).owner), fn);
21830 	asgnRef((void**) (&(*result).ast), n);
21831 	pushOwner__semdata_322(c, result);
21832 	T15_ = NIM_NIL;
21833 	T15_ = openScope__lookups_69(c);
21834 	fillMixinScope__sem_1283(c);
21835 	T16_ = NIM_NIL;
21836 	T16_ = openScope__lookups_69(c);
21837 	gp = (*n)._kind_6.sons->data[((NI) 2)];
21838 	{
21839 		NimStringDesc* argX60gensym221_;
21840 		if (!!(((*gp).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75)))) goto LA19_;
21841 		argX60gensym221_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_78);
21842 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym221_, TM__rF9caJawfOjYTjsgLVUSGFA_78);
21843 	}
21844 	LA19_: ;
21845 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(result));
21846 	pushInfoContext__msgs_490((*(*c).graph).config, info, (*(*fn).name).s);
21847 	entry = new__sem_1335();
21848 	asgnRef((void**) (&(*entry).sym), result);
21849 	i = ((NI) 0);
21850 	T21_ = (NI)0;
21851 	T21_ = len__ast_4002((*fn).typ);
21852 	T22_ = (NI)0;
21853 	T22_ = len__ast_3198(gp);
21854 	if ((*entry).concreteTypes) { nimGCunrefRC1((*entry).concreteTypes); (*entry).concreteTypes = NIM_NIL; }
21855 	(*entry).concreteTypes = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeqRC1((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), ((NI) ((NI)((NI)(T21_ + T22_) - ((NI) 1)))));
21856 	{
21857 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
21858 		s = NIM_NIL;
21859 		{
21860 			NimStringDesc* argX60gensym132_;
21861 			if (!!(((*gp).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 75)))) goto LA26_;
21862 			argX60gensym132_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_79);
21863 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym132_, TM__rF9caJawfOjYTjsgLVUSGFA_79);
21864 		}
21865 		LA26_: ;
21866 		{
21867 			NI i_2;
21868 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
21869 			i_2 = (NI)0;
21870 			a = NIM_NIL;
21871 			{
21872 				NI i_3;
21873 				NI colontmp_;
21874 				NI i_4;
21875 				i_3 = (NI)0;
21876 				colontmp_ = (NI)0;
21877 				colontmp_ = safeLen__ast_3191(gp);
21878 				i_4 = ((NI) 0);
21879 				{
21880 					while (1) {
21881 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* q;
21882 						if (!(i_4 < colontmp_)) goto LA31;
21883 						i_3 = i_4;
21884 						i_2 = i_3;
21885 						a = (*gp)._kind_6.sons->data[i_3];
21886 						{
21887 							NimStringDesc* argX60gensym135_;
21888 							if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA34_;
21889 							argX60gensym135_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_80);
21890 							internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym135_, TM__rF9caJawfOjYTjsgLVUSGFA_80);
21891 						}
21892 						LA34_: ;
21893 						q = (*a)._kind_4.sym;
21894 						{
21895 							tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind;
21896 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
21897 							tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T45_;
21898 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T46_;
21899 							tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
21900 							RootObj* T47_;
21901 							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_;
21902 							{
21903 								if (!((*(*q).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA42_;
21904 								symKind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10);
21905 							}
21906 							goto LA40_;
21907 							LA42_: ;
21908 							{
21909 								symKind = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7);
21910 							}
21911 							LA40_: ;
21912 							T45_ = nextSymId__ast_3132((*c).Sup.idgen);
21913 							T46_ = NIM_NIL;
21914 							T46_ = getCurrOwner__semdata_315(c);
21915 							s_2 = newSym__ast_3445(symKind, (*q).name, T45_, T46_, (*q).info, 0);
21916 							(*s_2).flags = ((*s_2).flags | 5);
21917 							T47_ = NIM_NIL;
21918 							T47_ = idTableGet__astalgo_64(pt, (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*q).typ)))));
21919 							t = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) (T47_));
21920 							{
21921 								if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA50_;
21922 								{
21923 									if (!(((*(*q).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 11))&63U)))!=0)) goto LA54_;
21924 									t = (*q).typ;
21925 								}
21926 								goto LA52_;
21927 								LA54_: ;
21928 								{
21929 									NimStringDesc* T57_;
21930 									T57_ = NIM_NIL;
21931 									T57_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_81), (*(*s_2).name).s);
21932 									liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T57_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_82, NIM_FALSE);
21933 									t = errorType__semdata_1002(c);
21934 								}
21935 								LA52_: ;
21936 							}
21937 							goto LA48_;
21938 							LA50_: ;
21939 							{
21940 								NimStringDesc* T61_;
21941 								if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62))) goto LA59_;
21942 								T61_ = NIM_NIL;
21943 								T61_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_81), (*(*q).name).s);
21944 								liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T61_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_83, NIM_FALSE);
21945 								t = errorType__semdata_1002(c);
21946 							}
21947 							goto LA48_;
21948 							LA59_: ;
21949 							{
21950 								if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9))) goto LA63_;
21951 								t = generateTypeInstance__semtypinst_1050(c, pt, (*a).info, t);
21952 							}
21953 							goto LA48_;
21954 							LA63_: ;
21955 							LA48_: ;
21956 							asgnRef((void**) (&(*s_2).typ), t);
21957 							{
21958 								if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA67_;
21959 								asgnRef((void**) (&(*s_2).ast), (*t).n);
21960 							}
21961 							LA67_: ;
21962 							s = s_2;
21963 							addDecl__lookups_845(c, s);
21964 							asgnRef((void**) (&(*entry).concreteTypes->data[i]), (*s).typ);
21965 							i += ((NI) 1);
21966 						}
21967 						LA38_: ;
21968 						i_4 += ((NI) 1);
21969 					} LA31: ;
21970 				}
21971 			}
21972 		}
21973 	}
21974 	rawPushProcCon__sem_849(c, result);
21975 	instantiateProcType__sem_1187(c, pt, result, info);
21976 	{
21977 		NI j;
21978 		NI colontmp__2;
21979 		NI i_5;
21980 		j = (NI)0;
21981 		colontmp__2 = (NI)0;
21982 		colontmp__2 = len__ast_4002((*result).typ);
21983 		i_5 = ((NI) 1);
21984 		{
21985 			while (1) {
21986 				if (!(i_5 < colontmp__2)) goto LA71;
21987 				j = i_5;
21988 				asgnRef((void**) (&(*entry).concreteTypes->data[i]), (*(*result).typ).sons->data[j]);
21989 				i += ((NI) 1);
21990 				i_5 += ((NI) 1);
21991 			} LA71: ;
21992 		}
21993 	}
21994 	{
21995 		if (!(((*(*result).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 33))&63U)))!=0)) goto LA74_;
21996 		(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28)) & 63);
21997 	}
21998 	LA74_: ;
21999 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), (*(*c).graph).emptyNode);
22000 	oldPrc = genericCacheGet__sem_983((*c).graph, fn, (*entry), (*c).compilesContextId);
22001 	{
22002 		tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ T80_;
22003 		NI T81_;
22004 		if (!(oldPrc == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA78_;
22005 		rawHandleSelf__sem_865(c, result);
22006 		(*entry).compilesId = (*c).compilesContextId;
22007 		addToGenericProcCache__semdata_1185(c, fn, entry);
22008 		nimZeroMem((void*)(&T80_), sizeof(tyObject_TInstantiationPair__HkXM4cJmOpk8zFcmq9c9c3gQ));
22009 		makeInstPair__semdata_297(fn, entry, (&T80_));
22010 		asgnRef((void**) (&(*c).generics), (tySequence__jWKvSdankQPoT5bw9cBU9aiw*) incrSeqV3((TGenericSeq*)((*c).generics), (&NTIseqLtinstantiationpairT__jWKvSdankQPoT5bw9cBU9aiw_)));
22011 		T81_ = (*c).generics->Sup.len++;
22012 		asgnRef((void**) (&(*c).generics->data[T81_].genericSym), T80_.genericSym);
22013 		asgnRef((void**) (&(*c).generics->data[T81_].inst), T80_.inst);
22014 		{
22015 			if (!!(((*(*n)._kind_6.sons->data[((NI) 4)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA84_;
22016 			pragma__pragmas_123(c, result, (*n)._kind_6.sons->data[((NI) 4)], TM__rF9caJawfOjYTjsgLVUSGFA_98, NIM_FALSE);
22017 		}
22018 		LA84_: ;
22019 		{
22020 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T90_;
22021 			if (!((*n)._kind_6.sons->data[((NI) 6)] == 0)) goto LA88_;
22022 			T90_ = NIM_NIL;
22023 			T90_ = getBody__modulegraphs_11241((*c).graph, fn);
22024 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), copyTree__ast_4431(T90_));
22025 		}
22026 		LA88_: ;
22027 		{
22028 			if (!((*c).inGenericContext == ((NI) 0))) goto LA93_;
22029 			instantiateBody__sem_1028(c, n, (*(*fn).typ).n, result, fn);
22030 		}
22031 		LA93_: ;
22032 		sideEffectsCheck__sem_1122(c, result);
22033 		{
22034 			if (!!(((*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 126) || (*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 18)))) goto LA97_;
22035 			paramsTypeCheck__sem_505(c, (*result).typ);
22036 		}
22037 		LA97_: ;
22038 	}
22039 	goto LA76_;
22040 	LA78_: ;
22041 	{
22042 		result = oldPrc;
22043 	}
22044 	LA76_: ;
22045 	popProcCon__semdata_389(c);
22046 	popInfoContext__msgs_507((*(*c).graph).config);
22047 	closeScope__lookups_101(c);
22048 	closeScope__lookups_101(c);
22049 	popOwner__semdata_329(c);
22050 	asgnRef((void**) (&(*c).currentScope), oldScope);
22051 	T100_ = NIM_NIL;
22052 	T100_ = pop__icZic_2460((&(*c).friendModules));
22053 	(void)(T100_);
22054 	(*c).instCounter -= ((NI) 1);
22055 	(*c).matchedConcept = oldMatchedConcept;
22056 	{
22057 		if (!((*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14))) goto LA103_;
22058 		finishMethod__sem_114(c, result);
22059 	}
22060 	LA103_: ;
22061 	return result;
22062 }
N_NIMCALL(void,instGenericConvertersArg__sem_2292)22063 N_LIB_PRIVATE N_NIMCALL(void, instGenericConvertersArg__sem_2292)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA* x) {
22064 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
22065 	{
22066 		if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65))) goto LA3_;
22067 		a_2 = (*a)._kind_6.sons->data[((NI) 0)];
22068 	}
22069 	goto LA1_;
22070 	LA3_: ;
22071 	{
22072 		a_2 = a;
22073 	}
22074 	LA1_: ;
22075 	{
22076 		NIM_BOOL T8_;
22077 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
22078 		T8_ = (NIM_BOOL)0;
22079 		T8_ = ((*a_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32));
22080 		if (!(T8_)) goto LA9_;
22081 		T8_ = ((*(*a_2)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
22082 		LA9_: ;
22083 		if (!T8_) goto LA10_;
22084 		s = (*(*a_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
22085 		{
22086 			NIM_BOOL T14_;
22087 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* finalCallee;
22088 			T14_ = (NIM_BOOL)0;
22089 			T14_ = isGenericRoutineStrict__ast_4639(s);
22090 			if (!T14_) goto LA15_;
22091 			finalCallee = generateInstance__sem_1295(c, s, (*x).bindings, (*a_2).info);
22092 			asgnRef((void**) (&(*(*a_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym), finalCallee);
22093 			asgnRef((void**) (&(*(*a_2)._kind_6.sons->data[((NI) 0)]).typ), (*finalCallee).typ);
22094 		}
22095 		LA15_: ;
22096 	}
22097 	LA10_: ;
22098 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,indexTypesMatch__sem_120)22099 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) {
22100 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22101 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
22102 	result = NIM_NIL;
22103 	nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
22104 	newCandidate__sigmatch_195(c, f, (&m));
22105 	result = paramTypesMatch__sigmatch_3583((&m), f, a, arg, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
22106 	{
22107 		NIM_BOOL T3_;
22108 		T3_ = (NIM_BOOL)0;
22109 		T3_ = m.genericConverter;
22110 		if (!(T3_)) goto LA4_;
22111 		T3_ = !((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
22112 		LA4_: ;
22113 		if (!T3_) goto LA5_;
22114 		instGenericConvertersArg__sem_2292(c, result, (&m));
22115 	}
22116 	LA5_: ;
22117 	return result;
22118 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,fitNode__sem_70)22119 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) {
22120 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22121 {	result = NIM_NIL;
22122 	{
22123 		NimStringDesc* T5_;
22124 		NimStringDesc* T6_;
22125 		if (!((*arg).typ == 0)) goto LA3_;
22126 		T5_ = NIM_NIL;
22127 		T6_ = NIM_NIL;
22128 		T6_ = renderTree__renderer_46(arg, 4);
22129 		T5_ = rawNewString((T6_ ? T6_->Sup.len : 0) + 24);
22130 appendString(T5_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_68));
22131 appendString(T5_, T6_);
22132 		liMessage__msgs_1118((*(*c).graph).config, (*arg).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T5_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_69, NIM_FALSE);
22133 		result = copyTree__ast_4431(arg);
22134 		asgnRef((void**) (&(*result).typ), formal);
22135 	}
22136 	goto LA1_;
22137 	LA3_: ;
22138 	{
22139 		NIM_BOOL T8_;
22140 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
22141 		T8_ = (NIM_BOOL)0;
22142 		T8_ = ((*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*arg).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57));
22143 		if (!(T8_)) goto LA9_;
22144 		T10_ = NIM_NIL;
22145 		T10_ = skipTypes__ast_3735(formal, TM__rF9caJawfOjYTjsgLVUSGFA_70);
22146 		T8_ = ((*T10_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
22147 		LA9_: ;
22148 		if (!T8_) goto LA11_;
22149 		{
22150 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ch;
22151 			ch = NIM_NIL;
22152 			{
22153 				NI i;
22154 				NI colontmp_;
22155 				NI i_2;
22156 				i = (NI)0;
22157 				colontmp_ = (NI)0;
22158 				colontmp_ = safeLen__ast_3191(arg);
22159 				i_2 = ((NI) 0);
22160 				{
22161 					while (1) {
22162 						if (!(i_2 < colontmp_)) goto LA16;
22163 						i = i_2;
22164 						ch = (*arg)._kind_6.sons->data[i];
22165 						{
22166 							NIM_BOOL T19_;
22167 							T19_ = (NIM_BOOL)0;
22168 							T19_ = sameType__types_1815((*ch).typ, formal, 0);
22169 							if (!T19_) goto LA20_;
22170 							result = getConstExpr__semfold_81((*c).module, ch, (*c).Sup.idgen, (*c).graph);
22171 							goto BeforeRet_;
22172 						}
22173 						LA20_: ;
22174 						i_2 += ((NI) 1);
22175 					} LA16: ;
22176 				}
22177 			}
22178 		}
22179 		typeMismatch__types_3861((*(*c).graph).config, info, formal, (*arg).typ, arg);
22180 	}
22181 	goto LA1_;
22182 	LA11_: ;
22183 	{
22184 		result = indexTypesMatch__sem_120(c, formal, (*arg).typ, arg);
22185 		{
22186 			if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA25_;
22187 			typeMismatch__types_3861((*(*c).graph).config, info, formal, (*arg).typ, arg);
22188 			result = copyTree__ast_4431(arg);
22189 			asgnRef((void**) (&(*result).typ), formal);
22190 		}
22191 		goto LA23_;
22192 		LA25_: ;
22193 		{
22194 			result = fitNodePostMatch__sem_164(c, formal, result);
22195 		}
22196 		LA23_: ;
22197 	}
22198 	LA1_: ;
22199 	}BeforeRet_: ;
22200 	return result;
22201 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,forceBool__sem_2869)22202 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, forceBool__sem_2869)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
22203 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22204 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
22205 	result = NIM_NIL;
22206 	T1_ = NIM_NIL;
22207 	T1_ = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
22208 	result = fitNode__sem_70(c, T1_, n, (*n).info);
22209 	{
22210 		if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA4_;
22211 		result = n;
22212 	}
22213 	LA4_: ;
22214 	return result;
22215 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConstBoolExpr__sem_2877)22216 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConstBoolExpr__sem_2877)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
22217 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22218 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
22219 	result = NIM_NIL;
22220 	T1_ = NIM_NIL;
22221 	T1_ = semConstExpr__sem_611(c, n);
22222 	result = forceBool__sem_2869(c, T1_);
22223 	{
22224 		if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA4_;
22225 		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);
22226 	}
22227 	LA4_: ;
22228 	return result;
22229 }
N_INLINE(NIM_BOOL,isRange__trees_213)22230 static N_INLINE(NIM_BOOL, isRange__trees_213)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
22231 	NIM_BOOL result;
22232 	result = (NIM_BOOL)0;
22233 	{
22234 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* callee;
22235 		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_;
22236 		callee = (*n)._kind_6.sons->data[((NI) 0)];
22237 		{
22238 			NIM_BOOL T7_;
22239 			NIM_BOOL T8_;
22240 			NIM_BOOL T9_;
22241 			NIM_BOOL T12_;
22242 			NIM_BOOL T15_;
22243 			T7_ = (NIM_BOOL)0;
22244 			T8_ = (NIM_BOOL)0;
22245 			T9_ = (NIM_BOOL)0;
22246 			T9_ = ((*callee).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
22247 			if (!(T9_)) goto LA10_;
22248 			T9_ = ((*(*callee)._kind_5.ident).id == ((NI) 71));
22249 			LA10_: ;
22250 			T8_ = T9_;
22251 			if (T8_) goto LA11_;
22252 			T12_ = (NIM_BOOL)0;
22253 			T12_ = ((*callee).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
22254 			if (!(T12_)) goto LA13_;
22255 			T12_ = ((*(*(*callee)._kind_4.sym).name).id == ((NI) 71));
22256 			LA13_: ;
22257 			T8_ = T12_;
22258 			LA11_: ;
22259 			T7_ = T8_;
22260 			if (T7_) goto LA14_;
22261 			T15_ = (NIM_BOOL)0;
22262 			T15_ = ((*callee).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*callee).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57));
22263 			if (!(T15_)) goto LA16_;
22264 			T15_ = ((*(*(*(*callee)._kind_6.sons->data[((NI) 1)])._kind_4.sym).name).id == ((NI) 71));
22265 			LA16_: ;
22266 			T7_ = T15_;
22267 			LA14_: ;
22268 			if (!T7_) goto LA17_;
22269 			result = NIM_TRUE;
22270 		}
22271 		LA17_: ;
22272 	}
22273 	LA3_: ;
22274 	return result;
22275 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semBranchRange__sem_3747)22276 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) {
22277 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22278 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ac;
22279 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bc;
22280 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* at;
22281 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
22282 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* bt;
22283 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
22284 	result = NIM_NIL;
22285 	checkMinSonsLen__semdata_1084(t, ((NI) 1), (*(*c).graph).config);
22286 	ac = semConstExpr__sem_611(c, a);
22287 	bc = semConstExpr__sem_611(c, b);
22288 	T1_ = NIM_NIL;
22289 	T1_ = fitNode__sem_70(c, (*(*t)._kind_6.sons->data[((NI) 0)]).typ, ac, (*ac).info);
22290 	at = skipConvTakeType__types_3614(T1_);
22291 	T2_ = NIM_NIL;
22292 	T2_ = fitNode__sem_70(c, (*(*t)._kind_6.sons->data[((NI) 0)]).typ, bc, (*bc).info);
22293 	bt = skipConvTakeType__types_3614(T2_);
22294 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44), (*a).info);
22295 	add__ast_4797(result, at);
22296 	add__ast_4797(result, bt);
22297 	{
22298 		NIM_BOOL T5_;
22299 		T5_ = (NIM_BOOL)0;
22300 		T5_ = emptyRange__nimsets_273(ac, bc);
22301 		if (!T5_) goto LA6_;
22302 		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);
22303 	}
22304 	goto LA3_;
22305 	LA6_: ;
22306 	{
22307 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T9_;
22308 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T10_;
22309 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T11_;
22310 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T12_;
22311 		T9_ = getOrdValue__types_161(bc, Max__int495056_27);
22312 		T10_ = plus___int495056_448((*covered), T9_);
22313 		T11_ = plus___int495056_794(T10_, IL64(1));
22314 		T12_ = getOrdValue__types_161(ac, Max__int495056_27);
22315 		(*covered) = minus___int495056_474(T11_, T12_);
22316 	}
22317 	LA3_: ;
22318 	return result;
22319 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semCaseBranchRange__sem_3768)22320 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) {
22321 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22322 	result = NIM_NIL;
22323 	checkSonsLen__semdata_1077(b, ((NI) 3), (*(*c).graph).config);
22324 	result = semBranchRange__sem_3747(c, t, (*b)._kind_6.sons->data[((NI) 1)], (*b)._kind_6.sons->data[((NI) 2)], covered);
22325 	return result;
22326 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semCaseBranchSetElem__sem_3776)22327 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) {
22328 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
22329 	result = NIM_NIL;
22330 	{
22331 		NIM_BOOL T3_;
22332 		T3_ = (NIM_BOOL)0;
22333 		T3_ = isRange__trees_213(b);
22334 		if (!T3_) goto LA4_;
22335 		checkSonsLen__semdata_1077(b, ((NI) 3), (*(*c).graph).config);
22336 		result = semBranchRange__sem_3747(c, t, (*b)._kind_6.sons->data[((NI) 1)], (*b)._kind_6.sons->data[((NI) 2)], covered);
22337 	}
22338 	goto LA1_;
22339 	LA4_: ;
22340 	{
22341 		if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA7_;
22342 		checkSonsLen__semdata_1077(b, ((NI) 2), (*(*c).graph).config);
22343 		result = semBranchRange__sem_3747(c, t, (*b)._kind_6.sons->data[((NI) 0)], (*b)._kind_6.sons->data[((NI) 1)], covered);
22344 	}
22345 	goto LA1_;
22346 	LA7_: ;
22347 	{
22348 		result = fitNode__sem_70(c, (*(*t)._kind_6.sons->data[((NI) 0)]).typ, b, (*b).info);
22349 		inc__int495056_251(covered, ((NU32) 1));
22350 	}
22351 	LA1_: ;
22352 	return result;
22353 }
N_NIMCALL(void,checkForOverlap__sem_3723)22354 N_LIB_PRIVATE N_NIMCALL(void, checkForOverlap__sem_3723)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t, NI currentEx, NI branchIndex) {
22355 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ex;
22356 	ex = skipConv__types_3588((*(*t)._kind_6.sons->data[branchIndex])._kind_6.sons->data[currentEx]);
22357 	{
22358 		NI i;
22359 		NI res;
22360 		i = (NI)0;
22361 		res = ((NI) 1);
22362 		{
22363 			while (1) {
22364 				if (!(res <= branchIndex)) goto LA3;
22365 				i = res;
22366 				{
22367 					NI j;
22368 					NI colontmp_;
22369 					NI T5_;
22370 					NI i_2;
22371 					j = (NI)0;
22372 					colontmp_ = (NI)0;
22373 					T5_ = (NI)0;
22374 					T5_ = len__ast_3198((*t)._kind_6.sons->data[i]);
22375 					colontmp_ = (NI)(T5_ - ((NI) 1));
22376 					i_2 = ((NI) 0);
22377 					{
22378 						while (1) {
22379 							if (!(i_2 < colontmp_)) goto LA7;
22380 							j = i_2;
22381 							{
22382 								NIM_BOOL T10_;
22383 								T10_ = (NIM_BOOL)0;
22384 								T10_ = (i == branchIndex);
22385 								if (!(T10_)) goto LA11_;
22386 								T10_ = (j == currentEx);
22387 								LA11_: ;
22388 								if (!T10_) goto LA12_;
22389 								goto LA4;
22390 							}
22391 							LA12_: ;
22392 							{
22393 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
22394 								NIM_BOOL T17_;
22395 								T16_ = NIM_NIL;
22396 								T16_ = skipConv__types_3588((*(*t)._kind_6.sons->data[i])._kind_6.sons->data[j]);
22397 								T17_ = (NIM_BOOL)0;
22398 								T17_ = overlap__nimsets_40(T16_, ex);
22399 								if (!T17_) goto LA18_;
22400 								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);
22401 							}
22402 							LA18_: ;
22403 							i_2 += ((NI) 1);
22404 						} LA7: ;
22405 					}
22406 				} LA4: ;
22407 				res += ((NI) 1);
22408 			} LA3: ;
22409 		}
22410 	}
22411 }
N_NIMCALL(void,semCaseBranch__sem_3791)22412 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) {
22413 	NI lastIndex;
22414 	NI T1_;
22415 {	T1_ = (NI)0;
22416 	T1_ = len__ast_3198(branch);
22417 	lastIndex = (NI)(T1_ - ((NI) 2));
22418 	{
22419 		NI i;
22420 		NI res;
22421 		i = (NI)0;
22422 		res = ((NI) 0);
22423 		{
22424 			while (1) {
22425 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
22426 				if (!(res <= lastIndex)) goto LA4;
22427 				i = res;
22428 				b = (*branch)._kind_6.sons->data[i];
22429 				{
22430 					if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA7_;
22431 					asgnRef((void**) (&(*branch)._kind_6.sons->data[i]), b);
22432 				}
22433 				goto LA5_;
22434 				LA7_: ;
22435 				{
22436 					NIM_BOOL T10_;
22437 					T10_ = (NIM_BOOL)0;
22438 					T10_ = isRange__trees_213(b);
22439 					if (!T10_) goto LA11_;
22440 					asgnRef((void**) (&(*branch)._kind_6.sons->data[i]), semCaseBranchRange__sem_3768(c, t, b, covered));
22441 				}
22442 				goto LA5_;
22443 				LA11_: ;
22444 				{
22445 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
22446 					r = semConstExpr__sem_611(c, b);
22447 					{
22448 						NIM_BOOL T16_;
22449 						NIM_BOOL T17_;
22450 						NI T19_;
22451 						NI T21_;
22452 						T16_ = (NIM_BOOL)0;
22453 						T17_ = (NIM_BOOL)0;
22454 						T17_ = ((*r).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39) || (*r).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41));
22455 						if (!(T17_)) goto LA18_;
22456 						T19_ = (NI)0;
22457 						T19_ = len__ast_3198(r);
22458 						T17_ = (T19_ == ((NI) 0));
22459 						LA18_: ;
22460 						T16_ = T17_;
22461 						if (!(T16_)) goto LA20_;
22462 						T21_ = (NI)0;
22463 						T21_ = len__ast_3198(branch);
22464 						T16_ = (T21_ == ((NI) 2));
22465 						LA20_: ;
22466 						if (!T16_) goto LA22_;
22467 						delSon__ast_4313(branch, ((NI) 0));
22468 						goto BeforeRet_;
22469 					}
22470 					goto LA14_;
22471 					LA22_: ;
22472 					{
22473 						NIM_BOOL T25_;
22474 						NI T27_;
22475 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmp;
22476 						T25_ = (NIM_BOOL)0;
22477 						T25_ = !(((*r).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39) || (*r).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41)));
22478 						if (T25_) goto LA26_;
22479 						T27_ = (NI)0;
22480 						T27_ = len__ast_3198(r);
22481 						T25_ = (T27_ == ((NI) 0));
22482 						LA26_: ;
22483 						if (!T25_) goto LA28_;
22484 						checkMinSonsLen__semdata_1084(t, ((NI) 1), (*(*c).graph).config);
22485 						tmp = fitNode__sem_70(c, (*(*t)._kind_6.sons->data[((NI) 0)]).typ, r, (*r).info);
22486 						{
22487 							if (!((*tmp).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA32_;
22488 							tmp = semConstExpr__sem_611(c, tmp);
22489 						}
22490 						LA32_: ;
22491 						asgnRef((void**) (&(*branch)._kind_6.sons->data[i]), skipConv__types_3588(tmp));
22492 						inc__int495056_251(covered, ((NU32) 1));
22493 					}
22494 					goto LA14_;
22495 					LA28_: ;
22496 					{
22497 						{
22498 							if (!((*r).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39))) goto LA37_;
22499 							r = deduplicate__nimsets_236((*(*c).graph).config, r);
22500 						}
22501 						LA37_: ;
22502 						asgnRef((void**) (&(*branch)._kind_6.sons->data[i]), semCaseBranchSetElem__sem_3776(c, t, (*r)._kind_6.sons->data[((NI) 0)], covered));
22503 						{
22504 							NI j;
22505 							NI colontmp_;
22506 							NI i_2;
22507 							j = (NI)0;
22508 							colontmp_ = (NI)0;
22509 							colontmp_ = len__ast_3198(r);
22510 							i_2 = ((NI) 1);
22511 							{
22512 								while (1) {
22513 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T42_;
22514 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
22515 									NI T44_;
22516 									NI T45_;
22517 									if (!(i_2 < colontmp_)) goto LA41;
22518 									j = i_2;
22519 									T42_ = NIM_NIL;
22520 									T42_ = semCaseBranchSetElem__sem_3776(c, t, (*r)._kind_6.sons->data[j], covered);
22521 									add__ast_4797(branch, T42_);
22522 									T43_ = NIM_NIL;
22523 									T44_ = (NI)0;
22524 									T44_ = len__ast_3198(branch);
22525 									T45_ = (NI)0;
22526 									T45_ = len__ast_3198(branch);
22527 									T43_ = (*branch)._kind_6.sons->data[(NI)(T44_ - ((NI) 2))];
22528 									asgnRef((void**) (&(*branch)._kind_6.sons->data[(NI)(T44_ - ((NI) 2))]), (*branch)._kind_6.sons->data[(NI)(T45_ - ((NI) 1))]);
22529 									asgnRef((void**) (&(*branch)._kind_6.sons->data[(NI)(T45_ - ((NI) 1))]), T43_);
22530 									i_2 += ((NI) 1);
22531 								} LA41: ;
22532 							}
22533 						}
22534 					}
22535 					LA14_: ;
22536 				}
22537 				LA5_: ;
22538 				checkForOverlap__sem_3723(c, t, i, branchIndex);
22539 				res += ((NI) 1);
22540 			} LA4: ;
22541 		}
22542 	}
22543 	{
22544 		NI i_3;
22545 		NI colontmp__2;
22546 		NI colontmp__3;
22547 		NI T47_;
22548 		NI i_4;
22549 		i_3 = (NI)0;
22550 		colontmp__2 = (NI)0;
22551 		colontmp__3 = (NI)0;
22552 		colontmp__2 = (NI)(lastIndex + ((NI) 1));
22553 		T47_ = (NI)0;
22554 		T47_ = len__ast_3198(branch);
22555 		colontmp__3 = (NI)(T47_ - ((NI) 1));
22556 		i_4 = colontmp__2;
22557 		{
22558 			while (1) {
22559 				if (!(i_4 < colontmp__3)) goto LA49;
22560 				i_3 = i_4;
22561 				checkForOverlap__sem_3723(c, t, i_3, branchIndex);
22562 				i_4 += ((NI) 1);
22563 			} LA49: ;
22564 		}
22565 	}
22566 	}BeforeRet_: ;
22567 }
N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA,toCover__sem_3884)22568 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, toCover__sem_3884)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
22569 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA result;
22570 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t2;
22571 	nimZeroMem((void*)(&result), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
22572 	t2 = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_470);
22573 	{
22574 		NIM_BOOL T3_;
22575 		NI T7_;
22576 		T3_ = (NIM_BOOL)0;
22577 		T3_ = ((*t2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
22578 		if (!(T3_)) goto LA4_;
22579 		T3_ = enumHasHoles__types_287(t2);
22580 		LA4_: ;
22581 		if (!T3_) goto LA5_;
22582 		T7_ = (NI)0;
22583 		T7_ = len__ast_3198((*t2).n);
22584 		result = toInt128__types_1378(T7_);
22585 	}
22586 	goto LA1_;
22587 	LA5_: ;
22588 	{
22589 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
22590 		t_2 = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_459);
22591 		{
22592 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T13_;
22593 			if (!((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44))) goto LA11_;
22594 			T13_ = toInt128__types_1378(((NI) 1));
22595 			result = shl__int495056_379(T13_, ((NI) 64));
22596 		}
22597 		goto LA9_;
22598 		LA11_: ;
22599 		{
22600 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T17_;
22601 			if (!((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) || (*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40))) goto LA15_;
22602 			T17_ = toInt128__types_1378(((NI) 1));
22603 			result = shl__int495056_379(T17_, (NI)((*(*(*c).graph).config).target.intSize * ((NI) 8)));
22604 		}
22605 		goto LA9_;
22606 		LA15_: ;
22607 		{
22608 			result = lengthOrd__types_1652((*(*c).graph).config, t_2);
22609 		}
22610 		LA9_: ;
22611 	}
22612 	LA1_: ;
22613 	return result;
22614 }
N_INLINE(void,addEscapedChar__system_7484)22615 static N_INLINE(void, addEscapedChar__system_7484)(NimStringDesc** s, NIM_CHAR c) {
22616 	switch (((NU8)(c))) {
22617 	case 7:
22618 	{
22619 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22620 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_475));
22621 	}
22622 	break;
22623 	case 8:
22624 	{
22625 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22626 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_476));
22627 	}
22628 	break;
22629 	case 9:
22630 	{
22631 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22632 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_477));
22633 	}
22634 	break;
22635 	case 10:
22636 	{
22637 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22638 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_478));
22639 	}
22640 	break;
22641 	case 11:
22642 	{
22643 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22644 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_479));
22645 	}
22646 	break;
22647 	case 12:
22648 	{
22649 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22650 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_480));
22651 	}
22652 	break;
22653 	case 13:
22654 	{
22655 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22656 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_481));
22657 	}
22658 	break;
22659 	case 27:
22660 	{
22661 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22662 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_482));
22663 	}
22664 	break;
22665 	case 92:
22666 	{
22667 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22668 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_483));
22669 	}
22670 	break;
22671 	case 39:
22672 	{
22673 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22674 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_484));
22675 	}
22676 	break;
22677 	case 34:
22678 	{
22679 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22680 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_485));
22681 	}
22682 	break;
22683 	case 32 ... 33:
22684 	case 35 ... 38:
22685 	case 40 ... 91:
22686 	case 93 ... 126:
22687 	{
22688 		unsureAsgnRef((void**) (&(*s)), addChar((*s), c));
22689 	}
22690 	break;
22691 	default:
22692 	{
22693 		NI n;
22694 		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
22695 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_486));
22696 		n = ((NU8)(c));
22697 		unsureAsgnRef((void**) (&(*s)), addChar((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_487)->data[(NI)((NI32)((NI)(n & ((NI) 240))) >> (NU32)(((NI) 4)))]));
22698 		unsureAsgnRef((void**) (&(*s)), addChar((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_487)->data[(NI)(n & ((NI) 15))]));
22699 	}
22700 	break;
22701 	}
22702 }
N_NIMCALL(void,addQuoted__sem_4005)22703 N_LIB_PRIVATE N_NIMCALL(void, addQuoted__sem_4005)(NimStringDesc** s, NIM_CHAR x) {
22704 	unsureAsgnRef((void**) (&(*s)), resizeString((*s), 1));
22705 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
22706 	addEscapedChar__system_7484(s, x);
22707 	unsureAsgnRef((void**) (&(*s)), resizeString((*s), 1));
22708 appendString((*s), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
22709 }
N_INLINE(NI,len__nilcheck_1772)22710 static N_INLINE(NI, len__nilcheck_1772)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s) {
22711 	NI result;
22712 	result = (NI)0;
22713 	{
22714 		if (!((*s).elems < ((NI) 34))) goto LA3_;
22715 		result = (*s).elems;
22716 	}
22717 	goto LA1_;
22718 	LA3_: ;
22719 	{
22720 		result = ((NI) 0);
22721 		{
22722 			NI _;
22723 			_ = (NI)0;
22724 			{
22725 				if (!((*s).elems <= ((NI) 34))) goto LA9_;
22726 				{
22727 					NI i;
22728 					NI i_2;
22729 					i = (NI)0;
22730 					i_2 = ((NI) 0);
22731 					{
22732 						while (1) {
22733 							if (!(i_2 < (*s).elems)) goto LA13;
22734 							i = i_2;
22735 							_ = (*s).a[(i)- 0];
22736 							result += ((NI) 1);
22737 							i_2 += ((NI) 1);
22738 						} LA13: ;
22739 					}
22740 				}
22741 			}
22742 			goto LA7_;
22743 			LA9_: ;
22744 			{
22745 				tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r;
22746 				r = (*s).head;
22747 				{
22748 					while (1) {
22749 						NI i_3;
22750 						if (!!((r == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA16;
22751 						i_3 = ((NI) 0);
22752 						{
22753 							while (1) {
22754 								NU w;
22755 								NI j;
22756 								if (!(i_3 <= ((NI) 15))) goto LA18;
22757 								w = (*r).bits[(i_3)- 0];
22758 								j = ((NI) 0);
22759 								{
22760 									while (1) {
22761 										if (!!((w == ((NU) 0)))) goto LA20;
22762 										{
22763 											NI T25_;
22764 											if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA23_;
22765 											T25_ = (NI)0;
22766 											T25_ = pluspercent___system_696((NI)((NU32)(i_3) << (NU32)(((NI) 5))), j);
22767 											_ = (NI)((NI)((NU32)((*r).key) << (NU32)(((NI) 9))) | T25_);
22768 											result += ((NI) 1);
22769 										}
22770 										LA23_: ;
22771 										j += ((NI) 1);
22772 										w = (NU)((NU32)(w) >> (NU32)(((NI) 1)));
22773 									} LA20: ;
22774 								}
22775 								i_3 += ((NI) 1);
22776 							} LA18: ;
22777 						}
22778 						r = (*r).next;
22779 					} LA16: ;
22780 				}
22781 			}
22782 			LA7_: ;
22783 		}
22784 	}
22785 	LA1_: ;
22786 	return result;
22787 }
N_NIMCALL(NimStringDesc *,renderAsType__sem_3988)22788 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderAsType__sem_3988)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* vals, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
22789 	NimStringDesc* result;
22790 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
22791 	NI enumSymOffset;
22792 	NI i;
22793 	result = NIM_NIL;
22794 	result = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_474));
22795 	t_2 = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_472);
22796 	enumSymOffset = ((NI) 0);
22797 	i = ((NI) 0);
22798 	{
22799 		NI val;
22800 		val = (NI)0;
22801 		{
22802 			if (!((*vals).elems <= ((NI) 34))) goto LA4_;
22803 			{
22804 				NI i_2;
22805 				NI i_3;
22806 				i_2 = (NI)0;
22807 				i_3 = ((NI) 0);
22808 				{
22809 					while (1) {
22810 						if (!(i_3 < (*vals).elems)) goto LA8;
22811 						i_2 = i_3;
22812 						val = (*vals).a[(i_2)- 0];
22813 						{
22814 							if (!(((NI) 1) < (result ? result->Sup.len : 0))) goto LA11_;
22815 							result = resizeString(result, 2);
22816 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
22817 						}
22818 						LA11_: ;
22819 						switch ((*t_2).kind) {
22820 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
22821 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
22822 						{
22823 							{
22824 								while (1) {
22825 									if (!((*(*(*(*t_2).n)._kind_6.sons->data[enumSymOffset])._kind_4.sym).position < val)) goto LA15;
22826 									enumSymOffset += ((NI) 1);
22827 								} LA15: ;
22828 							}
22829 							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);
22830 appendString(result, (*(*(*(*(*t_2).n)._kind_6.sons->data[enumSymOffset])._kind_4.sym).name).s);
22831 						}
22832 						break;
22833 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
22834 						{
22835 							addQuoted__sem_4005((&result), ((NIM_CHAR) (val)));
22836 						}
22837 						break;
22838 						default:
22839 						{
22840 							{
22841 								NI T22_;
22842 								NimStringDesc* T23_;
22843 								NimStringDesc* T24_;
22844 								if (!(i == ((NI) 64))) goto LA20_;
22845 								T22_ = (NI)0;
22846 								T22_ = len__nilcheck_1772(vals);
22847 								T23_ = NIM_NIL;
22848 								T23_ = dollar___systemZdollars_3((NI)(T22_ - i));
22849 								T24_ = NIM_NIL;
22850 								T24_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_488), T23_);
22851 								result = resizeString(result, (T24_ ? T24_->Sup.len : 0) + 0);
22852 appendString(result, T24_);
22853 								goto LA1;
22854 							}
22855 							goto LA18_;
22856 							LA20_: ;
22857 							{
22858 								NimStringDesc* T26_;
22859 								T26_ = NIM_NIL;
22860 								T26_ = dollar___systemZdollars_3(val);
22861 								result = resizeString(result, (T26_ ? T26_->Sup.len : 0) + 0);
22862 appendString(result, T26_);
22863 							}
22864 							LA18_: ;
22865 						}
22866 						break;
22867 						}
22868 						i += ((NI) 1);
22869 						i_3 += ((NI) 1);
22870 					} LA8: ;
22871 				}
22872 			}
22873 		}
22874 		goto LA2_;
22875 		LA4_: ;
22876 		{
22877 			tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r;
22878 			r = (*vals).head;
22879 			{
22880 				while (1) {
22881 					NI i_4;
22882 					if (!!((r == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA29;
22883 					i_4 = ((NI) 0);
22884 					{
22885 						while (1) {
22886 							NU w;
22887 							NI j;
22888 							if (!(i_4 <= ((NI) 15))) goto LA31;
22889 							w = (*r).bits[(i_4)- 0];
22890 							j = ((NI) 0);
22891 							{
22892 								while (1) {
22893 									if (!!((w == ((NU) 0)))) goto LA33;
22894 									{
22895 										NI T38_;
22896 										if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA36_;
22897 										T38_ = (NI)0;
22898 										T38_ = pluspercent___system_696((NI)((NU32)(i_4) << (NU32)(((NI) 5))), j);
22899 										val = (NI)((NI)((NU32)((*r).key) << (NU32)(((NI) 9))) | T38_);
22900 										{
22901 											if (!(((NI) 1) < (result ? result->Sup.len : 0))) goto LA41_;
22902 											result = resizeString(result, 2);
22903 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
22904 										}
22905 										LA41_: ;
22906 										switch ((*t_2).kind) {
22907 										case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
22908 										case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
22909 										{
22910 											{
22911 												while (1) {
22912 													if (!((*(*(*(*t_2).n)._kind_6.sons->data[enumSymOffset])._kind_4.sym).position < val)) goto LA45;
22913 													enumSymOffset += ((NI) 1);
22914 												} LA45: ;
22915 											}
22916 											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);
22917 appendString(result, (*(*(*(*(*t_2).n)._kind_6.sons->data[enumSymOffset])._kind_4.sym).name).s);
22918 										}
22919 										break;
22920 										case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
22921 										{
22922 											addQuoted__sem_4005((&result), ((NIM_CHAR) (val)));
22923 										}
22924 										break;
22925 										default:
22926 										{
22927 											{
22928 												NI T52_;
22929 												NimStringDesc* T53_;
22930 												NimStringDesc* T54_;
22931 												if (!(i == ((NI) 64))) goto LA50_;
22932 												T52_ = (NI)0;
22933 												T52_ = len__nilcheck_1772(vals);
22934 												T53_ = NIM_NIL;
22935 												T53_ = dollar___systemZdollars_3((NI)(T52_ - i));
22936 												T54_ = NIM_NIL;
22937 												T54_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_488), T53_);
22938 												result = resizeString(result, (T54_ ? T54_->Sup.len : 0) + 0);
22939 appendString(result, T54_);
22940 												goto LA1;
22941 											}
22942 											goto LA48_;
22943 											LA50_: ;
22944 											{
22945 												NimStringDesc* T56_;
22946 												T56_ = NIM_NIL;
22947 												T56_ = dollar___systemZdollars_3(val);
22948 												result = resizeString(result, (T56_ ? T56_->Sup.len : 0) + 0);
22949 appendString(result, T56_);
22950 											}
22951 											LA48_: ;
22952 										}
22953 										break;
22954 										}
22955 										i += ((NI) 1);
22956 									}
22957 									LA36_: ;
22958 									j += ((NI) 1);
22959 									w = (NU)((NU32)(w) >> (NU32)(((NI) 1)));
22960 								} LA33: ;
22961 							}
22962 							i_4 += ((NI) 1);
22963 						} LA31: ;
22964 					}
22965 					r = (*r).next;
22966 				} LA29: ;
22967 			}
22968 		}
22969 		LA2_: ;
22970 	} LA1: ;
22971 	result = resizeString(result, 1);
22972 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_489));
22973 	return result;
22974 }
N_NIMCALL(void,difference__sem_4045)22975 N_LIB_PRIVATE N_NIMCALL(void, difference__sem_4045)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
22976 	initPackedSet__pureZcollectionsZintsets_16(Result);
22977 	{
22978 		NI item;
22979 		item = (NI)0;
22980 		{
22981 			if (!((*s1).elems <= ((NI) 34))) goto LA4_;
22982 			{
22983 				NI i;
22984 				NI i_2;
22985 				i = (NI)0;
22986 				i_2 = ((NI) 0);
22987 				{
22988 					while (1) {
22989 						if (!(i_2 < (*s1).elems)) goto LA8;
22990 						i = i_2;
22991 						item = (*s1).a[(i)- 0];
22992 						{
22993 							NIM_BOOL T11_;
22994 							T11_ = (NIM_BOOL)0;
22995 							T11_ = contains__astalgo_3496(s2, item);
22996 							if (!!(T11_)) goto LA12_;
22997 							incl__pureZcollectionsZintsets_55(Result, item);
22998 						}
22999 						LA12_: ;
23000 						i_2 += ((NI) 1);
23001 					} LA8: ;
23002 				}
23003 			}
23004 		}
23005 		goto LA2_;
23006 		LA4_: ;
23007 		{
23008 			tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* r;
23009 			r = (*s1).head;
23010 			{
23011 				while (1) {
23012 					NI i_3;
23013 					if (!!((r == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA16;
23014 					i_3 = ((NI) 0);
23015 					{
23016 						while (1) {
23017 							NU w;
23018 							NI j;
23019 							if (!(i_3 <= ((NI) 15))) goto LA18;
23020 							w = (*r).bits[(i_3)- 0];
23021 							j = ((NI) 0);
23022 							{
23023 								while (1) {
23024 									if (!!((w == ((NU) 0)))) goto LA20;
23025 									{
23026 										NI T25_;
23027 										if (!!(((NU)(w & ((NU) 1)) == ((NU) 0)))) goto LA23_;
23028 										T25_ = (NI)0;
23029 										T25_ = pluspercent___system_696((NI)((NU32)(i_3) << (NU32)(((NI) 5))), j);
23030 										item = (NI)((NI)((NU32)((*r).key) << (NU32)(((NI) 9))) | T25_);
23031 										{
23032 											NIM_BOOL T28_;
23033 											T28_ = (NIM_BOOL)0;
23034 											T28_ = contains__astalgo_3496(s2, item);
23035 											if (!!(T28_)) goto LA29_;
23036 											incl__pureZcollectionsZintsets_55(Result, item);
23037 										}
23038 										LA29_: ;
23039 									}
23040 									LA23_: ;
23041 									j += ((NI) 1);
23042 									w = (NU)((NU32)(w) >> (NU32)(((NI) 1)));
23043 								} LA20: ;
23044 							}
23045 							i_3 += ((NI) 1);
23046 						} LA18: ;
23047 					}
23048 					r = (*r).next;
23049 				} LA16: ;
23050 			}
23051 		}
23052 		LA2_: ;
23053 	}
23054 }
N_INLINE(void,minus___sem_4040)23055 static N_INLINE(void, minus___sem_4040)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s1, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s2, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
23056 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T1_;
23057 	nimZeroMem((void*)(&T1_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
23058 	difference__sem_4045(s1, s2, (&T1_));
23059 	genericShallowAssign((void*)Result, (void*)(&T1_), (&NTIpackedset__IhxwDBRi51nGrosBGFKcsA_));
23060 }
N_NIMCALL(void,getIntSetOfType__sem_3930)23061 N_LIB_PRIVATE N_NIMCALL(void, getIntSetOfType__sem_3930)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* Result) {
23062 	initIntSet__pureZcollectionsZintsets_238(Result);
23063 	{
23064 		NIM_BOOL T3_;
23065 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
23066 		T3_ = (NIM_BOOL)0;
23067 		T3_ = enumHasHoles__types_287(t);
23068 		if (!T3_) goto LA4_;
23069 		t_2 = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_472);
23070 		{
23071 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** field;
23072 			tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
23073 			NI i;
23074 			NI L;
23075 			NI T7_;
23076 			field = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
23077 			colontmp_ = NIM_NIL;
23078 			colontmp_ = (*(*t_2).n)._kind_6.sons;
23079 			i = ((NI) 0);
23080 			T7_ = (colontmp_ ? colontmp_->Sup.len : 0);
23081 			L = T7_;
23082 			{
23083 				while (1) {
23084 					if (!(i < L)) goto LA9;
23085 					field = &colontmp_->data[i];
23086 					incl__pureZcollectionsZintsets_55(Result, (*(*(*field))._kind_4.sym).position);
23087 					i += ((NI) 1);
23088 				} LA9: ;
23089 			}
23090 		}
23091 	}
23092 	goto LA1_;
23093 	LA4_: ;
23094 	{
23095 		{
23096 			NI64 i_2;
23097 			NI64 colontmp__2;
23098 			NI64 colontmp__3;
23099 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T12_;
23100 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T13_;
23101 			NI64 res;
23102 			i_2 = (NI64)0;
23103 			colontmp__2 = (NI64)0;
23104 			colontmp__3 = (NI64)0;
23105 			T12_ = firstOrd__types_1353((*(*c).graph).config, t);
23106 			colontmp__2 = toInt64__int495056_88(T12_);
23107 			T13_ = lastOrd__types_1465((*(*c).graph).config, t);
23108 			colontmp__3 = toInt64__int495056_88(T13_);
23109 			res = colontmp__2;
23110 			{
23111 				while (1) {
23112 					if (!(res <= colontmp__3)) goto LA15;
23113 					i_2 = res;
23114 					incl__pureZcollectionsZintsets_55(Result, ((NI) (i_2)));
23115 					res += ((NI) 1);
23116 				} LA15: ;
23117 			}
23118 		}
23119 	}
23120 	LA1_: ;
23121 }
N_NIMCALL(NimStringDesc *,formatMissingEnums__sem_4020)23122 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, formatMissingEnums__sem_4020)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
23123 	NimStringDesc* result;
23124 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA coveredCases;
23125 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T23_;
23126 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T24_;
23127 	result = NIM_NIL;
23128 	nimZeroMem((void*)(&coveredCases), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
23129 	initIntSet__pureZcollectionsZintsets_238((&coveredCases));
23130 	{
23131 		NI i;
23132 		NI colontmp_;
23133 		NI i_2;
23134 		i = (NI)0;
23135 		colontmp_ = (NI)0;
23136 		colontmp_ = len__ast_3198(n);
23137 		i_2 = ((NI) 1);
23138 		{
23139 			while (1) {
23140 				if (!(i_2 < colontmp_)) goto LA3;
23141 				i = i_2;
23142 				{
23143 					NI val;
23144 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__2;
23145 					val = (NI)0;
23146 					colontmp__2 = NIM_NIL;
23147 					colontmp__2 = (*n)._kind_6.sons->data[i];
23148 					{
23149 						if (!((*colontmp__2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA7_;
23150 						{
23151 							NI i_3;
23152 							NI colontmp__3;
23153 							NI T10_;
23154 							NI i_4;
23155 							i_3 = (NI)0;
23156 							colontmp__3 = (NI)0;
23157 							T10_ = (NI)0;
23158 							T10_ = len__ast_3198(colontmp__2);
23159 							colontmp__3 = (NI)(T10_ - ((NI) 1));
23160 							i_4 = ((NI) 0);
23161 							{
23162 								while (1) {
23163 									if (!(i_4 < colontmp__3)) goto LA12;
23164 									i_3 = i_4;
23165 									{
23166 										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_;
23167 										val = ((NI) ((*(*colontmp__2)._kind_6.sons->data[i_3])._kind_1.intVal));
23168 										incl__pureZcollectionsZintsets_55((&coveredCases), val);
23169 									}
23170 									goto LA13_;
23171 									LA15_: ;
23172 									{
23173 										if (!((*(*colontmp__2)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA18_;
23174 										{
23175 											NI64 i_5;
23176 											NI64 colontmp__4;
23177 											NI64 colontmp__5;
23178 											NI64 res;
23179 											i_5 = (NI64)0;
23180 											colontmp__4 = (NI64)0;
23181 											colontmp__5 = (NI64)0;
23182 											colontmp__4 = (*(*(*colontmp__2)._kind_6.sons->data[i_3])._kind_6.sons->data[((NI) 0)])._kind_1.intVal;
23183 											colontmp__5 = (*(*(*colontmp__2)._kind_6.sons->data[i_3])._kind_6.sons->data[((NI) 1)])._kind_1.intVal;
23184 											res = colontmp__4;
23185 											{
23186 												while (1) {
23187 													if (!(res <= colontmp__5)) goto LA22;
23188 													i_5 = res;
23189 													val = ((NI) (i_5));
23190 													incl__pureZcollectionsZintsets_55((&coveredCases), val);
23191 													res += ((NI) 1);
23192 												} LA22: ;
23193 											}
23194 										}
23195 									}
23196 									goto LA13_;
23197 									LA18_: ;
23198 									LA13_: ;
23199 									i_4 += ((NI) 1);
23200 								} LA12: ;
23201 							}
23202 						}
23203 					}
23204 					LA7_: ;
23205 				}
23206 				i_2 += ((NI) 1);
23207 			} LA3: ;
23208 		}
23209 	}
23210 	nimZeroMem((void*)(&T23_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
23211 	getIntSetOfType__sem_3930(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ, (&T23_));
23212 	nimZeroMem((void*)(&T24_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
23213 	minus___sem_4040((&T23_), (&coveredCases), (&T24_));
23214 	result = renderAsType__sem_3988((&T24_), (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
23215 	return result;
23216 }
N_NIMCALL(void,semRecordCase__sem_4067)23217 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) {
23218 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
23219 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA covered;
23220 	NIM_BOOL chckCovered;
23221 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
23222 {	a = copyNode__ast_4336(n);
23223 	checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
23224 	semRecordNodeAux__sem_3922(c, (*n)._kind_6.sons->data[((NI) 0)], check, pos, a, rectype, NIM_TRUE);
23225 	{
23226 		if (!!(((*(*a)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA3_;
23227 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_457), TM__rF9caJawfOjYTjsgLVUSGFA_458);
23228 		goto BeforeRet_;
23229 	}
23230 	LA3_: ;
23231 	(*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 20)) & 63);
23232 	covered = toInt128__types_1378(((NI) 0));
23233 	chckCovered = NIM_FALSE;
23234 	typ = skipTypes__ast_3735((*(*a)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_459);
23235 	switch ((*typ).kind) {
23236 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
23237 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
23238 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
23239 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
23240 	{
23241 		chckCovered = NIM_TRUE;
23242 	}
23243 	break;
23244 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
23245 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
23246 	{
23247 	}
23248 	break;
23249 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
23250 	{
23251 		{
23252 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
23253 			T10_ = NIM_NIL;
23254 			T10_ = skipTypes__ast_3735((*typ).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_70);
23255 			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_;
23256 			chckCovered = NIM_TRUE;
23257 		}
23258 		LA11_: ;
23259 	}
23260 	break;
23261 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30):
23262 	{
23263 		errorUndeclaredIdentifier__lookups_1199(c, (*(*n)._kind_6.sons->data[((NI) 0)]).info, (*(*(*typ).sym).name).s, ((NimStringDesc*) NIM_NIL));
23264 	}
23265 	break;
23266 	default:
23267 	{
23268 		{
23269 			NIM_BOOL T17_;
23270 			T17_ = (NIM_BOOL)0;
23271 			T17_ = isOrdinalType__types_299(typ, NIM_FALSE);
23272 			if (!!(T17_)) goto LA18_;
23273 			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);
23274 		}
23275 		LA18_: ;
23276 	}
23277 	break;
23278 	}
23279 	{
23280 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T22_;
23281 		NIM_BOOL T23_;
23282 		NimStringDesc* T26_;
23283 		T22_ = firstOrd__types_1353((*(*c).graph).config, typ);
23284 		T23_ = (NIM_BOOL)0;
23285 		T23_ = eqeq___int495056_759(T22_, IL64(0));
23286 		if (!!(T23_)) goto LA24_;
23287 		T26_ = NIM_NIL;
23288 		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);
23289 appendString(T26_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_462));
23290 appendString(T26_, (*(*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s);
23291 appendString(T26_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_463));
23292 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_464, NIM_FALSE);
23293 	}
23294 	goto LA20_;
23295 	LA24_: ;
23296 	{
23297 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T28_;
23298 		NIM_BOOL T29_;
23299 		NimStringDesc* T32_;
23300 		T28_ = lengthOrd__types_1652((*(*c).graph).config, typ);
23301 		T29_ = (NIM_BOOL)0;
23302 		T29_ = lt___int495056_738(IL64(32767), T28_);
23303 		if (!T29_) goto LA30_;
23304 		T32_ = NIM_NIL;
23305 		T32_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_465), (*(*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s);
23306 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T32_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_466, NIM_FALSE);
23307 	}
23308 	goto LA20_;
23309 	LA30_: ;
23310 	LA20_: ;
23311 	{
23312 		NI i;
23313 		NI colontmp_;
23314 		NI i_2;
23315 		i = (NI)0;
23316 		colontmp_ = (NI)0;
23317 		colontmp_ = len__ast_3198(n);
23318 		i_2 = ((NI) 1);
23319 		{
23320 			while (1) {
23321 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
23322 				NI T46_;
23323 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T47_;
23324 				if (!(i_2 < colontmp_)) goto LA35;
23325 				i = i_2;
23326 				b = copyTree__ast_4431((*n)._kind_6.sons->data[i]);
23327 				add__ast_4797(a, b);
23328 				switch ((*(*n)._kind_6.sons->data[i]).kind) {
23329 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
23330 				{
23331 					checkMinSonsLen__semdata_1084(b, ((NI) 2), (*(*c).graph).config);
23332 					semCaseBranch__sem_3791(c, a, b, i, (&covered));
23333 				}
23334 				break;
23335 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
23336 				{
23337 					checkSonsLen__semdata_1077(b, ((NI) 1), (*(*c).graph).config);
23338 					{
23339 						NIM_BOOL T40_;
23340 						tyObject_Int128__9a9axPfb75jdWY25AamJewkA T42_;
23341 						T40_ = (NIM_BOOL)0;
23342 						T40_ = chckCovered;
23343 						if (!(T40_)) goto LA41_;
23344 						T42_ = toCover__sem_3884(c, (*(*a)._kind_6.sons->data[((NI) 0)]).typ);
23345 						T40_ = eqeq___int495056_313(covered, T42_);
23346 						LA41_: ;
23347 						if (!T40_) goto LA43_;
23348 						liMessage__msgs_1118((*(*c).graph).config, (*b).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 44), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_471, NIM_FALSE);
23349 					}
23350 					LA43_: ;
23351 					chckCovered = NIM_FALSE;
23352 				}
23353 				break;
23354 				default:
23355 				{
23356 					illFormedAst__semdata_1071(n, (*(*c).graph).config);
23357 				}
23358 				break;
23359 				}
23360 				T46_ = (NI)0;
23361 				T46_ = len__ast_3198(b);
23362 				delSon__ast_4313(b, (NI)(T46_ - ((NI) 1)));
23363 				T47_ = NIM_NIL;
23364 				T47_ = lastSon__ast_4832((*n)._kind_6.sons->data[i]);
23365 				semRecordNodeAux__sem_3922(c, T47_, check, pos, b, rectype, NIM_TRUE);
23366 				i_2 += ((NI) 1);
23367 			} LA35: ;
23368 		}
23369 	}
23370 	{
23371 		NIM_BOOL T50_;
23372 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T52_;
23373 		NIM_BOOL T53_;
23374 		T50_ = (NIM_BOOL)0;
23375 		T50_ = chckCovered;
23376 		if (!(T50_)) goto LA51_;
23377 		T52_ = toCover__sem_3884(c, (*(*a)._kind_6.sons->data[((NI) 0)]).typ);
23378 		T53_ = (NIM_BOOL)0;
23379 		T53_ = eqeq___int495056_313(covered, T52_);
23380 		T50_ = !(T53_);
23381 		LA51_: ;
23382 		if (!T50_) goto LA54_;
23383 		{
23384 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T58_;
23385 			NimStringDesc* T61_;
23386 			NimStringDesc* T62_;
23387 			T58_ = NIM_NIL;
23388 			T58_ = skipTypes__ast_3735((*(*a)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_472);
23389 			if (!((*T58_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14))) goto LA59_;
23390 			T61_ = NIM_NIL;
23391 			T61_ = formatMissingEnums__sem_4020(c, a);
23392 			T62_ = NIM_NIL;
23393 			T62_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_473), T61_);
23394 			liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T62_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_490, NIM_FALSE);
23395 		}
23396 		goto LA56_;
23397 		LA59_: ;
23398 		{
23399 			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);
23400 		}
23401 		LA56_: ;
23402 	}
23403 	LA54_: ;
23404 	add__ast_4797(father, a);
23405 	}BeforeRet_: ;
23406 }
N_NIMCALL(void,semRecordNodeAux__sem_3922)23407 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) {
23408 {	{
23409 		if (!(n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
23410 		goto BeforeRet_;
23411 	}
23412 	LA3_: ;
23413 	switch ((*n).kind) {
23414 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 140):
23415 	{
23416 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
23417 		branch = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
23418 		{
23419 			NI i;
23420 			NI colontmp_;
23421 			NI i_2;
23422 			i = (NI)0;
23423 			colontmp_ = (NI)0;
23424 			colontmp_ = len__ast_3198(n);
23425 			i_2 = ((NI) 0);
23426 			{
23427 				while (1) {
23428 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
23429 					NI idx;
23430 					if (!(i_2 < colontmp_)) goto LA8;
23431 					i = i_2;
23432 					it = (*n)._kind_6.sons->data[i];
23433 					{
23434 						if (!(it == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA11_;
23435 						illFormedAst__semdata_1071(n, (*(*c).graph).config);
23436 					}
23437 					LA11_: ;
23438 					idx = ((NI) 1);
23439 					switch ((*it).kind) {
23440 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
23441 					{
23442 						checkSonsLen__semdata_1077(it, ((NI) 2), (*(*c).graph).config);
23443 						{
23444 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
23445 							if (!((*c).inGenericContext == ((NI) 0))) goto LA16_;
23446 							e = semConstBoolExpr__sem_2877(c, (*it)._kind_6.sons->data[((NI) 0)]);
23447 							{
23448 								if (!!(((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA20_;
23449 							}
23450 							goto LA18_;
23451 							LA20_: ;
23452 							{
23453 								NIM_BOOL T23_;
23454 								T23_ = (NIM_BOOL)0;
23455 								T23_ = !(((*e)._kind_1.intVal == IL64(0)));
23456 								if (!(T23_)) goto LA24_;
23457 								T23_ = (branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
23458 								LA24_: ;
23459 								if (!T23_) goto LA25_;
23460 								branch = (*it)._kind_6.sons->data[((NI) 1)];
23461 							}
23462 							goto LA18_;
23463 							LA25_: ;
23464 							LA18_: ;
23465 						}
23466 						goto LA14_;
23467 						LA16_: ;
23468 						{
23469 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T28_;
23470 							T28_ = NIM_NIL;
23471 							T28_ = semExprWithType__sem_56(c, (*it)._kind_6.sons->data[((NI) 0)], 0);
23472 							asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 0)]), forceBool__sem_2869(c, T28_));
23473 						}
23474 						LA14_: ;
23475 					}
23476 					break;
23477 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
23478 					{
23479 						checkSonsLen__semdata_1077(it, ((NI) 1), (*(*c).graph).config);
23480 						{
23481 							if (!(branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA32_;
23482 							branch = (*it)._kind_6.sons->data[((NI) 0)];
23483 						}
23484 						LA32_: ;
23485 						idx = ((NI) 0);
23486 					}
23487 					break;
23488 					default:
23489 					{
23490 						illFormedAst__semdata_1071(n, (*(*c).graph).config);
23491 					}
23492 					break;
23493 					}
23494 					{
23495 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA newCheck;
23496 						NI newPos;
23497 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newf;
23498 						if (!(((NI) 0) < (*c).inGenericContext)) goto LA37_;
23499 						nimZeroMem((void*)(&newCheck), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
23500 						assign__types_3920((&newCheck), (&(*check)));
23501 						newPos = (*pos);
23502 						newf = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
23503 						semRecordNodeAux__sem_3922(c, (*it)._kind_6.sons->data[idx], (&newCheck), (&newPos), newf, rectype, hasCaseFields);
23504 						{
23505 							NI T41_;
23506 							T41_ = (NI)0;
23507 							T41_ = len__ast_3198(newf);
23508 							if (!(T41_ == ((NI) 1))) goto LA42_;
23509 							asgnRef((void**) (&(*it)._kind_6.sons->data[idx]), (*newf)._kind_6.sons->data[((NI) 0)]);
23510 						}
23511 						goto LA39_;
23512 						LA42_: ;
23513 						{
23514 							asgnRef((void**) (&(*it)._kind_6.sons->data[idx]), newf);
23515 						}
23516 						LA39_: ;
23517 					}
23518 					LA37_: ;
23519 					i_2 += ((NI) 1);
23520 				} LA8: ;
23521 			}
23522 		}
23523 		{
23524 			if (!(((NI) 0) < (*c).inGenericContext)) goto LA47_;
23525 			add__ast_4797(father, n);
23526 		}
23527 		goto LA45_;
23528 		LA47_: ;
23529 		{
23530 			if (!!((branch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA50_;
23531 			semRecordNodeAux__sem_3922(c, branch, check, pos, father, rectype, hasCaseFields);
23532 		}
23533 		goto LA45_;
23534 		LA50_: ;
23535 		{
23536 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T55_;
23537 			if (!((*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88) || (*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA53_;
23538 			T55_ = NIM_NIL;
23539 			T55_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
23540 			add__ast_4797(father, T55_);
23541 		}
23542 		goto LA45_;
23543 		LA53_: ;
23544 		LA45_: ;
23545 	}
23546 	break;
23547 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
23548 	{
23549 		semRecordCase__sem_4067(c, n, check, pos, father, rectype);
23550 	}
23551 	break;
23552 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
23553 	{
23554 		{
23555 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T62_;
23556 			if (!!(((*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138)))) goto LA60_;
23557 			T62_ = NIM_NIL;
23558 			T62_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
23559 			add__ast_4797(father, T62_);
23560 		}
23561 		LA60_: ;
23562 	}
23563 	break;
23564 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
23565 	{
23566 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
23567 		{
23568 			if (!((*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138))) goto LA66_;
23569 			a = father;
23570 		}
23571 		goto LA64_;
23572 		LA66_: ;
23573 		{
23574 			a = copyNode__ast_4336(n);
23575 		}
23576 		LA64_: ;
23577 		{
23578 			NI i_3;
23579 			NI colontmp__2;
23580 			NI i_4;
23581 			i_3 = (NI)0;
23582 			colontmp__2 = (NI)0;
23583 			colontmp__2 = len__ast_3198(n);
23584 			i_4 = ((NI) 0);
23585 			{
23586 				while (1) {
23587 					if (!(i_4 < colontmp__2)) goto LA71;
23588 					i_3 = i_4;
23589 					semRecordNodeAux__sem_3922(c, (*n)._kind_6.sons->data[i_3], check, pos, a, rectype, hasCaseFields);
23590 					i_4 += ((NI) 1);
23591 				} LA71: ;
23592 			}
23593 		}
23594 		{
23595 			if (!!((a == father))) goto LA74_;
23596 			add__ast_4797(father, a);
23597 		}
23598 		LA74_: ;
23599 	}
23600 	break;
23601 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35):
23602 	{
23603 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
23604 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
23605 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* fieldOwner;
23606 		checkMinSonsLen__semdata_1084(n, ((NI) 3), (*(*c).graph).config);
23607 		a_2 = NIM_NIL;
23608 		{
23609 			NIM_BOOL T79_;
23610 			NI T81_;
23611 			T79_ = (NIM_BOOL)0;
23612 			T79_ = !(((*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138)));
23613 			if (!(T79_)) goto LA80_;
23614 			T81_ = (NI)0;
23615 			T81_ = len__ast_3198(n);
23616 			T79_ = (((NI) 4) <= T81_);
23617 			LA80_: ;
23618 			if (!T79_) goto LA82_;
23619 			a_2 = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
23620 		}
23621 		goto LA77_;
23622 		LA82_: ;
23623 		{
23624 			a_2 = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
23625 		}
23626 		LA77_: ;
23627 		{
23628 			NI T87_;
23629 			NI T90_;
23630 			T87_ = (NI)0;
23631 			T87_ = len__ast_3198(n);
23632 			if (!!(((*(*n)._kind_6.sons->data[(NI)(T87_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA88_;
23633 			T90_ = (NI)0;
23634 			T90_ = len__ast_3198(n);
23635 			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);
23636 		}
23637 		LA88_: ;
23638 		typ = NIM_NIL;
23639 		{
23640 			NI T93_;
23641 			T93_ = (NI)0;
23642 			T93_ = len__ast_3198(n);
23643 			if (!((*(*n)._kind_6.sons->data[(NI)(T93_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA94_;
23644 			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);
23645 			typ = errorType__semdata_1002(c);
23646 		}
23647 		goto LA91_;
23648 		LA94_: ;
23649 		{
23650 			NI T97_;
23651 			T97_ = (NI)0;
23652 			T97_ = len__ast_3198(n);
23653 			typ = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[(NI)(T97_ - ((NI) 2))], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
23654 			propagateToOwner__ast_4219(rectype, typ, NIM_TRUE);
23655 		}
23656 		LA91_: ;
23657 		{
23658 			if (!(((NI) 0) < (*c).inGenericContext)) goto LA100_;
23659 			fieldOwner = getCurrOwner__semdata_315(c);
23660 		}
23661 		goto LA98_;
23662 		LA100_: ;
23663 		{
23664 			fieldOwner = (*rectype).sym;
23665 		}
23666 		LA98_: ;
23667 		{
23668 			NI i_5;
23669 			NI colontmp__3;
23670 			NI T104_;
23671 			NI i_6;
23672 			i_5 = (NI)0;
23673 			colontmp__3 = (NI)0;
23674 			T104_ = (NI)0;
23675 			T104_ = len__ast_3198(n);
23676 			colontmp__3 = (NI)(T104_ - ((NI) 2));
23677 			i_6 = ((NI) 0);
23678 			{
23679 				while (1) {
23680 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
23681 					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
23682 					if (!(i_6 < colontmp__3)) goto LA106;
23683 					i_5 = i_6;
23684 					f = semIdentWithPragma__sem_476(c, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19), (*n)._kind_6.sons->data[i_5], 2);
23685 					{
23686 						if (!((*(*n)._kind_6.sons->data[i_5]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31))) goto LA109_;
23687 						info = (*(*(*n)._kind_6.sons->data[i_5])._kind_6.sons->data[((NI) 1)]).info;
23688 					}
23689 					goto LA107_;
23690 					LA109_: ;
23691 					{
23692 						info = (*(*n)._kind_6.sons->data[i_5]).info;
23693 					}
23694 					LA107_: ;
23695 					suggestSym__sigmatch_5375((*c).graph, info, f, &(*(*c).graph).usageSym, NIM_TRUE);
23696 					asgnRef((void**) (&(*f).typ), typ);
23697 					(*f).position = (*pos);
23698 					(*f).options = (*(*(*c).graph).config).options;
23699 					{
23700 						NIM_BOOL T114_;
23701 						NIM_BOOL T115_;
23702 						NIM_BOOL T116_;
23703 						T114_ = (NIM_BOOL)0;
23704 						T115_ = (NIM_BOOL)0;
23705 						T116_ = (NIM_BOOL)0;
23706 						T116_ = !((fieldOwner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
23707 						if (!(T116_)) goto LA117_;
23708 						T116_ = !(((192 & (*fieldOwner).flags) == 0));
23709 						LA117_: ;
23710 						T115_ = T116_;
23711 						if (!(T115_)) goto LA118_;
23712 						T115_ = !(hasCaseFields);
23713 						LA118_: ;
23714 						T114_ = T115_;
23715 						if (!(T114_)) goto LA119_;
23716 						T114_ = ((*f).loc.r == ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
23717 						LA119_: ;
23718 						if (!T114_) goto LA120_;
23719 						asgnRef((void**) (&(*f).loc.r), rope__ropes_109((*(*f).name).s));
23720 						(*f).flags = ((*f).flags | (192 & (*fieldOwner).flags));
23721 					}
23722 					LA120_: ;
23723 					(*pos) += ((NI) 1);
23724 					{
23725 						NIM_BOOL T124_;
23726 						NimStringDesc* T127_;
23727 						T124_ = (NIM_BOOL)0;
23728 						T124_ = containsOrIncl__astalgo_402(check, (*(*f).name).id);
23729 						if (!T124_) goto LA125_;
23730 						T127_ = NIM_NIL;
23731 						T127_ = rawNewString(((*(*f).name).s ? (*(*f).name).s->Sup.len : 0) + 23);
23732 appendString(T127_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_150));
23733 appendString(T127_, (*(*f).name).s);
23734 appendString(T127_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
23735 						liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T127_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_496, NIM_FALSE);
23736 					}
23737 					LA125_: ;
23738 					{
23739 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T132_;
23740 						if (!((*a_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA130_;
23741 						T132_ = NIM_NIL;
23742 						T132_ = newSymNode__ast_3716(f);
23743 						add__ast_4797(father, T132_);
23744 					}
23745 					goto LA128_;
23746 					LA130_: ;
23747 					{
23748 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T134_;
23749 						T134_ = NIM_NIL;
23750 						T134_ = newSymNode__ast_3716(f);
23751 						add__ast_4797(a_2, T134_);
23752 					}
23753 					LA128_: ;
23754 					{
23755 						NIM_BOOL T137_;
23756 						T137_ = (NIM_BOOL)0;
23757 						T137_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
23758 						if (!(T137_)) goto LA138_;
23759 						T137_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
23760 						LA138_: ;
23761 						if (!T137_) goto LA139_;
23762 						nep1CheckDefImpl__linter_110((*(*c).graph).config, (*f).info, f, (*f).kind);
23763 					}
23764 					LA139_: ;
23765 					i_6 += ((NI) 1);
23766 				} LA106: ;
23767 			}
23768 		}
23769 		{
23770 			if (!!(((*a_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA143_;
23771 			add__ast_4797(father, a_2);
23772 		}
23773 		LA143_: ;
23774 	}
23775 	break;
23776 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
23777 	{
23778 		{
23779 			NIM_BOOL T148_;
23780 			NimStringDesc* T151_;
23781 			T148_ = (NIM_BOOL)0;
23782 			T148_ = containsOrIncl__astalgo_402(check, (*(*(*n)._kind_4.sym).name).id);
23783 			if (!T148_) goto LA149_;
23784 			T151_ = NIM_NIL;
23785 			T151_ = rawNewString(((*(*(*n)._kind_4.sym).name).s ? (*(*(*n)._kind_4.sym).name).s->Sup.len : 0) + 23);
23786 appendString(T151_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_150));
23787 appendString(T151_, (*(*(*n)._kind_4.sym).name).s);
23788 appendString(T151_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
23789 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T151_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_497, NIM_FALSE);
23790 		}
23791 		LA149_: ;
23792 		add__ast_4797(father, n);
23793 	}
23794 	break;
23795 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
23796 	{
23797 		{
23798 			if (!((*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88) || (*father).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA155_;
23799 			add__ast_4797(father, n);
23800 		}
23801 		LA155_: ;
23802 	}
23803 	break;
23804 	default:
23805 	{
23806 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
23807 	}
23808 	break;
23809 	}
23810 	}BeforeRet_: ;
23811 }
N_NIMCALL(void,initConstrContext__sem_19652)23812 N_LIB_PRIVATE N_NIMCALL(void, initConstrContext__sem_19652)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initExpr, tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw* Result) {
23813 	unsureAsgnRef((void**)&(*Result).typ, NIM_NIL);
23814 	unsureAsgnRef((void**)&(*Result).initExpr, NIM_NIL);
23815 	(*Result).needsFullInit = 0;
23816 	unsureAsgnRef((void**)&(*Result).missingFields, NIM_NIL);
23817 	unsureAsgnRef((void**) (&(*Result).typ), t);
23818 	unsureAsgnRef((void**) (&(*Result).initExpr), initExpr);
23819 	(*Result).needsFullInit = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 19))&63U)))!=0);
23820 }
N_NIMCALL(void,mergeInitStatus__sem_19071)23821 N_LIB_PRIVATE N_NIMCALL(void, mergeInitStatus__sem_19071)(tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ* existing, tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ newStatus) {
23822 	switch (newStatus) {
23823 	case ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 4):
23824 	{
23825 		(*existing) = newStatus;
23826 	}
23827 	break;
23828 	case ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 2):
23829 	{
23830 		{
23831 			if (!((11 &((NU8)1<<((NU)((*existing))&7U)))!=0)) goto LA5_;
23832 			(*existing) = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 2);
23833 		}
23834 		LA5_: ;
23835 	}
23836 	break;
23837 	case ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3):
23838 	{
23839 		{
23840 			if (!((*existing) == ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 0))) goto LA10_;
23841 			(*existing) = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3);
23842 		}
23843 		goto LA8_;
23844 		LA10_: ;
23845 		{
23846 			if (!((*existing) == ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 1))) goto LA13_;
23847 			(*existing) = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 2);
23848 		}
23849 		goto LA8_;
23850 		LA13_: ;
23851 		LA8_: ;
23852 	}
23853 	break;
23854 	case ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 1):
23855 	{
23856 		{
23857 			if (!((*existing) == ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 0))) goto LA18_;
23858 			(*existing) = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 1);
23859 		}
23860 		goto LA16_;
23861 		LA18_: ;
23862 		{
23863 			if (!((*existing) == ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3))) goto LA21_;
23864 			(*existing) = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 2);
23865 		}
23866 		goto LA16_;
23867 		LA21_: ;
23868 		LA16_: ;
23869 	}
23870 	break;
23871 	case ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 0):
23872 	{
23873 	}
23874 	break;
23875 	}
23876 }
N_NIMCALL(void,invalidObjConstr__sem_19105)23877 N_LIB_PRIVATE N_NIMCALL(void, invalidObjConstr__sem_19105)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
23878 	{
23879 		NIM_BOOL T3_;
23880 		NIM_BOOL T4_;
23881 		T3_ = (NIM_BOOL)0;
23882 		T4_ = (NIM_BOOL)0;
23883 		T4_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29));
23884 		if (!(T4_)) goto LA5_;
23885 		T4_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2));
23886 		LA5_: ;
23887 		T3_ = T4_;
23888 		if (!(T3_)) goto LA6_;
23889 		T3_ = ((NU8)((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s->data[((NI) 0)]) == (NU8)(58));
23890 		LA6_: ;
23891 		if (!T3_) goto LA7_;
23892 		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);
23893 	}
23894 	goto LA1_;
23895 	LA7_: ;
23896 	{
23897 		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);
23898 	}
23899 	LA1_: ;
23900 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,locateFieldInInitExpr__sem_19118)23901 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, locateFieldInInitExpr__sem_19118)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initExpr) {
23902 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
23903 	NI fieldId;
23904 {	result = NIM_NIL;
23905 	fieldId = (*(*field).name).id;
23906 	{
23907 		NI i;
23908 		NI colontmp_;
23909 		NI i_2;
23910 		i = (NI)0;
23911 		colontmp_ = (NI)0;
23912 		colontmp_ = len__ast_3198(initExpr);
23913 		i_2 = ((NI) 1);
23914 		{
23915 			while (1) {
23916 				if (!(i_2 < colontmp_)) goto LA3;
23917 				i = i_2;
23918 				{
23919 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* assignment;
23920 					assignment = (*initExpr)._kind_6.sons->data[i];
23921 					{
23922 						if (!!(((*assignment).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA7_;
23923 						invalidObjConstr__sem_19105(c, assignment);
23924 						goto LA4;
23925 					}
23926 					LA7_: ;
23927 					{
23928 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T11_;
23929 						T11_ = NIM_NIL;
23930 						T11_ = considerQuotedIdent__lookups_28(c, (*assignment)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
23931 						if (!(fieldId == (*T11_).id)) goto LA12_;
23932 						result = assignment;
23933 						goto BeforeRet_;
23934 					}
23935 					LA12_: ;
23936 				} LA4: ;
23937 				i_2 += ((NI) 1);
23938 			} LA3: ;
23939 		}
23940 	}
23941 	}BeforeRet_: ;
23942 	return result;
23943 }
N_NIMCALL(NimStringDesc *,fieldsPresentInInitExpr__sem_19294)23944 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, fieldsPresentInInitExpr__sem_19294)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsRecList, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initExpr) {
23945 	NimStringDesc* result;
23946 	result = NIM_NIL;
23947 	result = ((NimStringDesc*) NIM_NIL);
23948 	{
23949 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
23950 		field = NIM_NIL;
23951 		{
23952 			if (!((*fieldsRecList).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA4_;
23953 			field = fieldsRecList;
23954 			{
23955 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
23956 				NimStringDesc* T15_;
23957 				T8_ = NIM_NIL;
23958 				T8_ = locateFieldInInitExpr__sem_19118(c, (*field)._kind_4.sym, initExpr);
23959 				if (!!((T8_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA9_;
23960 				{
23961 					if (!!(((result ? result->Sup.len : 0) == ((NI) 0)))) goto LA13_;
23962 					result = resizeString(result, 2);
23963 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
23964 				}
23965 				LA13_: ;
23966 				T15_ = NIM_NIL;
23967 				T15_ = rawNewString(((*(*(*field)._kind_4.sym).name).s ? (*(*(*field)._kind_4.sym).name).s->Sup.len : 0) + 2);
23968 appendString(T15_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
23969 appendString(T15_, (*(*(*field)._kind_4.sym).name).s);
23970 appendString(T15_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
23971 				result = resizeString(result, (T15_ ? T15_->Sup.len : 0) + 0);
23972 appendString(result, T15_);
23973 			}
23974 			LA9_: ;
23975 		}
23976 		goto LA2_;
23977 		LA4_: ;
23978 		{
23979 			{
23980 				if (!!(((*fieldsRecList).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138)))) goto LA19_;
23981 				failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_506));
23982 			}
23983 			LA19_: ;
23984 			{
23985 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field_2;
23986 				field_2 = NIM_NIL;
23987 				{
23988 					NI i;
23989 					NI colontmp_;
23990 					NI i_2;
23991 					i = (NI)0;
23992 					colontmp_ = (NI)0;
23993 					colontmp_ = safeLen__ast_3191(fieldsRecList);
23994 					i_2 = ((NI) 0);
23995 					{
23996 						while (1) {
23997 							if (!(i_2 < colontmp_)) goto LA24;
23998 							i = i_2;
23999 							field_2 = (*fieldsRecList)._kind_6.sons->data[i];
24000 							{
24001 								{
24002 									if (!!(((*field_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA28_;
24003 									goto LA25;
24004 								}
24005 								LA28_: ;
24006 								field = field_2;
24007 								{
24008 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T32_;
24009 									NimStringDesc* T39_;
24010 									T32_ = NIM_NIL;
24011 									T32_ = locateFieldInInitExpr__sem_19118(c, (*field)._kind_4.sym, initExpr);
24012 									if (!!((T32_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA33_;
24013 									{
24014 										if (!!(((result ? result->Sup.len : 0) == ((NI) 0)))) goto LA37_;
24015 										result = resizeString(result, 2);
24016 appendString(result, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
24017 									}
24018 									LA37_: ;
24019 									T39_ = NIM_NIL;
24020 									T39_ = rawNewString(((*(*(*field)._kind_4.sym).name).s ? (*(*(*field)._kind_4.sym).name).s->Sup.len : 0) + 2);
24021 appendString(T39_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
24022 appendString(T39_, (*(*(*field)._kind_4.sym).name).s);
24023 appendString(T39_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
24024 									result = resizeString(result, (T39_ ? T39_->Sup.len : 0) + 0);
24025 appendString(result, T39_);
24026 								}
24027 								LA33_: ;
24028 							} LA25: ;
24029 							i_2 += ((NI) 1);
24030 						} LA24: ;
24031 					}
24032 				}
24033 			}
24034 		}
24035 		LA2_: ;
24036 	}
24037 	return result;
24038 }
N_INLINE(void,pushSafePoint)24039 static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
24040 	(*s).prev = excHandler__system_2565;
24041 	excHandler__system_2565 = s;
24042 }
N_INLINE(void,popSafePoint)24043 static N_INLINE(void, popSafePoint)(void) {
24044 	excHandler__system_2565 = (*excHandler__system_2565).prev;
24045 }
N_INLINE(Exception *,nimBorrowCurrentException)24046 static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
24047 	Exception* result;
24048 	result = NIM_NIL;
24049 	result = currException__system_2566;
24050 	return result;
24051 }
N_INLINE(void,popCurrentException)24052 static N_INLINE(void, popCurrentException)(void) {
24053 	asgnRef((void**) (&currException__system_2566), (*currException__system_2566).up);
24054 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,tryConstExpr__sem_582)24055 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryConstExpr__sem_582)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
24056 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* volatile result;
24057 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
24058 	NI oldErrorCount;
24059 	NI oldErrorMax;
24060 	tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA oldErrorOutputs;
24061 	TSafePoint TM__rF9caJawfOjYTjsgLVUSGFA_511;
24062 {	result = NIM_NIL;
24063 	e = semExprWithType__sem_56(c, n, 0);
24064 	{
24065 		if (!(e == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
24066 		goto BeforeRet_;
24067 	}
24068 	LA3_: ;
24069 	result = getConstExpr__semfold_81((*c).module, e, (*c).Sup.idgen, (*c).graph);
24070 	{
24071 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA7_;
24072 		goto BeforeRet_;
24073 	}
24074 	LA7_: ;
24075 	oldErrorCount = (*(*(*c).graph).config).errorCounter;
24076 	oldErrorMax = (*(*(*c).graph).config).errorMax;
24077 	oldErrorOutputs = (*(*(*c).graph).config).m.errorOutputs;
24078 	(*(*(*c).graph).config).m.errorOutputs = 0;
24079 	(*(*(*c).graph).config).errorMax = ((NI) 2147483647);
24080 	pushSafePoint(&TM__rF9caJawfOjYTjsgLVUSGFA_511);
24081 	TM__rF9caJawfOjYTjsgLVUSGFA_511.status = _setjmp(TM__rF9caJawfOjYTjsgLVUSGFA_511.context);
24082 	if (TM__rF9caJawfOjYTjsgLVUSGFA_511.status == 0) {
24083 	result = evalConstExpr__vm_13746((*c).module, (*c).Sup.idgen, (*c).graph, e);
24084 	{
24085 		NIM_BOOL T11_;
24086 		T11_ = (NIM_BOOL)0;
24087 		T11_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
24088 		if (T11_) goto LA12_;
24089 		T11_ = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
24090 		LA12_: ;
24091 		if (!T11_) goto LA13_;
24092 		result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
24093 	}
24094 	goto LA9_;
24095 	LA13_: ;
24096 	{
24097 		result = fixupTypeAfterEval__sem_570(c, result, e);
24098 	}
24099 	LA9_: ;
24100 	popSafePoint();
24101 	}
24102 	else {
24103 		popSafePoint();
24104 		if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIerecoverableerror__IxbcvonC7TQkv166Uvdu1g_))) {
24105 			TM__rF9caJawfOjYTjsgLVUSGFA_511.status = 0;
24106 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
24107 			popCurrentException();
24108 		}
24109 	}
24110 	if (TM__rF9caJawfOjYTjsgLVUSGFA_511.status != 0) reraiseException();
24111 	(*(*(*c).graph).config).errorCounter = oldErrorCount;
24112 	(*(*(*c).graph).config).errorMax = oldErrorMax;
24113 	(*(*(*c).graph).config).m.errorOutputs = oldErrorOutputs;
24114 	}BeforeRet_: ;
24115 	return result;
24116 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprFlagDispatched__sem_641)24117 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprFlagDispatched__sem_641)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
24118 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
24119 {	result = NIM_NIL;
24120 	{
24121 		if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 4))&31U)))!=0)) goto LA3_;
24122 		{
24123 			if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 6))&31U)))!=0)) goto LA7_;
24124 			result = tryConstExpr__sem_582(c, n);
24125 			goto BeforeRet_;
24126 		}
24127 		goto LA5_;
24128 		LA7_: ;
24129 		{
24130 			result = semConstExpr__sem_611(c, n);
24131 			goto BeforeRet_;
24132 		}
24133 		LA5_: ;
24134 	}
24135 	goto LA1_;
24136 	LA3_: ;
24137 	{
24138 		result = semExprWithType__sem_56(c, n, flags);
24139 		{
24140 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated;
24141 			if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 5))&31U)))!=0)) goto LA13_;
24142 			evaluated = getConstExpr__semfold_81((*c).module, result, (*c).Sup.idgen, (*c).graph);
24143 			{
24144 				if (!!((evaluated == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA17_;
24145 				result = evaluated;
24146 				goto BeforeRet_;
24147 			}
24148 			LA17_: ;
24149 			evaluated = evalAtCompileTime__sem_117(c, result);
24150 			{
24151 				if (!!((evaluated == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA21_;
24152 				result = evaluated;
24153 				goto BeforeRet_;
24154 			}
24155 			LA21_: ;
24156 		}
24157 		LA13_: ;
24158 	}
24159 	LA1_: ;
24160 	}BeforeRet_: ;
24161 	return result;
24162 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,fitNodeConsiderViewType__sem_212)24163 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) {
24164 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
24165 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
24166 	result = NIM_NIL;
24167 	a = fitNode__sem_70(c, formal, arg, info);
24168 	{
24169 		if (!((*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*formal).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA3_;
24170 		result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64), (*a).info, formal);
24171 		add__ast_4797(result, a);
24172 		(*formal).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
24173 	}
24174 	goto LA1_;
24175 	LA3_: ;
24176 	{
24177 		result = a;
24178 	}
24179 	LA1_: ;
24180 	return result;
24181 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConstrField__sem_19139)24182 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) {
24183 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
24184 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* assignment;
24185 {	result = NIM_NIL;
24186 	assignment = locateFieldInInitExpr__sem_19118(c, field, initExpr);
24187 	{
24188 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* initValue;
24189 		if (!!((assignment == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
24190 		{
24191 			if (!(((*assignment).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0)) goto LA7_;
24192 			result = (*assignment)._kind_6.sons->data[((NI) 1)];
24193 			goto BeforeRet_;
24194 		}
24195 		LA7_: ;
24196 		{
24197 			NIM_BOOL T11_;
24198 			tyArray__nHXaesL0DJZHyVS07ARPRA T14_;
24199 			NimStringDesc* T15_;
24200 			T11_ = (NIM_BOOL)0;
24201 			T11_ = fieldVisible__sigmatch_4944(c, field);
24202 			if (!!(T11_)) goto LA12_;
24203 			nimZeroMem((void*)T14_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
24204 			T14_[0] = copyString((*(*field).name).s);
24205 			T15_ = NIM_NIL;
24206 			T15_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_509), T14_, 1);
24207 			liMessage__msgs_1118((*(*c).graph).config, (*initExpr).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T15_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_510, NIM_FALSE);
24208 			goto BeforeRet_;
24209 		}
24210 		LA12_: ;
24211 		initValue = semExprFlagDispatched__sem_641(c, (*assignment)._kind_6.sons->data[((NI) 1)], flags);
24212 		{
24213 			if (!!((initValue == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA18_;
24214 			initValue = fitNodeConsiderViewType__sem_212(c, (*field).typ, initValue, (*assignment).info);
24215 		}
24216 		LA18_: ;
24217 		asgnRef((void**) (&(*assignment)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(field));
24218 		asgnRef((void**) (&(*assignment)._kind_6.sons->data[((NI) 1)]), initValue);
24219 		(*assignment).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7)) & 31);
24220 		result = initValue;
24221 		goto BeforeRet_;
24222 	}
24223 	LA3_: ;
24224 	}BeforeRet_: ;
24225 	return result;
24226 }
N_NIMCALL(void,findUsefulCaseContext__sem_19218)24227 N_LIB_PRIVATE N_NIMCALL(void, findUsefulCaseContext__sem_19218)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* discrimator, tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw* Result) {
24228 {	unsureAsgnRef((void**)&(*Result).Field0, NIM_NIL);
24229 	(*Result).Field1 = 0;
24230 	{
24231 		NI i;
24232 		NI colontmp_;
24233 		NI T2_;
24234 		NI res;
24235 		i = (NI)0;
24236 		colontmp_ = (NI)0;
24237 		T2_ = (((*(*c).p).caseContext ? (*(*c).p).caseContext->Sup.len : 0)-1);
24238 		colontmp_ = T2_;
24239 		res = colontmp_;
24240 		{
24241 			while (1) {
24242 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caseNode;
24243 				NI index;
24244 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* skipped;
24245 				if (!(((NI) 0) <= res)) goto LA4;
24246 				i = res;
24247 				caseNode = NIM_NIL;
24248 				caseNode = (*(*c).p).caseContext->data[i].Field0;
24249 				index = (NI)0;
24250 				index = (*(*c).p).caseContext->data[i].Field1;
24251 				skipped = skipHidden__types_3604((*caseNode)._kind_6.sons->data[((NI) 0)]);
24252 				{
24253 					NIM_BOOL T7_;
24254 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__2;
24255 					NI colontmp__3;
24256 					T7_ = (NIM_BOOL)0;
24257 					T7_ = ((*skipped).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
24258 					if (!(T7_)) goto LA8_;
24259 					T7_ = ((*skipped)._kind_4.sym == (*discrimator)._kind_4.sym);
24260 					LA8_: ;
24261 					if (!T7_) goto LA9_;
24262 					colontmp__2 = caseNode;
24263 					colontmp__3 = index;
24264 					unsureAsgnRef((void**) (&(*Result).Field0), colontmp__2);
24265 					(*Result).Field1 = colontmp__3;
24266 					goto BeforeRet_;
24267 				}
24268 				LA9_: ;
24269 				res -= ((NI) 1);
24270 			} LA4: ;
24271 		}
24272 	}
24273 	}BeforeRet_: ;
24274 }
N_NIMCALL(void,branchVals__sem_19186)24275 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) {
24276 	{
24277 		if (!((*(*caseNode)._kind_6.sons->data[caseIdx]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA3_;
24278 		initIntSet__pureZcollectionsZintsets_238(Result);
24279 		{
24280 			NI val;
24281 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp_;
24282 			val = (NI)0;
24283 			colontmp_ = NIM_NIL;
24284 			colontmp_ = (*caseNode)._kind_6.sons->data[caseIdx];
24285 			{
24286 				if (!((*colontmp_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA8_;
24287 				{
24288 					NI i;
24289 					NI colontmp__2;
24290 					NI T11_;
24291 					NI i_2;
24292 					i = (NI)0;
24293 					colontmp__2 = (NI)0;
24294 					T11_ = (NI)0;
24295 					T11_ = len__ast_3198(colontmp_);
24296 					colontmp__2 = (NI)(T11_ - ((NI) 1));
24297 					i_2 = ((NI) 0);
24298 					{
24299 						while (1) {
24300 							if (!(i_2 < colontmp__2)) goto LA13;
24301 							i = i_2;
24302 							{
24303 								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_;
24304 								val = ((NI) ((*(*colontmp_)._kind_6.sons->data[i])._kind_1.intVal));
24305 								incl__pureZcollectionsZintsets_55(Result, val);
24306 							}
24307 							goto LA14_;
24308 							LA16_: ;
24309 							{
24310 								if (!((*(*colontmp_)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA19_;
24311 								{
24312 									NI64 i_3;
24313 									NI64 colontmp__3;
24314 									NI64 colontmp__4;
24315 									NI64 res;
24316 									i_3 = (NI64)0;
24317 									colontmp__3 = (NI64)0;
24318 									colontmp__4 = (NI64)0;
24319 									colontmp__3 = (*(*(*colontmp_)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)])._kind_1.intVal;
24320 									colontmp__4 = (*(*(*colontmp_)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)])._kind_1.intVal;
24321 									res = colontmp__3;
24322 									{
24323 										while (1) {
24324 											if (!(res <= colontmp__4)) goto LA23;
24325 											i_3 = res;
24326 											val = ((NI) (i_3));
24327 											incl__pureZcollectionsZintsets_55(Result, val);
24328 											res += ((NI) 1);
24329 										} LA23: ;
24330 									}
24331 								}
24332 							}
24333 							goto LA14_;
24334 							LA19_: ;
24335 							LA14_: ;
24336 							i_2 += ((NI) 1);
24337 						} LA13: ;
24338 					}
24339 				}
24340 			}
24341 			LA8_: ;
24342 		}
24343 	}
24344 	goto LA1_;
24345 	LA3_: ;
24346 	{
24347 		getIntSetOfType__sem_3930(c, (*(*caseNode)._kind_6.sons->data[((NI) 0)]).typ, Result);
24348 		{
24349 			NI i_4;
24350 			NI colontmp__5;
24351 			NI T26_;
24352 			NI i_5;
24353 			i_4 = (NI)0;
24354 			colontmp__5 = (NI)0;
24355 			T26_ = (NI)0;
24356 			T26_ = len__ast_3198(caseNode);
24357 			colontmp__5 = (NI)(T26_ - ((NI) 1));
24358 			i_5 = ((NI) 1);
24359 			{
24360 				while (1) {
24361 					if (!(i_5 < colontmp__5)) goto LA28;
24362 					i_4 = i_5;
24363 					{
24364 						NI val_2;
24365 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__6;
24366 						val_2 = (NI)0;
24367 						colontmp__6 = NIM_NIL;
24368 						colontmp__6 = (*caseNode)._kind_6.sons->data[i_4];
24369 						{
24370 							if (!((*colontmp__6).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85))) goto LA32_;
24371 							{
24372 								NI i_6;
24373 								NI colontmp__7;
24374 								NI T35_;
24375 								NI i_7;
24376 								i_6 = (NI)0;
24377 								colontmp__7 = (NI)0;
24378 								T35_ = (NI)0;
24379 								T35_ = len__ast_3198(colontmp__6);
24380 								colontmp__7 = (NI)(T35_ - ((NI) 1));
24381 								i_7 = ((NI) 0);
24382 								{
24383 									while (1) {
24384 										if (!(i_7 < colontmp__7)) goto LA37;
24385 										i_6 = i_7;
24386 										{
24387 											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_;
24388 											val_2 = ((NI) ((*(*colontmp__6)._kind_6.sons->data[i_6])._kind_1.intVal));
24389 											excl__reorder_264(Result, val_2);
24390 										}
24391 										goto LA38_;
24392 										LA40_: ;
24393 										{
24394 											if (!((*(*colontmp__6)._kind_6.sons->data[i_6]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA43_;
24395 											{
24396 												NI64 i_8;
24397 												NI64 colontmp__8;
24398 												NI64 colontmp__9;
24399 												NI64 res_2;
24400 												i_8 = (NI64)0;
24401 												colontmp__8 = (NI64)0;
24402 												colontmp__9 = (NI64)0;
24403 												colontmp__8 = (*(*(*colontmp__6)._kind_6.sons->data[i_6])._kind_6.sons->data[((NI) 0)])._kind_1.intVal;
24404 												colontmp__9 = (*(*(*colontmp__6)._kind_6.sons->data[i_6])._kind_6.sons->data[((NI) 1)])._kind_1.intVal;
24405 												res_2 = colontmp__8;
24406 												{
24407 													while (1) {
24408 														if (!(res_2 <= colontmp__9)) goto LA47;
24409 														i_8 = res_2;
24410 														val_2 = ((NI) (i_8));
24411 														excl__reorder_264(Result, val_2);
24412 														res_2 += ((NI) 1);
24413 													} LA47: ;
24414 												}
24415 											}
24416 										}
24417 										goto LA38_;
24418 										LA43_: ;
24419 										LA38_: ;
24420 										i_7 += ((NI) 1);
24421 									} LA37: ;
24422 								}
24423 							}
24424 						}
24425 						LA32_: ;
24426 					}
24427 					i_5 += ((NI) 1);
24428 				} LA28: ;
24429 			}
24430 		}
24431 	}
24432 	LA1_: ;
24433 }
N_NIMCALL(NIM_BOOL,caseBranchMatchesExpr__sem_19167)24434 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, caseBranchMatchesExpr__sem_19167)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* matched) {
24435 	NIM_BOOL result;
24436 {	result = (NIM_BOOL)0;
24437 	{
24438 		NI i;
24439 		NI colontmp_;
24440 		NI T2_;
24441 		NI i_2;
24442 		i = (NI)0;
24443 		colontmp_ = (NI)0;
24444 		T2_ = (NI)0;
24445 		T2_ = len__ast_3198(branch);
24446 		colontmp_ = (NI)(T2_ - ((NI) 1));
24447 		i_2 = ((NI) 0);
24448 		{
24449 			while (1) {
24450 				if (!(i_2 < colontmp_)) goto LA4;
24451 				i = i_2;
24452 				{
24453 					if (!((*(*branch)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA7_;
24454 					{
24455 						NIM_BOOL T11_;
24456 						T11_ = (NIM_BOOL)0;
24457 						T11_ = overlap__nimsets_40((*branch)._kind_6.sons->data[i], matched);
24458 						if (!T11_) goto LA12_;
24459 						result = NIM_TRUE;
24460 						goto BeforeRet_;
24461 					}
24462 					LA12_: ;
24463 				}
24464 				goto LA5_;
24465 				LA7_: ;
24466 				{
24467 					NIM_BOOL T15_;
24468 					T15_ = (NIM_BOOL)0;
24469 					T15_ = exprStructuralEquivalent__trees_56((*branch)._kind_6.sons->data[i], matched, NIM_FALSE);
24470 					if (!T15_) goto LA16_;
24471 					result = NIM_TRUE;
24472 					goto BeforeRet_;
24473 				}
24474 				goto LA5_;
24475 				LA16_: ;
24476 				LA5_: ;
24477 				i_2 += ((NI) 1);
24478 			} LA4: ;
24479 		}
24480 	}
24481 	result = NIM_FALSE;
24482 	goto BeforeRet_;
24483 	}BeforeRet_: ;
24484 	return result;
24485 }
N_NIMCALL(void,collectMissingFields__sem_19304)24486 N_LIB_PRIVATE N_NIMCALL(void, collectMissingFields__sem_19304)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsRecList, tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw* constrCtx) {
24487 	{
24488 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
24489 		r = NIM_NIL;
24490 		{
24491 			if (!((*fieldsRecList).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA4_;
24492 			r = fieldsRecList;
24493 			{
24494 				NIM_BOOL T8_;
24495 				NIM_BOOL T9_;
24496 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* assignment;
24497 				T8_ = (NIM_BOOL)0;
24498 				T9_ = (NIM_BOOL)0;
24499 				T9_ = (*constrCtx).needsFullInit;
24500 				if (T9_) goto LA10_;
24501 				T9_ = (((*(*r)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 21))&63U)))!=0);
24502 				LA10_: ;
24503 				T8_ = T9_;
24504 				if (T8_) goto LA11_;
24505 				T8_ = requiresInit__typeallowed_578((*(*r)._kind_4.sym).typ);
24506 				LA11_: ;
24507 				if (!T8_) goto LA12_;
24508 				assignment = locateFieldInInitExpr__sem_19118(c, (*r)._kind_4.sym, (*constrCtx).initExpr);
24509 				{
24510 					NI T18_;
24511 					if (!(assignment == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA16_;
24512 					unsureAsgnRef((void**) (&(*constrCtx).missingFields), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*constrCtx).missingFields), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
24513 					T18_ = (*constrCtx).missingFields->Sup.len++;
24514 					asgnRef((void**) (&(*constrCtx).missingFields->data[T18_]), (*r)._kind_4.sym);
24515 				}
24516 				LA16_: ;
24517 			}
24518 			LA12_: ;
24519 		}
24520 		goto LA2_;
24521 		LA4_: ;
24522 		{
24523 			{
24524 				if (!!(((*fieldsRecList).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138)))) goto LA22_;
24525 				failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_506));
24526 			}
24527 			LA22_: ;
24528 			{
24529 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
24530 				field = NIM_NIL;
24531 				{
24532 					NI i;
24533 					NI colontmp_;
24534 					NI i_2;
24535 					i = (NI)0;
24536 					colontmp_ = (NI)0;
24537 					colontmp_ = safeLen__ast_3191(fieldsRecList);
24538 					i_2 = ((NI) 0);
24539 					{
24540 						while (1) {
24541 							if (!(i_2 < colontmp_)) goto LA27;
24542 							i = i_2;
24543 							field = (*fieldsRecList)._kind_6.sons->data[i];
24544 							{
24545 								{
24546 									if (!!(((*field).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA31_;
24547 									goto LA28;
24548 								}
24549 								LA31_: ;
24550 								r = field;
24551 								{
24552 									NIM_BOOL T35_;
24553 									NIM_BOOL T36_;
24554 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* assignment_2;
24555 									T35_ = (NIM_BOOL)0;
24556 									T36_ = (NIM_BOOL)0;
24557 									T36_ = (*constrCtx).needsFullInit;
24558 									if (T36_) goto LA37_;
24559 									T36_ = (((*(*r)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 21))&63U)))!=0);
24560 									LA37_: ;
24561 									T35_ = T36_;
24562 									if (T35_) goto LA38_;
24563 									T35_ = requiresInit__typeallowed_578((*(*r)._kind_4.sym).typ);
24564 									LA38_: ;
24565 									if (!T35_) goto LA39_;
24566 									assignment_2 = locateFieldInInitExpr__sem_19118(c, (*r)._kind_4.sym, (*constrCtx).initExpr);
24567 									{
24568 										NI T45_;
24569 										if (!(assignment_2 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA43_;
24570 										unsureAsgnRef((void**) (&(*constrCtx).missingFields), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*constrCtx).missingFields), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
24571 										T45_ = (*constrCtx).missingFields->Sup.len++;
24572 										asgnRef((void**) (&(*constrCtx).missingFields->data[T45_]), (*r)._kind_4.sym);
24573 									}
24574 									LA43_: ;
24575 								}
24576 								LA39_: ;
24577 							} LA28: ;
24578 							i_2 += ((NI) 1);
24579 						} LA27: ;
24580 					}
24581 				}
24582 			}
24583 		}
24584 		LA2_: ;
24585 	}
24586 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,pickCaseBranch__sem_19243)24587 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, pickCaseBranch__sem_19243)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caseExpr, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* matched) {
24588 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
24589 	NIM_BOOL endsWithElse;
24590 	NI T1_;
24591 {	result = NIM_NIL;
24592 	T1_ = (NI)0;
24593 	T1_ = len__ast_3198(caseExpr);
24594 	endsWithElse = ((*(*caseExpr)._kind_6.sons->data[(NI)(T1_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88));
24595 	{
24596 		NI i;
24597 		NI colontmp_;
24598 		NI T3_;
24599 		NI i_2;
24600 		i = (NI)0;
24601 		colontmp_ = (NI)0;
24602 		T3_ = (NI)0;
24603 		T3_ = len__ast_3198(caseExpr);
24604 		colontmp_ = (NI)(T3_ - ((NI) (endsWithElse)));
24605 		i_2 = ((NI) 1);
24606 		{
24607 			while (1) {
24608 				if (!(i_2 < colontmp_)) goto LA5;
24609 				i = i_2;
24610 				{
24611 					NIM_BOOL T8_;
24612 					T8_ = (NIM_BOOL)0;
24613 					T8_ = caseBranchMatchesExpr__sem_19167((*caseExpr)._kind_6.sons->data[i], matched);
24614 					if (!T8_) goto LA9_;
24615 					result = (*caseExpr)._kind_6.sons->data[i];
24616 					goto BeforeRet_;
24617 				}
24618 				LA9_: ;
24619 				i_2 += ((NI) 1);
24620 			} LA5: ;
24621 		}
24622 	}
24623 	{
24624 		NI T15_;
24625 		if (!endsWithElse) goto LA13_;
24626 		T15_ = (NI)0;
24627 		T15_ = len__ast_3198(caseExpr);
24628 		result = (*caseExpr)._kind_6.sons->data[(NI)(T15_ - ((NI) 1))];
24629 		goto BeforeRet_;
24630 	}
24631 	LA13_: ;
24632 	}BeforeRet_: ;
24633 	return result;
24634 }
N_NIMCALL(tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ,semConstructFields__sem_19322)24635 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) {
24636 	tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ result;
24637 	result = (tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ)0;
24638 	result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 0);
24639 	switch ((*n).kind) {
24640 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
24641 	{
24642 		{
24643 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
24644 			field = NIM_NIL;
24645 			{
24646 				NI i;
24647 				NI colontmp_;
24648 				NI i_2;
24649 				i = (NI)0;
24650 				colontmp_ = (NI)0;
24651 				colontmp_ = safeLen__ast_3191(n);
24652 				i_2 = ((NI) 0);
24653 				{
24654 					while (1) {
24655 						tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ status;
24656 						if (!(i_2 < colontmp_)) goto LA5;
24657 						i = i_2;
24658 						field = (*n)._kind_6.sons->data[i];
24659 						status = semConstructFields__sem_19322(c, field, constrCtx, flags);
24660 						mergeInitStatus__sem_19071((&result), status);
24661 						i_2 += ((NI) 1);
24662 					} LA5: ;
24663 				}
24664 			}
24665 		}
24666 	}
24667 	break;
24668 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
24669 	{
24670 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* discriminator;
24671 		NI selectedBranch;
24672 		discriminator = (*n)._kind_6.sons->data[((NI) 0)];
24673 		{
24674 			NimStringDesc* argX60gensym5096_;
24675 			if (!!(((*discriminator).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA9_;
24676 			argX60gensym5096_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_500);
24677 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym5096_, TM__rF9caJawfOjYTjsgLVUSGFA_500);
24678 		}
24679 		LA9_: ;
24680 		selectedBranch = ((NI) -1);
24681 		{
24682 			NI i_3;
24683 			NI colontmp__2;
24684 			NI i_4;
24685 			i_3 = (NI)0;
24686 			colontmp__2 = (NI)0;
24687 			colontmp__2 = len__ast_3198(n);
24688 			i_4 = ((NI) 1);
24689 			{
24690 				while (1) {
24691 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* innerRecords;
24692 					NI T14_;
24693 					tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ status_2;
24694 					if (!(i_4 < colontmp__2)) goto LA13;
24695 					i_3 = i_4;
24696 					T14_ = (NI)0;
24697 					T14_ = len__ast_3198((*n)._kind_6.sons->data[i_3]);
24698 					innerRecords = (*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[(NI)(T14_ - ((NI) 1))];
24699 					status_2 = semConstructFields__sem_19322(c, innerRecords, constrCtx, flags);
24700 					{
24701 						if (!!(((9 &((NU8)1<<((NU)(status_2)&7U)))!=0))) goto LA17_;
24702 						mergeInitStatus__sem_19071((&result), status_2);
24703 						{
24704 							NimStringDesc* prevFields;
24705 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym5104_;
24706 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5104_;
24707 							NI T23_;
24708 							NimStringDesc* currentFields;
24709 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym5109_;
24710 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5109_;
24711 							NI T24_;
24712 							tyArray__Re75IspeoxXy2oCZHwcRrA T25_;
24713 							NimStringDesc* T26_;
24714 							if (!!((selectedBranch == ((NI) -1)))) goto LA21_;
24715 							branchX60gensym5104_ = (*n)._kind_6.sons->data[selectedBranch];
24716 							T23_ = (NI)0;
24717 							T23_ = len__ast_3198(branchX60gensym5104_);
24718 							fieldsX60gensym5104_ = (*branchX60gensym5104_)._kind_6.sons->data[(NI)(T23_ - ((NI) 1))];
24719 							prevFields = fieldsPresentInInitExpr__sem_19294(c, fieldsX60gensym5104_, (*constrCtx).initExpr);
24720 							branchX60gensym5109_ = (*n)._kind_6.sons->data[i_3];
24721 							T24_ = (NI)0;
24722 							T24_ = len__ast_3198(branchX60gensym5109_);
24723 							fieldsX60gensym5109_ = (*branchX60gensym5109_)._kind_6.sons->data[(NI)(T24_ - ((NI) 1))];
24724 							currentFields = fieldsPresentInInitExpr__sem_19294(c, fieldsX60gensym5109_, (*constrCtx).initExpr);
24725 							nimZeroMem((void*)T25_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
24726 							T25_[0] = copyString(prevFields);
24727 							T25_[1] = copyString(currentFields);
24728 							T26_ = NIM_NIL;
24729 							T26_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_507), T25_, 2);
24730 							liMessage__msgs_1118((*(*c).graph).config, (*(*constrCtx).initExpr).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_508, NIM_FALSE);
24731 							result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 4);
24732 						}
24733 						goto LA19_;
24734 						LA21_: ;
24735 						{
24736 							selectedBranch = i_3;
24737 						}
24738 						LA19_: ;
24739 					}
24740 					LA17_: ;
24741 					i_4 += ((NI) 1);
24742 				} LA13: ;
24743 			}
24744 		}
24745 		{
24746 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchNode;
24747 			tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags_2;
24748 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* discriminatorVal;
24749 			if (!!((selectedBranch == ((NI) -1)))) goto LA30_;
24750 			branchNode = (*n)._kind_6.sons->data[selectedBranch];
24751 			flags_2 = 96;
24752 			discriminatorVal = semConstrField__sem_19139(c, flags_2, (*discriminator)._kind_4.sym, (*constrCtx).initExpr);
24753 			{
24754 				if (!!((discriminatorVal == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA34_;
24755 				discriminatorVal = skipHidden__types_3604(discriminatorVal);
24756 				{
24757 					NIM_BOOL T38_;
24758 					NIM_BOOL T40_;
24759 					NIM_BOOL T41_;
24760 					NIM_BOOL T42_;
24761 					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T44_;
24762 					tyObject_Int128__9a9axPfb75jdWY25AamJewkA T46_;
24763 					T38_ = (NIM_BOOL)0;
24764 					T38_ = !(((*discriminatorVal).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*discriminatorVal).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22)));
24765 					if (!(T38_)) goto LA39_;
24766 					T40_ = (NIM_BOOL)0;
24767 					T41_ = (NIM_BOOL)0;
24768 					T42_ = (NIM_BOOL)0;
24769 					T42_ = isOrdinalType__types_299((*discriminatorVal).typ, NIM_TRUE);
24770 					T41_ = !(T42_);
24771 					if (T41_) goto LA43_;
24772 					T44_ = lengthOrd__types_1652((*(*c).graph).config, (*discriminatorVal).typ);
24773 					T41_ = lt___int495056_738(IL64(65536), T44_);
24774 					LA43_: ;
24775 					T40_ = T41_;
24776 					if (T40_) goto LA45_;
24777 					T46_ = lengthOrd__types_1652((*(*c).graph).config, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
24778 					T40_ = lt___int495056_738(IL64(65536), T46_);
24779 					LA45_: ;
24780 					T38_ = T40_;
24781 					LA39_: ;
24782 					if (!T38_) goto LA47_;
24783 					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);
24784 				}
24785 				LA47_: ;
24786 			}
24787 			LA34_: ;
24788 			{
24789 				if (!(discriminatorVal == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA51_;
24790 				{
24791 					NimStringDesc* fieldsX60gensym5129_;
24792 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym5130_;
24793 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5130_;
24794 					NI T57_;
24795 					tyArray__Re75IspeoxXy2oCZHwcRrA T58_;
24796 					NimStringDesc* T59_;
24797 					if (!((*c).inUncheckedAssignSection == ((NI) 0))) goto LA55_;
24798 					branchX60gensym5130_ = (*n)._kind_6.sons->data[selectedBranch];
24799 					T57_ = (NI)0;
24800 					T57_ = len__ast_3198(branchX60gensym5130_);
24801 					fieldsX60gensym5130_ = (*branchX60gensym5130_)._kind_6.sons->data[(NI)(T57_ - ((NI) 1))];
24802 					fieldsX60gensym5129_ = fieldsPresentInInitExpr__sem_19294(c, fieldsX60gensym5130_, (*constrCtx).initExpr);
24803 					nimZeroMem((void*)T58_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
24804 					T58_[0] = copyString(fieldsX60gensym5129_);
24805 					T58_[1] = copyString((*(*(*discriminator)._kind_4.sym).name).s);
24806 					T59_ = NIM_NIL;
24807 					T59_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_514), T58_, 2);
24808 					liMessage__msgs_1118((*(*c).graph).config, (*(*constrCtx).initExpr).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T59_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_515, NIM_FALSE);
24809 				}
24810 				LA55_: ;
24811 				mergeInitStatus__sem_19071((&result), ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3));
24812 			}
24813 			goto LA49_;
24814 			LA51_: ;
24815 			{
24816 				tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw T63_;
24817 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ctorCase;
24818 				NI ctorIdx;
24819 				if (!((*discriminatorVal).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA61_;
24820 				nimZeroMem((void*)(&T63_), sizeof(tyTuple__FyNGItFCBJSXLJ9aJSzlX9aw));
24821 				findUsefulCaseContext__sem_19218(c, discriminatorVal, (&T63_));
24822 				ctorCase = NIM_NIL;
24823 				ctorCase = T63_.Field0;
24824 				ctorIdx = (NI)0;
24825 				ctorIdx = T63_.Field1;
24826 				{
24827 					if (!(ctorCase == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA66_;
24828 					{
24829 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA rangeVals;
24830 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA recBranchVals;
24831 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA diff;
24832 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T72_;
24833 						if (!((*(*discriminatorVal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20))) goto LA70_;
24834 						nimZeroMem((void*)(&rangeVals), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24835 						getIntSetOfType__sem_3930(c, (*discriminatorVal).typ, (&rangeVals));
24836 						nimZeroMem((void*)(&recBranchVals), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24837 						branchVals__sem_19186(c, n, selectedBranch, NIM_FALSE, (&recBranchVals));
24838 						nimZeroMem((void*)(&diff), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24839 						nimZeroMem((void*)(&T72_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24840 						minus___sem_4040((&rangeVals), (&recBranchVals), (&T72_));
24841 						nimCopyMem((void*)(&diff), (NIM_CONST void*)(&T72_), sizeof(diff));
24842 						{
24843 							NI T75_;
24844 							tyArray__Re75IspeoxXy2oCZHwcRrA T78_;
24845 							NimStringDesc* T79_;
24846 							T75_ = (NI)0;
24847 							T75_ = len__nilcheck_1772((&diff));
24848 							if (!!((T75_ == ((NI) 0)))) goto LA76_;
24849 							nimZeroMem((void*)T78_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
24850 							T78_[0] = dollar___systemZdollars_3(selectedBranch);
24851 							T78_[1] = renderAsType__sem_3988((&diff), (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
24852 							T79_ = NIM_NIL;
24853 							T79_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_516), T78_, 2);
24854 							liMessage__msgs_1118((*(*c).graph).config, (*discriminatorVal).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T79_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_517, NIM_FALSE);
24855 						}
24856 						LA76_: ;
24857 					}
24858 					goto LA68_;
24859 					LA70_: ;
24860 					{
24861 						{
24862 							NimStringDesc* fieldsX60gensym5144_;
24863 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym5145_;
24864 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5145_;
24865 							NI T85_;
24866 							tyArray__Re75IspeoxXy2oCZHwcRrA T86_;
24867 							NimStringDesc* T87_;
24868 							if (!((*c).inUncheckedAssignSection == ((NI) 0))) goto LA83_;
24869 							branchX60gensym5145_ = (*n)._kind_6.sons->data[selectedBranch];
24870 							T85_ = (NI)0;
24871 							T85_ = len__ast_3198(branchX60gensym5145_);
24872 							fieldsX60gensym5145_ = (*branchX60gensym5145_)._kind_6.sons->data[(NI)(T85_ - ((NI) 1))];
24873 							fieldsX60gensym5144_ = fieldsPresentInInitExpr__sem_19294(c, fieldsX60gensym5145_, (*constrCtx).initExpr);
24874 							nimZeroMem((void*)T86_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
24875 							T86_[0] = copyString(fieldsX60gensym5144_);
24876 							T86_[1] = copyString((*(*(*discriminator)._kind_4.sym).name).s);
24877 							T87_ = NIM_NIL;
24878 							T87_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_514), T86_, 2);
24879 							liMessage__msgs_1118((*(*c).graph).config, (*(*constrCtx).initExpr).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T87_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_515, NIM_FALSE);
24880 						}
24881 						LA83_: ;
24882 						mergeInitStatus__sem_19071((&result), ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3));
24883 					}
24884 					LA68_: ;
24885 				}
24886 				goto LA64_;
24887 				LA66_: ;
24888 				{
24889 					NIM_BOOL T89_;
24890 					T89_ = (NIM_BOOL)0;
24891 					T89_ = !(((520 &((NU32)1<<((NU)((*(*discriminatorVal)._kind_4.sym).kind)&31U)))!=0));
24892 					if (T89_) goto LA90_;
24893 					T89_ = ((*(*(*discriminatorVal)._kind_4.sym).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
24894 					LA90_: ;
24895 					if (!T89_) goto LA91_;
24896 					{
24897 						if (!((*c).inUncheckedAssignSection == ((NI) 0))) goto LA95_;
24898 						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);
24899 					}
24900 					LA95_: ;
24901 				}
24902 				goto LA64_;
24903 				LA91_: ;
24904 				{
24905 					if (!((*(*ctorCase)._kind_6.sons->data[ctorIdx]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86))) goto LA98_;
24906 					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);
24907 				}
24908 				goto LA64_;
24909 				LA98_: ;
24910 				{
24911 					tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA ctorBranchVals;
24912 					tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA recBranchVals_2;
24913 					tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA branchValsDiff;
24914 					nimZeroMem((void*)(&ctorBranchVals), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24915 					branchVals__sem_19186(c, ctorCase, ctorIdx, NIM_TRUE, (&ctorBranchVals));
24916 					nimZeroMem((void*)(&recBranchVals_2), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24917 					branchVals__sem_19186(c, n, selectedBranch, NIM_FALSE, (&recBranchVals_2));
24918 					nimZeroMem((void*)(&branchValsDiff), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24919 					minus___sem_4040((&ctorBranchVals), (&recBranchVals_2), (&branchValsDiff));
24920 					{
24921 						NI T103_;
24922 						tyArray__Re75IspeoxXy2oCZHwcRrA T106_;
24923 						NimStringDesc* T107_;
24924 						T103_ = (NI)0;
24925 						T103_ = len__nilcheck_1772((&branchValsDiff));
24926 						if (!!((T103_ == ((NI) 0)))) goto LA104_;
24927 						nimZeroMem((void*)T106_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
24928 						T106_[0] = dollar___systemZdollars_3(selectedBranch);
24929 						T106_[1] = renderAsType__sem_3988((&branchValsDiff), (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
24930 						T107_ = NIM_NIL;
24931 						T107_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_516), T106_, 2);
24932 						liMessage__msgs_1118((*(*c).graph).config, (*discriminatorVal).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T107_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_522, NIM_FALSE);
24933 					}
24934 					LA104_: ;
24935 				}
24936 				LA64_: ;
24937 			}
24938 			goto LA49_;
24939 			LA61_: ;
24940 			{
24941 				NI failedBranch;
24942 				failedBranch = ((NI) -1);
24943 				{
24944 					if (!!(((*branchNode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88)))) goto LA111_;
24945 					{
24946 						NIM_BOOL T115_;
24947 						T115_ = (NIM_BOOL)0;
24948 						T115_ = caseBranchMatchesExpr__sem_19167(branchNode, discriminatorVal);
24949 						if (!!(T115_)) goto LA116_;
24950 						failedBranch = selectedBranch;
24951 					}
24952 					LA116_: ;
24953 				}
24954 				goto LA109_;
24955 				LA111_: ;
24956 				{
24957 					{
24958 						NI i_5;
24959 						NI colontmp__3;
24960 						NI T120_;
24961 						NI i_6;
24962 						i_5 = (NI)0;
24963 						colontmp__3 = (NI)0;
24964 						T120_ = (NI)0;
24965 						T120_ = len__ast_3198(n);
24966 						colontmp__3 = (NI)(T120_ - ((NI) 1));
24967 						i_6 = ((NI) 1);
24968 						{
24969 							while (1) {
24970 								if (!(i_6 < colontmp__3)) goto LA122;
24971 								i_5 = i_6;
24972 								{
24973 									NIM_BOOL T125_;
24974 									T125_ = (NIM_BOOL)0;
24975 									T125_ = caseBranchMatchesExpr__sem_19167((*n)._kind_6.sons->data[i_5], discriminatorVal);
24976 									if (!T125_) goto LA126_;
24977 									failedBranch = i_5;
24978 									goto LA119;
24979 								}
24980 								LA126_: ;
24981 								i_6 += ((NI) 1);
24982 							} LA122: ;
24983 						}
24984 					} LA119: ;
24985 				}
24986 				LA109_: ;
24987 				{
24988 					if (!!((failedBranch == ((NI) -1)))) goto LA130_;
24989 					{
24990 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA rangeVals_2;
24991 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA recBranchVals_3;
24992 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA diff_2;
24993 						tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA T136_;
24994 						if (!((*(*discriminatorVal).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20))) goto LA134_;
24995 						nimZeroMem((void*)(&rangeVals_2), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24996 						getIntSetOfType__sem_3930(c, (*discriminatorVal).typ, (&rangeVals_2));
24997 						nimZeroMem((void*)(&recBranchVals_3), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
24998 						branchVals__sem_19186(c, n, selectedBranch, NIM_FALSE, (&recBranchVals_3));
24999 						nimZeroMem((void*)(&diff_2), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
25000 						nimZeroMem((void*)(&T136_), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
25001 						minus___sem_4040((&rangeVals_2), (&recBranchVals_3), (&T136_));
25002 						nimCopyMem((void*)(&diff_2), (NIM_CONST void*)(&T136_), sizeof(diff_2));
25003 						{
25004 							NI T139_;
25005 							tyArray__Re75IspeoxXy2oCZHwcRrA T142_;
25006 							NimStringDesc* T143_;
25007 							T139_ = (NI)0;
25008 							T139_ = len__nilcheck_1772((&diff_2));
25009 							if (!!((T139_ == ((NI) 0)))) goto LA140_;
25010 							nimZeroMem((void*)T142_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
25011 							T142_[0] = dollar___systemZdollars_3(selectedBranch);
25012 							T142_[1] = renderAsType__sem_3988((&diff_2), (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
25013 							T143_ = NIM_NIL;
25014 							T143_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_516), T142_, 2);
25015 							liMessage__msgs_1118((*(*c).graph).config, (*discriminatorVal).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T143_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_523, NIM_FALSE);
25016 						}
25017 						LA140_: ;
25018 					}
25019 					goto LA132_;
25020 					LA134_: ;
25021 					{
25022 						{
25023 							NimStringDesc* fieldsX60gensym5177_;
25024 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branchX60gensym5178_;
25025 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5178_;
25026 							NI T149_;
25027 							tyArray__24KAM9afIUgUaqBaEBB6r9bg T150_;
25028 							NimStringDesc* T151_;
25029 							if (!((*c).inUncheckedAssignSection == ((NI) 0))) goto LA147_;
25030 							branchX60gensym5178_ = (*n)._kind_6.sons->data[failedBranch];
25031 							T149_ = (NI)0;
25032 							T149_ = len__ast_3198(branchX60gensym5178_);
25033 							fieldsX60gensym5178_ = (*branchX60gensym5178_)._kind_6.sons->data[(NI)(T149_ - ((NI) 1))];
25034 							fieldsX60gensym5177_ = fieldsPresentInInitExpr__sem_19294(c, fieldsX60gensym5178_, (*constrCtx).initExpr);
25035 							nimZeroMem((void*)T150_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
25036 							T150_[0] = copyString((*(*(*discriminator)._kind_4.sym).name).s);
25037 							T150_[1] = renderTree__renderer_46(discriminatorVal, 0);
25038 							T150_[2] = copyString(fieldsX60gensym5177_);
25039 							T151_ = NIM_NIL;
25040 							T151_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_524), T150_, 3);
25041 							liMessage__msgs_1118((*(*c).graph).config, (*(*constrCtx).initExpr).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T151_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_525, NIM_FALSE);
25042 						}
25043 						LA147_: ;
25044 					}
25045 					LA132_: ;
25046 				}
25047 				LA130_: ;
25048 			}
25049 			LA49_: ;
25050 			{
25051 				if (!(result == ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 2))) goto LA154_;
25052 				{
25053 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5186_;
25054 					NI T160_;
25055 					if (!!((branchNode == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA158_;
25056 					T160_ = (NI)0;
25057 					T160_ = len__ast_3198(branchNode);
25058 					fieldsX60gensym5186_ = (*branchNode)._kind_6.sons->data[(NI)(T160_ - ((NI) 1))];
25059 					collectMissingFields__sem_19304(c, fieldsX60gensym5186_, constrCtx);
25060 				}
25061 				LA158_: ;
25062 			}
25063 			LA154_: ;
25064 		}
25065 		goto LA28_;
25066 		LA30_: ;
25067 		{
25068 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* discriminatorVal_2;
25069 			result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3);
25070 			discriminatorVal_2 = semConstrField__sem_19139(c, (flags | 32), (*discriminator)._kind_4.sym, (*constrCtx).initExpr);
25071 			{
25072 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* defaultValue;
25073 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* matchedBranch;
25074 				if (!(discriminatorVal_2 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA164_;
25075 				defaultValue = newIntLit__lowerings_695((*c).graph, (*(*constrCtx).initExpr).info, IL64(0));
25076 				matchedBranch = pickCaseBranch__sem_19243(n, defaultValue);
25077 				{
25078 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5191_;
25079 					NI T170_;
25080 					if (!!((matchedBranch == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA168_;
25081 					T170_ = (NI)0;
25082 					T170_ = len__ast_3198(matchedBranch);
25083 					fieldsX60gensym5191_ = (*matchedBranch)._kind_6.sons->data[(NI)(T170_ - ((NI) 1))];
25084 					collectMissingFields__sem_19304(c, fieldsX60gensym5191_, constrCtx);
25085 				}
25086 				LA168_: ;
25087 			}
25088 			goto LA162_;
25089 			LA164_: ;
25090 			{
25091 				result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 2);
25092 				{
25093 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* matchedBranch_2;
25094 					if (!((*discriminatorVal_2).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6))) goto LA174_;
25095 					matchedBranch_2 = pickCaseBranch__sem_19243(n, discriminatorVal_2);
25096 					{
25097 						if (!!((matchedBranch_2 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA178_;
25098 						{
25099 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5197_;
25100 							NI T184_;
25101 							if (!!((matchedBranch_2 == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA182_;
25102 							T184_ = (NI)0;
25103 							T184_ = len__ast_3198(matchedBranch_2);
25104 							fieldsX60gensym5197_ = (*matchedBranch_2)._kind_6.sons->data[(NI)(T184_ - ((NI) 1))];
25105 							collectMissingFields__sem_19304(c, fieldsX60gensym5197_, constrCtx);
25106 						}
25107 						LA182_: ;
25108 					}
25109 					LA178_: ;
25110 				}
25111 				goto LA172_;
25112 				LA174_: ;
25113 				{
25114 					{
25115 						NI i_7;
25116 						NI colontmp__4;
25117 						NI i_8;
25118 						i_7 = (NI)0;
25119 						colontmp__4 = (NI)0;
25120 						colontmp__4 = len__ast_3198(n);
25121 						i_8 = ((NI) 1);
25122 						{
25123 							while (1) {
25124 								if (!(i_8 < colontmp__4)) goto LA188;
25125 								i_7 = i_8;
25126 								{
25127 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fieldsX60gensym5203_;
25128 									NI T193_;
25129 									if (!!(((*n)._kind_6.sons->data[i_7] == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA191_;
25130 									T193_ = (NI)0;
25131 									T193_ = len__ast_3198((*n)._kind_6.sons->data[i_7]);
25132 									fieldsX60gensym5203_ = (*(*n)._kind_6.sons->data[i_7])._kind_6.sons->data[(NI)(T193_ - ((NI) 1))];
25133 									collectMissingFields__sem_19304(c, fieldsX60gensym5203_, constrCtx);
25134 								}
25135 								LA191_: ;
25136 								i_8 += ((NI) 1);
25137 							} LA188: ;
25138 						}
25139 					}
25140 				}
25141 				LA172_: ;
25142 			}
25143 			LA162_: ;
25144 		}
25145 		LA28_: ;
25146 	}
25147 	break;
25148 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
25149 	{
25150 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field_2;
25151 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
25152 		field_2 = (*n)._kind_4.sym;
25153 		e = semConstrField__sem_19139(c, flags, field_2, (*constrCtx).initExpr);
25154 		{
25155 			if (!!((e == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA197_;
25156 			result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 1);
25157 		}
25158 		goto LA195_;
25159 		LA197_: ;
25160 		{
25161 			result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 3);
25162 		}
25163 		LA195_: ;
25164 	}
25165 	break;
25166 	default:
25167 	{
25168 		{
25169 			NimStringDesc* argX60gensym5210_;
25170 			if (!NIM_TRUE) goto LA203_;
25171 			argX60gensym5210_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_526);
25172 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym5210_, TM__rF9caJawfOjYTjsgLVUSGFA_526);
25173 		}
25174 		LA203_: ;
25175 	}
25176 	break;
25177 	}
25178 	return result;
25179 }
N_NIMCALL(tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ,semConstructTypeAux__sem_19627)25180 N_LIB_PRIVATE N_NIMCALL(tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ, semConstructTypeAux__sem_19627)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw* constrCtx, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
25181 	tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ result;
25182 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
25183 {	result = (tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ)0;
25184 	result = ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 0);
25185 	t = (*constrCtx).typ;
25186 	{
25187 		while (1) {
25188 			tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ status;
25189 			tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
25190 			NIM_BOOL T15_;
25191 			status = semConstructFields__sem_19322(c, (*t).n, constrCtx, flags);
25192 			mergeInitStatus__sem_19071((&result), status);
25193 			{
25194 				if (!((13 &((NU8)1<<((NU)(status)&7U)))!=0)) goto LA5_;
25195 				collectMissingFields__sem_19304(c, (*t).n, constrCtx);
25196 			}
25197 			LA5_: ;
25198 			base = (*t).sons->data[((NI) 0)];
25199 			{
25200 				if (!(base == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA9_;
25201 				goto LA1;
25202 			}
25203 			LA9_: ;
25204 			t = skipTypes__ast_3735(base, TM__rF9caJawfOjYTjsgLVUSGFA_53);
25205 			{
25206 				if (!!(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA13_;
25207 				goto BeforeRet_;
25208 			}
25209 			LA13_: ;
25210 			T15_ = (NIM_BOOL)0;
25211 			T15_ = (*constrCtx).needsFullInit;
25212 			if (T15_) goto LA16_;
25213 			T15_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 19))&63U)))!=0);
25214 			LA16_: ;
25215 			(*constrCtx).needsFullInit = T15_;
25216 		}
25217 	} LA1: ;
25218 	}BeforeRet_: ;
25219 	return result;
25220 }
N_NIMCALL(NIM_BOOL,computeRequiresInit__sem_135)25221 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, computeRequiresInit__sem_135)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
25222 	NIM_BOOL result;
25223 	tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw constrCtx;
25224 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
25225 	tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ initResult;
25226 	NI T2_;
25227 	result = (NIM_BOOL)0;
25228 	nimZeroMem((void*)(&constrCtx), sizeof(tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw));
25229 	T1_ = NIM_NIL;
25230 	T1_ = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38));
25231 	initConstrContext__sem_19652(t, T1_, (&constrCtx));
25232 	initResult = semConstructTypeAux__sem_19627(c, (&constrCtx), 0);
25233 	T2_ = (constrCtx.missingFields ? constrCtx.missingFields->Sup.len : 0);
25234 	result = (((NI) 0) < T2_);
25235 	return result;
25236 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semObjectNode__sem_4464)25237 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) {
25238 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
25239 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
25240 	NI pos;
25241 	tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
25242 	tyObject_TType__facALICuu8zUj0hjvbTLFg* realBase;
25243 {	result = NIM_NIL;
25244 	{
25245 		NI T3_;
25246 		T3_ = (NI)0;
25247 		T3_ = len__ast_3198(n);
25248 		if (!(T3_ == ((NI) 0))) goto LA4_;
25249 		result = newConstraint__sem_2929(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
25250 		goto BeforeRet_;
25251 	}
25252 	LA4_: ;
25253 	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
25254 	initIntSet__pureZcollectionsZintsets_238((&check));
25255 	pos = ((NI) 0);
25256 	base = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
25257 	realBase = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
25258 	checkSonsLen__semdata_1077(n, ((NI) 3), (*(*c).graph).config);
25259 	{
25260 		if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA8_;
25261 		realBase = semTypeNode__sem_80(c, (*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
25262 		base = skipTypesOrNil__ast_4185(realBase, TM__rF9caJawfOjYTjsgLVUSGFA_53);
25263 		{
25264 			if (!(base == 0)) goto LA12_;
25265 			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);
25266 		}
25267 		goto LA10_;
25268 		LA12_: ;
25269 		{
25270 			tyObject_TType__facALICuu8zUj0hjvbTLFg* concreteBase;
25271 			concreteBase = skipGenericInvocation__sem_4428(base);
25272 			{
25273 				NIM_BOOL T17_;
25274 				T17_ = (NIM_BOOL)0;
25275 				T17_ = ((*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9));
25276 				if (!(T17_)) goto LA18_;
25277 				T17_ = !((((*concreteBase).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2))&63U)))!=0));
25278 				LA18_: ;
25279 				if (!T17_) goto LA19_;
25280 				{
25281 					if (!((*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA23_;
25282 					{
25283 						NIM_BOOL T27_;
25284 						NIM_BOOL T28_;
25285 						T27_ = (NIM_BOOL)0;
25286 						T28_ = (NIM_BOOL)0;
25287 						T28_ = !(((*concreteBase).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
25288 						if (!(T28_)) goto LA29_;
25289 						T28_ = ((*(*concreteBase).sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 268));
25290 						LA29_: ;
25291 						T27_ = T28_;
25292 						if (!(T27_)) goto LA30_;
25293 						T27_ = !((((*(*c).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0));
25294 						LA30_: ;
25295 						if (!T27_) goto LA31_;
25296 						liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 37), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_56, NIM_FALSE);
25297 					}
25298 					LA31_: ;
25299 					addInheritedFields__sem_4443(c, (&check), (&pos), concreteBase);
25300 				}
25301 				LA23_: ;
25302 			}
25303 			goto LA15_;
25304 			LA19_: ;
25305 			{
25306 				{
25307 					NimStringDesc* T38_;
25308 					NimStringDesc* T39_;
25309 					if (!!(((*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50)))) goto LA36_;
25310 					T38_ = NIM_NIL;
25311 					T39_ = NIM_NIL;
25312 					T39_ = typeToString__types_50(realBase, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
25313 					T38_ = rawNewString((T39_ ? T39_->Sup.len : 0) + 120);
25314 appendString(T38_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_63));
25315 appendString(T38_, T39_);
25316 appendString(T38_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_64));
25317 					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);
25318 				}
25319 				LA36_: ;
25320 				base = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
25321 				realBase = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
25322 			}
25323 			LA15_: ;
25324 		}
25325 		LA10_: ;
25326 	}
25327 	LA8_: ;
25328 	{
25329 		if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133)))) goto LA42_;
25330 		internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_66), TM__rF9caJawfOjYTjsgLVUSGFA_67);
25331 	}
25332 	LA42_: ;
25333 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17), prev, c);
25334 	rawAddSon__ast_4288(result, realBase, NIM_TRUE);
25335 	{
25336 		NIM_BOOL T46_;
25337 		T46_ = (NIM_BOOL)0;
25338 		T46_ = (realBase == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
25339 		if (!(T46_)) goto LA47_;
25340 		T46_ = ((flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 3))&63U)))!=0);
25341 		LA47_: ;
25342 		if (!T46_) goto LA48_;
25343 		(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 3)) & 63);
25344 	}
25345 	LA48_: ;
25346 	{
25347 		if (!((flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 39))&63U)))!=0)) goto LA52_;
25348 		(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 39)) & 63);
25349 	}
25350 	LA52_: ;
25351 	{
25352 		if (!((*result).n == 0)) goto LA56_;
25353 		asgnRef((void**) (&(*result).n), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info));
25354 	}
25355 	goto LA54_;
25356 	LA56_: ;
25357 	{
25358 		addInheritedFields__sem_4443(c, (&check), (&pos), result);
25359 	}
25360 	LA54_: ;
25361 	semRecordNodeAux__sem_3922(c, (*n)._kind_6.sons->data[((NI) 2)], (&check), (&pos), (*result).n, result, NIM_FALSE);
25362 	{
25363 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
25364 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T63_;
25365 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T64_;
25366 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA61_;
25367 		T63_ = NIM_NIL;
25368 		T63_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_498));
25369 		T64_ = NIM_NIL;
25370 		T64_ = newIdentNode__ast_3712(T63_, (*n).info);
25371 		s = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), T64_, c);
25372 		asgnRef((void**) (&(*s).typ), result);
25373 		pragma__pragmas_123(c, s, (*n)._kind_6.sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_499, NIM_FALSE);
25374 	}
25375 	LA61_: ;
25376 	{
25377 		NIM_BOOL T67_;
25378 		T67_ = (NIM_BOOL)0;
25379 		T67_ = (base == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
25380 		if (!(T67_)) goto LA68_;
25381 		T67_ = !((((*result).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 3))&63U)))!=0));
25382 		LA68_: ;
25383 		if (!T67_) goto LA69_;
25384 		(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2)) & 63);
25385 	}
25386 	LA69_: ;
25387 	{
25388 		NIM_BOOL T73_;
25389 		T73_ = (NIM_BOOL)0;
25390 		T73_ = ((*c).inGenericContext == ((NI) 0));
25391 		if (!(T73_)) goto LA74_;
25392 		T73_ = computeRequiresInit__sem_135(c, result);
25393 		LA74_: ;
25394 		if (!T73_) goto LA75_;
25395 		(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
25396 	}
25397 	LA75_: ;
25398 	}BeforeRet_: ;
25399 	return result;
25400 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semAnyRef__sem_4568)25401 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) {
25402 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
25403 	result = NIM_NIL;
25404 	{
25405 		NI T3_;
25406 		T3_ = (NI)0;
25407 		T3_ = len__ast_3198(n);
25408 		if (!(T3_ < ((NI) 1))) goto LA4_;
25409 		result = newConstraint__sem_2929(c, kind);
25410 	}
25411 	goto LA1_;
25412 	LA4_: ;
25413 	{
25414 		NI isCall;
25415 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
25416 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
25417 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
25418 		NIM_BOOL isNilable;
25419 		tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag wrapperKind;
25420 		isCall = ((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
25421 		{
25422 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41))) goto LA9_;
25423 			n_2 = (*n)._kind_6.sons->data[((NI) 0)];
25424 		}
25425 		goto LA7_;
25426 		LA9_: ;
25427 		{
25428 			n_2 = n;
25429 		}
25430 		LA7_: ;
25431 		checkMinSonsLen__semdata_1084(n_2, ((NI) 1), (*(*c).graph).config);
25432 		body = lastSon__ast_4832(n_2);
25433 		{
25434 			NIM_BOOL T14_;
25435 			T14_ = (NIM_BOOL)0;
25436 			T14_ = !((prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
25437 			if (!(T14_)) goto LA15_;
25438 			T14_ = ((*body).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133));
25439 			LA15_: ;
25440 			if (!T14_) goto LA16_;
25441 			t = semObjectNode__sem_4464(c, body, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), (*prev).flags);
25442 		}
25443 		goto LA12_;
25444 		LA16_: ;
25445 		{
25446 			t = semTypeNode__sem_80(c, body, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
25447 		}
25448 		LA12_: ;
25449 		{
25450 			NIM_BOOL T21_;
25451 			T21_ = (NIM_BOOL)0;
25452 			T21_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
25453 			if (!(T21_)) goto LA22_;
25454 			T21_ = !((((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0));
25455 			LA22_: ;
25456 			if (!T21_) goto LA23_;
25457 			t = base__types_63(t);
25458 		}
25459 		LA23_: ;
25460 		{
25461 			NimStringDesc* T29_;
25462 			NimStringDesc* T30_;
25463 			if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63))) goto LA27_;
25464 			T29_ = NIM_NIL;
25465 			T29_ = toHumanStr__ast_5188(kind);
25466 			T30_ = NIM_NIL;
25467 			T30_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_527), T29_);
25468 			liMessage__msgs_1118((*(*c).graph).config, (*n_2).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T30_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_528, NIM_FALSE);
25469 		}
25470 		LA27_: ;
25471 		result = newOrPrevType__sem_2916(kind, prev, c);
25472 		isNilable = NIM_FALSE;
25473 		wrapperKind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0);
25474 		{
25475 			NI i;
25476 			NI colontmp_;
25477 			NI T32_;
25478 			NI i_2;
25479 			i = (NI)0;
25480 			colontmp_ = (NI)0;
25481 			T32_ = (NI)0;
25482 			T32_ = len__ast_3198(n_2);
25483 			colontmp_ = (NI)(T32_ - ((NI) 1));
25484 			i_2 = isCall;
25485 			{
25486 				while (1) {
25487 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ni;
25488 					if (!(i_2 < colontmp_)) goto LA34;
25489 					i = i_2;
25490 					ni = (*n_2)._kind_6.sons->data[i];
25491 					{
25492 						if (!((*ni).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA37_;
25493 						isNilable = NIM_TRUE;
25494 					}
25495 					goto LA35_;
25496 					LA37_: ;
25497 					{
25498 						tyObject_TType__facALICuu8zUj0hjvbTLFg* region;
25499 						region = semTypeNode__sem_80(c, ni, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
25500 						{
25501 							if (!((*region).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45) || (*region).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46))) goto LA42_;
25502 							wrapperKind = (*region).kind;
25503 						}
25504 						goto LA40_;
25505 						LA42_: ;
25506 						{
25507 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T45_;
25508 							T45_ = NIM_NIL;
25509 							T45_ = skipTypes__ast_3735(region, TM__rF9caJawfOjYTjsgLVUSGFA_137);
25510 							if (!!(((*T45_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50) || (*T45_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA46_;
25511 							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);
25512 							addSonSkipIntLit__magicsys_136(result, region, (*c).Sup.idgen);
25513 						}
25514 						goto LA40_;
25515 						LA46_: ;
25516 						{
25517 							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);
25518 							addSonSkipIntLit__magicsys_136(result, region, (*c).Sup.idgen);
25519 						}
25520 						LA40_: ;
25521 					}
25522 					LA35_: ;
25523 					i_2 += ((NI) 1);
25524 				} LA34: ;
25525 			}
25526 		}
25527 		addSonSkipIntLit__magicsys_136(result, t, (*c).Sup.idgen);
25528 		{
25529 			if (!(((*result).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 16))&63U)))!=0)) goto LA51_;
25530 			{
25531 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T55_;
25532 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T58_;
25533 				T55_ = NIM_NIL;
25534 				T55_ = lastSon__ast_3743(result);
25535 				if (!((*T55_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA56_;
25536 				T58_ = NIM_NIL;
25537 				T58_ = lastSon__ast_3743(result);
25538 				(*T58_).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 16)) & 63);
25539 			}
25540 			LA56_: ;
25541 		}
25542 		LA51_: ;
25543 		switch (wrapperKind) {
25544 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
25545 		{
25546 			{
25547 				tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
25548 				if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0)) goto LA62_;
25549 				t_2 = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45), c);
25550 				(*t_2).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4)) & 63);
25551 				rawAddSonNoPropagationOfTypeFlags__ast_4299(t_2, result);
25552 				result = t_2;
25553 			}
25554 			LA62_: ;
25555 		}
25556 		break;
25557 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
25558 		{
25559 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t_3;
25560 			t_3 = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46), c);
25561 			rawAddSonNoPropagationOfTypeFlags__ast_4299(t_3, result);
25562 			result = t_3;
25563 		}
25564 		break;
25565 		default:
25566 		{
25567 		}
25568 		break;
25569 		}
25570 		{
25571 			NIM_BOOL T68_;
25572 			T68_ = (NIM_BOOL)0;
25573 			T68_ = ((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
25574 			if (!(T68_)) goto LA69_;
25575 			T68_ = ((48 &((NU16)1<<((NU)((*(*(*c).graph).config).selectedGC)&15U)))!=0);
25576 			LA69_: ;
25577 			if (!T68_) goto LA70_;
25578 			(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31)) & 63);
25579 		}
25580 		LA70_: ;
25581 	}
25582 	LA1_: ;
25583 	return result;
25584 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semTypeOf2__sem_5878)25585 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeOf2__sem_5878)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
25586 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
25587 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
25588 	NI64 m;
25589 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t;
25590 	tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ T12_;
25591 	result = NIM_NIL;
25592 	T1_ = NIM_NIL;
25593 	T1_ = openScope__lookups_69(c);
25594 	m = IL64(1);
25595 	{
25596 		NI T4_;
25597 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* mode;
25598 		T4_ = (NI)0;
25599 		T4_ = len__ast_3198(n);
25600 		if (!(T4_ == ((NI) 3))) goto LA5_;
25601 		mode = semConstExpr__sem_611(c, (*n)._kind_6.sons->data[((NI) 2)]);
25602 		{
25603 			if (!!(((*mode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA9_;
25604 			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);
25605 		}
25606 		goto LA7_;
25607 		LA9_: ;
25608 		{
25609 			m = (*mode)._kind_1.intVal;
25610 		}
25611 		LA7_: ;
25612 	}
25613 	LA5_: ;
25614 	{
25615 		if (!(m == IL64(1))) goto LA15_;
25616 		T12_ = 8;
25617 	}
25618 	goto LA13_;
25619 	LA15_: ;
25620 	{
25621 		T12_ = 0;
25622 	}
25623 	LA13_: ;
25624 	t = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], T12_);
25625 	closeScope__lookups_101(c);
25626 	fixupTypeOf__sem_5584(c, prev, t);
25627 	result = (*t).typ;
25628 	return result;
25629 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,commonType__sem_237)25630 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, commonType__sem_237)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TType__facALICuu8zUj0hjvbTLFg* y) {
25631 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
25632 	tyObject_TType__facALICuu8zUj0hjvbTLFg* a;
25633 	tyObject_TType__facALICuu8zUj0hjvbTLFg* b;
25634 {	result = NIM_NIL;
25635 	{
25636 		if (!(x == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
25637 		result = x;
25638 		goto BeforeRet_;
25639 	}
25640 	LA3_: ;
25641 	{
25642 		if (!(y == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA7_;
25643 		result = y;
25644 		goto BeforeRet_;
25645 	}
25646 	LA7_: ;
25647 	a = skipTypes__ast_3735(x, TM__rF9caJawfOjYTjsgLVUSGFA_137);
25648 	b = skipTypes__ast_3735(y, TM__rF9caJawfOjYTjsgLVUSGFA_137);
25649 	result = x;
25650 	{
25651 		if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5))) goto LA11_;
25652 		result = y;
25653 	}
25654 	goto LA9_;
25655 	LA11_: ;
25656 	{
25657 		if (!((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6) || (*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5))) goto LA14_;
25658 		result = x;
25659 	}
25660 	goto LA9_;
25661 	LA14_: ;
25662 	{
25663 		if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA17_;
25664 		result = a;
25665 	}
25666 	goto LA9_;
25667 	LA17_: ;
25668 	{
25669 		if (!((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7))) goto LA20_;
25670 		result = b;
25671 	}
25672 	goto LA9_;
25673 	LA20_: ;
25674 	{
25675 		if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA23_;
25676 		{
25677 			NI T27_;
25678 			T27_ = (NI)0;
25679 			T27_ = len__ast_4002(a);
25680 			if (!(T27_ == ((NI) 0))) goto LA28_;
25681 			result = a;
25682 		}
25683 		goto LA25_;
25684 		LA28_: ;
25685 		{
25686 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T31_;
25687 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T32_;
25688 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T33_;
25689 			T31_ = nextTypeId__ast_3151((*c).Sup.idgen);
25690 			result = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8), T31_, (*a).owner);
25691 			T32_ = nextTypeId__ast_3151((*c).Sup.idgen);
25692 			T33_ = NIM_NIL;
25693 			T33_ = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), T32_, (*a).owner);
25694 			rawAddSon__ast_4288(result, T33_, NIM_TRUE);
25695 		}
25696 		LA25_: ;
25697 	}
25698 	goto LA9_;
25699 	LA23_: ;
25700 	{
25701 		NIM_BOOL T35_;
25702 		NI idx;
25703 		T35_ = (NIM_BOOL)0;
25704 		T35_ = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16) || (*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19) || (*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
25705 		if (!(T35_)) goto LA36_;
25706 		T35_ = ((*a).kind == (*b).kind);
25707 		LA36_: ;
25708 		if (!T35_) goto LA37_;
25709 		idx = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16));
25710 		{
25711 			if (!((*(*a).sons->data[idx]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3))) goto LA41_;
25712 			result = y;
25713 			goto BeforeRet_;
25714 		}
25715 		LA41_: ;
25716 	}
25717 	goto LA9_;
25718 	LA37_: ;
25719 	{
25720 		NIM_BOOL T44_;
25721 		NIM_BOOL T45_;
25722 		NI T48_;
25723 		NI T49_;
25724 		tyObject_TType__facALICuu8zUj0hjvbTLFg* nt;
25725 		T44_ = (NIM_BOOL)0;
25726 		T45_ = (NIM_BOOL)0;
25727 		T45_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
25728 		if (!(T45_)) goto LA46_;
25729 		T45_ = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
25730 		LA46_: ;
25731 		T44_ = T45_;
25732 		if (!(T44_)) goto LA47_;
25733 		T48_ = (NI)0;
25734 		T48_ = len__ast_4002(a);
25735 		T49_ = (NI)0;
25736 		T49_ = len__ast_4002(b);
25737 		T44_ = (T48_ == T49_);
25738 		LA47_: ;
25739 		if (!T44_) goto LA50_;
25740 		nt = NIM_NIL;
25741 		{
25742 			NI i;
25743 			NI colontmp_;
25744 			NI i_2;
25745 			i = (NI)0;
25746 			colontmp_ = (NI)0;
25747 			colontmp_ = len__ast_4002(a);
25748 			i_2 = ((NI) 0);
25749 			{
25750 				while (1) {
25751 					NIM_BOOL aEmpty;
25752 					NIM_BOOL bEmpty;
25753 					if (!(i_2 < colontmp_)) goto LA54;
25754 					i = i_2;
25755 					aEmpty = isEmptyContainer__types_3617((*a).sons->data[i]);
25756 					bEmpty = isEmptyContainer__types_3617((*b).sons->data[i]);
25757 					{
25758 						if (!!((aEmpty == bEmpty))) goto LA57_;
25759 						{
25760 							tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T63_;
25761 							if (!(nt == 0)) goto LA61_;
25762 							T63_ = nextTypeId__ast_3151((*c).Sup.idgen);
25763 							nt = copyType__ast_4046(a, T63_, (*a).owner);
25764 							copyTypeProps__modulegraphs_8872((*c).graph, ((NI) ((*(*c).Sup.idgen).module)), nt, a);
25765 						}
25766 						LA61_: ;
25767 						{
25768 							if (!aEmpty) goto LA66_;
25769 							asgnRef((void**) (&(*nt).sons->data[i]), (*b).sons->data[i]);
25770 						}
25771 						goto LA64_;
25772 						LA66_: ;
25773 						{
25774 							asgnRef((void**) (&(*nt).sons->data[i]), (*a).sons->data[i]);
25775 						}
25776 						LA64_: ;
25777 					}
25778 					LA57_: ;
25779 					i_2 += ((NI) 1);
25780 				} LA54: ;
25781 			}
25782 		}
25783 		{
25784 			if (!!((nt == 0))) goto LA71_;
25785 			result = nt;
25786 		}
25787 		LA71_: ;
25788 	}
25789 	goto LA9_;
25790 	LA50_: ;
25791 	{
25792 		NIM_BOOL T74_;
25793 		T74_ = (NIM_BOOL)0;
25794 		T74_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20));
25795 		if (!(T74_)) goto LA75_;
25796 		T74_ = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20));
25797 		LA75_: ;
25798 		if (!T74_) goto LA76_;
25799 		{
25800 			NIM_BOOL T80_;
25801 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T83_;
25802 			T80_ = (NIM_BOOL)0;
25803 			T80_ = sameType__types_1815(a, b, 0);
25804 			if (!!(T80_)) goto LA81_;
25805 			T83_ = NIM_NIL;
25806 			T83_ = skipTypes__ast_3735(a, TM__rF9caJawfOjYTjsgLVUSGFA_31);
25807 			result = skipIntLit__magicsys_124(T83_, (*c).Sup.idgen);
25808 		}
25809 		LA81_: ;
25810 	}
25811 	goto LA9_;
25812 	LA76_: ;
25813 	{
25814 		NIM_BOOL T85_;
25815 		T85_ = (NIM_BOOL)0;
25816 		T85_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
25817 		if (!(T85_)) goto LA86_;
25818 		T85_ = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
25819 		LA86_: ;
25820 		if (!T85_) goto LA87_;
25821 		{
25822 			NIM_BOOL T91_;
25823 			T91_ = (NIM_BOOL)0;
25824 			T91_ = ((*a).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
25825 			if (!(T91_)) goto LA92_;
25826 			T91_ = !(((*b).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)));
25827 			LA92_: ;
25828 			if (!T91_) goto LA93_;
25829 			result = x;
25830 		}
25831 		goto LA89_;
25832 		LA93_: ;
25833 		{
25834 			NIM_BOOL T96_;
25835 			tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ T97_;
25836 			T96_ = (NIM_BOOL)0;
25837 			T97_ = (tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ)0;
25838 			T97_ = compatibleEffects__types_3416(a, b);
25839 			T96_ = !((T97_ == ((tyEnum_EffectsCompat__xpkKZ2yw9a7eyibhzepiEFQ) 0)));
25840 			if (T96_) goto LA98_;
25841 			T96_ = (((((*b).flags & 130) & ~ ((*a).flags & 130))==0)&&(((*b).flags & 130) != ((*a).flags & 130)));
25842 			LA98_: ;
25843 			if (!T96_) goto LA99_;
25844 			result = y;
25845 		}
25846 		goto LA89_;
25847 		LA99_: ;
25848 		LA89_: ;
25849 	}
25850 	goto LA9_;
25851 	LA87_: ;
25852 	{
25853 		tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag k;
25854 		k = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0);
25855 		{
25856 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T110_;
25857 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T111_;
25858 			if (!((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21))) goto LA104_;
25859 			k = (*a).kind;
25860 			{
25861 				if (!!(((*b).kind == (*a).kind))) goto LA108_;
25862 				result = x;
25863 				goto BeforeRet_;
25864 			}
25865 			LA108_: ;
25866 			T110_ = NIM_NIL;
25867 			T110_ = lastSon__ast_3743(a);
25868 			a = skipTypes__ast_3735(T110_, TM__rF9caJawfOjYTjsgLVUSGFA_331);
25869 			T111_ = NIM_NIL;
25870 			T111_ = lastSon__ast_3743(b);
25871 			b = skipTypes__ast_3735(T111_, TM__rF9caJawfOjYTjsgLVUSGFA_331);
25872 		}
25873 		LA104_: ;
25874 		{
25875 			NIM_BOOL T114_;
25876 			T114_ = (NIM_BOOL)0;
25877 			T114_ = ((*a).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
25878 			if (!(T114_)) goto LA115_;
25879 			T114_ = ((*b).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
25880 			LA115_: ;
25881 			if (!T114_) goto LA116_;
25882 			result = commonSuperclass__types_2738(a, b);
25883 			{
25884 				NIM_BOOL T120_;
25885 				T120_ = (NIM_BOOL)0;
25886 				T120_ = (result == 0);
25887 				if (T120_) goto LA121_;
25888 				T120_ = (result == a);
25889 				LA121_: ;
25890 				if (!T120_) goto LA122_;
25891 				result = x;
25892 				goto BeforeRet_;
25893 			}
25894 			LA122_: ;
25895 			{
25896 				if (!(result == b)) goto LA126_;
25897 				result = y;
25898 				goto BeforeRet_;
25899 			}
25900 			LA126_: ;
25901 			{
25902 				NIM_BOOL T130_;
25903 				tyObject_TType__facALICuu8zUj0hjvbTLFg* r;
25904 				tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T134_;
25905 				T130_ = (NIM_BOOL)0;
25906 				T130_ = !((k == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
25907 				if (!(T130_)) goto LA131_;
25908 				T130_ = !(((*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11)));
25909 				LA131_: ;
25910 				if (!T130_) goto LA132_;
25911 				r = result;
25912 				T134_ = nextTypeId__ast_3151((*c).Sup.idgen);
25913 				result = newType__ast_3896(k, T134_, (*r).owner);
25914 				addSonSkipIntLit__magicsys_136(result, r, (*c).Sup.idgen);
25915 			}
25916 			LA132_: ;
25917 		}
25918 		LA116_: ;
25919 	}
25920 	LA9_: ;
25921 	}BeforeRet_: ;
25922 	return result;
25923 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semWhen__sem_515)25924 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semWhen__sem_515)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL semCheck) {
25925 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
25926 	NIM_BOOL whenNimvm;
25927 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
25928 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
25929 {	result = NIM_NIL;
25930 	result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
25931 	whenNimvm = NIM_FALSE;
25932 	T1_ = NIM_NIL;
25933 	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*) newObj((&NTIptype__qt2Wh0elFEz5fH0l7yusLw_), sizeof(tyObject_TType__facALICuu8zUj0hjvbTLFg));
25934 	(*T1_).Sup.Sup.m_type = (&NTIttype__facALICuu8zUj0hjvbTLFg_);
25935 	(*T1_).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6);
25936 	typ = T1_;
25937 	{
25938 		NIM_BOOL T4_;
25939 		NIM_BOOL T5_;
25940 		NI T6_;
25941 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* exprNode;
25942 		T4_ = (NIM_BOOL)0;
25943 		T5_ = (NIM_BOOL)0;
25944 		T6_ = (NI)0;
25945 		T6_ = len__ast_3198(n);
25946 		T5_ = (T6_ == ((NI) 2));
25947 		if (!(T5_)) goto LA7_;
25948 		T5_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86));
25949 		LA7_: ;
25950 		T4_ = T5_;
25951 		if (!(T4_)) goto LA8_;
25952 		T4_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88));
25953 		LA8_: ;
25954 		if (!T4_) goto LA9_;
25955 		exprNode = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)];
25956 		{
25957 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T15_;
25958 			if (!((*exprNode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA13_;
25959 			T15_ = NIM_NIL;
25960 			T15_ = lookUp__lookups_1211(c, exprNode);
25961 			whenNimvm = ((*T15_).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 263));
25962 		}
25963 		goto LA11_;
25964 		LA13_: ;
25965 		{
25966 			if (!((*exprNode).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA17_;
25967 			whenNimvm = ((*(*exprNode)._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 263));
25968 		}
25969 		goto LA11_;
25970 		LA17_: ;
25971 		LA11_: ;
25972 		{
25973 			if (!whenNimvm) goto LA21_;
25974 			(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 8)) & 31);
25975 		}
25976 		LA21_: ;
25977 	}
25978 	LA9_: ;
25979 	{
25980 		NI i;
25981 		NI colontmp_;
25982 		NI i_2;
25983 		i = (NI)0;
25984 		colontmp_ = (NI)0;
25985 		colontmp_ = len__ast_3198(n);
25986 		i_2 = ((NI) 0);
25987 		{
25988 			while (1) {
25989 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
25990 				if (!(i_2 < colontmp_)) goto LA25;
25991 				i = i_2;
25992 				it = (*n)._kind_6.sons->data[i];
25993 				switch ((*it).kind) {
25994 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
25995 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 49):
25996 				{
25997 					checkSonsLen__semdata_1077(it, ((NI) 2), (*(*c).graph).config);
25998 					{
25999 						if (!whenNimvm) goto LA29_;
26000 						{
26001 							if (!semCheck) goto LA33_;
26002 							asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 1)]), semExpr__sem_52(c, (*it)._kind_6.sons->data[((NI) 1)], 0));
26003 							typ = commonType__sem_237(c, typ, (*(*it)._kind_6.sons->data[((NI) 1)]).typ);
26004 						}
26005 						LA33_: ;
26006 						result = n;
26007 					}
26008 					goto LA27_;
26009 					LA29_: ;
26010 					{
26011 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
26012 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T36_;
26013 						T36_ = NIM_NIL;
26014 						T36_ = semConstExpr__sem_611(c, (*it)._kind_6.sons->data[((NI) 0)]);
26015 						e = forceBool__sem_2869(c, T36_);
26016 						{
26017 							if (!!(((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)))) goto LA39_;
26018 						}
26019 						goto LA37_;
26020 						LA39_: ;
26021 						{
26022 							NIM_BOOL T42_;
26023 							T42_ = (NIM_BOOL)0;
26024 							T42_ = !(((*e)._kind_1.intVal == IL64(0)));
26025 							if (!(T42_)) goto LA43_;
26026 							T42_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
26027 							LA43_: ;
26028 							if (!T42_) goto LA44_;
26029 							{
26030 								if (!semCheck) goto LA48_;
26031 								result = semExpr__sem_52(c, (*it)._kind_6.sons->data[((NI) 1)], 0);
26032 							}
26033 							goto LA46_;
26034 							LA48_: ;
26035 							{
26036 								result = (*it)._kind_6.sons->data[((NI) 1)];
26037 							}
26038 							LA46_: ;
26039 							goto BeforeRet_;
26040 						}
26041 						goto LA37_;
26042 						LA44_: ;
26043 						LA37_: ;
26044 					}
26045 					LA27_: ;
26046 				}
26047 				break;
26048 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
26049 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 50):
26050 				{
26051 					checkSonsLen__semdata_1077(it, ((NI) 1), (*(*c).graph).config);
26052 					{
26053 						NIM_BOOL T54_;
26054 						T54_ = (NIM_BOOL)0;
26055 						T54_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
26056 						if (T54_) goto LA55_;
26057 						T54_ = whenNimvm;
26058 						LA55_: ;
26059 						if (!T54_) goto LA56_;
26060 						{
26061 							if (!semCheck) goto LA60_;
26062 							asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 0)]), semExpr__sem_52(c, (*it)._kind_6.sons->data[((NI) 0)], 0));
26063 							typ = commonType__sem_237(c, typ, (*(*it)._kind_6.sons->data[((NI) 0)]).typ);
26064 						}
26065 						LA60_: ;
26066 						{
26067 							if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA64_;
26068 							result = (*it)._kind_6.sons->data[((NI) 0)];
26069 						}
26070 						LA64_: ;
26071 					}
26072 					LA56_: ;
26073 				}
26074 				break;
26075 				default:
26076 				{
26077 					illFormedAst__semdata_1071(n, (*(*c).graph).config);
26078 				}
26079 				break;
26080 				}
26081 				i_2 += ((NI) 1);
26082 			} LA25: ;
26083 		}
26084 	}
26085 	{
26086 		if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA69_;
26087 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
26088 	}
26089 	LA69_: ;
26090 	{
26091 		if (!whenNimvm) goto LA73_;
26092 		asgnRef((void**) (&(*result).typ), typ);
26093 	}
26094 	LA73_: ;
26095 	}BeforeRet_: ;
26096 	return result;
26097 }
N_NIMCALL(void,reset__sem_3561)26098 N_LIB_PRIVATE N_NIMCALL(void, reset__sem_3561)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj) {
26099 	unsureAsgnRef((void**)&(*obj).typ, NIM_NIL);
26100 	(*obj).info.line = 0;
26101 	(*obj).info.col = 0;
26102 	(*obj).info.fileIndex = 0;
26103 	switch ((*obj).kind) {
26104 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
26105 	(*obj)._kind_1.intVal = 0;
26106 	break;
26107 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19):
26108 	(*obj)._kind_2.floatVal = 0;
26109 	break;
26110 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
26111 	unsureAsgnRef((void**)&(*obj)._kind_3.strVal, NIM_NIL);
26112 	break;
26113 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
26114 	unsureAsgnRef((void**)&(*obj)._kind_4.sym, NIM_NIL);
26115 	break;
26116 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
26117 	unsureAsgnRef((void**)&(*obj)._kind_5.ident, NIM_NIL);
26118 	break;
26119 	default:
26120 	unsureAsgnRef((void**)&(*obj)._kind_6.sons, NIM_NIL);
26121 	break;
26122 	}
26123 	(*obj).kind = 0;
26124 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,semTypeIdent__sem_3474)26125 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, semTypeIdent__sem_3474)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
26126 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
26127 {	result = NIM_NIL;
26128 	{
26129 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
26130 		result = getGenSym__semdata_408(c, (*n)._kind_4.sym);
26131 	}
26132 	goto LA1_;
26133 	LA3_: ;
26134 	{
26135 		result = pickSym__lookups_1646(c, n, 152, 0);
26136 		{
26137 			if (!(result == 0)) goto LA8_;
26138 			result = qualifiedLookUp__lookups_1233(c, n, 3);
26139 		}
26140 		LA8_: ;
26141 		{
26142 			if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA12_;
26143 			markUsed__sigmatch_85(c, (*n).info, result);
26144 			{
26145 				NIM_BOOL T16_;
26146 				tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T32_;
26147 				T16_ = (NIM_BOOL)0;
26148 				T16_ = ((*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
26149 				if (!(T16_)) goto LA17_;
26150 				T16_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
26151 				LA17_: ;
26152 				if (!T16_) goto LA18_;
26153 				{
26154 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* bound;
26155 					if (!(((NI) 0) < (*c).inGenericInst)) goto LA22_;
26156 					bound = (*(*(*result).typ).sons->data[((NI) 0)]).sym;
26157 					{
26158 						if (!!((bound == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA26_;
26159 						result = bound;
26160 						goto BeforeRet_;
26161 					}
26162 					LA26_: ;
26163 					goto BeforeRet_;
26164 				}
26165 				LA22_: ;
26166 				{
26167 					if (!((*(*result).typ).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA30_;
26168 					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);
26169 					result = errorSym__lookups_506(c, n);
26170 					goto BeforeRet_;
26171 				}
26172 				LA30_: ;
26173 				T32_ = nextSymId__ast_3132((*c).Sup.idgen);
26174 				result = copySym__ast_4054((*(*result).typ).sym, T32_);
26175 				asgnRef((void**) (&(*result).typ), exactReplica__ast_4051((*result).typ));
26176 				(*(*result).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)) & 63);
26177 			}
26178 			LA18_: ;
26179 			{
26180 				if (!((*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4))) goto LA35_;
26181 				{
26182 					NIM_BOOL T39_;
26183 					NIM_BOOL T40_;
26184 					NI T42_;
26185 					T39_ = (NIM_BOOL)0;
26186 					T40_ = (NIM_BOOL)0;
26187 					T40_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12));
26188 					if (!(T40_)) goto LA41_;
26189 					T42_ = (NI)0;
26190 					T42_ = len__ast_4002((*result).typ);
26191 					T40_ = (T42_ == ((NI) 0));
26192 					LA41_: ;
26193 					T39_ = T40_;
26194 					if (!(T39_)) goto LA43_;
26195 					T39_ = (((*(*result).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30))&63U)))!=0);
26196 					LA43_: ;
26197 					if (!T39_) goto LA44_;
26198 					transitionGenericParamToType__ast_4390(result);
26199 					(*(*result).typ).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 30)) & 63));
26200 					goto BeforeRet_;
26201 				}
26202 				goto LA37_;
26203 				LA44_: ;
26204 				{
26205 					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);
26206 					result = errorSym__lookups_506(c, n);
26207 					goto BeforeRet_;
26208 				}
26209 				LA37_: ;
26210 			}
26211 			LA35_: ;
26212 			{
26213 				NIM_BOOL T49_;
26214 				tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ ov;
26215 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* amb;
26216 				T49_ = (NIM_BOOL)0;
26217 				T49_ = !(((*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7)));
26218 				if (!(T49_)) goto LA50_;
26219 				T49_ = !(((*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 24) || (*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 17) || (*result).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 18)));
26220 				LA50_: ;
26221 				if (!T49_) goto LA51_;
26222 				nimZeroMem((void*)(&ov), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
26223 				amb = initOverloadIter__lookups_1374((&ov), c, n);
26224 				{
26225 					while (1) {
26226 						NIM_BOOL T55_;
26227 						T55_ = (NIM_BOOL)0;
26228 						T55_ = !((amb == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
26229 						if (!(T55_)) goto LA56_;
26230 						T55_ = !(((*amb).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7)));
26231 						LA56_: ;
26232 						if (!T55_) goto LA54;
26233 						amb = nextOverloadIter__lookups_1528((&ov), c, n);
26234 					} LA54: ;
26235 				}
26236 				{
26237 					if (!!((amb == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA59_;
26238 					result = amb;
26239 				}
26240 				goto LA57_;
26241 				LA59_: ;
26242 				{
26243 					{
26244 						if (!!(((*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0)))) goto LA64_;
26245 						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);
26246 					}
26247 					LA64_: ;
26248 					result = errorSym__lookups_506(c, n);
26249 					goto BeforeRet_;
26250 				}
26251 				LA57_: ;
26252 			}
26253 			LA51_: ;
26254 			{
26255 				tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q oldInfo;
26256 				if (!!(((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)))) goto LA68_;
26257 				oldInfo = (*n).info;
26258 				reset__sem_3561(n);
26259 				transitionNoneToSym__ast_4385(n);
26260 				asgnRef((void**) (&(*n)._kind_4.sym), result);
26261 				(*n).info = oldInfo;
26262 				asgnRef((void**) (&(*n).typ), (*result).typ);
26263 			}
26264 			LA68_: ;
26265 		}
26266 		goto LA10_;
26267 		LA12_: ;
26268 		{
26269 			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);
26270 			result = errorSym__lookups_506(c, n);
26271 		}
26272 		LA10_: ;
26273 	}
26274 	LA1_: ;
26275 	}BeforeRet_: ;
26276 	return result;
26277 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,symFromExpectedTypeNode__sem_5854)26278 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, symFromExpectedTypeNode__sem_5854)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
26279 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
26280 	result = NIM_NIL;
26281 	{
26282 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4))) goto LA3_;
26283 		result = symFromType__sem_530(c, (*n).typ, (*n).info);
26284 	}
26285 	goto LA1_;
26286 	LA3_: ;
26287 	{
26288 		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);
26289 		result = errorSym__lookups_506(c, n);
26290 	}
26291 	LA1_: ;
26292 	return result;
26293 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semArrayIndex__sem_3367)26294 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semArrayIndex__sem_3367)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
26295 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26296 {	result = NIM_NIL;
26297 	{
26298 		NIM_BOOL T3_;
26299 		T3_ = (NIM_BOOL)0;
26300 		T3_ = isRange__trees_213(n);
26301 		if (!T3_) goto LA4_;
26302 		result = semRangeAux__sem_3219(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26303 	}
26304 	goto LA1_;
26305 	LA4_: ;
26306 	{
26307 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
26308 		e = semExprWithType__sem_56(c, n, 512);
26309 		{
26310 			if (!((*(*e).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61))) goto LA9_;
26311 			result = makeRangeWithStaticExpr__semdata_979(c, (*(*e).typ).n);
26312 		}
26313 		goto LA7_;
26314 		LA9_: ;
26315 		{
26316 			if (!((*e).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6) && (*e).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA12_;
26317 			{
26318 				NimStringDesc* T18_;
26319 				NimStringDesc* T19_;
26320 				if (!((*e)._kind_1.intVal < IL64(0))) goto LA16_;
26321 				T18_ = NIM_NIL;
26322 				T19_ = NIM_NIL;
26323 				T19_ = dollar___systemZdollars_6((*e)._kind_1.intVal);
26324 				T18_ = rawNewString((T19_ ? T19_->Sup.len : 0) + 40);
26325 appendString(T18_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_542));
26326 appendString(T18_, T19_);
26327 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T18_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_543, NIM_FALSE);
26328 			}
26329 			LA16_: ;
26330 			result = makeRangeType__semdata_1039(c, IL64(0), (NI64)((*e)._kind_1.intVal - IL64(1)), (*n).info, (*e).typ);
26331 		}
26332 		goto LA7_;
26333 		LA12_: ;
26334 		{
26335 			NIM_BOOL T21_;
26336 			T21_ = (NIM_BOOL)0;
26337 			T21_ = ((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
26338 			if (!(T21_)) goto LA22_;
26339 			T21_ = ((*(*e).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
26340 			LA22_: ;
26341 			if (!T21_) goto LA23_;
26342 			{
26343 				if (!!(((*(*e)._kind_4.sym).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA27_;
26344 				result = semArrayIndex__sem_3367(c, (*(*e)._kind_4.sym).ast);
26345 				goto BeforeRet_;
26346 			}
26347 			LA27_: ;
26348 			{
26349 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T31_;
26350 				NIM_BOOL T32_;
26351 				tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
26352 				T31_ = NIM_NIL;
26353 				T31_ = lastSon__ast_3743((*e).typ);
26354 				T32_ = (NIM_BOOL)0;
26355 				T32_ = isOrdinalType__types_299(T31_, NIM_FALSE);
26356 				if (!!(T32_)) goto LA33_;
26357 				{
26358 					NI T37_;
26359 					T37_ = (NI)0;
26360 					T37_ = safeLen__ast_3191(n);
26361 					if (!(((NI) 1) < T37_)) goto LA38_;
26362 					info = (*(*n)._kind_6.sons->data[((NI) 1)]).info;
26363 				}
26364 				goto LA35_;
26365 				LA38_: ;
26366 				{
26367 					info = (*n).info;
26368 				}
26369 				LA35_: ;
26370 				liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_339), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_544, NIM_FALSE);
26371 			}
26372 			LA33_: ;
26373 			result = makeRangeWithStaticExpr__semdata_979(c, e);
26374 			{
26375 				if (!(((NI) 0) < (*c).inGenericContext)) goto LA43_;
26376 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9)) & 63);
26377 			}
26378 			LA43_: ;
26379 		}
26380 		goto LA7_;
26381 		LA23_: ;
26382 		{
26383 			NIM_BOOL T46_;
26384 			T46_ = (NIM_BOOL)0;
26385 			T46_ = ((*e).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) && (*e).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32) || (*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
26386 			if (!(T46_)) goto LA47_;
26387 			T46_ = hasUnresolvedArgs__sem_142(c, e);
26388 			LA47_: ;
26389 			if (!T46_) goto LA48_;
26390 			{
26391 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T52_;
26392 				NIM_BOOL T53_;
26393 				T52_ = NIM_NIL;
26394 				T52_ = skipTypes__ast_3735((*e).typ, TM__rF9caJawfOjYTjsgLVUSGFA_545);
26395 				T53_ = (NIM_BOOL)0;
26396 				T53_ = isOrdinalType__types_299(T52_, NIM_FALSE);
26397 				if (!!(T53_)) goto LA54_;
26398 				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);
26399 			}
26400 			LA54_: ;
26401 			result = makeRangeWithStaticExpr__semdata_979(c, e);
26402 		}
26403 		goto LA7_;
26404 		LA48_: ;
26405 		{
26406 			if (!((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA57_;
26407 			result = skipTypes__ast_3735((*e).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123);
26408 		}
26409 		goto LA7_;
26410 		LA57_: ;
26411 		{
26412 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
26413 			x = semConstExpr__sem_611(c, e);
26414 			{
26415 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T64_;
26416 				if (!((*x).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6) && (*x).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA62_;
26417 				T64_ = NIM_NIL;
26418 				T64_ = skipTypes__ast_3735((*x).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123);
26419 				result = makeRangeType__semdata_1039(c, IL64(0), (NI64)((*x)._kind_1.intVal - IL64(1)), (*n).info, T64_);
26420 			}
26421 			goto LA60_;
26422 			LA62_: ;
26423 			{
26424 				result = skipTypes__ast_3735((*x).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123);
26425 			}
26426 			LA60_: ;
26427 		}
26428 		LA7_: ;
26429 	}
26430 	LA1_: ;
26431 	}BeforeRet_: ;
26432 	return result;
26433 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semArray__sem_3419)26434 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semArray__sem_3419)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26435 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26436 	tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26437 	result = NIM_NIL;
26438 	base = NIM_NIL;
26439 	{
26440 		NI T3_;
26441 		tyObject_TType__facALICuu8zUj0hjvbTLFg* indx;
26442 		tyObject_TType__facALICuu8zUj0hjvbTLFg* indxB;
26443 		T3_ = (NI)0;
26444 		T3_ = len__ast_3198(n);
26445 		if (!(T3_ == ((NI) 3))) goto LA4_;
26446 		indx = semArrayIndex__sem_3367(c, (*n)._kind_6.sons->data[((NI) 1)]);
26447 		indxB = indx;
26448 		{
26449 			if (!((*indxB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*indxB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4) || (*indxB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46))) goto LA8_;
26450 			indxB = lastSon__ast_3743(indxB);
26451 		}
26452 		LA8_: ;
26453 		{
26454 			if (!!(((*indxB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*indxB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60) || (*indxB).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61)))) goto LA12_;
26455 			{
26456 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T16_;
26457 				T16_ = NIM_NIL;
26458 				T16_ = skipTypes__ast_3735(indxB, TM__rF9caJawfOjYTjsgLVUSGFA_31);
26459 				if (!((*T16_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) || (*T16_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44))) goto LA17_;
26460 			}
26461 			goto LA14_;
26462 			LA17_: ;
26463 			{
26464 				NIM_BOOL T20_;
26465 				T20_ = (NIM_BOOL)0;
26466 				T20_ = isOrdinalType__types_299(indxB, NIM_FALSE);
26467 				if (!!(T20_)) goto LA21_;
26468 				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);
26469 			}
26470 			goto LA14_;
26471 			LA21_: ;
26472 			{
26473 				NIM_BOOL T24_;
26474 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T27_;
26475 				NimStringDesc* T28_;
26476 				NimStringDesc* T29_;
26477 				T24_ = (NIM_BOOL)0;
26478 				T24_ = enumHasHoles__types_287(indxB);
26479 				if (!T24_) goto LA25_;
26480 				T27_ = NIM_NIL;
26481 				T27_ = skipTypes__ast_3735(indxB, TM__rF9caJawfOjYTjsgLVUSGFA_31);
26482 				T28_ = NIM_NIL;
26483 				T28_ = typeToString__types_50(T27_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
26484 				T29_ = NIM_NIL;
26485 				T29_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_34), T28_);
26486 				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);
26487 			}
26488 			goto LA14_;
26489 			LA25_: ;
26490 			LA14_: ;
26491 		}
26492 		LA12_: ;
26493 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 2)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26494 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), prev, c);
26495 		rawAddSonNoPropagationOfTypeFlags__ast_4299(result, indx);
26496 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
26497 	}
26498 	goto LA1_;
26499 	LA4_: ;
26500 	{
26501 		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);
26502 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
26503 	}
26504 	LA1_: ;
26505 	return result;
26506 }
N_NIMCALL(void,semContainerArg__sem_3146)26507 N_LIB_PRIVATE N_NIMCALL(void, semContainerArg__sem_3146)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* kindStr, tyObject_TType__facALICuu8zUj0hjvbTLFg* result) {
26508 	{
26509 		NI T3_;
26510 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26511 		T3_ = (NI)0;
26512 		T3_ = len__ast_3198(n);
26513 		if (!(T3_ == ((NI) 2))) goto LA4_;
26514 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26515 		{
26516 			NimStringDesc* T10_;
26517 			NimStringDesc* T11_;
26518 			if (!((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63))) goto LA8_;
26519 			T10_ = NIM_NIL;
26520 			T10_ = typeToString__types_50(base, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
26521 			T11_ = NIM_NIL;
26522 			T11_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_551), T10_);
26523 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_552, NIM_FALSE);
26524 		}
26525 		LA8_: ;
26526 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
26527 	}
26528 	goto LA1_;
26529 	LA4_: ;
26530 	{
26531 		NimStringDesc* T13_;
26532 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T14_;
26533 		T13_ = NIM_NIL;
26534 		T13_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_553), kindStr);
26535 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T13_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_554, NIM_FALSE);
26536 		T14_ = NIM_NIL;
26537 		T14_ = errorType__semdata_1002(c);
26538 		addSonSkipIntLit__magicsys_136(result, T14_, (*c).Sup.idgen);
26539 	}
26540 	LA1_: ;
26541 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semContainer__sem_3160)26542 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) {
26543 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26544 	result = NIM_NIL;
26545 	result = newOrPrevType__sem_2916(kind, prev, c);
26546 	semContainerArg__sem_3146(c, n, kindStr, result);
26547 	return result;
26548 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semRange__sem_3307)26549 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semRange__sem_3307)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26550 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26551 	result = NIM_NIL;
26552 	result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
26553 	{
26554 		NI T3_;
26555 		T3_ = (NI)0;
26556 		T3_ = len__ast_3198(n);
26557 		if (!(T3_ == ((NI) 2))) goto LA4_;
26558 		{
26559 			NIM_BOOL T8_;
26560 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
26561 			T8_ = (NIM_BOOL)0;
26562 			T8_ = isRange__trees_213((*n)._kind_6.sons->data[((NI) 1)]);
26563 			if (!T8_) goto LA9_;
26564 			result = semRangeAux__sem_3219(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
26565 			n_2 = (*result).n;
26566 			{
26567 				NIM_BOOL T13_;
26568 				T13_ = (NIM_BOOL)0;
26569 				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));
26570 				if (!(T13_)) goto LA14_;
26571 				T13_ = (IL64(0) < (*(*n_2)._kind_6.sons->data[((NI) 0)])._kind_1.intVal);
26572 				LA14_: ;
26573 				if (!T13_) goto LA15_;
26574 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
26575 			}
26576 			goto LA11_;
26577 			LA15_: ;
26578 			{
26579 				NIM_BOOL T18_;
26580 				T18_ = (NIM_BOOL)0;
26581 				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));
26582 				if (!(T18_)) goto LA19_;
26583 				T18_ = ((*(*n_2)._kind_6.sons->data[((NI) 1)])._kind_1.intVal < IL64(0));
26584 				LA19_: ;
26585 				if (!T18_) goto LA20_;
26586 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
26587 			}
26588 			goto LA11_;
26589 			LA20_: ;
26590 			{
26591 				NIM_BOOL T23_;
26592 				T23_ = (NIM_BOOL)0;
26593 				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));
26594 				if (!(T23_)) goto LA24_;
26595 				T23_ = (0.0 < (*(*n_2)._kind_6.sons->data[((NI) 0)])._kind_2.floatVal);
26596 				LA24_: ;
26597 				if (!T23_) goto LA25_;
26598 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
26599 			}
26600 			goto LA11_;
26601 			LA25_: ;
26602 			{
26603 				NIM_BOOL T28_;
26604 				T28_ = (NIM_BOOL)0;
26605 				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));
26606 				if (!(T28_)) goto LA29_;
26607 				T28_ = ((*(*n_2)._kind_6.sons->data[((NI) 1)])._kind_2.floatVal < 0.0);
26608 				LA29_: ;
26609 				if (!T28_) goto LA30_;
26610 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
26611 			}
26612 			goto LA11_;
26613 			LA30_: ;
26614 			LA11_: ;
26615 		}
26616 		goto LA6_;
26617 		LA9_: ;
26618 		{
26619 			{
26620 				NIM_BOOL T35_;
26621 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T37_;
26622 				T35_ = (NIM_BOOL)0;
26623 				T35_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29));
26624 				if (!(T35_)) goto LA36_;
26625 				T37_ = NIM_NIL;
26626 				T37_ = considerQuotedIdent__lookups_28(c, (*(*n)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
26627 				T35_ = eqStrings((*T37_).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_557));
26628 				LA36_: ;
26629 				if (!T35_) goto LA38_;
26630 				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);
26631 			}
26632 			goto LA33_;
26633 			LA38_: ;
26634 			{
26635 				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);
26636 			}
26637 			LA33_: ;
26638 			result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
26639 		}
26640 		LA6_: ;
26641 	}
26642 	goto LA1_;
26643 	LA4_: ;
26644 	{
26645 		NimStringDesc* T42_;
26646 		T42_ = NIM_NIL;
26647 		T42_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_553), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_562));
26648 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T42_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_563, NIM_FALSE);
26649 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
26650 	}
26651 	LA1_: ;
26652 	return result;
26653 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semSet__sem_3120)26654 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semSet__sem_3120)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26655 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26656 	result = NIM_NIL;
26657 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19), prev, c);
26658 	{
26659 		NIM_BOOL T3_;
26660 		NI T4_;
26661 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26662 		T3_ = (NIM_BOOL)0;
26663 		T4_ = (NI)0;
26664 		T4_ = len__ast_3198(n);
26665 		T3_ = (T4_ == ((NI) 2));
26666 		if (!(T3_)) goto LA5_;
26667 		T3_ = !(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
26668 		LA5_: ;
26669 		if (!T3_) goto LA6_;
26670 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26671 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
26672 		{
26673 			if (!((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11) || (*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4) || (*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46))) goto LA10_;
26674 			base = lastSon__ast_3743(base);
26675 		}
26676 		LA10_: ;
26677 		{
26678 			if (!!(((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12) || (*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9)))) goto LA14_;
26679 			{
26680 				NIM_BOOL T18_;
26681 				T18_ = (NIM_BOOL)0;
26682 				T18_ = isOrdinalType__types_299(base, NIM_TRUE);
26683 				if (!!(T18_)) goto LA19_;
26684 				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);
26685 			}
26686 			goto LA16_;
26687 			LA19_: ;
26688 			{
26689 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T22_;
26690 				NIM_BOOL T23_;
26691 				T22_ = lengthOrd__types_1652((*(*c).graph).config, base);
26692 				T23_ = (NIM_BOOL)0;
26693 				T23_ = lt___int495056_738(IL64(65536), T22_);
26694 				if (!T23_) goto LA24_;
26695 				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);
26696 			}
26697 			goto LA16_;
26698 			LA24_: ;
26699 			LA16_: ;
26700 		}
26701 		LA14_: ;
26702 	}
26703 	goto LA1_;
26704 	LA6_: ;
26705 	{
26706 		NimStringDesc* T27_;
26707 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T28_;
26708 		T27_ = NIM_NIL;
26709 		T27_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_553), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_567));
26710 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T27_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_568, NIM_FALSE);
26711 		T28_ = NIM_NIL;
26712 		T28_ = errorType__semdata_1002(c);
26713 		addSonSkipIntLit__magicsys_136(result, T28_, (*c).Sup.idgen);
26714 	}
26715 	LA1_: ;
26716 	return result;
26717 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semOrdinal__sem_3459)26718 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semOrdinal__sem_3459)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26719 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26720 	result = NIM_NIL;
26721 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15), prev, c);
26722 	{
26723 		NI T3_;
26724 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26725 		T3_ = (NI)0;
26726 		T3_ = len__ast_3198(n);
26727 		if (!(T3_ == ((NI) 2))) goto LA4_;
26728 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26729 		{
26730 			if (!!(((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)))) goto LA8_;
26731 			{
26732 				NIM_BOOL T12_;
26733 				T12_ = (NIM_BOOL)0;
26734 				T12_ = isOrdinalType__types_299(base, NIM_FALSE);
26735 				if (!!(T12_)) goto LA13_;
26736 				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);
26737 			}
26738 			LA13_: ;
26739 		}
26740 		LA8_: ;
26741 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
26742 	}
26743 	goto LA1_;
26744 	LA4_: ;
26745 	{
26746 		NimStringDesc* T16_;
26747 		T16_ = NIM_NIL;
26748 		T16_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_553), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_570));
26749 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T16_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_571, NIM_FALSE);
26750 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
26751 	}
26752 	LA1_: ;
26753 	return result;
26754 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semIterableType__sem_3449)26755 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semIterableType__sem_3449)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26756 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26757 	result = NIM_NIL;
26758 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64), prev, c);
26759 	{
26760 		NI T3_;
26761 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26762 		T3_ = (NI)0;
26763 		T3_ = len__ast_3198(n);
26764 		if (!(T3_ == ((NI) 2))) goto LA4_;
26765 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26766 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
26767 	}
26768 	goto LA1_;
26769 	LA4_: ;
26770 	{
26771 		NimStringDesc* T7_;
26772 		T7_ = NIM_NIL;
26773 		T7_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_553), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_572));
26774 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T7_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_573, NIM_FALSE);
26775 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
26776 	}
26777 	LA1_: ;
26778 	return result;
26779 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semVarargs__sem_3167)26780 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semVarargs__sem_3167)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26781 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26782 	result = NIM_NIL;
26783 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48), prev, c);
26784 	{
26785 		NIM_BOOL T3_;
26786 		NI T4_;
26787 		NI T6_;
26788 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26789 		T3_ = (NIM_BOOL)0;
26790 		T4_ = (NI)0;
26791 		T4_ = len__ast_3198(n);
26792 		T3_ = (T4_ == ((NI) 2));
26793 		if (T3_) goto LA5_;
26794 		T6_ = (NI)0;
26795 		T6_ = len__ast_3198(n);
26796 		T3_ = (T6_ == ((NI) 3));
26797 		LA5_: ;
26798 		if (!T3_) goto LA7_;
26799 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26800 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
26801 		{
26802 			NI T11_;
26803 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T14_;
26804 			T11_ = (NI)0;
26805 			T11_ = len__ast_3198(n);
26806 			if (!(T11_ == ((NI) 3))) goto LA12_;
26807 			T14_ = NIM_NIL;
26808 			T14_ = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 2)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
26809 			asgnRef((void**) (&(*result).n), newIdentNode__ast_3712(T14_, (*(*n)._kind_6.sons->data[((NI) 2)]).info));
26810 		}
26811 		LA12_: ;
26812 	}
26813 	goto LA1_;
26814 	LA7_: ;
26815 	{
26816 		NimStringDesc* T16_;
26817 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
26818 		T16_ = NIM_NIL;
26819 		T16_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_553), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_575));
26820 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T16_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_576, NIM_FALSE);
26821 		T17_ = NIM_NIL;
26822 		T17_ = errorType__semdata_1002(c);
26823 		addSonSkipIntLit__magicsys_136(result, T17_, (*c).Sup.idgen);
26824 	}
26825 	LA1_: ;
26826 	return result;
26827 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semTuple__sem_3578)26828 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTuple__sem_3578)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
26829 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26830 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
26831 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
26832 	NI counter;
26833 	result = NIM_NIL;
26834 	typ = NIM_NIL;
26835 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18), prev, c);
26836 	asgnRef((void**) (&(*result).n), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info));
26837 	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
26838 	initIntSet__pureZcollectionsZintsets_238((&check));
26839 	counter = ((NI) 0);
26840 	{
26841 		NI i;
26842 		NI colontmp_;
26843 		NI colontmp__2;
26844 		NI i_2;
26845 		i = (NI)0;
26846 		colontmp_ = (NI)0;
26847 		colontmp__2 = (NI)0;
26848 		colontmp_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
26849 		colontmp__2 = len__ast_3198(n);
26850 		i_2 = colontmp_;
26851 		{
26852 			while (1) {
26853 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
26854 				if (!(i_2 < colontmp__2)) goto LA3;
26855 				i = i_2;
26856 				a = (*n)._kind_6.sons->data[i];
26857 				{
26858 					if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35)))) goto LA6_;
26859 					illFormedAst__semdata_1071(a, (*(*c).graph).config);
26860 				}
26861 				LA6_: ;
26862 				checkMinSonsLen__semdata_1084(a, ((NI) 3), (*(*c).graph).config);
26863 				{
26864 					NI T10_;
26865 					NI T13_;
26866 					T10_ = (NI)0;
26867 					T10_ = len__ast_3198(a);
26868 					if (!!(((*(*a)._kind_6.sons->data[(NI)(T10_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA11_;
26869 					T13_ = (NI)0;
26870 					T13_ = len__ast_3198(a);
26871 					typ = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[(NI)(T13_ - ((NI) 2))], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26872 				}
26873 				goto LA8_;
26874 				LA11_: ;
26875 				{
26876 					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);
26877 					typ = errorType__semdata_1002(c);
26878 				}
26879 				LA8_: ;
26880 				{
26881 					NI T17_;
26882 					NI T20_;
26883 					T17_ = (NI)0;
26884 					T17_ = len__ast_3198(a);
26885 					if (!!(((*(*a)._kind_6.sons->data[(NI)(T17_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA18_;
26886 					T20_ = (NI)0;
26887 					T20_ = len__ast_3198(a);
26888 					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);
26889 				}
26890 				LA18_: ;
26891 				{
26892 					NI j;
26893 					NI colontmp__3;
26894 					NI T22_;
26895 					NI i_3;
26896 					j = (NI)0;
26897 					colontmp__3 = (NI)0;
26898 					T22_ = (NI)0;
26899 					T22_ = len__ast_3198(a);
26900 					colontmp__3 = (NI)(T22_ - ((NI) 2));
26901 					i_3 = ((NI) 0);
26902 					{
26903 						while (1) {
26904 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
26905 							if (!(i_3 < colontmp__3)) goto LA24;
26906 							j = i_3;
26907 							field = newSymG__sem_458(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19), (*a)._kind_6.sons->data[j], c);
26908 							asgnRef((void**) (&(*field).typ), typ);
26909 							(*field).position = counter;
26910 							counter += ((NI) 1);
26911 							{
26912 								NIM_BOOL T27_;
26913 								NimStringDesc* T30_;
26914 								T27_ = (NIM_BOOL)0;
26915 								T27_ = containsOrIncl__astalgo_402((&check), (*(*field).name).id);
26916 								if (!T27_) goto LA28_;
26917 								T30_ = NIM_NIL;
26918 								T30_ = rawNewString(((*(*field).name).s ? (*(*field).name).s->Sup.len : 0) + 23);
26919 appendString(T30_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_150));
26920 appendString(T30_, (*(*field).name).s);
26921 appendString(T30_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
26922 								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);
26923 							}
26924 							goto LA25_;
26925 							LA28_: ;
26926 							{
26927 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T32_;
26928 								T32_ = NIM_NIL;
26929 								T32_ = newSymNode__ast_3716(field);
26930 								add__ast_4797((*result).n, T32_);
26931 								addSonSkipIntLit__magicsys_136(result, typ, (*c).Sup.idgen);
26932 							}
26933 							LA25_: ;
26934 							{
26935 								NIM_BOOL T35_;
26936 								T35_ = (NIM_BOOL)0;
26937 								T35_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
26938 								if (!(T35_)) goto LA36_;
26939 								T35_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
26940 								LA36_: ;
26941 								if (!T35_) goto LA37_;
26942 								nep1CheckDefImpl__linter_110((*(*c).graph).config, (*(*a)._kind_6.sons->data[j]).info, field, (*field).kind);
26943 							}
26944 							LA37_: ;
26945 							i_3 += ((NI) 1);
26946 						} LA24: ;
26947 					}
26948 				}
26949 				i_2 += ((NI) 1);
26950 			} LA3: ;
26951 		}
26952 	}
26953 	{
26954 		NI T41_;
26955 		T41_ = (NI)0;
26956 		T41_ = len__ast_3198((*result).n);
26957 		if (!(T41_ == ((NI) 0))) goto LA42_;
26958 		asgnRef((void**) (&(*result).n), ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
26959 	}
26960 	LA42_: ;
26961 	{
26962 		NIM_BOOL T46_;
26963 		NimStringDesc* T49_;
26964 		NimStringDesc* T50_;
26965 		T46_ = (NIM_BOOL)0;
26966 		T46_ = isTupleRecursive__types_3987(result);
26967 		if (!T46_) goto LA47_;
26968 		T49_ = NIM_NIL;
26969 		T49_ = typeToString__types_50(result, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
26970 		T50_ = NIM_NIL;
26971 		T50_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_146), T49_);
26972 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T50_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_582, NIM_FALSE);
26973 	}
26974 	LA47_: ;
26975 	return result;
26976 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semGenericParamInInvocation__sem_5423)26977 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semGenericParamInInvocation__sem_5423)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
26978 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
26979 	result = NIM_NIL;
26980 	result = semTypeNode__sem_80(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
26981 	asgnRef((void**) (&(*n).typ), makeTypeDesc__concepts_49(c, result));
26982 	return result;
26983 }
N_NIMCALL(void,semObjectTypeForInheritedGenericInst__sem_5427)26984 N_LIB_PRIVATE N_NIMCALL(void, semObjectTypeForInheritedGenericInst__sem_5427)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
26985 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
26986 	NI pos;
26987 	tyObject_TType__facALICuu8zUj0hjvbTLFg* realBase;
26988 	tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
26989 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* newf;
26990 	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
26991 	initIntSet__pureZcollectionsZintsets_238((&check));
26992 	pos = ((NI) 0);
26993 	realBase = (*t).sons->data[((NI) 0)];
26994 	base = skipTypesOrNil__ast_4185(realBase, TM__rF9caJawfOjYTjsgLVUSGFA_53);
26995 	{
26996 		NimStringDesc* T5_;
26997 		if (!(base == 0)) goto LA3_;
26998 		T5_ = NIM_NIL;
26999 		T5_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_146), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_594));
27000 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T5_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_595, NIM_FALSE);
27001 	}
27002 	goto LA1_;
27003 	LA3_: ;
27004 	{
27005 		tyObject_TType__facALICuu8zUj0hjvbTLFg* concreteBase;
27006 		concreteBase = skipGenericInvocation__sem_4428(base);
27007 		{
27008 			NIM_BOOL T9_;
27009 			T9_ = (NIM_BOOL)0;
27010 			T9_ = ((*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
27011 			if (!(T9_)) goto LA10_;
27012 			T9_ = !((((*concreteBase).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 2))&63U)))!=0));
27013 			LA10_: ;
27014 			if (!T9_) goto LA11_;
27015 			addInheritedFields__sem_4443(c, (&check), (&pos), concreteBase);
27016 		}
27017 		goto LA7_;
27018 		LA11_: ;
27019 		{
27020 			{
27021 				if (!!(((*concreteBase).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50)))) goto LA16_;
27022 				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);
27023 			}
27024 			LA16_: ;
27025 		}
27026 		LA7_: ;
27027 	}
27028 	LA1_: ;
27029 	newf = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info);
27030 	semRecordNodeAux__sem_3922(c, (*t).n, (&check), (&pos), newf, t, NIM_FALSE);
27031 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semGeneric__sem_5453)27032 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) {
27033 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
27034 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
27035 	tyObject_TType__facALICuu8zUj0hjvbTLFg* tx;
27036 {	result = NIM_NIL;
27037 	{
27038 		tyArray__Re75IspeoxXy2oCZHwcRrA T5_;
27039 		NimStringDesc* T6_;
27040 		if (!((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
27041 		nimZeroMem((void*)T5_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
27042 		T5_[0] = copyString((*(*s).name).s);
27043 		T5_[1] = toHumanStr__ast_5158((*s).kind);
27044 		T6_ = NIM_NIL;
27045 		T6_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_583), T5_, 2);
27046 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_584, NIM_FALSE);
27047 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
27048 		goto BeforeRet_;
27049 	}
27050 	LA3_: ;
27051 	t = skipTypes__ast_3735((*s).typ, TM__rF9caJawfOjYTjsgLVUSGFA_585);
27052 	{
27053 		NIM_BOOL T9_;
27054 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T11_;
27055 		T9_ = (NIM_BOOL)0;
27056 		T9_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54));
27057 		if (!(T9_)) goto LA10_;
27058 		T11_ = NIM_NIL;
27059 		T11_ = base__types_63(t);
27060 		T9_ = ((*T11_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10));
27061 		LA10_: ;
27062 		if (!T9_) goto LA12_;
27063 		t = base__types_63(t);
27064 	}
27065 	LA12_: ;
27066 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9), prev, c);
27067 	addSonSkipIntLit__magicsys_136(result, t, (*c).Sup.idgen);
27068 	{
27069 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30))) goto LA16_;
27070 		{
27071 			NI i;
27072 			NI colontmp_;
27073 			NI i_2;
27074 			i = (NI)0;
27075 			colontmp_ = (NI)0;
27076 			colontmp_ = len__ast_3198(n);
27077 			i_2 = ((NI) 1);
27078 			{
27079 				while (1) {
27080 					tyObject_TType__facALICuu8zUj0hjvbTLFg* elem;
27081 					if (!(i_2 < colontmp_)) goto LA20;
27082 					i = i_2;
27083 					elem = semGenericParamInInvocation__sem_5423(c, (*n)._kind_6.sons->data[i]);
27084 					{
27085 						if (!(elem == 0)) goto LA23_;
27086 						{
27087 							NimStringDesc* argX60gensym1298_;
27088 							if (!NIM_TRUE) goto LA27_;
27089 							argX60gensym1298_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_586);
27090 							internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1298_, TM__rF9caJawfOjYTjsgLVUSGFA_586);
27091 						}
27092 						LA27_: ;
27093 						rawAddSon__ast_4288(result, elem, NIM_TRUE);
27094 					}
27095 					goto LA21_;
27096 					LA23_: ;
27097 					{
27098 						addSonSkipIntLit__magicsys_136(result, elem, (*c).Sup.idgen);
27099 					}
27100 					LA21_: ;
27101 					i_2 += ((NI) 1);
27102 				} LA20: ;
27103 			}
27104 		}
27105 		goto BeforeRet_;
27106 	}
27107 	goto LA14_;
27108 	LA16_: ;
27109 	{
27110 		NimStringDesc* T33_;
27111 		if (!!(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10)))) goto LA31_;
27112 		T33_ = NIM_NIL;
27113 		T33_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_587), (*(*s).name).s);
27114 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T33_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_588, NIM_FALSE);
27115 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
27116 		goto BeforeRet_;
27117 	}
27118 	goto LA14_;
27119 	LA31_: ;
27120 	{
27121 		tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
27122 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T35_;
27123 		NIM_BOOL isConcrete;
27124 		nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
27125 		newCandidate__sigmatch_195(c, t, (&m));
27126 		m.isNoCall = NIM_TRUE;
27127 		T35_ = NIM_NIL;
27128 		T35_ = copyTree__ast_4431(n);
27129 		matches__sigmatch_4181(c, n, T35_, (&m));
27130 		{
27131 			NimStringDesc* err;
27132 			tyArray__Re75IspeoxXy2oCZHwcRrA T40_;
27133 			NimStringDesc* T41_;
27134 			if (!!((m.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA38_;
27135 			err = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_589));
27136 			addTypeHeader__types_216((&err), (*(*c).graph).config, t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 7), NIM_TRUE);
27137 			nimZeroMem((void*)T40_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
27138 			T40_[0] = describeArgs__sigmatch_384(c, n, ((NI) 1), ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
27139 			T40_[1] = describeArgs__sigmatch_384(c, (*t).n, ((NI) 0), ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
27140 			T41_ = NIM_NIL;
27141 			T41_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_590), T40_, 2);
27142 			err = resizeString(err, (T41_ ? T41_->Sup.len : 0) + 0);
27143 appendString(err, T41_);
27144 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), err, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_591, NIM_FALSE);
27145 			result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
27146 			goto BeforeRet_;
27147 		}
27148 		LA38_: ;
27149 		isConcrete = NIM_TRUE;
27150 		{
27151 			NI i_3;
27152 			NI colontmp__2;
27153 			NI i_4;
27154 			i_3 = (NI)0;
27155 			colontmp__2 = (NI)0;
27156 			colontmp__2 = len__ast_3198(m.call);
27157 			i_4 = ((NI) 1);
27158 			{
27159 				while (1) {
27160 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
27161 					if (!(i_4 < colontmp__2)) goto LA44;
27162 					i_3 = i_4;
27163 					typ = (*(*m.call)._kind_6.sons->data[i_3]).typ;
27164 					{
27165 						NIM_BOOL T47_;
27166 						NIM_BOOL T48_;
27167 						NIM_BOOL T49_;
27168 						T47_ = (NIM_BOOL)0;
27169 						T48_ = (NIM_BOOL)0;
27170 						T49_ = (NIM_BOOL)0;
27171 						T49_ = ((*(*m.call)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
27172 						if (!(T49_)) goto LA50_;
27173 						T49_ = ((*(*(*m.call)._kind_6.sons->data[i_3])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
27174 						LA50_: ;
27175 						T48_ = T49_;
27176 						if (!(T48_)) goto LA51_;
27177 						T48_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
27178 						LA51_: ;
27179 						T47_ = T48_;
27180 						if (!(T47_)) goto LA52_;
27181 						T47_ = containsGenericType__types_3351(typ);
27182 						LA52_: ;
27183 						if (!T47_) goto LA53_;
27184 						isConcrete = NIM_FALSE;
27185 						{
27186 							if (!(typ == 0)) goto LA57_;
27187 							{
27188 								NimStringDesc* argX60gensym1314_;
27189 								if (!NIM_TRUE) goto LA61_;
27190 								argX60gensym1314_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_586);
27191 								internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1314_, TM__rF9caJawfOjYTjsgLVUSGFA_586);
27192 							}
27193 							LA61_: ;
27194 							rawAddSon__ast_4288(result, typ, NIM_TRUE);
27195 						}
27196 						goto LA55_;
27197 						LA57_: ;
27198 						{
27199 							addSonSkipIntLit__magicsys_136(result, typ, (*c).Sup.idgen);
27200 						}
27201 						LA55_: ;
27202 					}
27203 					goto LA45_;
27204 					LA53_: ;
27205 					{
27206 						typ = skipTypes__ast_3735(typ, TM__rF9caJawfOjYTjsgLVUSGFA_123);
27207 						{
27208 							NIM_BOOL T67_;
27209 							T67_ = (NIM_BOOL)0;
27210 							T67_ = containsGenericType__types_3351(typ);
27211 							if (!T67_) goto LA68_;
27212 							isConcrete = NIM_FALSE;
27213 						}
27214 						LA68_: ;
27215 						{
27216 							if (!(typ == 0)) goto LA72_;
27217 							{
27218 								NimStringDesc* argX60gensym1318_;
27219 								if (!NIM_TRUE) goto LA76_;
27220 								argX60gensym1318_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_586);
27221 								internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1318_, TM__rF9caJawfOjYTjsgLVUSGFA_586);
27222 							}
27223 							LA76_: ;
27224 							rawAddSon__ast_4288(result, typ, NIM_TRUE);
27225 						}
27226 						goto LA70_;
27227 						LA72_: ;
27228 						{
27229 							addSonSkipIntLit__magicsys_136(result, typ, (*c).Sup.idgen);
27230 						}
27231 						LA70_: ;
27232 					}
27233 					LA45_: ;
27234 					i_4 += ((NI) 1);
27235 				} LA44: ;
27236 			}
27237 		}
27238 		{
27239 			if (!isConcrete) goto LA81_;
27240 			{
27241 				NIM_BOOL T85_;
27242 				NimStringDesc* T89_;
27243 				T85_ = (NIM_BOOL)0;
27244 				T85_ = ((*s).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
27245 				if (!(T85_)) goto LA86_;
27246 				T85_ = !(((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54)));
27247 				LA86_: ;
27248 				if (!T85_) goto LA87_;
27249 				T89_ = NIM_NIL;
27250 				T89_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_81), (*(*s).name).s);
27251 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T89_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_592, NIM_FALSE);
27252 				result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
27253 			}
27254 			goto LA83_;
27255 			LA87_: ;
27256 			{
27257 				result = instGenericContainer__sem_1125(c, (*n).info, result, NIM_FALSE);
27258 			}
27259 			LA83_: ;
27260 		}
27261 		LA81_: ;
27262 	}
27263 	LA14_: ;
27264 	tx = skipTypes__ast_4168(result, TM__rF9caJawfOjYTjsgLVUSGFA_97, ((NI) 50));
27265 	{
27266 		NIM_BOOL T93_;
27267 		NimStringDesc* T97_;
27268 		NimStringDesc* T98_;
27269 		T93_ = (NIM_BOOL)0;
27270 		T93_ = (tx == 0);
27271 		if (T93_) goto LA94_;
27272 		T93_ = isTupleRecursive__types_3987(tx);
27273 		LA94_: ;
27274 		if (!T93_) goto LA95_;
27275 		T97_ = NIM_NIL;
27276 		T97_ = typeToString__types_50((*result).sons->data[((NI) 0)], ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
27277 		T98_ = NIM_NIL;
27278 		T98_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_146), T97_);
27279 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T98_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_593, NIM_FALSE);
27280 		result = errorType__semdata_1002(c);
27281 		goto BeforeRet_;
27282 	}
27283 	LA95_: ;
27284 	{
27285 		NIM_BOOL T101_;
27286 		NI position;
27287 		T101_ = (NIM_BOOL)0;
27288 		T101_ = !((tx == result));
27289 		if (!(T101_)) goto LA102_;
27290 		T101_ = ((*tx).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
27291 		LA102_: ;
27292 		if (!T101_) goto LA103_;
27293 		{
27294 			if (!!(((*tx).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA107_;
27295 			semObjectTypeForInheritedGenericInst__sem_5427(c, n, tx);
27296 		}
27297 		LA107_: ;
27298 		position = ((NI) 0);
27299 		recomputeFieldPositions__semtypinst_1006(tx, (*tx).n, (&position));
27300 	}
27301 	LA103_: ;
27302 	}BeforeRet_: ;
27303 	return result;
27304 }
N_INLINE(NIM_BOOL,isNewStyleConcept__ast_5226)27305 static N_INLINE(NIM_BOOL, isNewStyleConcept__ast_5226)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
27306 	NIM_BOOL result;
27307 	result = (NIM_BOOL)0;
27308 	result = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
27309 	return result;
27310 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConceptBody__sem_2888)27311 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConceptBody__sem_2888)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
27312 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
27313 	tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w ctx;
27314 	result = NIM_NIL;
27315 	nimZeroMem((void*)(&ctx), sizeof(tyObject_GenericCtx__ldEK1fsP9cZbQbUrs7bxs0w));
27316 	initIntSet__pureZcollectionsZintsets_238((&ctx.toMixin));
27317 	initIntSet__pureZcollectionsZintsets_238((&ctx.toBind));
27318 	result = semGenericStmt__sem_8113(c, n, 8, (&ctx));
27319 	return result;
27320 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semTypeClass__sem_5629)27321 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeClass__sem_5629)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
27322 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
27323 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmas;
27324 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* inherited;
27325 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
27326 	tyObject_TType__facALICuu8zUj0hjvbTLFg* candidateTypeSlot;
27327 	tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T6_;
27328 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T15_;
27329 {	result = NIM_NIL;
27330 	{
27331 		NIM_BOOL T3_;
27332 		T3_ = (NIM_BOOL)0;
27333 		T3_ = isNewStyleConcept__ast_5226(n);
27334 		if (!T3_) goto LA4_;
27335 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62), prev, c);
27336 		(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
27337 		asgnRef((void**) (&(*result).n), semConceptDeclaration__concepts_97(c, n));
27338 		goto BeforeRet_;
27339 	}
27340 	LA4_: ;
27341 	pragmas = (*n)._kind_6.sons->data[((NI) 1)];
27342 	inherited = (*n)._kind_6.sons->data[((NI) 2)];
27343 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52), prev, c);
27344 	(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
27345 	owner = getCurrOwner__semdata_315(c);
27346 	T6_ = NIM_NIL;
27347 	T6_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
27348 	asgnRef((void**) (&T6_->data[0]), errorType__semdata_1002(c));
27349 	candidateTypeSlot = newTypeWithSons__semdata_815(owner, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4), T6_, (*c).Sup.idgen);
27350 	if ((*result).sons) { nimGCunrefRC1((*result).sons); (*result).sons = NIM_NIL; }
27351 	(*result).sons = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeqRC1((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
27352 	asgnRef((void**) (&(*result).sons->data[0]), candidateTypeSlot);
27353 	asgnRef((void**) (&(*result).n), n);
27354 	{
27355 		if (!!(((*inherited).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA9_;
27356 		{
27357 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n_2;
27358 			tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
27359 			NI i;
27360 			NI L;
27361 			NI T12_;
27362 			n_2 = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
27363 			colontmp_ = NIM_NIL;
27364 			colontmp_ = (*inherited)._kind_6.sons;
27365 			i = ((NI) 0);
27366 			T12_ = (colontmp_ ? colontmp_->Sup.len : 0);
27367 			L = T12_;
27368 			{
27369 				while (1) {
27370 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
27371 					if (!(i < L)) goto LA14;
27372 					n_2 = &colontmp_->data[i];
27373 					typ = semTypeNode__sem_80(c, (*n_2), ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
27374 					add__concepts_23(result, typ);
27375 					i += ((NI) 1);
27376 				} LA14: ;
27377 			}
27378 		}
27379 	}
27380 	LA9_: ;
27381 	T15_ = NIM_NIL;
27382 	T15_ = openScope__lookups_69(c);
27383 	{
27384 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* param;
27385 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__2;
27386 		param = NIM_NIL;
27387 		colontmp__2 = NIM_NIL;
27388 		colontmp__2 = (*n)._kind_6.sons->data[((NI) 0)];
27389 		{
27390 			NI i_2;
27391 			NI colontmp__3;
27392 			NI i_3;
27393 			i_2 = (NI)0;
27394 			colontmp__3 = (NI)0;
27395 			colontmp__3 = safeLen__ast_3191(colontmp__2);
27396 			i_3 = ((NI) 0);
27397 			{
27398 				while (1) {
27399 					if (!(i_3 < colontmp__3)) goto LA19;
27400 					i_2 = i_3;
27401 					param = (*colontmp__2)._kind_6.sons->data[i_2];
27402 					{
27403 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dummyName;
27404 						tyObject_TType__facALICuu8zUj0hjvbTLFg* dummyType;
27405 						tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag modifier;
27406 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* dummyParam;
27407 						tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw T44_;
27408 						tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T50_;
27409 						dummyName = NIM_NIL;
27410 						dummyType = NIM_NIL;
27411 						switch ((*param).kind) {
27412 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 143):
27413 						{
27414 							modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23);
27415 						}
27416 						break;
27417 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141):
27418 						{
27419 							modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22);
27420 						}
27421 						break;
27422 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 142):
27423 						{
27424 							modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21);
27425 						}
27426 						break;
27427 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 137):
27428 						{
27429 							modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60);
27430 						}
27431 						break;
27432 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
27433 						{
27434 							modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8);
27435 						}
27436 						break;
27437 						default:
27438 						{
27439 							modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0);
27440 						}
27441 						break;
27442 						}
27443 						{
27444 							if (!!((modifier == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA29_;
27445 							dummyName = (*param)._kind_6.sons->data[((NI) 0)];
27446 							dummyType = makeTypeWithModifier__semdata_746(c, modifier, candidateTypeSlot);
27447 							{
27448 								if (!(modifier == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA33_;
27449 								(*dummyType).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 28)) & 63);
27450 								(*dummyType).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
27451 							}
27452 							LA33_: ;
27453 						}
27454 						goto LA27_;
27455 						LA29_: ;
27456 						{
27457 							dummyName = param;
27458 							dummyType = candidateTypeSlot;
27459 						}
27460 						LA27_: ;
27461 						{
27462 							if (!((*dummyName).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA38_;
27463 							goto LA20;
27464 						}
27465 						LA38_: ;
27466 						{
27467 							NimStringDesc* argX60gensym1348_;
27468 							if (!!(((*dummyName).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA42_;
27469 							argX60gensym1348_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_608);
27470 							internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1348_, TM__rF9caJawfOjYTjsgLVUSGFA_608);
27471 						}
27472 						LA42_: ;
27473 						T44_ = (tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw)0;
27474 						{
27475 							if (!(modifier == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA47_;
27476 							T44_ = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7);
27477 						}
27478 						goto LA45_;
27479 						LA47_: ;
27480 						{
27481 							T44_ = ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8);
27482 						}
27483 						LA45_: ;
27484 						T50_ = nextSymId__ast_3132((*c).Sup.idgen);
27485 						dummyParam = newSym__ast_3445(T44_, (*dummyName)._kind_5.ident, T50_, owner, (*param).info, 0);
27486 						asgnRef((void**) (&(*dummyParam).typ), dummyType);
27487 						(*dummyParam).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
27488 						addDecl__lookups_845(c, dummyParam);
27489 					} LA20: ;
27490 					i_3 += ((NI) 1);
27491 				} LA19: ;
27492 			}
27493 		}
27494 	}
27495 	asgnRef((void**) (&(*(*result).n)._kind_6.sons->data[((NI) 3)]), semConceptBody__sem_2888(c, (*n)._kind_6.sons->data[((NI) 3)]));
27496 	closeScope__lookups_101(c);
27497 	}BeforeRet_: ;
27498 	return result;
27499 }
N_INLINE(NIM_BOOL,isSelf__concepts_38)27500 static N_INLINE(NIM_BOOL, isSelf__concepts_38)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
27501 	NIM_BOOL result;
27502 	NIM_BOOL T1_;
27503 	result = (NIM_BOOL)0;
27504 	T1_ = (NIM_BOOL)0;
27505 	T1_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
27506 	if (!(T1_)) goto LA2_;
27507 	T1_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 23))&63U)))!=0);
27508 	LA2_: ;
27509 	result = T1_;
27510 	return result;
27511 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semVarOutType__sem_3185)27512 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) {
27513 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
27514 	result = NIM_NIL;
27515 	{
27516 		NI T3_;
27517 		tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
27518 		T3_ = (NI)0;
27519 		T3_ = len__ast_3198(n);
27520 		if (!(T3_ == ((NI) 1))) goto LA4_;
27521 		result = newOrPrevType__sem_2916(kind, prev, c);
27522 		base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
27523 		{
27524 			NIM_BOOL T8_;
27525 			NIM_BOOL T10_;
27526 			T8_ = (NIM_BOOL)0;
27527 			T8_ = ((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
27528 			if (!(T8_)) goto LA9_;
27529 			T10_ = (NIM_BOOL)0;
27530 			T10_ = isSelf__concepts_38(base);
27531 			T8_ = !(T10_);
27532 			LA9_: ;
27533 			if (!T8_) goto LA11_;
27534 			base = (*base).sons->data[((NI) 0)];
27535 		}
27536 		LA11_: ;
27537 		{
27538 			if (!((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23))) goto LA15_;
27539 			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);
27540 			base = (*base).sons->data[((NI) 0)];
27541 		}
27542 		LA15_: ;
27543 		addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
27544 	}
27545 	goto LA1_;
27546 	LA4_: ;
27547 	{
27548 		result = newConstraint__sem_2929(c, kind);
27549 	}
27550 	LA1_: ;
27551 	return result;
27552 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semDistinct__sem_3206)27553 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semDistinct__sem_3206)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
27554 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
27555 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
27556 {	result = NIM_NIL;
27557 	{
27558 		NI T3_;
27559 		T3_ = (NI)0;
27560 		T3_ = len__ast_3198(n);
27561 		if (!(T3_ == ((NI) 0))) goto LA4_;
27562 		result = newConstraint__sem_2929(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13));
27563 		goto BeforeRet_;
27564 	}
27565 	LA4_: ;
27566 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13), prev, c);
27567 	T6_ = NIM_NIL;
27568 	T6_ = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
27569 	addSonSkipIntLit__magicsys_136(result, T6_, (*c).Sup.idgen);
27570 	{
27571 		NI T9_;
27572 		T9_ = (NI)0;
27573 		T9_ = len__ast_3198(n);
27574 		if (!(((NI) 1) < T9_)) goto LA10_;
27575 		asgnRef((void**) (&(*result).n), (*n)._kind_6.sons->data[((NI) 1)]);
27576 	}
27577 	LA10_: ;
27578 	}BeforeRet_: ;
27579 	return result;
27580 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,applyTypeSectionPragmas__sem_5714)27581 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, applyTypeSectionPragmas__sem_5714)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmas, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* operand) {
27582 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
27583 {	result = NIM_NIL;
27584 	{
27585 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
27586 		p = NIM_NIL;
27587 		{
27588 			NI i;
27589 			NI colontmp_;
27590 			NI i_2;
27591 			i = (NI)0;
27592 			colontmp_ = (NI)0;
27593 			colontmp_ = safeLen__ast_3191(pragmas);
27594 			i_2 = ((NI) 0);
27595 			{
27596 				while (1) {
27597 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key;
27598 					if (!(i_2 < colontmp_)) goto LA4;
27599 					i = i_2;
27600 					p = (*pragmas)._kind_6.sons->data[i];
27601 					{
27602 						NIM_BOOL T7_;
27603 						NI T9_;
27604 						T7_ = (NIM_BOOL)0;
27605 						T7_ = ((*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34) || (*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28));
27606 						if (!(T7_)) goto LA8_;
27607 						T9_ = (NI)0;
27608 						T9_ = len__ast_3198(p);
27609 						T7_ = (((NI) 1) <= T9_);
27610 						LA8_: ;
27611 						if (!T7_) goto LA10_;
27612 						key = (*p)._kind_6.sons->data[((NI) 0)];
27613 					}
27614 					goto LA5_;
27615 					LA10_: ;
27616 					{
27617 						key = p;
27618 					}
27619 					LA5_: ;
27620 					{
27621 						NIM_BOOL T15_;
27622 						tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T17_;
27623 						T15_ = (NIM_BOOL)0;
27624 						T15_ = ((*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
27625 						if (T15_) goto LA16_;
27626 						T17_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
27627 						T17_ = whichPragma__trees_244(p);
27628 						T15_ = !((T17_ == ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 0)));
27629 						LA16_: ;
27630 						if (!T15_) goto LA18_;
27631 					}
27632 					goto LA13_;
27633 					LA18_: ;
27634 					{
27635 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
27636 						ident = considerQuotedIdent__lookups_28(c, key, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
27637 						{
27638 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T23_;
27639 							T23_ = NIM_NIL;
27640 							T23_ = strTableGet__astalgo_3390((*c).userPragmas, ident);
27641 							if (!!((T23_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA24_;
27642 						}
27643 						goto LA21_;
27644 						LA24_: ;
27645 						{
27646 							NIM_BOOL amb;
27647 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
27648 							amb = NIM_FALSE;
27649 							sym = searchInScopes__lookups_423(c, ident, (&amb));
27650 							{
27651 								NIM_BOOL T29_;
27652 								T29_ = (NIM_BOOL)0;
27653 								T29_ = !((sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
27654 								if (!(T29_)) goto LA30_;
27655 								T29_ = (((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0);
27656 								LA30_: ;
27657 								if (!T29_) goto LA31_;
27658 							}
27659 							goto LA27_;
27660 							LA31_: ;
27661 							{
27662 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
27663 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T44_;
27664 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r;
27665 								x = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*key).info);
27666 								add__ast_4797(x, key);
27667 								{
27668 									NIM_BOOL T36_;
27669 									NI T38_;
27670 									T36_ = (NIM_BOOL)0;
27671 									T36_ = ((*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34) || (*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*p).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28));
27672 									if (!(T36_)) goto LA37_;
27673 									T38_ = (NI)0;
27674 									T38_ = len__ast_3198(p);
27675 									T36_ = (((NI) 1) < T38_);
27676 									LA37_: ;
27677 									if (!T36_) goto LA39_;
27678 									{
27679 										NI i_3;
27680 										NI colontmp__2;
27681 										NI i_4;
27682 										i_3 = (NI)0;
27683 										colontmp__2 = (NI)0;
27684 										colontmp__2 = len__ast_3198(p);
27685 										i_4 = ((NI) 1);
27686 										{
27687 											while (1) {
27688 												if (!(i_4 < colontmp__2)) goto LA43;
27689 												i_3 = i_4;
27690 												add__ast_4797(x, (*p)._kind_6.sons->data[i_3]);
27691 												i_4 += ((NI) 1);
27692 											} LA43: ;
27693 										}
27694 									}
27695 								}
27696 								LA39_: ;
27697 								T44_ = NIM_NIL;
27698 								T44_ = copyTreeWithoutNode__ast_4459(operand, p);
27699 								add__ast_4797(x, T44_);
27700 								r = semOverloadedCall__sem_2498(c, x, x, 393216, 262144);
27701 								{
27702 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
27703 									if (!!((r == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA47_;
27704 									{
27705 										if (!!(((*(*r)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA51_;
27706 										failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_610));
27707 									}
27708 									LA51_: ;
27709 									m = (*(*r)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
27710 									switch ((*m).kind) {
27711 									case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
27712 									{
27713 										result = semMacroExpr__sem_524(c, r, r, m, 8192);
27714 										goto BeforeRet_;
27715 									}
27716 									break;
27717 									case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
27718 									{
27719 										result = semTemplateExpr__sem_519(c, r, m, 8192);
27720 										goto BeforeRet_;
27721 									}
27722 									break;
27723 									default:
27724 									{
27725 										{
27726 											if (!NIM_TRUE) goto LA58_;
27727 											failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_611));
27728 										}
27729 										LA58_: ;
27730 									}
27731 									break;
27732 									}
27733 								}
27734 								LA47_: ;
27735 							}
27736 							LA27_: ;
27737 						}
27738 						LA21_: ;
27739 					}
27740 					LA13_: ;
27741 					i_2 += ((NI) 1);
27742 				} LA4: ;
27743 			}
27744 		}
27745 	}
27746 	}BeforeRet_: ;
27747 	return result;
27748 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semProcTypeWithScope__sem_5803)27749 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) {
27750 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
27751 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T12_;
27752 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
27753 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T13_;
27754 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
27755 {	result = NIM_NIL;
27756 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
27757 	{
27758 		NIM_BOOL T3_;
27759 		NI T5_;
27760 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* macroEval;
27761 		T3_ = (NIM_BOOL)0;
27762 		T3_ = !(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
27763 		if (!(T3_)) goto LA4_;
27764 		T5_ = (NI)0;
27765 		T5_ = len__ast_3198((*n)._kind_6.sons->data[((NI) 1)]);
27766 		T3_ = (((NI) 0) < T5_);
27767 		LA4_: ;
27768 		if (!T3_) goto LA6_;
27769 		macroEval = applyTypeSectionPragmas__sem_5714(c, (*n)._kind_6.sons->data[((NI) 1)], n);
27770 		{
27771 			if (!!((macroEval == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA10_;
27772 			result = semTypeNode__sem_80(c, macroEval, prev);
27773 			goto BeforeRet_;
27774 		}
27775 		LA10_: ;
27776 	}
27777 	LA6_: ;
27778 	T12_ = NIM_NIL;
27779 	T12_ = openScope__lookups_69(c);
27780 	result = semProcTypeNode__sem_5067(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL), prev, kind, NIM_TRUE);
27781 	(*result).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9);
27782 	T13_ = NIM_NIL;
27783 	T13_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_498));
27784 	T14_ = NIM_NIL;
27785 	T14_ = newIdentNode__ast_3712(T13_, (*n).info);
27786 	s = newSymS__sem_453(kind, T14_, c);
27787 	asgnRef((void**) (&(*s).typ), result);
27788 	{
27789 		NIM_BOOL T17_;
27790 		NI T19_;
27791 		T17_ = (NIM_BOOL)0;
27792 		T17_ = !(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)));
27793 		if (!(T17_)) goto LA18_;
27794 		T19_ = (NI)0;
27795 		T19_ = len__ast_3198((*n)._kind_6.sons->data[((NI) 1)]);
27796 		T17_ = (((NI) 0) < T19_);
27797 		LA18_: ;
27798 		if (!T17_) goto LA20_;
27799 		pragma__pragmas_123(c, s, (*n)._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_612, NIM_FALSE);
27800 		setEffectsForProcType__sempass50_4540((*c).graph, result, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
27801 	}
27802 	goto LA15_;
27803 	LA20_: ;
27804 	{
27805 		NIM_BOOL T23_;
27806 		NI T24_;
27807 		tyArray__voNMFnIDThVNu9afe2zfZWA T28_;
27808 		T23_ = (NIM_BOOL)0;
27809 		T24_ = ((*c).optionStack ? (*c).optionStack->Sup.len : 0);
27810 		T23_ = (((NI) 0) < T24_);
27811 		if (!(T23_)) goto LA25_;
27812 		T23_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 47))&63U)))!=0));
27813 		LA25_: ;
27814 		if (!T23_) goto LA26_;
27815 		nimZeroMem((void*)T28_, sizeof(tyArray__voNMFnIDThVNu9afe2zfZWA));
27816 		T28_[0] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
27817 		T28_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
27818 		T28_[2] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
27819 		T28_[3] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
27820 		T28_[4] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
27821 		asgnRef((void**) (&(*s).ast), newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79), T28_, 5));
27822 		implicitPragmas__pragmas_2394(c, s, (*n).info, TM__rF9caJawfOjYTjsgLVUSGFA_613);
27823 		setEffectsForProcType__sempass50_4540((*c).graph, result, (*(*s).ast)._kind_6.sons->data[((NI) 4)], ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
27824 	}
27825 	goto LA15_;
27826 	LA26_: ;
27827 	LA15_: ;
27828 	closeScope__lookups_101(c);
27829 	}BeforeRet_: ;
27830 	return result;
27831 }
N_INLINE(void,addInterfaceDecl__lookups_879)27832 static N_INLINE(void, addInterfaceDecl__lookups_879)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym) {
27833 	addInterfaceDeclAt__lookups_875(c, (*c).currentScope, sym);
27834 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semEnum__sem_2937)27835 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semEnum__sem_2937)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
27836 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
27837 	NI64 counter;
27838 	NI64 x;
27839 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* e;
27840 	tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
27841 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** identToReplace;
27842 	NIM_BOOL isPure;
27843 	NIM_BOOL T20_;
27844 	tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA symbols;
27845 	NIM_BOOL hasNull;
27846 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T148_;
27847 {	result = NIM_NIL;
27848 	{
27849 		NI T3_;
27850 		T3_ = (NI)0;
27851 		T3_ = len__ast_3198(n);
27852 		if (!(T3_ == ((NI) 0))) goto LA4_;
27853 		result = newConstraint__sem_2929(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
27854 		goto BeforeRet_;
27855 	}
27856 	goto LA1_;
27857 	LA4_: ;
27858 	{
27859 		NI T7_;
27860 		T7_ = (NI)0;
27861 		T7_ = len__ast_3198(n);
27862 		if (!(T7_ == ((NI) 1))) goto LA8_;
27863 		result = errorType__semdata_1002(c);
27864 		goto BeforeRet_;
27865 	}
27866 	goto LA1_;
27867 	LA8_: ;
27868 	LA1_: ;
27869 	counter = (NI64)0;
27870 	x = (NI64)0;
27871 	e = NIM_NIL;
27872 	base = NIM_NIL;
27873 	identToReplace = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
27874 	counter = IL64(0);
27875 	base = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
27876 	result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14), prev, c);
27877 	asgnRef((void**) (&(*result).n), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150), (*n).info));
27878 	checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
27879 	{
27880 		tyObject_Int128__9a9axPfb75jdWY25AamJewkA T18_;
27881 		NI64 T19_;
27882 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA12_;
27883 		base = semTypeNode__sem_80(c, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
27884 		{
27885 			if (!!(((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14)))) goto LA16_;
27886 			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);
27887 		}
27888 		LA16_: ;
27889 		T18_ = lastOrd__types_1465((*(*c).graph).config, base);
27890 		T19_ = (NI64)0;
27891 		T19_ = toInt64__int495056_88(T18_);
27892 		counter = (NI64)(T19_ + IL64(1));
27893 	}
27894 	LA12_: ;
27895 	rawAddSon__ast_4288(result, base, NIM_TRUE);
27896 	T20_ = (NIM_BOOL)0;
27897 	T20_ = !(((*result).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
27898 	if (!(T20_)) goto LA21_;
27899 	T20_ = (((*(*result).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0);
27900 	LA21_: ;
27901 	isPure = T20_;
27902 	nimZeroMem((void*)(&symbols), sizeof(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA));
27903 	{
27904 		if (!isPure) goto LA24_;
27905 		initStrTable__ast_4088((&symbols));
27906 	}
27907 	LA24_: ;
27908 	hasNull = NIM_FALSE;
27909 	{
27910 		NI i;
27911 		NI colontmp_;
27912 		NI i_2;
27913 		i = (NI)0;
27914 		colontmp_ = (NI)0;
27915 		colontmp_ = len__ast_3198(n);
27916 		i_2 = ((NI) 1);
27917 		{
27918 			while (1) {
27919 				if (!(i_2 < colontmp_)) goto LA28;
27920 				i = i_2;
27921 				{
27922 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* symNode;
27923 					{
27924 						if (!((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA32_;
27925 						goto LA29;
27926 					}
27927 					LA32_: ;
27928 					switch ((*(*n)._kind_6.sons->data[i]).kind) {
27929 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 151):
27930 					{
27931 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* v;
27932 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* strVal;
27933 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T40_;
27934 						{
27935 							if (!((*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA37_;
27936 							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);
27937 							identToReplace = &(*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)];
27938 							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);
27939 						}
27940 						goto LA35_;
27941 						LA37_: ;
27942 						{
27943 							e = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20), (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], c);
27944 							identToReplace = &(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)];
27945 						}
27946 						LA35_: ;
27947 						v = semConstExpr__sem_611(c, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]);
27948 						strVal = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
27949 						T40_ = NIM_NIL;
27950 						T40_ = skipTypes__ast_3735((*v).typ, TM__rF9caJawfOjYTjsgLVUSGFA_5);
27951 						switch ((*T40_).kind) {
27952 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
27953 						{
27954 							{
27955 								NI T44_;
27956 								T44_ = (NI)0;
27957 								T44_ = len__ast_3198(v);
27958 								if (!(T44_ == ((NI) 2))) goto LA45_;
27959 								strVal = (*v)._kind_6.sons->data[((NI) 1)];
27960 								{
27961 									tyObject_TType__facALICuu8zUj0hjvbTLFg* T49_;
27962 									tyObject_Int128__9a9axPfb75jdWY25AamJewkA T59_;
27963 									tyObject_TType__facALICuu8zUj0hjvbTLFg* T60_;
27964 									T49_ = NIM_NIL;
27965 									T49_ = skipTypes__ast_3735((*strVal).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
27966 									if (!((*T49_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*T49_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29))) goto LA50_;
27967 									{
27968 										NIM_BOOL T54_;
27969 										NimStringDesc* T57_;
27970 										NimStringDesc* T58_;
27971 										T54_ = (NIM_BOOL)0;
27972 										T54_ = isOrdinalType__types_299((*(*v)._kind_6.sons->data[((NI) 0)]).typ, NIM_TRUE);
27973 										if (!!(T54_)) goto LA55_;
27974 										T57_ = NIM_NIL;
27975 										T58_ = NIM_NIL;
27976 										T58_ = typeToString__types_50((*(*v)._kind_6.sons->data[((NI) 0)]).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
27977 										T57_ = rawNewString((T58_ ? T58_->Sup.len : 0) + 30);
27978 appendString(T57_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_617));
27979 appendString(T57_, T58_);
27980 										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);
27981 									}
27982 									LA55_: ;
27983 									T59_ = getOrdValue__types_161((*v)._kind_6.sons->data[((NI) 0)], Max__int495056_27);
27984 									x = toInt64__int495056_88(T59_);
27985 									T60_ = NIM_NIL;
27986 									T60_ = getSysType__magicsys_60((*c).graph, unknownLineInfo__lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
27987 									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_));
27988 								}
27989 								goto LA47_;
27990 								LA50_: ;
27991 								{
27992 									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);
27993 								}
27994 								LA47_: ;
27995 							}
27996 							goto LA42_;
27997 							LA45_: ;
27998 							{
27999 								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);
28000 							}
28001 							LA42_: ;
28002 						}
28003 						break;
28004 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
28005 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
28006 						{
28007 							strVal = v;
28008 							x = counter;
28009 						}
28010 						break;
28011 						default:
28012 						{
28013 							tyObject_Int128__9a9axPfb75jdWY25AamJewkA T72_;
28014 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T73_;
28015 							{
28016 								NIM_BOOL T67_;
28017 								NimStringDesc* T70_;
28018 								NimStringDesc* T71_;
28019 								T67_ = (NIM_BOOL)0;
28020 								T67_ = isOrdinalType__types_299((*v).typ, NIM_TRUE);
28021 								if (!!(T67_)) goto LA68_;
28022 								T70_ = NIM_NIL;
28023 								T71_ = NIM_NIL;
28024 								T71_ = typeToString__types_50((*v).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
28025 								T70_ = rawNewString((T71_ ? T71_->Sup.len : 0) + 30);
28026 appendString(T70_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_617));
28027 appendString(T70_, T71_);
28028 								liMessage__msgs_1118((*(*c).graph).config, (*v).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T70_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_622, NIM_FALSE);
28029 							}
28030 							LA68_: ;
28031 							T72_ = getOrdValue__types_161(v, Max__int495056_27);
28032 							x = toInt64__int495056_88(T72_);
28033 							T73_ = NIM_NIL;
28034 							T73_ = getSysType__magicsys_60((*c).graph, unknownLineInfo__lineinfos_280, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
28035 							asgnRef((void**) (&(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]), newIntTypeNode__ast_3783(x, T73_));
28036 						}
28037 						break;
28038 						}
28039 						{
28040 							if (!!((i == ((NI) 1)))) goto LA76_;
28041 							{
28042 								if (!!((x == counter))) goto LA80_;
28043 								(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 5)) & 63);
28044 							}
28045 							LA80_: ;
28046 							{
28047 								NimStringDesc* T86_;
28048 								if (!(x < counter)) goto LA84_;
28049 								T86_ = NIM_NIL;
28050 								T86_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_623), (*(*e).name).s);
28051 								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);
28052 								x = counter;
28053 							}
28054 							LA84_: ;
28055 						}
28056 						LA76_: ;
28057 						asgnRef((void**) (&(*e).ast), strVal);
28058 						counter = x;
28059 					}
28060 					break;
28061 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
28062 					{
28063 						e = (*(*n)._kind_6.sons->data[i])._kind_4.sym;
28064 					}
28065 					break;
28066 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
28067 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
28068 					{
28069 						e = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20), (*n)._kind_6.sons->data[i], c);
28070 						identToReplace = &(*n)._kind_6.sons->data[i];
28071 					}
28072 					break;
28073 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
28074 					{
28075 						e = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20), (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], c);
28076 						pragma__pragmas_123(c, e, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_616, NIM_FALSE);
28077 						identToReplace = &(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)];
28078 					}
28079 					break;
28080 					default:
28081 					{
28082 						illFormedAst__semdata_1071((*n)._kind_6.sons->data[i], (*(*c).graph).config);
28083 					}
28084 					break;
28085 					}
28086 					asgnRef((void**) (&(*e).typ), result);
28087 					(*e).position = ((NI) (counter));
28088 					symNode = newSymNode__ast_3716(e);
28089 					{
28090 						NIM_BOOL T93_;
28091 						NIM_BOOL T94_;
28092 						T93_ = (NIM_BOOL)0;
28093 						T94_ = (NIM_BOOL)0;
28094 						T94_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 47))&63U)))!=0));
28095 						if (!(T94_)) goto LA95_;
28096 						T94_ = !((identToReplace == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**) NIM_NIL)));
28097 						LA95_: ;
28098 						T93_ = T94_;
28099 						if (!(T93_)) goto LA96_;
28100 						T93_ = !(((3989504 &((NU32)1<<((NU)((*(*(*c).graph).config).cmd)&31U)))!=0));
28101 						LA96_: ;
28102 						if (!T93_) goto LA97_;
28103 						unsureAsgnRef((void**) (&(*identToReplace)), symNode);
28104 					}
28105 					LA97_: ;
28106 					{
28107 						if (!((*e).position == ((NI) 0))) goto LA101_;
28108 						hasNull = NIM_TRUE;
28109 					}
28110 					LA101_: ;
28111 					{
28112 						NIM_BOOL T105_;
28113 						T105_ = (NIM_BOOL)0;
28114 						T105_ = !(((*result).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
28115 						if (!(T105_)) goto LA106_;
28116 						T105_ = (((*(*result).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 1))&63U)))!=0);
28117 						LA106_: ;
28118 						if (!T105_) goto LA107_;
28119 						(*e).flags = ((*e).flags | 3);
28120 					}
28121 					LA107_: ;
28122 					add__ast_4797((*result).n, symNode);
28123 					{
28124 						NIM_BOOL T111_;
28125 						T111_ = (NIM_BOOL)0;
28126 						T111_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
28127 						if (!(T111_)) goto LA112_;
28128 						T111_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
28129 						LA112_: ;
28130 						if (!T111_) goto LA113_;
28131 						nep1CheckDefImpl__linter_110((*(*c).graph).config, (*e).info, e, (*e).kind);
28132 					}
28133 					LA113_: ;
28134 					{
28135 						if (!!((((*e).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA117_;
28136 						{
28137 							if (!!(isPure)) goto LA121_;
28138 							{
28139 								if (!(((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 15))&31U)))!=0)) goto LA125_;
28140 								addInterfaceOverloadableSymAt__lookups_899(c, (*c).currentScope, e);
28141 							}
28142 							goto LA123_;
28143 							LA125_: ;
28144 							{
28145 								addInterfaceDecl__lookups_879(c, e);
28146 							}
28147 							LA123_: ;
28148 						}
28149 						goto LA119_;
28150 						LA121_: ;
28151 						{
28152 							declarePureEnumField__importer_61(c, e);
28153 						}
28154 						LA119_: ;
28155 					}
28156 					LA117_: ;
28157 					{
28158 						NIM_BOOL T131_;
28159 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* conflict;
28160 						T131_ = (NIM_BOOL)0;
28161 						T131_ = isPure;
28162 						if (!(T131_)) goto LA132_;
28163 						conflict = strTableInclReportConflict__astalgo_3342((&symbols), e, NIM_FALSE);
28164 						T131_ = !((conflict == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
28165 						LA132_: ;
28166 						if (!T131_) goto LA133_;
28167 						wrongRedefinition__lookups_805(c, (*e).info, (*(*e).name).s, (*conflict).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14));
28168 					}
28169 					LA133_: ;
28170 					counter += ((NI) 1);
28171 				} LA29: ;
28172 				i_2 += ((NI) 1);
28173 			} LA28: ;
28174 		}
28175 	}
28176 	{
28177 		NIM_BOOL T137_;
28178 		tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA T141_;
28179 		T137_ = (NIM_BOOL)0;
28180 		T137_ = isPure;
28181 		if (!(T137_)) goto LA138_;
28182 		T137_ = (((*(*result).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 1))&63U)))!=0);
28183 		LA138_: ;
28184 		if (!T137_) goto LA139_;
28185 		nimZeroMem((void*)(&T141_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
28186 		nimZeroMem((void*)(&T141_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
28187 		T141_.sym = (*result).sym;
28188 		addPureEnum__semdata_674(c, T141_);
28189 	}
28190 	LA139_: ;
28191 	{
28192 		NIM_BOOL T144_;
28193 		T144_ = (NIM_BOOL)0;
28194 		T144_ = (((*(*e).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
28195 		if (!(T144_)) goto LA145_;
28196 		T144_ = !(hasNull);
28197 		LA145_: ;
28198 		if (!T144_) goto LA146_;
28199 		(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 18)) & 63);
28200 	}
28201 	LA146_: ;
28202 	T148_ = NIM_NIL;
28203 	T148_ = genEnumToStrProc__enumtostr_6(result, (*n).info, (*c).graph, (*c).Sup.idgen);
28204 	setToStringProc__modulegraphs_6035((*c).graph, result, T148_);
28205 	}BeforeRet_: ;
28206 	return result;
28207 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semStmtListType__sem_5374)28208 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semStmtListType__sem_5374)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
28209 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
28210 	result = NIM_NIL;
28211 	checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
28212 	{
28213 		NI i;
28214 		NI colontmp_;
28215 		NI T2_;
28216 		NI i_2;
28217 		i = (NI)0;
28218 		colontmp_ = (NI)0;
28219 		T2_ = (NI)0;
28220 		T2_ = len__ast_3198(n);
28221 		colontmp_ = (NI)(T2_ - ((NI) 1));
28222 		i_2 = ((NI) 0);
28223 		{
28224 			while (1) {
28225 				if (!(i_2 < colontmp_)) goto LA4;
28226 				i = i_2;
28227 				asgnRef((void**) (&(*n)._kind_6.sons->data[i]), semStmt__sem_84(c, (*n)._kind_6.sons->data[i], 0));
28228 				i_2 += ((NI) 1);
28229 			} LA4: ;
28230 		}
28231 	}
28232 	{
28233 		NI T7_;
28234 		NI T10_;
28235 		NI T11_;
28236 		T7_ = (NI)0;
28237 		T7_ = len__ast_3198(n);
28238 		if (!(((NI) 0) < T7_)) goto LA8_;
28239 		T10_ = (NI)0;
28240 		T10_ = len__ast_3198(n);
28241 		result = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[(NI)(T10_ - ((NI) 1))], prev);
28242 		asgnRef((void**) (&(*n).typ), result);
28243 		T11_ = (NI)0;
28244 		T11_ = len__ast_3198(n);
28245 		asgnRef((void**) (&(*(*n)._kind_6.sons->data[(NI)(T11_ - ((NI) 1))]).typ), result);
28246 	}
28247 	goto LA5_;
28248 	LA8_: ;
28249 	{
28250 		result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
28251 	}
28252 	LA5_: ;
28253 	return result;
28254 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semBlockType__sem_5402)28255 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semBlockType__sem_5402)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
28256 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
28257 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
28258 	result = NIM_NIL;
28259 	(*(*c).p).nestedBlockCounter += ((NI) 1);
28260 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
28261 	T1_ = NIM_NIL;
28262 	T1_ = openScope__lookups_69(c);
28263 	{
28264 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T6_;
28265 		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_;
28266 		T6_ = NIM_NIL;
28267 		T6_ = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 22), (*n)._kind_6.sons->data[((NI) 0)], c);
28268 		addDecl__lookups_845(c, T6_);
28269 	}
28270 	LA4_: ;
28271 	result = semStmtListType__sem_5374(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28272 	asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 1)]).typ), result);
28273 	asgnRef((void**) (&(*n).typ), result);
28274 	closeScope__lookups_101(c);
28275 	(*(*c).p).nestedBlockCounter -= ((NI) 1);
28276 	return result;
28277 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,semTypeNode__sem_80)28278 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, semTypeNode__sem_80)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* prev) {
28279 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
28280 	result = NIM_NIL;
28281 	result = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
28282 	(*c).inTypeContext += ((NI) 1);
28283 	{
28284 		if (!((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11))) goto LA3_;
28285 		suggestExpr__sigmatch_6536(c, n);
28286 	}
28287 	LA3_: ;
28288 	switch ((*n).kind) {
28289 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
28290 	{
28291 		result = (*n).typ;
28292 	}
28293 	break;
28294 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
28295 	{
28296 		checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
28297 		result = semTypeOf__sem_5872(c, (*n)._kind_6.sons->data[((NI) 0)], prev);
28298 		{
28299 			if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA9_;
28300 			(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 29)) & 63);
28301 		}
28302 		LA9_: ;
28303 	}
28304 	break;
28305 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
28306 	{
28307 		{
28308 			NI T14_;
28309 			T14_ = (NI)0;
28310 			T14_ = len__ast_3198(n);
28311 			if (!(T14_ == ((NI) 1))) goto LA15_;
28312 			result = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], prev);
28313 		}
28314 		goto LA12_;
28315 		LA15_: ;
28316 		{
28317 			result = semAnonTuple__sem_3569(c, n, prev);
28318 		}
28319 		LA12_: ;
28320 	}
28321 	break;
28322 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
28323 	{
28324 		result = semAnonTuple__sem_3569(c, n, prev);
28325 	}
28326 	break;
28327 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
28328 	{
28329 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
28330 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
28331 		x = (*n)._kind_6.sons->data[((NI) 0)];
28332 		switch ((*x).kind) {
28333 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
28334 		{
28335 			ident = (*x)._kind_5.ident;
28336 		}
28337 		break;
28338 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
28339 		{
28340 			ident = (*(*x)._kind_4.sym).name;
28341 		}
28342 		break;
28343 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
28344 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
28345 		{
28346 			ident = (*(*(*x)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name;
28347 		}
28348 		break;
28349 		default:
28350 		{
28351 			ident = ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL);
28352 		}
28353 		break;
28354 		}
28355 		{
28356 			NIM_BOOL T26_;
28357 			NIM_BOOL T27_;
28358 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
28359 			T26_ = (NIM_BOOL)0;
28360 			T27_ = (NIM_BOOL)0;
28361 			T27_ = eqeq___idents_220(ident, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
28362 			T26_ = !(T27_);
28363 			if (!(T26_)) goto LA28_;
28364 			T26_ = eqStrings((*ident).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_27));
28365 			LA28_: ;
28366 			if (!T26_) goto LA29_;
28367 			b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n).info);
28368 			{
28369 				NI i;
28370 				NI colontmp_;
28371 				NI i_2;
28372 				i = (NI)0;
28373 				colontmp_ = (NI)0;
28374 				colontmp_ = len__ast_3198(n);
28375 				i_2 = ((NI) 1);
28376 				{
28377 					while (1) {
28378 						if (!(i_2 < colontmp_)) goto LA33;
28379 						i = i_2;
28380 						add__ast_4797(b, (*n)._kind_6.sons->data[i]);
28381 						i_2 += ((NI) 1);
28382 					} LA33: ;
28383 				}
28384 			}
28385 			result = semTypeNode__sem_80(c, b, prev);
28386 		}
28387 		goto LA24_;
28388 		LA29_: ;
28389 		{
28390 			NIM_BOOL T35_;
28391 			NIM_BOOL T36_;
28392 			T35_ = (NIM_BOOL)0;
28393 			T36_ = (NIM_BOOL)0;
28394 			T36_ = eqeq___idents_220(ident, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
28395 			T35_ = !(T36_);
28396 			if (!(T35_)) goto LA37_;
28397 			T35_ = ((*ident).id == ((NI) 71));
28398 			LA37_: ;
28399 			if (!T35_) goto LA38_;
28400 			result = semRangeAux__sem_3219(c, n, prev);
28401 		}
28402 		goto LA24_;
28403 		LA38_: ;
28404 		{
28405 			NIM_BOOL T41_;
28406 			NI T43_;
28407 			T41_ = (NIM_BOOL)0;
28408 			T41_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23));
28409 			if (!(T41_)) goto LA42_;
28410 			T43_ = (NI)0;
28411 			T43_ = len__ast_3198(n);
28412 			T41_ = (T43_ == ((NI) 2));
28413 			LA42_: ;
28414 			if (!T41_) goto LA44_;
28415 			result = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28416 			{
28417 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T48_;
28418 				T48_ = NIM_NIL;
28419 				T48_ = skipTypes__ast_3735(result, TM__rF9caJawfOjYTjsgLVUSGFA_39);
28420 				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_;
28421 				{
28422 					if (!(((*result).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0)) goto LA53_;
28423 					result = freshType__sem_5619(c, result, prev);
28424 					(*result).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17)) & 63));
28425 				}
28426 				LA53_: ;
28427 			}
28428 			goto LA46_;
28429 			LA49_: ;
28430 			{
28431 				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);
28432 			}
28433 			LA46_: ;
28434 		}
28435 		goto LA24_;
28436 		LA44_: ;
28437 		{
28438 			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_;
28439 			result = semTypeExpr__sem_5593(c, n, prev);
28440 		}
28441 		goto LA24_;
28442 		LA57_: ;
28443 		{
28444 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* op;
28445 			op = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
28446 			{
28447 				NIM_BOOL T62_;
28448 				tyObject_TType__facALICuu8zUj0hjvbTLFg* t1;
28449 				tyObject_TType__facALICuu8zUj0hjvbTLFg* t2;
28450 				T62_ = (NIM_BOOL)0;
28451 				T62_ = ((*op).id == ((NI) 2) || (*op).id == ((NI) 47));
28452 				if (T62_) goto LA63_;
28453 				T62_ = eqStrings((*op).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_44));
28454 				LA63_: ;
28455 				if (!T62_) goto LA64_;
28456 				checkSonsLen__semdata_1077(n, ((NI) 3), (*(*c).graph).config);
28457 				t1 = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28458 				t2 = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 2)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28459 				{
28460 					if (!(t1 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA68_;
28461 					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);
28462 					result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
28463 				}
28464 				goto LA66_;
28465 				LA68_: ;
28466 				{
28467 					if (!(t2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA71_;
28468 					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);
28469 					result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
28470 				}
28471 				goto LA66_;
28472 				LA71_: ;
28473 				{
28474 					{
28475 						if (!((*op).id == ((NI) 2))) goto LA76_;
28476 						result = makeAndType__semdata_855(c, t1, t2);
28477 					}
28478 					goto LA74_;
28479 					LA76_: ;
28480 					{
28481 						result = makeOrType__semdata_890(c, t1, t2);
28482 					}
28483 					LA74_: ;
28484 				}
28485 				LA66_: ;
28486 			}
28487 			goto LA60_;
28488 			LA64_: ;
28489 			{
28490 				NI T82_;
28491 				if (!((*op).id == ((NI) 43))) goto LA80_;
28492 				T82_ = (NI)0;
28493 				T82_ = len__ast_3198(n);
28494 				switch (T82_) {
28495 				case ((NI) 3):
28496 				{
28497 					tyObject_TType__facALICuu8zUj0hjvbTLFg* resolvedType;
28498 					result = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28499 					{
28500 						NIM_BOOL T86_;
28501 						T86_ = (NIM_BOOL)0;
28502 						T86_ = ((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
28503 						if (!(T86_)) goto LA87_;
28504 						T86_ = !((((*result).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0));
28505 						LA87_: ;
28506 						if (!T86_) goto LA88_;
28507 						result = base__types_63(result);
28508 					}
28509 					LA88_: ;
28510 					{
28511 						if (!!(((*(*n)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)))) goto LA92_;
28512 						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);
28513 					}
28514 					LA92_: ;
28515 					{
28516 						NIM_BOOL T96_;
28517 						T96_ = (NIM_BOOL)0;
28518 						T96_ = !((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 5))&31U)))!=0));
28519 						if (!(T96_)) goto LA97_;
28520 						T96_ = !((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 14))&31U)))!=0));
28521 						LA97_: ;
28522 						if (!T96_) goto LA98_;
28523 						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);
28524 					}
28525 					LA98_: ;
28526 					resolvedType = skipTypes__ast_3735(result, TM__rF9caJawfOjYTjsgLVUSGFA_39);
28527 					switch ((*resolvedType).kind) {
28528 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
28529 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
28530 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
28531 					{
28532 						tyArray__jlWPjgtbdjE069arIWHC9c9bg T101_;
28533 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T102_;
28534 						nimZeroMem((void*)T101_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
28535 						T101_[0] = copyTree__ast_4431(n);
28536 						T102_ = NIM_NIL;
28537 						T102_ = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 128), T101_, 1);
28538 						result = makeTypeFromExpr__semdata_804(c, T102_);
28539 					}
28540 					break;
28541 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
28542 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
28543 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
28544 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30):
28545 					case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
28546 					{
28547 						result = freshType__sem_5619(c, result, prev);
28548 						(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17)) & 63);
28549 					}
28550 					break;
28551 					default:
28552 					{
28553 						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);
28554 					}
28555 					break;
28556 					}
28557 				}
28558 				break;
28559 				case ((NI) 2):
28560 				{
28561 					tyObject_TType__facALICuu8zUj0hjvbTLFg* negated;
28562 					negated = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28563 					result = makeNotType__semdata_945(c, negated);
28564 				}
28565 				break;
28566 				default:
28567 				{
28568 					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);
28569 				}
28570 				break;
28571 				}
28572 			}
28573 			goto LA60_;
28574 			LA80_: ;
28575 			{
28576 				if (!((*op).id == ((NI) 50))) goto LA108_;
28577 				result = semAnyRef__sem_4568(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21), prev);
28578 			}
28579 			goto LA60_;
28580 			LA108_: ;
28581 			{
28582 				if (!((*op).id == ((NI) 52))) goto LA111_;
28583 				result = semAnyRef__sem_4568(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22), prev);
28584 			}
28585 			goto LA60_;
28586 			LA111_: ;
28587 			{
28588 				if (!((*op).id == ((NI) 60))) goto LA114_;
28589 				checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
28590 				result = semTypeOf__sem_5872(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28591 			}
28592 			goto LA60_;
28593 			LA114_: ;
28594 			{
28595 				NIM_BOOL T117_;
28596 				NIM_BOOL T118_;
28597 				T117_ = (NIM_BOOL)0;
28598 				T118_ = (NIM_BOOL)0;
28599 				T118_ = eqStrings((*op).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_533));
28600 				if (!(T118_)) goto LA119_;
28601 				T118_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
28602 				LA119_: ;
28603 				T117_ = T118_;
28604 				if (!(T117_)) goto LA120_;
28605 				T117_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 18));
28606 				LA120_: ;
28607 				if (!T117_) goto LA121_;
28608 				result = semTypeOf2__sem_5878(c, n, prev);
28609 			}
28610 			goto LA60_;
28611 			LA121_: ;
28612 			{
28613 				NIM_BOOL T124_;
28614 				NIM_BOOL T125_;
28615 				NI T128_;
28616 				T124_ = (NIM_BOOL)0;
28617 				T125_ = (NIM_BOOL)0;
28618 				T125_ = eqStrings((*op).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_535));
28619 				if (!(T125_)) goto LA126_;
28620 				T125_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0));
28621 				LA126_: ;
28622 				T124_ = T125_;
28623 				if (!(T124_)) goto LA127_;
28624 				T128_ = (NI)0;
28625 				T128_ = len__ast_3198(n);
28626 				T124_ = (T128_ == ((NI) 2));
28627 				LA127_: ;
28628 				if (!T124_) goto LA129_;
28629 				result = semTypeExpr__sem_5593(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28630 			}
28631 			goto LA60_;
28632 			LA129_: ;
28633 			{
28634 				{
28635 					NIM_BOOL T134_;
28636 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T138_;
28637 					T134_ = (NIM_BOOL)0;
28638 					T134_ = (((NI) 0) < (*c).inGenericContext);
28639 					if (!(T134_)) goto LA135_;
28640 					T134_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27));
28641 					LA135_: ;
28642 					if (!T134_) goto LA136_;
28643 					T138_ = NIM_NIL;
28644 					T138_ = copyTree__ast_4431(n);
28645 					result = makeTypeFromExpr__semdata_804(c, T138_);
28646 				}
28647 				goto LA132_;
28648 				LA136_: ;
28649 				{
28650 					result = semTypeExpr__sem_5593(c, n, prev);
28651 				}
28652 				LA132_: ;
28653 			}
28654 			LA60_: ;
28655 		}
28656 		LA24_: ;
28657 	}
28658 	break;
28659 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
28660 	{
28661 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* whenResult;
28662 		whenResult = semWhen__sem_515(c, n, NIM_FALSE);
28663 		{
28664 			if (!((*whenResult).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA143_;
28665 			transitionSonsKind__ast_4359(whenResult, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 128));
28666 		}
28667 		LA143_: ;
28668 		result = semTypeNode__sem_80(c, whenResult, prev);
28669 	}
28670 	break;
28671 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
28672 	{
28673 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* head;
28674 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
28675 		checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
28676 		head = (*n)._kind_6.sons->data[((NI) 0)];
28677 		{
28678 			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_;
28679 			s = semTypeIdent__sem_3474(c, head);
28680 		}
28681 		goto LA146_;
28682 		LA148_: ;
28683 		{
28684 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T151_;
28685 			T151_ = NIM_NIL;
28686 			T151_ = semExpr__sem_52(c, head, 0);
28687 			s = symFromExpectedTypeNode__sem_5854(c, T151_);
28688 		}
28689 		LA146_: ;
28690 		switch ((*s).magic) {
28691 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 159):
28692 		{
28693 			result = semArray__sem_3419(c, n, prev);
28694 		}
28695 		break;
28696 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 160):
28697 		{
28698 			result = semContainer__sem_3160(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_555), prev);
28699 		}
28700 		break;
28701 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 271):
28702 		{
28703 			result = semContainer__sem_3160(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_556), prev);
28704 		}
28705 		break;
28706 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 161):
28707 		{
28708 			result = semRange__sem_3307(c, n, prev);
28709 		}
28710 		break;
28711 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 162):
28712 		{
28713 			result = semSet__sem_3120(c, n, prev);
28714 		}
28715 		break;
28716 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 171):
28717 		{
28718 			result = semOrdinal__sem_3459(c, n, prev);
28719 		}
28720 		break;
28721 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 172):
28722 		{
28723 			result = semIterableType__sem_3449(c, n, prev);
28724 		}
28725 		break;
28726 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 163):
28727 		{
28728 			result = semContainer__sem_3160(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_574), prev);
28729 			{
28730 				if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA162_;
28731 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31)) & 63);
28732 			}
28733 			LA162_: ;
28734 		}
28735 		break;
28736 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 164):
28737 		{
28738 			result = semVarargs__sem_3167(c, n, prev);
28739 		}
28740 		break;
28741 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 195):
28742 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 17):
28743 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 18):
28744 		{
28745 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T166_;
28746 			T166_ = NIM_NIL;
28747 			T166_ = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28748 			result = makeTypeDesc__concepts_49(c, T166_);
28749 			(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 29)) & 63);
28750 		}
28751 		break;
28752 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 24):
28753 		{
28754 			result = semStaticType__sem_128(c, (*n)._kind_6.sons->data[((NI) 1)], prev);
28755 		}
28756 		break;
28757 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 193):
28758 		{
28759 			result = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28760 			{
28761 				tyObject_TType__facALICuu8zUj0hjvbTLFg* old;
28762 				tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T173_;
28763 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T174_;
28764 				if (!!((result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA171_;
28765 				old = result;
28766 				T173_ = nextTypeId__ast_3151((*c).Sup.idgen);
28767 				T174_ = NIM_NIL;
28768 				T174_ = getCurrOwner__semdata_315(c);
28769 				result = copyType__ast_4046(result, T173_, T174_);
28770 				copyTypeProps__modulegraphs_8872((*c).graph, ((NI) ((*(*c).Sup.idgen).module)), result, old);
28771 				{
28772 					NI i_3;
28773 					NI colontmp__2;
28774 					NI i_4;
28775 					i_3 = (NI)0;
28776 					colontmp__2 = (NI)0;
28777 					colontmp__2 = len__ast_3198(n);
28778 					i_4 = ((NI) 1);
28779 					{
28780 						while (1) {
28781 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T178_;
28782 							if (!(i_4 < colontmp__2)) goto LA177;
28783 							i_3 = i_4;
28784 							T178_ = NIM_NIL;
28785 							T178_ = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[i_3], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28786 							rawAddSon__ast_4288(result, T178_, NIM_TRUE);
28787 							i_4 += ((NI) 1);
28788 						} LA177: ;
28789 					}
28790 				}
28791 			}
28792 			LA171_: ;
28793 		}
28794 		break;
28795 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 168):
28796 		{
28797 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T180_;
28798 			result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13), prev, c);
28799 			T180_ = NIM_NIL;
28800 			T180_ = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28801 			addSonSkipIntLit__magicsys_136(result, T180_, (*c).Sup.idgen);
28802 		}
28803 		break;
28804 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 167):
28805 		{
28806 			tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
28807 			result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23), prev, c);
28808 			base = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28809 			{
28810 				if (!((*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*base).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA184_;
28811 				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);
28812 				base = (*base).sons->data[((NI) 0)];
28813 			}
28814 			LA184_: ;
28815 			addSonSkipIntLit__magicsys_136(result, base, (*c).Sup.idgen);
28816 		}
28817 		break;
28818 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 165):
28819 		{
28820 			result = semAnyRef__sem_4568(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22), prev);
28821 		}
28822 		break;
28823 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 166):
28824 		{
28825 			result = semAnyRef__sem_4568(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21), prev);
28826 		}
28827 		break;
28828 		case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 170):
28829 		{
28830 			result = semTuple__sem_3578(c, n, prev);
28831 		}
28832 		break;
28833 		default:
28834 		{
28835 			result = semGeneric__sem_5453(c, n, s, prev);
28836 		}
28837 		break;
28838 		}
28839 	}
28840 	break;
28841 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
28842 	{
28843 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typeExpr;
28844 		typeExpr = semExpr__sem_52(c, n, 0);
28845 		{
28846 			if (!((*typeExpr).typ == 0)) goto LA193_;
28847 			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);
28848 			result = errorType__semdata_1002(c);
28849 		}
28850 		goto LA191_;
28851 		LA193_: ;
28852 		{
28853 			if (!((*(*typeExpr).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61))) goto LA196_;
28854 			result = (*typeExpr).typ;
28855 		}
28856 		goto LA191_;
28857 		LA196_: ;
28858 		{
28859 			if (!!(((*(*typeExpr).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA199_;
28860 			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);
28861 			result = errorType__semdata_1002(c);
28862 		}
28863 		goto LA191_;
28864 		LA199_: ;
28865 		{
28866 			result = base__types_63((*typeExpr).typ);
28867 			{
28868 				NIM_BOOL T204_;
28869 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* preprocessed;
28870 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T208_;
28871 				T204_ = (NIM_BOOL)0;
28872 				T204_ = isMetaType__ast_3495(result);
28873 				if (!(T204_)) goto LA205_;
28874 				T204_ = !(((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52)));
28875 				LA205_: ;
28876 				if (!T204_) goto LA206_;
28877 				preprocessed = semGenericStmt__sem_2885(c, n);
28878 				T208_ = NIM_NIL;
28879 				T208_ = copyTree__ast_4431(preprocessed);
28880 				result = makeTypeFromExpr__semdata_804(c, T208_);
28881 			}
28882 			goto LA202_;
28883 			LA206_: ;
28884 			{
28885 				tyObject_TType__facALICuu8zUj0hjvbTLFg* alias;
28886 				alias = maybeAliasType__sem_5571(c, result, prev);
28887 				{
28888 					if (!!((alias == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA212_;
28889 					result = alias;
28890 				}
28891 				LA212_: ;
28892 			}
28893 			LA202_: ;
28894 		}
28895 		LA191_: ;
28896 	}
28897 	break;
28898 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
28899 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
28900 	{
28901 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
28902 		s_2 = semTypeIdent__sem_3474(c, n);
28903 		{
28904 			if (!((*s_2).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA217_;
28905 			{
28906 				if (!!(((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0)))) goto LA221_;
28907 				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);
28908 			}
28909 			LA221_: ;
28910 			result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
28911 		}
28912 		goto LA215_;
28913 		LA217_: ;
28914 		{
28915 			NIM_BOOL T224_;
28916 			T224_ = (NIM_BOOL)0;
28917 			T224_ = ((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
28918 			if (!(T224_)) goto LA225_;
28919 			T224_ = ((*(*s_2).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
28920 			LA225_: ;
28921 			if (!T224_) goto LA226_;
28922 			{
28923 				NIM_BOOL T230_;
28924 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T231_;
28925 				NimStringDesc* argX60gensym1486_;
28926 				T230_ = (NIM_BOOL)0;
28927 				T231_ = NIM_NIL;
28928 				T231_ = base__types_63((*s_2).typ);
28929 				T230_ = !(((*T231_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
28930 				if (!(T230_)) goto LA232_;
28931 				T230_ = (prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
28932 				LA232_: ;
28933 				if (!!(T230_)) goto LA233_;
28934 				argX60gensym1486_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_602);
28935 				internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1486_, TM__rF9caJawfOjYTjsgLVUSGFA_602);
28936 			}
28937 			LA233_: ;
28938 			result = base__types_63((*s_2).typ);
28939 		}
28940 		goto LA215_;
28941 		LA226_: ;
28942 		{
28943 			if (!(prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA236_;
28944 			result = (*s_2).typ;
28945 		}
28946 		goto LA215_;
28947 		LA236_: ;
28948 		{
28949 			tyObject_TType__facALICuu8zUj0hjvbTLFg* alias_2;
28950 			alias_2 = maybeAliasType__sem_5571(c, (*s_2).typ, prev);
28951 			{
28952 				if (!!((alias_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA241_;
28953 				result = alias_2;
28954 			}
28955 			goto LA239_;
28956 			LA241_: ;
28957 			{
28958 				assignType__ast_3976(prev, (*s_2).typ);
28959 				{
28960 					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_;
28961 					(*prev).Sup.itemId = (*(*s_2).typ).Sup.itemId;
28962 				}
28963 				LA246_: ;
28964 				result = prev;
28965 			}
28966 			LA239_: ;
28967 		}
28968 		LA215_: ;
28969 	}
28970 	break;
28971 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
28972 	{
28973 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_3;
28974 		s_3 = getGenSym__semdata_408(c, (*n)._kind_4.sym);
28975 		{
28976 			NIM_BOOL T251_;
28977 			NIM_BOOL T253_;
28978 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
28979 			tyObject_TType__facALICuu8zUj0hjvbTLFg* alias_3;
28980 			T251_ = (NIM_BOOL)0;
28981 			T251_ = !(((*s_3).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
28982 			if (!(T251_)) goto LA252_;
28983 			T253_ = (NIM_BOOL)0;
28984 			T253_ = ((*s_3).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
28985 			if (T253_) goto LA254_;
28986 			T253_ = ((*(*s_3).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
28987 			LA254_: ;
28988 			T251_ = T253_;
28989 			LA252_: ;
28990 			if (!T251_) goto LA255_;
28991 			{
28992 				if (!((*s_3).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7))) goto LA259_;
28993 				t = (*s_3).typ;
28994 			}
28995 			goto LA257_;
28996 			LA259_: ;
28997 			{
28998 				{
28999 					NIM_BOOL T264_;
29000 					tyObject_TType__facALICuu8zUj0hjvbTLFg* T265_;
29001 					NimStringDesc* argX60gensym1493_;
29002 					T264_ = (NIM_BOOL)0;
29003 					T265_ = NIM_NIL;
29004 					T265_ = base__types_63((*s_3).typ);
29005 					T264_ = !(((*T265_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
29006 					if (!(T264_)) goto LA266_;
29007 					T264_ = (prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
29008 					LA266_: ;
29009 					if (!!(T264_)) goto LA267_;
29010 					argX60gensym1493_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_603);
29011 					internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym1493_, TM__rF9caJawfOjYTjsgLVUSGFA_603);
29012 				}
29013 				LA267_: ;
29014 				t = base__types_63((*s_3).typ);
29015 			}
29016 			LA257_: ;
29017 			alias_3 = maybeAliasType__sem_5571(c, t, prev);
29018 			{
29019 				if (!!((alias_3 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA271_;
29020 				result = alias_3;
29021 			}
29022 			goto LA269_;
29023 			LA271_: ;
29024 			{
29025 				if (!(prev == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA274_;
29026 				result = t;
29027 			}
29028 			goto LA269_;
29029 			LA274_: ;
29030 			{
29031 				assignType__ast_3976(prev, t);
29032 				result = prev;
29033 			}
29034 			LA269_: ;
29035 			markUsed__sigmatch_85(c, (*n).info, (*n)._kind_4.sym);
29036 		}
29037 		goto LA249_;
29038 		LA255_: ;
29039 		{
29040 			{
29041 				if (!!(((*s_3).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0)))) goto LA280_;
29042 				{
29043 					tyArray__nHXaesL0DJZHyVS07ARPRA T286_;
29044 					NimStringDesc* T287_;
29045 					if (!((*s_3).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA284_;
29046 					nimZeroMem((void*)T286_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
29047 					T286_[0] = copyString((*(*s_3).name).s);
29048 					T287_ = NIM_NIL;
29049 					T287_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_604), T286_, 1);
29050 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T287_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_605, NIM_FALSE);
29051 				}
29052 				goto LA282_;
29053 				LA284_: ;
29054 				{
29055 					tyArray__Re75IspeoxXy2oCZHwcRrA T289_;
29056 					NimStringDesc* T290_;
29057 					nimZeroMem((void*)T289_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
29058 					T289_[0] = copyString((*(*s_3).name).s);
29059 					T289_[1] = toHumanStr__ast_5158((*s_3).kind);
29060 					T290_ = NIM_NIL;
29061 					T290_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_606), T289_, 2);
29062 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T290_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_607, NIM_FALSE);
29063 				}
29064 				LA282_: ;
29065 			}
29066 			LA280_: ;
29067 			result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
29068 		}
29069 		LA249_: ;
29070 	}
29071 	break;
29072 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133):
29073 	{
29074 		result = semObjectNode__sem_4464(c, n, prev, 0);
29075 	}
29076 	break;
29077 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 134):
29078 	{
29079 		result = semTuple__sem_3578(c, n, prev);
29080 	}
29081 	break;
29082 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 135):
29083 	{
29084 		result = newConstraint__sem_2929(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
29085 	}
29086 	break;
29087 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 136):
29088 	{
29089 		result = semTypeClass__sem_5629(c, n, prev);
29090 	}
29091 	break;
29092 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141):
29093 	{
29094 		result = semAnyRef__sem_4568(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22), prev);
29095 	}
29096 	break;
29097 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 142):
29098 	{
29099 		result = semAnyRef__sem_4568(c, n, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21), prev);
29100 	}
29101 	break;
29102 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 143):
29103 	{
29104 		result = semVarOutType__sem_3185(c, n, prev, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23));
29105 	}
29106 	break;
29107 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 146):
29108 	{
29109 		result = semDistinct__sem_3206(c, n, prev);
29110 	}
29111 	break;
29112 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 137):
29113 	{
29114 		result = semStaticType__sem_128(c, (*n)._kind_6.sons->data[((NI) 0)], prev);
29115 	}
29116 	break;
29117 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 148):
29118 	{
29119 		{
29120 			NI T303_;
29121 			tyObject_TType__facALICuu8zUj0hjvbTLFg* child;
29122 			T303_ = (NI)0;
29123 			T303_ = len__ast_3198(n);
29124 			if (!(T303_ == ((NI) 0))) goto LA304_;
29125 			result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51), c);
29126 			child = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25), c);
29127 			(*child).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15)) & 63);
29128 			addSonSkipIntLit__magicsys_136(result, child, (*c).Sup.idgen);
29129 		}
29130 		goto LA301_;
29131 		LA304_: ;
29132 		{
29133 			result = semProcTypeWithScope__sem_5803(c, n, prev, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15));
29134 			{
29135 				if (!((*result).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25))) goto LA309_;
29136 				(*result).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15)) & 63);
29137 				{
29138 					NIM_BOOL T313_;
29139 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T314_;
29140 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T316_;
29141 					T313_ = (NIM_BOOL)0;
29142 					T314_ = NIM_NIL;
29143 					T314_ = lastSon__ast_4832(n);
29144 					T313_ = ((*T314_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90));
29145 					if (!(T313_)) goto LA315_;
29146 					T316_ = NIM_NIL;
29147 					T316_ = lastSon__ast_4832(n);
29148 					T313_ = hasPragma__pragmas_2498(T316_, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 147));
29149 					LA315_: ;
29150 					if (!T313_) goto LA317_;
29151 					(*result).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 5);
29152 				}
29153 				goto LA311_;
29154 				LA317_: ;
29155 				{
29156 					(*result).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9);
29157 				}
29158 				LA311_: ;
29159 			}
29160 			LA309_: ;
29161 		}
29162 		LA301_: ;
29163 	}
29164 	break;
29165 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 147):
29166 	{
29167 		{
29168 			NI T323_;
29169 			T323_ = (NI)0;
29170 			T323_ = len__ast_3198(n);
29171 			if (!(T323_ == ((NI) 0))) goto LA324_;
29172 			result = newConstraint__sem_2929(c, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
29173 		}
29174 		goto LA321_;
29175 		LA324_: ;
29176 		{
29177 			result = semProcTypeWithScope__sem_5803(c, n, prev, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
29178 		}
29179 		LA321_: ;
29180 	}
29181 	break;
29182 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150):
29183 	{
29184 		result = semEnum__sem_2937(c, n, prev);
29185 	}
29186 	break;
29187 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
29188 	{
29189 		result = (*n).typ;
29190 	}
29191 	break;
29192 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 128):
29193 	{
29194 		result = semStmtListType__sem_5374(c, n, prev);
29195 	}
29196 	break;
29197 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 129):
29198 	{
29199 		result = semBlockType__sem_5402(c, n, prev);
29200 	}
29201 	break;
29202 	default:
29203 	{
29204 		NimStringDesc* T332_;
29205 		NimStringDesc* T333_;
29206 		T332_ = NIM_NIL;
29207 		T333_ = NIM_NIL;
29208 		T333_ = renderTree__renderer_46(n, 0);
29209 		T332_ = rawNewString((T333_ ? T333_->Sup.len : 0) + 24);
29210 appendString(T332_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_625));
29211 appendString(T332_, T333_);
29212 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T332_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_626, NIM_FALSE);
29213 		result = newOrPrevType__sem_2916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50), prev, c);
29214 	}
29215 	break;
29216 	}
29217 	asgnRef((void**) (&(*n).typ), result);
29218 	(*c).inTypeContext -= ((NI) 1);
29219 	return result;
29220 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semAfterMacroCall__sem_2787)29221 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) {
29222 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
29223 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T5_;
29224 	NI T6_;
29225 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T53_;
29226 	result = NIM_NIL;
29227 	(*(*(*c).graph).config).evalTemplateCounter += ((NI) 1);
29228 	{
29229 		if (!(((NI) 1000) < (*(*(*c).graph).config).evalTemplateCounter)) goto LA3_;
29230 		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);
29231 	}
29232 	LA3_: ;
29233 	T5_ = NIM_NIL;
29234 	T5_ = getModule__astalgo_216((*s).owner);
29235 	asgnRef((void**) (&(*c).friendModules), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*c).friendModules), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
29236 	T6_ = (*c).friendModules->Sup.len++;
29237 	asgnRef((void**) (&(*c).friendModules->data[T6_]), T5_);
29238 	result = macroResult;
29239 	resetSemFlag__sem_2771(result);
29240 	{
29241 		if (!((*(*s).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA9_;
29242 		result = semStmt__sem_84(c, result, flags);
29243 	}
29244 	goto LA7_;
29245 	LA9_: ;
29246 	{
29247 		tyObject_TType__facALICuu8zUj0hjvbTLFg* retType;
29248 		retType = (*(*s).typ).sons->data[((NI) 0)];
29249 		{
29250 			NIM_BOOL T14_;
29251 			NIM_BOOL T15_;
29252 			NI T18_;
29253 			T14_ = (NIM_BOOL)0;
29254 			T15_ = (NIM_BOOL)0;
29255 			T15_ = ((*retType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
29256 			if (!(T15_)) goto LA16_;
29257 			T15_ = (((*retType).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0);
29258 			LA16_: ;
29259 			T14_ = T15_;
29260 			if (!(T14_)) goto LA17_;
29261 			T18_ = (NI)0;
29262 			T18_ = len__ast_4002(retType);
29263 			T14_ = (T18_ == ((NI) 1));
29264 			LA17_: ;
29265 			if (!T14_) goto LA19_;
29266 			retType = (*retType).sons->data[((NI) 0)];
29267 		}
29268 		LA19_: ;
29269 		switch ((*retType).kind) {
29270 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
29271 		{
29272 			result = semExpr__sem_52(c, result, flags);
29273 		}
29274 		break;
29275 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
29276 		{
29277 			result = semExprWithType__sem_56(c, result, flags);
29278 		}
29279 		break;
29280 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
29281 		{
29282 			tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
29283 			{
29284 				if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA26_;
29285 				transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 128));
29286 			}
29287 			LA26_: ;
29288 			typ = semTypeNode__sem_80(c, result, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
29289 			{
29290 				NimStringDesc* T32_;
29291 				NimStringDesc* T33_;
29292 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T34_;
29293 				if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA30_;
29294 				T32_ = NIM_NIL;
29295 				T33_ = NIM_NIL;
29296 				T33_ = renderTree__renderer_46(result, 4);
29297 				T32_ = rawNewString((T33_ ? T33_->Sup.len : 0) + 24);
29298 appendString(T32_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_68));
29299 appendString(T32_, T33_);
29300 				liMessage__msgs_1118((*(*c).graph).config, (*result).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T32_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_627, NIM_FALSE);
29301 				T34_ = NIM_NIL;
29302 				T34_ = errorSym__lookups_506(c, result);
29303 				result = newSymNode__ast_3716(T34_);
29304 			}
29305 			goto LA28_;
29306 			LA30_: ;
29307 			{
29308 				asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, typ));
29309 			}
29310 			LA28_: ;
29311 		}
29312 		break;
29313 		default:
29314 		{
29315 			{
29316 				NIM_BOOL T39_;
29317 				tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q paramTypes;
29318 				T39_ = (NIM_BOOL)0;
29319 				T39_ = !(((*(*s).ast)._kind_6.sons->data[((NI) 2)] == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
29320 				if (!(T39_)) goto LA40_;
29321 				T39_ = isMetaType__ast_3495(retType);
29322 				LA40_: ;
29323 				if (!T39_) goto LA41_;
29324 				nimZeroMem((void*)(&paramTypes), sizeof(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q));
29325 				newIdTable__ast_4102((&paramTypes));
29326 				{
29327 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
29328 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value;
29329 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* gp;
29330 					param = NIM_NIL;
29331 					value = NIM_NIL;
29332 					gp = (*(*s).ast)._kind_6.sons->data[((NI) 2)];
29333 					{
29334 						NI i;
29335 						NI colontmp_;
29336 						NI i_2;
29337 						i = (NI)0;
29338 						colontmp_ = (NI)0;
29339 						colontmp_ = len__ast_3198(gp);
29340 						i_2 = ((NI) 0);
29341 						{
29342 							while (1) {
29343 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* genericParam;
29344 								NI posInCall;
29345 								NI T47_;
29346 								if (!(i_2 < colontmp_)) goto LA46;
29347 								i = i_2;
29348 								genericParam = (*(*gp)._kind_6.sons->data[i])._kind_4.sym;
29349 								T47_ = (NI)0;
29350 								T47_ = len__ast_4002((*s).typ);
29351 								posInCall = (NI)(T47_ + i);
29352 								{
29353 									NI T50_;
29354 									T50_ = (NI)0;
29355 									T50_ = len__ast_3198(call);
29356 									if (!(posInCall < T50_)) goto LA51_;
29357 									param = genericParam;
29358 									value = (*call)._kind_6.sons->data[posInCall];
29359 									idTablePut__astalgo_70((&paramTypes), (*((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w**) (&((*param).typ)))), (*((RootObj**) (&((*value).typ)))));
29360 								}
29361 								LA51_: ;
29362 								i_2 += ((NI) 1);
29363 							} LA46: ;
29364 						}
29365 					}
29366 				}
29367 				retType = generateTypeInstance__semtypinst_1050(c, paramTypes, (*macroResult).info, retType);
29368 			}
29369 			LA41_: ;
29370 			result = semExpr__sem_52(c, result, flags);
29371 			result = fitNode__sem_70(c, retType, result, (*result).info);
29372 		}
29373 		break;
29374 		}
29375 	}
29376 	LA7_: ;
29377 	(*(*(*c).graph).config).evalTemplateCounter -= ((NI) 1);
29378 	T53_ = NIM_NIL;
29379 	T53_ = pop__icZic_2460((&(*c).friendModules));
29380 	(void)(T53_);
29381 	return result;
29382 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semMacroExpr__sem_524)29383 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) {
29384 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
29385 	tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
29386 	NI genericParams;
29387 	NI suppliedParams;
29388 	NI T6_;
29389 	result = NIM_NIL;
29390 	rememberExpansion__semdata_3656(c, (*nOrig).info, sym);
29391 	pushInfoContext__msgs_490((*(*c).graph).config, (*nOrig).info, (*(*sym).name).s);
29392 	info = getCallLineInfo__sem_2390(n);
29393 	markUsed__sigmatch_85(c, info, sym);
29394 	{
29395 		NimStringDesc* T5_;
29396 		if (!(sym == (*(*c).p).owner)) goto LA3_;
29397 		T5_ = NIM_NIL;
29398 		T5_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_10), (*(*sym).name).s);
29399 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T5_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_11, NIM_FALSE);
29400 	}
29401 	LA3_: ;
29402 	genericParams = len__ast_3198((*(*sym).ast)._kind_6.sons->data[((NI) 2)]);
29403 	T6_ = (NI)0;
29404 	T6_ = safeLen__ast_3191(n);
29405 	suppliedParams = (((NI)(T6_ - ((NI) 1)) >= ((NI) 0)) ? (NI)(T6_ - ((NI) 1)) : ((NI) 0));
29406 	{
29407 		NimStringDesc* T11_;
29408 		NimStringDesc* T12_;
29409 		if (!(suppliedParams < genericParams)) goto LA9_;
29410 		T11_ = NIM_NIL;
29411 		T11_ = renderTree__renderer_46(n, 0);
29412 		T12_ = NIM_NIL;
29413 		T12_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_12), T11_);
29414 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T12_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__rF9caJawfOjYTjsgLVUSGFA_13, NIM_FALSE);
29415 	}
29416 	LA9_: ;
29417 	result = evalMacroCall__vm_13857((*c).module, (*c).Sup.idgen, (*c).graph, (*c).templInstCounter, n, nOrig, sym);
29418 	{
29419 		if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 13))&31U)))!=0))) goto LA15_;
29420 		result = semAfterMacroCall__sem_2787(c, n, result, sym, flags);
29421 	}
29422 	LA15_: ;
29423 	{
29424 		NIM_BOOL T19_;
29425 		NimStringDesc* T22_;
29426 		T19_ = (NIM_BOOL)0;
29427 		T19_ = nsthasKey((*(*(*c).graph).config).macrosToExpand, (*(*sym).name).s);
29428 		if (!T19_) goto LA20_;
29429 		T22_ = NIM_NIL;
29430 		T22_ = renderTree__renderer_46(result, 0);
29431 		liMessage__msgs_1118((*(*c).graph).config, (*nOrig).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 97), T22_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_628, NIM_FALSE);
29432 	}
29433 	LA20_: ;
29434 	result = wrapInComesFrom__evaltempl_260((*nOrig).info, sym, result);
29435 	popInfoContext__msgs_507((*(*c).graph).config);
29436 	return result;
29437 }
N_INLINE(NIM_BOOL,hasWarn__options_557)29438 static N_INLINE(NIM_BOOL, hasWarn__options_557)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug note) {
29439 	NIM_BOOL result;
29440 	NIM_BOOL T1_;
29441 	result = (NIM_BOOL)0;
29442 	T1_ = (NIM_BOOL)0;
29443 	T1_ = (((*conf).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 13))&31U)))!=0);
29444 	if (!(T1_)) goto LA2_;
29445 	T1_ = (((*conf).notes[(NU)((note- 16))>>3] &(1U<<((NU)((note- 16))&7U)))!=0);
29446 	LA2_: ;
29447 	result = T1_;
29448 	return result;
29449 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semSym__sem_16966)29450 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) {
29451 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
29452 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
29453 {	result = NIM_NIL;
29454 	s = getGenSym__semdata_408(c, sym);
29455 	switch ((*s).kind) {
29456 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10):
29457 	{
29458 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
29459 		markUsed__sigmatch_85(c, (*n).info, s);
29460 		typ = skipTypes__ast_3735((*s).typ, TM__rF9caJawfOjYTjsgLVUSGFA_5);
29461 		switch ((*typ).kind) {
29462 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
29463 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
29464 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
29465 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
29466 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
29467 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
29468 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
29469 		{
29470 			{
29471 				if (!((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0))) goto LA5_;
29472 				result = inlineConst__sem_14003(c, n, s);
29473 			}
29474 			goto LA3_;
29475 			LA5_: ;
29476 			{
29477 				result = newSymNode__ast_3719(s, (*n).info);
29478 			}
29479 			LA3_: ;
29480 		}
29481 		break;
29482 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
29483 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
29484 		{
29485 			{
29486 				NI T11_;
29487 				T11_ = (NI)0;
29488 				T11_ = safeLen__ast_3191((*s).ast);
29489 				if (!(T11_ == ((NI) 0))) goto LA12_;
29490 				result = inlineConst__sem_14003(c, n, s);
29491 			}
29492 			goto LA9_;
29493 			LA12_: ;
29494 			{
29495 				result = newSymNode__ast_3719(s, (*n).info);
29496 			}
29497 			LA9_: ;
29498 		}
29499 		break;
29500 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
29501 		{
29502 			{
29503 				if (!!(((*typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA18_;
29504 				result = (*typ).n;
29505 				asgnRef((void**) (&(*result).typ), base__types_63(typ));
29506 			}
29507 			goto LA16_;
29508 			LA18_: ;
29509 			{
29510 				result = newSymNode__ast_3719(s, (*n).info);
29511 			}
29512 			LA16_: ;
29513 		}
29514 		break;
29515 		default:
29516 		{
29517 			result = newSymNode__ast_3719(s, (*n).info);
29518 		}
29519 		break;
29520 		}
29521 	}
29522 	break;
29523 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
29524 	{
29525 		{
29526 			NIM_BOOL T25_;
29527 			NIM_BOOL T26_;
29528 			NI T28_;
29529 			NIM_BOOL T30_;
29530 			NI T32_;
29531 			T25_ = (NIM_BOOL)0;
29532 			T26_ = (NIM_BOOL)0;
29533 			T26_ = ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 14))&31U)))!=0);
29534 			if (!(T26_)) goto LA27_;
29535 			T28_ = (NI)0;
29536 			T28_ = len__ast_3198((*(*s).ast)._kind_6.sons->data[((NI) 2)]);
29537 			T26_ = (((NI) 0) < T28_);
29538 			LA27_: ;
29539 			T25_ = T26_;
29540 			if (T25_) goto LA29_;
29541 			T30_ = (NIM_BOOL)0;
29542 			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)));
29543 			if (!(T30_)) goto LA31_;
29544 			T32_ = (NI)0;
29545 			T32_ = requiredParams__ast_4714(s);
29546 			T30_ = (((NI) 0) < T32_);
29547 			LA31_: ;
29548 			T25_ = T30_;
29549 			LA29_: ;
29550 			if (!T25_) goto LA33_;
29551 			markUsed__sigmatch_85(c, (*n).info, s);
29552 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
29553 		}
29554 		goto LA23_;
29555 		LA33_: ;
29556 		{
29557 			result = semMacroExpr__sem_524(c, n, n, s, flags);
29558 		}
29559 		LA23_: ;
29560 	}
29561 	break;
29562 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
29563 	{
29564 		{
29565 			NIM_BOOL T39_;
29566 			NIM_BOOL T40_;
29567 			NIM_BOOL T41_;
29568 			NI T43_;
29569 			NIM_BOOL T45_;
29570 			NI T47_;
29571 			tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
29572 			T39_ = (NIM_BOOL)0;
29573 			T40_ = (NIM_BOOL)0;
29574 			T41_ = (NIM_BOOL)0;
29575 			T41_ = ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 14))&31U)))!=0);
29576 			if (!(T41_)) goto LA42_;
29577 			T43_ = (NI)0;
29578 			T43_ = len__ast_3198((*(*s).ast)._kind_6.sons->data[((NI) 2)]);
29579 			T41_ = (((NI) 0) < T43_);
29580 			LA42_: ;
29581 			T40_ = T41_;
29582 			if (T40_) goto LA44_;
29583 			T45_ = (NIM_BOOL)0;
29584 			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)));
29585 			if (!(T45_)) goto LA46_;
29586 			T47_ = (NI)0;
29587 			T47_ = requiredParams__ast_4714(s);
29588 			T45_ = (((NI) 0) < T47_);
29589 			LA46_: ;
29590 			T40_ = T45_;
29591 			LA44_: ;
29592 			T39_ = T40_;
29593 			if (T39_) goto LA48_;
29594 			T39_ = (((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0);
29595 			LA48_: ;
29596 			if (!T39_) goto LA49_;
29597 			info = getCallLineInfo__sem_2390(n);
29598 			markUsed__sigmatch_85(c, info, s);
29599 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
29600 		}
29601 		goto LA37_;
29602 		LA49_: ;
29603 		{
29604 			result = semTemplateExpr__sem_519(c, n, s, flags);
29605 		}
29606 		LA37_: ;
29607 	}
29608 	break;
29609 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
29610 	{
29611 		markUsed__sigmatch_85(c, (*n).info, s);
29612 		{
29613 			NIM_BOOL T55_;
29614 			NIM_BOOL T56_;
29615 			T55_ = (NIM_BOOL)0;
29616 			T56_ = (NIM_BOOL)0;
29617 			T56_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
29618 			if (!(T56_)) goto LA57_;
29619 			T56_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
29620 			LA57_: ;
29621 			T55_ = T56_;
29622 			if (!(T55_)) goto LA58_;
29623 			T55_ = !(((*(*s).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
29624 			LA58_: ;
29625 			if (!T55_) goto LA59_;
29626 			result = (*(*s).typ).n;
29627 			goto BeforeRet_;
29628 		}
29629 		goto LA53_;
29630 		LA59_: ;
29631 		{
29632 			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0)) goto LA62_;
29633 			{
29634 				NimStringDesc* argX60gensym4436_;
29635 				if (!!(!(((*s).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))))) goto LA66_;
29636 				argX60gensym4436_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_629);
29637 				internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym4436_, TM__rF9caJawfOjYTjsgLVUSGFA_629);
29638 			}
29639 			LA66_: ;
29640 		}
29641 		goto LA53_;
29642 		LA62_: ;
29643 		LA53_: ;
29644 		result = newSymNode__ast_3719(s, (*n).info);
29645 	}
29646 	break;
29647 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8):
29648 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9):
29649 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11):
29650 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21):
29651 	{
29652 		{
29653 			if (!((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 263))) goto LA71_;
29654 			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);
29655 		}
29656 		LA71_: ;
29657 		markUsed__sigmatch_85(c, (*n).info, s);
29658 		result = newSymNode__ast_3719(s, (*n).info);
29659 		{
29660 			NIM_BOOL T75_;
29661 			T75_ = (NIM_BOOL)0;
29662 			T75_ = hasWarn__options_557((*(*c).graph).config, ((tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug) 59));
29663 			if (!T75_) goto LA76_;
29664 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 59), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_632, NIM_FALSE);
29665 		}
29666 		LA76_: ;
29667 	}
29668 	break;
29669 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4):
29670 	{
29671 		{
29672 			if (!((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA81_;
29673 			result = newSymNode__ast_3719(s, (*n).info);
29674 			asgnRef((void**) (&(*result).typ), (*s).typ);
29675 		}
29676 		goto LA79_;
29677 		LA81_: ;
29678 		{
29679 			if (!!(((*s).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA84_;
29680 			result = semExpr__sem_52(c, (*s).ast, 0);
29681 		}
29682 		goto LA79_;
29683 		LA84_: ;
29684 		{
29685 			asgnRef((void**) (&(*n).typ), (*s).typ);
29686 			result = n;
29687 			goto BeforeRet_;
29688 		}
29689 		LA79_: ;
29690 	}
29691 	break;
29692 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
29693 	{
29694 		markUsed__sigmatch_85(c, (*n).info, s);
29695 		{
29696 			NIM_BOOL T90_;
29697 			NIM_BOOL T91_;
29698 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T93_;
29699 			T90_ = (NIM_BOOL)0;
29700 			T91_ = (NIM_BOOL)0;
29701 			T91_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60));
29702 			if (!(T91_)) goto LA92_;
29703 			T93_ = NIM_NIL;
29704 			T93_ = base__types_63((*s).typ);
29705 			T91_ = !(((*T93_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)));
29706 			LA92_: ;
29707 			T90_ = T91_;
29708 			if (!(T90_)) goto LA94_;
29709 			T90_ = !(((*(*s).typ).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
29710 			LA94_: ;
29711 			if (!T90_) goto LA95_;
29712 			result = (*(*s).typ).n;
29713 			goto BeforeRet_;
29714 		}
29715 		LA95_: ;
29716 		result = newSymNode__ast_3719(s, (*n).info);
29717 		asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, (*s).typ));
29718 	}
29719 	break;
29720 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19):
29721 	{
29722 		tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* p;
29723 		p = (*c).p;
29724 		{
29725 			while (1) {
29726 				NIM_BOOL T100_;
29727 				T100_ = (NIM_BOOL)0;
29728 				T100_ = !((p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)));
29729 				if (!(T100_)) goto LA101_;
29730 				T100_ = ((*p).selfSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
29731 				LA101_: ;
29732 				if (!T100_) goto LA99;
29733 				p = (*p).next;
29734 			} LA99: ;
29735 		}
29736 		{
29737 			NIM_BOOL T104_;
29738 			tyObject_TType__facALICuu8zUj0hjvbTLFg* ty;
29739 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* check;
29740 			T104_ = (NIM_BOOL)0;
29741 			T104_ = !((p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)));
29742 			if (!(T104_)) goto LA105_;
29743 			T104_ = !(((*p).selfSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
29744 			LA105_: ;
29745 			if (!T104_) goto LA106_;
29746 			ty = skipTypes__ast_3735((*(*p).selfSym).typ, TM__rF9caJawfOjYTjsgLVUSGFA_633);
29747 			{
29748 				while (1) {
29749 					if (!(((*ty).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 32))&63U)))!=0)) goto LA109;
29750 					ty = skipTypes__ast_3735(ty, TM__rF9caJawfOjYTjsgLVUSGFA_107);
29751 				} LA109: ;
29752 			}
29753 			check = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
29754 			{
29755 				if (!((*ty).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA112_;
29756 				{
29757 					while (1) {
29758 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
29759 						check = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
29760 						f = lookupInRecordAndBuildCheck__sem_16768(c, n, (*ty).n, (*s).name, &check);
29761 						{
29762 							NIM_BOOL T118_;
29763 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T126_;
29764 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T127_;
29765 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T128_;
29766 							T118_ = (NIM_BOOL)0;
29767 							T118_ = !((f == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
29768 							if (!(T118_)) goto LA119_;
29769 							T118_ = fieldVisible__sigmatch_4944(c, f);
29770 							LA119_: ;
29771 							if (!T118_) goto LA120_;
29772 							{
29773 								if (!!((f == s))) goto LA124_;
29774 								failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_634));
29775 							}
29776 							LA124_: ;
29777 							markUsed__sigmatch_85(c, (*n).info, f);
29778 							result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), (*n).info, (*f).typ);
29779 							T126_ = NIM_NIL;
29780 							T126_ = newSymNode__ast_3716((*p).selfSym);
29781 							T127_ = NIM_NIL;
29782 							T127_ = makeDeref__sem_9872(T126_);
29783 							add__ast_4797(result, T127_);
29784 							T128_ = NIM_NIL;
29785 							T128_ = newSymNode__ast_3716(f);
29786 							add__ast_4797(result, T128_);
29787 							{
29788 								if (!!((check == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA131_;
29789 								asgnRef((void**) (&(*check)._kind_6.sons->data[((NI) 0)]), result);
29790 								asgnRef((void**) (&(*check).typ), (*result).typ);
29791 								result = check;
29792 							}
29793 							LA131_: ;
29794 							goto BeforeRet_;
29795 						}
29796 						LA120_: ;
29797 						{
29798 							if (!((*ty).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA135_;
29799 							goto LA114;
29800 						}
29801 						LA135_: ;
29802 						ty = skipTypes__ast_3735((*ty).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_53);
29803 					}
29804 				} LA114: ;
29805 			}
29806 			LA112_: ;
29807 		}
29808 		LA106_: ;
29809 		markUsed__sigmatch_85(c, (*n).info, s);
29810 		result = newSymNode__ast_3719(s, (*n).info);
29811 	}
29812 	break;
29813 	default:
29814 	{
29815 		tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info_2;
29816 		info_2 = getCallLineInfo__sem_2390(n);
29817 		markUsed__sigmatch_85(c, info_2, s);
29818 		result = newSymNode__ast_3719(s, info_2);
29819 	}
29820 	break;
29821 	}
29822 	}BeforeRet_: ;
29823 	return result;
29824 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,getNilType__sem_20188)29825 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, getNilType__sem_20188)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
29826 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
29827 	result = NIM_NIL;
29828 	result = (*c).nilTypeCache;
29829 	{
29830 		if (!(result == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
29831 		result = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5), c);
29832 		(*result).size = ((NI64) ((*(*(*c).graph).config).target.ptrSize));
29833 		(*result).align = ((NI16) ((*(*(*c).graph).config).target.ptrSize));
29834 		asgnRef((void**) (&(*c).nilTypeCache), result);
29835 	}
29836 	LA3_: ;
29837 	return result;
29838 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semFieldAccess__sem_13894)29839 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semFieldAccess__sem_13894)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
29840 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
29841 	result = NIM_NIL;
29842 	result = builtinFieldAccess__sem_17178(c, n, flags);
29843 	{
29844 		if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
29845 		result = dotTransformation__sem_17303(c, n);
29846 	}
29847 	LA3_: ;
29848 	return result;
29849 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semStaticExpr__sem_125)29850 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStaticExpr__sem_125)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
29851 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
29852 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
29853 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
29854 {	result = NIM_NIL;
29855 	(*c).inStaticContext += ((NI) 1);
29856 	T1_ = NIM_NIL;
29857 	T1_ = openScope__lookups_69(c);
29858 	a = semExprWithType__sem_56(c, n, 0);
29859 	closeScope__lookups_101(c);
29860 	(*c).inStaticContext -= ((NI) 1);
29861 	{
29862 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
29863 		T4_ = NIM_NIL;
29864 		T4_ = findUnresolvedStatic__ast_4956(a);
29865 		if (!!((T4_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA5_;
29866 		result = a;
29867 		goto BeforeRet_;
29868 	}
29869 	LA5_: ;
29870 	result = evalStaticExpr__vm_13752((*c).module, (*c).Sup.idgen, (*c).graph, a, (*(*c).p).owner);
29871 	{
29872 		NimStringDesc* T11_;
29873 		NimStringDesc* T12_;
29874 		if (!(result == 0)) goto LA9_;
29875 		T11_ = NIM_NIL;
29876 		T11_ = renderTree__renderer_46(n, 0);
29877 		T12_ = NIM_NIL;
29878 		T12_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_390), T11_);
29879 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T12_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_640, NIM_FALSE);
29880 		result = (*(*c).graph).emptyNode;
29881 	}
29882 	goto LA7_;
29883 	LA9_: ;
29884 	{
29885 		result = fixupTypeAfterEval__sem_570(c, result, a);
29886 	}
29887 	LA7_: ;
29888 	}BeforeRet_: ;
29889 	return result;
29890 }
N_NIMCALL(void,maybeLiftType__sem_14373)29891 N_LIB_PRIVATE N_NIMCALL(void, maybeLiftType__sem_14373)(tyObject_TType__facALICuu8zUj0hjvbTLFg** t, tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
29892 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
29893 	tyObject_TType__facALICuu8zUj0hjvbTLFg* lifted;
29894 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
29895 	T1_ = NIM_NIL;
29896 	T1_ = openScope__lookups_69(c);
29897 	T2_ = NIM_NIL;
29898 	T2_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 152), info);
29899 	lifted = liftParamType__sem_4789(c, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), T2_, (*t), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_641), info, NIM_FALSE);
29900 	closeScope__lookups_101(c);
29901 	{
29902 		if (!!((lifted == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA5_;
29903 		unsureAsgnRef((void**) (&(*t)), lifted);
29904 	}
29905 	LA5_: ;
29906 }
N_NIMCALL(NIM_BOOL,isOwnedSym__sem_14382)29907 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOwnedSym__sem_14382)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
29908 	NIM_BOOL result;
29909 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
29910 	NIM_BOOL T1_;
29911 	NIM_BOOL T2_;
29912 	result = (NIM_BOOL)0;
29913 	s = qualifiedLookUp__lookups_1233(c, n, 0);
29914 	T1_ = (NIM_BOOL)0;
29915 	T2_ = (NIM_BOOL)0;
29916 	T2_ = !((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
29917 	if (!(T2_)) goto LA3_;
29918 	T2_ = (((*(*s).owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0);
29919 	LA3_: ;
29920 	T1_ = T2_;
29921 	if (!(T1_)) goto LA4_;
29922 	T1_ = eqStrings((*(*s).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_535));
29923 	LA4_: ;
29924 	result = T1_;
29925 	return result;
29926 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,inferWithMetatype__sem_231)29927 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) {
29928 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
29929 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
29930 	result = NIM_NIL;
29931 	nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
29932 	newCandidate__sigmatch_195(c, formal, (&m));
29933 	m.coerceDistincts = coerceDistincts;
29934 	result = paramTypesMatch__sigmatch_3583((&m), formal, (*arg).typ, arg, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
29935 	{
29936 		NIM_BOOL T3_;
29937 		T3_ = (NIM_BOOL)0;
29938 		T3_ = m.genericConverter;
29939 		if (!(T3_)) goto LA4_;
29940 		T3_ = !((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
29941 		LA4_: ;
29942 		if (!T3_) goto LA5_;
29943 		instGenericConvertersArg__sem_2292(c, result, (&m));
29944 	}
29945 	LA5_: ;
29946 	{
29947 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T11_;
29948 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA9_;
29949 		T11_ = NIM_NIL;
29950 		T11_ = skipTypes__ast_3735(formal, TM__rF9caJawfOjYTjsgLVUSGFA_644);
29951 		asgnRef((void**) (&(*result).typ), generateTypeInstance__semtypinst_1050(c, m.bindings, (*arg).info, T11_));
29952 	}
29953 	goto LA7_;
29954 	LA9_: ;
29955 	{
29956 		typeMismatch__types_3861((*(*c).graph).config, (*arg).info, formal, (*arg).typ, arg);
29957 		result = copyTree__ast_4431(arg);
29958 		asgnRef((void**) (&(*result).typ), formal);
29959 	}
29960 	LA7_: ;
29961 	return result;
29962 }
N_NIMCALL(tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw,checkConversionBetweenObjects__sem_14019)29963 N_LIB_PRIVATE N_NIMCALL(tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw, checkConversionBetweenObjects__sem_14019)(tyObject_TType__facALICuu8zUj0hjvbTLFg* castDest, tyObject_TType__facALICuu8zUj0hjvbTLFg* src, NI pointers) {
29964 	tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw result;
29965 	NI diff;
29966 {	result = (tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw)0;
29967 	diff = inheritanceDiff__types_2676(castDest, src);
29968 	{
29969 		NIM_BOOL T3_;
29970 		NIM_BOOL T5_;
29971 		T3_ = (NIM_BOOL)0;
29972 		T3_ = (diff == ((NI) 2147483647));
29973 		if (T3_) goto LA4_;
29974 		T5_ = (NIM_BOOL)0;
29975 		T5_ = (((NI) 1) < pointers);
29976 		if (!(T5_)) goto LA6_;
29977 		T5_ = !((diff == ((NI) 0)));
29978 		LA6_: ;
29979 		T3_ = T5_;
29980 		LA4_: ;
29981 		if (!T3_) goto LA7_;
29982 		result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 2);
29983 	}
29984 	goto LA1_;
29985 	LA7_: ;
29986 	{
29987 		result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 0);
29988 	}
29989 	LA1_: ;
29990 	goto BeforeRet_;
29991 	}BeforeRet_: ;
29992 	return result;
29993 }
N_INLINE(NIM_BOOL,contains__sem_14178)29994 static N_INLINE(NIM_BOOL, contains__sem_14178)(tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ s, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw value) {
29995 	NIM_BOOL result;
29996 	NIM_BOOL T1_;
29997 	result = (NIM_BOOL)0;
29998 	T1_ = (NIM_BOOL)0;
29999 	T1_ = (s.a <= value);
30000 	if (!(T1_)) goto LA2_;
30001 	T1_ = (value <= s.b);
30002 	LA2_: ;
30003 	result = T1_;
30004 	return result;
30005 }
N_INLINE(tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ,dotdot___sem_14157)30006 static N_INLINE(tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ, dotdot___sem_14157)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw a, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw b) {
30007 	tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ result;
30008 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ));
30009 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ));
30010 	result.a = a;
30011 	result.b = b;
30012 	return result;
30013 }
N_INLINE(NIM_BOOL,contains__semfold_120)30014 static N_INLINE(NIM_BOOL, contains__semfold_120)(tyObject_HSlice__fqLtJsaN5foHLgxLTScotw* s, tyObject_Int128__9a9axPfb75jdWY25AamJewkA value) {
30015 	NIM_BOOL result;
30016 	NIM_BOOL T1_;
30017 	result = (NIM_BOOL)0;
30018 	T1_ = (NIM_BOOL)0;
30019 	T1_ = lteq___int495056_309((*s).a, value);
30020 	if (!(T1_)) goto LA2_;
30021 	T1_ = lteq___int495056_309(value, (*s).b);
30022 	LA2_: ;
30023 	result = T1_;
30024 	return result;
30025 }
N_INLINE(void,dotdot___semfold_99)30026 static N_INLINE(void, dotdot___semfold_99)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b, tyObject_HSlice__fqLtJsaN5foHLgxLTScotw* Result) {
30027 	nimZeroMem((void*)Result, sizeof(tyObject_HSlice__fqLtJsaN5foHLgxLTScotw));
30028 	(*Result).a = a;
30029 	(*Result).b = b;
30030 }
N_INLINE(NIM_BOOL,contains__sem_14231)30031 static N_INLINE(NIM_BOOL, contains__sem_14231)(tyObject_HSlice__fqLtJsaN5foHLgxLTScotw* s, NI64 value) {
30032 	NIM_BOOL result;
30033 	NIM_BOOL T1_;
30034 	result = (NIM_BOOL)0;
30035 	T1_ = (NIM_BOOL)0;
30036 	T1_ = lteq___int495056_745((*s).a, value);
30037 	if (!(T1_)) goto LA2_;
30038 	T1_ = lteq___int495056_752(value, (*s).b);
30039 	LA2_: ;
30040 	result = T1_;
30041 	return result;
30042 }
N_INLINE(NIM_BOOL,contains__semfold_938)30043 static N_INLINE(NIM_BOOL, contains__semfold_938)(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA s, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag value) {
30044 	NIM_BOOL result;
30045 	NIM_BOOL T1_;
30046 	result = (NIM_BOOL)0;
30047 	T1_ = (NIM_BOOL)0;
30048 	T1_ = (s.a <= value);
30049 	if (!(T1_)) goto LA2_;
30050 	T1_ = (value <= s.b);
30051 	LA2_: ;
30052 	result = T1_;
30053 	return result;
30054 }
N_INLINE(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA,dotdot___semfold_916)30055 static N_INLINE(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA, dotdot___semfold_916)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag a, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag b) {
30056 	tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA result;
30057 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA));
30058 	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA));
30059 	result.a = a;
30060 	result.b = b;
30061 	return result;
30062 }
N_NIMCALL(tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw,checkConvertible__sem_14039)30063 N_LIB_PRIVATE N_NIMCALL(tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw, checkConvertible__sem_14039)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* targetTyp, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src) {
30064 	tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw result;
30065 	tyObject_TType__facALICuu8zUj0hjvbTLFg* srcTyp;
30066 	tyObject_TType__facALICuu8zUj0hjvbTLFg* d;
30067 	tyObject_TType__facALICuu8zUj0hjvbTLFg* s;
30068 	NI pointers;
30069 	tyObject_TType__facALICuu8zUj0hjvbTLFg* targetBaseTyp;
30070 	tyObject_TType__facALICuu8zUj0hjvbTLFg* srcBaseTyp;
30071 {	result = (tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw)0;
30072 	srcTyp = skipTypes__ast_3735((*src).typ, TM__rF9caJawfOjYTjsgLVUSGFA_30);
30073 	result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 0);
30074 	{
30075 		NIM_BOOL T3_;
30076 		T3_ = (NIM_BOOL)0;
30077 		T3_ = sameType__types_1815(targetTyp, srcTyp, 0);
30078 		if (!(T3_)) goto LA4_;
30079 		T3_ = ((*targetTyp).sym == (*srcTyp).sym);
30080 		LA4_: ;
30081 		if (!T3_) goto LA5_;
30082 		{
30083 			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_;
30084 			result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 1);
30085 		}
30086 		LA9_: ;
30087 		goto BeforeRet_;
30088 	}
30089 	LA5_: ;
30090 	d = skipTypes__ast_3735(targetTyp, TM__rF9caJawfOjYTjsgLVUSGFA_228);
30091 	s = srcTyp;
30092 	{
30093 		NIM_BOOL T13_;
30094 		T13_ = (NIM_BOOL)0;
30095 		T13_ = ((*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) || (*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53));
30096 		if (!(T13_)) goto LA14_;
30097 		T13_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0);
30098 		LA14_: ;
30099 		if (!T13_) goto LA15_;
30100 		s = lastSon__ast_3743(s);
30101 	}
30102 	LA15_: ;
30103 	s = skipTypes__ast_3735(s, TM__rF9caJawfOjYTjsgLVUSGFA_645);
30104 	{
30105 		NIM_BOOL T19_;
30106 		T19_ = (NIM_BOOL)0;
30107 		T19_ = ((*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
30108 		if (!(T19_)) goto LA20_;
30109 		T19_ = !(((*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
30110 		LA20_: ;
30111 		if (!T19_) goto LA21_;
30112 		s = lastSon__ast_3743(s);
30113 	}
30114 	LA21_: ;
30115 	pointers = ((NI) 0);
30116 	{
30117 		while (1) {
30118 			NIM_BOOL T25_;
30119 			T25_ = (NIM_BOOL)0;
30120 			T25_ = !((d == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
30121 			if (!(T25_)) goto LA26_;
30122 			T25_ = ((*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
30123 			LA26_: ;
30124 			if (!T25_) goto LA24;
30125 			{
30126 				NIM_BOOL T29_;
30127 				T29_ = (NIM_BOOL)0;
30128 				T29_ = ((*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
30129 				if (!(T29_)) goto LA30_;
30130 				T29_ = !(((*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
30131 				LA30_: ;
30132 				if (!T29_) goto LA31_;
30133 				s = lastSon__ast_3743(s);
30134 			}
30135 			goto LA27_;
30136 			LA31_: ;
30137 			{
30138 				if (!!(((*d).kind == (*s).kind))) goto LA34_;
30139 				goto LA23;
30140 			}
30141 			goto LA27_;
30142 			LA34_: ;
30143 			{
30144 				d = lastSon__ast_3743(d);
30145 				s = lastSon__ast_3743(s);
30146 			}
30147 			LA27_: ;
30148 			pointers += ((NI) 1);
30149 		} LA24: ;
30150 	} LA23: ;
30151 	targetBaseTyp = skipTypes__ast_3735(targetTyp, TM__rF9caJawfOjYTjsgLVUSGFA_646);
30152 	srcBaseTyp = skipTypes__ast_3735(srcTyp, TM__rF9caJawfOjYTjsgLVUSGFA_470);
30153 	{
30154 		if (!(d == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA39_;
30155 		result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 2);
30156 	}
30157 	goto LA37_;
30158 	LA39_: ;
30159 	{
30160 		NIM_BOOL T42_;
30161 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T43_;
30162 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T45_;
30163 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T48_;
30164 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T49_;
30165 		T42_ = (NIM_BOOL)0;
30166 		T43_ = NIM_NIL;
30167 		T43_ = skipTypes__ast_3735(d, TM__rF9caJawfOjYTjsgLVUSGFA_70);
30168 		T42_ = ((*T43_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
30169 		if (!(T42_)) goto LA44_;
30170 		T45_ = NIM_NIL;
30171 		T45_ = skipTypes__ast_3735(s, TM__rF9caJawfOjYTjsgLVUSGFA_70);
30172 		T42_ = ((*T45_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
30173 		LA44_: ;
30174 		if (!T42_) goto LA46_;
30175 		T48_ = NIM_NIL;
30176 		T48_ = skipTypes__ast_3735(d, TM__rF9caJawfOjYTjsgLVUSGFA_70);
30177 		T49_ = NIM_NIL;
30178 		T49_ = skipTypes__ast_3735(s, TM__rF9caJawfOjYTjsgLVUSGFA_70);
30179 		result = checkConversionBetweenObjects__sem_14019(T48_, T49_, pointers);
30180 	}
30181 	goto LA37_;
30182 	LA46_: ;
30183 	{
30184 		NIM_BOOL T51_;
30185 		T51_ = (NIM_BOOL)0;
30186 		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));
30187 		if (!(T51_)) goto LA52_;
30188 		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));
30189 		LA52_: ;
30190 		if (!T51_) goto LA53_;
30191 		{
30192 			NIM_BOOL T57_;
30193 			T57_ = (NIM_BOOL)0;
30194 			T57_ = ((*targetTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
30195 			if (!(T57_)) goto LA58_;
30196 			T57_ = ((*srcBaseTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
30197 			LA58_: ;
30198 			if (!T57_) goto LA59_;
30199 			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);
30200 		}
30201 		LA59_: ;
30202 		{
30203 			if (!((*targetTyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1))) goto LA63_;
30204 		}
30205 		goto LA61_;
30206 		LA63_: ;
30207 		{
30208 			NIM_BOOL T66_;
30209 			T66_ = (NIM_BOOL)0;
30210 			T66_ = isOrdinalType__types_299(targetTyp, NIM_FALSE);
30211 			if (!T66_) goto LA67_;
30212 			{
30213 				NIM_BOOL T71_;
30214 				tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ T72_;
30215 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T74_;
30216 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T75_;
30217 				tyObject_HSlice__fqLtJsaN5foHLgxLTScotw T76_;
30218 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T77_;
30219 				NIM_BOOL T78_;
30220 				T71_ = (NIM_BOOL)0;
30221 				T72_ = dotdot___sem_14157(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5), ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
30222 				T71_ = contains__sem_14178(T72_, (*src).kind);
30223 				if (!(T71_)) goto LA73_;
30224 				T74_ = firstOrd__types_1353((*(*c).graph).config, targetTyp);
30225 				T75_ = lastOrd__types_1465((*(*c).graph).config, targetTyp);
30226 				nimZeroMem((void*)(&T76_), sizeof(tyObject_HSlice__fqLtJsaN5foHLgxLTScotw));
30227 				dotdot___semfold_99(T74_, T75_, (&T76_));
30228 				T77_ = getInt__ast_4592(src);
30229 				T78_ = (NIM_BOOL)0;
30230 				T78_ = contains__semfold_120((&T76_), T77_);
30231 				T71_ = !(T78_);
30232 				LA73_: ;
30233 				if (!T71_) goto LA79_;
30234 				result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 3);
30235 			}
30236 			goto LA69_;
30237 			LA79_: ;
30238 			{
30239 				NIM_BOOL T82_;
30240 				tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ T83_;
30241 				NIM_BOOL T85_;
30242 				tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA T86_;
30243 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T88_;
30244 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T89_;
30245 				tyObject_HSlice__fqLtJsaN5foHLgxLTScotw T90_;
30246 				NIM_BOOL T91_;
30247 				T82_ = (NIM_BOOL)0;
30248 				T83_ = dotdot___sem_14157(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16), ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18));
30249 				T82_ = contains__sem_14178(T83_, (*src).kind);
30250 				if (!(T82_)) goto LA84_;
30251 				T85_ = (NIM_BOOL)0;
30252 				T86_ = (tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA)0;
30253 				T86_ = classify__pureZmath_147((*src)._kind_2.floatVal);
30254 				T85_ = ((112 &((NU8)1<<((NU)(T86_)&7U)))!=0);
30255 				if (T85_) goto LA87_;
30256 				T88_ = firstOrd__types_1353((*(*c).graph).config, targetTyp);
30257 				T89_ = lastOrd__types_1465((*(*c).graph).config, targetTyp);
30258 				nimZeroMem((void*)(&T90_), sizeof(tyObject_HSlice__fqLtJsaN5foHLgxLTScotw));
30259 				dotdot___semfold_99(T88_, T89_, (&T90_));
30260 				T91_ = (NIM_BOOL)0;
30261 				T91_ = contains__sem_14231((&T90_), ((NI64) ((*src)._kind_2.floatVal)));
30262 				T85_ = !(T91_);
30263 				LA87_: ;
30264 				T82_ = T85_;
30265 				LA84_: ;
30266 				if (!T82_) goto LA92_;
30267 				result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 3);
30268 			}
30269 			goto LA69_;
30270 			LA92_: ;
30271 			LA69_: ;
30272 		}
30273 		goto LA61_;
30274 		LA67_: ;
30275 		{
30276 			tyObject_HSlice__HjDAjiFsTWGmlZ9cd8nEusA T95_;
30277 			NIM_BOOL T96_;
30278 			T95_ = dotdot___semfold_916(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36), ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38));
30279 			T96_ = (NIM_BOOL)0;
30280 			T96_ = contains__semfold_938(T95_, (*targetBaseTyp).kind);
30281 			if (!T96_) goto LA97_;
30282 			{
30283 				NIM_BOOL T101_;
30284 				tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ T102_;
30285 				NIM_BOOL T104_;
30286 				T101_ = (NIM_BOOL)0;
30287 				T102_ = dotdot___sem_14157(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16), ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18));
30288 				T101_ = contains__sem_14178(T102_, (*src).kind);
30289 				if (!(T101_)) goto LA103_;
30290 				T104_ = (NIM_BOOL)0;
30291 				T104_ = floatRangeCheck__types_1604((*src)._kind_2.floatVal, targetTyp);
30292 				T101_ = !(T104_);
30293 				LA103_: ;
30294 				if (!T101_) goto LA105_;
30295 				result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 3);
30296 			}
30297 			goto LA99_;
30298 			LA105_: ;
30299 			{
30300 				NIM_BOOL T108_;
30301 				tyObject_HSlice__Y6rFxyyPl2aa6Yog9bZj9c9bQ T109_;
30302 				NIM_BOOL T111_;
30303 				T108_ = (NIM_BOOL)0;
30304 				T109_ = dotdot___sem_14157(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5), ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
30305 				T108_ = contains__sem_14178(T109_, (*src).kind);
30306 				if (!(T108_)) goto LA110_;
30307 				T111_ = (NIM_BOOL)0;
30308 				T111_ = floatRangeCheck__types_1604(((NF) ((*src)._kind_1.intVal)), targetTyp);
30309 				T108_ = !(T111_);
30310 				LA110_: ;
30311 				if (!T108_) goto LA112_;
30312 				result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 3);
30313 			}
30314 			goto LA99_;
30315 			LA112_: ;
30316 			LA99_: ;
30317 		}
30318 		goto LA61_;
30319 		LA97_: ;
30320 		LA61_: ;
30321 	}
30322 	goto LA37_;
30323 	LA53_: ;
30324 	{
30325 		tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T115_;
30326 		T115_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
30327 		T115_ = cmpTypes__sigmatch_3047(c, d, s);
30328 		switch (T115_) {
30329 		case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 0):
30330 		case ((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 8):
30331 		{
30332 			{
30333 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T119_;
30334 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T120_;
30335 				NIM_BOOL T121_;
30336 				T119_ = NIM_NIL;
30337 				T119_ = skipTypes__ast_3735(targetTyp, TM__rF9caJawfOjYTjsgLVUSGFA_228);
30338 				T120_ = NIM_NIL;
30339 				T120_ = skipTypes__ast_3735(srcTyp, TM__rF9caJawfOjYTjsgLVUSGFA_649);
30340 				T121_ = (NIM_BOOL)0;
30341 				T121_ = compareTypes__types_2659(T119_, T120_, ((tyEnum_TDistinctCompare__9bNKHGs63atuMFXnAleTveg) 1), 0);
30342 				if (!!(T121_)) goto LA122_;
30343 				result = ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 2);
30344 			}
30345 			LA122_: ;
30346 		}
30347 		break;
30348 		default:
30349 		{
30350 		}
30351 		break;
30352 		}
30353 	}
30354 	LA37_: ;
30355 	}BeforeRet_: ;
30356 	return result;
30357 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConv__sem_14395)30358 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConv__sem_14395)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
30359 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
30360 	tyObject_TType__facALICuu8zUj0hjvbTLFg* targetType;
30361 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
30362 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* op;
30363 {	result = NIM_NIL;
30364 	{
30365 		NI T3_;
30366 		T3_ = (NI)0;
30367 		T3_ = len__ast_3198(n);
30368 		if (!!((T3_ == ((NI) 2)))) goto LA4_;
30369 		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);
30370 		result = n;
30371 		goto BeforeRet_;
30372 	}
30373 	LA4_: ;
30374 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60), (*n).info);
30375 	targetType = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
30376 	switch ((*targetType).kind) {
30377 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
30378 	{
30379 		{
30380 			NI T9_;
30381 			NimStringDesc* argX60gensym3724_;
30382 			T9_ = (NI)0;
30383 			T9_ = len__ast_4002(targetType);
30384 			if (!!((((NI) 0) < T9_))) goto LA10_;
30385 			argX60gensym3724_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_639);
30386 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym3724_, TM__rF9caJawfOjYTjsgLVUSGFA_639);
30387 		}
30388 		LA10_: ;
30389 		{
30390 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T14_;
30391 			T14_ = NIM_NIL;
30392 			T14_ = base__types_63(targetType);
30393 			if (!((*T14_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA15_;
30394 			result = semTypeOf__sem_132(c, n);
30395 			goto BeforeRet_;
30396 		}
30397 		goto LA12_;
30398 		LA15_: ;
30399 		{
30400 			targetType = base__types_63(targetType);
30401 		}
30402 		LA12_: ;
30403 	}
30404 	break;
30405 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
30406 	{
30407 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated;
30408 		evaluated = semStaticExpr__sem_125(c, (*n)._kind_6.sons->data[((NI) 1)]);
30409 		{
30410 			NIM_BOOL T21_;
30411 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T25_;
30412 			T21_ = (NIM_BOOL)0;
30413 			T21_ = ((*evaluated).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4));
30414 			if (T21_) goto LA22_;
30415 			T21_ = ((*(*evaluated).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
30416 			LA22_: ;
30417 			if (!T21_) goto LA23_;
30418 			result = n;
30419 			T25_ = NIM_NIL;
30420 			T25_ = semStaticType__sem_128(c, evaluated, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
30421 			asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, T25_));
30422 			goto BeforeRet_;
30423 		}
30424 		goto LA19_;
30425 		LA23_: ;
30426 		{
30427 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T27_;
30428 			T27_ = NIM_NIL;
30429 			T27_ = base__types_63(targetType);
30430 			if (!((*T27_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0))) goto LA28_;
30431 			result = evaluated;
30432 			goto BeforeRet_;
30433 		}
30434 		goto LA19_;
30435 		LA28_: ;
30436 		{
30437 			targetType = base__types_63(targetType);
30438 		}
30439 		LA19_: ;
30440 	}
30441 	break;
30442 	default:
30443 	{
30444 	}
30445 	break;
30446 	}
30447 	maybeLiftType__sem_14373(&targetType, c, (*(*n)._kind_6.sons->data[((NI) 0)]).info);
30448 	{
30449 		NIM_BOOL T34_;
30450 		tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType;
30451 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T38_;
30452 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
30453 		T34_ = (NIM_BOOL)0;
30454 		T34_ = ((*targetType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46) || (*targetType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
30455 		if (T34_) goto LA35_;
30456 		T34_ = isOwnedSym__sem_14382(c, (*n)._kind_6.sons->data[((NI) 0)]);
30457 		LA35_: ;
30458 		if (!T34_) goto LA36_;
30459 		T38_ = NIM_NIL;
30460 		T38_ = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
30461 		baseType = skipTypes__ast_3735(T38_, TM__rF9caJawfOjYTjsgLVUSGFA_123);
30462 		t = newTypeS__semdata_733((*targetType).kind, c);
30463 		{
30464 			if (!((*targetType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45))) goto LA41_;
30465 			(*t).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4)) & 63);
30466 		}
30467 		LA41_: ;
30468 		rawAddSonNoPropagationOfTypeFlags__ast_4299(t, baseType);
30469 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*n).info);
30470 		asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, t));
30471 		goto BeforeRet_;
30472 	}
30473 	LA36_: ;
30474 	T43_ = NIM_NIL;
30475 	T43_ = copyTree__ast_4431((*n)._kind_6.sons->data[((NI) 0)]);
30476 	add__ast_4797(result, T43_);
30477 	{
30478 		NIM_BOOL T46_;
30479 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T48_;
30480 		T46_ = (NIM_BOOL)0;
30481 		T46_ = ((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33));
30482 		if (!(T46_)) goto LA47_;
30483 		T48_ = NIM_NIL;
30484 		T48_ = skipTypes__ast_3735(targetType, TM__rF9caJawfOjYTjsgLVUSGFA_97);
30485 		T46_ = ((*T48_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
30486 		LA47_: ;
30487 		if (!T46_) goto LA49_;
30488 		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);
30489 	}
30490 	LA49_: ;
30491 	op = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
30492 	{
30493 		NIM_BOOL T53_;
30494 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* final;
30495 		T53_ = (NIM_BOOL)0;
30496 		T53_ = !(((*targetType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12)));
30497 		if (!(T53_)) goto LA54_;
30498 		T53_ = isMetaType__ast_3495(targetType);
30499 		LA54_: ;
30500 		if (!T53_) goto LA55_;
30501 		final = inferWithMetatype__sem_231(c, targetType, op, NIM_TRUE);
30502 		add__ast_4797(result, final);
30503 		asgnRef((void**) (&(*result).typ), (*final).typ);
30504 		goto BeforeRet_;
30505 	}
30506 	LA55_: ;
30507 	asgnRef((void**) (&(*result).typ), targetType);
30508 	add__ast_4797(result, op);
30509 	{
30510 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T61_;
30511 		if (!((*targetType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA59_;
30512 		T61_ = NIM_NIL;
30513 		T61_ = copyTree__ast_4431(result);
30514 		asgnRef((void**) (&(*result).typ), makeTypeFromExpr__semdata_804(c, T61_));
30515 		goto BeforeRet_;
30516 	}
30517 	LA59_: ;
30518 	{
30519 		NIM_BOOL T64_;
30520 		tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw status;
30521 		T64_ = (NIM_BOOL)0;
30522 		T64_ = isSymChoice__sem_14366(op);
30523 		if (!!(T64_)) goto LA65_;
30524 		status = checkConvertible__sem_14039(c, (*result).typ, op);
30525 		switch (status) {
30526 		case ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 0):
30527 		{
30528 			{
30529 				NIM_BOOL T70_;
30530 				T70_ = (NIM_BOOL)0;
30531 				T70_ = ((*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
30532 				if (!(T70_)) goto LA71_;
30533 				T70_ = isGenericRoutine__ast_4646((*op)._kind_4.sym);
30534 				LA71_: ;
30535 				if (!T70_) goto LA72_;
30536 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), fitNode__sem_70(c, (*result).typ, (*result)._kind_6.sons->data[((NI) 1)], (*result).info));
30537 			}
30538 			goto LA68_;
30539 			LA72_: ;
30540 			{
30541 				NIM_BOOL T75_;
30542 				T75_ = (NIM_BOOL)0;
30543 				T75_ = ((*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*op).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160));
30544 				if (!(T75_)) goto LA76_;
30545 				T75_ = ((*targetType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
30546 				LA76_: ;
30547 				if (!T75_) goto LA77_;
30548 				op = fitNode__sem_70(c, targetType, op, (*result).info);
30549 			}
30550 			goto LA68_;
30551 			LA77_: ;
30552 			LA68_: ;
30553 		}
30554 		break;
30555 		case ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 1):
30556 		{
30557 			NimStringDesc* T80_;
30558 			T80_ = NIM_NIL;
30559 			T80_ = typeToString__types_50((*result).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
30560 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 76), T80_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_650, NIM_FALSE);
30561 		}
30562 		break;
30563 		case ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 2):
30564 		{
30565 			result = fitNode__sem_70(c, (*result).typ, (*result)._kind_6.sons->data[((NI) 1)], (*result).info);
30566 			{
30567 				tyArray__Re75IspeoxXy2oCZHwcRrA T86_;
30568 				NimStringDesc* T87_;
30569 				if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA84_;
30570 				nimZeroMem((void*)T86_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
30571 				T86_[0] = typeToString__types_50((*op).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
30572 				T86_[1] = typeToString__types_50((*result).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
30573 				T87_ = NIM_NIL;
30574 				T87_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_651), T86_, 2);
30575 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T87_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_652, NIM_FALSE);
30576 			}
30577 			LA84_: ;
30578 		}
30579 		break;
30580 		case ((tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw) 3):
30581 		{
30582 			NimStringDesc* value;
30583 			NimStringDesc* T96_;
30584 			NimStringDesc* T97_;
30585 			{
30586 				tyObject_Int128__9a9axPfb75jdWY25AamJewkA T93_;
30587 				if (!((*op).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*op).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA91_;
30588 				T93_ = getInt__ast_4592(op);
30589 				value = dollar___int495056_53(T93_);
30590 			}
30591 			goto LA89_;
30592 			LA91_: ;
30593 			{
30594 				NF T95_;
30595 				T95_ = (NF)0;
30596 				T95_ = getFloat__ast_4607(op);
30597 				value = dollar___system_3118(T95_);
30598 			}
30599 			LA89_: ;
30600 			T96_ = NIM_NIL;
30601 			T97_ = NIM_NIL;
30602 			T97_ = typeToString__types_50((*result).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
30603 			T96_ = rawNewString((value ? value->Sup.len : 0) + (T97_ ? T97_->Sup.len : 0) + 23);
30604 appendString(T96_, value);
30605 appendString(T96_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_653));
30606 appendString(T96_, T97_);
30607 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T96_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_654, NIM_FALSE);
30608 		}
30609 		break;
30610 		}
30611 	}
30612 	goto LA62_;
30613 	LA65_: ;
30614 	{
30615 		{
30616 			NI i;
30617 			NI colontmp_;
30618 			NI i_2;
30619 			i = (NI)0;
30620 			colontmp_ = (NI)0;
30621 			colontmp_ = len__ast_3198(op);
30622 			i_2 = ((NI) 0);
30623 			{
30624 				while (1) {
30625 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
30626 					tyEnum_TConvStatus__GXWKwypnpPcXHHdgiz4mmw status_2;
30627 					if (!(i_2 < colontmp_)) goto LA101;
30628 					i = i_2;
30629 					it = (*op)._kind_6.sons->data[i];
30630 					status_2 = checkConvertible__sem_14039(c, (*result).typ, it);
30631 					{
30632 						if (!((3 &((NU8)1<<((NU)(status_2)&7U)))!=0)) goto LA104_;
30633 						markUsed__sigmatch_85(c, (*n).info, (*it)._kind_4.sym);
30634 						markIndirect__semdata_1060(c, (*it)._kind_4.sym);
30635 						result = it;
30636 						goto BeforeRet_;
30637 					}
30638 					LA104_: ;
30639 					i_2 += ((NI) 1);
30640 				} LA101: ;
30641 			}
30642 		}
30643 		errorUseQualifier__lookups_1180(c, (*n).info, (*(*op)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
30644 	}
30645 	LA62_: ;
30646 	}BeforeRet_: ;
30647 	return result;
30648 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semObjConstr__sem_16471)30649 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semObjConstr__sem_16471)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
30650 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
30651 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
30652 	tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw constrCtx;
30653 	tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ initResult;
30654 	NIM_BOOL hasError;
30655 {	result = NIM_NIL;
30656 	t = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
30657 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38), (*n).info, t);
30658 	{
30659 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
30660 		child = NIM_NIL;
30661 		{
30662 			NI i;
30663 			NI colontmp_;
30664 			NI i_2;
30665 			i = (NI)0;
30666 			colontmp_ = (NI)0;
30667 			colontmp_ = safeLen__ast_3191(n);
30668 			i_2 = ((NI) 0);
30669 			{
30670 				while (1) {
30671 					if (!(i_2 < colontmp_)) goto LA4;
30672 					i = i_2;
30673 					child = (*n)._kind_6.sons->data[i];
30674 					add__ast_4797(result, child);
30675 					i_2 += ((NI) 1);
30676 				} LA4: ;
30677 			}
30678 		}
30679 	}
30680 	{
30681 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n2X60gensym5234_;
30682 		if (!(t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA7_;
30683 		n2X60gensym5234_ = result;
30684 		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);
30685 		result = errorNode__semdata_1009(c, n2X60gensym5234_);
30686 		goto BeforeRet_;
30687 	}
30688 	LA7_: ;
30689 	t = skipTypes__ast_3735(t, TM__rF9caJawfOjYTjsgLVUSGFA_39);
30690 	{
30691 		if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22))) goto LA11_;
30692 		t = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_39);
30693 		{
30694 			if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0)) goto LA15_;
30695 			asgnRef((void**) (&(*result).typ), makeVarType__semdata_766(c, (*result).typ, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
30696 			(*(*result).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4)) & 63);
30697 		}
30698 		LA15_: ;
30699 	}
30700 	LA11_: ;
30701 	{
30702 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n2X60gensym5242_;
30703 		NimStringDesc* dupResult;
30704 		if (!!(((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA19_;
30705 		n2X60gensym5242_ = result;
30706 		dupResult = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_655));
30707 		addDeclaredLoc__astmsgs_33((&dupResult), (*(*c).graph).config, t);
30708 		liMessage__msgs_1118((*(*c).graph).config, (*n2X60gensym5242_).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), dupResult, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_657, NIM_FALSE);
30709 		result = errorNode__semdata_1009(c, n2X60gensym5242_);
30710 		goto BeforeRet_;
30711 	}
30712 	LA19_: ;
30713 	nimZeroMem((void*)(&constrCtx), sizeof(tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw));
30714 	initConstrContext__sem_19652(t, result, (&constrCtx));
30715 	initResult = semConstructTypeAux__sem_19627(c, (&constrCtx), flags);
30716 	hasError = NIM_FALSE;
30717 	{
30718 		NI T23_;
30719 		tyArray__Re75IspeoxXy2oCZHwcRrA T26_;
30720 		NimStringDesc* T27_;
30721 		T23_ = (constrCtx.missingFields ? constrCtx.missingFields->Sup.len : 0);
30722 		if (!(((NI) 0) < T23_)) goto LA24_;
30723 		hasError = NIM_TRUE;
30724 		nimZeroMem((void*)T26_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
30725 		T26_[0] = copyString((*(*(*t).sym).name).s);
30726 		T26_[1] = listSymbolNames__astalgo_4310(constrCtx.missingFields->data, (constrCtx.missingFields ? constrCtx.missingFields->Sup.len : 0));
30727 		T27_ = NIM_NIL;
30728 		T27_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_658), T26_, 2);
30729 		liMessage__msgs_1118((*(*c).graph).config, (*result).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T27_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_659, NIM_FALSE);
30730 	}
30731 	LA24_: ;
30732 	{
30733 		NI i_3;
30734 		NI colontmp__2;
30735 		NI i_4;
30736 		i_3 = (NI)0;
30737 		colontmp__2 = (NI)0;
30738 		colontmp__2 = len__ast_3198(result);
30739 		i_4 = ((NI) 1);
30740 		{
30741 			while (1) {
30742 				if (!(i_4 < colontmp__2)) goto LA30;
30743 				i_3 = i_4;
30744 				{
30745 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
30746 					field = (*result)._kind_6.sons->data[i_3];
30747 					{
30748 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* id;
30749 						NimStringDesc* msg;
30750 						NimStringDesc* T48_;
30751 						NimStringDesc* T49_;
30752 						NimStringDesc* T50_;
30753 						if (!!((((*field).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0))) goto LA34_;
30754 						{
30755 							if (!!(((*field).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA38_;
30756 							invalidObjConstr__sem_19105(c, field);
30757 							hasError = NIM_TRUE;
30758 							goto LA31;
30759 						}
30760 						LA38_: ;
30761 						id = considerQuotedIdent__lookups_28(c, (*field)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
30762 						{
30763 							NI j;
30764 							NI i_5;
30765 							j = (NI)0;
30766 							i_5 = ((NI) 1);
30767 							{
30768 								while (1) {
30769 									tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* prevId;
30770 									if (!(i_5 < i_3)) goto LA42;
30771 									j = i_5;
30772 									prevId = considerQuotedIdent__lookups_28(c, (*(*result)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
30773 									{
30774 										NimStringDesc* T47_;
30775 										if (!((*prevId).id == (*id).id)) goto LA45_;
30776 										T47_ = NIM_NIL;
30777 										T47_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_660), (*id).s);
30778 										liMessage__msgs_1118((*(*c).graph).config, (*field).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T47_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_661, NIM_FALSE);
30779 										hasError = NIM_TRUE;
30780 										goto LA40;
30781 									}
30782 									LA45_: ;
30783 									i_5 += ((NI) 1);
30784 								} LA42: ;
30785 							}
30786 						} LA40: ;
30787 						T48_ = NIM_NIL;
30788 						T49_ = NIM_NIL;
30789 						T49_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_416), (*id).s);
30790 						T50_ = NIM_NIL;
30791 						T50_ = getProcHeader__types_222((*(*c).graph).config, (*t).sym, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
30792 						T48_ = rawNewString((T49_ ? T49_->Sup.len : 0) + (T50_ ? T50_->Sup.len : 0) + 10);
30793 appendString(T48_, T49_);
30794 appendString(T48_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_414));
30795 appendString(T48_, T50_);
30796 						msg = T48_;
30797 						liMessage__msgs_1118((*(*c).graph).config, (*field).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), msg, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_662, NIM_FALSE);
30798 						hasError = NIM_TRUE;
30799 						goto LA28;
30800 					}
30801 					LA34_: ;
30802 				} LA31: ;
30803 				i_4 += ((NI) 1);
30804 			} LA30: ;
30805 		}
30806 	} LA28: ;
30807 	{
30808 		if (!(initResult == ((tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ) 1))) goto LA53_;
30809 		(*result).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 1)) & 31);
30810 	}
30811 	LA53_: ;
30812 	{
30813 		if (!hasError) goto LA57_;
30814 		result = errorNode__semdata_1009(c, result);
30815 	}
30816 	LA57_: ;
30817 	}BeforeRet_: ;
30818 	return result;
30819 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semDefined__sem_18104)30820 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDefined__sem_18104)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
30821 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
30822 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
30823 	NIM_BOOL T2_;
30824 	result = NIM_NIL;
30825 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
30826 	result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(0));
30827 	T1_ = NIM_NIL;
30828 	T1_ = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 1)], n);
30829 	T2_ = (NIM_BOOL)0;
30830 	T2_ = isDefined__options_2279((*(*c).graph).config, (*T1_).s);
30831 	(*result)._kind_1.intVal = ((NI64) (T2_));
30832 	(*result).info = (*n).info;
30833 	asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
30834 	return result;
30835 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,setMs__sem_18539)30836 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, setMs__sem_18539)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
30837 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
30838 	result = NIM_NIL;
30839 	result = n;
30840 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(s));
30841 	(*(*n)._kind_6.sons->data[((NI) 0)]).info = (*n).info;
30842 	return result;
30843 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,lookUpForDeclared__sem_18112)30844 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookUpForDeclared__sem_18112)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL onlyCurrentScope) {
30845 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
30846 {	result = NIM_NIL;
30847 	switch ((*n).kind) {
30848 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
30849 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
30850 	{
30851 		NIM_BOOL amb;
30852 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
30853 		amb = NIM_FALSE;
30854 		ident = considerQuotedIdent__lookups_28(c, n, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
30855 		{
30856 			if (!onlyCurrentScope) goto LA4_;
30857 			result = localSearchInScope__lookups_142(c, ident);
30858 		}
30859 		goto LA2_;
30860 		LA4_: ;
30861 		{
30862 			result = searchInScopes__lookups_423(c, ident, (&amb));
30863 		}
30864 		LA2_: ;
30865 	}
30866 	break;
30867 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
30868 	{
30869 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m;
30870 		result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
30871 		{
30872 			if (!onlyCurrentScope) goto LA10_;
30873 			goto BeforeRet_;
30874 		}
30875 		LA10_: ;
30876 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
30877 		m = lookUpForDeclared__sem_18112(c, (*n)._kind_6.sons->data[((NI) 0)], onlyCurrentScope);
30878 		{
30879 			NIM_BOOL T14_;
30880 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident_2;
30881 			T14_ = (NIM_BOOL)0;
30882 			T14_ = !((m == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
30883 			if (!(T14_)) goto LA15_;
30884 			T14_ = ((*m).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6));
30885 			LA15_: ;
30886 			if (!T14_) goto LA16_;
30887 			ident_2 = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 1)], n);
30888 			{
30889 				if (!(m == (*c).module)) goto LA20_;
30890 				result = strTableGet__astalgo_3390((*(*c).topLevelScope).symbols, ident_2);
30891 			}
30892 			goto LA18_;
30893 			LA20_: ;
30894 			{
30895 				result = someSym__modulegraphs_2817((*c).graph, m, ident_2);
30896 			}
30897 			LA18_: ;
30898 		}
30899 		LA16_: ;
30900 	}
30901 	break;
30902 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
30903 	{
30904 		result = (*n)._kind_4.sym;
30905 	}
30906 	break;
30907 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
30908 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
30909 	{
30910 		result = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
30911 	}
30912 	break;
30913 	default:
30914 	{
30915 		NimStringDesc* T26_;
30916 		NimStringDesc* T27_;
30917 		T26_ = NIM_NIL;
30918 		T27_ = NIM_NIL;
30919 		T27_ = renderTree__renderer_46(n, 0);
30920 		T26_ = rawNewString((T27_ ? T27_->Sup.len : 0) + 30);
30921 appendString(T26_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_663));
30922 appendString(T26_, T27_);
30923 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_664, NIM_FALSE);
30924 		result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
30925 	}
30926 	break;
30927 	}
30928 	}BeforeRet_: ;
30929 	return result;
30930 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semDeclared__sem_18136)30931 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDeclared__sem_18136)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NIM_BOOL onlyCurrentScope) {
30932 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
30933 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T1_;
30934 	result = NIM_NIL;
30935 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
30936 	result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(0));
30937 	T1_ = NIM_NIL;
30938 	T1_ = lookUpForDeclared__sem_18112(c, (*n)._kind_6.sons->data[((NI) 1)], onlyCurrentScope);
30939 	(*result)._kind_1.intVal = ((NI64) (!((T1_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))));
30940 	(*result).info = (*n).info;
30941 	asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
30942 	return result;
30943 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,tryExpr__sem_104)30944 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, tryExpr__sem_104)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
30945 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* volatile result;
30946 	NI oldErrorCount;
30947 	NI oldErrorMax;
30948 	NI oldCompilesId;
30949 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* oldScope;
30950 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T5_;
30951 	NI oldOwnerLen;
30952 	NI T6_;
30953 	tySequence__jWKvSdankQPoT5bw9cBU9aiw* oldGenerics;
30954 	tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA oldErrorOutputs;
30955 	NI oldContextLen;
30956 	NI oldInGenericContext;
30957 	NI oldInUnrolledContext;
30958 	NI oldInGenericInst;
30959 	NI oldInStaticContext;
30960 	tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ* oldProcCon;
30961 	NimStringDesc* err;
30962 	TSafePoint TM__rF9caJawfOjYTjsgLVUSGFA_665;
30963 	result = NIM_NIL;
30964 	oldErrorCount = (*(*(*c).graph).config).errorCounter;
30965 	oldErrorMax = (*(*(*c).graph).config).errorMax;
30966 	oldCompilesId = (*c).compilesContextId;
30967 	{
30968 		if (!((*c).compilesContextId == ((NI) 0))) goto LA3_;
30969 		(*c).compilesContextIdGenerator += ((NI) 1);
30970 		(*c).compilesContextId = (*c).compilesContextIdGenerator;
30971 	}
30972 	LA3_: ;
30973 	(*(*(*c).graph).config).errorMax = ((NI) 2147483647);
30974 	oldScope = (*c).currentScope;
30975 	T5_ = NIM_NIL;
30976 	T5_ = openScope__lookups_69(c);
30977 	T6_ = ((*(*c).graph).owners ? (*(*c).graph).owners->Sup.len : 0);
30978 	oldOwnerLen = T6_;
30979 	oldGenerics = (*c).generics;
30980 	oldErrorOutputs = (*(*(*c).graph).config).m.errorOutputs;
30981 	{
30982 		if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0))) goto LA9_;
30983 		(*(*(*c).graph).config).m.errorOutputs = 0;
30984 	}
30985 	LA9_: ;
30986 	oldContextLen = getInfoContextLen__msgs_476((*(*c).graph).config);
30987 	oldInGenericContext = (*c).inGenericContext;
30988 	oldInUnrolledContext = (*c).inUnrolledContext;
30989 	oldInGenericInst = (*c).inGenericInst;
30990 	oldInStaticContext = (*c).inStaticContext;
30991 	oldProcCon = (*c).p;
30992 	if ((*c).generics) { nimGCunrefRC1((*c).generics); (*c).generics = NIM_NIL; }
30993 	err = NIM_NIL;
30994 	pushSafePoint(&TM__rF9caJawfOjYTjsgLVUSGFA_665);
30995 	TM__rF9caJawfOjYTjsgLVUSGFA_665.status = _setjmp(TM__rF9caJawfOjYTjsgLVUSGFA_665.context);
30996 	if (TM__rF9caJawfOjYTjsgLVUSGFA_665.status == 0) {
30997 	result = semExpr__sem_52(c, n, flags);
30998 	{
30999 		NIM_BOOL T13_;
31000 		T13_ = (NIM_BOOL)0;
31001 		T13_ = !((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
31002 		if (!(T13_)) goto LA14_;
31003 		T13_ = !(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 17))&31U)))!=0));
31004 		LA14_: ;
31005 		if (!T13_) goto LA15_;
31006 		trackStmt__sempass50_4915(c, (*c).module, result, NIM_FALSE);
31007 	}
31008 	LA15_: ;
31009 	{
31010 		if (!!(((*(*(*c).graph).config).errorCounter == oldErrorCount))) goto LA19_;
31011 		result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
31012 	}
31013 	LA19_: ;
31014 	popSafePoint();
31015 	}
31016 	else {
31017 		popSafePoint();
31018 		if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIerecoverableerror__IxbcvonC7TQkv166Uvdu1g_))) {
31019 			TM__rF9caJawfOjYTjsgLVUSGFA_665.status = 0;
31020 			popCurrentException();
31021 		}
31022 	}
31023 	if (TM__rF9caJawfOjYTjsgLVUSGFA_665.status != 0) reraiseException();
31024 	(*c).compilesContextId = oldCompilesId;
31025 	genericSeqAssign((&(*c).generics), oldGenerics, (&NTIseqLtinstantiationpairT__jWKvSdankQPoT5bw9cBU9aiw_));
31026 	(*c).inGenericContext = oldInGenericContext;
31027 	(*c).inUnrolledContext = oldInUnrolledContext;
31028 	(*c).inGenericInst = oldInGenericInst;
31029 	(*c).inStaticContext = oldInStaticContext;
31030 	asgnRef((void**) (&(*c).p), oldProcCon);
31031 	setInfoContextLen__msgs_483((*(*c).graph).config, oldContextLen);
31032 	asgnRef((void**) (&(*(*c).graph).owners), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) setLengthSeqV2(&((*(*c).graph).owners)->Sup, (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_), ((NI) (oldOwnerLen))));
31033 	asgnRef((void**) (&(*c).currentScope), oldScope);
31034 	(*(*(*c).graph).config).m.errorOutputs = oldErrorOutputs;
31035 	(*(*(*c).graph).config).errorCounter = oldErrorCount;
31036 	(*(*(*c).graph).config).errorMax = oldErrorMax;
31037 	return result;
31038 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semCompiles__sem_18476)31039 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semCompiles__sem_18476)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
31040 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31041 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
31042 {	result = NIM_NIL;
31043 	{
31044 		NI T3_;
31045 		T3_ = (NI)0;
31046 		T3_ = len__ast_3198(n);
31047 		if (!!((T3_ == ((NI) 2)))) goto LA4_;
31048 		result = semDirectOp__sem_511(c, n, flags);
31049 		goto BeforeRet_;
31050 	}
31051 	LA4_: ;
31052 	T6_ = NIM_NIL;
31053 	T6_ = tryExpr__sem_104(c, (*n)._kind_6.sons->data[((NI) 1)], flags);
31054 	result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (!((T6_ == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))))));
31055 	(*result).info = (*n).info;
31056 	asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
31057 	}BeforeRet_: ;
31058 	return result;
31059 }
N_NIMCALL(void,fixupStaticType__sem_14592)31060 N_LIB_PRIVATE N_NIMCALL(void, fixupStaticType__sem_14592)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31061 	{
31062 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T5_;
31063 		tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T6_;
31064 		if (!!(((*(*n).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60)))) goto LA3_;
31065 		T5_ = NIM_NIL;
31066 		T5_ = getCurrOwner__semdata_315(c);
31067 		T6_ = NIM_NIL;
31068 		T6_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
31069 		asgnRef((void**) (&T6_->data[0]), (*n).typ);
31070 		asgnRef((void**) (&(*n).typ), newTypeWithSons__semdata_815(T5_, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), T6_, (*c).Sup.idgen));
31071 		asgnRef((void**) (&(*(*n).typ).n), n);
31072 	}
31073 	LA3_: ;
31074 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,isOpImpl__sem_14603)31075 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, isOpImpl__sem_14603)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
31076 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31077 	NIM_BOOL res;
31078 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t1;
31079 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t2;
31080 	result = NIM_NIL;
31081 	{
31082 		NIM_BOOL T3_;
31083 		NIM_BOOL T4_;
31084 		NI T5_;
31085 		NimStringDesc* argX60gensym3791_;
31086 		T3_ = (NIM_BOOL)0;
31087 		T4_ = (NIM_BOOL)0;
31088 		T5_ = (NI)0;
31089 		T5_ = len__ast_3198(n);
31090 		T4_ = (T5_ == ((NI) 3));
31091 		if (!(T4_)) goto LA6_;
31092 		T4_ = !(((*(*n)._kind_6.sons->data[((NI) 1)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
31093 		LA6_: ;
31094 		T3_ = T4_;
31095 		if (!(T3_)) goto LA7_;
31096 		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));
31097 		LA7_: ;
31098 		if (!!(T3_)) goto LA8_;
31099 		argX60gensym3791_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_668);
31100 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym3791_, TM__rF9caJawfOjYTjsgLVUSGFA_668);
31101 	}
31102 	LA8_: ;
31103 	res = NIM_FALSE;
31104 	t1 = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
31105 	t2 = (*(*n)._kind_6.sons->data[((NI) 2)]).typ;
31106 	{
31107 		NIM_BOOL T12_;
31108 		T12_ = (NIM_BOOL)0;
31109 		T12_ = ((*t1).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
31110 		if (!(T12_)) goto LA13_;
31111 		T12_ = !(((*t2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)));
31112 		LA13_: ;
31113 		if (!T12_) goto LA14_;
31114 		t1 = base__types_63(t1);
31115 	}
31116 	LA14_: ;
31117 	{
31118 		NimStringDesc* T20_;
31119 		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_;
31120 		T20_ = NIM_NIL;
31121 		T20_ = nsuNormalize((*(*n)._kind_6.sons->data[((NI) 2)])._kind_3.strVal);
31122 		if (eqStrings(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_669))) goto LA21_;
31123 		if (eqStrings(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_670))) goto LA22_;
31124 		goto LA23_;
31125 		LA21_: ;
31126 		{
31127 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
31128 			NIM_BOOL T26_;
31129 			t = skipTypes__ast_3735(t1, TM__rF9caJawfOjYTjsgLVUSGFA_472);
31130 			T26_ = (NIM_BOOL)0;
31131 			T26_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
31132 			if (!(T26_)) goto LA27_;
31133 			T26_ = ((*t).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
31134 			LA27_: ;
31135 			res = T26_;
31136 		}
31137 		goto LA24_;
31138 		LA22_: ;
31139 		{
31140 			tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
31141 			NIM_BOOL T29_;
31142 			NIM_BOOL T30_;
31143 			t_2 = skipTypes__ast_3735(t1, TM__rF9caJawfOjYTjsgLVUSGFA_472);
31144 			T29_ = (NIM_BOOL)0;
31145 			T30_ = (NIM_BOOL)0;
31146 			T30_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
31147 			if (!(T30_)) goto LA31_;
31148 			T30_ = ((*t_2).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
31149 			LA31_: ;
31150 			T29_ = T30_;
31151 			if (!(T29_)) goto LA32_;
31152 			T29_ = (((*t_2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15))&63U)))!=0);
31153 			LA32_: ;
31154 			res = T29_;
31155 		}
31156 		goto LA24_;
31157 		LA23_: ;
31158 		{
31159 			res = NIM_FALSE;
31160 		}
31161 		LA24_: ;
31162 	}
31163 	goto LA16_;
31164 	LA18_: ;
31165 	{
31166 		tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
31167 		tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw T45_;
31168 		{
31169 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T37_;
31170 			T37_ = NIM_NIL;
31171 			T37_ = skipTypes__ast_3735(t1, TM__rF9caJawfOjYTjsgLVUSGFA_85);
31172 			if (!!(((*T37_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10)))) goto LA38_;
31173 			maybeLiftType__sem_14373(&t2, c, (*n).info);
31174 		}
31175 		goto LA35_;
31176 		LA38_: ;
31177 		{
31178 		}
31179 		LA35_: ;
31180 		nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
31181 		newCandidate__sigmatch_195(c, t2, (&m));
31182 		{
31183 			if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10))&31U)))!=0)) goto LA43_;
31184 			m.diagnostics = NIM_NIL;
31185 			m.diagnosticsEnabled = NIM_TRUE;
31186 		}
31187 		LA43_: ;
31188 		T45_ = (tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw)0;
31189 		T45_ = typeRel__sigmatch_202((&m), t2, t1, 0);
31190 		res = (((tyEnum_TTypeRelation__aOBuAQCtB9ckUKPNKvVeAxw) 3) <= T45_);
31191 	}
31192 	LA16_: ;
31193 	result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (res)));
31194 	asgnRef((void**) (&(*result).typ), (*n).typ);
31195 	return result;
31196 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semIs__sem_14686)31197 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIs__sem_14686)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
31198 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31199 	tyObject_TType__facALICuu8zUj0hjvbTLFg* boolType;
31200 	NIM_BOOL liftLhs;
31201 	tyObject_TType__facALICuu8zUj0hjvbTLFg* lhsType;
31202 {	result = NIM_NIL;
31203 	{
31204 		NI T3_;
31205 		T3_ = (NI)0;
31206 		T3_ = len__ast_3198(n);
31207 		if (!!((T3_ == ((NI) 3)))) goto LA4_;
31208 		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);
31209 	}
31210 	LA4_: ;
31211 	boolType = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1));
31212 	result = n;
31213 	asgnRef((void**) (&(*n).typ), boolType);
31214 	liftLhs = NIM_TRUE;
31215 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 514));
31216 	{
31217 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t2;
31218 		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_;
31219 		t2 = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 2)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
31220 		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));
31221 		{
31222 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* evaluated;
31223 			if (!((*t2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60))) goto LA12_;
31224 			evaluated = tryConstExpr__sem_582(c, (*n)._kind_6.sons->data[((NI) 1)]);
31225 			{
31226 				if (!!((evaluated == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA16_;
31227 				fixupStaticType__sem_14592(c, evaluated);
31228 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), evaluated);
31229 			}
31230 			goto LA14_;
31231 			LA16_: ;
31232 			{
31233 				result = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), IL64(0));
31234 				asgnRef((void**) (&(*result).typ), boolType);
31235 				goto BeforeRet_;
31236 			}
31237 			LA14_: ;
31238 		}
31239 		goto LA10_;
31240 		LA12_: ;
31241 		{
31242 			NIM_BOOL T20_;
31243 			NIM_BOOL T22_;
31244 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T23_;
31245 			T20_ = (NIM_BOOL)0;
31246 			T20_ = ((*t2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
31247 			if (!(T20_)) goto LA21_;
31248 			T22_ = (NIM_BOOL)0;
31249 			T23_ = NIM_NIL;
31250 			T23_ = base__types_63(t2);
31251 			T22_ = ((*T23_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0));
31252 			if (T22_) goto LA24_;
31253 			T22_ = (((*t2).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 29))&63U)))!=0);
31254 			LA24_: ;
31255 			T20_ = T22_;
31256 			LA21_: ;
31257 			if (!T20_) goto LA25_;
31258 			liftLhs = NIM_FALSE;
31259 		}
31260 		goto LA10_;
31261 		LA25_: ;
31262 		LA10_: ;
31263 	}
31264 	goto LA6_;
31265 	LA8_: ;
31266 	{
31267 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 2)], 0));
31268 	}
31269 	LA6_: ;
31270 	lhsType = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
31271 	{
31272 		if (!!(((*lhsType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)))) goto LA30_;
31273 		{
31274 			if (!liftLhs) goto LA34_;
31275 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), makeTypeSymNode__semdata_785(c, lhsType, (*(*n)._kind_6.sons->data[((NI) 1)]).info));
31276 			lhsType = (*(*n)._kind_6.sons->data[((NI) 1)]).typ;
31277 		}
31278 		LA34_: ;
31279 	}
31280 	goto LA28_;
31281 	LA30_: ;
31282 	{
31283 		{
31284 			NIM_BOOL T39_;
31285 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T40_;
31286 			NIM_BOOL T42_;
31287 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T44_;
31288 			T39_ = (NIM_BOOL)0;
31289 			T40_ = NIM_NIL;
31290 			T40_ = base__types_63(lhsType);
31291 			T39_ = ((*T40_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0));
31292 			if (T39_) goto LA41_;
31293 			T42_ = (NIM_BOOL)0;
31294 			T42_ = (((NI) 0) < (*c).inGenericContext);
31295 			if (!(T42_)) goto LA43_;
31296 			T44_ = NIM_NIL;
31297 			T44_ = base__types_63(lhsType);
31298 			T42_ = containsGenericType__types_3351(T44_);
31299 			LA43_: ;
31300 			T39_ = T42_;
31301 			LA41_: ;
31302 			if (!T39_) goto LA45_;
31303 			goto BeforeRet_;
31304 		}
31305 		LA45_: ;
31306 	}
31307 	LA28_: ;
31308 	result = isOpImpl__sem_14603(c, n, flags);
31309 	}BeforeRet_: ;
31310 	return result;
31311 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExpandToAst__sem_18180)31312 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExpandToAst__sem_18180)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31313 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31314 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* macroCall;
31315 	result = NIM_NIL;
31316 	macroCall = (*n)._kind_6.sons->data[((NI) 1)];
31317 	{
31318 		NIM_BOOL T3_;
31319 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* headSymbol;
31320 		NI cands;
31321 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* cand;
31322 		tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
31323 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symx;
31324 		T3_ = (NIM_BOOL)0;
31325 		T3_ = isCallExpr__ast_3176(macroCall);
31326 		if (!T3_) goto LA4_;
31327 		{
31328 			NI i;
31329 			NI colontmp_;
31330 			NI i_2;
31331 			i = (NI)0;
31332 			colontmp_ = (NI)0;
31333 			colontmp_ = len__ast_3198(macroCall);
31334 			i_2 = ((NI) 1);
31335 			{
31336 				while (1) {
31337 					if (!(i_2 < colontmp_)) goto LA8;
31338 					i = i_2;
31339 					asgnRef((void**) (&(*macroCall)._kind_6.sons->data[i]), semExprWithType__sem_56(c, (*macroCall)._kind_6.sons->data[i], 0));
31340 					i_2 += ((NI) 1);
31341 				} LA8: ;
31342 			}
31343 		}
31344 		headSymbol = (*macroCall)._kind_6.sons->data[((NI) 0)];
31345 		cands = ((NI) 0);
31346 		cand = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
31347 		nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
31348 		symx = initOverloadIter__lookups_1374((&o), c, headSymbol);
31349 		{
31350 			while (1) {
31351 				if (!!((symx == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA10;
31352 				{
31353 					NIM_BOOL T13_;
31354 					NI T15_;
31355 					NI T16_;
31356 					T13_ = (NIM_BOOL)0;
31357 					T13_ = ((393216 &((NU32)1<<((NU)((*symx).kind)&31U)))!=0);
31358 					if (!(T13_)) goto LA14_;
31359 					T15_ = (NI)0;
31360 					T15_ = len__ast_4002((*symx).typ);
31361 					T16_ = (NI)0;
31362 					T16_ = len__ast_3198(macroCall);
31363 					T13_ = (T15_ == T16_);
31364 					LA14_: ;
31365 					if (!T13_) goto LA17_;
31366 					cand = symx;
31367 					cands += ((NI) 1);
31368 				}
31369 				LA17_: ;
31370 				symx = nextOverloadIter__lookups_1528((&o), c, headSymbol);
31371 			} LA10: ;
31372 		}
31373 		{
31374 			NimStringDesc* T23_;
31375 			NI T24_;
31376 			NimStringDesc* T25_;
31377 			if (!(cands == ((NI) 0))) goto LA21_;
31378 			T23_ = NIM_NIL;
31379 			T24_ = (NI)0;
31380 			T24_ = len__ast_3198(macroCall);
31381 			T25_ = NIM_NIL;
31382 			T25_ = dollar___systemZdollars_3((NI)(T24_ - ((NI) 1)));
31383 			T23_ = rawNewString((T25_ ? T25_->Sup.len : 0) + 41);
31384 appendString(T23_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_671));
31385 appendString(T23_, T25_);
31386 appendString(T23_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_672));
31387 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T23_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_673, NIM_FALSE);
31388 		}
31389 		goto LA19_;
31390 		LA21_: ;
31391 		{
31392 			NimStringDesc* T29_;
31393 			NimStringDesc* T30_;
31394 			if (!(((NI) 2) <= cands)) goto LA27_;
31395 			T29_ = NIM_NIL;
31396 			T30_ = NIM_NIL;
31397 			T30_ = dollar___renderer_2106(macroCall);
31398 			T29_ = rawNewString((T30_ ? T30_->Sup.len : 0) + 38);
31399 appendString(T29_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_674));
31400 appendString(T29_, T30_);
31401 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T29_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_675, NIM_FALSE);
31402 		}
31403 		goto LA19_;
31404 		LA27_: ;
31405 		{
31406 			tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
31407 			info = (*(*macroCall)._kind_6.sons->data[((NI) 0)]).info;
31408 			asgnRef((void**) (&(*macroCall)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(cand, info));
31409 			markUsed__sigmatch_85(c, info, cand);
31410 		}
31411 		LA19_: ;
31412 	}
31413 	goto LA1_;
31414 	LA4_: ;
31415 	{
31416 		NimStringDesc* T33_;
31417 		NimStringDesc* T34_;
31418 		T33_ = NIM_NIL;
31419 		T34_ = NIM_NIL;
31420 		T34_ = renderTree__renderer_46(n, 0);
31421 		T33_ = rawNewString((T34_ ? T34_->Sup.len : 0) + 29);
31422 appendString(T33_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_676));
31423 appendString(T33_, T34_);
31424 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T33_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_677, NIM_FALSE);
31425 	}
31426 	LA1_: ;
31427 	{
31428 		NimStringDesc* argX60gensym4816_;
31429 		if (!!(((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 27)))) goto LA37_;
31430 		argX60gensym4816_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_678);
31431 		internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym4816_, TM__rF9caJawfOjYTjsgLVUSGFA_678);
31432 	}
31433 	LA37_: ;
31434 	{
31435 		NIM_BOOL T41_;
31436 		NI T43_;
31437 		T41_ = (NIM_BOOL)0;
31438 		T41_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
31439 		if (!(T41_)) goto LA42_;
31440 		T43_ = (NI)0;
31441 		T43_ = len__ast_3198(n);
31442 		T41_ = (T43_ == ((NI) 1));
31443 		LA42_: ;
31444 		if (!T41_) goto LA44_;
31445 		result = (*n)._kind_6.sons->data[((NI) 0)];
31446 	}
31447 	goto LA39_;
31448 	LA44_: ;
31449 	{
31450 		result = n;
31451 	}
31452 	LA39_: ;
31453 	asgnRef((void**) (&(*result).typ), sysTypeFromName__magicsys_55((*c).graph, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_99)));
31454 	return result;
31455 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExpandToAst__sem_18243)31456 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) {
31457 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31458 	result = NIM_NIL;
31459 	{
31460 		NI T3_;
31461 		T3_ = (NI)0;
31462 		T3_ = len__ast_3198(n);
31463 		if (!(T3_ == ((NI) 2))) goto LA4_;
31464 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(magicSym, (*n).info));
31465 		result = semExpandToAst__sem_18180(c, n);
31466 	}
31467 	goto LA1_;
31468 	LA4_: ;
31469 	{
31470 		result = semDirectOp__sem_511(c, n, flags);
31471 	}
31472 	LA1_: ;
31473 	return result;
31474 }
N_NIMCALL(NimStringDesc *,expectString__sem_18166)31475 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, expectString__sem_18166)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31476 	NimStringDesc* result;
31477 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
31478 {	result = NIM_NIL;
31479 	n_2 = semConstExpr__sem_611(c, n);
31480 	{
31481 		if (!((*n_2).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*n_2).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22))) goto LA3_;
31482 		result = copyString((*n_2)._kind_3.strVal);
31483 		goto BeforeRet_;
31484 	}
31485 	goto LA1_;
31486 	LA3_: ;
31487 	{
31488 		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);
31489 	}
31490 	LA1_: ;
31491 	}BeforeRet_: ;
31492 	return result;
31493 }
N_NIMCALL(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ *,newSeq__sem_18374)31494 N_LIB_PRIVATE N_NIMCALL(tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*, newSeq__sem_18374)(NI len) {
31495 	tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* result;
31496 	result = NIM_NIL;
31497 	result = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) newSeq((&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_), len);
31498 	return result;
31499 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,newAnonSym__sem_18175)31500 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newAnonSym__sem_18175)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
31501 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
31502 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
31503 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
31504 	result = NIM_NIL;
31505 	T1_ = nextSymId__ast_3132((*c).Sup.idgen);
31506 	T2_ = NIM_NIL;
31507 	T2_ = getCurrOwner__semdata_315(c);
31508 	result = newSym__ast_3445(kind, (*(*c).cache).idAnon, T1_, T2_, info, 0);
31509 	return result;
31510 }
N_NIMCALL(void,processQuotations__sem_18253)31511 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) {
31512 {	{
31513 		if (!((*(*n)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30))) goto LA3_;
31514 		checkSonsLen__semdata_1077((*n), ((NI) 2), (*(*c).graph).config);
31515 		{
31516 			NimStringDesc* examinedOpX60gensym4821_;
31517 			if (!((*(*(*n))._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA7_;
31518 			examinedOpX60gensym4821_ = (*(*(*(*n))._kind_6.sons->data[((NI) 0)])._kind_5.ident).s;
31519 			{
31520 				NI T13_;
31521 				NI T14_;
31522 				NimStringDesc* T15_;
31523 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T16_;
31524 				NI T17_;
31525 				if (!eqStrings(examinedOpX60gensym4821_, op)) goto LA11_;
31526 				unsureAsgnRef((void**) (&(*quotes)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*quotes)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
31527 				T13_ = (*quotes)->Sup.len++;
31528 				asgnRef((void**) (&(*quotes)->data[T13_]), (*(*n))._kind_6.sons->data[((NI) 1)]);
31529 				T14_ = ((*quotes) ? (*quotes)->Sup.len : 0);
31530 				T15_ = NIM_NIL;
31531 				T15_ = dollar___systemZdollars_3(T14_);
31532 				T16_ = NIM_NIL;
31533 				T16_ = getIdent__idents_143((*c).cache, T15_);
31534 				unsureAsgnRef((void**) (&(*n)), newIdentNode__ast_3712(T16_, (*(*n)).info));
31535 				unsureAsgnRef((void**) (&(*ids)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ids)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
31536 				T17_ = (*ids)->Sup.len++;
31537 				asgnRef((void**) (&(*ids)->data[T17_]), (*n));
31538 				goto BeforeRet_;
31539 			}
31540 			goto LA9_;
31541 			LA11_: ;
31542 			{
31543 				NIM_BOOL T19_;
31544 				NimStringDesc* T22_;
31545 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T23_;
31546 				T19_ = (NIM_BOOL)0;
31547 				T19_ = nsuStartsWith(examinedOpX60gensym4821_, op);
31548 				if (!T19_) goto LA20_;
31549 				T22_ = NIM_NIL;
31550 				T22_ = substr__system_7755(examinedOpX60gensym4821_, (op ? op->Sup.len : 0));
31551 				T23_ = NIM_NIL;
31552 				T23_ = getIdent__idents_143((*c).cache, T22_);
31553 				asgnRef((void**) (&(*(*n))._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(T23_, (*(*n)).info));
31554 			}
31555 			goto LA9_;
31556 			LA20_: ;
31557 			LA9_: ;
31558 		}
31559 		LA7_: ;
31560 	}
31561 	goto LA1_;
31562 	LA3_: ;
31563 	{
31564 		if (!((*(*n)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53))) goto LA25_;
31565 		{
31566 			NI T31_;
31567 			NI T32_;
31568 			NimStringDesc* T33_;
31569 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T34_;
31570 			NI T35_;
31571 			if (!eqStrings(op, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_682))) goto LA29_;
31572 			unsureAsgnRef((void**) (&(*quotes)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*quotes)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
31573 			T31_ = (*quotes)->Sup.len++;
31574 			asgnRef((void**) (&(*quotes)->data[T31_]), (*(*n))._kind_6.sons->data[((NI) 0)]);
31575 			T32_ = ((*quotes) ? (*quotes)->Sup.len : 0);
31576 			T33_ = NIM_NIL;
31577 			T33_ = dollar___systemZdollars_3(T32_);
31578 			T34_ = NIM_NIL;
31579 			T34_ = getIdent__idents_143((*c).cache, T33_);
31580 			unsureAsgnRef((void**) (&(*n)), newIdentNode__ast_3712(T34_, (*(*n)).info));
31581 			unsureAsgnRef((void**) (&(*ids)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ids)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
31582 			T35_ = (*ids)->Sup.len++;
31583 			asgnRef((void**) (&(*ids)->data[T35_]), (*n));
31584 			goto BeforeRet_;
31585 		}
31586 		goto LA27_;
31587 		LA29_: ;
31588 		{
31589 			{
31590 				NIM_BOOL T39_;
31591 				NI T40_;
31592 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tempNode;
31593 				tyArray__cypz0nHJsd9cnKgpO7fP5hQ T44_;
31594 				T39_ = (NIM_BOOL)0;
31595 				T40_ = (NI)0;
31596 				T40_ = len__ast_3198((*n));
31597 				T39_ = (T40_ == ((NI) 2));
31598 				if (!(T39_)) goto LA41_;
31599 				T39_ = eqStrings((*(*(*(*n))._kind_6.sons->data[((NI) 0)])._kind_5.ident).s, op);
31600 				LA41_: ;
31601 				if (!T39_) goto LA42_;
31602 				nimZeroMem((void*)T44_, sizeof(tyArray__cypz0nHJsd9cnKgpO7fP5hQ));
31603 				tempNode = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30), T44_, 0);
31604 				newSons__semtypinst_404(tempNode, ((NI) 2));
31605 				asgnRef((void**) (&(*tempNode)._kind_6.sons->data[((NI) 0)]), (*(*n))._kind_6.sons->data[((NI) 0)]);
31606 				asgnRef((void**) (&(*tempNode)._kind_6.sons->data[((NI) 1)]), (*(*n))._kind_6.sons->data[((NI) 1)]);
31607 				{
31608 					NimStringDesc* examinedOpX60gensym4834_;
31609 					if (!((*(*tempNode)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA47_;
31610 					examinedOpX60gensym4834_ = (*(*(*tempNode)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s;
31611 					{
31612 						NI T53_;
31613 						NI T54_;
31614 						NimStringDesc* T55_;
31615 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T56_;
31616 						NI T57_;
31617 						if (!eqStrings(examinedOpX60gensym4834_, op)) goto LA51_;
31618 						unsureAsgnRef((void**) (&(*quotes)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*quotes)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
31619 						T53_ = (*quotes)->Sup.len++;
31620 						asgnRef((void**) (&(*quotes)->data[T53_]), (*tempNode)._kind_6.sons->data[((NI) 1)]);
31621 						T54_ = ((*quotes) ? (*quotes)->Sup.len : 0);
31622 						T55_ = NIM_NIL;
31623 						T55_ = dollar___systemZdollars_3(T54_);
31624 						T56_ = NIM_NIL;
31625 						T56_ = getIdent__idents_143((*c).cache, T55_);
31626 						unsureAsgnRef((void**) (&(*n)), newIdentNode__ast_3712(T56_, (*(*n)).info));
31627 						unsureAsgnRef((void**) (&(*ids)), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*ids)), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
31628 						T57_ = (*ids)->Sup.len++;
31629 						asgnRef((void**) (&(*ids)->data[T57_]), (*n));
31630 						goto BeforeRet_;
31631 					}
31632 					goto LA49_;
31633 					LA51_: ;
31634 					{
31635 						NIM_BOOL T59_;
31636 						NimStringDesc* T62_;
31637 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T63_;
31638 						T59_ = (NIM_BOOL)0;
31639 						T59_ = nsuStartsWith(examinedOpX60gensym4834_, op);
31640 						if (!T59_) goto LA60_;
31641 						T62_ = NIM_NIL;
31642 						T62_ = substr__system_7755(examinedOpX60gensym4834_, (op ? op->Sup.len : 0));
31643 						T63_ = NIM_NIL;
31644 						T63_ = getIdent__idents_143((*c).cache, T62_);
31645 						asgnRef((void**) (&(*tempNode)._kind_6.sons->data[((NI) 0)]), newIdentNode__ast_3712(T63_, (*tempNode).info));
31646 					}
31647 					goto LA49_;
31648 					LA60_: ;
31649 					LA49_: ;
31650 				}
31651 				LA47_: ;
31652 			}
31653 			LA42_: ;
31654 		}
31655 		LA27_: ;
31656 	}
31657 	goto LA1_;
31658 	LA25_: ;
31659 	{
31660 		if (!((*(*n)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA65_;
31661 		{
31662 			if (!eqStrings((*(*(*n))._kind_5.ident).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_102))) goto LA69_;
31663 			unsureAsgnRef((void**) (&(*n)), (*ids)->data[((NI) 0)]);
31664 		}
31665 		LA69_: ;
31666 	}
31667 	goto LA1_;
31668 	LA65_: ;
31669 	LA1_: ;
31670 	{
31671 		NI i;
31672 		NI colontmp_;
31673 		NI i_2;
31674 		i = (NI)0;
31675 		colontmp_ = (NI)0;
31676 		colontmp_ = safeLen__ast_3191((*n));
31677 		i_2 = ((NI) 0);
31678 		{
31679 			while (1) {
31680 				if (!(i_2 < colontmp_)) goto LA73;
31681 				i = i_2;
31682 				processQuotations__sem_18253(c, &(*(*n))._kind_6.sons->data[i], op, quotes, ids);
31683 				i_2 += ((NI) 1);
31684 			} LA73: ;
31685 		}
31686 	}
31687 	}BeforeRet_: ;
31688 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplBodyDirty__sem_7597)31689 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBodyDirty__sem_7597)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31690 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31691 {	result = NIM_NIL;
31692 	result = n;
31693 	switch ((*n).kind) {
31694 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
31695 	{
31696 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
31697 		s = qualifiedLookUp__lookups_1233((*c).c, n, 0);
31698 		{
31699 			if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA4_;
31700 			{
31701 				NIM_BOOL T8_;
31702 				T8_ = (NIM_BOOL)0;
31703 				T8_ = ((*s).owner == (*c).owner);
31704 				if (!(T8_)) goto LA9_;
31705 				T8_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
31706 				LA9_: ;
31707 				if (!T8_) goto LA10_;
31708 				result = newSymNode__ast_3719(s, (*n).info);
31709 			}
31710 			goto LA6_;
31711 			LA10_: ;
31712 			{
31713 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1845_;
31714 				NIM_BOOL T13_;
31715 				xX60gensym1845_ = s;
31716 				T13_ = (NIM_BOOL)0;
31717 				T13_ = contains__astalgo_3496((&(*c).toBind), (NI)((NI)((NU32)(((NI) ((*xX60gensym1845_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym1845_).Sup.itemId.item))));
31718 				if (!T13_) goto LA14_;
31719 				result = symChoice__sem_6586((*c).c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
31720 			}
31721 			goto LA6_;
31722 			LA14_: ;
31723 			LA6_: ;
31724 		}
31725 		LA4_: ;
31726 	}
31727 	break;
31728 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 55):
31729 	{
31730 		result = semTemplBodyDirty__sem_7597(c, (*n)._kind_6.sons->data[((NI) 0)]);
31731 	}
31732 	break;
31733 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
31734 	{
31735 		result = semBindStmt__sem_6647((*c).c, n, (&(*c).toBind));
31736 	}
31737 	break;
31738 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
31739 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
31740 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24):
31741 	{
31742 	}
31743 	break;
31744 	default:
31745 	{
31746 		{
31747 			NIM_BOOL T22_;
31748 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
31749 			T22_ = (NIM_BOOL)0;
31750 			T22_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45));
31751 			if (T22_) goto LA23_;
31752 			T22_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53));
31753 			LA23_: ;
31754 			if (!T22_) goto LA24_;
31755 			s_2 = qualifiedLookUp__lookups_1233((*c).c, n, 0);
31756 			{
31757 				NIM_BOOL T28_;
31758 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1848_;
31759 				T28_ = (NIM_BOOL)0;
31760 				T28_ = !((s_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
31761 				if (!(T28_)) goto LA29_;
31762 				xX60gensym1848_ = s_2;
31763 				T28_ = contains__astalgo_3496((&(*c).toBind), (NI)((NI)((NU32)(((NI) ((*xX60gensym1848_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym1848_).Sup.itemId.item))));
31764 				LA29_: ;
31765 				if (!T28_) goto LA30_;
31766 				result = symChoice__sem_6586((*c).c, n, s_2, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
31767 				goto BeforeRet_;
31768 			}
31769 			LA30_: ;
31770 		}
31771 		LA24_: ;
31772 		result = n;
31773 		{
31774 			NI i;
31775 			NI colontmp_;
31776 			NI i_2;
31777 			i = (NI)0;
31778 			colontmp_ = (NI)0;
31779 			colontmp_ = len__ast_3198(n);
31780 			i_2 = ((NI) 0);
31781 			{
31782 				while (1) {
31783 					if (!(i_2 < colontmp_)) goto LA34;
31784 					i = i_2;
31785 					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), semTemplBodyDirty__sem_7597(c, (*n)._kind_6.sons->data[i]));
31786 					i_2 += ((NI) 1);
31787 				} LA34: ;
31788 			}
31789 		}
31790 	}
31791 	break;
31792 	}
31793 	}BeforeRet_: ;
31794 	return result;
31795 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplSymbol__sem_6931)31796 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) {
31797 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31798 	result = NIM_NIL;
31799 	(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
31800 	markOwnerModuleAsUsed__sigmatch_89(c, s);
31801 	switch ((*s).kind) {
31802 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0):
31803 	{
31804 		result = n;
31805 	}
31806 	break;
31807 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6):
31808 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12) ... ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
31809 	{
31810 		result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 1), isField);
31811 	}
31812 	break;
31813 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 4):
31814 	{
31815 		{
31816 			NIM_BOOL T6_;
31817 			T6_ = (NIM_BOOL)0;
31818 			T6_ = isField;
31819 			if (!(T6_)) goto LA7_;
31820 			T6_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
31821 			LA7_: ;
31822 			if (!T6_) goto LA8_;
31823 			result = n;
31824 		}
31825 		goto LA4_;
31826 		LA8_: ;
31827 		{
31828 			result = newSymNodeTypeDesc__semfold_835(s, (*c).Sup.idgen, (*n).info);
31829 		}
31830 		LA4_: ;
31831 	}
31832 	break;
31833 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3):
31834 	{
31835 		result = n;
31836 	}
31837 	break;
31838 	case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
31839 	{
31840 		{
31841 			NIM_BOOL T15_;
31842 			T15_ = (NIM_BOOL)0;
31843 			T15_ = isField;
31844 			if (!(T15_)) goto LA16_;
31845 			T15_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
31846 			LA16_: ;
31847 			if (!T15_) goto LA17_;
31848 			result = n;
31849 		}
31850 		goto LA13_;
31851 		LA17_: ;
31852 		{
31853 			result = newSymNodeTypeDesc__semfold_835(s, (*c).Sup.idgen, (*n).info);
31854 		}
31855 		LA13_: ;
31856 	}
31857 	break;
31858 	default:
31859 	{
31860 		{
31861 			NIM_BOOL T23_;
31862 			T23_ = (NIM_BOOL)0;
31863 			T23_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
31864 			if (!(T23_)) goto LA24_;
31865 			T23_ = (((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 15))&31U)))!=0);
31866 			LA24_: ;
31867 			if (!T23_) goto LA25_;
31868 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 1), isField);
31869 		}
31870 		goto LA21_;
31871 		LA25_: ;
31872 		{
31873 			NIM_BOOL T28_;
31874 			T28_ = (NIM_BOOL)0;
31875 			T28_ = isField;
31876 			if (!(T28_)) goto LA29_;
31877 			T28_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
31878 			LA29_: ;
31879 			if (!T28_) goto LA30_;
31880 			result = n;
31881 		}
31882 		goto LA21_;
31883 		LA30_: ;
31884 		{
31885 			result = newSymNode__ast_3719(s, (*n).info);
31886 		}
31887 		LA21_: ;
31888 		{
31889 			if (!!(((49152 & (*(*(*c).graph).config).globalOptions) == 0))) goto LA35_;
31890 			styleCheckUse__linter_192((*(*c).graph).config, (*n).info, s);
31891 		}
31892 		LA35_: ;
31893 	}
31894 	break;
31895 	}
31896 	return result;
31897 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplBodySons__sem_7133)31898 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBodySons__sem_7133)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31899 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31900 	result = NIM_NIL;
31901 	result = n;
31902 	{
31903 		NI i;
31904 		NI colontmp_;
31905 		NI i_2;
31906 		i = (NI)0;
31907 		colontmp_ = (NI)0;
31908 		colontmp_ = len__ast_3198(n);
31909 		i_2 = ((NI) 0);
31910 		{
31911 			while (1) {
31912 				if (!(i_2 < colontmp_)) goto LA3;
31913 				i = i_2;
31914 				asgnRef((void**) (&(*result)._kind_6.sons->data[i]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[i]));
31915 				i_2 += ((NI) 1);
31916 			} LA3: ;
31917 		}
31918 	}
31919 	return result;
31920 }
N_NIMCALL(void,openScope__sem_6791)31921 N_LIB_PRIVATE N_NIMCALL(void, openScope__sem_6791)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c) {
31922 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
31923 	T1_ = NIM_NIL;
31924 	T1_ = openScope__lookups_69((*c).c);
31925 }
N_NIMCALL(void,closeScope__sem_6793)31926 N_LIB_PRIVATE N_NIMCALL(void, closeScope__sem_6793)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c) {
31927 	closeScope__lookups_101((*c).c);
31928 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplBodyScope__sem_6795)31929 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBodyScope__sem_6795)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31930 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31931 	result = NIM_NIL;
31932 	openScope__sem_6791(c);
31933 	result = semTemplBody__sem_6788(c, n);
31934 	closeScope__sem_6793(c);
31935 	return result;
31936 }
N_NIMCALL(tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw,symBinding__sem_6547)31937 N_LIB_PRIVATE N_NIMCALL(tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw, symBinding__sem_6547)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31938 	tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw result;
31939 {	result = (tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw)0;
31940 	{
31941 		NI i;
31942 		NI colontmp_;
31943 		NI i_2;
31944 		i = (NI)0;
31945 		colontmp_ = (NI)0;
31946 		colontmp_ = len__ast_3198(n);
31947 		i_2 = ((NI) 0);
31948 		{
31949 			while (1) {
31950 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
31951 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* key;
31952 				if (!(i_2 < colontmp_)) goto LA3;
31953 				i = i_2;
31954 				it = (*n)._kind_6.sons->data[i];
31955 				{
31956 					if (!((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA6_;
31957 					key = (*it)._kind_6.sons->data[((NI) 0)];
31958 				}
31959 				goto LA4_;
31960 				LA6_: ;
31961 				{
31962 					key = it;
31963 				}
31964 				LA4_: ;
31965 				{
31966 					tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T13_;
31967 					if (!((*key).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA11_;
31968 					T13_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
31969 					T13_ = whichKeyword__idents_214((*key)._kind_5.ident);
31970 					switch (T13_) {
31971 					case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 209):
31972 					{
31973 						result = ((tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw) 1);
31974 						goto BeforeRet_;
31975 					}
31976 					break;
31977 					case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 210):
31978 					{
31979 						result = ((tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw) 2);
31980 						goto BeforeRet_;
31981 					}
31982 					break;
31983 					default:
31984 					{
31985 					}
31986 					break;
31987 					}
31988 				}
31989 				LA11_: ;
31990 				i_2 += ((NI) 1);
31991 			} LA3: ;
31992 		}
31993 	}
31994 	}BeforeRet_: ;
31995 	return result;
31996 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,onlyReplaceParams__sem_6799)31997 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, onlyReplaceParams__sem_6799)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
31998 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
31999 	result = NIM_NIL;
32000 	result = n;
32001 	{
32002 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
32003 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA3_;
32004 		s = qualifiedLookUp__lookups_1233((*c).c, n, 0);
32005 		{
32006 			if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA7_;
32007 			{
32008 				NIM_BOOL T11_;
32009 				T11_ = (NIM_BOOL)0;
32010 				T11_ = ((*s).owner == (*c).owner);
32011 				if (!(T11_)) goto LA12_;
32012 				T11_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
32013 				LA12_: ;
32014 				if (!T11_) goto LA13_;
32015 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
32016 				result = newSymNode__ast_3719(s, (*n).info);
32017 			}
32018 			LA13_: ;
32019 		}
32020 		LA7_: ;
32021 	}
32022 	goto LA1_;
32023 	LA3_: ;
32024 	{
32025 		{
32026 			NI i;
32027 			NI colontmp_;
32028 			NI i_2;
32029 			i = (NI)0;
32030 			colontmp_ = (NI)0;
32031 			colontmp_ = safeLen__ast_3191(n);
32032 			i_2 = ((NI) 0);
32033 			{
32034 				while (1) {
32035 					if (!(i_2 < colontmp_)) goto LA18;
32036 					i = i_2;
32037 					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), onlyReplaceParams__sem_6799(c, (*n)._kind_6.sons->data[i]));
32038 					i_2 += ((NI) 1);
32039 				} LA18: ;
32040 			}
32041 		}
32042 	}
32043 	LA1_: ;
32044 	return result;
32045 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,getIdentNode__sem_6749)32046 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getIdentNode__sem_6749)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
32047 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
32048 	result = NIM_NIL;
32049 	switch ((*n).kind) {
32050 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
32051 	{
32052 		result = getIdentNode__sem_6749(c, (*n)._kind_6.sons->data[((NI) 1)]);
32053 	}
32054 	break;
32055 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
32056 	{
32057 		result = getIdentNode__sem_6749(c, (*n)._kind_6.sons->data[((NI) 0)]);
32058 	}
32059 	break;
32060 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
32061 	{
32062 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
32063 		result = n;
32064 		s = qualifiedLookUp__lookups_1233((*c).c, n, 0);
32065 		{
32066 			if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA6_;
32067 			{
32068 				NIM_BOOL T10_;
32069 				T10_ = (NIM_BOOL)0;
32070 				T10_ = ((*s).owner == (*c).owner);
32071 				if (!(T10_)) goto LA11_;
32072 				T10_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
32073 				LA11_: ;
32074 				if (!T10_) goto LA12_;
32075 				result = newSymNode__ast_3719(s, (*n).info);
32076 			}
32077 			LA12_: ;
32078 		}
32079 		LA6_: ;
32080 	}
32081 	break;
32082 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
32083 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
32084 	{
32085 		result = n;
32086 	}
32087 	break;
32088 	default:
32089 	{
32090 		illFormedAst__semdata_1071(n, (*(*(*c).c).graph).config);
32091 		result = n;
32092 	}
32093 	break;
32094 	}
32095 	return result;
32096 }
N_INLINE(NIM_BOOL,isTemplParam__sem_6768)32097 static N_INLINE(NIM_BOOL, isTemplParam__sem_6768)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
32098 	NIM_BOOL result;
32099 	NIM_BOOL T1_;
32100 	NIM_BOOL T2_;
32101 	NIM_BOOL T3_;
32102 	result = (NIM_BOOL)0;
32103 	T1_ = (NIM_BOOL)0;
32104 	T2_ = (NIM_BOOL)0;
32105 	T3_ = (NIM_BOOL)0;
32106 	T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
32107 	if (!(T3_)) goto LA4_;
32108 	T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
32109 	LA4_: ;
32110 	T2_ = T3_;
32111 	if (!(T2_)) goto LA5_;
32112 	T2_ = ((*(*n)._kind_4.sym).owner == (*c).owner);
32113 	LA5_: ;
32114 	T1_ = T2_;
32115 	if (!(T1_)) goto LA6_;
32116 	T1_ = (((*(*n)._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 40))&63U)))!=0);
32117 	LA6_: ;
32118 	result = T1_;
32119 	return result;
32120 }
N_NIMCALL(void,replaceIdentBySym__sem_6733)32121 N_LIB_PRIVATE N_NIMCALL(void, replaceIdentBySym__sem_6733)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s) {
32122 	switch ((*(*n)).kind) {
32123 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
32124 	{
32125 		replaceIdentBySym__sem_6733(c, &(*(*n))._kind_6.sons->data[((NI) 1)], s);
32126 	}
32127 	break;
32128 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
32129 	{
32130 		replaceIdentBySym__sem_6733(c, &(*(*n))._kind_6.sons->data[((NI) 0)], s);
32131 	}
32132 	break;
32133 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
32134 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
32135 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
32136 	{
32137 		unsureAsgnRef((void**) (&(*n)), s);
32138 	}
32139 	break;
32140 	default:
32141 	{
32142 		illFormedAst__semdata_1071((*n), (*(*c).graph).config);
32143 	}
32144 	break;
32145 	}
32146 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,newGenSym__sem_6831)32147 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, newGenSym__sem_6831)(tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c) {
32148 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
32149 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
32150 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
32151 	result = NIM_NIL;
32152 	T1_ = NIM_NIL;
32153 	T1_ = considerQuotedIdent__lookups_28((*c).c, n, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
32154 	T2_ = nextSymId__ast_3132((*(*c).c).Sup.idgen);
32155 	result = newSym__ast_3445(kind, T1_, T2_, (*c).owner, (*n).info, 0);
32156 	(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37)) & 63);
32157 	(*result).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 25)) & 63);
32158 	return result;
32159 }
N_NIMCALL(void,addLocalDecl__sem_6844)32160 N_LIB_PRIVATE N_NIMCALL(void, addLocalDecl__sem_6844)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw k) {
32161 {	{
32162 		NIM_BOOL T3_;
32163 		tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw T5_;
32164 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
32165 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ident;
32166 		T3_ = (NIM_BOOL)0;
32167 		T3_ = ((*(*n)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43));
32168 		if (!(T3_)) goto LA4_;
32169 		T5_ = (tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw)0;
32170 		T5_ = symBinding__sem_6547((*(*n))._kind_6.sons->data[((NI) 1)]);
32171 		T3_ = (T5_ == ((tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw) 2));
32172 		LA4_: ;
32173 		if (!T3_) goto LA6_;
32174 		x = (*(*n))._kind_6.sons->data[((NI) 0)];
32175 		{
32176 			while (1) {
32177 				switch ((*x).kind) {
32178 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
32179 				{
32180 					x = (*x)._kind_6.sons->data[((NI) 1)];
32181 				}
32182 				break;
32183 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
32184 				{
32185 					x = (*x)._kind_6.sons->data[((NI) 0)];
32186 				}
32187 				break;
32188 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
32189 				{
32190 					goto LA8;
32191 				}
32192 				break;
32193 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
32194 				{
32195 					unsureAsgnRef((void**) (&(*n)), onlyReplaceParams__sem_6799(c, (*n)));
32196 					goto BeforeRet_;
32197 				}
32198 				break;
32199 				default:
32200 				{
32201 					illFormedAst__semdata_1071(x, (*(*(*c).c).graph).config);
32202 				}
32203 				break;
32204 				}
32205 			}
32206 		} LA8: ;
32207 		ident = getIdentNode__sem_6749(c, x);
32208 		{
32209 			NIM_BOOL T17_;
32210 			T17_ = (NIM_BOOL)0;
32211 			T17_ = isTemplParam__sem_6768((&(*c)), ident);
32212 			if (!!(T17_)) goto LA18_;
32213 			incl__pureZcollectionsZintsets_55((&(*c).toInject), (*(*x)._kind_5.ident).id);
32214 		}
32215 		goto LA15_;
32216 		LA18_: ;
32217 		{
32218 			replaceIdentBySym__sem_6733((*c).c, n, ident);
32219 		}
32220 		LA15_: ;
32221 	}
32222 	goto LA1_;
32223 	LA6_: ;
32224 	{
32225 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ident_2;
32226 		{
32227 			NIM_BOOL T24_;
32228 			NIM_BOOL T25_;
32229 			NI T27_;
32230 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmaNode;
32231 			T24_ = (NIM_BOOL)0;
32232 			T25_ = (NIM_BOOL)0;
32233 			T25_ = ((*(*n)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43));
32234 			if (!(T25_)) goto LA26_;
32235 			T27_ = (NI)0;
32236 			T27_ = len__ast_3198((*n));
32237 			T25_ = (((NI) 2) <= T27_);
32238 			LA26_: ;
32239 			T24_ = T25_;
32240 			if (!(T24_)) goto LA28_;
32241 			T24_ = ((*(*(*n))._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90));
32242 			LA28_: ;
32243 			if (!T24_) goto LA29_;
32244 			pragmaNode = (*(*n))._kind_6.sons->data[((NI) 1)];
32245 			{
32246 				NI i;
32247 				NI colontmp_;
32248 				NI i_2;
32249 				i = (NI)0;
32250 				colontmp_ = (NI)0;
32251 				colontmp_ = len__ast_3198(pragmaNode);
32252 				i_2 = ((NI) 0);
32253 				{
32254 					while (1) {
32255 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ni;
32256 						NIM_BOOL found;
32257 						if (!(i_2 < colontmp_)) goto LA33;
32258 						i = i_2;
32259 						ni = (*pragmaNode)._kind_6.sons->data[i];
32260 						found = NIM_FALSE;
32261 						{
32262 							if (!((*ni).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA36_;
32263 							{
32264 								tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw a;
32265 								NI i_3;
32266 								a = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
32267 								i_3 = ((NI) 0);
32268 								{
32269 									while (1) {
32270 										if (!(i_3 <= ((NI) 293))) goto LA40;
32271 										{
32272 											if (!((TM__rF9caJawfOjYTjsgLVUSGFA_695[(NU)(((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) (i_3)))>>3] &(1U<<((NU)(((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) (i_3)))&7U)))!=0)) goto LA43_;
32273 											a = ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) (i_3));
32274 											{
32275 												tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T47_;
32276 												NIM_BOOL T48_;
32277 												T47_ = NIM_NIL;
32278 												T47_ = getIdent__idents_143((*(*c).c).cache, reprEnum((NI)a, (&NTItspecialword__ycbpMCRV6Cd2eBh3X9biEiw_)));
32279 												T48_ = (NIM_BOOL)0;
32280 												T48_ = eqeq___idents_220((*ni)._kind_5.ident, T47_);
32281 												if (!T48_) goto LA49_;
32282 												found = NIM_TRUE;
32283 												goto LA38;
32284 											}
32285 											LA49_: ;
32286 										}
32287 										LA43_: ;
32288 										i_3 += ((NI) 1);
32289 									} LA40: ;
32290 								}
32291 							} LA38: ;
32292 						}
32293 						LA36_: ;
32294 						{
32295 							if (!!(found)) goto LA53_;
32296 							openScope__sem_6791(c);
32297 							asgnRef((void**) (&(*pragmaNode)._kind_6.sons->data[i]), semTemplBody__sem_6788(c, (*pragmaNode)._kind_6.sons->data[i]));
32298 							closeScope__sem_6793(c);
32299 						}
32300 						LA53_: ;
32301 						i_2 += ((NI) 1);
32302 					} LA33: ;
32303 				}
32304 			}
32305 		}
32306 		LA29_: ;
32307 		ident_2 = getIdentNode__sem_6749(c, (*n));
32308 		{
32309 			NIM_BOOL T57_;
32310 			T57_ = (NIM_BOOL)0;
32311 			T57_ = isTemplParam__sem_6768((&(*c)), ident_2);
32312 			if (!!(T57_)) goto LA58_;
32313 			{
32314 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* local;
32315 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T70_;
32316 				if (!!(((*(*n)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA62_;
32317 				local = newGenSym__sem_6831(k, ident_2, c);
32318 				addPrelimDecl__lookups_848((*c).c, local);
32319 				{
32320 					NIM_BOOL T66_;
32321 					T66_ = (NIM_BOOL)0;
32322 					T66_ = !(((49152 & (*(*(*(*c).c).graph).config).globalOptions) == 0));
32323 					if (!(T66_)) goto LA67_;
32324 					T66_ = !((((*(*(*(*c).c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
32325 					LA67_: ;
32326 					if (!T66_) goto LA68_;
32327 					nep1CheckDefImpl__linter_110((*(*(*c).c).graph).config, (*(*n)).info, local, (*local).kind);
32328 				}
32329 				LA68_: ;
32330 				T70_ = NIM_NIL;
32331 				T70_ = newSymNode__ast_3719(local, (*(*n)).info);
32332 				replaceIdentBySym__sem_6733((*c).c, n, T70_);
32333 				{
32334 					NIM_BOOL T73_;
32335 					T73_ = (NIM_BOOL)0;
32336 					T73_ = (k == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
32337 					if (!(T73_)) goto LA74_;
32338 					T73_ = (((NI) 0) < (*c).inTemplateHeader);
32339 					LA74_: ;
32340 					if (!T73_) goto LA75_;
32341 					(*local).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 40)) & 63);
32342 				}
32343 				LA75_: ;
32344 			}
32345 			LA62_: ;
32346 		}
32347 		goto LA55_;
32348 		LA58_: ;
32349 		{
32350 			replaceIdentBySym__sem_6733((*c).c, n, ident_2);
32351 		}
32352 		LA55_: ;
32353 	}
32354 	LA1_: ;
32355 	}BeforeRet_: ;
32356 }
N_NIMCALL(void,semTemplSomeDecl__sem_7085)32357 N_LIB_PRIVATE N_NIMCALL(void, semTemplSomeDecl__sem_7085)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symKind, NI start) {
32358 	{
32359 		NI i;
32360 		NI colontmp_;
32361 		NI i_2;
32362 		i = (NI)0;
32363 		colontmp_ = (NI)0;
32364 		colontmp_ = len__ast_3198(n);
32365 		i_2 = start;
32366 		{
32367 			while (1) {
32368 				if (!(i_2 < colontmp_)) goto LA3;
32369 				i = i_2;
32370 				{
32371 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
32372 					a = (*n)._kind_6.sons->data[i];
32373 					switch ((*a).kind) {
32374 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
32375 					{
32376 						goto LA4;
32377 					}
32378 					break;
32379 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35):
32380 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36):
32381 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102):
32382 					{
32383 						NI T7_;
32384 						NI T8_;
32385 						NI T9_;
32386 						NI T10_;
32387 						checkMinSonsLen__semdata_1084(a, ((NI) 3), (*(*(*c).c).graph).config);
32388 						T7_ = (NI)0;
32389 						T7_ = len__ast_3198(a);
32390 						T8_ = (NI)0;
32391 						T8_ = len__ast_3198(a);
32392 						asgnRef((void**) (&(*a)._kind_6.sons->data[(NI)(T7_ - ((NI) 2))]), semTemplBody__sem_6788(c, (*a)._kind_6.sons->data[(NI)(T8_ - ((NI) 2))]));
32393 						T9_ = (NI)0;
32394 						T9_ = len__ast_3198(a);
32395 						T10_ = (NI)0;
32396 						T10_ = len__ast_3198(a);
32397 						asgnRef((void**) (&(*a)._kind_6.sons->data[(NI)(T9_ - ((NI) 1))]), semTemplBody__sem_6788(c, (*a)._kind_6.sons->data[(NI)(T10_ - ((NI) 1))]));
32398 						{
32399 							NI j;
32400 							NI colontmp__2;
32401 							NI T12_;
32402 							NI i_3;
32403 							j = (NI)0;
32404 							colontmp__2 = (NI)0;
32405 							T12_ = (NI)0;
32406 							T12_ = len__ast_3198(a);
32407 							colontmp__2 = (NI)(T12_ - ((NI) 2));
32408 							i_3 = ((NI) 0);
32409 							{
32410 								while (1) {
32411 									if (!(i_3 < colontmp__2)) goto LA14;
32412 									j = i_3;
32413 									addLocalDecl__sem_6844(c, &(*a)._kind_6.sons->data[j], symKind);
32414 									i_3 += ((NI) 1);
32415 								} LA14: ;
32416 							}
32417 						}
32418 					}
32419 					break;
32420 					default:
32421 					{
32422 						illFormedAst__semdata_1071(a, (*(*(*c).c).graph).config);
32423 					}
32424 					break;
32425 					}
32426 				} LA4: ;
32427 				i_2 += ((NI) 1);
32428 			} LA3: ;
32429 		}
32430 	}
32431 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semRoutineInTemplName__sem_6973)32432 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semRoutineInTemplName__sem_6973)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
32433 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
32434 	result = NIM_NIL;
32435 	result = n;
32436 	{
32437 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
32438 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA3_;
32439 		s = qualifiedLookUp__lookups_1233((*c).c, n, 0);
32440 		{
32441 			if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA7_;
32442 			{
32443 				NIM_BOOL T11_;
32444 				NIM_BOOL T13_;
32445 				T11_ = (NIM_BOOL)0;
32446 				T11_ = ((*s).owner == (*c).owner);
32447 				if (!(T11_)) goto LA12_;
32448 				T13_ = (NIM_BOOL)0;
32449 				T13_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
32450 				if (T13_) goto LA14_;
32451 				T13_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
32452 				LA14_: ;
32453 				T11_ = T13_;
32454 				LA12_: ;
32455 				if (!T11_) goto LA15_;
32456 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
32457 				result = newSymNode__ast_3719(s, (*n).info);
32458 			}
32459 			LA15_: ;
32460 		}
32461 		LA7_: ;
32462 	}
32463 	goto LA1_;
32464 	LA3_: ;
32465 	{
32466 		{
32467 			NI i;
32468 			NI colontmp_;
32469 			NI i_2;
32470 			i = (NI)0;
32471 			colontmp_ = (NI)0;
32472 			colontmp_ = safeLen__ast_3191(n);
32473 			i_2 = ((NI) 0);
32474 			{
32475 				while (1) {
32476 					if (!(i_2 < colontmp_)) goto LA20;
32477 					i = i_2;
32478 					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), semRoutineInTemplName__sem_6973(c, (*n)._kind_6.sons->data[i]));
32479 					i_2 += ((NI) 1);
32480 				} LA20: ;
32481 			}
32482 		}
32483 	}
32484 	LA1_: ;
32485 	return result;
32486 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semRoutineInTemplBody__sem_7009)32487 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semRoutineInTemplBody__sem_7009)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw k) {
32488 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
32489 	result = NIM_NIL;
32490 	result = n;
32491 	checkSonsLen__semdata_1077(n, ((NI) 7), (*(*(*c).c).graph).config);
32492 	{
32493 		NIM_BOOL T3_;
32494 		tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw T5_;
32495 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ident;
32496 		T3_ = (NIM_BOOL)0;
32497 		T3_ = !(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52)));
32498 		if (!(T3_)) goto LA4_;
32499 		T5_ = (tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw)0;
32500 		T5_ = symBinding__sem_6547((*n)._kind_6.sons->data[((NI) 4)]);
32501 		T3_ = (T5_ == ((tyEnum_TSymBinding__djea3jD0GJNy3LfTycW4Gw) 1));
32502 		LA4_: ;
32503 		if (!T3_) goto LA6_;
32504 		ident = getIdentNode__sem_6749(c, (*n)._kind_6.sons->data[((NI) 0)]);
32505 		{
32506 			NIM_BOOL T10_;
32507 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
32508 			T10_ = (NIM_BOOL)0;
32509 			T10_ = isTemplParam__sem_6768((&(*c)), ident);
32510 			if (!!(T10_)) goto LA11_;
32511 			s = newGenSym__sem_6831(k, ident, c);
32512 			asgnRef((void**) (&(*s).ast), n);
32513 			addPrelimDecl__lookups_848((*c).c, s);
32514 			{
32515 				NIM_BOOL T15_;
32516 				T15_ = (NIM_BOOL)0;
32517 				T15_ = !(((49152 & (*(*(*(*c).c).graph).config).globalOptions) == 0));
32518 				if (!(T15_)) goto LA16_;
32519 				T15_ = !((((*(*(*(*c).c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
32520 				LA16_: ;
32521 				if (!T15_) goto LA17_;
32522 				nep1CheckDefImpl__linter_110((*(*(*c).c).graph).config, (*n).info, s, (*s).kind);
32523 			}
32524 			LA17_: ;
32525 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(s, (*(*n)._kind_6.sons->data[((NI) 0)]).info));
32526 		}
32527 		goto LA8_;
32528 		LA11_: ;
32529 		{
32530 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), ident);
32531 		}
32532 		LA8_: ;
32533 	}
32534 	goto LA1_;
32535 	LA6_: ;
32536 	{
32537 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semRoutineInTemplName__sem_6973(c, (*n)._kind_6.sons->data[((NI) 0)]));
32538 	}
32539 	LA1_: ;
32540 	openScope__sem_6791(c);
32541 	{
32542 		NI i;
32543 		NI res;
32544 		i = (NI)0;
32545 		res = ((NI) 1);
32546 		{
32547 			while (1) {
32548 				if (!(res <= ((NI) 2))) goto LA23;
32549 				i = res;
32550 				asgnRef((void**) (&(*n)._kind_6.sons->data[i]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[i]));
32551 				res += ((NI) 1);
32552 			} LA23: ;
32553 		}
32554 	}
32555 	{
32556 		if (!(k == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18))) goto LA26_;
32557 		(*c).inTemplateHeader += ((NI) 1);
32558 	}
32559 	LA26_: ;
32560 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 3)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 3)]));
32561 	{
32562 		if (!(k == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18))) goto LA30_;
32563 		(*c).inTemplateHeader -= ((NI) 1);
32564 	}
32565 	LA30_: ;
32566 	{
32567 		NI i_2;
32568 		NI res_2;
32569 		i_2 = (NI)0;
32570 		res_2 = ((NI) 4);
32571 		{
32572 			while (1) {
32573 				if (!(res_2 <= ((NI) 5))) goto LA34;
32574 				i_2 = res_2;
32575 				asgnRef((void**) (&(*n)._kind_6.sons->data[i_2]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[i_2]));
32576 				res_2 += ((NI) 1);
32577 			} LA34: ;
32578 		}
32579 	}
32580 	(*c).scopeN += ((NI) 1);
32581 	openScope__sem_6791(c);
32582 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 6)]));
32583 	closeScope__sem_6793(c);
32584 	(*c).scopeN -= ((NI) 1);
32585 	closeScope__sem_6793(c);
32586 	return result;
32587 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplBody__sem_6788)32588 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplBody__sem_6788)(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
32589 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
32590 {	result = NIM_NIL;
32591 	result = n;
32592 	switch ((*n).kind) {
32593 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
32594 	{
32595 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
32596 		{
32597 			NIM_BOOL T4_;
32598 			T4_ = (NIM_BOOL)0;
32599 			T4_ = contains__astalgo_3496((&(*c).toInject), (*(*n)._kind_5.ident).id);
32600 			if (!T4_) goto LA5_;
32601 			result = n;
32602 			goto BeforeRet_;
32603 		}
32604 		LA5_: ;
32605 		s = qualifiedLookUp__lookups_1233((*c).c, n, 0);
32606 		{
32607 			if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA9_;
32608 			{
32609 				NIM_BOOL T13_;
32610 				NIM_BOOL T14_;
32611 				T13_ = (NIM_BOOL)0;
32612 				T14_ = (NIM_BOOL)0;
32613 				T14_ = ((*s).owner == (*c).owner);
32614 				if (!(T14_)) goto LA15_;
32615 				T14_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
32616 				LA15_: ;
32617 				T13_ = T14_;
32618 				if (!(T13_)) goto LA16_;
32619 				T13_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 40))&63U)))!=0);
32620 				LA16_: ;
32621 				if (!T13_) goto LA17_;
32622 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
32623 				result = newSymNode__ast_3719(s, (*n).info);
32624 			}
32625 			goto LA11_;
32626 			LA17_: ;
32627 			{
32628 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1721_;
32629 				NIM_BOOL T20_;
32630 				xX60gensym1721_ = s;
32631 				T20_ = (NIM_BOOL)0;
32632 				T20_ = contains__astalgo_3496((&(*c).toBind), (NI)((NI)((NU32)(((NI) ((*xX60gensym1721_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym1721_).Sup.itemId.item))));
32633 				if (!T20_) goto LA21_;
32634 				result = symChoice__sem_6586((*c).c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), (((NI) 0) < (*c).noGenSym));
32635 			}
32636 			goto LA11_;
32637 			LA21_: ;
32638 			{
32639 				NIM_BOOL T24_;
32640 				T24_ = (NIM_BOOL)0;
32641 				T24_ = contains__astalgo_3496((&(*c).toMixin), (*(*s).name).id);
32642 				if (!T24_) goto LA25_;
32643 				result = symChoice__sem_6586((*c).c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 2), (((NI) 0) < (*c).noGenSym));
32644 			}
32645 			goto LA11_;
32646 			LA25_: ;
32647 			{
32648 				NIM_BOOL T28_;
32649 				NIM_BOOL T29_;
32650 				T28_ = (NIM_BOOL)0;
32651 				T29_ = (NIM_BOOL)0;
32652 				T29_ = ((*s).owner == (*c).owner);
32653 				if (!(T29_)) goto LA30_;
32654 				T29_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0);
32655 				LA30_: ;
32656 				T28_ = T29_;
32657 				if (!(T28_)) goto LA31_;
32658 				T28_ = ((*c).noGenSym == ((NI) 0));
32659 				LA31_: ;
32660 				if (!T28_) goto LA32_;
32661 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
32662 				result = newSymNode__ast_3719(s, (*n).info);
32663 			}
32664 			goto LA11_;
32665 			LA32_: ;
32666 			{
32667 				result = semTemplSymbol__sem_6931((*c).c, n, s, (((NI) 0) < (*c).noGenSym));
32668 			}
32669 			LA11_: ;
32670 		}
32671 		LA9_: ;
32672 	}
32673 	break;
32674 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 55):
32675 	{
32676 		result = semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 0)]);
32677 	}
32678 	break;
32679 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
32680 	{
32681 		result = semBindStmt__sem_6647((*c).c, n, (&(*c).toBind));
32682 	}
32683 	break;
32684 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
32685 	{
32686 		{
32687 			if (!(((NI) 0) < (*c).scopeN)) goto LA40_;
32688 			result = semTemplBodySons__sem_7133(c, n);
32689 		}
32690 		goto LA38_;
32691 		LA40_: ;
32692 		{
32693 			result = semMixinStmt__sem_6701((*c).c, n, (&(*c).toMixin));
32694 		}
32695 		LA38_: ;
32696 	}
32697 	break;
32698 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
32699 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
32700 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24):
32701 	{
32702 	}
32703 	break;
32704 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
32705 	{
32706 		{
32707 			NI i;
32708 			NI colontmp_;
32709 			NI i_2;
32710 			i = (NI)0;
32711 			colontmp_ = (NI)0;
32712 			colontmp_ = len__ast_3198(n);
32713 			i_2 = ((NI) 0);
32714 			{
32715 				while (1) {
32716 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
32717 					if (!(i_2 < colontmp_)) goto LA47;
32718 					i = i_2;
32719 					it = (*n)._kind_6.sons->data[i];
32720 					{
32721 						NI T50_;
32722 						T50_ = (NI)0;
32723 						T50_ = len__ast_3198(it);
32724 						if (!(T50_ == ((NI) 2))) goto LA51_;
32725 						openScope__sem_6791(c);
32726 						asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 0)]), semTemplBody__sem_6788(c, (*it)._kind_6.sons->data[((NI) 0)]));
32727 						asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*it)._kind_6.sons->data[((NI) 1)]));
32728 						closeScope__sem_6793(c);
32729 					}
32730 					goto LA48_;
32731 					LA51_: ;
32732 					{
32733 						asgnRef((void**) (&(*n)._kind_6.sons->data[i]), semTemplBodyScope__sem_6795(c, it));
32734 					}
32735 					LA48_: ;
32736 					i_2 += ((NI) 1);
32737 				} LA47: ;
32738 			}
32739 		}
32740 	}
32741 	break;
32742 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
32743 	{
32744 		openScope__sem_6791(c);
32745 		{
32746 			NI i_3;
32747 			NI colontmp__2;
32748 			NI i_4;
32749 			i_3 = (NI)0;
32750 			colontmp__2 = (NI)0;
32751 			colontmp__2 = len__ast_3198(n);
32752 			i_4 = ((NI) 0);
32753 			{
32754 				while (1) {
32755 					if (!(i_4 < colontmp__2)) goto LA57;
32756 					i_3 = i_4;
32757 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_3]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[i_3]));
32758 					i_4 += ((NI) 1);
32759 				} LA57: ;
32760 			}
32761 		}
32762 		closeScope__sem_6793(c);
32763 	}
32764 	break;
32765 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
32766 	{
32767 		openScope__sem_6791(c);
32768 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 0)]));
32769 		{
32770 			NI i_5;
32771 			NI colontmp__3;
32772 			NI i_6;
32773 			i_5 = (NI)0;
32774 			colontmp__3 = (NI)0;
32775 			colontmp__3 = len__ast_3198(n);
32776 			i_6 = ((NI) 1);
32777 			{
32778 				while (1) {
32779 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
32780 					NI T66_;
32781 					NI T67_;
32782 					if (!(i_6 < colontmp__3)) goto LA61;
32783 					i_5 = i_6;
32784 					a = (*n)._kind_6.sons->data[i_5];
32785 					checkMinSonsLen__semdata_1084(a, ((NI) 1), (*(*(*c).c).graph).config);
32786 					{
32787 						NI j;
32788 						NI colontmp__4;
32789 						NI T63_;
32790 						NI i_7;
32791 						j = (NI)0;
32792 						colontmp__4 = (NI)0;
32793 						T63_ = (NI)0;
32794 						T63_ = len__ast_3198(a);
32795 						colontmp__4 = (NI)(T63_ - ((NI) 1));
32796 						i_7 = ((NI) 0);
32797 						{
32798 							while (1) {
32799 								if (!(i_7 < colontmp__4)) goto LA65;
32800 								j = i_7;
32801 								asgnRef((void**) (&(*a)._kind_6.sons->data[j]), semTemplBody__sem_6788(c, (*a)._kind_6.sons->data[j]));
32802 								i_7 += ((NI) 1);
32803 							} LA65: ;
32804 						}
32805 					}
32806 					T66_ = (NI)0;
32807 					T66_ = len__ast_3198(a);
32808 					T67_ = (NI)0;
32809 					T67_ = len__ast_3198(a);
32810 					asgnRef((void**) (&(*a)._kind_6.sons->data[(NI)(T66_ - ((NI) 1))]), semTemplBodyScope__sem_6795(c, (*a)._kind_6.sons->data[(NI)(T67_ - ((NI) 1))]));
32811 					i_6 += ((NI) 1);
32812 				} LA61: ;
32813 			}
32814 		}
32815 		closeScope__sem_6793(c);
32816 	}
32817 	break;
32818 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
32819 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
32820 	{
32821 		NI T69_;
32822 		NI T70_;
32823 		NI T84_;
32824 		NI T85_;
32825 		openScope__sem_6791(c);
32826 		T69_ = (NI)0;
32827 		T69_ = len__ast_3198(n);
32828 		T70_ = (NI)0;
32829 		T70_ = len__ast_3198(n);
32830 		asgnRef((void**) (&(*n)._kind_6.sons->data[(NI)(T69_ - ((NI) 2))]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[(NI)(T70_ - ((NI) 2))]));
32831 		{
32832 			NI i_8;
32833 			NI colontmp__5;
32834 			NI T72_;
32835 			NI i_9;
32836 			i_8 = (NI)0;
32837 			colontmp__5 = (NI)0;
32838 			T72_ = (NI)0;
32839 			T72_ = len__ast_3198(n);
32840 			colontmp__5 = (NI)(T72_ - ((NI) 2));
32841 			i_9 = ((NI) 0);
32842 			{
32843 				while (1) {
32844 					if (!(i_9 < colontmp__5)) goto LA74;
32845 					i_8 = i_9;
32846 					{
32847 						if (!((*(*n)._kind_6.sons->data[i_8]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA77_;
32848 						{
32849 							NI j_2;
32850 							NI colontmp__6;
32851 							NI T80_;
32852 							NI i_10;
32853 							j_2 = (NI)0;
32854 							colontmp__6 = (NI)0;
32855 							T80_ = (NI)0;
32856 							T80_ = len__ast_3198((*n)._kind_6.sons->data[i_8]);
32857 							colontmp__6 = (NI)(T80_ - ((NI) 1));
32858 							i_10 = ((NI) 0);
32859 							{
32860 								while (1) {
32861 									if (!(i_10 < colontmp__6)) goto LA82;
32862 									j_2 = i_10;
32863 									addLocalDecl__sem_6844(c, &(*(*n)._kind_6.sons->data[i_8])._kind_6.sons->data[j_2], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21));
32864 									i_10 += ((NI) 1);
32865 								} LA82: ;
32866 							}
32867 						}
32868 					}
32869 					goto LA75_;
32870 					LA77_: ;
32871 					{
32872 						addLocalDecl__sem_6844(c, &(*n)._kind_6.sons->data[i_8], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21));
32873 					}
32874 					LA75_: ;
32875 					i_9 += ((NI) 1);
32876 				} LA74: ;
32877 			}
32878 		}
32879 		openScope__sem_6791(c);
32880 		T84_ = (NI)0;
32881 		T84_ = len__ast_3198(n);
32882 		T85_ = (NI)0;
32883 		T85_ = len__ast_3198(n);
32884 		asgnRef((void**) (&(*n)._kind_6.sons->data[(NI)(T84_ - ((NI) 1))]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[(NI)(T85_ - ((NI) 1))]));
32885 		closeScope__sem_6793(c);
32886 		closeScope__sem_6793(c);
32887 	}
32888 	break;
32889 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
32890 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
32891 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 129):
32892 	{
32893 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*(*c).c).graph).config);
32894 		openScope__sem_6791(c);
32895 		{
32896 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA89_;
32897 			addLocalDecl__sem_6844(c, &(*n)._kind_6.sons->data[((NI) 0)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 22));
32898 		}
32899 		LA89_: ;
32900 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 1)]));
32901 		closeScope__sem_6793(c);
32902 	}
32903 	break;
32904 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
32905 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
32906 	{
32907 		checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*(*c).c).graph).config);
32908 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semTemplBodyScope__sem_6795(c, (*n)._kind_6.sons->data[((NI) 0)]));
32909 		{
32910 			NI i_11;
32911 			NI colontmp__7;
32912 			NI i_12;
32913 			i_11 = (NI)0;
32914 			colontmp__7 = (NI)0;
32915 			colontmp__7 = len__ast_3198(n);
32916 			i_12 = ((NI) 1);
32917 			{
32918 				while (1) {
32919 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_2;
32920 					NI T105_;
32921 					NI T106_;
32922 					if (!(i_12 < colontmp__7)) goto LA94;
32923 					i_11 = i_12;
32924 					a_2 = (*n)._kind_6.sons->data[i_11];
32925 					checkMinSonsLen__semdata_1084(a_2, ((NI) 1), (*(*(*c).c).graph).config);
32926 					openScope__sem_6791(c);
32927 					{
32928 						NI j_3;
32929 						NI colontmp__8;
32930 						NI T96_;
32931 						NI i_13;
32932 						j_3 = (NI)0;
32933 						colontmp__8 = (NI)0;
32934 						T96_ = (NI)0;
32935 						T96_ = len__ast_3198(a_2);
32936 						colontmp__8 = (NI)(T96_ - ((NI) 1));
32937 						i_13 = ((NI) 0);
32938 						{
32939 							while (1) {
32940 								if (!(i_13 < colontmp__8)) goto LA98;
32941 								j_3 = i_13;
32942 								{
32943 									NIM_BOOL T101_;
32944 									T101_ = (NIM_BOOL)0;
32945 									T101_ = isInfixAs__ast_4935((*a_2)._kind_6.sons->data[j_3]);
32946 									if (!T101_) goto LA102_;
32947 									addLocalDecl__sem_6844(c, &(*(*a_2)._kind_6.sons->data[j_3])._kind_6.sons->data[((NI) 2)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9));
32948 									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)]));
32949 								}
32950 								goto LA99_;
32951 								LA102_: ;
32952 								{
32953 									asgnRef((void**) (&(*a_2)._kind_6.sons->data[j_3]), semTemplBody__sem_6788(c, (*a_2)._kind_6.sons->data[j_3]));
32954 								}
32955 								LA99_: ;
32956 								i_13 += ((NI) 1);
32957 							} LA98: ;
32958 						}
32959 					}
32960 					T105_ = (NI)0;
32961 					T105_ = len__ast_3198(a_2);
32962 					T106_ = (NI)0;
32963 					T106_ = len__ast_3198(a_2);
32964 					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))]));
32965 					closeScope__sem_6793(c);
32966 					i_12 += ((NI) 1);
32967 				} LA94: ;
32968 			}
32969 		}
32970 	}
32971 	break;
32972 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
32973 	{
32974 		semTemplSomeDecl__sem_7085(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8), ((NI) 0));
32975 	}
32976 	break;
32977 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
32978 	{
32979 		semTemplSomeDecl__sem_7085(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9), ((NI) 0));
32980 	}
32981 	break;
32982 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76):
32983 	{
32984 		checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*(*c).c).graph).config);
32985 		semTemplSomeDecl__sem_7085(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3), ((NI) 1));
32986 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 0)]));
32987 	}
32988 	break;
32989 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
32990 	{
32991 		semTemplSomeDecl__sem_7085(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10), ((NI) 0));
32992 	}
32993 	break;
32994 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
32995 	{
32996 		{
32997 			NI i_14;
32998 			NI colontmp__9;
32999 			NI i_15;
33000 			i_14 = (NI)0;
33001 			colontmp__9 = (NI)0;
33002 			colontmp__9 = len__ast_3198(n);
33003 			i_15 = ((NI) 0);
33004 			{
33005 				while (1) {
33006 					if (!(i_15 < colontmp__9)) goto LA114;
33007 					i_14 = i_15;
33008 					{
33009 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_3;
33010 						a_3 = (*n)._kind_6.sons->data[i_14];
33011 						{
33012 							if (!((*a_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA118_;
33013 							goto LA115;
33014 						}
33015 						LA118_: ;
33016 						{
33017 							if (!!(((*a_3).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA122_;
33018 							illFormedAst__semdata_1071(a_3, (*(*(*c).c).graph).config);
33019 						}
33020 						LA122_: ;
33021 						checkSonsLen__semdata_1077(a_3, ((NI) 3), (*(*(*c).c).graph).config);
33022 						addLocalDecl__sem_6844(c, &(*a_3)._kind_6.sons->data[((NI) 0)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
33023 					} LA115: ;
33024 					i_15 += ((NI) 1);
33025 				} LA114: ;
33026 			}
33027 		}
33028 		{
33029 			NI i_16;
33030 			NI colontmp__10;
33031 			NI i_17;
33032 			i_16 = (NI)0;
33033 			colontmp__10 = (NI)0;
33034 			colontmp__10 = len__ast_3198(n);
33035 			i_17 = ((NI) 0);
33036 			{
33037 				while (1) {
33038 					if (!(i_17 < colontmp__10)) goto LA126;
33039 					i_16 = i_17;
33040 					{
33041 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_4;
33042 						a_4 = (*n)._kind_6.sons->data[i_16];
33043 						{
33044 							if (!((*a_4).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA130_;
33045 							goto LA127;
33046 						}
33047 						LA130_: ;
33048 						{
33049 							if (!!(((*a_4).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA134_;
33050 							illFormedAst__semdata_1071(a_4, (*(*(*c).c).graph).config);
33051 						}
33052 						LA134_: ;
33053 						checkSonsLen__semdata_1077(a_4, ((NI) 3), (*(*(*c).c).graph).config);
33054 						{
33055 							if (!!(((*(*a_4)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA138_;
33056 							openScope__sem_6791(c);
33057 							asgnRef((void**) (&(*a_4)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*a_4)._kind_6.sons->data[((NI) 1)]));
33058 							asgnRef((void**) (&(*a_4)._kind_6.sons->data[((NI) 2)]), semTemplBody__sem_6788(c, (*a_4)._kind_6.sons->data[((NI) 2)]));
33059 							closeScope__sem_6793(c);
33060 						}
33061 						goto LA136_;
33062 						LA138_: ;
33063 						{
33064 							asgnRef((void**) (&(*a_4)._kind_6.sons->data[((NI) 2)]), semTemplBody__sem_6788(c, (*a_4)._kind_6.sons->data[((NI) 2)]));
33065 						}
33066 						LA136_: ;
33067 					} LA127: ;
33068 					i_17 += ((NI) 1);
33069 				} LA126: ;
33070 			}
33071 		}
33072 	}
33073 	break;
33074 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
33075 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
33076 	{
33077 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
33078 	}
33079 	break;
33080 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
33081 	{
33082 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13));
33083 	}
33084 	break;
33085 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
33086 	{
33087 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14));
33088 	}
33089 	break;
33090 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
33091 	{
33092 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15));
33093 	}
33094 	break;
33095 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
33096 	{
33097 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18));
33098 	}
33099 	break;
33100 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
33101 	{
33102 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17));
33103 	}
33104 	break;
33105 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
33106 	{
33107 		result = semRoutineInTemplBody__sem_7009(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16));
33108 	}
33109 	break;
33110 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
33111 	{
33112 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 0)]));
33113 	}
33114 	break;
33115 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
33116 	{
33117 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 1)]));
33118 	}
33119 	break;
33120 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
33121 	{
33122 		{
33123 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
33124 			x = NIM_NIL;
33125 			{
33126 				NI i_18;
33127 				NI colontmp__11;
33128 				NI i_19;
33129 				i_18 = (NI)0;
33130 				colontmp__11 = (NI)0;
33131 				colontmp__11 = safeLen__ast_3191(n);
33132 				i_19 = ((NI) 0);
33133 				{
33134 					while (1) {
33135 						if (!(i_19 < colontmp__11)) goto LA154;
33136 						i_18 = i_19;
33137 						x = (*n)._kind_6.sons->data[i_18];
33138 						{
33139 							if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA157_;
33140 							asgnRef((void**) (&(*x)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*x)._kind_6.sons->data[((NI) 1)]));
33141 						}
33142 						LA157_: ;
33143 						i_19 += ((NI) 1);
33144 					} LA154: ;
33145 				}
33146 			}
33147 		}
33148 	}
33149 	break;
33150 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
33151 	{
33152 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T160_;
33153 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T161_;
33154 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
33155 		T160_ = NIM_NIL;
33156 		T160_ = getIdent__idents_143((*(*c).c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_27));
33157 		T161_ = NIM_NIL;
33158 		T161_ = newIdentNode__ast_3712(T160_, (*n).info);
33159 		add__ast_4797(result, T161_);
33160 		{
33161 			NI i_20;
33162 			NI colontmp__12;
33163 			NI i_21;
33164 			i_20 = (NI)0;
33165 			colontmp__12 = (NI)0;
33166 			colontmp__12 = len__ast_3198(n);
33167 			i_21 = ((NI) 0);
33168 			{
33169 				while (1) {
33170 					if (!(i_21 < colontmp__12)) goto LA164;
33171 					i_20 = i_21;
33172 					add__ast_4797(result, (*n)._kind_6.sons->data[i_20]);
33173 					i_21 += ((NI) 1);
33174 				} LA164: ;
33175 			}
33176 		}
33177 		result = semTemplBodySons__sem_7133(c, result);
33178 	}
33179 	break;
33180 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
33181 	{
33182 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T166_;
33183 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T167_;
33184 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
33185 		T166_ = NIM_NIL;
33186 		T166_ = getIdent__idents_143((*(*c).c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_127));
33187 		T167_ = NIM_NIL;
33188 		T167_ = newIdentNode__ast_3712(T166_, (*n).info);
33189 		add__ast_4797(result, T167_);
33190 		{
33191 			NI i_22;
33192 			NI colontmp__13;
33193 			NI i_23;
33194 			i_22 = (NI)0;
33195 			colontmp__13 = (NI)0;
33196 			colontmp__13 = len__ast_3198(n);
33197 			i_23 = ((NI) 0);
33198 			{
33199 				while (1) {
33200 					if (!(i_23 < colontmp__13)) goto LA170;
33201 					i_22 = i_23;
33202 					add__ast_4797(result, (*n)._kind_6.sons->data[i_22]);
33203 					i_23 += ((NI) 1);
33204 				} LA170: ;
33205 			}
33206 		}
33207 		result = semTemplBodySons__sem_7133(c, result);
33208 	}
33209 	break;
33210 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
33211 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
33212 	{
33213 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a_5;
33214 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
33215 		tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw k;
33216 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*(*c).c).graph).config);
33217 		a_5 = (*n)._kind_6.sons->data[((NI) 0)];
33218 		b = (*n)._kind_6.sons->data[((NI) 1)];
33219 		k = (*a_5).kind;
33220 		switch (k) {
33221 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
33222 		{
33223 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T173_;
33224 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T174_;
33225 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a0;
33226 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
33227 			T173_ = NIM_NIL;
33228 			T173_ = getIdent__idents_143((*(*c).c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_132));
33229 			T174_ = NIM_NIL;
33230 			T174_ = newIdentNode__ast_3712(T173_, (*n).info);
33231 			add__ast_4797(result, T174_);
33232 			{
33233 				NI i_24;
33234 				NI colontmp__14;
33235 				NI i_25;
33236 				i_24 = (NI)0;
33237 				colontmp__14 = (NI)0;
33238 				colontmp__14 = len__ast_3198(a_5);
33239 				i_25 = ((NI) 0);
33240 				{
33241 					while (1) {
33242 						if (!(i_25 < colontmp__14)) goto LA177;
33243 						i_24 = i_25;
33244 						add__ast_4797(result, (*a_5)._kind_6.sons->data[i_24]);
33245 						i_25 += ((NI) 1);
33246 					} LA177: ;
33247 				}
33248 			}
33249 			add__ast_4797(result, b);
33250 			a0 = semTemplBody__sem_6788(c, (*a_5)._kind_6.sons->data[((NI) 0)]);
33251 			result = semTemplBodySons__sem_7133(c, result);
33252 		}
33253 		break;
33254 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
33255 		{
33256 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T179_;
33257 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T180_;
33258 			result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
33259 			T179_ = NIM_NIL;
33260 			T179_ = getIdent__idents_143((*(*c).c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_131));
33261 			T180_ = NIM_NIL;
33262 			T180_ = newIdentNode__ast_3712(T179_, (*n).info);
33263 			add__ast_4797(result, T180_);
33264 			{
33265 				NI i_26;
33266 				NI colontmp__15;
33267 				NI i_27;
33268 				i_26 = (NI)0;
33269 				colontmp__15 = (NI)0;
33270 				colontmp__15 = len__ast_3198(a_5);
33271 				i_27 = ((NI) 0);
33272 				{
33273 					while (1) {
33274 						if (!(i_27 < colontmp__15)) goto LA183;
33275 						i_26 = i_27;
33276 						add__ast_4797(result, (*a_5)._kind_6.sons->data[i_26]);
33277 						i_27 += ((NI) 1);
33278 					} LA183: ;
33279 				}
33280 			}
33281 			add__ast_4797(result, b);
33282 			result = semTemplBodySons__sem_7133(c, result);
33283 		}
33284 		break;
33285 		default:
33286 		{
33287 			result = semTemplBodySons__sem_7133(c, n);
33288 		}
33289 		break;
33290 		}
33291 	}
33292 	break;
33293 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30):
33294 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
33295 	{
33296 		{
33297 			NIM_BOOL T188_;
33298 			T188_ = (NIM_BOOL)0;
33299 			T188_ = isRunnableExamples__ast_4698((*n)._kind_6.sons->data[((NI) 0)]);
33300 			if (!!(T188_)) goto LA189_;
33301 			result = semTemplBodySons__sem_7133(c, n);
33302 		}
33303 		LA189_: ;
33304 	}
33305 	break;
33306 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
33307 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
33308 	{
33309 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
33310 		s_2 = qualifiedLookUp__lookups_1233((*c).c, n, 0);
33311 		{
33312 			if (!!((s_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA194_;
33313 			{
33314 				NIM_BOOL T198_;
33315 				NIM_BOOL T199_;
33316 				NIM_BOOL T200_;
33317 				NI T204_;
33318 				T198_ = (NIM_BOOL)0;
33319 				T199_ = (NIM_BOOL)0;
33320 				T200_ = (NIM_BOOL)0;
33321 				T200_ = ((*s_2).owner == (*c).owner);
33322 				if (!(T200_)) goto LA201_;
33323 				T200_ = ((*s_2).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
33324 				LA201_: ;
33325 				T199_ = T200_;
33326 				if (!(T199_)) goto LA202_;
33327 				T199_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53));
33328 				LA202_: ;
33329 				T198_ = T199_;
33330 				if (!(T198_)) goto LA203_;
33331 				T204_ = (NI)0;
33332 				T204_ = len__ast_3198(n);
33333 				T198_ = (T204_ == ((NI) 1));
33334 				LA203_: ;
33335 				if (!T198_) goto LA205_;
33336 				(*s_2).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
33337 				result = newSymNode__ast_3719(s_2, (*n).info);
33338 				goto BeforeRet_;
33339 			}
33340 			goto LA196_;
33341 			LA205_: ;
33342 			{
33343 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym1829_;
33344 				NIM_BOOL T208_;
33345 				xX60gensym1829_ = s_2;
33346 				T208_ = (NIM_BOOL)0;
33347 				T208_ = contains__astalgo_3496((&(*c).toBind), (NI)((NI)((NU32)(((NI) ((*xX60gensym1829_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym1829_).Sup.itemId.item))));
33348 				if (!T208_) goto LA209_;
33349 				result = symChoice__sem_6586((*c).c, n, s_2, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), (((NI) 0) < (*c).noGenSym));
33350 				goto BeforeRet_;
33351 			}
33352 			goto LA196_;
33353 			LA209_: ;
33354 			{
33355 				NIM_BOOL T212_;
33356 				T212_ = (NIM_BOOL)0;
33357 				T212_ = contains__astalgo_3496((&(*c).toMixin), (*(*s_2).name).id);
33358 				if (!T212_) goto LA213_;
33359 				result = symChoice__sem_6586((*c).c, n, s_2, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 2), (((NI) 0) < (*c).noGenSym));
33360 				goto BeforeRet_;
33361 			}
33362 			goto LA196_;
33363 			LA213_: ;
33364 			{
33365 				result = symChoice__sem_6586((*c).c, n, s_2, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 1), (((NI) 0) < (*c).noGenSym));
33366 				goto BeforeRet_;
33367 			}
33368 			LA196_: ;
33369 		}
33370 		LA194_: ;
33371 		{
33372 			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA218_;
33373 			result = n;
33374 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 0)]));
33375 			(*c).noGenSym += ((NI) 1);
33376 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 1)]));
33377 			(*c).noGenSym -= ((NI) 1);
33378 		}
33379 		goto LA216_;
33380 		LA218_: ;
33381 		{
33382 			result = semTemplBodySons__sem_7133(c, n);
33383 		}
33384 		LA216_: ;
33385 	}
33386 	break;
33387 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
33388 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
33389 	{
33390 		{
33391 			NI T224_;
33392 			T224_ = (NI)0;
33393 			T224_ = len__ast_3198(n);
33394 			if (!(T224_ == ((NI) 2))) goto LA225_;
33395 			(*c).noGenSym += ((NI) 1);
33396 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 0)]));
33397 			(*c).noGenSym -= ((NI) 1);
33398 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semTemplBody__sem_6788(c, (*n)._kind_6.sons->data[((NI) 1)]));
33399 		}
33400 		goto LA222_;
33401 		LA225_: ;
33402 		{
33403 			result = semTemplBodySons__sem_7133(c, n);
33404 		}
33405 		LA222_: ;
33406 	}
33407 	break;
33408 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 54):
33409 	{
33410 		{
33411 			NI i_28;
33412 			NI colontmp__16;
33413 			NI i_29;
33414 			i_28 = (NI)0;
33415 			colontmp__16 = (NI)0;
33416 			colontmp__16 = len__ast_3198(n);
33417 			i_29 = ((NI) 0);
33418 			{
33419 				while (1) {
33420 					if (!(i_29 < colontmp__16)) goto LA231;
33421 					i_28 = i_29;
33422 					asgnRef((void**) (&(*result)._kind_6.sons->data[i_28]), semTemplBodySons__sem_7133(c, (*n)._kind_6.sons->data[i_28]));
33423 					i_29 += ((NI) 1);
33424 				} LA231: ;
33425 			}
33426 		}
33427 	}
33428 	break;
33429 	default:
33430 	{
33431 		result = semTemplBodySons__sem_7133(c, n);
33432 	}
33433 	break;
33434 	}
33435 	}BeforeRet_: ;
33436 	return result;
33437 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTemplateDef__sem_7666)33438 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTemplateDef__sem_7666)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
33439 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
33440 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
33441 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T27_;
33442 	NIM_BOOL allUntyped;
33443 	tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw ctx;
33444 	tyTuple__7rlNEhvBksZh9a9asniQIl9aQ T73_;
33445 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* proto;
33446 	NIM_BOOL comesFromShadowscope;
33447 	result = NIM_NIL;
33448 	result = n;
33449 	s = NIM_NIL;
33450 	{
33451 		NIM_BOOL T3_;
33452 		T3_ = (NIM_BOOL)0;
33453 		T3_ = isTopLevel__semdata_1091(c);
33454 		if (!T3_) goto LA4_;
33455 		s = semIdentVis__sem_471(c, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18), (*n)._kind_6.sons->data[((NI) 0)], 2);
33456 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3)) & 63);
33457 	}
33458 	goto LA1_;
33459 	LA4_: ;
33460 	{
33461 		s = semIdentVis__sem_471(c, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18), (*n)._kind_6.sons->data[((NI) 0)], 0);
33462 	}
33463 	LA1_: ;
33464 	{
33465 		if (!!(((*s).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA9_;
33466 		{
33467 			NIM_BOOL T13_;
33468 			NIM_BOOL T14_;
33469 			NIM_BOOL T17_;
33470 			T13_ = (NIM_BOOL)0;
33471 			T14_ = (NIM_BOOL)0;
33472 			T14_ = (((*(*s).owner).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0);
33473 			if (!(T14_)) goto LA15_;
33474 			T14_ = contains__stdZenumutils_43(names__sem_7688, 8, (*(*s).name).s);
33475 			LA15_: ;
33476 			T13_ = T14_;
33477 			if (T13_) goto LA16_;
33478 			T17_ = (NIM_BOOL)0;
33479 			T17_ = eqStrings((*(*(*s).owner).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_693));
33480 			if (!(T17_)) goto LA18_;
33481 			T17_ = eqStrings((*(*s).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_694));
33482 			LA18_: ;
33483 			T13_ = T17_;
33484 			LA16_: ;
33485 			if (!T13_) goto LA19_;
33486 			(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 36)) & 63);
33487 		}
33488 		LA19_: ;
33489 	}
33490 	LA9_: ;
33491 	{
33492 		NIM_BOOL T23_;
33493 		T23_ = (NIM_BOOL)0;
33494 		T23_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
33495 		if (!(T23_)) goto LA24_;
33496 		T23_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
33497 		LA24_: ;
33498 		if (!T23_) goto LA25_;
33499 		nep1CheckDefImpl__linter_110((*(*c).graph).config, (*s).info, s, (*s).kind);
33500 	}
33501 	LA25_: ;
33502 	pushOwner__semdata_322(c, s);
33503 	T27_ = NIM_NIL;
33504 	T27_ = openScope__lookups_69(c);
33505 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(s));
33506 	pragmaCallable__pragmas_2552(c, s, n, TM__rF9caJawfOjYTjsgLVUSGFA_695, NIM_FALSE);
33507 	implicitPragmas__pragmas_2394(c, s, (*n).info, TM__rF9caJawfOjYTjsgLVUSGFA_695);
33508 	setGenericParamsMisc__sem_6510(c, n);
33509 	allUntyped = NIM_TRUE;
33510 	{
33511 		if (!!(((*(*n)._kind_6.sons->data[((NI) 3)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA30_;
33512 		semParamList__sem_91(c, (*n)._kind_6.sons->data[((NI) 3)], (*n)._kind_6.sons->data[((NI) 2)], s);
33513 		{
33514 			NI i;
33515 			NI colontmp_;
33516 			NI i_2;
33517 			i = (NI)0;
33518 			colontmp_ = (NI)0;
33519 			colontmp_ = len__ast_3198((*(*s).typ).n);
33520 			i_2 = ((NI) 1);
33521 			{
33522 				while (1) {
33523 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
33524 					if (!(i_2 < colontmp_)) goto LA34;
33525 					i = i_2;
33526 					param = (*(*(*(*s).typ).n)._kind_6.sons->data[i])._kind_4.sym;
33527 					(*param).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 40)) & 63);
33528 					(*param).flags &= ~(((NU64)1) << ((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37)) & 63));
33529 					{
33530 						if (!!(((*(*param).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6)))) goto LA37_;
33531 						allUntyped = NIM_FALSE;
33532 					}
33533 					LA37_: ;
33534 					i_2 += ((NI) 1);
33535 				} LA34: ;
33536 			}
33537 		}
33538 	}
33539 	goto LA28_;
33540 	LA30_: ;
33541 	{
33542 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T40_;
33543 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T41_;
33544 		asgnRef((void**) (&(*s).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25), c));
33545 		asgnRef((void**) (&(*(*s).typ).n), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76), (*n).info));
33546 		T40_ = NIM_NIL;
33547 		T40_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7), c);
33548 		rawAddSon__ast_4288((*s).typ, T40_, NIM_TRUE);
33549 		T41_ = NIM_NIL;
33550 		T41_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*n).info, (*(*s).typ).sons->data[((NI) 0)]);
33551 		add__ast_4797((*(*s).typ).n, T41_);
33552 	}
33553 	LA28_: ;
33554 	{
33555 		NI T44_;
33556 		T44_ = (NI)0;
33557 		T44_ = safeLen__ast_3191((*n)._kind_6.sons->data[((NI) 2)]);
33558 		if (!(T44_ == ((NI) 0))) goto LA45_;
33559 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 2)]), (*(*n)._kind_6.sons->data[((NI) 5)])._kind_6.sons->data[((NI) 1)]);
33560 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 5)]), (*(*c).graph).emptyNode);
33561 	}
33562 	LA45_: ;
33563 	{
33564 		if (!allUntyped) goto LA49_;
33565 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 9)) & 63);
33566 	}
33567 	LA49_: ;
33568 	{
33569 		if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA53_;
33570 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semPattern__sem_7129(c, (*n)._kind_6.sons->data[((NI) 1)], s));
33571 	}
33572 	LA53_: ;
33573 	nimZeroMem((void*)(&ctx), sizeof(tyObject_TemplCtx__nh9bf8hW4pDvkirLeE4rmdw));
33574 	initIntSet__pureZcollectionsZintsets_238((&ctx.toBind));
33575 	initIntSet__pureZcollectionsZintsets_238((&ctx.toMixin));
33576 	initIntSet__pureZcollectionsZintsets_238((&ctx.toInject));
33577 	ctx.c = c;
33578 	ctx.owner = s;
33579 	{
33580 		if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0)) goto LA57_;
33581 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), semTemplBodyDirty__sem_7597((&ctx), (*n)._kind_6.sons->data[((NI) 6)]));
33582 	}
33583 	goto LA55_;
33584 	LA57_: ;
33585 	{
33586 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 6)]), semTemplBody__sem_6788((&ctx), (*n)._kind_6.sons->data[((NI) 6)]));
33587 	}
33588 	LA55_: ;
33589 	closeScope__lookups_101(c);
33590 	popOwner__semdata_329(c);
33591 	asgnRef((void**) (&(*s).ast), n);
33592 	{
33593 		if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0)) goto LA62_;
33594 		{
33595 			NimStringDesc* T68_;
33596 			if (!!(((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA66_;
33597 			T68_ = NIM_NIL;
33598 			T68_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_218), (*(*s).name).s);
33599 			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);
33600 		}
33601 		LA66_: ;
33602 	}
33603 	goto LA60_;
33604 	LA62_: ;
33605 	{
33606 		NimStringDesc* T72_;
33607 		if (!((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA70_;
33608 		T72_ = NIM_NIL;
33609 		T72_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_402), (*(*s).name).s);
33610 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T72_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_697, NIM_FALSE);
33611 	}
33612 	goto LA60_;
33613 	LA70_: ;
33614 	LA60_: ;
33615 	nimZeroMem((void*)(&T73_), sizeof(tyTuple__7rlNEhvBksZh9a9asniQIl9aQ));
33616 	searchForProc__procfind_73(c, (*c).currentScope, s, (&T73_));
33617 	proto = NIM_NIL;
33618 	proto = T73_.Field0;
33619 	comesFromShadowscope = (NIM_BOOL)0;
33620 	comesFromShadowscope = T73_.Field1;
33621 	{
33622 		if (!(proto == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA76_;
33623 		addInterfaceOverloadableSymAt__lookups_899(c, (*c).currentScope, s);
33624 	}
33625 	goto LA74_;
33626 	LA76_: ;
33627 	{
33628 		if (!!(comesFromShadowscope)) goto LA79_;
33629 		symTabReplace__astalgo_3302((&(*(*c).currentScope).symbols), proto, s);
33630 	}
33631 	goto LA74_;
33632 	LA79_: ;
33633 	LA74_: ;
33634 	{
33635 		NI T85_;
33636 		if (!!(((*(*n)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA83_;
33637 		asgnRef((void**) (&(*c).patterns), (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) incrSeqV3((TGenericSeq*)((*c).patterns), (&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_)));
33638 		T85_ = (*c).patterns->Sup.len++;
33639 		asgnRef((void**) (&(*c).patterns->data[T85_]), s);
33640 	}
33641 	LA83_: ;
33642 	return result;
33643 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semQuoteAst__sem_111)33644 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semQuoteAst__sem_111)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
33645 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
33646 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* quotedBlock;
33647 	NI T9_;
33648 	NimStringDesc* op;
33649 	tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* quotes;
33650 	tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* ids;
33651 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T20_;
33652 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dummyTemplate;
33653 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T21_;
33654 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
33655 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tmpl;
33656 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* identNodeSym;
33657 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* identNode;
33658 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T41_;
33659 	tyArray__AB6yfoUgfWM2NtGe9bzkCmw T42_;
33660 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T43_;
33661 {	result = NIM_NIL;
33662 	{
33663 		NIM_BOOL T3_;
33664 		NI T4_;
33665 		NI T6_;
33666 		T3_ = (NIM_BOOL)0;
33667 		T4_ = (NI)0;
33668 		T4_ = len__ast_3198(n);
33669 		T3_ = !((T4_ == ((NI) 2)));
33670 		if (!(T3_)) goto LA5_;
33671 		T6_ = (NI)0;
33672 		T6_ = len__ast_3198(n);
33673 		T3_ = !((T6_ == ((NI) 3)));
33674 		LA5_: ;
33675 		if (!T3_) goto LA7_;
33676 		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);
33677 		result = n;
33678 		goto BeforeRet_;
33679 	}
33680 	LA7_: ;
33681 	T9_ = (NI)0;
33682 	T9_ = len__ast_3198(n);
33683 	quotedBlock = (*n)._kind_6.sons->data[(NI)(T9_ - ((NI) 1))];
33684 	{
33685 		NI T12_;
33686 		T12_ = (NI)0;
33687 		T12_ = len__ast_3198(n);
33688 		if (!(T12_ == ((NI) 3))) goto LA13_;
33689 		op = expectString__sem_18166(c, (*n)._kind_6.sons->data[((NI) 1)]);
33690 	}
33691 	goto LA10_;
33692 	LA13_: ;
33693 	{
33694 		op = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_682));
33695 	}
33696 	LA10_: ;
33697 	quotes = newSeq__sem_18374(((NI) 2));
33698 	ids = newSeq__sem_18374(((NI) 1));
33699 	{
33700 		if (!!(((*quotedBlock).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115)))) goto LA18_;
33701 		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);
33702 	}
33703 	LA18_: ;
33704 	T20_ = NIM_NIL;
33705 	T20_ = newAnonSym__sem_18175(c, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3), (*n).info);
33706 	asgnRef((void**) (&ids->data[((NI) 0)]), newSymNode__ast_3716(T20_));
33707 	processQuotations__sem_18253(c, &quotedBlock, op, (&quotes), (&ids));
33708 	T21_ = NIM_NIL;
33709 	T21_ = newAnonSym__sem_18175(c, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18), (*n).info);
33710 	T22_ = NIM_NIL;
33711 	T22_ = newSymNode__ast_3716(T21_);
33712 	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);
33713 	{
33714 		NI T25_;
33715 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T28_;
33716 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T29_;
33717 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T30_;
33718 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
33719 		NI T32_;
33720 		NI T33_;
33721 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T34_;
33722 		T25_ = (ids ? ids->Sup.len : 0);
33723 		if (!(((NI) 0) < T25_)) goto LA26_;
33724 		asgnRef((void**) (&(*dummyTemplate)._kind_6.sons->data[((NI) 3)]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76), (*n).info));
33725 		T28_ = NIM_NIL;
33726 		T28_ = getSysSym__magicsys_16((*c).graph, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_685));
33727 		T29_ = NIM_NIL;
33728 		T29_ = newSymNode__ast_3716(T28_);
33729 		add__ast_4797((*dummyTemplate)._kind_6.sons->data[((NI) 3)], T29_);
33730 		T30_ = NIM_NIL;
33731 		T30_ = getSysSym__magicsys_16((*c).graph, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_685));
33732 		T31_ = NIM_NIL;
33733 		T31_ = newSymNode__ast_3716(T30_);
33734 		ids = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(ids), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
33735 		T32_ = ids->Sup.len++;
33736 		asgnRef((void**) (&ids->data[T32_]), T31_);
33737 		ids = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(ids), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
33738 		T33_ = ids->Sup.len++;
33739 		asgnRef((void**) (&ids->data[T33_]), (*(*c).graph).emptyNode);
33740 		T34_ = NIM_NIL;
33741 		T34_ = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), (*n).info, ids->data, (ids ? ids->Sup.len : 0));
33742 		add__ast_4797((*dummyTemplate)._kind_6.sons->data[((NI) 3)], T34_);
33743 	}
33744 	LA26_: ;
33745 	tmpl = semTemplateDef__sem_7666(c, dummyTemplate);
33746 	asgnRef((void**) (&quotes->data[((NI) 0)]), (*tmpl)._kind_6.sons->data[((NI) 0)]);
33747 	identNodeSym = getCompilerProc__magicsys_145((*c).graph, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_698));
33748 	{
33749 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T39_;
33750 		if (!(identNodeSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA37_;
33751 		T39_ = NIM_NIL;
33752 		T39_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_698));
33753 		identNode = newIdentNode__ast_3712(T39_, (*n).info);
33754 	}
33755 	goto LA35_;
33756 	LA37_: ;
33757 	{
33758 		identNode = newSymNode__ast_3716(identNodeSym);
33759 	}
33760 	LA35_: ;
33761 	nimZeroMem((void*)T41_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
33762 	T41_[0] = identNode;
33763 	T41_[1] = newStrNode__ast_3813(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_102));
33764 	asgnRef((void**) (&quotes->data[((NI) 1)]), newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, T41_, 2));
33765 	nimZeroMem((void*)T42_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
33766 	T43_ = NIM_NIL;
33767 	T43_ = createMagic__modulegraphs_9008((*c).graph, (*c).Sup.idgen, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_699), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 27));
33768 	T42_[0] = newSymNode__ast_3716(T43_);
33769 	T42_[1] = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, quotes->data, (quotes ? quotes->Sup.len : 0));
33770 	result = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info, T42_, 2);
33771 	result = semExpandToAst__sem_18180(c, result);
33772 	}BeforeRet_: ;
33773 	return result;
33774 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,createFlowVar__sem_18510)33775 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, createFlowVar__sem_18510)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
33776 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
33777 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
33778 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T2_;
33779 	result = NIM_NIL;
33780 	T1_ = nextTypeId__ast_3151((*c).Sup.idgen);
33781 	result = newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9), T1_, (*c).module);
33782 	T2_ = NIM_NIL;
33783 	T2_ = getCompilerProc__magicsys_145((*c).graph, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_704));
33784 	addSonSkipIntLit__magicsys_136(result, (*T2_).typ, (*c).Sup.idgen);
33785 	addSonSkipIntLit__magicsys_136(result, t, (*c).Sup.idgen);
33786 	result = instGenericContainer__sem_1125(c, info, result, NIM_FALSE);
33787 	return result;
33788 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,instantiateCreateFlowVarCall__sem_18515)33789 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, instantiateCreateFlowVarCall__sem_18515)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
33790 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
33791 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
33792 	tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q bindings;
33793 	result = NIM_NIL;
33794 	sym = getCompilerProc__magicsys_145((*c).graph, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_705));
33795 	{
33796 		if (!(sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA3_;
33797 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_706), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_707, NIM_FALSE);
33798 	}
33799 	LA3_: ;
33800 	nimZeroMem((void*)(&bindings), sizeof(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q));
33801 	initIdTable__ast_4096((&bindings));
33802 	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);
33803 	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);
33804 	{
33805 		if (!(((*result).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 18))&63U)))!=0)) goto LA7_;
33806 		(*result).flags = ((*result).flags & ~ 262336);
33807 		asgnRef((void**) (&(*result).loc.r), ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL));
33808 	}
33809 	LA7_: ;
33810 	return result;
33811 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semSizeof__sem_18545)33812 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSizeof__sem_18545)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
33813 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
33814 	tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* configX60gensym4895_;
33815 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nodeX60gensym4895_;
33816 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typX60gensym4895_;
33817 	NI64 sizeX60gensym4895_;
33818 	result = NIM_NIL;
33819 	{
33820 		NI T3_;
33821 		NimStringDesc* T6_;
33822 		T3_ = (NI)0;
33823 		T3_ = len__ast_3198(n);
33824 		if (!!((T3_ == ((NI) 2)))) goto LA4_;
33825 		T6_ = NIM_NIL;
33826 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_351), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_709));
33827 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_710, NIM_FALSE);
33828 	}
33829 	goto LA1_;
33830 	LA4_: ;
33831 	{
33832 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 512));
33833 	}
33834 	LA1_: ;
33835 	asgnRef((void**) (&(*n).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31)));
33836 	configX60gensym4895_ = (*(*c).graph).config;
33837 	nodeX60gensym4895_ = n;
33838 	typX60gensym4895_ = (*(*nodeX60gensym4895_)._kind_6.sons->data[((NI) 1)]).typ;
33839 	computeSizeAlign__types_2915(configX60gensym4895_, typX60gensym4895_);
33840 	sizeX60gensym4895_ = (*typX60gensym4895_).size;
33841 	{
33842 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* resX60gensym4895_;
33843 		if (!(IL64(0) <= sizeX60gensym4895_)) goto LA10_;
33844 		resX60gensym4895_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), sizeX60gensym4895_);
33845 		(*resX60gensym4895_).info = (*nodeX60gensym4895_).info;
33846 		asgnRef((void**) (&(*resX60gensym4895_).typ), (*nodeX60gensym4895_).typ);
33847 		result = resX60gensym4895_;
33848 	}
33849 	goto LA8_;
33850 	LA10_: ;
33851 	{
33852 		result = n;
33853 	}
33854 	LA8_: ;
33855 	return result;
33856 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semMagic__sem_18565)33857 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) {
33858 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
33859 {	result = NIM_NIL;
33860 	result = n;
33861 	switch ((*s).magic) {
33862 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 16):
33863 	{
33864 		markUsed__sigmatch_85(c, (*n).info, s);
33865 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
33866 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(s, (*(*n)._kind_6.sons->data[((NI) 0)]).info));
33867 		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))));
33868 		asgnRef((void**) (&(*result).typ), makePtrType__semdata_742(c, (*(*result)._kind_6.sons->data[((NI) 1)]).typ));
33869 	}
33870 	break;
33871 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 18):
33872 	{
33873 		markUsed__sigmatch_85(c, (*n).info, s);
33874 		result = semTypeOf__sem_132(c, n);
33875 	}
33876 	break;
33877 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 1):
33878 	{
33879 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
33880 		markUsed__sigmatch_85(c, (*n).info, s);
33881 		T4_ = NIM_NIL;
33882 		T4_ = setMs__sem_18539(n, s);
33883 		result = semDefined__sem_18104(c, T4_);
33884 	}
33885 	break;
33886 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 2):
33887 	{
33888 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
33889 		markUsed__sigmatch_85(c, (*n).info, s);
33890 		T6_ = NIM_NIL;
33891 		T6_ = setMs__sem_18539(n, s);
33892 		result = semDeclared__sem_18136(c, T6_, NIM_FALSE);
33893 	}
33894 	break;
33895 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 3):
33896 	{
33897 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
33898 		markUsed__sigmatch_85(c, (*n).info, s);
33899 		T8_ = NIM_NIL;
33900 		T8_ = setMs__sem_18539(n, s);
33901 		result = semDeclared__sem_18136(c, T8_, NIM_TRUE);
33902 	}
33903 	break;
33904 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 4):
33905 	{
33906 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
33907 		markUsed__sigmatch_85(c, (*n).info, s);
33908 		T10_ = NIM_NIL;
33909 		T10_ = setMs__sem_18539(n, s);
33910 		result = semCompiles__sem_18476(c, T10_, flags);
33911 	}
33912 	break;
33913 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 14):
33914 	{
33915 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
33916 		markUsed__sigmatch_85(c, (*n).info, s);
33917 		T12_ = NIM_NIL;
33918 		T12_ = setMs__sem_18539(n, s);
33919 		result = semIs__sem_14686(c, T12_, flags);
33920 	}
33921 	break;
33922 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 21):
33923 	{
33924 		markUsed__sigmatch_85(c, (*n).info, s);
33925 		result = semShallowCopy__sem_15753(c, n, flags);
33926 	}
33927 	break;
33928 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 27):
33929 	{
33930 		markUsed__sigmatch_85(c, (*n).info, s);
33931 		result = semExpandToAst__sem_18243(c, n, s, flags);
33932 	}
33933 	break;
33934 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 28):
33935 	{
33936 		markUsed__sigmatch_85(c, (*n).info, s);
33937 		result = semQuoteAst__sem_111(c, n);
33938 	}
33939 	break;
33940 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 140):
33941 	{
33942 		NimStringDesc* T17_;
33943 		markUsed__sigmatch_85(c, (*n).info, s);
33944 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
33945 		T17_ = NIM_NIL;
33946 		T17_ = renderTree__renderer_46((*n)._kind_6.sons->data[((NI) 1)], 4);
33947 		result = newStrNodeT__semfold_76(T17_, n, (*c).graph);
33948 		asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
33949 	}
33950 	break;
33951 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 141):
33952 	{
33953 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
33954 		markUsed__sigmatch_85(c, (*n).info, s);
33955 		{
33956 			if (!!((((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 3))&31U)))!=0))) goto LA21_;
33957 			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);
33958 		}
33959 		LA21_: ;
33960 		result = setMs__sem_18539(n, s);
33961 		x = lastSon__ast_4832(n);
33962 		{
33963 			if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52))) goto LA25_;
33964 			x = (*x)._kind_6.sons->data[((NI) 6)];
33965 		}
33966 		LA25_: ;
33967 		(*c).inParallelStmt += ((NI) 1);
33968 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semStmt__sem_84(c, x, 0));
33969 		(*c).inParallelStmt -= ((NI) 1);
33970 	}
33971 	break;
33972 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 198):
33973 	{
33974 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
33975 		NI T40_;
33976 		markUsed__sigmatch_85(c, (*n).info, s);
33977 		result = setMs__sem_18539(n, s);
33978 		{
33979 			NI i;
33980 			NI colontmp_;
33981 			NI i_2;
33982 			i = (NI)0;
33983 			colontmp_ = (NI)0;
33984 			colontmp_ = len__ast_3198(n);
33985 			i_2 = ((NI) 1);
33986 			{
33987 				while (1) {
33988 					if (!(i_2 < colontmp_)) goto LA30;
33989 					i = i_2;
33990 					asgnRef((void**) (&(*result)._kind_6.sons->data[i]), semExpr__sem_52(c, (*n)._kind_6.sons->data[i], 0));
33991 					i_2 += ((NI) 1);
33992 				} LA30: ;
33993 			}
33994 		}
33995 		{
33996 			NIM_BOOL T33_;
33997 			NI T34_;
33998 			NimStringDesc* T38_;
33999 			NimStringDesc* T39_;
34000 			T33_ = (NIM_BOOL)0;
34001 			T34_ = (NI)0;
34002 			T34_ = len__ast_3198(n);
34003 			T33_ = (((NI) 1) < T34_);
34004 			if (!(T33_)) goto LA35_;
34005 			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)));
34006 			LA35_: ;
34007 			if (!T33_) goto LA36_;
34008 			T38_ = NIM_NIL;
34009 			T39_ = NIM_NIL;
34010 			T39_ = dollar___renderer_2106((*n)._kind_6.sons->data[((NI) 1)]);
34011 			T38_ = rawNewString((T39_ ? T39_->Sup.len : 0) + 38);
34012 appendString(T38_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_702));
34013 appendString(T38_, T39_);
34014 			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);
34015 			result = errorNode__semdata_1009(c, n);
34016 			goto BeforeRet_;
34017 		}
34018 		LA36_: ;
34019 		T40_ = (NI)0;
34020 		T40_ = len__ast_3198(result);
34021 		typ = (*(*result)._kind_6.sons->data[(NI)(T40_ - ((NI) 1))]).typ;
34022 		{
34023 			NIM_BOOL T43_;
34024 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T52_;
34025 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T53_;
34026 			T43_ = (NIM_BOOL)0;
34027 			T43_ = isEmptyType__ast_4779(typ);
34028 			if (!!(T43_)) goto LA44_;
34029 			{
34030 				tyEnum_TSpawnResult__YOcUu9brt5AKRflRWdxATPw T48_;
34031 				T48_ = (tyEnum_TSpawnResult__YOcUu9brt5AKRflRWdxATPw)0;
34032 				T48_ = spawnResult__spawn_34(typ, (((NI) 0) < (*c).inParallelStmt));
34033 				if (!(T48_ == ((tyEnum_TSpawnResult__YOcUu9brt5AKRflRWdxATPw) 1))) goto LA49_;
34034 				asgnRef((void**) (&(*result).typ), createFlowVar__sem_18510(c, typ, (*n).info));
34035 			}
34036 			goto LA46_;
34037 			LA49_: ;
34038 			{
34039 				asgnRef((void**) (&(*result).typ), typ);
34040 			}
34041 			LA46_: ;
34042 			T52_ = NIM_NIL;
34043 			T52_ = instantiateCreateFlowVarCall__sem_18515(c, typ, (*n).info);
34044 			T53_ = NIM_NIL;
34045 			T53_ = newSymNode__ast_3716(T52_);
34046 			add__ast_4797(result, T53_);
34047 		}
34048 		goto LA41_;
34049 		LA44_: ;
34050 		{
34051 			add__ast_4797(result, (*(*c).graph).emptyNode);
34052 		}
34053 		LA41_: ;
34054 	}
34055 	break;
34056 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 203):
34057 	{
34058 		markUsed__sigmatch_85(c, (*n).info, s);
34059 		result = setMs__sem_18539(n, s);
34060 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 1)], 0));
34061 		asgnRef((void**) (&(*result).typ), (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
34062 	}
34063 	break;
34064 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 19):
34065 	{
34066 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig;
34067 		markUsed__sigmatch_85(c, (*n).info, s);
34068 		nOrig = copyTree__ast_4431(n);
34069 		result = semOverloadedCallAnalyseEffects__sem_16420(c, n, nOrig, flags);
34070 		{
34071 			if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA59_;
34072 			result = errorNode__semdata_1009(c, n);
34073 		}
34074 		goto LA57_;
34075 		LA59_: ;
34076 		{
34077 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* callee;
34078 			callee = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
34079 			{
34080 				if (!((*callee).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0))) goto LA64_;
34081 				semFinishOperands__sigmatch_4162(c, result);
34082 			}
34083 			LA64_: ;
34084 			activate__sem_108(c, result);
34085 			fixAbstractType__sem_14966(c, result);
34086 			analyseIfAddressTakenInCall__sem_15142(c, result);
34087 			{
34088 				if (!!(((*callee).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)))) goto LA68_;
34089 				result = magicsAfterOverloadResolution__sem_16026(c, result, flags);
34090 			}
34091 			LA68_: ;
34092 		}
34093 		LA57_: ;
34094 	}
34095 	break;
34096 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 267):
34097 	{
34098 		markUsed__sigmatch_85(c, (*n).info, s);
34099 		{
34100 			NIM_BOOL T73_;
34101 			NIM_BOOL T74_;
34102 			NI T76_;
34103 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T78_;
34104 			T73_ = (NIM_BOOL)0;
34105 			T74_ = (NIM_BOOL)0;
34106 			T74_ = ((3989504 &((NU32)1<<((NU)((*(*(*c).graph).config).cmd)&31U)))!=0);
34107 			if (!(T74_)) goto LA75_;
34108 			T76_ = (NI)0;
34109 			T76_ = len__ast_3198(n);
34110 			T74_ = (((NI) 2) <= T76_);
34111 			LA75_: ;
34112 			T73_ = T74_;
34113 			if (!(T73_)) goto LA77_;
34114 			T78_ = NIM_NIL;
34115 			T78_ = lastSon__ast_4832(n);
34116 			T73_ = ((*T78_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
34117 			LA77_: ;
34118 			if (!T73_) goto LA79_;
34119 			result = setMs__sem_18539(n, s);
34120 		}
34121 		goto LA71_;
34122 		LA79_: ;
34123 		{
34124 			result = (*(*c).graph).emptyNode;
34125 		}
34126 		LA71_: ;
34127 	}
34128 	break;
34129 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 10):
34130 	{
34131 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T83_;
34132 		markUsed__sigmatch_85(c, (*n).info, s);
34133 		T83_ = NIM_NIL;
34134 		T83_ = setMs__sem_18539(n, s);
34135 		result = semSizeof__sem_18545(c, T83_);
34136 	}
34137 	break;
34138 	default:
34139 	{
34140 		result = semDirectOp__sem_511(c, n, flags);
34141 	}
34142 	break;
34143 	}
34144 	}BeforeRet_: ;
34145 	return result;
34146 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,newDeref__lowerings_11)34147 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newDeref__lowerings_11)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34148 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34149 	result = NIM_NIL;
34150 	result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65), (*n).info, (*(*n).typ).sons->data[((NI) 0)]);
34151 	add__ast_4797(result, n);
34152 	return result;
34153 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,bracketedMacro__sem_16491)34154 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, bracketedMacro__sem_16491)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34155 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
34156 	result = NIM_NIL;
34157 	{
34158 		NIM_BOOL T3_;
34159 		NI T4_;
34160 		T3_ = (NIM_BOOL)0;
34161 		T4_ = (NI)0;
34162 		T4_ = len__ast_3198(n);
34163 		T3_ = (((NI) 1) <= T4_);
34164 		if (!(T3_)) goto LA5_;
34165 		T3_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
34166 		LA5_: ;
34167 		if (!T3_) goto LA6_;
34168 		result = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
34169 		{
34170 			if (!!(((393216 &((NU32)1<<((NU)((*result).kind)&31U)))!=0))) goto LA10_;
34171 			result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
34172 		}
34173 		LA10_: ;
34174 	}
34175 	LA6_: ;
34176 	return result;
34177 }
N_NIMCALL(void,setGenericParams__sem_16507)34178 N_LIB_PRIVATE N_NIMCALL(void, setGenericParams__sem_16507)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34179 	{
34180 		NI i;
34181 		NI colontmp_;
34182 		NI i_2;
34183 		i = (NI)0;
34184 		colontmp_ = (NI)0;
34185 		colontmp_ = len__ast_3198(n);
34186 		i_2 = ((NI) 1);
34187 		{
34188 			while (1) {
34189 				if (!(i_2 < colontmp_)) goto LA3;
34190 				i = i_2;
34191 				asgnRef((void**) (&(*(*n)._kind_6.sons->data[i]).typ), semTypeNode__sem_80(c, (*n)._kind_6.sons->data[i], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
34192 				i_2 += ((NI) 1);
34193 			} LA3: ;
34194 		}
34195 	}
34196 }
N_NIMCALL(void,resolveIndirectCall__sem_16475)34197 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) {
34198 	unsureAsgnRef((void**)&(*Result).c, NIM_NIL);
34199 	(*Result).exactMatches = 0;
34200 	(*Result).genericMatches = 0;
34201 	(*Result).subtypeMatches = 0;
34202 	(*Result).intConvMatches = 0;
34203 	(*Result).convMatches = 0;
34204 	(*Result).state = 0;
34205 	unsureAsgnRef((void**)&(*Result).callee, NIM_NIL);
34206 	unsureAsgnRef((void**)&(*Result).calleeSym, NIM_NIL);
34207 	(*Result).calleeScope = 0;
34208 	unsureAsgnRef((void**)&(*Result).call, NIM_NIL);
34209 	(*Result).bindings.counter = 0;
34210 	unsureAsgnRef((void**)&(*Result).bindings.data, NIM_NIL);
34211 	(*Result).magic = 0;
34212 	(*Result).baseTypeMatch = 0;
34213 	(*Result).fauxMatch = 0;
34214 	(*Result).genericConverter = 0;
34215 	(*Result).coerceDistincts = 0;
34216 	(*Result).typedescMatched = 0;
34217 	(*Result).isNoCall = 0;
34218 	unsureAsgnRef((void**)&(*Result).inferredTypes, NIM_NIL);
34219 	unsureAsgnRef((void**)&(*Result).diagnostics, NIM_NIL);
34220 	(*Result).inheritancePenalty = 0;
34221 	(*Result).firstMismatch.kind = 0;
34222 	(*Result).firstMismatch.arg = 0;
34223 	unsureAsgnRef((void**)&(*Result).firstMismatch.formal, NIM_NIL);
34224 	(*Result).diagnosticsEnabled = 0;
34225 	initCandidate__sigmatch_116(c, Result, t);
34226 	matches__sigmatch_4181(c, n, nOrig, Result);
34227 	{
34228 		if (!!(((*Result).state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA3_;
34229 		{
34230 			NIM_BOOL T7_;
34231 			T7_ = (NIM_BOOL)0;
34232 			T7_ = (((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 0))&31U)))!=0);
34233 			if (!(T7_)) goto LA8_;
34234 			T7_ = canDeref__sem_2474(n);
34235 			LA8_: ;
34236 			if (!T7_) goto LA9_;
34237 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), tryDeref__sem_2490((*n)._kind_6.sons->data[((NI) 1)]));
34238 			initCandidate__sigmatch_116(c, Result, t);
34239 			matches__sigmatch_4181(c, n, nOrig, Result);
34240 		}
34241 		LA9_: ;
34242 	}
34243 	LA3_: ;
34244 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,overloadedCallOpr__sem_14774)34245 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, overloadedCallOpr__sem_14774)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34246 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34247 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* par;
34248 	NIM_BOOL amb;
34249 	result = NIM_NIL;
34250 	par = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_215));
34251 	amb = NIM_FALSE;
34252 	{
34253 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T3_;
34254 		T3_ = NIM_NIL;
34255 		T3_ = searchInScopes__lookups_423(c, par, (&amb));
34256 		if (!(T3_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA4_;
34257 		result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
34258 	}
34259 	goto LA1_;
34260 	LA4_: ;
34261 	{
34262 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
34263 		result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
34264 		T7_ = NIM_NIL;
34265 		T7_ = newIdentNode__ast_3712(par, (*n).info);
34266 		add__ast_4797(result, T7_);
34267 		{
34268 			NI i;
34269 			NI colontmp_;
34270 			NI i_2;
34271 			i = (NI)0;
34272 			colontmp_ = (NI)0;
34273 			colontmp_ = len__ast_3198(n);
34274 			i_2 = ((NI) 0);
34275 			{
34276 				while (1) {
34277 					if (!(i_2 < colontmp_)) goto LA10;
34278 					i = i_2;
34279 					add__ast_4797(result, (*n)._kind_6.sons->data[i]);
34280 					i_2 += ((NI) 1);
34281 				} LA10: ;
34282 			}
34283 		}
34284 		result = semExpr__sem_52(c, result, 0);
34285 	}
34286 	LA1_: ;
34287 	return result;
34288 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semIndirectOp__sem_16548)34289 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIndirectOp__sem_16548)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
34290 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34291 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* prc;
34292 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nOrig;
34293 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t_2;
34294 {	result = NIM_NIL;
34295 	result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
34296 	checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
34297 	prc = (*n)._kind_6.sons->data[((NI) 0)];
34298 	{
34299 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n0;
34300 		if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA3_;
34301 		checkSonsLen__semdata_1077((*n)._kind_6.sons->data[((NI) 0)], ((NI) 2), (*(*c).graph).config);
34302 		n0 = semFieldAccess__sem_13894(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
34303 		{
34304 			if (!((*n0).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 25))) goto LA7_;
34305 			result = n0;
34306 			transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 27));
34307 			(*result).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 11)) & 31);
34308 			{
34309 				NI i;
34310 				NI colontmp_;
34311 				NI i_2;
34312 				i = (NI)0;
34313 				colontmp_ = (NI)0;
34314 				colontmp_ = len__ast_3198(n);
34315 				i_2 = ((NI) 1);
34316 				{
34317 					while (1) {
34318 						if (!(i_2 < colontmp_)) goto LA11;
34319 						i = i_2;
34320 						add__ast_4797(result, (*n)._kind_6.sons->data[i]);
34321 						i_2 += ((NI) 1);
34322 					} LA11: ;
34323 				}
34324 			}
34325 			result = semExpr__sem_52(c, result, flags);
34326 			goto BeforeRet_;
34327 		}
34328 		goto LA5_;
34329 		LA7_: ;
34330 		{
34331 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), n0);
34332 		}
34333 		LA5_: ;
34334 	}
34335 	goto LA1_;
34336 	LA3_: ;
34337 	{
34338 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
34339 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], 32768));
34340 		t = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
34341 		{
34342 			NIM_BOOL T16_;
34343 			T16_ = (NIM_BOOL)0;
34344 			T16_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
34345 			if (!(T16_)) goto LA17_;
34346 			T16_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
34347 			LA17_: ;
34348 			if (!T16_) goto LA18_;
34349 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newDeref__lowerings_11((*n)._kind_6.sons->data[((NI) 0)]));
34350 		}
34351 		goto LA14_;
34352 		LA18_: ;
34353 		{
34354 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
34355 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42))) goto LA21_;
34356 			s = bracketedMacro__sem_16491((*n)._kind_6.sons->data[((NI) 0)]);
34357 			{
34358 				if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA25_;
34359 				setGenericParams__sem_16507(c, (*n)._kind_6.sons->data[((NI) 0)]);
34360 				result = semDirectOp__sem_511(c, n, flags);
34361 				goto BeforeRet_;
34362 			}
34363 			LA25_: ;
34364 		}
34365 		goto LA14_;
34366 		LA21_: ;
34367 		LA14_: ;
34368 	}
34369 	LA1_: ;
34370 	nOrig = copyTree__ast_4431(n);
34371 	semOpAux__sem_88(c, n);
34372 	t_2 = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
34373 	{
34374 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA29_;
34375 		t_2 = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_711);
34376 	}
34377 	LA29_: ;
34378 	{
34379 		NIM_BOOL T33_;
34380 		tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA m;
34381 		T33_ = (NIM_BOOL)0;
34382 		T33_ = !((t_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
34383 		if (!(T33_)) goto LA34_;
34384 		T33_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
34385 		LA34_: ;
34386 		if (!T33_) goto LA35_;
34387 		nimZeroMem((void*)(&m), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
34388 		resolveIndirectCall__sem_16475(c, n, nOrig, t_2, (&m));
34389 		{
34390 			if (!!((m.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1)))) goto LA39_;
34391 			{
34392 				if (!((*(*(*c).graph).config).m.errorOutputs == 0)) goto LA43_;
34393 				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);
34394 				result = (*(*c).graph).emptyNode;
34395 				goto BeforeRet_;
34396 			}
34397 			goto LA41_;
34398 			LA43_: ;
34399 			{
34400 				NIM_BOOL hasErrorType;
34401 				NimStringDesc* msg;
34402 				hasErrorType = NIM_FALSE;
34403 				msg = copyString(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_300));
34404 				{
34405 					NI i_3;
34406 					NI colontmp__2;
34407 					NI i_4;
34408 					i_3 = (NI)0;
34409 					colontmp__2 = (NI)0;
34410 					colontmp__2 = len__ast_3198(n);
34411 					i_4 = ((NI) 1);
34412 					{
34413 						while (1) {
34414 							tyObject_TType__facALICuu8zUj0hjvbTLFg* nt;
34415 							NimStringDesc* T53_;
34416 							if (!(i_4 < colontmp__2)) goto LA48;
34417 							i_3 = i_4;
34418 							{
34419 								if (!(((NI) 1) < i_3)) goto LA51_;
34420 								msg = resizeString(msg, 2);
34421 appendString(msg, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_72));
34422 							}
34423 							LA51_: ;
34424 							nt = (*(*n)._kind_6.sons->data[i_3]).typ;
34425 							T53_ = NIM_NIL;
34426 							T53_ = typeToString__types_50(nt, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
34427 							msg = resizeString(msg, (T53_ ? T53_->Sup.len : 0) + 0);
34428 appendString(msg, T53_);
34429 							{
34430 								if (!((*nt).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50))) goto LA56_;
34431 								hasErrorType = NIM_TRUE;
34432 								goto LA46;
34433 							}
34434 							LA56_: ;
34435 							i_4 += ((NI) 1);
34436 						} LA48: ;
34437 					}
34438 				} LA46: ;
34439 				{
34440 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
34441 					NimStringDesc* T62_;
34442 					NimStringDesc* T63_;
34443 					if (!!(hasErrorType)) goto LA60_;
34444 					typ = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
34445 					T62_ = NIM_NIL;
34446 					T63_ = NIM_NIL;
34447 					T63_ = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
34448 					T62_ = rawNewString((T63_ ? T63_->Sup.len : 0) + 23);
34449 appendString(T62_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_713));
34450 appendString(T62_, T63_);
34451 					msg = resizeString(msg, (T62_ ? T62_->Sup.len : 0) + 0);
34452 appendString(msg, T62_);
34453 					{
34454 						NIM_BOOL T66_;
34455 						NIM_BOOL T67_;
34456 						NimStringDesc* T72_;
34457 						NimStringDesc* T73_;
34458 						T66_ = (NIM_BOOL)0;
34459 						T67_ = (NIM_BOOL)0;
34460 						T67_ = !(((*typ).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
34461 						if (!(T67_)) goto LA68_;
34462 						T67_ = !((((*(*typ).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 34))&63U)))!=0));
34463 						LA68_: ;
34464 						T66_ = T67_;
34465 						if (!(T66_)) goto LA69_;
34466 						T66_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
34467 						LA69_: ;
34468 						if (!T66_) goto LA70_;
34469 						T72_ = NIM_NIL;
34470 						T73_ = NIM_NIL;
34471 						T73_ = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
34472 						T72_ = rawNewString((T73_ ? T73_->Sup.len : 0) + 3);
34473 appendString(T72_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_714));
34474 appendString(T72_, T73_);
34475 						msg = resizeString(msg, (T72_ ? T72_->Sup.len : 0) + 0);
34476 appendString(msg, T72_);
34477 					}
34478 					LA70_: ;
34479 					addDeclaredLocMaybe__astmsgs_51((&msg), (*(*c).graph).config, typ);
34480 					liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), msg, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_715, NIM_FALSE);
34481 				}
34482 				LA60_: ;
34483 				result = errorNode__semdata_1009(c, n);
34484 				goto BeforeRet_;
34485 			}
34486 			LA41_: ;
34487 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
34488 		}
34489 		goto LA37_;
34490 		LA39_: ;
34491 		{
34492 			result = m.call;
34493 			instGenericConvertersSons__sem_2316(c, result, (&m));
34494 		}
34495 		LA37_: ;
34496 	}
34497 	goto LA31_;
34498 	LA35_: ;
34499 	{
34500 		NIM_BOOL T76_;
34501 		T76_ = (NIM_BOOL)0;
34502 		T76_ = !((t_2 == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
34503 		if (!(T76_)) goto LA77_;
34504 		T76_ = ((*t_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
34505 		LA77_: ;
34506 		if (!T76_) goto LA78_;
34507 		{
34508 			NI T82_;
34509 			T82_ = (NI)0;
34510 			T82_ = len__ast_3198(n);
34511 			if (!(T82_ == ((NI) 1))) goto LA83_;
34512 			result = semObjConstr__sem_16471(c, n, flags);
34513 			goto BeforeRet_;
34514 		}
34515 		LA83_: ;
34516 		result = semConv__sem_14395(c, n);
34517 		goto BeforeRet_;
34518 	}
34519 	goto LA31_;
34520 	LA78_: ;
34521 	{
34522 		result = overloadedCallOpr__sem_14774(c, n);
34523 		{
34524 			if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA88_;
34525 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), prc);
34526 			asgnRef((void**) (&(*nOrig)._kind_6.sons->data[((NI) 0)]), prc);
34527 			(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 12)) & 31);
34528 			result = semOverloadedCallAnalyseEffects__sem_16420(c, n, nOrig, flags);
34529 			{
34530 				if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA92_;
34531 				result = errorNode__semdata_1009(c, n);
34532 				goto BeforeRet_;
34533 			}
34534 			LA92_: ;
34535 		}
34536 		goto LA86_;
34537 		LA88_: ;
34538 		{
34539 			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_;
34540 			goto BeforeRet_;
34541 		}
34542 		goto LA86_;
34543 		LA95_: ;
34544 		LA86_: ;
34545 	}
34546 	LA31_: ;
34547 	{
34548 		if (!((*(*result)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA99_;
34549 		result = afterCallActions__sem_16520(c, result, nOrig, flags);
34550 	}
34551 	goto LA97_;
34552 	LA99_: ;
34553 	{
34554 		fixAbstractType__sem_14966(c, result);
34555 		analyseIfAddressTakenInCall__sem_15142(c, result);
34556 	}
34557 	LA97_: ;
34558 	}BeforeRet_: ;
34559 	return result;
34560 }
N_NIMCALL(NIM_BOOL,shouldBeBracketExpr__sem_20029)34561 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldBeBracketExpr__sem_20029)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34562 	NIM_BOOL result;
34563 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
34564 {	result = (NIM_BOOL)0;
34565 	a = (*n)._kind_6.sons->data[((NI) 0)];
34566 	{
34567 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
34568 		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_;
34569 		b = (*a)._kind_6.sons->data[((NI) 0)];
34570 		{
34571 			if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA7_;
34572 			{
34573 				NI i;
34574 				NI colontmp_;
34575 				NI i_2;
34576 				i = (NI)0;
34577 				colontmp_ = (NI)0;
34578 				colontmp_ = len__ast_3198(b);
34579 				i_2 = ((NI) 0);
34580 				{
34581 					while (1) {
34582 						if (!(i_2 < colontmp_)) goto LA11;
34583 						i = i_2;
34584 						{
34585 							NIM_BOOL T14_;
34586 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* be;
34587 							T14_ = (NIM_BOOL)0;
34588 							T14_ = ((*(*b)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
34589 							if (!(T14_)) goto LA15_;
34590 							T14_ = ((*(*(*b)._kind_6.sons->data[i])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5));
34591 							LA15_: ;
34592 							if (!T14_) goto LA16_;
34593 							be = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n).info);
34594 							{
34595 								NI i_3;
34596 								NI colontmp__2;
34597 								NI i_4;
34598 								i_3 = (NI)0;
34599 								colontmp__2 = (NI)0;
34600 								colontmp__2 = len__ast_3198(a);
34601 								i_4 = ((NI) 1);
34602 								{
34603 									while (1) {
34604 										if (!(i_4 < colontmp__2)) goto LA20;
34605 										i_3 = i_4;
34606 										add__ast_4797(be, (*a)._kind_6.sons->data[i_3]);
34607 										i_4 += ((NI) 1);
34608 									} LA20: ;
34609 								}
34610 							}
34611 							asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), be);
34612 							result = NIM_TRUE;
34613 							goto BeforeRet_;
34614 						}
34615 						LA16_: ;
34616 						i_2 += ((NI) 1);
34617 					} LA11: ;
34618 				}
34619 			}
34620 		}
34621 		LA7_: ;
34622 	}
34623 	LA3_: ;
34624 	}BeforeRet_: ;
34625 	return result;
34626 }
N_NIMCALL(NIM_BOOL,isGeneric__sem_20088)34627 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isGeneric__sem_20088)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34628 	NIM_BOOL result;
34629 	result = (NIM_BOOL)0;
34630 	{
34631 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
34632 		NIM_BOOL T5_;
34633 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2) || (*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53))) goto LA3_;
34634 		s = qualifiedLookUp__lookups_1233(c, n, 0);
34635 		T5_ = (NIM_BOOL)0;
34636 		T5_ = !((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
34637 		if (!(T5_)) goto LA6_;
34638 		T5_ = isGenericRoutineStrict__ast_4639(s);
34639 		LA6_: ;
34640 		result = T5_;
34641 	}
34642 	LA3_: ;
34643 	return result;
34644 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,asBracketExpr__sem_20084)34645 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, asBracketExpr__sem_20084)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34646 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34647 {	result = NIM_NIL;
34648 	{
34649 		NIM_BOOL T3_;
34650 		NI T4_;
34651 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
34652 		T3_ = (NIM_BOOL)0;
34653 		T4_ = (NI)0;
34654 		T4_ = len__ast_3198(n);
34655 		T3_ = (((NI) 1) < T4_);
34656 		if (!(T3_)) goto LA5_;
34657 		T3_ = isGeneric__sem_20088(c, (*n)._kind_6.sons->data[((NI) 1)]);
34658 		LA5_: ;
34659 		if (!T3_) goto LA6_;
34660 		b = (*n)._kind_6.sons->data[((NI) 0)];
34661 		{
34662 			if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA10_;
34663 			{
34664 				NI i;
34665 				NI colontmp_;
34666 				NI i_2;
34667 				i = (NI)0;
34668 				colontmp_ = (NI)0;
34669 				colontmp_ = len__ast_3198(b);
34670 				i_2 = ((NI) 0);
34671 				{
34672 					while (1) {
34673 						if (!(i_2 < colontmp_)) goto LA14;
34674 						i = i_2;
34675 						{
34676 							NIM_BOOL T17_;
34677 							T17_ = (NIM_BOOL)0;
34678 							T17_ = ((*(*b)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
34679 							if (!(T17_)) goto LA18_;
34680 							T17_ = ((*(*(*b)._kind_6.sons->data[i])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 5));
34681 							LA18_: ;
34682 							if (!T17_) goto LA19_;
34683 							result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n).info);
34684 							{
34685 								NI i_3;
34686 								NI colontmp__2;
34687 								NI i_4;
34688 								i_3 = (NI)0;
34689 								colontmp__2 = (NI)0;
34690 								colontmp__2 = len__ast_3198(n);
34691 								i_4 = ((NI) 1);
34692 								{
34693 									while (1) {
34694 										if (!(i_4 < colontmp__2)) goto LA23;
34695 										i_3 = i_4;
34696 										add__ast_4797(result, (*n)._kind_6.sons->data[i_3]);
34697 										i_4 += ((NI) 1);
34698 									} LA23: ;
34699 								}
34700 							}
34701 							goto BeforeRet_;
34702 						}
34703 						LA19_: ;
34704 						i_2 += ((NI) 1);
34705 					} LA14: ;
34706 				}
34707 			}
34708 		}
34709 		LA10_: ;
34710 	}
34711 	LA6_: ;
34712 	result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
34713 	goto BeforeRet_;
34714 	}BeforeRet_: ;
34715 	return result;
34716 }
N_NIMCALL(void,hoistParamsUsedInDefault__sem_20149)34717 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) {
34718 	{
34719 		NIM_BOOL T3_;
34720 		NIM_BOOL T4_;
34721 		NI paramPos;
34722 		T3_ = (NIM_BOOL)0;
34723 		T4_ = (NIM_BOOL)0;
34724 		T4_ = ((*(*defExpr)).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
34725 		if (!(T4_)) goto LA5_;
34726 		T4_ = ((*(*(*defExpr))._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
34727 		LA5_: ;
34728 		T3_ = T4_;
34729 		if (!(T3_)) goto LA6_;
34730 		T3_ = ((*(*(*defExpr))._kind_4.sym).owner == (*(*(*call))._kind_6.sons->data[((NI) 0)])._kind_4.sym);
34731 		LA6_: ;
34732 		if (!T3_) goto LA7_;
34733 		paramPos = (NI)((*(*(*defExpr))._kind_4.sym).position + ((NI) 1));
34734 		{
34735 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* hoistedVarSym;
34736 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T13_;
34737 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T14_;
34738 			tyArray__T6RKPw8xfAeNaoei9aZGzXg T15_;
34739 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
34740 			if (!!(((*(*(*call))._kind_6.sons->data[paramPos]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA11_;
34741 			T13_ = NIM_NIL;
34742 			T13_ = getIdent__idents_143((*(*c).graph).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_716));
34743 			T14_ = nextSymId__ast_3132((*c).Sup.idgen);
34744 			hoistedVarSym = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9), T13_, T14_, (*(*c).p).owner, (*(*letSection)).info, (*(*(*c).p).owner).options);
34745 			asgnRef((void**) (&(*hoistedVarSym).typ), (*(*(*call))._kind_6.sons->data[paramPos]).typ);
34746 			nimZeroMem((void*)T15_, sizeof(tyArray__T6RKPw8xfAeNaoei9aZGzXg));
34747 			T15_[0] = newSymNode__ast_3716(hoistedVarSym);
34748 			T15_[1] = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*(*letSection)).info);
34749 			T15_[2] = (*(*call))._kind_6.sons->data[paramPos];
34750 			T16_ = NIM_NIL;
34751 			T16_ = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), (*(*letSection)).info, T15_, 3);
34752 			add__ast_4797((*letSection), T16_);
34753 			asgnRef((void**) (&(*(*call))._kind_6.sons->data[paramPos]), newSymNode__ast_3716(hoistedVarSym));
34754 		}
34755 		LA11_: ;
34756 		unsureAsgnRef((void**) (&(*defExpr)), (*(*call))._kind_6.sons->data[paramPos]);
34757 	}
34758 	goto LA1_;
34759 	LA7_: ;
34760 	{
34761 		{
34762 			NI i;
34763 			NI colontmp_;
34764 			NI i_2;
34765 			i = (NI)0;
34766 			colontmp_ = (NI)0;
34767 			colontmp_ = safeLen__ast_3191((*defExpr));
34768 			i_2 = ((NI) 0);
34769 			{
34770 				while (1) {
34771 					if (!(i_2 < colontmp_)) goto LA20;
34772 					i = i_2;
34773 					hoistParamsUsedInDefault__sem_20149(c, call, letSection, &(*(*defExpr))._kind_6.sons->data[i]);
34774 					i_2 += ((NI) 1);
34775 				} LA20: ;
34776 			}
34777 		}
34778 	}
34779 	LA1_: ;
34780 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semArrayAccess__sem_17529)34781 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semArrayAccess__sem_17529)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
34782 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34783 	result = NIM_NIL;
34784 	result = semSubscript__sem_15311(c, n, flags);
34785 	{
34786 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T5_;
34787 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
34788 		if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
34789 		T5_ = NIM_NIL;
34790 		T5_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_27));
34791 		T6_ = NIM_NIL;
34792 		T6_ = buildOverloadedSubscripts__sem_17343(n, T5_);
34793 		result = semExpr__sem_52(c, T6_, flags);
34794 	}
34795 	LA3_: ;
34796 	return result;
34797 }
N_NIMCALL(tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg,checkPar__sem_18916)34798 N_LIB_PRIVATE N_NIMCALL(tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg, checkPar__sem_18916)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
34799 	tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg result;
34800 {	result = (tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg)0;
34801 	{
34802 		NI T3_;
34803 		T3_ = (NI)0;
34804 		T3_ = len__ast_3198(n);
34805 		if (!(T3_ == ((NI) 0))) goto LA4_;
34806 		result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 3);
34807 	}
34808 	goto LA1_;
34809 	LA4_: ;
34810 	{
34811 		NI T7_;
34812 		T7_ = (NI)0;
34813 		T7_ = len__ast_3198(n);
34814 		if (!(T7_ == ((NI) 1))) goto LA8_;
34815 		{
34816 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA12_;
34817 			result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 2);
34818 		}
34819 		goto LA10_;
34820 		LA12_: ;
34821 		{
34822 			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160))) goto LA15_;
34823 			result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 3);
34824 		}
34825 		goto LA10_;
34826 		LA15_: ;
34827 		{
34828 			result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 1);
34829 		}
34830 		LA10_: ;
34831 	}
34832 	goto LA1_;
34833 	LA8_: ;
34834 	{
34835 		{
34836 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA21_;
34837 			result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 2);
34838 		}
34839 		goto LA19_;
34840 		LA21_: ;
34841 		{
34842 			result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 3);
34843 		}
34844 		LA19_: ;
34845 		{
34846 			NI i;
34847 			NI colontmp_;
34848 			NI i_2;
34849 			i = (NI)0;
34850 			colontmp_ = (NI)0;
34851 			colontmp_ = len__ast_3198(n);
34852 			i_2 = ((NI) 0);
34853 			{
34854 				while (1) {
34855 					if (!(i_2 < colontmp_)) goto LA26;
34856 					i = i_2;
34857 					{
34858 						if (!(result == ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 2))) goto LA29_;
34859 						{
34860 							NIM_BOOL T33_;
34861 							T33_ = (NIM_BOOL)0;
34862 							T33_ = !(((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)));
34863 							if (T33_) goto LA34_;
34864 							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)));
34865 							LA34_: ;
34866 							if (!T33_) goto LA35_;
34867 							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);
34868 							result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 0);
34869 							goto BeforeRet_;
34870 						}
34871 						LA35_: ;
34872 					}
34873 					goto LA27_;
34874 					LA29_: ;
34875 					{
34876 						{
34877 							if (!((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA40_;
34878 							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);
34879 							result = ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 0);
34880 							goto BeforeRet_;
34881 						}
34882 						LA40_: ;
34883 					}
34884 					LA27_: ;
34885 					i_2 += ((NI) 1);
34886 				} LA26: ;
34887 			}
34888 		}
34889 	}
34890 	LA1_: ;
34891 	}BeforeRet_: ;
34892 	return result;
34893 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTuplePositionsConstr__sem_19039)34894 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTuplePositionsConstr__sem_19039)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
34895 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34896 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
34897 	result = NIM_NIL;
34898 	result = n;
34899 	transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 160));
34900 	typ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18), c);
34901 	{
34902 		NI i;
34903 		NI colontmp_;
34904 		NI i_2;
34905 		i = (NI)0;
34906 		colontmp_ = (NI)0;
34907 		colontmp_ = len__ast_3198(n);
34908 		i_2 = ((NI) 0);
34909 		{
34910 			while (1) {
34911 				if (!(i_2 < colontmp_)) goto LA3;
34912 				i = i_2;
34913 				asgnRef((void**) (&(*n)._kind_6.sons->data[i]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[i], 0));
34914 				addSonSkipIntLit__magicsys_136(typ, (*(*n)._kind_6.sons->data[i]).typ, (*c).Sup.idgen);
34915 				i_2 += ((NI) 1);
34916 			} LA3: ;
34917 		}
34918 	}
34919 	asgnRef((void**) (&(*result).typ), typ);
34920 	return result;
34921 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTupleConstr__sem_19999)34922 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTupleConstr__sem_19999)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
34923 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34924 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tupexp;
34925 	NIM_BOOL isTupleType;
34926 {	result = NIM_NIL;
34927 	tupexp = semTuplePositionsConstr__sem_19039(c, n, flags);
34928 	isTupleType = (NIM_BOOL)0;
34929 	{
34930 		NI T3_;
34931 		T3_ = (NI)0;
34932 		T3_ = len__ast_3198(tupexp);
34933 		if (!(((NI) 0) < T3_)) goto LA4_;
34934 		isTupleType = ((*(*(*tupexp)._kind_6.sons->data[((NI) 0)]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
34935 		{
34936 			NI i;
34937 			NI colontmp_;
34938 			NI i_2;
34939 			i = (NI)0;
34940 			colontmp_ = (NI)0;
34941 			colontmp_ = len__ast_3198(tupexp);
34942 			i_2 = ((NI) 1);
34943 			{
34944 				while (1) {
34945 					if (!(i_2 < colontmp_)) goto LA8;
34946 					i = i_2;
34947 					{
34948 						if (!!((isTupleType == ((*(*(*tupexp)._kind_6.sons->data[i]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))))) goto LA11_;
34949 						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);
34950 						result = errorNode__semdata_1009(c, n);
34951 						goto BeforeRet_;
34952 					}
34953 					LA11_: ;
34954 					i_2 += ((NI) 1);
34955 				} LA8: ;
34956 			}
34957 		}
34958 	}
34959 	LA4_: ;
34960 	{
34961 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
34962 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T17_;
34963 		if (!isTupleType) goto LA15_;
34964 		result = n;
34965 		T17_ = NIM_NIL;
34966 		T17_ = semTypeNode__sem_80(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
34967 		typ = skipTypes__ast_3735(T17_, TM__rF9caJawfOjYTjsgLVUSGFA_123);
34968 		asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, typ));
34969 	}
34970 	goto LA13_;
34971 	LA15_: ;
34972 	{
34973 		result = tupexp;
34974 	}
34975 	LA13_: ;
34976 	}BeforeRet_: ;
34977 	return result;
34978 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTupleFieldsConstr__sem_18980)34979 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTupleFieldsConstr__sem_18980)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
34980 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
34981 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
34982 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA ids;
34983 	result = NIM_NIL;
34984 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), (*n).info);
34985 	typ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18), c);
34986 	asgnRef((void**) (&(*typ).n), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138), (*n).info));
34987 	nimZeroMem((void*)(&ids), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
34988 	initIntSet__pureZcollectionsZintsets_238((&ids));
34989 	{
34990 		NI i;
34991 		NI colontmp_;
34992 		NI i_2;
34993 		i = (NI)0;
34994 		colontmp_ = (NI)0;
34995 		colontmp_ = len__ast_3198(n);
34996 		i_2 = ((NI) 0);
34997 		{
34998 			while (1) {
34999 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* id;
35000 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* f;
35001 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
35002 				if (!(i_2 < colontmp_)) goto LA3;
35003 				i = i_2;
35004 				{
35005 					if (!!(((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA6_;
35006 					illFormedAst__semdata_1071((*n)._kind_6.sons->data[i], (*(*c).graph).config);
35007 				}
35008 				LA6_: ;
35009 				id = considerQuotedIdent__lookups_28(c, (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
35010 				{
35011 					NIM_BOOL T10_;
35012 					NimStringDesc* T13_;
35013 					T10_ = (NIM_BOOL)0;
35014 					T10_ = containsOrIncl__astalgo_402((&ids), (*id).id);
35015 					if (!T10_) goto LA11_;
35016 					T13_ = NIM_NIL;
35017 					T13_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_660), (*id).s);
35018 					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);
35019 				}
35020 				LA11_: ;
35021 				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));
35022 				{
35023 					if (!((*(*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA16_;
35024 					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);
35025 					asgnRef((void**) (&(*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]).typ), errorType__semdata_1002(c));
35026 				}
35027 				LA16_: ;
35028 				f = newSymS__sem_453(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19), (*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)], c);
35029 				asgnRef((void**) (&(*f).typ), skipIntLit__magicsys_124((*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]).typ, (*c).Sup.idgen));
35030 				(*f).position = i;
35031 				rawAddSon__ast_4288(typ, (*f).typ, NIM_TRUE);
35032 				T18_ = NIM_NIL;
35033 				T18_ = newSymNode__ast_3716(f);
35034 				add__ast_4797((*typ).n, T18_);
35035 				asgnRef((void**) (&(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(f));
35036 				add__ast_4797(result, (*n)._kind_6.sons->data[i]);
35037 				i_2 += ((NI) 1);
35038 			} LA3: ;
35039 		}
35040 	}
35041 	asgnRef((void**) (&(*result).typ), typ);
35042 	return result;
35043 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semSetConstr__sem_18756)35044 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semSetConstr__sem_18756)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
35045 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35046 	result = NIM_NIL;
35047 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39), (*n).info);
35048 	asgnRef((void**) (&(*result).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19), c));
35049 	(*(*result).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 43)) & 63);
35050 	{
35051 		NI T3_;
35052 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
35053 		T3_ = (NI)0;
35054 		T3_ = len__ast_3198(n);
35055 		if (!(T3_ == ((NI) 0))) goto LA4_;
35056 		T6_ = NIM_NIL;
35057 		T6_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3), c);
35058 		rawAddSon__ast_4288((*result).typ, T6_, NIM_TRUE);
35059 	}
35060 	goto LA1_;
35061 	LA4_: ;
35062 	{
35063 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
35064 		typ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
35065 		{
35066 			NI i;
35067 			NI colontmp_;
35068 			NI i_2;
35069 			i = (NI)0;
35070 			colontmp_ = (NI)0;
35071 			colontmp_ = len__ast_3198(n);
35072 			i_2 = ((NI) 0);
35073 			{
35074 				while (1) {
35075 					if (!(i_2 < colontmp_)) goto LA10;
35076 					i = i_2;
35077 					{
35078 						NIM_BOOL T13_;
35079 						T13_ = (NIM_BOOL)0;
35080 						T13_ = isRange__trees_213((*n)._kind_6.sons->data[i]);
35081 						if (!T13_) goto LA14_;
35082 						checkSonsLen__semdata_1077((*n)._kind_6.sons->data[i], ((NI) 3), (*(*c).graph).config);
35083 						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));
35084 						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));
35085 						{
35086 							if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA18_;
35087 							typ = skipTypes__ast_3735((*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_726);
35088 						}
35089 						LA18_: ;
35090 						asgnRef((void**) (&(*(*n)._kind_6.sons->data[i]).typ), (*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 2)]).typ);
35091 					}
35092 					goto LA11_;
35093 					LA14_: ;
35094 					{
35095 						if (!((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA21_;
35096 						{
35097 							if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA25_;
35098 							typ = skipTypes__ast_3735((*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_726);
35099 						}
35100 						LA25_: ;
35101 					}
35102 					goto LA11_;
35103 					LA21_: ;
35104 					{
35105 						asgnRef((void**) (&(*n)._kind_6.sons->data[i]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[i], 0));
35106 						{
35107 							if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA30_;
35108 							typ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[i]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_726);
35109 						}
35110 						LA30_: ;
35111 					}
35112 					LA11_: ;
35113 					i_2 += ((NI) 1);
35114 				} LA10: ;
35115 			}
35116 		}
35117 		{
35118 			NIM_BOOL T34_;
35119 			T34_ = (NIM_BOOL)0;
35120 			T34_ = isOrdinalType__types_299(typ, NIM_TRUE);
35121 			if (!!(T34_)) goto LA35_;
35122 			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);
35123 			typ = makeRangeType__semdata_1039(c, IL64(0), IL64(65535), (*n).info, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
35124 		}
35125 		goto LA32_;
35126 		LA35_: ;
35127 		{
35128 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T38_;
35129 			NIM_BOOL T39_;
35130 			T38_ = lengthOrd__types_1652((*(*c).graph).config, typ);
35131 			T39_ = (NIM_BOOL)0;
35132 			T39_ = lt___int495056_738(IL64(65536), T38_);
35133 			if (!T39_) goto LA40_;
35134 			typ = makeRangeType__semdata_1039(c, IL64(0), IL64(65535), (*n).info, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
35135 		}
35136 		goto LA32_;
35137 		LA40_: ;
35138 		LA32_: ;
35139 		addSonSkipIntLit__magicsys_136((*result).typ, typ, (*c).Sup.idgen);
35140 		{
35141 			NI i_3;
35142 			NI colontmp__2;
35143 			NI i_4;
35144 			i_3 = (NI)0;
35145 			colontmp__2 = (NI)0;
35146 			colontmp__2 = len__ast_3198(n);
35147 			i_4 = ((NI) 0);
35148 			{
35149 				while (1) {
35150 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
35151 					tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
35152 					if (!(i_4 < colontmp__2)) goto LA44;
35153 					i_3 = i_4;
35154 					m = NIM_NIL;
35155 					info = (*(*n)._kind_6.sons->data[i_3]).info;
35156 					{
35157 						NIM_BOOL T47_;
35158 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T50_;
35159 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T51_;
35160 						T47_ = (NIM_BOOL)0;
35161 						T47_ = isRange__trees_213((*n)._kind_6.sons->data[i_3]);
35162 						if (!T47_) goto LA48_;
35163 						m = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44), info);
35164 						T50_ = NIM_NIL;
35165 						T50_ = fitNode__sem_70(c, typ, (*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[((NI) 1)], info);
35166 						add__ast_4797(m, T50_);
35167 						T51_ = NIM_NIL;
35168 						T51_ = fitNode__sem_70(c, typ, (*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[((NI) 2)], info);
35169 						add__ast_4797(m, T51_);
35170 					}
35171 					goto LA45_;
35172 					LA48_: ;
35173 					{
35174 						if (!((*(*n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA53_;
35175 						m = (*n)._kind_6.sons->data[i_3];
35176 					}
35177 					goto LA45_;
35178 					LA53_: ;
35179 					{
35180 						m = fitNode__sem_70(c, typ, (*n)._kind_6.sons->data[i_3], info);
35181 					}
35182 					LA45_: ;
35183 					add__ast_4797(result, m);
35184 					i_4 += ((NI) 1);
35185 				} LA44: ;
35186 			}
35187 		}
35188 	}
35189 	LA1_: ;
35190 	return result;
35191 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semArrayConstr__sem_14893)35192 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semArrayConstr__sem_14893)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
35193 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35194 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA firstIndex;
35195 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA lastIndex;
35196 	tyObject_TType__facALICuu8zUj0hjvbTLFg* indexType;
35197 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA lastValidIndex;
35198 	NI64 T55_;
35199 	NI64 T56_;
35200 	result = NIM_NIL;
35201 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*n).info);
35202 	asgnRef((void**) (&(*result).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), c));
35203 	rawAddSon__ast_4288((*result).typ, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL), NIM_TRUE);
35204 	nimZeroMem((void*)(&firstIndex), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
35205 	nimZeroMem((void*)(&lastIndex), sizeof(tyObject_Int128__9a9axPfb75jdWY25AamJewkA));
35206 	indexType = getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31));
35207 	lastValidIndex = lastOrd__types_1465((*(*c).graph).config, indexType);
35208 	{
35209 		NI T3_;
35210 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T6_;
35211 		T3_ = (NI)0;
35212 		T3_ = len__ast_3198(n);
35213 		if (!(T3_ == ((NI) 0))) goto LA4_;
35214 		T6_ = NIM_NIL;
35215 		T6_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3), c);
35216 		rawAddSon__ast_4288((*result).typ, T6_, NIM_TRUE);
35217 		lastIndex = toInt128__types_1378(((NI) -1));
35218 	}
35219 	goto LA1_;
35220 	LA4_: ;
35221 	{
35222 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
35223 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* yy;
35224 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
35225 		x = (*n)._kind_6.sons->data[((NI) 0)];
35226 		{
35227 			NIM_BOOL T10_;
35228 			NI T12_;
35229 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* idx;
35230 			T10_ = (NIM_BOOL)0;
35231 			T10_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34));
35232 			if (!(T10_)) goto LA11_;
35233 			T12_ = (NI)0;
35234 			T12_ = len__ast_3198(x);
35235 			T10_ = (T12_ == ((NI) 2));
35236 			LA11_: ;
35237 			if (!T10_) goto LA13_;
35238 			idx = semConstExpr__sem_611(c, (*x)._kind_6.sons->data[((NI) 0)]);
35239 			{
35240 				NIM_BOOL T17_;
35241 				NimStringDesc* T20_;
35242 				NimStringDesc* T21_;
35243 				NimStringDesc* T22_;
35244 				T17_ = (NIM_BOOL)0;
35245 				T17_ = isOrdinalType__types_299((*idx).typ, NIM_FALSE);
35246 				if (!!(T17_)) goto LA18_;
35247 				T20_ = NIM_NIL;
35248 				T21_ = NIM_NIL;
35249 				T21_ = renderTree__renderer_46(idx, 0);
35250 				T22_ = NIM_NIL;
35251 				T22_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_729), T21_);
35252 				T20_ = rawNewString((T22_ ? T22_->Sup.len : 0) + 33);
35253 appendString(T20_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_728));
35254 appendString(T20_, T22_);
35255 				liMessage__msgs_1118((*(*c).graph).config, (*idx).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_730, NIM_FALSE);
35256 			}
35257 			goto LA15_;
35258 			LA18_: ;
35259 			{
35260 				firstIndex = getOrdValue__types_161(idx, Max__int495056_27);
35261 				lastIndex = firstIndex;
35262 				indexType = (*idx).typ;
35263 				lastValidIndex = lastOrd__types_1465((*(*c).graph).config, indexType);
35264 				x = (*x)._kind_6.sons->data[((NI) 1)];
35265 			}
35266 			LA15_: ;
35267 		}
35268 		LA13_: ;
35269 		yy = semExprWithType__sem_56(c, x, 0);
35270 		typ = (*yy).typ;
35271 		add__ast_4797(result, yy);
35272 		{
35273 			NI i;
35274 			NI colontmp_;
35275 			NI i_2;
35276 			i = (NI)0;
35277 			colontmp_ = (NI)0;
35278 			colontmp_ = len__ast_3198(n);
35279 			i_2 = ((NI) 1);
35280 			{
35281 				while (1) {
35282 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* xx;
35283 					if (!(i_2 < colontmp_)) goto LA26;
35284 					i = i_2;
35285 					{
35286 						NIM_BOOL T29_;
35287 						tyObject_TType__facALICuu8zUj0hjvbTLFg* validIndex;
35288 						NI64 T32_;
35289 						NI64 T33_;
35290 						NimStringDesc* T34_;
35291 						tyArray__Re75IspeoxXy2oCZHwcRrA T35_;
35292 						NI T36_;
35293 						NimStringDesc* T37_;
35294 						T29_ = (NIM_BOOL)0;
35295 						T29_ = eqeq___int495056_313(lastIndex, lastValidIndex);
35296 						if (!T29_) goto LA30_;
35297 						T32_ = (NI64)0;
35298 						T32_ = toInt64__int495056_88(firstIndex);
35299 						T33_ = (NI64)0;
35300 						T33_ = toInt64__int495056_88(lastValidIndex);
35301 						validIndex = makeRangeType__semdata_1039(c, T32_, T33_, (*n).info, indexType);
35302 						T34_ = NIM_NIL;
35303 						nimZeroMem((void*)T35_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
35304 						T35_[0] = typeToString__types_50(validIndex, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
35305 						T36_ = (NI)0;
35306 						T36_ = len__ast_3198(n);
35307 						T35_[1] = dollar___systemZdollars_3((NI)(T36_ - i));
35308 						T37_ = NIM_NIL;
35309 						T37_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_732), T35_, 2);
35310 						T34_ = rawNewString((T37_ ? T37_->Sup.len : 0) + 37);
35311 appendString(T34_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_731));
35312 appendString(T34_, T37_);
35313 						liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T34_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_733, NIM_FALSE);
35314 					}
35315 					LA30_: ;
35316 					x = (*n)._kind_6.sons->data[i];
35317 					{
35318 						NIM_BOOL T40_;
35319 						NI T42_;
35320 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* idx_2;
35321 						T40_ = (NIM_BOOL)0;
35322 						T40_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34));
35323 						if (!(T40_)) goto LA41_;
35324 						T42_ = (NI)0;
35325 						T42_ = len__ast_3198(x);
35326 						T40_ = (T42_ == ((NI) 2));
35327 						LA41_: ;
35328 						if (!T40_) goto LA43_;
35329 						idx_2 = semConstExpr__sem_611(c, (*x)._kind_6.sons->data[((NI) 0)]);
35330 						idx_2 = fitNode__sem_70(c, indexType, idx_2, (*x).info);
35331 						{
35332 							tyObject_Int128__9a9axPfb75jdWY25AamJewkA T47_;
35333 							tyObject_Int128__9a9axPfb75jdWY25AamJewkA T48_;
35334 							NIM_BOOL T49_;
35335 							T47_ = plus___int495056_794(lastIndex, IL64(1));
35336 							T48_ = getOrdValue__types_161(idx_2, Max__int495056_27);
35337 							T49_ = (NIM_BOOL)0;
35338 							T49_ = eqeq___int495056_313(T47_, T48_);
35339 							if (!!(T49_)) goto LA50_;
35340 							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);
35341 						}
35342 						LA50_: ;
35343 						x = (*x)._kind_6.sons->data[((NI) 1)];
35344 					}
35345 					LA43_: ;
35346 					xx = semExprWithType__sem_56(c, x, 0);
35347 					add__ast_4797(result, xx);
35348 					typ = commonType__sem_237(c, typ, (*xx).typ);
35349 					inc__int495056_251((&lastIndex), ((NU32) 1));
35350 					i_2 += ((NI) 1);
35351 				} LA26: ;
35352 			}
35353 		}
35354 		addSonSkipIntLit__magicsys_136((*result).typ, typ, (*c).Sup.idgen);
35355 		{
35356 			NI i_3;
35357 			NI colontmp__2;
35358 			NI i_4;
35359 			i_3 = (NI)0;
35360 			colontmp__2 = (NI)0;
35361 			colontmp__2 = len__ast_3198(result);
35362 			i_4 = ((NI) 0);
35363 			{
35364 				while (1) {
35365 					if (!(i_4 < colontmp__2)) goto LA54;
35366 					i_3 = i_4;
35367 					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));
35368 					i_4 += ((NI) 1);
35369 				} LA54: ;
35370 			}
35371 		}
35372 	}
35373 	LA1_: ;
35374 	T55_ = (NI64)0;
35375 	T55_ = toInt64__int495056_88(firstIndex);
35376 	T56_ = (NI64)0;
35377 	T56_ = toInt64__int495056_88(lastIndex);
35378 	asgnRef((void**) (&(*(*result).typ).sons->data[((NI) 0)]), makeRangeType__semdata_1039(c, T55_, T56_, (*n).info, indexType));
35379 	return result;
35380 }
N_NIMCALL(NIM_BOOL,isCastable__sem_14277)35381 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isCastable__sem_14277)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* dst, tyObject_TType__facALICuu8zUj0hjvbTLFg* src) {
35382 	NIM_BOOL result;
35383 	tyObject_TType__facALICuu8zUj0hjvbTLFg* src_2;
35384 	tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf;
35385 	NI64 dstSize;
35386 	NI64 srcSize;
35387 {	result = (NIM_BOOL)0;
35388 	src_2 = skipTypes__ast_3735(src, TM__rF9caJawfOjYTjsgLVUSGFA_739);
35389 	{
35390 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
35391 		T3_ = NIM_NIL;
35392 		T3_ = skipTypes__ast_3735(dst, TM__rF9caJawfOjYTjsgLVUSGFA_740);
35393 		if (!((*T3_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27))) goto LA4_;
35394 		result = NIM_FALSE;
35395 		goto BeforeRet_;
35396 	}
35397 	LA4_: ;
35398 	{
35399 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T8_;
35400 		T8_ = NIM_NIL;
35401 		T8_ = skipTypes__ast_3735(src_2, TM__rF9caJawfOjYTjsgLVUSGFA_5);
35402 		if (!((*T8_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8))) goto LA9_;
35403 		result = NIM_FALSE;
35404 		goto BeforeRet_;
35405 	}
35406 	LA9_: ;
35407 	{
35408 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T13_;
35409 		T13_ = NIM_NIL;
35410 		T13_ = skipTypes__ast_3735(dst, TM__rF9caJawfOjYTjsgLVUSGFA_70);
35411 		if (!((*T13_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51))) goto LA14_;
35412 		result = NIM_FALSE;
35413 		goto BeforeRet_;
35414 	}
35415 	LA14_: ;
35416 	conf = (*(*c).graph).config;
35417 	{
35418 		tyObject_TType__facALICuu8zUj0hjvbTLFg* d;
35419 		tyObject_TType__facALICuu8zUj0hjvbTLFg* s;
35420 		if (!((48 &((NU16)1<<((NU)((*conf).selectedGC)&15U)))!=0)) goto LA18_;
35421 		d = skipTypes__ast_3735(dst, TM__rF9caJawfOjYTjsgLVUSGFA_70);
35422 		s = skipTypes__ast_3735(src_2, TM__rF9caJawfOjYTjsgLVUSGFA_70);
35423 		{
35424 			NIM_BOOL T22_;
35425 			NIM_BOOL T23_;
35426 			NIM_BOOL T26_;
35427 			NIM_BOOL T27_;
35428 			T22_ = (NIM_BOOL)0;
35429 			T23_ = (NIM_BOOL)0;
35430 			T23_ = ((*d).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
35431 			if (!(T23_)) goto LA24_;
35432 			T23_ = ((*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22));
35433 			LA24_: ;
35434 			T22_ = T23_;
35435 			if (!(T22_)) goto LA25_;
35436 			T26_ = (NIM_BOOL)0;
35437 			T26_ = isFinal__types_750((*s).sons->data[((NI) 0)]);
35438 			T27_ = (NIM_BOOL)0;
35439 			T27_ = isFinal__types_750((*d).sons->data[((NI) 0)]);
35440 			T22_ = !((T26_ == T27_));
35441 			LA25_: ;
35442 			if (!T22_) goto LA28_;
35443 			result = NIM_FALSE;
35444 			goto BeforeRet_;
35445 		}
35446 		goto LA20_;
35447 		LA28_: ;
35448 		{
35449 			NIM_BOOL T31_;
35450 			T31_ = (NIM_BOOL)0;
35451 			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));
35452 			if (!(T31_)) goto LA32_;
35453 			T31_ = ((*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*s).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24));
35454 			LA32_: ;
35455 			if (!T31_) goto LA33_;
35456 			result = NIM_FALSE;
35457 			goto BeforeRet_;
35458 		}
35459 		goto LA20_;
35460 		LA33_: ;
35461 		LA20_: ;
35462 	}
35463 	LA18_: ;
35464 	dstSize = (NI64)0;
35465 	srcSize = (NI64)0;
35466 	dstSize = computeSize__types_3308(conf, dst);
35467 	srcSize = computeSize__types_3308(conf, src_2);
35468 	{
35469 		NIM_BOOL T37_;
35470 		T37_ = (NIM_BOOL)0;
35471 		T37_ = (dstSize == IL64(-3));
35472 		if (T37_) goto LA38_;
35473 		T37_ = (srcSize == IL64(-3));
35474 		LA38_: ;
35475 		if (!T37_) goto LA39_;
35476 		result = NIM_TRUE;
35477 		goto BeforeRet_;
35478 	}
35479 	LA39_: ;
35480 	{
35481 		if (!(dstSize < IL64(0))) goto LA43_;
35482 		result = NIM_FALSE;
35483 	}
35484 	goto LA41_;
35485 	LA43_: ;
35486 	{
35487 		if (!(srcSize < IL64(0))) goto LA46_;
35488 		result = NIM_FALSE;
35489 	}
35490 	goto LA41_;
35491 	LA46_: ;
35492 	{
35493 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T49_;
35494 		T49_ = NIM_NIL;
35495 		T49_ = typeAllowed__typeallowed_472(dst, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3), c, 0);
35496 		if (!!((T49_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA50_;
35497 		result = NIM_FALSE;
35498 	}
35499 	goto LA41_;
35500 	LA50_: ;
35501 	{
35502 		NIM_BOOL T53_;
35503 		NIM_BOOL T57_;
35504 		T53_ = (NIM_BOOL)0;
35505 		T53_ = ((*dst).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
35506 		if (!(T53_)) goto LA54_;
35507 		T53_ = ((*dst).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
35508 		LA54_: ;
35509 		if (!T53_) goto LA55_;
35510 		T57_ = (NIM_BOOL)0;
35511 		T57_ = ((*src_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
35512 		if (!(T57_)) goto LA58_;
35513 		T57_ = ((*src_2).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
35514 		LA58_: ;
35515 		result = T57_;
35516 	}
35517 	goto LA41_;
35518 	LA55_: ;
35519 	{
35520 		NIM_BOOL T60_;
35521 		NIM_BOOL T61_;
35522 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T63_;
35523 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T65_;
35524 		T60_ = (NIM_BOOL)0;
35525 		T61_ = (NIM_BOOL)0;
35526 		T61_ = (srcSize <= dstSize);
35527 		if (T61_) goto LA62_;
35528 		T63_ = NIM_NIL;
35529 		T63_ = skipTypes__ast_3735(dst, TM__rF9caJawfOjYTjsgLVUSGFA_70);
35530 		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));
35531 		LA62_: ;
35532 		T60_ = T61_;
35533 		if (T60_) goto LA64_;
35534 		T65_ = NIM_NIL;
35535 		T65_ = skipTypes__ast_3735(src_2, TM__rF9caJawfOjYTjsgLVUSGFA_5);
35536 		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));
35537 		LA64_: ;
35538 		result = T60_;
35539 	}
35540 	LA41_: ;
35541 	{
35542 		NIM_BOOL T68_;
35543 		T68_ = (NIM_BOOL)0;
35544 		T68_ = result;
35545 		if (!(T68_)) goto LA69_;
35546 		T68_ = ((*src_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5));
35547 		LA69_: ;
35548 		if (!T68_) goto LA70_;
35549 		result = ((*dst).size <= ((NI64) ((*conf).target.ptrSize)));
35550 	}
35551 	LA70_: ;
35552 	}BeforeRet_: ;
35553 	return result;
35554 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semCast__sem_14524)35555 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semCast__sem_14524)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
35556 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35557 	tyObject_TType__facALICuu8zUj0hjvbTLFg* targetType;
35558 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* castedExpr;
35559 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T19_;
35560 	result = NIM_NIL;
35561 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
35562 	targetType = semTypeNode__sem_80(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
35563 	castedExpr = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 1)], 0);
35564 	{
35565 		NimStringDesc* T5_;
35566 		NimStringDesc* T6_;
35567 		if (!(((*targetType).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 21))&63U)))!=0)) goto LA3_;
35568 		T5_ = NIM_NIL;
35569 		T5_ = typeToString__types_50(targetType, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
35570 		T6_ = NIM_NIL;
35571 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_737), T5_);
35572 		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);
35573 	}
35574 	LA3_: ;
35575 	{
35576 		NIM_BOOL T9_;
35577 		NimStringDesc* tar;
35578 		NimStringDesc* alt;
35579 		NimStringDesc* msg;
35580 		NimStringDesc* T18_;
35581 		T9_ = (NIM_BOOL)0;
35582 		T9_ = isCastable__sem_14277(c, targetType, (*castedExpr).typ);
35583 		if (!!(T9_)) goto LA10_;
35584 		tar = typeToString__types_50(targetType, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
35585 		alt = typeToString__types_50(targetType, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
35586 		{
35587 			NimStringDesc* T16_;
35588 			if (!!(eqStrings(tar, alt))) goto LA14_;
35589 			T16_ = NIM_NIL;
35590 			T16_ = rawNewString((tar ? tar->Sup.len : 0) + (alt ? alt->Sup.len : 0) + 1);
35591 appendString(T16_, tar);
35592 appendString(T16_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_178));
35593 appendString(T16_, alt);
35594 			msg = T16_;
35595 		}
35596 		goto LA12_;
35597 		LA14_: ;
35598 		{
35599 			msg = tar;
35600 		}
35601 		LA12_: ;
35602 		T18_ = NIM_NIL;
35603 		T18_ = rawNewString((msg ? msg->Sup.len : 0) + 29);
35604 appendString(T18_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_741));
35605 appendString(T18_, msg);
35606 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T18_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_742, NIM_FALSE);
35607 	}
35608 	LA10_: ;
35609 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61), (*n).info);
35610 	asgnRef((void**) (&(*result).typ), targetType);
35611 	T19_ = NIM_NIL;
35612 	T19_ = copyTree__ast_4431((*n)._kind_6.sons->data[((NI) 0)]);
35613 	add__ast_4797(result, T19_);
35614 	add__ast_4797(result, castedExpr);
35615 	return result;
35616 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprBranch__sem_9264)35617 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprBranch__sem_9264)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
35618 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35619 	result = NIM_NIL;
35620 	result = semExpr__sem_52(c, n, flags);
35621 	{
35622 		if (!!(((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3_;
35623 		{
35624 			if (!((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA7_;
35625 			result = newDeref__lowerings_11(result);
35626 		}
35627 		LA7_: ;
35628 	}
35629 	LA3_: ;
35630 	return result;
35631 }
N_NIMCALL(NIM_BOOL,endsInNoReturn__sem_416)35632 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, endsInNoReturn__sem_416)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
35633 	NIM_BOOL result;
35634 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
35635 	NIM_BOOL T6_;
35636 	NIM_BOOL T8_;
35637 	NIM_BOOL T9_;
35638 	result = (NIM_BOOL)0;
35639 	it = n;
35640 	{
35641 		while (1) {
35642 			NIM_BOOL T3_;
35643 			NI T5_;
35644 			T3_ = (NIM_BOOL)0;
35645 			T3_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
35646 			if (!(T3_)) goto LA4_;
35647 			T5_ = (NI)0;
35648 			T5_ = len__ast_3198(it);
35649 			T3_ = (((NI) 0) < T5_);
35650 			LA4_: ;
35651 			if (!T3_) goto LA2;
35652 			it = lastSon__ast_4832(it);
35653 		} LA2: ;
35654 	}
35655 	T6_ = (NIM_BOOL)0;
35656 	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));
35657 	if (T6_) goto LA7_;
35658 	T8_ = (NIM_BOOL)0;
35659 	T9_ = (NIM_BOOL)0;
35660 	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));
35661 	if (!(T9_)) goto LA10_;
35662 	T9_ = ((*(*it)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
35663 	LA10_: ;
35664 	T8_ = T9_;
35665 	if (!(T8_)) goto LA11_;
35666 	T8_ = (((*(*(*it)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 16))&63U)))!=0);
35667 	LA11_: ;
35668 	T6_ = T8_;
35669 	LA7_: ;
35670 	result = T6_;
35671 	return result;
35672 }
N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg *,commonType__sem_448)35673 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, commonType__sem_448)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* x, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* y) {
35674 	tyObject_TType__facALICuu8zUj0hjvbTLFg* result;
35675 {	result = NIM_NIL;
35676 	{
35677 		NIM_BOOL T3_;
35678 		T3_ = (NIM_BOOL)0;
35679 		T3_ = endsInNoReturn__sem_416(y);
35680 		if (!T3_) goto LA4_;
35681 		result = x;
35682 		goto BeforeRet_;
35683 	}
35684 	LA4_: ;
35685 	result = commonType__sem_237(c, x, (*y).typ);
35686 	}BeforeRet_: ;
35687 	return result;
35688 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprBranchScope__sem_9277)35689 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprBranchScope__sem_9277)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
35690 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35691 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
35692 	result = NIM_NIL;
35693 	T1_ = NIM_NIL;
35694 	T1_ = openScope__lookups_69(c);
35695 	result = semExprBranch__sem_9264(c, n, 0);
35696 	closeScope__lookups_101(c);
35697 	return result;
35698 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semIf__sem_9366)35699 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIf__sem_9366)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
35700 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35701 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
35702 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
35703 	NIM_BOOL hasElse;
35704 	result = NIM_NIL;
35705 	result = n;
35706 	T1_ = NIM_NIL;
35707 	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*) newObj((&NTIptype__qt2Wh0elFEz5fH0l7yusLw_), sizeof(tyObject_TType__facALICuu8zUj0hjvbTLFg));
35708 	(*T1_).Sup.Sup.m_type = (&NTIttype__facALICuu8zUj0hjvbTLFg_);
35709 	(*T1_).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6);
35710 	typ = T1_;
35711 	hasElse = NIM_FALSE;
35712 	{
35713 		NI i;
35714 		NI colontmp_;
35715 		NI i_2;
35716 		i = (NI)0;
35717 		colontmp_ = (NI)0;
35718 		colontmp_ = len__ast_3198(n);
35719 		i_2 = ((NI) 0);
35720 		{
35721 			while (1) {
35722 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
35723 				if (!(i_2 < colontmp_)) goto LA4;
35724 				i = i_2;
35725 				it = (*n)._kind_6.sons->data[i];
35726 				{
35727 					NI T7_;
35728 					tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T10_;
35729 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
35730 					T7_ = (NI)0;
35731 					T7_ = len__ast_3198(it);
35732 					if (!(T7_ == ((NI) 2))) goto LA8_;
35733 					T10_ = NIM_NIL;
35734 					T10_ = openScope__lookups_69(c);
35735 					T11_ = NIM_NIL;
35736 					T11_ = semExprWithType__sem_56(c, (*it)._kind_6.sons->data[((NI) 0)], 0);
35737 					asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 0)]), forceBool__sem_2869(c, T11_));
35738 					asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 1)]), semExprBranch__sem_9264(c, (*it)._kind_6.sons->data[((NI) 1)], flags));
35739 					typ = commonType__sem_448(c, typ, (*it)._kind_6.sons->data[((NI) 1)]);
35740 					closeScope__lookups_101(c);
35741 				}
35742 				goto LA5_;
35743 				LA8_: ;
35744 				{
35745 					NI T13_;
35746 					T13_ = (NI)0;
35747 					T13_ = len__ast_3198(it);
35748 					if (!(T13_ == ((NI) 1))) goto LA14_;
35749 					hasElse = NIM_TRUE;
35750 					asgnRef((void**) (&(*it)._kind_6.sons->data[((NI) 0)]), semExprBranchScope__sem_9277(c, (*it)._kind_6.sons->data[((NI) 0)]));
35751 					typ = commonType__sem_448(c, typ, (*it)._kind_6.sons->data[((NI) 0)]);
35752 				}
35753 				goto LA5_;
35754 				LA14_: ;
35755 				{
35756 					illFormedAst__semdata_1071(it, (*(*c).graph).config);
35757 				}
35758 				LA5_: ;
35759 				i_2 += ((NI) 1);
35760 			} LA4: ;
35761 		}
35762 	}
35763 	{
35764 		NIM_BOOL T19_;
35765 		NIM_BOOL T20_;
35766 		NIM_BOOL T23_;
35767 		T19_ = (NIM_BOOL)0;
35768 		T20_ = (NIM_BOOL)0;
35769 		T20_ = isEmptyType__ast_4779(typ);
35770 		if (T20_) goto LA21_;
35771 		T20_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
35772 		LA21_: ;
35773 		T19_ = T20_;
35774 		if (T19_) goto LA22_;
35775 		T23_ = (NIM_BOOL)0;
35776 		T23_ = !(hasElse);
35777 		if (!(T23_)) goto LA24_;
35778 		T23_ = !(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0));
35779 		LA24_: ;
35780 		T19_ = T23_;
35781 		LA22_: ;
35782 		if (!T19_) goto LA25_;
35783 		{
35784 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it_2;
35785 			it_2 = NIM_NIL;
35786 			{
35787 				NI i_3;
35788 				NI colontmp__2;
35789 				NI i_4;
35790 				i_3 = (NI)0;
35791 				colontmp__2 = (NI)0;
35792 				colontmp__2 = safeLen__ast_3191(n);
35793 				i_4 = ((NI) 0);
35794 				{
35795 					while (1) {
35796 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
35797 						if (!(i_4 < colontmp__2)) goto LA30;
35798 						i_3 = i_4;
35799 						it_2 = (*n)._kind_6.sons->data[i_3];
35800 						T31_ = NIM_NIL;
35801 						T31_ = lastSon__ast_4832(it_2);
35802 						discardCheck__sem_9323(c, T31_, flags);
35803 						i_4 += ((NI) 1);
35804 					} LA30: ;
35805 				}
35806 			}
35807 		}
35808 		transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 92));
35809 		{
35810 			if (!(typ == (*c).enforceVoidContext)) goto LA34_;
35811 			asgnRef((void**) (&(*result).typ), (*c).enforceVoidContext);
35812 		}
35813 		LA34_: ;
35814 	}
35815 	goto LA17_;
35816 	LA25_: ;
35817 	{
35818 		{
35819 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it_3;
35820 			it_3 = NIM_NIL;
35821 			{
35822 				NI i_5;
35823 				NI colontmp__3;
35824 				NI i_6;
35825 				i_5 = (NI)0;
35826 				colontmp__3 = (NI)0;
35827 				colontmp__3 = safeLen__ast_3191(n);
35828 				i_6 = ((NI) 0);
35829 				{
35830 					while (1) {
35831 						NI j;
35832 						NI T41_;
35833 						if (!(i_6 < colontmp__3)) goto LA40;
35834 						i_5 = i_6;
35835 						it_3 = (*n)._kind_6.sons->data[i_5];
35836 						T41_ = (NI)0;
35837 						T41_ = len__ast_3198(it_3);
35838 						j = (NI)(T41_ - ((NI) 1));
35839 						{
35840 							NIM_BOOL T44_;
35841 							T44_ = (NIM_BOOL)0;
35842 							T44_ = endsInNoReturn__sem_416((*it_3)._kind_6.sons->data[j]);
35843 							if (!!(T44_)) goto LA45_;
35844 							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));
35845 						}
35846 						LA45_: ;
35847 						i_6 += ((NI) 1);
35848 					} LA40: ;
35849 				}
35850 			}
35851 		}
35852 		transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 48));
35853 		asgnRef((void**) (&(*result).typ), typ);
35854 	}
35855 	LA17_: ;
35856 	return result;
35857 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTableConstr__sem_18848)35858 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTableConstr__sem_18848)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
35859 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35860 	NI lastKey;
35861 	result = NIM_NIL;
35862 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41), (*n).info);
35863 	lastKey = ((NI) 0);
35864 	{
35865 		NI i;
35866 		NI colontmp_;
35867 		NI i_2;
35868 		i = (NI)0;
35869 		colontmp_ = (NI)0;
35870 		colontmp_ = len__ast_3198(n);
35871 		i_2 = ((NI) 0);
35872 		{
35873 			while (1) {
35874 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
35875 				if (!(i_2 < colontmp_)) goto LA3;
35876 				i = i_2;
35877 				x = (*n)._kind_6.sons->data[i];
35878 				{
35879 					NIM_BOOL T6_;
35880 					NI T8_;
35881 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pair_2;
35882 					T6_ = (NIM_BOOL)0;
35883 					T6_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34));
35884 					if (!(T6_)) goto LA7_;
35885 					T8_ = (NI)0;
35886 					T8_ = len__ast_3198(x);
35887 					T6_ = (T8_ == ((NI) 2));
35888 					LA7_: ;
35889 					if (!T6_) goto LA9_;
35890 					{
35891 						NI j;
35892 						NI i_3;
35893 						j = (NI)0;
35894 						i_3 = lastKey;
35895 						{
35896 							while (1) {
35897 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pair;
35898 								if (!(i_3 < i)) goto LA13;
35899 								j = i_3;
35900 								pair = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), (*x).info);
35901 								add__ast_4797(pair, (*n)._kind_6.sons->data[j]);
35902 								add__ast_4797(pair, (*x)._kind_6.sons->data[((NI) 1)]);
35903 								add__ast_4797(result, pair);
35904 								i_3 += ((NI) 1);
35905 							} LA13: ;
35906 						}
35907 					}
35908 					pair_2 = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), (*x).info);
35909 					add__ast_4797(pair_2, (*x)._kind_6.sons->data[((NI) 0)]);
35910 					add__ast_4797(pair_2, (*x)._kind_6.sons->data[((NI) 1)]);
35911 					add__ast_4797(result, pair_2);
35912 					lastKey = (NI)(i + ((NI) 1));
35913 				}
35914 				LA9_: ;
35915 				i_2 += ((NI) 1);
35916 			} LA3: ;
35917 		}
35918 	}
35919 	{
35920 		NI T16_;
35921 		T16_ = (NI)0;
35922 		T16_ = len__ast_3198(n);
35923 		if (!!((lastKey == T16_))) goto LA17_;
35924 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
35925 	}
35926 	LA17_: ;
35927 	result = semExpr__sem_52(c, result, 0);
35928 	return result;
35929 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semBlock__sem_19802)35930 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBlock__sem_19802)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
35931 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
35932 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
35933 	result = NIM_NIL;
35934 	result = n;
35935 	(*(*c).p).nestedBlockCounter += ((NI) 1);
35936 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
35937 	T1_ = NIM_NIL;
35938 	T1_ = openScope__lookups_69(c);
35939 	{
35940 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* labl;
35941 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA4_;
35942 		labl = newSymG__sem_458(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 22), (*n)._kind_6.sons->data[((NI) 0)], c);
35943 		{
35944 			if (!!((((*labl).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA8_;
35945 			addDecl__lookups_845(c, labl);
35946 		}
35947 		goto LA6_;
35948 		LA8_: ;
35949 		{
35950 			if (!((*labl).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA11_;
35951 			asgnRef((void**) (&(*labl).owner), (*(*c).p).owner);
35952 		}
35953 		goto LA6_;
35954 		LA11_: ;
35955 		LA6_: ;
35956 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(labl, (*(*n)._kind_6.sons->data[((NI) 0)]).info));
35957 		suggestSym__sigmatch_5375((*c).graph, (*(*n)._kind_6.sons->data[((NI) 0)]).info, labl, &(*(*c).graph).usageSym, NIM_TRUE);
35958 		{
35959 			NIM_BOOL T15_;
35960 			T15_ = (NIM_BOOL)0;
35961 			T15_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
35962 			if (!(T15_)) goto LA16_;
35963 			T15_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
35964 			LA16_: ;
35965 			if (!T15_) goto LA17_;
35966 			nep1CheckDefImpl__linter_110((*(*c).graph).config, (*labl).info, labl, (*labl).kind);
35967 		}
35968 		LA17_: ;
35969 	}
35970 	LA4_: ;
35971 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 1)], flags));
35972 	asgnRef((void**) (&(*n).typ), (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
35973 	{
35974 		NIM_BOOL T21_;
35975 		T21_ = (NIM_BOOL)0;
35976 		T21_ = isEmptyType__ast_4779((*n).typ);
35977 		if (!T21_) goto LA22_;
35978 		transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 112));
35979 	}
35980 	goto LA19_;
35981 	LA22_: ;
35982 	{
35983 		transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 127));
35984 	}
35985 	LA19_: ;
35986 	closeScope__lookups_101(c);
35987 	(*(*c).p).nestedBlockCounter -= ((NI) 1);
35988 	return result;
35989 }
N_NIMCALL(void,inferConceptStaticParam__sem_13725)35990 N_LIB_PRIVATE N_NIMCALL(void, inferConceptStaticParam__sem_13725)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* inferred, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
35991 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
35992 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* res;
35993 	typ = (*inferred).typ;
35994 	res = semConstExpr__sem_611(c, n);
35995 	{
35996 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T3_;
35997 		NIM_BOOL T4_;
35998 		NimStringDesc* T7_;
35999 		tyArray__24KAM9afIUgUaqBaEBB6r9bg T8_;
36000 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T9_;
36001 		NimStringDesc* T10_;
36002 		T3_ = NIM_NIL;
36003 		T3_ = base__types_63(typ);
36004 		T4_ = (NIM_BOOL)0;
36005 		T4_ = sameType__types_1815((*res).typ, T3_, 0);
36006 		if (!!(T4_)) goto LA5_;
36007 		T7_ = NIM_NIL;
36008 		nimZeroMem((void*)T8_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
36009 		T8_[0] = renderTree__renderer_46(inferred, 0);
36010 		T8_[1] = typeToString__types_50((*res).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
36011 		T9_ = NIM_NIL;
36012 		T9_ = base__types_63(typ);
36013 		T8_[2] = typeToString__types_50(T9_, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
36014 		T10_ = NIM_NIL;
36015 		T10_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_745), T8_, 3);
36016 		T7_ = rawNewString((T10_ ? T10_->Sup.len : 0) + 65);
36017 appendString(T7_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_744));
36018 appendString(T7_, T10_);
36019 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T7_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_746, NIM_FALSE);
36020 	}
36021 	LA5_: ;
36022 	asgnRef((void**) (&(*typ).n), res);
36023 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semStmtList__sem_13731)36024 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStmtList__sem_13731)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
36025 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
36026 	NIM_BOOL voidContext;
36027 	NI last;
36028 	NI T1_;
36029 	result = NIM_NIL;
36030 	result = n;
36031 	transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 115));
36032 	voidContext = NIM_FALSE;
36033 	T1_ = (NI)0;
36034 	T1_ = len__ast_3198(n);
36035 	last = (NI)(T1_ - ((NI) 1));
36036 	{
36037 		NI i;
36038 		NI colontmp_;
36039 		NI i_2;
36040 		i = (NI)0;
36041 		colontmp_ = (NI)0;
36042 		colontmp_ = len__ast_3198(n);
36043 		i_2 = ((NI) 0);
36044 		{
36045 			while (1) {
36046 				if (!(i_2 < colontmp_)) goto LA4;
36047 				i = i_2;
36048 				{
36049 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
36050 					x = semExpr__sem_52(c, (*n)._kind_6.sons->data[i], flags);
36051 					asgnRef((void**) (&(*n)._kind_6.sons->data[i]), x);
36052 					{
36053 						NIM_BOOL T8_;
36054 						NIM_BOOL T9_;
36055 						NIM_BOOL T12_;
36056 						T8_ = (NIM_BOOL)0;
36057 						T9_ = (NIM_BOOL)0;
36058 						T9_ = !(((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)));
36059 						if (!(T9_)) goto LA10_;
36060 						T9_ = !(((*x).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
36061 						LA10_: ;
36062 						T8_ = T9_;
36063 						if (!(T8_)) goto LA11_;
36064 						T12_ = (NIM_BOOL)0;
36065 						T12_ = !((((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 17))&31U)))!=0));
36066 						if (T12_) goto LA13_;
36067 						T12_ = !((i == last));
36068 						LA13_: ;
36069 						T8_ = T12_;
36070 						LA11_: ;
36071 						if (!T8_) goto LA14_;
36072 						switch ((*(*x).typ).kind) {
36073 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
36074 						{
36075 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* verdict;
36076 							{
36077 								NIM_BOOL T19_;
36078 								NIM_BOOL T20_;
36079 								T19_ = (NIM_BOOL)0;
36080 								T20_ = (NIM_BOOL)0;
36081 								T20_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29));
36082 								if (!(T20_)) goto LA21_;
36083 								T20_ = ((*(*x)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
36084 								LA21_: ;
36085 								T19_ = T20_;
36086 								if (!(T19_)) goto LA22_;
36087 								T19_ = eqStrings((*(*(*(*x)._kind_6.sons->data[((NI) 0)])._kind_4.sym).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_743));
36088 								LA22_: ;
36089 								if (!T19_) goto LA23_;
36090 								{
36091 									NIM_BOOL T27_;
36092 									T27_ = (NIM_BOOL)0;
36093 									T27_ = isUnresolvedStatic__ast_3517((*(*x)._kind_6.sons->data[((NI) 1)]).typ);
36094 									if (!T27_) goto LA28_;
36095 									inferConceptStaticParam__sem_13725(c, (*x)._kind_6.sons->data[((NI) 1)], (*x)._kind_6.sons->data[((NI) 2)]);
36096 									goto LA5;
36097 								}
36098 								goto LA25_;
36099 								LA28_: ;
36100 								{
36101 									NIM_BOOL T31_;
36102 									T31_ = (NIM_BOOL)0;
36103 									T31_ = isUnresolvedStatic__ast_3517((*(*x)._kind_6.sons->data[((NI) 2)]).typ);
36104 									if (!T31_) goto LA32_;
36105 									inferConceptStaticParam__sem_13725(c, (*x)._kind_6.sons->data[((NI) 2)], (*x)._kind_6.sons->data[((NI) 1)]);
36106 									goto LA5;
36107 								}
36108 								goto LA25_;
36109 								LA32_: ;
36110 								LA25_: ;
36111 							}
36112 							LA23_: ;
36113 							verdict = semConstExpr__sem_611(c, (*n)._kind_6.sons->data[i]);
36114 							{
36115 								NIM_BOOL T36_;
36116 								NIM_BOOL T37_;
36117 								T36_ = (NIM_BOOL)0;
36118 								T37_ = (NIM_BOOL)0;
36119 								T37_ = (verdict == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
36120 								if (T37_) goto LA38_;
36121 								T37_ = !(((*verdict).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6)));
36122 								LA38_: ;
36123 								T36_ = T37_;
36124 								if (T36_) goto LA39_;
36125 								T36_ = ((*verdict)._kind_1.intVal == IL64(0));
36126 								LA39_: ;
36127 								if (!T36_) goto LA40_;
36128 								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);
36129 							}
36130 							LA40_: ;
36131 						}
36132 						break;
36133 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
36134 						{
36135 							goto LA5;
36136 						}
36137 						break;
36138 						default:
36139 						{
36140 						}
36141 						break;
36142 						}
36143 					}
36144 					LA14_: ;
36145 					{
36146 						if (!((*(*n)._kind_6.sons->data[i]).typ == (*c).enforceVoidContext)) goto LA46_;
36147 						voidContext = NIM_TRUE;
36148 						asgnRef((void**) (&(*n).typ), (*c).enforceVoidContext);
36149 					}
36150 					LA46_: ;
36151 					{
36152 						NIM_BOOL T50_;
36153 						NIM_BOOL T52_;
36154 						NI T53_;
36155 						T50_ = (NIM_BOOL)0;
36156 						T50_ = (i == last);
36157 						if (!(T50_)) goto LA51_;
36158 						T52_ = (NIM_BOOL)0;
36159 						T53_ = (NI)0;
36160 						T53_ = len__ast_3198(n);
36161 						T52_ = (T53_ == ((NI) 1));
36162 						if (T52_) goto LA54_;
36163 						T52_ = !(((2056 & flags) == 0));
36164 						LA54_: ;
36165 						T50_ = T52_;
36166 						LA51_: ;
36167 						if (!T50_) goto LA55_;
36168 						asgnRef((void**) (&(*n).typ), (*(*n)._kind_6.sons->data[i]).typ);
36169 						{
36170 							NIM_BOOL T59_;
36171 							T59_ = (NIM_BOOL)0;
36172 							T59_ = isEmptyType__ast_4779((*n).typ);
36173 							if (!!(T59_)) goto LA60_;
36174 							transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 126));
36175 						}
36176 						LA60_: ;
36177 					}
36178 					goto LA48_;
36179 					LA55_: ;
36180 					{
36181 						NIM_BOOL T63_;
36182 						T63_ = (NIM_BOOL)0;
36183 						T63_ = !((i == last));
36184 						if (T63_) goto LA64_;
36185 						T63_ = voidContext;
36186 						LA64_: ;
36187 						if (!T63_) goto LA65_;
36188 						discardCheck__sem_9323(c, (*n)._kind_6.sons->data[i], flags);
36189 					}
36190 					goto LA48_;
36191 					LA65_: ;
36192 					{
36193 						asgnRef((void**) (&(*n).typ), (*(*n)._kind_6.sons->data[i]).typ);
36194 						{
36195 							NIM_BOOL T70_;
36196 							T70_ = (NIM_BOOL)0;
36197 							T70_ = isEmptyType__ast_4779((*n).typ);
36198 							if (!!(T70_)) goto LA71_;
36199 							transitionSonsKind__ast_4359(n, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 126));
36200 						}
36201 						LA71_: ;
36202 					}
36203 					LA48_: ;
36204 					{
36205 						NIM_BOOL T75_;
36206 						NIM_BOOL T77_;
36207 						NIM_BOOL T78_;
36208 						T75_ = (NIM_BOOL)0;
36209 						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));
36210 						if (T75_) goto LA76_;
36211 						T77_ = (NIM_BOOL)0;
36212 						T78_ = (NIM_BOOL)0;
36213 						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));
36214 						if (!(T78_)) goto LA79_;
36215 						T78_ = ((*(*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
36216 						LA79_: ;
36217 						T77_ = T78_;
36218 						if (!(T77_)) goto LA80_;
36219 						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);
36220 						LA80_: ;
36221 						T75_ = T77_;
36222 						LA76_: ;
36223 						if (!T75_) goto LA81_;
36224 						{
36225 							NI j;
36226 							NI colontmp__2;
36227 							NI colontmp__3;
36228 							NI i_3;
36229 							j = (NI)0;
36230 							colontmp__2 = (NI)0;
36231 							colontmp__3 = (NI)0;
36232 							colontmp__2 = (NI)(i + ((NI) 1));
36233 							colontmp__3 = len__ast_3198(n);
36234 							i_3 = colontmp__2;
36235 							{
36236 								while (1) {
36237 									if (!(i_3 < colontmp__3)) goto LA85;
36238 									j = i_3;
36239 									switch ((*(*n)._kind_6.sons->data[j]).kind) {
36240 									case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
36241 									case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
36242 									case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
36243 									case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
36244 									case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 157):
36245 									{
36246 									}
36247 									break;
36248 									default:
36249 									{
36250 										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);
36251 									}
36252 									break;
36253 									}
36254 									i_3 += ((NI) 1);
36255 								} LA85: ;
36256 							}
36257 						}
36258 					}
36259 					goto LA73_;
36260 					LA81_: ;
36261 					{
36262 					}
36263 					LA73_: ;
36264 				} LA5: ;
36265 				i_2 += ((NI) 1);
36266 			} LA4: ;
36267 		}
36268 	}
36269 	{
36270 		NIM_BOOL T91_;
36271 		NIM_BOOL T92_;
36272 		NIM_BOOL T93_;
36273 		NI T94_;
36274 		T91_ = (NIM_BOOL)0;
36275 		T92_ = (NIM_BOOL)0;
36276 		T93_ = (NIM_BOOL)0;
36277 		T94_ = (NI)0;
36278 		T94_ = len__ast_3198(result);
36279 		T93_ = (T94_ == ((NI) 1));
36280 		if (!(T93_)) goto LA95_;
36281 		T93_ = ((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL));
36282 		LA95_: ;
36283 		T92_ = T93_;
36284 		if (!(T92_)) goto LA96_;
36285 		T92_ = !((((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 16))&31U)))!=0));
36286 		LA96_: ;
36287 		T91_ = T92_;
36288 		if (!(T91_)) goto LA97_;
36289 		T91_ = !(((*(*result)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 105)));
36290 		LA97_: ;
36291 		if (!T91_) goto LA98_;
36292 		result = (*result)._kind_6.sons->data[((NI) 0)];
36293 	}
36294 	LA98_: ;
36295 	return result;
36296 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semRaise__sem_11562)36297 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semRaise__sem_11562)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
36298 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
36299 	result = NIM_NIL;
36300 	result = n;
36301 	checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
36302 	{
36303 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
36304 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
36305 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0));
36306 		typ = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
36307 		{
36308 			NIM_BOOL T7_;
36309 			T7_ = (NIM_BOOL)0;
36310 			T7_ = isImportedException__ast_4904(typ, (*(*c).graph).config);
36311 			if (!!(T7_)) goto LA8_;
36312 			typ = skipTypes__ast_3735(typ, TM__rF9caJawfOjYTjsgLVUSGFA_750);
36313 			{
36314 				if (!!(((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22)))) goto LA12_;
36315 				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);
36316 			}
36317 			LA12_: ;
36318 			{
36319 				NIM_BOOL T16_;
36320 				NI T17_;
36321 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T19_;
36322 				NIM_BOOL T20_;
36323 				NimStringDesc* T23_;
36324 				NimStringDesc* T24_;
36325 				T16_ = (NIM_BOOL)0;
36326 				T17_ = (NI)0;
36327 				T17_ = len__ast_4002(typ);
36328 				T16_ = (((NI) 0) < T17_);
36329 				if (!(T16_)) goto LA18_;
36330 				T19_ = NIM_NIL;
36331 				T19_ = lastSon__ast_3743(typ);
36332 				T20_ = (NIM_BOOL)0;
36333 				T20_ = isException__types_3991(T19_);
36334 				T16_ = !(T20_);
36335 				LA18_: ;
36336 				if (!T16_) goto LA21_;
36337 				T23_ = NIM_NIL;
36338 				T23_ = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
36339 				T24_ = NIM_NIL;
36340 				T24_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_753), T23_);
36341 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T24_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_754, NIM_FALSE);
36342 			}
36343 			LA21_: ;
36344 		}
36345 		LA8_: ;
36346 	}
36347 	LA3_: ;
36348 	return result;
36349 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semLowerLetVarCustomPragma__sem_9949)36350 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semLowerLetVarCustomPragma__sem_9949)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
36351 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
36352 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
36353 {	result = NIM_NIL;
36354 	b = (*a)._kind_6.sons->data[((NI) 0)];
36355 	{
36356 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nodePragma;
36357 		NIM_BOOL amb;
36358 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
36359 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lhs;
36360 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* clash;
36361 		tyArray__cypz0nHJsd9cnKgpO7fP5hQ T41_;
36362 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ret;
36363 		if (!((*b).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA3_;
36364 		{
36365 			NI T7_;
36366 			T7_ = (NI)0;
36367 			T7_ = len__ast_3198((*b)._kind_6.sons->data[((NI) 1)]);
36368 			if (!!((T7_ == ((NI) 1)))) goto LA8_;
36369 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
36370 			goto BeforeRet_;
36371 		}
36372 		LA8_: ;
36373 		nodePragma = (*(*b)._kind_6.sons->data[((NI) 1)])._kind_6.sons->data[((NI) 0)];
36374 		amb = NIM_FALSE;
36375 		sym = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
36376 		switch ((*nodePragma).kind) {
36377 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
36378 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
36379 		{
36380 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
36381 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* userPragma;
36382 			tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw w;
36383 			ident = considerQuotedIdent__lookups_28(c, nodePragma, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
36384 			userPragma = strTableGet__astalgo_3390((*c).userPragmas, ident);
36385 			{
36386 				if (!!((userPragma == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA13_;
36387 				result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
36388 				goto BeforeRet_;
36389 			}
36390 			LA13_: ;
36391 			w = whichPragma__trees_244(nodePragma);
36392 			{
36393 				NIM_BOOL T17_;
36394 				NIM_BOOL T18_;
36395 				NIM_BOOL T19_;
36396 				NIM_BOOL T22_;
36397 				NIM_BOOL T25_;
36398 				T17_ = (NIM_BOOL)0;
36399 				T18_ = (NIM_BOOL)0;
36400 				T19_ = (NIM_BOOL)0;
36401 				T19_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99));
36402 				if (!(T19_)) goto LA20_;
36403 				T19_ = ((TM__rF9caJawfOjYTjsgLVUSGFA_120[(NU)(w)>>3] &(1U<<((NU)(w)&7U)))!=0);
36404 				LA20_: ;
36405 				T18_ = T19_;
36406 				if (T18_) goto LA21_;
36407 				T22_ = (NIM_BOOL)0;
36408 				T22_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100));
36409 				if (!(T22_)) goto LA23_;
36410 				T22_ = ((TM__rF9caJawfOjYTjsgLVUSGFA_120[(NU)(w)>>3] &(1U<<((NU)(w)&7U)))!=0);
36411 				LA23_: ;
36412 				T18_ = T22_;
36413 				LA21_: ;
36414 				T17_ = T18_;
36415 				if (T17_) goto LA24_;
36416 				T25_ = (NIM_BOOL)0;
36417 				T25_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101));
36418 				if (!(T25_)) goto LA26_;
36419 				T25_ = ((TM__rF9caJawfOjYTjsgLVUSGFA_121[(NU)(w)>>3] &(1U<<((NU)(w)&7U)))!=0);
36420 				LA26_: ;
36421 				T17_ = T25_;
36422 				LA24_: ;
36423 				if (!T17_) goto LA27_;
36424 				result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
36425 				goto BeforeRet_;
36426 			}
36427 			LA27_: ;
36428 			sym = searchInScopes__lookups_423(c, ident, (&amb));
36429 			{
36430 				NIM_BOOL T31_;
36431 				T31_ = (NIM_BOOL)0;
36432 				T31_ = (sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
36433 				if (T31_) goto LA32_;
36434 				T31_ = (((*sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0);
36435 				LA32_: ;
36436 				if (!T31_) goto LA33_;
36437 				result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
36438 				goto BeforeRet_;
36439 			}
36440 			LA33_: ;
36441 		}
36442 		break;
36443 		case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
36444 		{
36445 			sym = (*nodePragma)._kind_4.sym;
36446 		}
36447 		break;
36448 		default:
36449 		{
36450 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
36451 			goto BeforeRet_;
36452 		}
36453 		break;
36454 		}
36455 		lhs = (*b)._kind_6.sons->data[((NI) 0)];
36456 		clash = strTableGet__astalgo_3390((*(*c).currentScope).symbols, (*lhs)._kind_5.ident);
36457 		{
36458 			if (!!((clash == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA39_;
36459 			wrongRedefinition__lookups_805(c, (*lhs).info, (*(*lhs)._kind_5.ident).s, (*clash).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14));
36460 		}
36461 		LA39_: ;
36462 		nimZeroMem((void*)T41_, sizeof(tyArray__cypz0nHJsd9cnKgpO7fP5hQ));
36463 		result = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), T41_, 0);
36464 		add__ast_4797(result, nodePragma);
36465 		add__ast_4797(result, lhs);
36466 		{
36467 			if (!!(((*(*a)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA44_;
36468 			add__ast_4797(result, (*a)._kind_6.sons->data[((NI) 1)]);
36469 		}
36470 		goto LA42_;
36471 		LA44_: ;
36472 		{
36473 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T47_;
36474 			T47_ = NIM_NIL;
36475 			T47_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23), (*a).info, (*(*c).graph).sysTypes[(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5))- 0]);
36476 			add__ast_4797(result, T47_);
36477 		}
36478 		LA42_: ;
36479 		add__ast_4797(result, (*a)._kind_6.sons->data[((NI) 2)]);
36480 		(*result).info = (*a).info;
36481 		ret = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*a).info);
36482 		add__ast_4797(ret, result);
36483 		result = semExprNoType__sem_60(c, ret);
36484 	}
36485 	LA3_: ;
36486 	}BeforeRet_: ;
36487 	return result;
36488 }
N_NIMCALL(void,errorSymChoiceUseQualifier__sem_10047)36489 N_LIB_PRIVATE N_NIMCALL(void, errorSymChoiceUseQualifier__sem_10047)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
36490 	NimStringDesc* err;
36491 	NimStringDesc* T1_;
36492 	NimStringDesc* T2_;
36493 	NI i;
36494 	T1_ = NIM_NIL;
36495 	T2_ = NIM_NIL;
36496 	T2_ = dollar___renderer_2106((*n)._kind_6.sons->data[((NI) 0)]);
36497 	T1_ = rawNewString((T2_ ? T2_->Sup.len : 0) + 24);
36498 appendString(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_755));
36499 appendString(T1_, T2_);
36500 appendString(T1_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
36501 	err = T1_;
36502 	i = ((NI) 0);
36503 	{
36504 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* child;
36505 		child = NIM_NIL;
36506 		{
36507 			NI i_2;
36508 			NI colontmp_;
36509 			NI i_3;
36510 			i_2 = (NI)0;
36511 			colontmp_ = (NI)0;
36512 			colontmp_ = safeLen__ast_3191(n);
36513 			i_3 = ((NI) 0);
36514 			{
36515 				while (1) {
36516 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* candidate;
36517 					NimStringDesc* T12_;
36518 					if (!(i_3 < colontmp_)) goto LA6;
36519 					i_2 = i_3;
36520 					child = (*n)._kind_6.sons->data[i_2];
36521 					candidate = (*child)._kind_4.sym;
36522 					{
36523 						if (!(i == ((NI) 0))) goto LA9_;
36524 						err = resizeString(err, 30);
36525 appendString(err, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_756));
36526 					}
36527 					goto LA7_;
36528 					LA9_: ;
36529 					{
36530 						err = resizeString(err, 1);
36531 appendString(err, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_270));
36532 					}
36533 					LA7_: ;
36534 					T12_ = NIM_NIL;
36535 					T12_ = rawNewString(((*(*(*candidate).owner).name).s ? (*(*(*candidate).owner).name).s->Sup.len : 0) + ((*(*candidate).name).s ? (*(*candidate).name).s->Sup.len : 0) + 3);
36536 appendString(T12_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_757));
36537 appendString(T12_, (*(*(*candidate).owner).name).s);
36538 appendString(T12_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_209));
36539 appendString(T12_, (*(*candidate).name).s);
36540 					err = resizeString(err, (T12_ ? T12_->Sup.len : 0) + 0);
36541 appendString(err, T12_);
36542 					i += ((NI) 1);
36543 					i_3 += ((NI) 1);
36544 				} LA6: ;
36545 			}
36546 		}
36547 	}
36548 	liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), err, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_758, NIM_FALSE);
36549 }
N_NIMCALL(NIM_BOOL,hasEmpty__sem_9842)36550 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasEmpty__sem_9842)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
36551 	NIM_BOOL result;
36552 	result = (NIM_BOOL)0;
36553 	{
36554 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T5_;
36555 		if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19))) goto LA3_;
36556 		T5_ = NIM_NIL;
36557 		T5_ = lastSon__ast_3743(typ);
36558 		result = ((*T5_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3));
36559 	}
36560 	goto LA1_;
36561 	LA3_: ;
36562 	{
36563 		if (!((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA7_;
36564 		{
36565 			tyObject_TType__facALICuu8zUj0hjvbTLFg** s;
36566 			NI i;
36567 			NI L;
36568 			NI T10_;
36569 			s = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
36570 			i = ((NI) 0);
36571 			T10_ = ((*typ).sons ? (*typ).sons->Sup.len : 0);
36572 			L = T10_;
36573 			{
36574 				while (1) {
36575 					NIM_BOOL T13_;
36576 					if (!(i < L)) goto LA12;
36577 					s = &(*typ).sons->data[i];
36578 					T13_ = (NIM_BOOL)0;
36579 					T13_ = result;
36580 					if (T13_) goto LA14_;
36581 					T13_ = hasEmpty__sem_9842((*s));
36582 					LA14_: ;
36583 					result = T13_;
36584 					i += ((NI) 1);
36585 				} LA12: ;
36586 			}
36587 		}
36588 	}
36589 	goto LA1_;
36590 	LA7_: ;
36591 	LA1_: ;
36592 	return result;
36593 }
N_NIMCALL(void,addToVarSection__sem_9733)36594 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) {
36595 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value;
36596 	NI T1_;
36597 	T1_ = (NI)0;
36598 	T1_ = len__ast_3198(identDefs);
36599 	value = (*identDefs)._kind_6.sons->data[(NI)(T1_ - ((NI) 1))];
36600 	{
36601 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* o;
36602 		if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA4_;
36603 		o = copyNode__ast_4336(orig);
36604 		add__ast_4797(o, identDefs);
36605 		add__ast_4797(result, o);
36606 	}
36607 	goto LA2_;
36608 	LA4_: ;
36609 	{
36610 		add__ast_4797(result, identDefs);
36611 	}
36612 	LA2_: ;
36613 }
N_NIMCALL(void,fillPartialObject__sem_9910)36614 N_LIB_PRIVATE N_NIMCALL(void, fillPartialObject__sem_9910)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
36615 	{
36616 		NI T3_;
36617 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
36618 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* y;
36619 		tyObject_TType__facALICuu8zUj0hjvbTLFg* obj;
36620 		T3_ = (NI)0;
36621 		T3_ = len__ast_3198(n);
36622 		if (!(T3_ == ((NI) 2))) goto LA4_;
36623 		x = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
36624 		y = considerQuotedIdent__lookups_28(c, (*n)._kind_6.sons->data[((NI) 1)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
36625 		obj = skipTypes__ast_3735((*x).typ, TM__rF9caJawfOjYTjsgLVUSGFA_97);
36626 		{
36627 			NIM_BOOL T8_;
36628 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
36629 			tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T12_;
36630 			tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T13_;
36631 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
36632 			T8_ = (NIM_BOOL)0;
36633 			T8_ = ((*obj).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
36634 			if (!(T8_)) goto LA9_;
36635 			T8_ = (((*obj).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 16))&63U)))!=0);
36636 			LA9_: ;
36637 			if (!T8_) goto LA10_;
36638 			T12_ = NIM_NIL;
36639 			T12_ = getIdent__idents_143((*c).cache, (*y).s);
36640 			T13_ = nextSymId__ast_3132((*c).Sup.idgen);
36641 			field = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 19), T12_, T13_, (*obj).sym, (*(*n)._kind_6.sons->data[((NI) 1)]).info, 0);
36642 			asgnRef((void**) (&(*field).typ), skipIntLit__magicsys_124(typ, (*c).Sup.idgen));
36643 			(*field).position = len__ast_3198((*obj).n);
36644 			T14_ = NIM_NIL;
36645 			T14_ = newSymNode__ast_3716(field);
36646 			add__ast_4797((*obj).n, T14_);
36647 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), makeDeref__sem_9872(x));
36648 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), newSymNode__ast_3716(field));
36649 			asgnRef((void**) (&(*n).typ), (*field).typ);
36650 		}
36651 		goto LA6_;
36652 		LA10_: ;
36653 		{
36654 			NimStringDesc* T16_;
36655 			NimStringDesc* T17_;
36656 			T16_ = NIM_NIL;
36657 			T17_ = NIM_NIL;
36658 			T17_ = typeToString__types_50(obj, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
36659 			T16_ = rawNewString((T17_ ? T17_->Sup.len : 0) + 71);
36660 appendString(T16_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_768));
36661 appendString(T16_, T17_);
36662 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T16_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_769, NIM_FALSE);
36663 		}
36664 		LA6_: ;
36665 	}
36666 	goto LA1_;
36667 	LA4_: ;
36668 	{
36669 		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);
36670 	}
36671 	LA1_: ;
36672 }
N_NIMCALL(NIM_BOOL,isDiscardUnderscore__sem_9761)36673 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDiscardUnderscore__sem_9761)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v) {
36674 	NIM_BOOL result;
36675 	result = (NIM_BOOL)0;
36676 	{
36677 		if (!eqStrings((*(*v).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_772))) goto LA3_;
36678 		(*v).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37)) & 63);
36679 		result = NIM_TRUE;
36680 	}
36681 	LA3_: ;
36682 	return result;
36683 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,findShadowedVar__sem_9651)36684 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, findShadowedVar__sem_9651)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v) {
36685 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
36686 {	result = NIM_NIL;
36687 	{
36688 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* scope;
36689 		scope = NIM_NIL;
36690 		{
36691 			tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* s;
36692 			tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* current;
36693 			s = NIM_NIL;
36694 			current = (*(*c).currentScope).parent;
36695 			{
36696 				while (1) {
36697 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* shadowed;
36698 					if (!!((current == ((tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw*) NIM_NIL)))) goto LA4;
36699 					s = current;
36700 					{
36701 						if (!(s == (*c).topLevelScope)) goto LA7_;
36702 						goto LA2;
36703 					}
36704 					LA7_: ;
36705 					scope = s;
36706 					shadowed = strTableGet__astalgo_3390((*scope).symbols, (*v).name);
36707 					{
36708 						NIM_BOOL T11_;
36709 						T11_ = (NIM_BOOL)0;
36710 						T11_ = !((shadowed == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
36711 						if (!(T11_)) goto LA12_;
36712 						T11_ = ((2099976 &((NU32)1<<((NU)((*shadowed).kind)&31U)))!=0);
36713 						LA12_: ;
36714 						if (!T11_) goto LA13_;
36715 						result = shadowed;
36716 						goto BeforeRet_;
36717 					}
36718 					LA13_: ;
36719 					current = (*current).parent;
36720 				} LA4: ;
36721 			}
36722 		} LA2: ;
36723 	}
36724 	}BeforeRet_: ;
36725 	return result;
36726 }
N_NIMCALL(void,setVarType__sem_9941)36727 N_LIB_PRIVATE N_NIMCALL(void, setVarType__sem_9941)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
36728 	{
36729 		NIM_BOOL T3_;
36730 		NIM_BOOL T5_;
36731 		NimStringDesc* T8_;
36732 		NimStringDesc* T9_;
36733 		NimStringDesc* T10_;
36734 		T3_ = (NIM_BOOL)0;
36735 		T3_ = !(((*v).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
36736 		if (!(T3_)) goto LA4_;
36737 		T5_ = (NIM_BOOL)0;
36738 		T5_ = sameTypeOrNil__types_1839((*v).typ, typ, 0);
36739 		T3_ = !(T5_);
36740 		LA4_: ;
36741 		if (!T3_) goto LA6_;
36742 		T8_ = NIM_NIL;
36743 		T9_ = NIM_NIL;
36744 		T9_ = typeToString__types_50((*v).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
36745 		T10_ = NIM_NIL;
36746 		T10_ = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 1));
36747 		T8_ = rawNewString(((*(*v).name).s ? (*(*v).name).s->Sup.len : 0) + (T9_ ? T9_->Sup.len : 0) + (T10_ ? T10_->Sup.len : 0) + 82);
36748 appendString(T8_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_776));
36749 appendString(T8_, (*(*v).name).s);
36750 appendString(T8_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_777));
36751 appendString(T8_, T9_);
36752 appendString(T8_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_778));
36753 appendString(T8_, T10_);
36754 		liMessage__msgs_1118((*(*c).graph).config, (*v).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T8_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_779, NIM_FALSE);
36755 	}
36756 	LA6_: ;
36757 	asgnRef((void**) (&(*v).typ), typ);
36758 }
N_NIMCALL(void,defaultConstructionError__sem_138)36759 N_LIB_PRIVATE N_NIMCALL(void, defaultConstructionError__sem_138)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
36760 	tyObject_TType__facALICuu8zUj0hjvbTLFg* objType;
36761 	objType = t;
36762 	{
36763 		while (1) {
36764 			if (!!(((*objType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*objType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13)))) goto LA2;
36765 			objType = lastSon__ast_3743(objType);
36766 		} LA2: ;
36767 	}
36768 	{
36769 		tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw constrCtx;
36770 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
36771 		tyEnum_InitStatus__smZpQZ1Iq7YmllUO9aDjzwQ initResult;
36772 		if (!((*objType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA5_;
36773 		nimZeroMem((void*)(&constrCtx), sizeof(tyObject_ObjConstrContext__9baThpYqCcrX9ahozMBSUCQw));
36774 		T7_ = NIM_NIL;
36775 		T7_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38), info);
36776 		initConstrContext__sem_19652(objType, T7_, (&constrCtx));
36777 		initResult = semConstructTypeAux__sem_19627(c, (&constrCtx), 0);
36778 		{
36779 			NI T10_;
36780 			tyArray__Re75IspeoxXy2oCZHwcRrA T13_;
36781 			NimStringDesc* T14_;
36782 			T10_ = (constrCtx.missingFields ? constrCtx.missingFields->Sup.len : 0);
36783 			if (!(((NI) 0) < T10_)) goto LA11_;
36784 			nimZeroMem((void*)T13_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
36785 			T13_[0] = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
36786 			T13_[1] = listSymbolNames__astalgo_4310(constrCtx.missingFields->data, (constrCtx.missingFields ? constrCtx.missingFields->Sup.len : 0));
36787 			T14_ = NIM_NIL;
36788 			T14_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_781), T13_, 2);
36789 			liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T14_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_782, NIM_FALSE);
36790 		}
36791 		LA11_: ;
36792 	}
36793 	goto LA3_;
36794 	LA5_: ;
36795 	{
36796 		NimStringDesc* T18_;
36797 		NimStringDesc* T19_;
36798 		if (!((*objType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA16_;
36799 		T18_ = NIM_NIL;
36800 		T18_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
36801 		T19_ = NIM_NIL;
36802 		T19_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_783), T18_);
36803 		liMessage__msgs_1118((*(*c).graph).config, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T19_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_784, NIM_FALSE);
36804 	}
36805 	goto LA3_;
36806 	LA16_: ;
36807 	{
36808 	}
36809 	LA3_: ;
36810 }
N_NIMCALL(void,checkNilable__sem_9708)36811 N_LIB_PRIVATE N_NIMCALL(void, checkNilable__sem_9708)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v) {
36812 	{
36813 		NIM_BOOL T3_;
36814 		T3_ = (NIM_BOOL)0;
36815 		T3_ = ((72 & (*v).flags) == 8);
36816 		if (!(T3_)) goto LA4_;
36817 		T3_ = requiresInit__typeallowed_578((*v).typ);
36818 		LA4_: ;
36819 		if (!T3_) goto LA5_;
36820 		{
36821 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
36822 			T9_ = NIM_NIL;
36823 			T9_ = astdef__ast_3483(v);
36824 			if (!(T9_ == 0)) goto LA10_;
36825 			liMessage__msgs_1118((*(*c).graph).config, (*v).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 41), (*(*v).name).s, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_785, NIM_FALSE);
36826 		}
36827 		goto LA7_;
36828 		LA10_: ;
36829 		{
36830 			NIM_BOOL T13_;
36831 			NIM_BOOL T14_;
36832 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T16_;
36833 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
36834 			T13_ = (NIM_BOOL)0;
36835 			T14_ = (NIM_BOOL)0;
36836 			T14_ = (((*(*v).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0);
36837 			if (!(T14_)) goto LA15_;
36838 			T16_ = NIM_NIL;
36839 			T16_ = astdef__ast_3483(v);
36840 			T14_ = !(((*T16_).typ == 0));
36841 			LA15_: ;
36842 			T13_ = T14_;
36843 			if (!(T13_)) goto LA17_;
36844 			T18_ = NIM_NIL;
36845 			T18_ = astdef__ast_3483(v);
36846 			T13_ = !((((*(*T18_).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 17))&63U)))!=0));
36847 			LA17_: ;
36848 			if (!T13_) goto LA19_;
36849 			liMessage__msgs_1118((*(*c).graph).config, (*v).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 41), (*(*v).name).s, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_786, NIM_FALSE);
36850 		}
36851 		goto LA7_;
36852 		LA19_: ;
36853 		LA7_: ;
36854 	}
36855 	LA5_: ;
36856 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semVarOrLet__sem_10066)36857 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semVarOrLet__sem_10066)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw symkind) {
36858 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
36859 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
36860 {	result = NIM_NIL;
36861 	{
36862 		NI T3_;
36863 		T3_ = (NI)0;
36864 		T3_ = len__ast_3198(n);
36865 		if (!(T3_ == ((NI) 1))) goto LA4_;
36866 		result = semLowerLetVarCustomPragma__sem_9949(c, (*n)._kind_6.sons->data[((NI) 0)], n);
36867 		{
36868 			if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA8_;
36869 			goto BeforeRet_;
36870 		}
36871 		LA8_: ;
36872 	}
36873 	LA4_: ;
36874 	b = NIM_NIL;
36875 	result = copyNode__ast_4336(n);
36876 	{
36877 		NI i;
36878 		NI colontmp_;
36879 		NI i_2;
36880 		i = (NI)0;
36881 		colontmp_ = (NI)0;
36882 		colontmp_ = len__ast_3198(n);
36883 		i_2 = ((NI) 0);
36884 		{
36885 			while (1) {
36886 				if (!(i_2 < colontmp_)) goto LA12;
36887 				i = i_2;
36888 				{
36889 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
36890 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
36891 					tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg typFlags;
36892 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
36893 					tyObject_TType__facALICuu8zUj0hjvbTLFg* tup;
36894 					a = (*n)._kind_6.sons->data[i];
36895 					{
36896 						if (!((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11))) goto LA16_;
36897 						suggestStmt__sigmatch_6552(c, a);
36898 					}
36899 					LA16_: ;
36900 					{
36901 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA20_;
36902 						goto LA13;
36903 					}
36904 					LA20_: ;
36905 					{
36906 						if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36)))) goto LA24_;
36907 						illFormedAst__semdata_1071(a, (*(*c).graph).config);
36908 					}
36909 					LA24_: ;
36910 					checkMinSonsLen__semdata_1084(a, ((NI) 3), (*(*c).graph).config);
36911 					typ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
36912 					{
36913 						NI T28_;
36914 						NI T31_;
36915 						T28_ = (NI)0;
36916 						T28_ = len__ast_3198(a);
36917 						if (!!(((*(*a)._kind_6.sons->data[(NI)(T28_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA29_;
36918 						T31_ = (NI)0;
36919 						T31_ = len__ast_3198(a);
36920 						typ = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[(NI)(T31_ - ((NI) 2))], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
36921 					}
36922 					LA29_: ;
36923 					nimZeroMem((void*)(&typFlags), sizeof(tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg));
36924 					def = (*(*c).graph).emptyNode;
36925 					{
36926 						NI T34_;
36927 						NI T37_;
36928 						T34_ = (NI)0;
36929 						T34_ = len__ast_3198(a);
36930 						if (!!(((*(*a)._kind_6.sons->data[(NI)(T34_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA35_;
36931 						T37_ = (NI)0;
36932 						T37_ = len__ast_3198(a);
36933 						def = semExprWithType__sem_56(c, (*a)._kind_6.sons->data[(NI)(T37_ - ((NI) 1))], 0);
36934 						{
36935 							NIM_BOOL T40_;
36936 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T42_;
36937 							T40_ = (NIM_BOOL)0;
36938 							T40_ = ((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57));
36939 							if (!(T40_)) goto LA41_;
36940 							T42_ = NIM_NIL;
36941 							T42_ = skipTypes__ast_3735((*(*def)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
36942 							T40_ = ((*T42_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
36943 							LA41_: ;
36944 							if (!T40_) goto LA43_;
36945 							errorSymChoiceUseQualifier__sem_10047(c, def);
36946 						}
36947 						goto LA38_;
36948 						LA43_: ;
36949 						{
36950 							NIM_BOOL T46_;
36951 							T46_ = (NIM_BOOL)0;
36952 							T46_ = ((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
36953 							if (!(T46_)) goto LA47_;
36954 							T46_ = ((393216 &((NU32)1<<((NU)((*(*def)._kind_4.sym).kind)&31U)))!=0);
36955 							LA47_: ;
36956 							if (!T46_) goto LA48_;
36957 							typFlags |= ((NU8)1)<<((((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 5)) & 7);
36958 						}
36959 						goto LA38_;
36960 						LA48_: ;
36961 						{
36962 							NIM_BOOL T51_;
36963 							T51_ = (NIM_BOOL)0;
36964 							T51_ = ((*(*def).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
36965 							if (!(T51_)) goto LA52_;
36966 							T51_ = !(((*(*(*c).p).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)));
36967 							LA52_: ;
36968 							if (!T51_) goto LA53_;
36969 							typFlags |= ((NU8)1)<<((((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 6)) & 7);
36970 						}
36971 						goto LA38_;
36972 						LA53_: ;
36973 						LA38_: ;
36974 						{
36975 							if (!!((typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA57_;
36976 							{
36977 								NIM_BOOL T61_;
36978 								T61_ = (NIM_BOOL)0;
36979 								T61_ = isMetaType__ast_3495(typ);
36980 								if (!T61_) goto LA62_;
36981 								def = inferWithMetatype__sem_231(c, typ, def, NIM_FALSE);
36982 								typ = (*def).typ;
36983 							}
36984 							goto LA59_;
36985 							LA62_: ;
36986 							{
36987 								def = fitNodeConsiderViewType__sem_212(c, typ, def, (*def).info);
36988 							}
36989 							LA59_: ;
36990 						}
36991 						goto LA55_;
36992 						LA57_: ;
36993 						{
36994 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T66_;
36995 							T66_ = NIM_NIL;
36996 							T66_ = skipTypes__ast_3735((*def).typ, TM__rF9caJawfOjYTjsgLVUSGFA_759);
36997 							typ = skipIntLit__magicsys_124(T66_, (*c).Sup.idgen);
36998 							{
36999 								NIM_BOOL T69_;
37000 								T69_ = (NIM_BOOL)0;
37001 								T69_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53));
37002 								if (!(T69_)) goto LA70_;
37003 								T69_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0);
37004 								LA70_: ;
37005 								if (!T69_) goto LA71_;
37006 								typ = lastSon__ast_3743(typ);
37007 							}
37008 							LA71_: ;
37009 							{
37010 								NIM_BOOL T75_;
37011 								NimStringDesc* T78_;
37012 								NimStringDesc* T79_;
37013 								T75_ = (NIM_BOOL)0;
37014 								T75_ = hasEmpty__sem_9842(typ);
37015 								if (!T75_) goto LA76_;
37016 								T78_ = NIM_NIL;
37017 								T78_ = toHumanStr__ast_5188((*typ).kind);
37018 								T79_ = NIM_NIL;
37019 								T79_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_760), T78_);
37020 								liMessage__msgs_1118((*(*c).graph).config, (*def).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T79_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_761, NIM_FALSE);
37021 							}
37022 							goto LA73_;
37023 							LA76_: ;
37024 							{
37025 								NIM_BOOL T81_;
37026 								NIM_BOOL T82_;
37027 								NimStringDesc* T87_;
37028 								NimStringDesc* T88_;
37029 								T81_ = (NIM_BOOL)0;
37030 								T82_ = (NIM_BOOL)0;
37031 								T82_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
37032 								if (!(T82_)) goto LA83_;
37033 								T82_ = ((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
37034 								LA83_: ;
37035 								T81_ = T82_;
37036 								if (!(T81_)) goto LA84_;
37037 								T81_ = isGenericRoutine__ast_4627((*(*def)._kind_4.sym).ast);
37038 								LA84_: ;
37039 								if (!T81_) goto LA85_;
37040 								T87_ = NIM_NIL;
37041 								T87_ = renderTree__renderer_46(def, 0);
37042 								T88_ = NIM_NIL;
37043 								T88_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_762), T87_);
37044 								liMessage__msgs_1118((*(*c).graph).config, (*def).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T88_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_763, NIM_FALSE);
37045 							}
37046 							goto LA73_;
37047 							LA85_: ;
37048 							LA73_: ;
37049 						}
37050 						LA55_: ;
37051 					}
37052 					LA35_: ;
37053 					{
37054 						if (!(typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA91_;
37055 						goto LA13;
37056 					}
37057 					LA91_: ;
37058 					{
37059 						if (!!(((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)))) goto LA95_;
37060 						typFlags |= ((NU8)1)<<((((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 2)) & 7);
37061 					}
37062 					LA95_: ;
37063 					typeAllowedCheck__sem_481(c, (*a).info, typ, symkind, typFlags);
37064 					tup = skipTypes__ast_3735(typ, TM__rF9caJawfOjYTjsgLVUSGFA_137);
37065 					{
37066 						NI T110_;
37067 						NI T111_;
37068 						NI T112_;
37069 						NI T113_;
37070 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA99_;
37071 						{
37072 							if (!!(((*tup).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18)))) goto LA103_;
37073 							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);
37074 						}
37075 						goto LA101_;
37076 						LA103_: ;
37077 						{
37078 							NI T106_;
37079 							NI T107_;
37080 							T106_ = (NI)0;
37081 							T106_ = len__ast_3198(a);
37082 							T107_ = (NI)0;
37083 							T107_ = len__ast_4002(tup);
37084 							if (!!(((NI)(T106_ - ((NI) 2)) == T107_))) goto LA108_;
37085 							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);
37086 						}
37087 						goto LA101_;
37088 						LA108_: ;
37089 						LA101_: ;
37090 						b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36), (*a).info);
37091 						T110_ = (NI)0;
37092 						T110_ = len__ast_3198(a);
37093 						newSons__semtypinst_404(b, T110_);
37094 						T111_ = (NI)0;
37095 						T111_ = len__ast_3198(b);
37096 						T112_ = (NI)0;
37097 						T112_ = len__ast_3198(a);
37098 						asgnRef((void**) (&(*b)._kind_6.sons->data[(NI)(T111_ - ((NI) 2))]), (*a)._kind_6.sons->data[(NI)(T112_ - ((NI) 2))]);
37099 						T113_ = (NI)0;
37100 						T113_ = len__ast_3198(b);
37101 						asgnRef((void**) (&(*b)._kind_6.sons->data[(NI)(T113_ - ((NI) 1))]), def);
37102 						addToVarSection__sem_9733(c, result, n, b);
37103 					}
37104 					goto LA97_;
37105 					LA99_: ;
37106 					{
37107 						NIM_BOOL T115_;
37108 						NIM_BOOL T116_;
37109 						NIM_BOOL T117_;
37110 						NI T121_;
37111 						T115_ = (NIM_BOOL)0;
37112 						T116_ = (NIM_BOOL)0;
37113 						T117_ = (NIM_BOOL)0;
37114 						T117_ = ((*tup).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
37115 						if (!(T117_)) goto LA118_;
37116 						T117_ = ((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160));
37117 						LA118_: ;
37118 						T116_ = T117_;
37119 						if (!(T116_)) goto LA119_;
37120 						T116_ = ((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35));
37121 						LA119_: ;
37122 						T115_ = T116_;
37123 						if (!(T115_)) goto LA120_;
37124 						T121_ = (NI)0;
37125 						T121_ = len__ast_3198(a);
37126 						T115_ = (((NI) 3) < T121_);
37127 						LA120_: ;
37128 						if (!T115_) goto LA122_;
37129 						liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 38), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_767, NIM_FALSE);
37130 					}
37131 					goto LA97_;
37132 					LA122_: ;
37133 					LA97_: ;
37134 					{
37135 						NI j;
37136 						NI colontmp__2;
37137 						NI T125_;
37138 						NI i_3;
37139 						j = (NI)0;
37140 						colontmp__2 = (NI)0;
37141 						T125_ = (NI)0;
37142 						T125_ = len__ast_3198(a);
37143 						colontmp__2 = (NI)(T125_ - ((NI) 2));
37144 						i_3 = ((NI) 0);
37145 						{
37146 							while (1) {
37147 								if (!(i_3 < colontmp__2)) goto LA127;
37148 								j = i_3;
37149 								{
37150 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
37151 									{
37152 										tyObject_TType__facALICuu8zUj0hjvbTLFg* T133_;
37153 										if (!((*(*a)._kind_6.sons->data[j]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA131_;
37154 										T133_ = NIM_NIL;
37155 										{
37156 											if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36)))) goto LA136_;
37157 											T133_ = typ;
37158 										}
37159 										goto LA134_;
37160 										LA136_: ;
37161 										{
37162 											T133_ = (*tup).sons->data[j];
37163 										}
37164 										LA134_: ;
37165 										fillPartialObject__sem_9910(c, (*a)._kind_6.sons->data[j], T133_);
37166 										addToVarSection__sem_9733(c, result, n, a);
37167 										goto LA128;
37168 									}
37169 									LA131_: ;
37170 									v = semIdentDef__sem_9679(c, (*a)._kind_6.sons->data[j], symkind);
37171 									{
37172 										NIM_BOOL T141_;
37173 										T141_ = (NIM_BOOL)0;
37174 										T141_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
37175 										if (!(T141_)) goto LA142_;
37176 										T141_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
37177 										LA142_: ;
37178 										if (!T141_) goto LA143_;
37179 										nep1CheckDefImpl__linter_110((*(*c).graph).config, (*v).info, v, (*v).kind);
37180 									}
37181 									LA143_: ;
37182 									{
37183 										if (!!((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA147_;
37184 										{
37185 											NIM_BOOL T151_;
37186 											T151_ = (NIM_BOOL)0;
37187 											T151_ = isDiscardUnderscore__sem_9761(v);
37188 											if (!!(T151_)) goto LA152_;
37189 											addInterfaceDecl__lookups_879(c, v);
37190 										}
37191 										LA152_: ;
37192 									}
37193 									goto LA145_;
37194 									LA147_: ;
37195 									{
37196 										{
37197 											if (!((*v).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA157_;
37198 											asgnRef((void**) (&(*v).owner), (*(*c).p).owner);
37199 										}
37200 										LA157_: ;
37201 									}
37202 									LA145_: ;
37203 									{
37204 										if (!(((NI) 0) < (*c).inUnrolledContext)) goto LA161_;
37205 										(*v).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 25)) & 63);
37206 									}
37207 									goto LA159_;
37208 									LA161_: ;
37209 									{
37210 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* shadowed;
37211 										shadowed = findShadowedVar__sem_9651(c, v);
37212 										{
37213 											if (!!((shadowed == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA166_;
37214 											(*shadowed).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 25)) & 63);
37215 											{
37216 												NIM_BOOL T170_;
37217 												T170_ = (NIM_BOOL)0;
37218 												T170_ = ((*shadowed).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 11));
37219 												if (!(T170_)) goto LA171_;
37220 												T170_ = !((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0));
37221 												LA171_: ;
37222 												if (!T170_) goto LA172_;
37223 												liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 53), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_773, NIM_FALSE);
37224 											}
37225 											LA172_: ;
37226 										}
37227 										LA166_: ;
37228 									}
37229 									LA159_: ;
37230 									{
37231 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T192_;
37232 										NI T193_;
37233 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T194_;
37234 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
37235 										NI T203_;
37236 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T204_;
37237 										if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36)))) goto LA176_;
37238 										{
37239 											if (!!(((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA180_;
37240 											{
37241 												if (!(((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 26))&63U)))!=0)) goto LA184_;
37242 												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);
37243 											}
37244 											LA184_: ;
37245 										}
37246 										LA180_: ;
37247 										setVarType__sem_9941(c, v, typ);
37248 										b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), (*a).info);
37249 										{
37250 											NIM_BOOL T188_;
37251 											NimStringDesc* T191_;
37252 											T188_ = (NIM_BOOL)0;
37253 											T188_ = importantComments__options_3985((*(*c).graph).config);
37254 											if (!T188_) goto LA189_;
37255 											T191_ = NIM_NIL;
37256 											T191_ = comment__ast_993(a);
37257 											commenteq___ast_1361(b, T191_);
37258 										}
37259 										LA189_: ;
37260 										T192_ = NIM_NIL;
37261 										T192_ = newSymNode__ast_3716(v);
37262 										add__ast_4797(b, T192_);
37263 										T193_ = (NI)0;
37264 										T193_ = len__ast_3198(a);
37265 										add__ast_4797(b, (*a)._kind_6.sons->data[(NI)(T193_ - ((NI) 2))]);
37266 										T194_ = NIM_NIL;
37267 										T194_ = copyTree__ast_4431(def);
37268 										add__ast_4797(b, T194_);
37269 										addToVarSection__sem_9733(c, result, n, b);
37270 										ast = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), (*a).info);
37271 										{
37272 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
37273 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T199_;
37274 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T200_;
37275 											if (!((*(*a)._kind_6.sons->data[j]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA197_;
37276 											p = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43), (*a).info);
37277 											T199_ = NIM_NIL;
37278 											T199_ = newSymNode__ast_3716(v);
37279 											add__ast_4797(p, T199_);
37280 											T200_ = NIM_NIL;
37281 											T200_ = copyTree__ast_4431((*(*a)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 1)]);
37282 											add__ast_4797(p, T200_);
37283 											add__ast_4797(ast, p);
37284 										}
37285 										goto LA195_;
37286 										LA197_: ;
37287 										{
37288 											tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T202_;
37289 											T202_ = NIM_NIL;
37290 											T202_ = newSymNode__ast_3716(v);
37291 											add__ast_4797(ast, T202_);
37292 										}
37293 										LA195_: ;
37294 										T203_ = (NI)0;
37295 										T203_ = len__ast_3198(a);
37296 										T204_ = NIM_NIL;
37297 										T204_ = copyTree__ast_4431((*a)._kind_6.sons->data[(NI)(T203_ - ((NI) 2))]);
37298 										add__ast_4797(ast, T204_);
37299 										add__ast_4797(ast, def);
37300 										asgnRef((void**) (&(*v).ast), ast);
37301 									}
37302 									goto LA174_;
37303 									LA176_: ;
37304 									{
37305 										{
37306 											if (!((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160))) goto LA208_;
37307 											asgnRef((void**) (&(*v).ast), (*def)._kind_6.sons->data[j]);
37308 										}
37309 										LA208_: ;
37310 										{
37311 											if (!((*tup).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA212_;
37312 											setVarType__sem_9941(c, v, (*tup).sons->data[j]);
37313 										}
37314 										goto LA210_;
37315 										LA212_: ;
37316 										{
37317 											asgnRef((void**) (&(*v).typ), tup);
37318 										}
37319 										LA210_: ;
37320 										asgnRef((void**) (&(*b)._kind_6.sons->data[j]), newSymNode__ast_3716(v));
37321 									}
37322 									LA174_: ;
37323 									{
37324 										tyObject_TType__facALICuu8zUj0hjvbTLFg* actualType;
37325 										if (!((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA217_;
37326 										actualType = skipTypes__ast_3735((*v).typ, TM__rF9caJawfOjYTjsgLVUSGFA_780);
37327 										{
37328 											NIM_BOOL T221_;
37329 											T221_ = (NIM_BOOL)0;
37330 											T221_ = ((*actualType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*actualType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13));
37331 											if (!(T221_)) goto LA222_;
37332 											T221_ = requiresInit__typeallowed_578(actualType);
37333 											LA222_: ;
37334 											if (!T221_) goto LA223_;
37335 											defaultConstructionError__sem_138(c, (*v).typ, (*v).info);
37336 										}
37337 										goto LA219_;
37338 										LA223_: ;
37339 										{
37340 											checkNilable__sem_9708(c, v);
37341 										}
37342 										LA219_: ;
37343 										{
37344 											NIM_BOOL T228_;
37345 											T228_ = (NIM_BOOL)0;
37346 											T228_ = ((*v).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9));
37347 											if (!(T228_)) goto LA229_;
37348 											T228_ = !((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0));
37349 											LA229_: ;
37350 											if (!T228_) goto LA230_;
37351 											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);
37352 										}
37353 										LA230_: ;
37354 									}
37355 									LA217_: ;
37356 									{
37357 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
37358 										if (!(((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0)) goto LA234_;
37359 										x = newNodeI__ast_3356((*result).kind, (*v).info);
37360 										add__ast_4797(x, (*result)._kind_6.sons->data[i]);
37361 										setupCompileTimeVar__vm_13765((*c).module, (*c).Sup.idgen, (*c).graph, x);
37362 									}
37363 									LA234_: ;
37364 									{
37365 										if (!(((*v).flags & 67108872) == 8)) goto LA238_;
37366 										liMessage__msgs_1118((*(*c).graph).config, (*v).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 96), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_789, NIM_FALSE);
37367 									}
37368 									LA238_: ;
37369 								} LA128: ;
37370 								i_3 += ((NI) 1);
37371 							} LA127: ;
37372 						}
37373 					}
37374 				} LA13: ;
37375 				i_2 += ((NI) 1);
37376 			} LA12: ;
37377 		}
37378 	}
37379 	}BeforeRet_: ;
37380 	return result;
37381 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,fitRemoveHiddenConv__sem_9629)37382 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, fitRemoveHiddenConv__sem_9629)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
37383 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
37384 	result = NIM_NIL;
37385 	result = fitNode__sem_70(c, typ, n, (*n).info);
37386 	{
37387 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* r1;
37388 		if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) || (*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59))) goto LA3_;
37389 		r1 = (*result)._kind_6.sons->data[((NI) 1)];
37390 		{
37391 			NIM_BOOL T7_;
37392 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T9_;
37393 			T7_ = (NIM_BOOL)0;
37394 			T7_ = ((*r1).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*r1).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15));
37395 			if (!(T7_)) goto LA8_;
37396 			T9_ = NIM_NIL;
37397 			T9_ = skipTypes__ast_3735(typ, TM__rF9caJawfOjYTjsgLVUSGFA_472);
37398 			T7_ = ((*T9_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*T9_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39));
37399 			LA8_: ;
37400 			if (!T7_) goto LA10_;
37401 			result = newFloatNode__ast_3809(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16), ((NF) ((*r1)._kind_1.intVal)));
37402 			(*result).info = (*n).info;
37403 			asgnRef((void**) (&(*result).typ), typ);
37404 			{
37405 				NIM_BOOL T14_;
37406 				tyArray__Re75IspeoxXy2oCZHwcRrA T17_;
37407 				NimStringDesc* T18_;
37408 				T14_ = (NIM_BOOL)0;
37409 				T14_ = floatRangeCheck__types_1604((*result)._kind_2.floatVal, typ);
37410 				if (!!(T14_)) goto LA15_;
37411 				nimZeroMem((void*)T17_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
37412 				T17_[0] = dollar___system_3118((*result)._kind_2.floatVal);
37413 				T17_[1] = typeToString__types_50(typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
37414 				T18_ = NIM_NIL;
37415 				T18_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_95), T17_, 2);
37416 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T18_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_790, NIM_FALSE);
37417 			}
37418 			LA15_: ;
37419 		}
37420 		goto LA5_;
37421 		LA10_: ;
37422 		{
37423 			changeType__sem_75(c, r1, typ, NIM_TRUE);
37424 			result = r1;
37425 		}
37426 		LA5_: ;
37427 	}
37428 	goto LA1_;
37429 	LA3_: ;
37430 	{
37431 		NIM_BOOL T21_;
37432 		T21_ = (NIM_BOOL)0;
37433 		T21_ = sameType__types_1815((*result).typ, typ, 0);
37434 		if (!!(T21_)) goto LA22_;
37435 		changeType__sem_75(c, result, typ, NIM_FALSE);
37436 	}
37437 	goto LA1_;
37438 	LA22_: ;
37439 	LA1_: ;
37440 	return result;
37441 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConst__sem_10429)37442 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConst__sem_10429)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
37443 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
37444 	result = NIM_NIL;
37445 	result = copyNode__ast_4336(n);
37446 	(*c).inStaticContext += ((NI) 1);
37447 	{
37448 		NI i;
37449 		NI colontmp_;
37450 		NI i_2;
37451 		i = (NI)0;
37452 		colontmp_ = (NI)0;
37453 		colontmp_ = len__ast_3198(n);
37454 		i_2 = ((NI) 0);
37455 		{
37456 			while (1) {
37457 				if (!(i_2 < colontmp_)) goto LA3;
37458 				i = i_2;
37459 				{
37460 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
37461 					tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
37462 					tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg typFlags;
37463 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
37464 					NI T23_;
37465 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
37466 					a = (*n)._kind_6.sons->data[i];
37467 					{
37468 						if (!((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11))) goto LA7_;
37469 						suggestStmt__sigmatch_6552(c, a);
37470 					}
37471 					LA7_: ;
37472 					{
37473 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA11_;
37474 						goto LA4;
37475 					}
37476 					LA11_: ;
37477 					{
37478 						if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36)))) goto LA15_;
37479 						illFormedAst__semdata_1071(a, (*(*c).graph).config);
37480 					}
37481 					LA15_: ;
37482 					checkMinSonsLen__semdata_1084(a, ((NI) 3), (*(*c).graph).config);
37483 					typ = ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL);
37484 					{
37485 						NI T19_;
37486 						NI T22_;
37487 						T19_ = (NI)0;
37488 						T19_ = len__ast_3198(a);
37489 						if (!!(((*(*a)._kind_6.sons->data[(NI)(T19_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA20_;
37490 						T22_ = (NI)0;
37491 						T22_ = len__ast_3198(a);
37492 						typ = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[(NI)(T22_ - ((NI) 2))], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
37493 					}
37494 					LA20_: ;
37495 					nimZeroMem((void*)(&typFlags), sizeof(tySet_tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg));
37496 					T23_ = (NI)0;
37497 					T23_ = len__ast_3198(a);
37498 					def = semExprWithType__sem_56(c, (*a)._kind_6.sons->data[(NI)(T23_ - ((NI) 1))], 0);
37499 					{
37500 						NIM_BOOL T26_;
37501 						T26_ = (NIM_BOOL)0;
37502 						T26_ = ((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
37503 						if (!(T26_)) goto LA27_;
37504 						T26_ = ((393216 &((NU32)1<<((NU)((*(*def)._kind_4.sym).kind)&31U)))!=0);
37505 						LA27_: ;
37506 						if (!T26_) goto LA28_;
37507 						typFlags |= ((NU8)1)<<((((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 5)) & 7);
37508 					}
37509 					goto LA24_;
37510 					LA28_: ;
37511 					{
37512 						NIM_BOOL T31_;
37513 						T31_ = (NIM_BOOL)0;
37514 						T31_ = ((*(*def).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
37515 						if (!(T31_)) goto LA32_;
37516 						T31_ = !(((*(*(*c).p).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17)));
37517 						LA32_: ;
37518 						if (!T31_) goto LA33_;
37519 						typFlags |= ((NU8)1)<<((((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 6)) & 7);
37520 					}
37521 					goto LA24_;
37522 					LA33_: ;
37523 					LA24_: ;
37524 					{
37525 						if (!!((typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA37_;
37526 						{
37527 							NIM_BOOL T41_;
37528 							T41_ = (NIM_BOOL)0;
37529 							T41_ = isMetaType__ast_3495(typ);
37530 							if (!T41_) goto LA42_;
37531 							def = inferWithMetatype__sem_231(c, typ, def, NIM_FALSE);
37532 							typ = (*def).typ;
37533 						}
37534 						goto LA39_;
37535 						LA42_: ;
37536 						{
37537 							def = fitRemoveHiddenConv__sem_9629(c, typ, def);
37538 						}
37539 						LA39_: ;
37540 					}
37541 					goto LA35_;
37542 					LA37_: ;
37543 					{
37544 						typ = (*def).typ;
37545 					}
37546 					LA35_: ;
37547 					def = semConstExpr__sem_611(c, def);
37548 					{
37549 						NI T50_;
37550 						if (!(def == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA48_;
37551 						T50_ = (NI)0;
37552 						T50_ = len__ast_3198(a);
37553 						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);
37554 						goto LA4;
37555 					}
37556 					LA48_: ;
37557 					{
37558 						if (!!(((*def).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23)))) goto LA53_;
37559 						{
37560 							if (!!(((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)))) goto LA57_;
37561 							typFlags |= ((NU8)1)<<((((tyEnum_TTypeAllowedFlag__JBIyoJI1E5LVXKYAX3xeBg) 2)) & 7);
37562 						}
37563 						LA57_: ;
37564 						typeAllowedCheck__sem_481(c, (*a).info, typ, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10), typFlags);
37565 					}
37566 					LA53_: ;
37567 					b = NIM_NIL;
37568 					{
37569 						NI T72_;
37570 						NI T73_;
37571 						NI T74_;
37572 						NI T75_;
37573 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA61_;
37574 						{
37575 							if (!!(((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18)))) goto LA65_;
37576 							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);
37577 						}
37578 						goto LA63_;
37579 						LA65_: ;
37580 						{
37581 							NI T68_;
37582 							NI T69_;
37583 							T68_ = (NI)0;
37584 							T68_ = len__ast_3198(a);
37585 							T69_ = (NI)0;
37586 							T69_ = len__ast_4002(typ);
37587 							if (!!(((NI)(T68_ - ((NI) 2)) == T69_))) goto LA70_;
37588 							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);
37589 						}
37590 						goto LA63_;
37591 						LA70_: ;
37592 						LA63_: ;
37593 						b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36), (*a).info);
37594 						T72_ = (NI)0;
37595 						T72_ = len__ast_3198(a);
37596 						newSons__semtypinst_404(b, T72_);
37597 						T73_ = (NI)0;
37598 						T73_ = len__ast_3198(b);
37599 						T74_ = (NI)0;
37600 						T74_ = len__ast_3198(a);
37601 						asgnRef((void**) (&(*b)._kind_6.sons->data[(NI)(T73_ - ((NI) 2))]), (*a)._kind_6.sons->data[(NI)(T74_ - ((NI) 2))]);
37602 						T75_ = (NI)0;
37603 						T75_ = len__ast_3198(b);
37604 						asgnRef((void**) (&(*b)._kind_6.sons->data[(NI)(T75_ - ((NI) 1))]), def);
37605 					}
37606 					LA61_: ;
37607 					{
37608 						NI j;
37609 						NI colontmp__2;
37610 						NI T77_;
37611 						NI i_3;
37612 						j = (NI)0;
37613 						colontmp__2 = (NI)0;
37614 						T77_ = (NI)0;
37615 						T77_ = len__ast_3198(a);
37616 						colontmp__2 = (NI)(T77_ - ((NI) 2));
37617 						i_3 = ((NI) 0);
37618 						{
37619 							while (1) {
37620 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
37621 								if (!(i_3 < colontmp__2)) goto LA79;
37622 								j = i_3;
37623 								v = semIdentDef__sem_9679(c, (*a)._kind_6.sons->data[j], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 10));
37624 								{
37625 									if (!!((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA82_;
37626 									addInterfaceDecl__lookups_879(c, v);
37627 								}
37628 								goto LA80_;
37629 								LA82_: ;
37630 								{
37631 									if (!((*v).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA85_;
37632 									asgnRef((void**) (&(*v).owner), getCurrOwner__semdata_315(c));
37633 								}
37634 								goto LA80_;
37635 								LA85_: ;
37636 								LA80_: ;
37637 								{
37638 									NIM_BOOL T89_;
37639 									T89_ = (NIM_BOOL)0;
37640 									T89_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
37641 									if (!(T89_)) goto LA90_;
37642 									T89_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
37643 									LA90_: ;
37644 									if (!T89_) goto LA91_;
37645 									nep1CheckDefImpl__linter_110((*(*c).graph).config, (*v).info, v, (*v).kind);
37646 								}
37647 								LA91_: ;
37648 								{
37649 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T103_;
37650 									tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T104_;
37651 									if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36)))) goto LA95_;
37652 									setVarType__sem_9941(c, v, typ);
37653 									asgnRef((void**) (&(*v).ast), def);
37654 									b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102), (*a).info);
37655 									{
37656 										NIM_BOOL T99_;
37657 										NimStringDesc* T102_;
37658 										T99_ = (NIM_BOOL)0;
37659 										T99_ = importantComments__options_3985((*(*c).graph).config);
37660 										if (!T99_) goto LA100_;
37661 										T102_ = NIM_NIL;
37662 										T102_ = comment__ast_993(a);
37663 										commenteq___ast_1361(b, T102_);
37664 									}
37665 									LA100_: ;
37666 									T103_ = NIM_NIL;
37667 									T103_ = newSymNode__ast_3716(v);
37668 									add__ast_4797(b, T103_);
37669 									add__ast_4797(b, (*a)._kind_6.sons->data[((NI) 1)]);
37670 									T104_ = NIM_NIL;
37671 									T104_ = copyTree__ast_4431(def);
37672 									add__ast_4797(b, T104_);
37673 								}
37674 								goto LA93_;
37675 								LA95_: ;
37676 								{
37677 									setVarType__sem_9941(c, v, (*typ).sons->data[j]);
37678 									{
37679 										if (!!(((*(*def)._kind_6.sons->data[j]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA108_;
37680 										asgnRef((void**) (&(*v).ast), (*def)._kind_6.sons->data[j]);
37681 									}
37682 									goto LA106_;
37683 									LA108_: ;
37684 									{
37685 										asgnRef((void**) (&(*v).ast), (*(*def)._kind_6.sons->data[j])._kind_6.sons->data[((NI) 1)]);
37686 									}
37687 									LA106_: ;
37688 									asgnRef((void**) (&(*b)._kind_6.sons->data[j]), newSymNode__ast_3716(v));
37689 								}
37690 								LA93_: ;
37691 								i_3 += ((NI) 1);
37692 							} LA79: ;
37693 						}
37694 					}
37695 					add__ast_4797(result, b);
37696 				} LA4: ;
37697 				i_2 += ((NI) 1);
37698 			} LA3: ;
37699 		}
37700 	}
37701 	(*c).inStaticContext -= ((NI) 1);
37702 	return result;
37703 }
N_NIMCALL(void,typeDefLeftSidePass__sem_11622)37704 N_LIB_PRIVATE N_NIMCALL(void, typeDefLeftSidePass__sem_11622)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typeSection, NI i) {
37705 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* typeDef_1;
37706 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* name;
37707 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
37708 {	typeDef_1 = (*typeSection)._kind_6.sons->data[i];
37709 	checkSonsLen__semdata_1077(typeDef_1, ((NI) 3), (*(*c).graph).config);
37710 	name = (*typeDef_1)._kind_6.sons->data[((NI) 0)];
37711 	s = NIM_NIL;
37712 	{
37713 		NIM_BOOL T3_;
37714 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* pkgName;
37715 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* typName;
37716 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* pkg;
37717 		T3_ = (NIM_BOOL)0;
37718 		T3_ = ((*name).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45));
37719 		if (!(T3_)) goto LA4_;
37720 		T3_ = ((*(*typeDef_1)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133));
37721 		LA4_: ;
37722 		if (!T3_) goto LA5_;
37723 		pkgName = considerQuotedIdent__lookups_28(c, (*name)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
37724 		typName = considerQuotedIdent__lookups_28(c, (*name)._kind_6.sons->data[((NI) 1)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
37725 		pkg = strTableGet__astalgo_3390((*(*c).graph).packageSyms, pkgName);
37726 		{
37727 			NIM_BOOL T9_;
37728 			NimStringDesc* T13_;
37729 			T9_ = (NIM_BOOL)0;
37730 			T9_ = (pkg == 0);
37731 			if (T9_) goto LA10_;
37732 			T9_ = !(((*pkg).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 24)));
37733 			LA10_: ;
37734 			if (!T9_) goto LA11_;
37735 			T13_ = NIM_NIL;
37736 			T13_ = rawNewString(((*pkgName).s ? (*pkgName).s->Sup.len : 0) + 22);
37737 appendString(T13_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_794));
37738 appendString(T13_, (*pkgName).s);
37739 			liMessage__msgs_1118((*(*c).graph).config, (*name).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T13_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_795, NIM_FALSE);
37740 		}
37741 		goto LA7_;
37742 		LA11_: ;
37743 		{
37744 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* typsym;
37745 			typsym = strTableGet__astalgo_3390((*(*c).graph).packageTypes, typName);
37746 			{
37747 				if (!(typsym == 0)) goto LA17_;
37748 				s = semIdentDef__sem_9679(c, (*name)._kind_6.sons->data[((NI) 1)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
37749 				asgnRef((void**) (&(*s).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17), c));
37750 				asgnRef((void**) (&(*(*s).typ).sym), s);
37751 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4)) & 63);
37752 				strTableAdd__astalgo_3332((&(*(*c).graph).packageTypes), s);
37753 				addInterfaceDecl__lookups_879(c, s);
37754 			}
37755 			goto LA15_;
37756 			LA17_: ;
37757 			{
37758 				NIM_BOOL T20_;
37759 				T20_ = (NIM_BOOL)0;
37760 				T20_ = ((*typsym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
37761 				if (!(T20_)) goto LA21_;
37762 				T20_ = (((*typsym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0);
37763 				LA21_: ;
37764 				if (!T20_) goto LA22_;
37765 				s = typsym;
37766 				addInterfaceDecl__lookups_879(c, s);
37767 			}
37768 			goto LA15_;
37769 			LA22_: ;
37770 			{
37771 				NimStringDesc* T25_;
37772 				T25_ = NIM_NIL;
37773 				T25_ = rawNewString(((*(*typsym).name).s ? (*(*typsym).name).s->Sup.len : 0) + 36);
37774 appendString(T25_, (*(*typsym).name).s);
37775 appendString(T25_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_796));
37776 				liMessage__msgs_1118((*(*c).graph).config, (*name).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T25_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_797, NIM_FALSE);
37777 				s = typsym;
37778 			}
37779 			LA15_: ;
37780 		}
37781 		LA7_: ;
37782 	}
37783 	goto LA1_;
37784 	LA5_: ;
37785 	{
37786 		s = semIdentDef__sem_9679(c, name, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
37787 		asgnRef((void**) (&(*s).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30), c));
37788 		asgnRef((void**) (&(*(*s).typ).sym), s);
37789 		{
37790 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* rewritten;
37791 			if (!((*name).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA29_;
37792 			rewritten = applyTypeSectionPragmas__sem_5714(c, (*name)._kind_6.sons->data[((NI) 1)], typeDef_1);
37793 			{
37794 				if (!!((rewritten == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA33_;
37795 				asgnRef((void**) (&(*typeSection)._kind_6.sons->data[i]), rewritten);
37796 				typeDefLeftSidePass__sem_11622(c, typeSection, i);
37797 				goto BeforeRet_;
37798 			}
37799 			LA33_: ;
37800 			pragma__pragmas_123(c, s, (*name)._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_499, NIM_FALSE);
37801 		}
37802 		LA29_: ;
37803 		{
37804 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* pkg_2;
37805 			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0)) goto LA37_;
37806 			pkg_2 = (*(*c).module).owner;
37807 			{
37808 				NIM_BOOL T41_;
37809 				NIM_BOOL T42_;
37810 				T41_ = (NIM_BOOL)0;
37811 				T42_ = (NIM_BOOL)0;
37812 				T42_ = isTopLevel__semdata_1091(c);
37813 				T41_ = !(T42_);
37814 				if (T41_) goto LA43_;
37815 				T41_ = (pkg_2 == 0);
37816 				LA43_: ;
37817 				if (!T41_) goto LA44_;
37818 				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);
37819 			}
37820 			goto LA39_;
37821 			LA44_: ;
37822 			{
37823 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* typsym_2;
37824 				typsym_2 = strTableGet__astalgo_3390((*(*c).graph).packageTypes, (*s).name);
37825 				{
37826 					if (!!((typsym_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA49_;
37827 					{
37828 						NIM_BOOL T53_;
37829 						T53_ = (NIM_BOOL)0;
37830 						T53_ = !((((*typsym_2).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0));
37831 						if (T53_) goto LA54_;
37832 						T53_ = !((((*typsym_2).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0));
37833 						LA54_: ;
37834 						if (!T53_) goto LA55_;
37835 						(*typsym_2).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10)) & 63);
37836 						(*typsym_2).info = (*s).info;
37837 					}
37838 					goto LA51_;
37839 					LA55_: ;
37840 					{
37841 						NimStringDesc* T58_;
37842 						NimStringDesc* T59_;
37843 						T58_ = NIM_NIL;
37844 						T59_ = NIM_NIL;
37845 						T59_ = dollar___msgs_624((*(*c).graph).config, (*typsym_2).info);
37846 						T58_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + (T59_ ? T59_->Sup.len : 0) + 66);
37847 appendString(T58_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_800));
37848 appendString(T58_, (*(*s).name).s);
37849 appendString(T58_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_801));
37850 appendString(T58_, T59_);
37851 						liMessage__msgs_1118((*(*c).graph).config, (*name).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T58_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_802, NIM_FALSE);
37852 					}
37853 					LA51_: ;
37854 					s = typsym_2;
37855 				}
37856 				LA49_: ;
37857 			}
37858 			LA39_: ;
37859 		}
37860 		LA37_: ;
37861 		{
37862 			if (!!((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA62_;
37863 			addInterfaceDecl__lookups_879(c, s);
37864 		}
37865 		goto LA60_;
37866 		LA62_: ;
37867 		{
37868 			if (!((*s).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA65_;
37869 			asgnRef((void**) (&(*s).owner), getCurrOwner__semdata_315(c));
37870 		}
37871 		goto LA60_;
37872 		LA65_: ;
37873 		LA60_: ;
37874 	}
37875 	LA1_: ;
37876 	{
37877 		if (!((*name).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA69_;
37878 		asgnRef((void**) (&(*(*typeDef_1)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(s));
37879 	}
37880 	goto LA67_;
37881 	LA69_: ;
37882 	{
37883 		asgnRef((void**) (&(*typeDef_1)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(s));
37884 	}
37885 	LA67_: ;
37886 	}BeforeRet_: ;
37887 }
N_NIMCALL(void,typeSectionLeftSidePass__sem_11722)37888 N_LIB_PRIVATE N_NIMCALL(void, typeSectionLeftSidePass__sem_11722)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
37889 	{
37890 		NI i;
37891 		NI colontmp_;
37892 		NI i_2;
37893 		i = (NI)0;
37894 		colontmp_ = (NI)0;
37895 		colontmp_ = len__ast_3198(n);
37896 		i_2 = ((NI) 0);
37897 		{
37898 			while (1) {
37899 				if (!(i_2 < colontmp_)) goto LA3;
37900 				i = i_2;
37901 				{
37902 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
37903 					a = (*n)._kind_6.sons->data[i];
37904 					{
37905 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA7_;
37906 						goto LA4;
37907 					}
37908 					LA7_: ;
37909 					{
37910 						if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA11_;
37911 						illFormedAst__semdata_1071(a, (*(*c).graph).config);
37912 					}
37913 					LA11_: ;
37914 					typeDefLeftSidePass__sem_11622(c, n, i);
37915 				} LA4: ;
37916 				i_2 += ((NI) 1);
37917 			} LA3: ;
37918 		}
37919 	}
37920 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,typeSectionTypeName__sem_11606)37921 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, typeSectionTypeName__sem_11606)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
37922 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
37923 	result = NIM_NIL;
37924 	{
37925 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA3_;
37926 		{
37927 			NI T7_;
37928 			T7_ = (NI)0;
37929 			T7_ = len__ast_3198(n);
37930 			if (!(T7_ == ((NI) 0))) goto LA8_;
37931 			illFormedAst__semdata_1071(n, (*(*c).graph).config);
37932 		}
37933 		LA8_: ;
37934 		result = (*n)._kind_6.sons->data[((NI) 0)];
37935 	}
37936 	goto LA1_;
37937 	LA3_: ;
37938 	{
37939 		result = n;
37940 	}
37941 	LA1_: ;
37942 	{
37943 		if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA13_;
37944 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
37945 	}
37946 	LA13_: ;
37947 	return result;
37948 }
N_NIMCALL(void,setMagicType__sem_6266)37949 N_LIB_PRIVATE N_NIMCALL(void, setMagicType__sem_6266)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, NI size) {
37950 	(*(*m).typ).kind = kind;
37951 	(*(*m).typ).size = ((NI64) (size));
37952 	(*(*m).typ).align = ((NI16) (size));
37953 	{
37954 		NIM_BOOL T3_;
37955 		T3_ = (NIM_BOOL)0;
37956 		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));
37957 		if (!(T3_)) goto LA4_;
37958 		T3_ = (size == ((NI) 8));
37959 		LA4_: ;
37960 		if (!T3_) goto LA5_;
37961 		(*(*m).typ).align = floatInt64Align__options_4700(conf);
37962 	}
37963 	LA5_: ;
37964 }
N_NIMCALL(void,setMagicIntegral__sem_6275)37965 N_LIB_PRIVATE N_NIMCALL(void, setMagicIntegral__sem_6275)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, NI size) {
37966 	setMagicType__sem_6266(conf, m, kind, size);
37967 	(*(*m).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
37968 }
N_NIMCALL(void,processMagicType__sem_6284)37969 N_LIB_PRIVATE N_NIMCALL(void, processMagicType__sem_6284)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m) {
37970 	switch ((*m).magic) {
37971 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 173):
37972 	{
37973 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31), (*(*(*c).graph).config).target.intSize);
37974 	}
37975 	break;
37976 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 174):
37977 	{
37978 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32), ((NI) 1));
37979 	}
37980 	break;
37981 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 175):
37982 	{
37983 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33), ((NI) 2));
37984 	}
37985 	break;
37986 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 176):
37987 	{
37988 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34), ((NI) 4));
37989 	}
37990 	break;
37991 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 177):
37992 	{
37993 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35), ((NI) 8));
37994 	}
37995 	break;
37996 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 178):
37997 	{
37998 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40), (*(*(*c).graph).config).target.intSize);
37999 	}
38000 	break;
38001 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 179):
38002 	{
38003 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41), ((NI) 1));
38004 	}
38005 	break;
38006 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 180):
38007 	{
38008 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42), ((NI) 2));
38009 	}
38010 	break;
38011 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 181):
38012 	{
38013 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43), ((NI) 4));
38014 	}
38015 	break;
38016 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 182):
38017 	{
38018 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44), ((NI) 8));
38019 	}
38020 	break;
38021 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 183):
38022 	{
38023 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36), (*(*(*c).graph).config).target.floatSize);
38024 	}
38025 	break;
38026 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 184):
38027 	{
38028 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37), ((NI) 4));
38029 	}
38030 	break;
38031 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 185):
38032 	{
38033 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38), ((NI) 8));
38034 	}
38035 	break;
38036 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 186):
38037 	{
38038 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39), ((NI) 16));
38039 	}
38040 	break;
38041 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 187):
38042 	{
38043 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1), ((NI) 1));
38044 	}
38045 	break;
38046 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 188):
38047 	{
38048 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2), ((NI) 1));
38049 	}
38050 	break;
38051 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 189):
38052 	{
38053 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T18_;
38054 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28), ((NI) -1));
38055 		T18_ = NIM_NIL;
38056 		T18_ = getSysType__magicsys_60((*c).graph, (*m).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
38057 		rawAddSon__ast_4288((*m).typ, T18_, NIM_TRUE);
38058 		{
38059 			if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA21_;
38060 			(*(*m).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31)) & 63);
38061 		}
38062 		LA21_: ;
38063 	}
38064 	break;
38065 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 190):
38066 	{
38067 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T24_;
38068 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29), (*(*(*c).graph).config).target.ptrSize);
38069 		T24_ = NIM_NIL;
38070 		T24_ = getSysType__magicsys_60((*c).graph, (*m).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2));
38071 		rawAddSon__ast_4288((*m).typ, T24_, NIM_TRUE);
38072 	}
38073 	break;
38074 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 191):
38075 	{
38076 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26), (*(*(*c).graph).config).target.ptrSize);
38077 	}
38078 	break;
38079 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 192):
38080 	{
38081 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5), (*(*(*c).graph).config).target.ptrSize);
38082 	}
38083 	break;
38084 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 193):
38085 	{
38086 		{
38087 			if (!eqStrings((*(*m).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_804))) goto LA30_;
38088 			setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59), ((NI) 0));
38089 		}
38090 		goto LA28_;
38091 		LA30_: ;
38092 		{
38093 			setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6), ((NI) 0));
38094 		}
38095 		LA28_: ;
38096 	}
38097 	break;
38098 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 194):
38099 	{
38100 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7), ((NI) 0));
38101 	}
38102 	break;
38103 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 195):
38104 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 17):
38105 	{
38106 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T35_;
38107 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8), ((NI) 0));
38108 		T35_ = NIM_NIL;
38109 		T35_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
38110 		rawAddSon__ast_4288((*m).typ, T35_, NIM_TRUE);
38111 	}
38112 	break;
38113 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 24):
38114 	{
38115 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T37_;
38116 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60), ((NI) 0));
38117 		T37_ = NIM_NIL;
38118 		T37_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
38119 		rawAddSon__ast_4288((*m).typ, T37_, NIM_TRUE);
38120 	}
38121 	break;
38122 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 196):
38123 	{
38124 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63), ((NI) 0));
38125 	}
38126 	break;
38127 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 159):
38128 	{
38129 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16), ((NI) -1));
38130 	}
38131 	break;
38132 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 160):
38133 	{
38134 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27), ((NI) -1));
38135 	}
38136 	break;
38137 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 164):
38138 	{
38139 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48), ((NI) -1));
38140 	}
38141 	break;
38142 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 161):
38143 	{
38144 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T43_;
38145 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20), ((NI) -1));
38146 		T43_ = NIM_NIL;
38147 		T43_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
38148 		rawAddSon__ast_4288((*m).typ, T43_, NIM_TRUE);
38149 	}
38150 	break;
38151 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 162):
38152 	{
38153 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19), ((NI) -1));
38154 	}
38155 	break;
38156 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 271):
38157 	{
38158 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49), ((NI) -1));
38159 	}
38160 	break;
38161 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 163):
38162 	{
38163 		setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24), ((NI) -1));
38164 		{
38165 			if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 40))&63U)))!=0)) goto LA49_;
38166 			(*(*m).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 31)) & 63);
38167 		}
38168 		LA49_: ;
38169 		{
38170 			NIM_BOOL T53_;
38171 			T53_ = (NIM_BOOL)0;
38172 			T53_ = NIM_FALSE;
38173 			if (T53_) goto LA54_;
38174 			T53_ = ((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 8));
38175 			LA54_: ;
38176 			if (!T53_) goto LA55_;
38177 		}
38178 		goto LA51_;
38179 		LA55_: ;
38180 		{
38181 		}
38182 		LA51_: ;
38183 		asgnRef((void**) (&(*(*c).graph).sysTypes[(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24))- 0]), (*m).typ);
38184 	}
38185 	break;
38186 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 171):
38187 	{
38188 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T59_;
38189 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15), ((NI) -1));
38190 		T59_ = NIM_NIL;
38191 		T59_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
38192 		rawAddSon__ast_4288((*m).typ, T59_, NIM_TRUE);
38193 	}
38194 	break;
38195 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 172):
38196 	{
38197 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T61_;
38198 		setMagicIntegral__sem_6275((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64), ((NI) 0));
38199 		T61_ = NIM_NIL;
38200 		T61_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
38201 		rawAddSon__ast_4288((*m).typ, T61_, NIM_TRUE);
38202 	}
38203 	break;
38204 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 197):
38205 	{
38206 		(*(*m).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 33)) & 63);
38207 		(*(*m).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 38)) & 63);
38208 	}
38209 	break;
38210 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 268):
38211 	{
38212 	}
38213 	break;
38214 	case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 269):
38215 	{
38216 		if (eqStrings((*(*m).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_805))) goto LA65_;
38217 		if (eqStrings((*(*m).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_806))) goto LA66_;
38218 		if (eqStrings((*(*m).name).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_535))) goto LA67_;
38219 		goto LA68_;
38220 		LA65_: ;
38221 		{
38222 			setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47), (*(*(*c).graph).config).target.ptrSize);
38223 		}
38224 		goto LA69_;
38225 		LA66_: ;
38226 		{
38227 			setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46), ((NI) -1));
38228 		}
38229 		goto LA69_;
38230 		LA67_: ;
38231 		{
38232 			setMagicType__sem_6266((*(*c).graph).config, m, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45), (*(*(*c).graph).config).target.ptrSize);
38233 			(*(*m).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4)) & 63);
38234 		}
38235 		goto LA69_;
38236 		LA68_: ;
38237 		{
38238 			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);
38239 		}
38240 		LA69_: ;
38241 	}
38242 	break;
38243 	default:
38244 	{
38245 		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);
38246 	}
38247 	break;
38248 	}
38249 }
N_NIMCALL(void,Marker_tyRef__XNJoeAba9c9cA3kTvTEsgqEQ)38250 static N_NIMCALL(void, Marker_tyRef__XNJoeAba9c9cA3kTvTEsgqEQ)(void* p, NI op) {
38251 	tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ* a;
38252 	a = (tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ*)p;
38253 	nimGCvisit((void*)(*a).genericType1, op);
38254 }
N_CLOSURE(NIM_BOOL,traverseSubTypes__sem_11752)38255 N_LIB_PRIVATE N_CLOSURE(NIM_BOOL, traverseSubTypes__sem_11752)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, void* ClE_0) {
38256 	NIM_BOOL result;
38257 	tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ* colonenvP_;
38258 {	result = (NIM_BOOL)0;
38259 	colonenvP_ = (tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ*) ClE_0;
38260 	result = NIM_FALSE;
38261 	switch ((*t).kind) {
38262 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
38263 	{
38264 		(*t).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 36)) & 63);
38265 		result = NIM_TRUE;
38266 		goto BeforeRet_;
38267 	}
38268 	break;
38269 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
38270 	{
38271 		{
38272 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field;
38273 			field = NIM_NIL;
38274 			{
38275 				NI i;
38276 				NI colontmp_;
38277 				NI i_2;
38278 				i = (NI)0;
38279 				colontmp_ = (NI)0;
38280 				colontmp_ = safeLen__ast_3191((*t).n);
38281 				i_2 = ((NI) 0);
38282 				{
38283 					while (1) {
38284 						NIM_BOOL subX60gensym3017_;
38285 						tyProc__u9aP1I541s9an9cuSAzDOz9bTg T7_;
38286 						NIM_BOOL T8_;
38287 						if (!(i_2 < colontmp_)) goto LA6;
38288 						i = i_2;
38289 						field = (*(*t).n)._kind_6.sons->data[i];
38290 						nimZeroMem((void*)(&T7_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38291 						T7_.ClP_0 = traverseSubTypes__sem_11752; T7_.ClE_0 = colonenvP_;
38292 						subX60gensym3017_ = T7_.ClE_0? T7_.ClP_0(c, (*field).typ, T7_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_810)(T7_.ClP_0))(c, (*field).typ);
38293 						T8_ = (NIM_BOOL)0;
38294 						T8_ = result;
38295 						if (T8_) goto LA9_;
38296 						T8_ = subX60gensym3017_;
38297 						LA9_: ;
38298 						result = T8_;
38299 						i_2 += ((NI) 1);
38300 					} LA6: ;
38301 				}
38302 			}
38303 		}
38304 	}
38305 	break;
38306 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
38307 	{
38308 		tyProc__u9aP1I541s9an9cuSAzDOz9bTg T11_;
38309 		nimZeroMem((void*)(&T11_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38310 		T11_.ClP_0 = traverseSubTypes__sem_11752; T11_.ClE_0 = colonenvP_;
38311 		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)]);
38312 		goto BeforeRet_;
38313 	}
38314 	break;
38315 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
38316 	{
38317 		{
38318 			tyObject_TType__facALICuu8zUj0hjvbTLFg** subType;
38319 			NI i_3;
38320 			NI L;
38321 			NI T14_;
38322 			subType = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
38323 			i_3 = ((NI) 0);
38324 			T14_ = ((*t).sons ? (*t).sons->Sup.len : 0);
38325 			L = T14_;
38326 			{
38327 				while (1) {
38328 					if (!(i_3 < L)) goto LA16;
38329 					subType = &(*t).sons->data[i_3];
38330 					{
38331 						NIM_BOOL subX60gensym3020_;
38332 						tyProc__u9aP1I541s9an9cuSAzDOz9bTg T21_;
38333 						NIM_BOOL T22_;
38334 						if (!!(((*subType) == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA19_;
38335 						nimZeroMem((void*)(&T21_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38336 						T21_.ClP_0 = traverseSubTypes__sem_11752; T21_.ClE_0 = colonenvP_;
38337 						subX60gensym3020_ = T21_.ClE_0? T21_.ClP_0(c, (*subType), T21_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_812)(T21_.ClP_0))(c, (*subType));
38338 						T22_ = (NIM_BOOL)0;
38339 						T22_ = result;
38340 						if (T22_) goto LA23_;
38341 						T22_ = subX60gensym3020_;
38342 						LA23_: ;
38343 						result = T22_;
38344 					}
38345 					LA19_: ;
38346 					i_3 += ((NI) 1);
38347 				} LA16: ;
38348 			}
38349 		}
38350 		{
38351 			NimStringDesc* T28_;
38352 			NimStringDesc* T29_;
38353 			if (!result) goto LA26_;
38354 			T28_ = NIM_NIL;
38355 			T29_ = NIM_NIL;
38356 			T29_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
38357 			T28_ = rawNewString((T29_ ? T29_->Sup.len : 0) + 46);
38358 appendString(T28_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_813));
38359 appendString(T28_, T29_);
38360 			liMessage__msgs_1118((*(*c).graph).config, (*(*(*colonenvP_).genericType1).sym).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T28_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_814, NIM_FALSE);
38361 		}
38362 		LA26_: ;
38363 	}
38364 	break;
38365 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
38366 	{
38367 		tyProc__u9aP1I541s9an9cuSAzDOz9bTg T31_;
38368 		nimZeroMem((void*)(&T31_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38369 		T31_.ClP_0 = traverseSubTypes__sem_11752; T31_.ClE_0 = colonenvP_;
38370 		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)]);
38371 		goto BeforeRet_;
38372 	}
38373 	break;
38374 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
38375 	{
38376 		tyObject_TType__facALICuu8zUj0hjvbTLFg* targetBody;
38377 		targetBody = (*t).sons->data[((NI) 0)];
38378 		{
38379 			NI i_4;
38380 			NI colontmp__2;
38381 			NI i_5;
38382 			i_4 = (NI)0;
38383 			colontmp__2 = (NI)0;
38384 			colontmp__2 = len__ast_4002(t);
38385 			i_5 = ((NI) 1);
38386 			{
38387 				while (1) {
38388 					tyObject_TType__facALICuu8zUj0hjvbTLFg* param;
38389 					if (!(i_5 < colontmp__2)) goto LA35;
38390 					i_4 = i_5;
38391 					param = (*t).sons->data[i_4];
38392 					{
38393 						if (!((*param).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA38_;
38394 						{
38395 							tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw formalFlags;
38396 							if (!(((*param).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 35))&63U)))!=0)) goto LA42_;
38397 							formalFlags = (*(*targetBody).sons->data[(NI)(i_4 - ((NI) 1))]).flags;
38398 							{
38399 								NimStringDesc* T48_;
38400 								if (!!(((formalFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 35))&63U)))!=0))) goto LA46_;
38401 								T48_ = NIM_NIL;
38402 								T48_ = rawNewString(((*(*(*param).sym).name).s ? (*(*(*param).sym).name).s->Sup.len : 0) + 51);
38403 appendString(T48_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_816));
38404 appendString(T48_, (*(*(*param).sym).name).s);
38405 appendString(T48_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_817));
38406 								liMessage__msgs_1118((*(*c).graph).config, (*(*(*colonenvP_).genericType1).sym).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T48_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_818, NIM_FALSE);
38407 							}
38408 							goto LA44_;
38409 							LA46_: ;
38410 							{
38411 								if (!((formalFlags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 36))&63U)))!=0)) goto LA50_;
38412 								(*param).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 36)) & 63);
38413 							}
38414 							goto LA44_;
38415 							LA50_: ;
38416 							LA44_: ;
38417 							result = NIM_TRUE;
38418 						}
38419 						goto LA40_;
38420 						LA42_: ;
38421 						{
38422 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* formalParam;
38423 							if (!(((*param).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 37))&63U)))!=0)) goto LA53_;
38424 							formalParam = (*(*targetBody).sons->data[(NI)(i_4 - ((NI) 1))]).sym;
38425 							{
38426 								NimStringDesc* T59_;
38427 								if (!!((((*(*formalParam).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 37))&63U)))!=0))) goto LA57_;
38428 								T59_ = NIM_NIL;
38429 								T59_ = rawNewString(((*(*(*param).sym).name).s ? (*(*(*param).sym).name).s->Sup.len : 0) + 59);
38430 appendString(T59_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_819));
38431 appendString(T59_, (*(*(*param).sym).name).s);
38432 appendString(T59_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_820));
38433 								liMessage__msgs_1118((*(*c).graph).config, (*(*(*colonenvP_).genericType1).sym).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T59_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_821, NIM_FALSE);
38434 							}
38435 							LA57_: ;
38436 							result = NIM_TRUE;
38437 						}
38438 						goto LA40_;
38439 						LA53_: ;
38440 						LA40_: ;
38441 					}
38442 					goto LA36_;
38443 					LA38_: ;
38444 					{
38445 						NIM_BOOL subX60gensym3044_;
38446 						tyProc__u9aP1I541s9an9cuSAzDOz9bTg T61_;
38447 						NIM_BOOL T62_;
38448 						nimZeroMem((void*)(&T61_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38449 						T61_.ClP_0 = traverseSubTypes__sem_11752; T61_.ClE_0 = colonenvP_;
38450 						subX60gensym3044_ = T61_.ClE_0? T61_.ClP_0(c, param, T61_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_822)(T61_.ClP_0))(c, param);
38451 						T62_ = (NIM_BOOL)0;
38452 						T62_ = result;
38453 						if (T62_) goto LA63_;
38454 						T62_ = subX60gensym3044_;
38455 						LA63_: ;
38456 						result = T62_;
38457 					}
38458 					LA36_: ;
38459 					i_5 += ((NI) 1);
38460 				} LA35: ;
38461 			}
38462 		}
38463 	}
38464 	break;
38465 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56):
38466 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
38467 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
38468 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
38469 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51):
38470 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
38471 	{
38472 		NimStringDesc* T65_;
38473 		NimStringDesc* T66_;
38474 		T65_ = NIM_NIL;
38475 		T66_ = NIM_NIL;
38476 		T66_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
38477 		T65_ = rawNewString((T66_ ? T66_->Sup.len : 0) + 63);
38478 appendString(T65_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_823));
38479 appendString(T65_, T66_);
38480 appendString(T65_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_128));
38481 		liMessage__msgs_1118((*(*c).graph).config, (*(*(*colonenvP_).genericType1).sym).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T65_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_824, NIM_FALSE);
38482 	}
38483 	break;
38484 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52):
38485 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
38486 	{
38487 		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);
38488 	}
38489 	break;
38490 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
38491 	{
38492 		{
38493 			tyObject_TType__facALICuu8zUj0hjvbTLFg** fieldType;
38494 			NI i_6;
38495 			NI L_2;
38496 			NI T70_;
38497 			fieldType = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
38498 			i_6 = ((NI) 0);
38499 			T70_ = ((*t).sons ? (*t).sons->Sup.len : 0);
38500 			L_2 = T70_;
38501 			{
38502 				while (1) {
38503 					NIM_BOOL subX60gensym3054_;
38504 					tyProc__u9aP1I541s9an9cuSAzDOz9bTg T73_;
38505 					NIM_BOOL T74_;
38506 					if (!(i_6 < L_2)) goto LA72;
38507 					fieldType = &(*t).sons->data[i_6];
38508 					nimZeroMem((void*)(&T73_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38509 					T73_.ClP_0 = traverseSubTypes__sem_11752; T73_.ClE_0 = colonenvP_;
38510 					subX60gensym3054_ = T73_.ClE_0? T73_.ClP_0(c, (*fieldType), T73_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_827)(T73_.ClP_0))(c, (*fieldType));
38511 					T74_ = (NIM_BOOL)0;
38512 					T74_ = result;
38513 					if (T74_) goto LA75_;
38514 					T74_ = subX60gensym3054_;
38515 					LA75_: ;
38516 					result = T74_;
38517 					i_6 += ((NI) 1);
38518 				} LA72: ;
38519 			}
38520 		}
38521 	}
38522 	break;
38523 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
38524 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
38525 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
38526 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
38527 	{
38528 		tyProc__u9aP1I541s9an9cuSAzDOz9bTg T82_;
38529 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T83_;
38530 		{
38531 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T79_;
38532 			T79_ = NIM_NIL;
38533 			T79_ = base__types_63(t);
38534 			if (!((*T79_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12))) goto LA80_;
38535 			result = NIM_TRUE;
38536 			goto BeforeRet_;
38537 		}
38538 		LA80_: ;
38539 		nimZeroMem((void*)(&T82_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38540 		T82_.ClP_0 = traverseSubTypes__sem_11752; T82_.ClE_0 = colonenvP_;
38541 		T83_ = NIM_NIL;
38542 		T83_ = base__types_63(t);
38543 		result = T82_.ClE_0? T82_.ClP_0(c, T83_, T82_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_828)(T82_.ClP_0))(c, T83_);
38544 		goto BeforeRet_;
38545 	}
38546 	break;
38547 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
38548 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
38549 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
38550 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
38551 	{
38552 		tyProc__u9aP1I541s9an9cuSAzDOz9bTg T85_;
38553 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T86_;
38554 		nimZeroMem((void*)(&T85_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38555 		T85_.ClP_0 = traverseSubTypes__sem_11752; T85_.ClE_0 = colonenvP_;
38556 		T86_ = NIM_NIL;
38557 		T86_ = lastSon__ast_3743(t);
38558 		result = T85_.ClE_0? T85_.ClP_0(c, T86_, T85_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_829)(T85_.ClP_0))(c, T86_);
38559 		goto BeforeRet_;
38560 	}
38561 	break;
38562 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
38563 	{
38564 		{
38565 			NimStringDesc* argX60gensym3056_;
38566 			if (!NIM_TRUE) goto LA90_;
38567 			argX60gensym3056_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_830);
38568 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym3056_, TM__rF9caJawfOjYTjsgLVUSGFA_830);
38569 		}
38570 		LA90_: ;
38571 	}
38572 	break;
38573 	default:
38574 	{
38575 	}
38576 	break;
38577 	}
38578 	}BeforeRet_: ;
38579 	return result;
38580 }
N_NIMCALL(void,checkCovariantParamsUsages__sem_11743)38581 N_LIB_PRIVATE N_NIMCALL(void, checkCovariantParamsUsages__sem_11743)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TType__facALICuu8zUj0hjvbTLFg* genericType) {
38582 	tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ* colonenv_;
38583 	tyObject_TType__facALICuu8zUj0hjvbTLFg* body;
38584 	NI T1_;
38585 	tyProc__u9aP1I541s9an9cuSAzDOz9bTg T2_;
38586 	NIM_BOOL T3_;
38587 	colonenv_ = NIM_NIL;
38588 	colonenv_ = (tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ*) newObj((&NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_), sizeof(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ));
38589 	(*colonenv_).Sup.m_type = (&NTIobject__pOSGedHS6i9aexCYZEItHgQ_);
38590 	asgnRef((void**) (&(*colonenv_).genericType1), genericType);
38591 	T1_ = (NI)0;
38592 	T1_ = len__ast_4002((*colonenv_).genericType1);
38593 	body = (*(*colonenv_).genericType1).sons->data[(NI)(T1_ - ((NI) 1))];
38594 	nimZeroMem((void*)(&T2_), sizeof(tyProc__u9aP1I541s9an9cuSAzDOz9bTg));
38595 	T2_.ClP_0 = traverseSubTypes__sem_11752; T2_.ClE_0 = colonenv_;
38596 	T3_ = (NIM_BOOL)0;
38597 	T3_ = T2_.ClE_0? T2_.ClP_0(c, body, T2_.ClE_0):((TM__rF9caJawfOjYTjsgLVUSGFA_831)(T2_.ClP_0))(c, body);
38598 	(void)(T3_);
38599 }
N_NIMCALL(void,typeSectionRightSidePass__sem_11843)38600 N_LIB_PRIVATE N_NIMCALL(void, typeSectionRightSidePass__sem_11843)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
38601 	{
38602 		NI i;
38603 		NI colontmp_;
38604 		NI i_2;
38605 		i = (NI)0;
38606 		colontmp_ = (NI)0;
38607 		colontmp_ = len__ast_3198(n);
38608 		i_2 = ((NI) 0);
38609 		{
38610 			while (1) {
38611 				if (!(i_2 < colontmp_)) goto LA3;
38612 				i = i_2;
38613 				{
38614 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
38615 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* name;
38616 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
38617 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* aa;
38618 					a = (*n)._kind_6.sons->data[i];
38619 					{
38620 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA7_;
38621 						goto LA4;
38622 					}
38623 					LA7_: ;
38624 					{
38625 						if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 103)))) goto LA11_;
38626 						illFormedAst__semdata_1071(a, (*(*c).graph).config);
38627 					}
38628 					LA11_: ;
38629 					checkSonsLen__semdata_1077(a, ((NI) 3), (*(*c).graph).config);
38630 					name = typeSectionTypeName__sem_11606(c, (*a)._kind_6.sons->data[((NI) 0)]);
38631 					s = (*name)._kind_4.sym;
38632 					{
38633 						NIM_BOOL T15_;
38634 						NimStringDesc* T19_;
38635 						T15_ = (NIM_BOOL)0;
38636 						T15_ = ((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
38637 						if (!(T15_)) goto LA16_;
38638 						T15_ = ((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
38639 						LA16_: ;
38640 						if (!T15_) goto LA17_;
38641 						T19_ = NIM_NIL;
38642 						T19_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_402), (*(*s).name).s);
38643 						liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T19_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_803, NIM_FALSE);
38644 					}
38645 					LA17_: ;
38646 					{
38647 						if (!!(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)))) goto LA22_;
38648 						processMagicType__sem_6284(c, s);
38649 					}
38650 					LA22_: ;
38651 					{
38652 						tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T28_;
38653 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T33_;
38654 						tyObject_TType__facALICuu8zUj0hjvbTLFg* body;
38655 						if (!!(((*(*a)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA26_;
38656 						T28_ = NIM_NIL;
38657 						T28_ = openScope__lookups_69(c);
38658 						pushOwner__semdata_322(c, s);
38659 						{
38660 							if (!((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0))) goto LA31_;
38661 							(*(*s).typ).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10);
38662 						}
38663 						LA31_: ;
38664 						asgnRef((void**) (&(*(*s).typ).n), semGenericParamList__sem_6334(c, (*a)._kind_6.sons->data[((NI) 1)], (*s).typ));
38665 						asgnRef((void**) (&(*a)._kind_6.sons->data[((NI) 1)]), (*(*s).typ).n);
38666 						(*(*s).typ).size = IL64(-1);
38667 						T33_ = NIM_NIL;
38668 						T33_ = newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0), c);
38669 						rawAddSon__ast_4288((*s).typ, T33_, NIM_TRUE);
38670 						asgnRef((void**) (&(*s).ast), a);
38671 						(*c).inGenericContext += ((NI) 1);
38672 						body = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[((NI) 2)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
38673 						(*c).inGenericContext -= ((NI) 1);
38674 						{
38675 							NI T38_;
38676 							if (!!((body == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA36_;
38677 							asgnRef((void**) (&(*body).sym), s);
38678 							(*body).size = IL64(-1);
38679 							T38_ = (NI)0;
38680 							T38_ = len__ast_4002((*s).typ);
38681 							asgnRef((void**) (&(*(*s).typ).sons->data[(NI)(T38_ - ((NI) 1))]), body);
38682 							{
38683 								if (!(((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 35))&63U)))!=0)) goto LA41_;
38684 								checkCovariantParamsUsages__sem_11743(c, (*s).typ);
38685 								{
38686 									tyObject_TType__facALICuu8zUj0hjvbTLFg* body_2;
38687 									if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 6))&63U)))!=0)) goto LA45_;
38688 									body_2 = lastSon__ast_3743((*s).typ);
38689 									{
38690 										if (!((*body_2).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA49_;
38691 										if ((*(*body_2).n)._kind_6.sons) { nimGCunrefRC1((*(*body_2).n)._kind_6.sons); (*(*body_2).n)._kind_6.sons = NIM_NIL; }
38692 									}
38693 									LA49_: ;
38694 								}
38695 								LA45_: ;
38696 							}
38697 							LA41_: ;
38698 						}
38699 						LA36_: ;
38700 						popOwner__semdata_329(c);
38701 						closeScope__lookups_101(c);
38702 					}
38703 					goto LA24_;
38704 					LA26_: ;
38705 					{
38706 						tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
38707 						if (!!(((*(*a)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA52_;
38708 						pushOwner__semdata_322(c, s);
38709 						t = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[((NI) 2)], (*s).typ);
38710 						{
38711 							if (!((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA56_;
38712 							asgnRef((void**) (&(*s).typ), t);
38713 						}
38714 						goto LA54_;
38715 						LA56_: ;
38716 						{
38717 							NIM_BOOL T59_;
38718 							NIM_BOOL T61_;
38719 							T59_ = (NIM_BOOL)0;
38720 							T59_ = !((t == (*s).typ));
38721 							if (!(T59_)) goto LA60_;
38722 							T61_ = (NIM_BOOL)0;
38723 							T61_ = ((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
38724 							if (T61_) goto LA62_;
38725 							T61_ = !(((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4)));
38726 							LA62_: ;
38727 							T59_ = T61_;
38728 							LA60_: ;
38729 							if (!T59_) goto LA63_;
38730 							assignType__ast_3976((*s).typ, t);
38731 						}
38732 						goto LA54_;
38733 						LA63_: ;
38734 						LA54_: ;
38735 						asgnRef((void**) (&(*s).ast), a);
38736 						popOwner__semdata_329(c);
38737 						{
38738 							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_;
38739 							(*(*a)._kind_6.sons->data[((NI) 2)]).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7)) & 31);
38740 						}
38741 						LA67_: ;
38742 					}
38743 					goto LA24_;
38744 					LA52_: ;
38745 					LA24_: ;
38746 					{
38747 						NIM_BOOL T71_;
38748 						T71_ = (NIM_BOOL)0;
38749 						T71_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 7))&63U)))!=0);
38750 						if (!(T71_)) goto LA72_;
38751 						T71_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4));
38752 						LA72_: ;
38753 						if (!T71_) goto LA73_;
38754 						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);
38755 					}
38756 					LA73_: ;
38757 					{
38758 						NIM_BOOL T77_;
38759 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T79_;
38760 						T77_ = (NIM_BOOL)0;
38761 						T77_ = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 32))&63U)))!=0);
38762 						if (!(T77_)) goto LA78_;
38763 						T79_ = NIM_NIL;
38764 						T79_ = skipTypes__ast_3735((*s).typ, TM__rF9caJawfOjYTjsgLVUSGFA_834);
38765 						T77_ = !(((*T79_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13)));
38766 						LA78_: ;
38767 						if (!T77_) goto LA80_;
38768 						(*(*s).typ).flags &= ~(((NU64)1) << ((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 32)) & 63));
38769 						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);
38770 					}
38771 					LA80_: ;
38772 					aa = (*a)._kind_6.sons->data[((NI) 2)];
38773 					{
38774 						NIM_BOOL T84_;
38775 						NIM_BOOL T85_;
38776 						NI T87_;
38777 						tyObject_TType__facALICuu8zUj0hjvbTLFg* st;
38778 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* obj;
38779 						NimStringDesc* T104_;
38780 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T105_;
38781 						tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T106_;
38782 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T107_;
38783 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* symNode;
38784 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T115_;
38785 						T84_ = (NIM_BOOL)0;
38786 						T85_ = (NIM_BOOL)0;
38787 						T85_ = ((*aa).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141) || (*aa).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 142));
38788 						if (!(T85_)) goto LA86_;
38789 						T87_ = (NI)0;
38790 						T87_ = len__ast_3198(aa);
38791 						T85_ = (T87_ == ((NI) 1));
38792 						LA86_: ;
38793 						T84_ = T85_;
38794 						if (!(T84_)) goto LA88_;
38795 						T84_ = ((*(*aa)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133));
38796 						LA88_: ;
38797 						if (!T84_) goto LA89_;
38798 						st = (*s).typ;
38799 						{
38800 							if (!((*st).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10))) goto LA93_;
38801 							st = lastSon__ast_3743(st);
38802 						}
38803 						LA93_: ;
38804 						{
38805 							NimStringDesc* argX60gensym3101_;
38806 							if (!!(((*st).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) || (*st).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22)))) goto LA97_;
38807 							argX60gensym3101_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_837);
38808 							internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym3101_, TM__rF9caJawfOjYTjsgLVUSGFA_837);
38809 						}
38810 						LA97_: ;
38811 						{
38812 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T101_;
38813 							NimStringDesc* argX60gensym3104_;
38814 							T101_ = NIM_NIL;
38815 							T101_ = lastSon__ast_3743(st);
38816 							if (!!(((*T101_).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA102_;
38817 							argX60gensym3104_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_838);
38818 							internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym3104_, TM__rF9caJawfOjYTjsgLVUSGFA_838);
38819 						}
38820 						LA102_: ;
38821 						(*st).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 34)) & 63);
38822 						T104_ = NIM_NIL;
38823 						T104_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 11);
38824 appendString(T104_, (*(*s).name).s);
38825 appendString(T104_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_839));
38826 						T105_ = NIM_NIL;
38827 						T105_ = getIdent__idents_143((*c).cache, T104_);
38828 						T106_ = nextSymId__ast_3132((*c).Sup.idgen);
38829 						T107_ = NIM_NIL;
38830 						T107_ = getCurrOwner__semdata_315(c);
38831 						obj = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), T105_, T106_, T107_, (*s).info, 0);
38832 						symNode = newSymNode__ast_3716(obj);
38833 						asgnRef((void**) (&(*obj).ast), shallowCopy__ast_4413(a));
38834 						switch ((*(*a)._kind_6.sons->data[((NI) 0)]).kind) {
38835 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
38836 						{
38837 							asgnRef((void**) (&(*(*obj).ast)._kind_6.sons->data[((NI) 0)]), symNode);
38838 						}
38839 						break;
38840 						case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
38841 						{
38842 							asgnRef((void**) (&(*(*obj).ast)._kind_6.sons->data[((NI) 0)]), shallowCopy__ast_4413((*a)._kind_6.sons->data[((NI) 0)]));
38843 							asgnRef((void**) (&(*(*(*obj).ast)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]), symNode);
38844 							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)]);
38845 						}
38846 						break;
38847 						default:
38848 						{
38849 						}
38850 						break;
38851 						}
38852 						asgnRef((void**) (&(*(*obj).ast)._kind_6.sons->data[((NI) 1)]), (*a)._kind_6.sons->data[((NI) 1)]);
38853 						asgnRef((void**) (&(*(*obj).ast)._kind_6.sons->data[((NI) 2)]), (*(*a)._kind_6.sons->data[((NI) 2)])._kind_6.sons->data[((NI) 0)]);
38854 						{
38855 							if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0)) goto LA113_;
38856 							(*obj).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11)) & 63);
38857 						}
38858 						LA113_: ;
38859 						asgnRef((void**) (&(*obj).typ), lastSon__ast_3743(st));
38860 						T115_ = NIM_NIL;
38861 						T115_ = lastSon__ast_3743(st);
38862 						asgnRef((void**) (&(*T115_).sym), obj);
38863 					}
38864 					LA89_: ;
38865 				} LA4: ;
38866 				i_2 += ((NI) 1);
38867 			} LA3: ;
38868 		}
38869 	}
38870 }
N_NIMCALL(void,checkMeta__sem_12065)38871 N_LIB_PRIVATE N_NIMCALL(void, checkMeta__sem_12065)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t) {
38872 	{
38873 		NIM_BOOL T3_;
38874 		NIM_BOOL T4_;
38875 		T3_ = (NIM_BOOL)0;
38876 		T4_ = (NIM_BOOL)0;
38877 		T4_ = !((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
38878 		if (!(T4_)) goto LA5_;
38879 		T4_ = isMetaType__ast_3495(t);
38880 		LA5_: ;
38881 		T3_ = T4_;
38882 		if (!(T3_)) goto LA6_;
38883 		T3_ = !((((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 25))&63U)))!=0));
38884 		LA6_: ;
38885 		if (!T3_) goto LA7_;
38886 		{
38887 			NIM_BOOL T11_;
38888 			NIM_BOOL T12_;
38889 			NI T14_;
38890 			NimStringDesc* T18_;
38891 			NimStringDesc* T19_;
38892 			T11_ = (NIM_BOOL)0;
38893 			T12_ = (NIM_BOOL)0;
38894 			T12_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51));
38895 			if (!(T12_)) goto LA13_;
38896 			T14_ = (NI)0;
38897 			T14_ = len__ast_4002(t);
38898 			T12_ = (T14_ == ((NI) 1));
38899 			LA13_: ;
38900 			T11_ = T12_;
38901 			if (!(T11_)) goto LA15_;
38902 			T11_ = ((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
38903 			LA15_: ;
38904 			if (!T11_) goto LA16_;
38905 			T18_ = NIM_NIL;
38906 			T18_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
38907 			T19_ = NIM_NIL;
38908 			T19_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_840), T18_);
38909 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T19_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_841, NIM_FALSE);
38910 		}
38911 		goto LA9_;
38912 		LA16_: ;
38913 		{
38914 			NimStringDesc* T21_;
38915 			NimStringDesc* T22_;
38916 			T21_ = NIM_NIL;
38917 			T21_ = typeToString__types_50(t, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
38918 			T22_ = NIM_NIL;
38919 			T22_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_551), T21_);
38920 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T22_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_842, NIM_FALSE);
38921 		}
38922 		LA9_: ;
38923 	}
38924 	LA7_: ;
38925 }
N_NIMCALL(void,checkForMetaFields__sem_12062)38926 N_LIB_PRIVATE N_NIMCALL(void, checkForMetaFields__sem_12062)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
38927 {	{
38928 		if (!(n == 0)) goto LA3_;
38929 		goto BeforeRet_;
38930 	}
38931 	LA3_: ;
38932 	switch ((*n).kind) {
38933 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
38934 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
38935 	{
38936 		{
38937 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* s;
38938 			s = NIM_NIL;
38939 			{
38940 				NI i;
38941 				NI colontmp_;
38942 				NI i_2;
38943 				i = (NI)0;
38944 				colontmp_ = (NI)0;
38945 				colontmp_ = safeLen__ast_3191(n);
38946 				i_2 = ((NI) 0);
38947 				{
38948 					while (1) {
38949 						if (!(i_2 < colontmp_)) goto LA9;
38950 						i = i_2;
38951 						s = (*n)._kind_6.sons->data[i];
38952 						checkForMetaFields__sem_12062(c, s);
38953 						i_2 += ((NI) 1);
38954 					} LA9: ;
38955 				}
38956 			}
38957 		}
38958 	}
38959 	break;
38960 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
38961 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
38962 	{
38963 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
38964 		T11_ = NIM_NIL;
38965 		T11_ = lastSon__ast_4832(n);
38966 		checkForMetaFields__sem_12062(c, T11_);
38967 	}
38968 	break;
38969 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
38970 	{
38971 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
38972 		t = (*(*n)._kind_4.sym).typ;
38973 		switch ((*t).kind) {
38974 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
38975 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
38976 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
38977 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
38978 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
38979 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
38980 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
38981 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
38982 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
38983 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
38984 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
38985 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
38986 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
38987 		case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
38988 		{
38989 			NI start;
38990 			start = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
38991 			{
38992 				NI i_3;
38993 				NI colontmp__2;
38994 				NI i_4;
38995 				i_3 = (NI)0;
38996 				colontmp__2 = (NI)0;
38997 				colontmp__2 = len__ast_4002(t);
38998 				i_4 = start;
38999 				{
39000 					while (1) {
39001 						if (!(i_4 < colontmp__2)) goto LA16;
39002 						i_3 = i_4;
39003 						checkMeta__sem_12065(c, n, (*t).sons->data[i_3]);
39004 						i_4 += ((NI) 1);
39005 					} LA16: ;
39006 				}
39007 			}
39008 		}
39009 		break;
39010 		default:
39011 		{
39012 			checkMeta__sem_12065(c, n, t);
39013 		}
39014 		break;
39015 		}
39016 	}
39017 	break;
39018 	default:
39019 	{
39020 		{
39021 			NimStringDesc* argX60gensym3136_;
39022 			if (!NIM_TRUE) goto LA21_;
39023 			argX60gensym3136_ = toFileLineCol__msgs_615(TM__rF9caJawfOjYTjsgLVUSGFA_843);
39024 			internalErrorImpl__msgs_1431((*(*c).graph).config, unknownLineInfo__lineinfos_280, argX60gensym3136_, TM__rF9caJawfOjYTjsgLVUSGFA_843);
39025 		}
39026 		LA21_: ;
39027 	}
39028 	break;
39029 	}
39030 	}BeforeRet_: ;
39031 }
N_NIMCALL(void,typeSectionFinalPass__sem_12118)39032 N_LIB_PRIVATE N_NIMCALL(void, typeSectionFinalPass__sem_12118)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
39033 	{
39034 		NI i;
39035 		NI colontmp_;
39036 		NI i_2;
39037 		i = (NI)0;
39038 		colontmp_ = (NI)0;
39039 		colontmp_ = len__ast_3198(n);
39040 		i_2 = ((NI) 0);
39041 		{
39042 			while (1) {
39043 				if (!(i_2 < colontmp_)) goto LA3;
39044 				i = i_2;
39045 				{
39046 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
39047 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* name;
39048 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
39049 					a = (*n)._kind_6.sons->data[i];
39050 					{
39051 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA7_;
39052 						goto LA4;
39053 					}
39054 					LA7_: ;
39055 					name = typeSectionTypeName__sem_11606(c, (*a)._kind_6.sons->data[((NI) 0)]);
39056 					s = (*name)._kind_4.sym;
39057 					{
39058 						NIM_BOOL T11_;
39059 						T11_ = (NIM_BOOL)0;
39060 						T11_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
39061 						if (!(T11_)) goto LA12_;
39062 						T11_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
39063 						LA12_: ;
39064 						if (!T11_) goto LA13_;
39065 						nep1CheckDefImpl__linter_110((*(*c).graph).config, (*s).info, s, (*s).kind);
39066 					}
39067 					LA13_: ;
39068 					{
39069 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
39070 						if (!((*(*a)._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA17_;
39071 						x = (*a)._kind_6.sons->data[((NI) 2)];
39072 						{
39073 							NIM_BOOL T21_;
39074 							T21_ = (NIM_BOOL)0;
39075 							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));
39076 							if (!(T21_)) goto LA22_;
39077 							T21_ = (((*x).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0);
39078 							LA22_: ;
39079 							if (!T21_) goto LA23_;
39080 						}
39081 						goto LA19_;
39082 						LA23_: ;
39083 						{
39084 							{
39085 								while (1) {
39086 									NIM_BOOL T28_;
39087 									NI T30_;
39088 									T28_ = (NIM_BOOL)0;
39089 									T28_ = ((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
39090 									if (!(T28_)) goto LA29_;
39091 									T30_ = (NI)0;
39092 									T30_ = len__ast_3198(x);
39093 									T28_ = (((NI) 0) < T30_);
39094 									LA29_: ;
39095 									if (!T28_) goto LA27;
39096 									x = lastSon__ast_4832(x);
39097 								} LA27: ;
39098 							}
39099 							{
39100 								NIM_BOOL T33_;
39101 								tyObject_TType__facALICuu8zUj0hjvbTLFg* T35_;
39102 								tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
39103 								T33_ = (NIM_BOOL)0;
39104 								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)));
39105 								if (!(T33_)) goto LA34_;
39106 								T35_ = NIM_NIL;
39107 								T35_ = safeSkipTypes__types_3543((*s).typ, TM__rF9caJawfOjYTjsgLVUSGFA_97);
39108 								T33_ = !(((*T35_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*T35_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14)));
39109 								LA34_: ;
39110 								if (!T33_) goto LA36_;
39111 								t = semTypeNode__sem_80(c, x, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
39112 								{
39113 									NIM_BOOL T40_;
39114 									T40_ = (NIM_BOOL)0;
39115 									T40_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
39116 									if (!(T40_)) goto LA41_;
39117 									T40_ = !(((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4) || (*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46)));
39118 									LA41_: ;
39119 									if (!T40_) goto LA42_;
39120 									{
39121 										NIM_BOOL T46_;
39122 										NIM_BOOL T48_;
39123 										T46_ = (NIM_BOOL)0;
39124 										T46_ = ((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11));
39125 										if (!(T46_)) goto LA47_;
39126 										T48_ = (NIM_BOOL)0;
39127 										T48_ = isMetaType__ast_3495(t);
39128 										T46_ = !(T48_);
39129 										LA47_: ;
39130 										if (!T46_) goto LA49_;
39131 										assignType__ast_3976((*s).typ, t);
39132 										(*(*s).typ).Sup.itemId = (*t).Sup.itemId;
39133 									}
39134 									goto LA44_;
39135 									LA49_: ;
39136 									{
39137 										if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13))) goto LA52_;
39138 										assignType__ast_3976((*s).typ, t);
39139 										(*(*s).typ).Sup.itemId = (*t).Sup.itemId;
39140 									}
39141 									goto LA44_;
39142 									LA52_: ;
39143 									LA44_: ;
39144 								}
39145 								LA42_: ;
39146 							}
39147 							LA36_: ;
39148 							checkConstructedType__semtypinst_26((*(*c).graph).config, (*s).info, (*s).typ);
39149 							{
39150 								NIM_BOOL T56_;
39151 								T56_ = (NIM_BOOL)0;
39152 								T56_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17) || (*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18));
39153 								if (!(T56_)) goto LA57_;
39154 								T56_ = !(((*(*s).typ).n == 0));
39155 								LA57_: ;
39156 								if (!T56_) goto LA58_;
39157 								checkForMetaFields__sem_12062(c, (*(*s).typ).n);
39158 							}
39159 							LA58_: ;
39160 							{
39161 								NIM_BOOL T62_;
39162 								NIM_BOOL T64_;
39163 								T62_ = (NIM_BOOL)0;
39164 								T62_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17));
39165 								if (!(T62_)) goto LA63_;
39166 								T64_ = (NIM_BOOL)0;
39167 								T64_ = isTopLevel__semdata_1091(c);
39168 								T62_ = !(T64_);
39169 								LA63_: ;
39170 								if (!T62_) goto LA65_;
39171 								(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37)) & 63);
39172 							}
39173 							LA65_: ;
39174 						}
39175 						LA19_: ;
39176 					}
39177 					LA17_: ;
39178 				} LA4: ;
39179 				i_2 += ((NI) 1);
39180 			} LA3: ;
39181 		}
39182 	}
39183 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTypeSection__sem_12312)39184 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTypeSection__sem_12312)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
39185 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39186 	result = NIM_NIL;
39187 	{
39188 		NIM_BOOL T3_;
39189 		T3_ = (NIM_BOOL)0;
39190 		T3_ = !((((*(*c).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0));
39191 		if (T3_) goto LA4_;
39192 		T3_ = !((((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0));
39193 		LA4_: ;
39194 		if (!T3_) goto LA5_;
39195 		(*c).inTypeContext += ((NI) 1);
39196 		typeSectionLeftSidePass__sem_11722(c, n);
39197 		typeSectionRightSidePass__sem_11843(c, n);
39198 		typeSectionFinalPass__sem_12118(c, n);
39199 		(*c).inTypeContext -= ((NI) 1);
39200 	}
39201 	LA5_: ;
39202 	result = n;
39203 	return result;
39204 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semDiscard__sem_9153)39205 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semDiscard__sem_9153)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
39206 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39207 	result = NIM_NIL;
39208 	result = n;
39209 	checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
39210 	{
39211 		tyObject_TType__facALICuu8zUj0hjvbTLFg* sonType;
39212 		tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw sonKind;
39213 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
39214 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0));
39215 		sonType = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
39216 		sonKind = (*(*n)._kind_6.sons->data[((NI) 0)]).kind;
39217 		{
39218 			NIM_BOOL T7_;
39219 			NIM_BOOL T8_;
39220 			T7_ = (NIM_BOOL)0;
39221 			T8_ = (NIM_BOOL)0;
39222 			T8_ = isEmptyType__ast_4779(sonType);
39223 			if (T8_) goto LA9_;
39224 			T8_ = ((*sonType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0) || (*sonType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8));
39225 			LA9_: ;
39226 			T7_ = T8_;
39227 			if (T7_) goto LA10_;
39228 			T7_ = (sonKind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132));
39229 			LA10_: ;
39230 			if (!T7_) goto LA11_;
39231 			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);
39232 		}
39233 		LA11_: ;
39234 		{
39235 			NIM_BOOL T15_;
39236 			NimStringDesc* T19_;
39237 			NimStringDesc* T20_;
39238 			T15_ = (NIM_BOOL)0;
39239 			T15_ = ((*sonType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
39240 			if (!(T15_)) goto LA16_;
39241 			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)));
39242 			LA16_: ;
39243 			if (!T15_) goto LA17_;
39244 			T19_ = NIM_NIL;
39245 			T20_ = NIM_NIL;
39246 			T20_ = dollar___renderer_2106((*n)._kind_6.sons->data[((NI) 0)]);
39247 			T19_ = rawNewString((T20_ ? T20_->Sup.len : 0) + 38);
39248 appendString(T19_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_846));
39249 appendString(T19_, T20_);
39250 appendString(T19_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_215));
39251 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T19_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_847, NIM_FALSE);
39252 		}
39253 		LA17_: ;
39254 	}
39255 	LA3_: ;
39256 	return result;
39257 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semWhile__sem_9234)39258 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semWhile__sem_9234)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
39259 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39260 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
39261 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
39262 	result = NIM_NIL;
39263 	result = n;
39264 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
39265 	T1_ = NIM_NIL;
39266 	T1_ = openScope__lookups_69(c);
39267 	T2_ = NIM_NIL;
39268 	T2_ = semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
39269 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), forceBool__sem_2869(c, T2_));
39270 	(*(*c).p).nestedLoopCounter += ((NI) 1);
39271 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semStmt__sem_84(c, (*n)._kind_6.sons->data[((NI) 1)], flags));
39272 	(*(*c).p).nestedLoopCounter -= ((NI) 1);
39273 	closeScope__lookups_101(c);
39274 	{
39275 		if (!((*(*n)._kind_6.sons->data[((NI) 1)]).typ == (*c).enforceVoidContext)) goto LA5_;
39276 		asgnRef((void**) (&(*result).typ), (*c).enforceVoidContext);
39277 	}
39278 	goto LA3_;
39279 	LA5_: ;
39280 	{
39281 		if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0)) goto LA8_;
39282 		asgnRef((void**) (&(*result).typ), (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
39283 	}
39284 	goto LA3_;
39285 	LA8_: ;
39286 	LA3_: ;
39287 	return result;
39288 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semTry__sem_9422)39289 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semTry__sem_9422)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
39290 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39291 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA check;
39292 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
39293 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
39294 	NI last;
39295 	NI T2_;
39296 	NI catchAllExcepts;
39297 	result = NIM_NIL;
39298 	nimZeroMem((void*)(&check), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
39299 	initIntSet__pureZcollectionsZintsets_238((&check));
39300 	result = n;
39301 	checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
39302 	T1_ = NIM_NIL;
39303 	T1_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*) newObj((&NTIptype__qt2Wh0elFEz5fH0l7yusLw_), sizeof(tyObject_TType__facALICuu8zUj0hjvbTLFg));
39304 	(*T1_).Sup.Sup.m_type = (&NTIttype__facALICuu8zUj0hjvbTLFg_);
39305 	(*T1_).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6);
39306 	typ = T1_;
39307 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprBranchScope__sem_9277(c, (*n)._kind_6.sons->data[((NI) 0)]));
39308 	typ = commonType__sem_237(c, typ, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
39309 	T2_ = (NI)0;
39310 	T2_ = len__ast_3198(n);
39311 	last = (NI)(T2_ - ((NI) 1));
39312 	catchAllExcepts = ((NI) 0);
39313 	{
39314 		NI i;
39315 		NI res;
39316 		i = (NI)0;
39317 		res = ((NI) 1);
39318 		{
39319 			while (1) {
39320 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
39321 				tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T6_;
39322 				NI T98_;
39323 				NI T99_;
39324 				if (!(res <= last)) goto LA5;
39325 				i = res;
39326 				a = (*n)._kind_6.sons->data[i];
39327 				checkMinSonsLen__semdata_1084(a, ((NI) 1), (*(*c).graph).config);
39328 				T6_ = NIM_NIL;
39329 				T6_ = openScope__lookups_69(c);
39330 				{
39331 					if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 87))) goto LA9_;
39332 					{
39333 						NIM_BOOL T13_;
39334 						NI T14_;
39335 						tyObject_HSlice__EE5dzjqoOrHT6HJhIPXAvA T18_;
39336 						T13_ = (NIM_BOOL)0;
39337 						T14_ = (NI)0;
39338 						T14_ = len__ast_3198(a);
39339 						T13_ = (T14_ == ((NI) 2));
39340 						if (!(T13_)) goto LA15_;
39341 						T13_ = ((*(*a)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41));
39342 						LA15_: ;
39343 						if (!T13_) goto LA16_;
39344 						T18_ = dotdot___pureZunicode_840(((NI) 0), ((NI) 0));
39345 						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));
39346 					}
39347 					LA16_: ;
39348 					{
39349 						NIM_BOOL T21_;
39350 						NI T22_;
39351 						NIM_BOOL isImported;
39352 						tyObject_TType__facALICuu8zUj0hjvbTLFg* typX60gensym2355_;
39353 						tyObject_TType__facALICuu8zUj0hjvbTLFg* T26_;
39354 						NIM_BOOL isImportedX60gensym2355_;
39355 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symbol;
39356 						T21_ = (NIM_BOOL)0;
39357 						T22_ = (NI)0;
39358 						T22_ = len__ast_3198(a);
39359 						T21_ = (T22_ == ((NI) 2));
39360 						if (!(T21_)) goto LA23_;
39361 						T21_ = isInfixAs__ast_4935((*a)._kind_6.sons->data[((NI) 0)]);
39362 						LA23_: ;
39363 						if (!T21_) goto LA24_;
39364 						T26_ = NIM_NIL;
39365 						T26_ = semTypeNode__sem_80(c, (*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
39366 						typX60gensym2355_ = toObject__ast_4879(T26_);
39367 						isImportedX60gensym2355_ = NIM_FALSE;
39368 						{
39369 							NIM_BOOL T29_;
39370 							T29_ = (NIM_BOOL)0;
39371 							T29_ = isImportedException__ast_4904(typX60gensym2355_, (*(*c).graph).config);
39372 							if (!T29_) goto LA30_;
39373 							isImportedX60gensym2355_ = NIM_TRUE;
39374 						}
39375 						goto LA27_;
39376 						LA30_: ;
39377 						{
39378 							NIM_BOOL T33_;
39379 							T33_ = (NIM_BOOL)0;
39380 							T33_ = isException__types_3991(typX60gensym2355_);
39381 							if (!!(T33_)) goto LA34_;
39382 							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);
39383 						}
39384 						goto LA27_;
39385 						LA34_: ;
39386 						LA27_: ;
39387 						{
39388 							tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym2360_;
39389 							NIM_BOOL T38_;
39390 							xX60gensym2360_ = typX60gensym2355_;
39391 							T38_ = (NIM_BOOL)0;
39392 							T38_ = containsOrIncl__astalgo_402((&check), (NI)((NI)((NU32)(((NI) ((*xX60gensym2360_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym2360_).Sup.itemId.item))));
39393 							if (!T38_) goto LA39_;
39394 							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);
39395 						}
39396 						LA39_: ;
39397 						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_));
39398 						isImported = isImportedX60gensym2355_;
39399 						symbol = newSymG__sem_458(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9), (*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 2)], c);
39400 						{
39401 							if (!isImported) goto LA43_;
39402 							asgnRef((void**) (&(*symbol).typ), (*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]).typ);
39403 						}
39404 						goto LA41_;
39405 						LA43_: ;
39406 						{
39407 							asgnRef((void**) (&(*symbol).typ), toRef__ast_4871((*(*(*a)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]).typ, (*c).Sup.idgen));
39408 						}
39409 						LA41_: ;
39410 						addDecl__lookups_845(c, symbol);
39411 						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));
39412 					}
39413 					goto LA19_;
39414 					LA24_: ;
39415 					{
39416 						NI T47_;
39417 						T47_ = (NI)0;
39418 						T47_ = len__ast_3198(a);
39419 						if (!(T47_ == ((NI) 1))) goto LA48_;
39420 						catchAllExcepts += ((NI) 1);
39421 					}
39422 					goto LA19_;
39423 					LA48_: ;
39424 					{
39425 						NIM_BOOL isNative;
39426 						NIM_BOOL isImported_2;
39427 						{
39428 							if (!(((NI) 0) < catchAllExcepts)) goto LA53_;
39429 							catchAllExcepts += ((NI) 1);
39430 						}
39431 						LA53_: ;
39432 						isNative = (NIM_BOOL)0;
39433 						isImported_2 = (NIM_BOOL)0;
39434 						{
39435 							NI j;
39436 							NI colontmp_;
39437 							NI T56_;
39438 							NI i_2;
39439 							j = (NI)0;
39440 							colontmp_ = (NI)0;
39441 							T56_ = (NI)0;
39442 							T56_ = len__ast_3198(a);
39443 							colontmp_ = (NI)(T56_ - ((NI) 1));
39444 							i_2 = ((NI) 0);
39445 							{
39446 								while (1) {
39447 									NIM_BOOL tmp;
39448 									tyObject_TType__facALICuu8zUj0hjvbTLFg* typX60gensym2376_;
39449 									tyObject_TType__facALICuu8zUj0hjvbTLFg* T59_;
39450 									NIM_BOOL isImportedX60gensym2376_;
39451 									if (!(i_2 < colontmp_)) goto LA58;
39452 									j = i_2;
39453 									T59_ = NIM_NIL;
39454 									T59_ = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[j], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
39455 									typX60gensym2376_ = toObject__ast_4879(T59_);
39456 									isImportedX60gensym2376_ = NIM_FALSE;
39457 									{
39458 										NIM_BOOL T62_;
39459 										T62_ = (NIM_BOOL)0;
39460 										T62_ = isImportedException__ast_4904(typX60gensym2376_, (*(*c).graph).config);
39461 										if (!T62_) goto LA63_;
39462 										isImportedX60gensym2376_ = NIM_TRUE;
39463 									}
39464 									goto LA60_;
39465 									LA63_: ;
39466 									{
39467 										NIM_BOOL T66_;
39468 										T66_ = (NIM_BOOL)0;
39469 										T66_ = isException__types_3991(typX60gensym2376_);
39470 										if (!!(T66_)) goto LA67_;
39471 										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);
39472 									}
39473 									goto LA60_;
39474 									LA67_: ;
39475 									LA60_: ;
39476 									{
39477 										tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym2381_;
39478 										NIM_BOOL T71_;
39479 										xX60gensym2381_ = typX60gensym2376_;
39480 										T71_ = (NIM_BOOL)0;
39481 										T71_ = containsOrIncl__astalgo_402((&check), (NI)((NI)((NU32)(((NI) ((*xX60gensym2381_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym2381_).Sup.itemId.item))));
39482 										if (!T71_) goto LA72_;
39483 										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);
39484 									}
39485 									LA72_: ;
39486 									asgnRef((void**) (&(*a)._kind_6.sons->data[j]), newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4), (*(*a)._kind_6.sons->data[j]).info, typX60gensym2376_));
39487 									tmp = isImportedX60gensym2376_;
39488 									{
39489 										if (!tmp) goto LA76_;
39490 										isImported_2 = NIM_TRUE;
39491 									}
39492 									goto LA74_;
39493 									LA76_: ;
39494 									{
39495 										isNative = NIM_TRUE;
39496 									}
39497 									LA74_: ;
39498 									i_2 += ((NI) 1);
39499 								} LA58: ;
39500 							}
39501 						}
39502 						{
39503 							NIM_BOOL T81_;
39504 							T81_ = (NIM_BOOL)0;
39505 							T81_ = isNative;
39506 							if (!(T81_)) goto LA82_;
39507 							T81_ = isImported_2;
39508 							LA82_: ;
39509 							if (!T81_) goto LA83_;
39510 							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);
39511 						}
39512 						LA83_: ;
39513 					}
39514 					LA19_: ;
39515 				}
39516 				goto LA7_;
39517 				LA9_: ;
39518 				{
39519 					if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA86_;
39520 					{
39521 						NI T90_;
39522 						T90_ = (NI)0;
39523 						T90_ = len__ast_3198(n);
39524 						if (!!((i == (NI)(T90_ - ((NI) 1))))) goto LA91_;
39525 						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);
39526 					}
39527 					LA91_: ;
39528 				}
39529 				goto LA7_;
39530 				LA86_: ;
39531 				{
39532 					illFormedAst__semdata_1071(n, (*(*c).graph).config);
39533 				}
39534 				LA7_: ;
39535 				{
39536 					if (!(((NI) 1) < catchAllExcepts)) goto LA96_;
39537 					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);
39538 				}
39539 				LA96_: ;
39540 				T98_ = (NI)0;
39541 				T98_ = len__ast_3198(a);
39542 				T99_ = (NI)0;
39543 				T99_ = len__ast_3198(a);
39544 				asgnRef((void**) (&(*a)._kind_6.sons->data[(NI)(T98_ - ((NI) 1))]), semExprBranchScope__sem_9277(c, (*a)._kind_6.sons->data[(NI)(T99_ - ((NI) 1))]));
39545 				{
39546 					NI T104_;
39547 					if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107)))) goto LA102_;
39548 					T104_ = (NI)0;
39549 					T104_ = len__ast_3198(a);
39550 					typ = commonType__sem_448(c, typ, (*a)._kind_6.sons->data[(NI)(T104_ - ((NI) 1))]);
39551 				}
39552 				goto LA100_;
39553 				LA102_: ;
39554 				{
39555 					last -= ((NI) 1);
39556 				}
39557 				LA100_: ;
39558 				closeScope__lookups_101(c);
39559 				res += ((NI) 1);
39560 			} LA5: ;
39561 		}
39562 	}
39563 	{
39564 		NIM_BOOL T108_;
39565 		T108_ = (NIM_BOOL)0;
39566 		T108_ = isEmptyType__ast_4779(typ);
39567 		if (T108_) goto LA109_;
39568 		T108_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
39569 		LA109_: ;
39570 		if (!T108_) goto LA110_;
39571 		discardCheck__sem_9323(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
39572 		{
39573 			NI i_3;
39574 			NI colontmp__2;
39575 			NI i_4;
39576 			i_3 = (NI)0;
39577 			colontmp__2 = (NI)0;
39578 			colontmp__2 = len__ast_3198(n);
39579 			i_4 = ((NI) 1);
39580 			{
39581 				while (1) {
39582 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T115_;
39583 					if (!(i_4 < colontmp__2)) goto LA114;
39584 					i_3 = i_4;
39585 					T115_ = NIM_NIL;
39586 					T115_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
39587 					discardCheck__sem_9323(c, T115_, flags);
39588 					i_4 += ((NI) 1);
39589 				} LA114: ;
39590 			}
39591 		}
39592 		{
39593 			if (!(typ == (*c).enforceVoidContext)) goto LA118_;
39594 			asgnRef((void**) (&(*result).typ), (*c).enforceVoidContext);
39595 		}
39596 		LA118_: ;
39597 	}
39598 	goto LA106_;
39599 	LA110_: ;
39600 	{
39601 		{
39602 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T123_;
39603 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T126_;
39604 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T127_;
39605 			T123_ = NIM_NIL;
39606 			T123_ = lastSon__ast_4832(n);
39607 			if (!((*T123_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA124_;
39608 			T126_ = NIM_NIL;
39609 			T126_ = lastSon__ast_4832(n);
39610 			T127_ = NIM_NIL;
39611 			T127_ = lastSon__ast_4832(T126_);
39612 			discardCheck__sem_9323(c, T127_, flags);
39613 		}
39614 		LA124_: ;
39615 		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));
39616 		{
39617 			NI i_5;
39618 			NI res_2;
39619 			i_5 = (NI)0;
39620 			res_2 = ((NI) 1);
39621 			{
39622 				while (1) {
39623 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
39624 					NI j_2;
39625 					NI T131_;
39626 					if (!(res_2 <= last)) goto LA130;
39627 					i_5 = res_2;
39628 					it = (*n)._kind_6.sons->data[i_5];
39629 					T131_ = (NI)0;
39630 					T131_ = len__ast_3198(it);
39631 					j_2 = (NI)(T131_ - ((NI) 1));
39632 					{
39633 						NIM_BOOL T134_;
39634 						T134_ = (NIM_BOOL)0;
39635 						T134_ = endsInNoReturn__sem_416((*it)._kind_6.sons->data[j_2]);
39636 						if (!!(T134_)) goto LA135_;
39637 						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));
39638 					}
39639 					LA135_: ;
39640 					res_2 += ((NI) 1);
39641 				} LA130: ;
39642 			}
39643 		}
39644 		asgnRef((void**) (&(*result).typ), typ);
39645 	}
39646 	LA106_: ;
39647 	return result;
39648 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semBreakOrContinue__sem_9185)39649 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semBreakOrContinue__sem_9185)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
39650 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39651 	result = NIM_NIL;
39652 	result = n;
39653 	checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
39654 	{
39655 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
39656 		{
39657 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
39658 			if (!!(((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111)))) goto LA7_;
39659 			s = NIM_NIL;
39660 			switch ((*(*n)._kind_6.sons->data[((NI) 0)]).kind) {
39661 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
39662 			{
39663 				s = lookUp__lookups_1211(c, (*n)._kind_6.sons->data[((NI) 0)]);
39664 			}
39665 			break;
39666 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
39667 			{
39668 				s = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
39669 			}
39670 			break;
39671 			default:
39672 			{
39673 				illFormedAst__semdata_1071(n, (*(*c).graph).config);
39674 			}
39675 			break;
39676 			}
39677 			s = getGenSym__semdata_408(c, s);
39678 			{
39679 				NIM_BOOL T14_;
39680 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym2275_;
39681 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym2276_;
39682 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
39683 				T14_ = (NIM_BOOL)0;
39684 				T14_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 22));
39685 				if (!(T14_)) goto LA15_;
39686 				xX60gensym2275_ = (*s).owner;
39687 				xX60gensym2276_ = (*(*c).p).owner;
39688 				T14_ = ((NI)((NI)((NU32)(((NI) ((*xX60gensym2275_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym2275_).Sup.itemId.item))) == (NI)((NI)((NU32)(((NI) ((*xX60gensym2276_).Sup.itemId.module))) << (NU32)(((NI) 20))) + ((NI) ((*xX60gensym2276_).Sup.itemId.item))));
39689 				LA15_: ;
39690 				if (!T14_) goto LA16_;
39691 				x = newSymNode__ast_3716(s);
39692 				(*x).info = (*n).info;
39693 				(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0)) & 63);
39694 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), x);
39695 				suggestSym__sigmatch_5375((*c).graph, (*x).info, s, &(*(*c).graph).usageSym, NIM_TRUE);
39696 			}
39697 			goto LA12_;
39698 			LA16_: ;
39699 			{
39700 				NimStringDesc* T19_;
39701 				T19_ = NIM_NIL;
39702 				T19_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_857), (*(*s).name).s);
39703 				liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T19_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_858, NIM_FALSE);
39704 			}
39705 			LA12_: ;
39706 		}
39707 		goto LA5_;
39708 		LA7_: ;
39709 		{
39710 			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);
39711 		}
39712 		LA5_: ;
39713 	}
39714 	goto LA1_;
39715 	LA3_: ;
39716 	{
39717 		NIM_BOOL T22_;
39718 		NIM_BOOL T24_;
39719 		NimStringDesc* T28_;
39720 		NimStringDesc* T29_;
39721 		T22_ = (NIM_BOOL)0;
39722 		T22_ = ((*(*c).p).nestedLoopCounter <= ((NI) 0));
39723 		if (!(T22_)) goto LA23_;
39724 		T24_ = (NIM_BOOL)0;
39725 		T24_ = ((*(*c).p).nestedBlockCounter <= ((NI) 0));
39726 		if (T24_) goto LA25_;
39727 		T24_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111));
39728 		LA25_: ;
39729 		T22_ = T24_;
39730 		LA23_: ;
39731 		if (!T22_) goto LA26_;
39732 		T28_ = NIM_NIL;
39733 		T28_ = renderTree__renderer_46(n, 4);
39734 		T29_ = NIM_NIL;
39735 		T29_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_857), T28_);
39736 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T29_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_861, NIM_FALSE);
39737 	}
39738 	goto LA1_;
39739 	LA26_: ;
39740 	LA1_: ;
39741 	return result;
39742 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,handleStmtMacro__sem_11247)39743 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) {
39744 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39745 {	result = NIM_NIL;
39746 	{
39747 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* maType;
39748 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* headSymbol;
39749 		tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
39750 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* match;
39751 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* symx;
39752 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* callExpr;
39753 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
39754 		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_;
39755 		maType = getCompilerProc__magicsys_145((*c).graph, magicType);
39756 		{
39757 			if (!(maType == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA7_;
39758 			goto BeforeRet_;
39759 		}
39760 		LA7_: ;
39761 		headSymbol = (*selector)._kind_6.sons->data[((NI) 0)];
39762 		nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
39763 		match = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
39764 		symx = initOverloadIter__lookups_1374((&o), c, headSymbol);
39765 		{
39766 			while (1) {
39767 				if (!!((symx == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA10;
39768 				{
39769 					if (!((393216 &((NU32)1<<((NU)((*symx).kind)&31U)))!=0)) goto LA13_;
39770 					{
39771 						NIM_BOOL T17_;
39772 						NI T18_;
39773 						T17_ = (NIM_BOOL)0;
39774 						T18_ = (NI)0;
39775 						T18_ = len__ast_4002((*symx).typ);
39776 						T17_ = (T18_ == ((NI) 2));
39777 						if (!(T17_)) goto LA19_;
39778 						T17_ = ((*(*symx).typ).sons->data[((NI) 1)] == (*maType).typ);
39779 						LA19_: ;
39780 						if (!T17_) goto LA20_;
39781 						{
39782 							if (!(match == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA24_;
39783 							match = symx;
39784 						}
39785 						goto LA22_;
39786 						LA24_: ;
39787 						{
39788 							tyArray__24KAM9afIUgUaqBaEBB6r9bg T27_;
39789 							NimStringDesc* T28_;
39790 							nimZeroMem((void*)T27_, sizeof(tyArray__24KAM9afIUgUaqBaEBB6r9bg));
39791 							T27_[0] = getProcHeader__types_222((*(*c).graph).config, match, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
39792 							T27_[1] = getProcHeader__types_222((*(*c).graph).config, symx, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0), NIM_TRUE);
39793 							T27_[2] = dollar___renderer_2106(selector);
39794 							T28_ = NIM_NIL;
39795 							T28_ = nsuFormatOpenArray(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_426), T27_, 3);
39796 							liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T28_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_862, NIM_FALSE);
39797 						}
39798 						LA22_: ;
39799 					}
39800 					LA20_: ;
39801 				}
39802 				LA13_: ;
39803 				symx = nextOverloadIter__lookups_1528((&o), c, headSymbol);
39804 			} LA10: ;
39805 		}
39806 		{
39807 			if (!(match == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA31_;
39808 			goto BeforeRet_;
39809 		}
39810 		LA31_: ;
39811 		callExpr = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
39812 		T33_ = NIM_NIL;
39813 		T33_ = newSymNode__ast_3716(match);
39814 		add__ast_4797(callExpr, T33_);
39815 		add__ast_4797(callExpr, n);
39816 		switch ((*match).kind) {
39817 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
39818 		{
39819 			result = semMacroExpr__sem_524(c, callExpr, callExpr, match, flags);
39820 		}
39821 		break;
39822 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
39823 		{
39824 			result = semTemplateExpr__sem_519(c, callExpr, match, flags);
39825 		}
39826 		break;
39827 		default:
39828 		{
39829 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
39830 		}
39831 		break;
39832 		}
39833 	}
39834 	LA3_: ;
39835 	}BeforeRet_: ;
39836 	return result;
39837 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,handleForLoopMacro__sem_11301)39838 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, handleForLoopMacro__sem_11301)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
39839 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39840 	NI T1_;
39841 	result = NIM_NIL;
39842 	T1_ = (NI)0;
39843 	T1_ = len__ast_3198(n);
39844 	result = handleStmtMacro__sem_11247(c, n, (*n)._kind_6.sons->data[(NI)(T1_ - ((NI) 2))], ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_863), flags);
39845 	return result;
39846 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprNoDeref__sem_63)39847 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprNoDeref__sem_63)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
39848 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39849 	result = NIM_NIL;
39850 	result = semExprCheck__sem_13933(c, n, flags);
39851 	{
39852 		NimStringDesc* T5_;
39853 		NimStringDesc* T6_;
39854 		if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
39855 		T5_ = NIM_NIL;
39856 		T5_ = renderTree__renderer_46(result, 4);
39857 		T6_ = NIM_NIL;
39858 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_864), T5_);
39859 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_865, NIM_FALSE);
39860 		asgnRef((void**) (&(*result).typ), errorType__semdata_1002(c));
39861 	}
39862 	LA3_: ;
39863 	return result;
39864 }
N_NIMCALL(NIM_BOOL,isTrivalStmtExpr__sem_11231)39865 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrivalStmtExpr__sem_11231)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
39866 	NIM_BOOL result;
39867 {	result = (NIM_BOOL)0;
39868 	{
39869 		NI i;
39870 		NI colontmp_;
39871 		NI T2_;
39872 		NI i_2;
39873 		i = (NI)0;
39874 		colontmp_ = (NI)0;
39875 		T2_ = (NI)0;
39876 		T2_ = len__ast_3198(n);
39877 		colontmp_ = (NI)(T2_ - ((NI) 1));
39878 		i_2 = ((NI) 0);
39879 		{
39880 			while (1) {
39881 				if (!(i_2 < colontmp_)) goto LA4;
39882 				i = i_2;
39883 				{
39884 					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_;
39885 					result = NIM_FALSE;
39886 					goto BeforeRet_;
39887 				}
39888 				LA7_: ;
39889 				i_2 += ((NI) 1);
39890 			} LA4: ;
39891 		}
39892 	}
39893 	result = NIM_TRUE;
39894 	}BeforeRet_: ;
39895 	return result;
39896 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,symForVar__sem_10945)39897 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, symForVar__sem_10945)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
39898 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
39899 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
39900 	result = NIM_NIL;
39901 	{
39902 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA3_;
39903 		m = (*n)._kind_6.sons->data[((NI) 0)];
39904 	}
39905 	goto LA1_;
39906 	LA3_: ;
39907 	{
39908 		m = n;
39909 	}
39910 	LA1_: ;
39911 	result = newSymG__sem_458(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 21), m, c);
39912 	{
39913 		NIM_BOOL T8_;
39914 		T8_ = (NIM_BOOL)0;
39915 		T8_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
39916 		if (!(T8_)) goto LA9_;
39917 		T8_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
39918 		LA9_: ;
39919 		if (!T8_) goto LA10_;
39920 		nep1CheckDefImpl__linter_110((*(*c).graph).config, (*result).info, result, (*result).kind);
39921 	}
39922 	LA10_: ;
39923 	{
39924 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43))) goto LA14_;
39925 		pragma__pragmas_123(c, result, (*n)._kind_6.sons->data[((NI) 1)], TM__rF9caJawfOjYTjsgLVUSGFA_868, NIM_FALSE);
39926 	}
39927 	LA14_: ;
39928 	return result;
39929 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semForVars__sem_10972)39930 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semForVars__sem_10972)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
39931 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
39932 	tyObject_TType__facALICuu8zUj0hjvbTLFg* iterBase;
39933 	NI T1_;
39934 	tyObject_TType__facALICuu8zUj0hjvbTLFg* iter;
39935 	tyObject_TType__facALICuu8zUj0hjvbTLFg* iterAfterVarLent;
39936 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T138_;
39937 	NI T139_;
39938 	NI T140_;
39939 {	result = NIM_NIL;
39940 	result = n;
39941 	T1_ = (NI)0;
39942 	T1_ = len__ast_3198(n);
39943 	iterBase = (*(*n)._kind_6.sons->data[(NI)(T1_ - ((NI) 2))]).typ;
39944 	iter = skipTypes__ast_3735(iterBase, TM__rF9caJawfOjYTjsgLVUSGFA_39);
39945 	iterAfterVarLent = skipTypes__ast_3735(iter, TM__rF9caJawfOjYTjsgLVUSGFA_866);
39946 	{
39947 		NIM_BOOL T4_;
39948 		NI T6_;
39949 		T4_ = (NIM_BOOL)0;
39950 		T4_ = !(((*iterAfterVarLent).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18)));
39951 		if (T4_) goto LA5_;
39952 		T6_ = (NI)0;
39953 		T6_ = len__ast_3198(n);
39954 		T4_ = (T6_ == ((NI) 3));
39955 		LA5_: ;
39956 		if (!T4_) goto LA7_;
39957 		{
39958 			NI T11_;
39959 			T11_ = (NI)0;
39960 			T11_ = len__ast_3198(n);
39961 			if (!(T11_ == ((NI) 3))) goto LA12_;
39962 			{
39963 				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA16_;
39964 				{
39965 					NI T20_;
39966 					NI T21_;
39967 					T20_ = (NI)0;
39968 					T20_ = len__ast_3198((*n)._kind_6.sons->data[((NI) 0)]);
39969 					T21_ = (NI)0;
39970 					T21_ = len__ast_4002(iterAfterVarLent);
39971 					if (!!(((NI)(T20_ - ((NI) 1)) == T21_))) goto LA22_;
39972 					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);
39973 					result = errorNode__semdata_1009(c, n);
39974 					goto BeforeRet_;
39975 				}
39976 				LA22_: ;
39977 				{
39978 					NI i;
39979 					NI colontmp_;
39980 					NI T25_;
39981 					NI i_2;
39982 					i = (NI)0;
39983 					colontmp_ = (NI)0;
39984 					T25_ = (NI)0;
39985 					T25_ = len__ast_3198((*n)._kind_6.sons->data[((NI) 0)]);
39986 					colontmp_ = (NI)(T25_ - ((NI) 1));
39987 					i_2 = ((NI) 0);
39988 					{
39989 						while (1) {
39990 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
39991 							if (!(i_2 < colontmp_)) goto LA27;
39992 							i = i_2;
39993 							v = symForVar__sem_10945(c, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[i]);
39994 							{
39995 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T30_;
39996 								T30_ = NIM_NIL;
39997 								T30_ = getCurrOwner__semdata_315(c);
39998 								if (!((*T30_).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA31_;
39999 								(*v).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3)) & 63);
40000 							}
40001 							LA31_: ;
40002 							switch ((*iter).kind) {
40003 							case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
40004 							case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
40005 							{
40006 								asgnRef((void**) (&(*v).typ), newTypeS__semdata_733((*iter).kind, c));
40007 								add__concepts_23((*v).typ, (*iterAfterVarLent).sons->data[i]);
40008 								{
40009 									if (!(((*iter).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20))&63U)))!=0)) goto LA36_;
40010 									(*(*v).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
40011 								}
40012 								LA36_: ;
40013 							}
40014 							break;
40015 							default:
40016 							{
40017 								asgnRef((void**) (&(*v).typ), (*iter).sons->data[i]);
40018 							}
40019 							break;
40020 							}
40021 							asgnRef((void**) (&(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[i]), newSymNode__ast_3716(v));
40022 							{
40023 								NIM_BOOL T41_;
40024 								NIM_BOOL T43_;
40025 								T41_ = (NIM_BOOL)0;
40026 								T41_ = !((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0));
40027 								if (!(T41_)) goto LA42_;
40028 								T43_ = (NIM_BOOL)0;
40029 								T43_ = isDiscardUnderscore__sem_9761(v);
40030 								T41_ = !(T43_);
40031 								LA42_: ;
40032 								if (!T41_) goto LA44_;
40033 								addDecl__lookups_845(c, v);
40034 							}
40035 							goto LA39_;
40036 							LA44_: ;
40037 							{
40038 								if (!((*v).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA47_;
40039 								asgnRef((void**) (&(*v).owner), getCurrOwner__semdata_315(c));
40040 							}
40041 							goto LA39_;
40042 							LA47_: ;
40043 							LA39_: ;
40044 							i_2 += ((NI) 1);
40045 						} LA27: ;
40046 					}
40047 				}
40048 			}
40049 			goto LA14_;
40050 			LA16_: ;
40051 			{
40052 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v_2;
40053 				v_2 = symForVar__sem_10945(c, (*n)._kind_6.sons->data[((NI) 0)]);
40054 				{
40055 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T52_;
40056 					T52_ = NIM_NIL;
40057 					T52_ = getCurrOwner__semdata_315(c);
40058 					if (!((*T52_).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA53_;
40059 					(*v_2).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3)) & 63);
40060 				}
40061 				LA53_: ;
40062 				asgnRef((void**) (&(*v_2).typ), iterBase);
40063 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3716(v_2));
40064 				{
40065 					NIM_BOOL T57_;
40066 					NIM_BOOL T59_;
40067 					T57_ = (NIM_BOOL)0;
40068 					T57_ = !((((*v_2).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0));
40069 					if (!(T57_)) goto LA58_;
40070 					T59_ = (NIM_BOOL)0;
40071 					T59_ = isDiscardUnderscore__sem_9761(v_2);
40072 					T57_ = !(T59_);
40073 					LA58_: ;
40074 					if (!T57_) goto LA60_;
40075 					addDecl__lookups_845(c, v_2);
40076 				}
40077 				goto LA55_;
40078 				LA60_: ;
40079 				{
40080 					if (!((*v_2).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA63_;
40081 					asgnRef((void**) (&(*v_2).owner), getCurrOwner__semdata_315(c));
40082 				}
40083 				goto LA55_;
40084 				LA63_: ;
40085 				LA55_: ;
40086 			}
40087 			LA14_: ;
40088 		}
40089 		goto LA9_;
40090 		LA12_: ;
40091 		{
40092 			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);
40093 		}
40094 		LA9_: ;
40095 	}
40096 	goto LA2_;
40097 	LA7_: ;
40098 	{
40099 		NI T67_;
40100 		NI T68_;
40101 		T67_ = (NI)0;
40102 		T67_ = len__ast_3198(n);
40103 		T68_ = (NI)0;
40104 		T68_ = len__ast_4002(iterAfterVarLent);
40105 		if (!!(((NI)(T67_ - ((NI) 2)) == T68_))) goto LA69_;
40106 		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);
40107 	}
40108 	goto LA2_;
40109 	LA69_: ;
40110 	{
40111 		{
40112 			NI i_3;
40113 			NI colontmp__2;
40114 			NI T73_;
40115 			NI i_4;
40116 			i_3 = (NI)0;
40117 			colontmp__2 = (NI)0;
40118 			T73_ = (NI)0;
40119 			T73_ = len__ast_3198(n);
40120 			colontmp__2 = (NI)(T73_ - ((NI) 2));
40121 			i_4 = ((NI) 0);
40122 			{
40123 				while (1) {
40124 					if (!(i_4 < colontmp__2)) goto LA75;
40125 					i_3 = i_4;
40126 					{
40127 						NIM_BOOL mutable_1;
40128 						NIM_BOOL isLent;
40129 						if (!((*(*n)._kind_6.sons->data[i_3]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA78_;
40130 						mutable_1 = NIM_FALSE;
40131 						isLent = NIM_FALSE;
40132 						switch ((*(*iter).sons->data[i_3]).kind) {
40133 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
40134 						{
40135 							mutable_1 = NIM_TRUE;
40136 							asgnRef((void**) (&(*iter).sons->data[i_3]), skipTypes__ast_3735((*iter).sons->data[i_3], TM__rF9caJawfOjYTjsgLVUSGFA_182));
40137 						}
40138 						break;
40139 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
40140 						{
40141 							isLent = NIM_TRUE;
40142 							asgnRef((void**) (&(*iter).sons->data[i_3]), skipTypes__ast_3735((*iter).sons->data[i_3], TM__rF9caJawfOjYTjsgLVUSGFA_871));
40143 						}
40144 						break;
40145 						default:
40146 						{
40147 						}
40148 						break;
40149 						}
40150 						{
40151 							NI T85_;
40152 							NI T86_;
40153 							T85_ = (NI)0;
40154 							T85_ = len__ast_3198((*n)._kind_6.sons->data[i_3]);
40155 							T86_ = (NI)0;
40156 							T86_ = len__ast_4002((*iter).sons->data[i_3]);
40157 							if (!!(((NI)(T85_ - ((NI) 1)) == T86_))) goto LA87_;
40158 							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);
40159 						}
40160 						LA87_: ;
40161 						{
40162 							NI j;
40163 							NI colontmp__3;
40164 							NI T90_;
40165 							NI i_5;
40166 							j = (NI)0;
40167 							colontmp__3 = (NI)0;
40168 							T90_ = (NI)0;
40169 							T90_ = len__ast_3198((*n)._kind_6.sons->data[i_3]);
40170 							colontmp__3 = (NI)(T90_ - ((NI) 1));
40171 							i_5 = ((NI) 0);
40172 							{
40173 								while (1) {
40174 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v_3;
40175 									if (!(i_5 < colontmp__3)) goto LA92;
40176 									j = i_5;
40177 									v_3 = symForVar__sem_10945(c, (*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[j]);
40178 									{
40179 										tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T95_;
40180 										T95_ = NIM_NIL;
40181 										T95_ = getCurrOwner__semdata_315(c);
40182 										if (!((*T95_).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA96_;
40183 										(*v_3).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3)) & 63);
40184 									}
40185 									LA96_: ;
40186 									{
40187 										if (!mutable_1) goto LA100_;
40188 										asgnRef((void**) (&(*v_3).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23), c));
40189 										add__concepts_23((*v_3).typ, (*(*iter).sons->data[i_3]).sons->data[j]);
40190 									}
40191 									goto LA98_;
40192 									LA100_: ;
40193 									{
40194 										if (!isLent) goto LA103_;
40195 										asgnRef((void**) (&(*v_3).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47), c));
40196 										add__concepts_23((*v_3).typ, (*(*iter).sons->data[i_3]).sons->data[j]);
40197 									}
40198 									goto LA98_;
40199 									LA103_: ;
40200 									{
40201 										asgnRef((void**) (&(*v_3).typ), (*(*iter).sons->data[i_3]).sons->data[j]);
40202 									}
40203 									LA98_: ;
40204 									asgnRef((void**) (&(*(*n)._kind_6.sons->data[i_3])._kind_6.sons->data[j]), newSymNode__ast_3716(v_3));
40205 									{
40206 										NIM_BOOL T108_;
40207 										T108_ = (NIM_BOOL)0;
40208 										T108_ = isDiscardUnderscore__sem_9761(v_3);
40209 										if (!!(T108_)) goto LA109_;
40210 										addDecl__lookups_845(c, v_3);
40211 									}
40212 									goto LA106_;
40213 									LA109_: ;
40214 									{
40215 										if (!((*v_3).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA112_;
40216 										asgnRef((void**) (&(*v_3).owner), getCurrOwner__semdata_315(c));
40217 									}
40218 									goto LA106_;
40219 									LA112_: ;
40220 									LA106_: ;
40221 									i_5 += ((NI) 1);
40222 								} LA92: ;
40223 							}
40224 						}
40225 					}
40226 					goto LA76_;
40227 					LA78_: ;
40228 					{
40229 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v_4;
40230 						v_4 = symForVar__sem_10945(c, (*n)._kind_6.sons->data[i_3]);
40231 						{
40232 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T117_;
40233 							T117_ = NIM_NIL;
40234 							T117_ = getCurrOwner__semdata_315(c);
40235 							if (!((*T117_).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA118_;
40236 							(*v_4).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3)) & 63);
40237 						}
40238 						LA118_: ;
40239 						switch ((*iter).kind) {
40240 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
40241 						case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
40242 						{
40243 							asgnRef((void**) (&(*v_4).typ), newTypeS__semdata_733((*iter).kind, c));
40244 							add__concepts_23((*v_4).typ, (*iterAfterVarLent).sons->data[i_3]);
40245 							{
40246 								if (!(((*iter).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20))&63U)))!=0)) goto LA123_;
40247 								(*(*v_4).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
40248 							}
40249 							LA123_: ;
40250 						}
40251 						break;
40252 						default:
40253 						{
40254 							asgnRef((void**) (&(*v_4).typ), (*iter).sons->data[i_3]);
40255 						}
40256 						break;
40257 						}
40258 						asgnRef((void**) (&(*n)._kind_6.sons->data[i_3]), newSymNode__ast_3716(v_4));
40259 						{
40260 							if (!!((((*v_4).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 37))&63U)))!=0))) goto LA128_;
40261 							{
40262 								NIM_BOOL T132_;
40263 								T132_ = (NIM_BOOL)0;
40264 								T132_ = isDiscardUnderscore__sem_9761(v_4);
40265 								if (!!(T132_)) goto LA133_;
40266 								addDecl__lookups_845(c, v_4);
40267 							}
40268 							LA133_: ;
40269 						}
40270 						goto LA126_;
40271 						LA128_: ;
40272 						{
40273 							if (!((*v_4).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA136_;
40274 							asgnRef((void**) (&(*v_4).owner), getCurrOwner__semdata_315(c));
40275 						}
40276 						goto LA126_;
40277 						LA136_: ;
40278 						LA126_: ;
40279 					}
40280 					LA76_: ;
40281 					i_4 += ((NI) 1);
40282 				} LA75: ;
40283 			}
40284 		}
40285 	}
40286 	LA2_: ;
40287 	(*(*c).p).nestedLoopCounter += ((NI) 1);
40288 	T138_ = NIM_NIL;
40289 	T138_ = openScope__lookups_69(c);
40290 	T139_ = (NI)0;
40291 	T139_ = len__ast_3198(n);
40292 	T140_ = (NI)0;
40293 	T140_ = len__ast_3198(n);
40294 	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));
40295 	{
40296 		NI T145_;
40297 		if (!!(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0))) goto LA143_;
40298 		T145_ = (NI)0;
40299 		T145_ = len__ast_3198(n);
40300 		discardCheck__sem_9323(c, (*n)._kind_6.sons->data[(NI)(T145_ - ((NI) 1))], flags);
40301 	}
40302 	LA143_: ;
40303 	closeScope__lookups_101(c);
40304 	(*(*c).p).nestedLoopCounter -= ((NI) 1);
40305 	}BeforeRet_: ;
40306 	return result;
40307 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,instFieldLoopBody__sem_10639)40308 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, instFieldLoopBody__sem_10639)(tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* forLoop) {
40309 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
40310 {	result = NIM_NIL;
40311 	{
40312 		NIM_BOOL T3_;
40313 		T3_ = (NIM_BOOL)0;
40314 		T3_ = !((c.field == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
40315 		if (!(T3_)) goto LA4_;
40316 		T3_ = isEmptyType__ast_4779((*c.field).typ);
40317 		LA4_: ;
40318 		if (!T3_) goto LA5_;
40319 		result = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
40320 		goto BeforeRet_;
40321 	}
40322 	LA5_: ;
40323 	switch ((*n).kind) {
40324 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
40325 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
40326 	{
40327 		result = copyNode__ast_4336(n);
40328 	}
40329 	break;
40330 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
40331 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
40332 	{
40333 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
40334 		result = n;
40335 		ident = considerQuotedIdent__lookups_28(c.c, n, ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
40336 		{
40337 			if (!c.replaceByFieldName) goto LA11_;
40338 			{
40339 				tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T15_;
40340 				NimStringDesc* fieldName;
40341 				T15_ = NIM_NIL;
40342 				T15_ = considerQuotedIdent__lookups_28(c.c, (*forLoop)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
40343 				if (!((*ident).id == (*T15_).id)) goto LA16_;
40344 				{
40345 					if (!(c.tupleType == 0)) goto LA20_;
40346 					fieldName = (*(*c.field).name).s;
40347 				}
40348 				goto LA18_;
40349 				LA20_: ;
40350 				{
40351 					NimStringDesc* T25_;
40352 					NimStringDesc* T26_;
40353 					if (!((*c.tupleType).n == 0)) goto LA23_;
40354 					T25_ = NIM_NIL;
40355 					T26_ = NIM_NIL;
40356 					T26_ = dollar___systemZdollars_3(c.tupleIndex);
40357 					T25_ = rawNewString((T26_ ? T26_->Sup.len : 0) + 5);
40358 appendString(T25_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_881));
40359 appendString(T25_, T26_);
40360 					fieldName = T25_;
40361 				}
40362 				goto LA18_;
40363 				LA23_: ;
40364 				{
40365 					fieldName = (*(*(*(*(*c.tupleType).n)._kind_6.sons->data[c.tupleIndex])._kind_4.sym).name).s;
40366 				}
40367 				LA18_: ;
40368 				result = newStrNode__ast_3813(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), fieldName);
40369 				goto BeforeRet_;
40370 			}
40371 			LA16_: ;
40372 		}
40373 		LA11_: ;
40374 		{
40375 			NI i;
40376 			NI colontmp_;
40377 			NI colontmp__2;
40378 			NI T29_;
40379 			NI i_2;
40380 			i = (NI)0;
40381 			colontmp_ = (NI)0;
40382 			colontmp__2 = (NI)0;
40383 			colontmp_ = c.replaceByFieldName;
40384 			T29_ = (NI)0;
40385 			T29_ = len__ast_3198(forLoop);
40386 			colontmp__2 = (NI)(T29_ - ((NI) 2));
40387 			i_2 = colontmp_;
40388 			{
40389 				while (1) {
40390 					if (!(i_2 < colontmp__2)) goto LA31;
40391 					i = i_2;
40392 					{
40393 						tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T34_;
40394 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
40395 						NI T37_;
40396 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tupl;
40397 						T34_ = NIM_NIL;
40398 						T34_ = considerQuotedIdent__lookups_28(c.c, (*forLoop)._kind_6.sons->data[i], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
40399 						if (!((*ident).id == (*T34_).id)) goto LA35_;
40400 						T37_ = (NI)0;
40401 						T37_ = len__ast_3198(forLoop);
40402 						call = (*forLoop)._kind_6.sons->data[(NI)(T37_ - ((NI) 2))];
40403 						tupl = (*call)._kind_6.sons->data[(NI)((NI)(i + ((NI) 1)) - c.replaceByFieldName)];
40404 						{
40405 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T42_;
40406 							if (!(c.field == 0)) goto LA40_;
40407 							result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), (*n).info);
40408 							add__ast_4797(result, tupl);
40409 							T42_ = NIM_NIL;
40410 							T42_ = newIntNode__ast_3723(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6), ((NI64) (c.tupleIndex)));
40411 							add__ast_4797(result, T42_);
40412 						}
40413 						goto LA38_;
40414 						LA40_: ;
40415 						{
40416 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T44_;
40417 							result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), (*n).info);
40418 							add__ast_4797(result, tupl);
40419 							T44_ = NIM_NIL;
40420 							T44_ = newSymNode__ast_3719(c.field, (*n).info);
40421 							add__ast_4797(result, T44_);
40422 						}
40423 						LA38_: ;
40424 						goto LA28;
40425 					}
40426 					LA35_: ;
40427 					i_2 += ((NI) 1);
40428 				} LA31: ;
40429 			}
40430 		} LA28: ;
40431 	}
40432 	break;
40433 	default:
40434 	{
40435 		{
40436 			if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111))) goto LA48_;
40437 			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);
40438 		}
40439 		LA48_: ;
40440 		result = shallowCopy__ast_4413(n);
40441 		{
40442 			NI i_3;
40443 			NI colontmp__3;
40444 			NI i_4;
40445 			i_3 = (NI)0;
40446 			colontmp__3 = (NI)0;
40447 			colontmp__3 = len__ast_3198(n);
40448 			i_4 = ((NI) 0);
40449 			{
40450 				while (1) {
40451 					if (!(i_4 < colontmp__3)) goto LA52;
40452 					i_3 = i_4;
40453 					asgnRef((void**) (&(*result)._kind_6.sons->data[i_3]), instFieldLoopBody__sem_10639(c, (*n)._kind_6.sons->data[i_3], forLoop));
40454 					i_4 += ((NI) 1);
40455 				} LA52: ;
40456 			}
40457 		}
40458 	}
40459 	break;
40460 	}
40461 	}BeforeRet_: ;
40462 	return result;
40463 }
N_NIMCALL(void,semForObjectFields__sem_10725)40464 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) {
40465 {	switch ((*typ).kind) {
40466 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
40467 	{
40468 		tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA fc;
40469 		tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T2_;
40470 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
40471 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T3_;
40472 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T4_;
40473 		nimZeroMem((void*)(&fc), sizeof(tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA));
40474 		fc.c = c.c;
40475 		fc.field = (*typ)._kind_4.sym;
40476 		fc.replaceByFieldName = (c.m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 129));
40477 		T2_ = NIM_NIL;
40478 		T2_ = openScope__lookups_69(c.c);
40479 		(*c.c).inUnrolledContext += ((NI) 1);
40480 		T3_ = NIM_NIL;
40481 		T3_ = lastSon__ast_4832(forLoop);
40482 		body = instFieldLoopBody__sem_10639(fc, T3_, forLoop);
40483 		T4_ = NIM_NIL;
40484 		T4_ = semStmt__sem_84(c.c, body, 0);
40485 		add__ast_4797(father, T4_);
40486 		(*c.c).inUnrolledContext -= ((NI) 1);
40487 		closeScope__lookups_101(c.c);
40488 	}
40489 	break;
40490 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
40491 	{
40492 	}
40493 	break;
40494 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
40495 	{
40496 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
40497 		NI T7_;
40498 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* caseStmt;
40499 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* access;
40500 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
40501 		T7_ = (NI)0;
40502 		T7_ = len__ast_3198(forLoop);
40503 		call = (*forLoop)._kind_6.sons->data[(NI)(T7_ - ((NI) 2))];
40504 		{
40505 			NI T10_;
40506 			T10_ = (NI)0;
40507 			T10_ = len__ast_3198(call);
40508 			if (!(((NI) 2) < T10_)) goto LA11_;
40509 			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);
40510 			goto BeforeRet_;
40511 		}
40512 		LA11_: ;
40513 		semForObjectFields__sem_10725(c, (*typ)._kind_6.sons->data[((NI) 0)], forLoop, father);
40514 		caseStmt = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97), (*forLoop).info);
40515 		access = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), (*forLoop).info, ((NI) 2));
40516 		asgnRef((void**) (&(*access)._kind_6.sons->data[((NI) 0)]), (*call)._kind_6.sons->data[((NI) 1)]);
40517 		asgnRef((void**) (&(*access)._kind_6.sons->data[((NI) 1)]), newSymNode__ast_3719((*(*typ)._kind_6.sons->data[((NI) 0)])._kind_4.sym, (*forLoop).info));
40518 		T13_ = NIM_NIL;
40519 		T13_ = semExprWithType__sem_56(c.c, access, 0);
40520 		add__ast_4797(caseStmt, T13_);
40521 		{
40522 			NI i;
40523 			NI colontmp_;
40524 			NI i_2;
40525 			i = (NI)0;
40526 			colontmp_ = (NI)0;
40527 			colontmp_ = len__ast_3198(typ);
40528 			i_2 = ((NI) 1);
40529 			{
40530 				while (1) {
40531 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* branch;
40532 					NI T17_;
40533 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
40534 					NI T19_;
40535 					if (!(i_2 < colontmp_)) goto LA16;
40536 					i = i_2;
40537 					branch = copyTree__ast_4431((*typ)._kind_6.sons->data[i]);
40538 					T17_ = (NI)0;
40539 					T17_ = len__ast_3198(branch);
40540 					asgnRef((void**) (&(*branch)._kind_6.sons->data[(NI)(T17_ - ((NI) 1))]), newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*forLoop).info));
40541 					T18_ = NIM_NIL;
40542 					T18_ = lastSon__ast_4832((*typ)._kind_6.sons->data[i]);
40543 					T19_ = (NI)0;
40544 					T19_ = len__ast_3198(branch);
40545 					semForObjectFields__sem_10725(c, T18_, forLoop, (*branch)._kind_6.sons->data[(NI)(T19_ - ((NI) 1))]);
40546 					add__ast_4797(caseStmt, branch);
40547 					i_2 += ((NI) 1);
40548 				} LA16: ;
40549 			}
40550 		}
40551 		add__ast_4797(father, caseStmt);
40552 	}
40553 	break;
40554 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
40555 	{
40556 		{
40557 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* t;
40558 			t = NIM_NIL;
40559 			{
40560 				NI i_3;
40561 				NI colontmp__2;
40562 				NI i_4;
40563 				i_3 = (NI)0;
40564 				colontmp__2 = (NI)0;
40565 				colontmp__2 = safeLen__ast_3191(typ);
40566 				i_4 = ((NI) 0);
40567 				{
40568 					while (1) {
40569 						if (!(i_4 < colontmp__2)) goto LA24;
40570 						i_3 = i_4;
40571 						t = (*typ)._kind_6.sons->data[i_3];
40572 						semForObjectFields__sem_10725(c, t, forLoop, father);
40573 						i_4 += ((NI) 1);
40574 					} LA24: ;
40575 				}
40576 			}
40577 		}
40578 	}
40579 	break;
40580 	default:
40581 	{
40582 		illFormedAstLocal__semdata_1074(typ, (*(*c.c).graph).config);
40583 	}
40584 	break;
40585 	}
40586 	}BeforeRet_: ;
40587 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semForFields__sem_10813)40588 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semForFields__sem_10813)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m) {
40589 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
40590 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* trueSymbol;
40591 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
40592 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* stmts;
40593 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
40594 	NI T9_;
40595 	tyObject_TType__facALICuu8zUj0hjvbTLFg* tupleTypeA;
40596 {	result = NIM_NIL;
40597 	result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96), (*n).info, ((NI) 2));
40598 	T1_ = NIM_NIL;
40599 	T1_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_873));
40600 	trueSymbol = systemModuleSym__modulegraphs_2829((*c).graph, T1_);
40601 	{
40602 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T6_;
40603 		tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T7_;
40604 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T8_;
40605 		if (!(trueSymbol == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA4_;
40606 		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);
40607 		T6_ = NIM_NIL;
40608 		T6_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_873));
40609 		T7_ = nextSymId__ast_3132((*c).Sup.idgen);
40610 		T8_ = NIM_NIL;
40611 		T8_ = getCurrOwner__semdata_315(c);
40612 		trueSymbol = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 0), T6_, T7_, T8_, (*n).info, 0);
40613 		asgnRef((void**) (&(*trueSymbol).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1)));
40614 	}
40615 	LA4_: ;
40616 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), newSymNode__ast_3719(trueSymbol, (*n).info));
40617 	stmts = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
40618 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 1)]), stmts);
40619 	T9_ = (NI)0;
40620 	T9_ = len__ast_3198(n);
40621 	call = (*n)._kind_6.sons->data[(NI)(T9_ - ((NI) 2))];
40622 	{
40623 		NI T12_;
40624 		NI T13_;
40625 		T12_ = (NI)0;
40626 		T12_ = len__ast_3198(n);
40627 		T13_ = (NI)0;
40628 		T13_ = len__ast_3198(call);
40629 		if (!!(((NI)(T12_ - ((NI) 2)) == (NI)((NI)(T13_ - ((NI) 1)) + (m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 129)))))) goto LA14_;
40630 		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);
40631 		goto BeforeRet_;
40632 	}
40633 	LA14_: ;
40634 	tupleTypeA = skipTypes__ast_3735((*(*call)._kind_6.sons->data[((NI) 1)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_878);
40635 	{
40636 		if (!!(((*tupleTypeA).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18) || (*tupleTypeA).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)))) goto LA18_;
40637 		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);
40638 		goto BeforeRet_;
40639 	}
40640 	LA18_: ;
40641 	{
40642 		NI i;
40643 		NI colontmp_;
40644 		NI i_2;
40645 		i = (NI)0;
40646 		colontmp_ = (NI)0;
40647 		colontmp_ = len__ast_3198(call);
40648 		i_2 = ((NI) 1);
40649 		{
40650 			while (1) {
40651 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* calli;
40652 				tyObject_TType__facALICuu8zUj0hjvbTLFg* tupleTypeB;
40653 				if (!(i_2 < colontmp_)) goto LA22;
40654 				i = i_2;
40655 				calli = (*call)._kind_6.sons->data[i];
40656 				tupleTypeB = skipTypes__ast_3735((*calli).typ, TM__rF9caJawfOjYTjsgLVUSGFA_878);
40657 				{
40658 					NIM_BOOL T25_;
40659 					T25_ = (NIM_BOOL)0;
40660 					T25_ = sameType__types_1815(tupleTypeA, tupleTypeB, 0);
40661 					if (!!(T25_)) goto LA26_;
40662 					typeMismatch__types_3861((*(*c).graph).config, (*calli).info, tupleTypeA, tupleTypeB, calli);
40663 				}
40664 				LA26_: ;
40665 				i_2 += ((NI) 1);
40666 			} LA22: ;
40667 		}
40668 	}
40669 	(*(*c).p).nestedLoopCounter += ((NI) 1);
40670 	{
40671 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* loopBody;
40672 		NI T32_;
40673 		if (!((*tupleTypeA).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA30_;
40674 		T32_ = (NI)0;
40675 		T32_ = len__ast_3198(n);
40676 		loopBody = (*n)._kind_6.sons->data[(NI)(T32_ - ((NI) 1))];
40677 		{
40678 			NI i_3;
40679 			NI colontmp__2;
40680 			NI i_4;
40681 			i_3 = (NI)0;
40682 			colontmp__2 = (NI)0;
40683 			colontmp__2 = len__ast_4002(tupleTypeA);
40684 			i_4 = ((NI) 0);
40685 			{
40686 				while (1) {
40687 					tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T36_;
40688 					tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA fc;
40689 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body;
40690 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T37_;
40691 					if (!(i_4 < colontmp__2)) goto LA35;
40692 					i_3 = i_4;
40693 					T36_ = NIM_NIL;
40694 					T36_ = openScope__lookups_69(c);
40695 					nimZeroMem((void*)(&fc), sizeof(tyObject_TFieldInstCtx__GtjfcSJJiOiQ0USEydDBBA));
40696 					fc.tupleType = tupleTypeA;
40697 					fc.tupleIndex = i_3;
40698 					fc.c = c;
40699 					fc.replaceByFieldName = (m == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 129));
40700 					body = instFieldLoopBody__sem_10639(fc, loopBody, n);
40701 					(*c).inUnrolledContext += ((NI) 1);
40702 					T37_ = NIM_NIL;
40703 					T37_ = semStmt__sem_84(c, body, 0);
40704 					add__ast_4797(stmts, T37_);
40705 					(*c).inUnrolledContext -= ((NI) 1);
40706 					closeScope__lookups_101(c);
40707 					i_4 += ((NI) 1);
40708 				} LA35: ;
40709 			}
40710 		}
40711 	}
40712 	goto LA28_;
40713 	LA30_: ;
40714 	{
40715 		tyObject_TFieldsCtx__Oumniq9anVI0B7eyXhL1U9cw fc_2;
40716 		tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
40717 		nimZeroMem((void*)(&fc_2), sizeof(tyObject_TFieldsCtx__Oumniq9anVI0B7eyXhL1U9cw));
40718 		fc_2.m = m;
40719 		fc_2.c = c;
40720 		t = tupleTypeA;
40721 		{
40722 			while (1) {
40723 				if (!((*t).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17))) goto LA40;
40724 				semForObjectFields__sem_10725(fc_2, (*t).n, n, stmts);
40725 				{
40726 					if (!((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA43_;
40727 					goto LA39;
40728 				}
40729 				LA43_: ;
40730 				t = skipTypes__ast_3735((*t).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_53);
40731 			} LA40: ;
40732 		} LA39: ;
40733 	}
40734 	LA28_: ;
40735 	(*(*c).p).nestedLoopCounter -= ((NI) 1);
40736 	{
40737 		NIM_BOOL T47_;
40738 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
40739 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T50_;
40740 		T47_ = (NIM_BOOL)0;
40741 		T47_ = containsNode__ast_4545(stmts, TM__rF9caJawfOjYTjsgLVUSGFA_886);
40742 		if (!T47_) goto LA48_;
40743 		b = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110), (*n).info);
40744 		T50_ = NIM_NIL;
40745 		T50_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
40746 		add__ast_4797(b, T50_);
40747 		add__ast_4797(stmts, b);
40748 	}
40749 	goto LA45_;
40750 	LA48_: ;
40751 	{
40752 		result = stmts;
40753 	}
40754 	LA45_: ;
40755 	}BeforeRet_: ;
40756 	return result;
40757 }
N_INLINE(NIM_BOOL,isClosureIterator__ast_5004)40758 static N_INLINE(NIM_BOOL, isClosureIterator__ast_5004)(tyObject_TType__facALICuu8zUj0hjvbTLFg* typ) {
40759 	NIM_BOOL result;
40760 	NIM_BOOL T1_;
40761 	NIM_BOOL T2_;
40762 	result = (NIM_BOOL)0;
40763 	T1_ = (NIM_BOOL)0;
40764 	T2_ = (NIM_BOOL)0;
40765 	T2_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
40766 	if (!(T2_)) goto LA3_;
40767 	T2_ = (((*typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 15))&63U)))!=0);
40768 	LA3_: ;
40769 	T1_ = T2_;
40770 	if (!(T1_)) goto LA4_;
40771 	T1_ = ((*typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
40772 	LA4_: ;
40773 	result = T1_;
40774 	return result;
40775 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,implicitIterator__sem_11206)40776 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, implicitIterator__sem_11206)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, NimStringDesc* it, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* arg) {
40777 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
40778 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
40779 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
40780 	result = NIM_NIL;
40781 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*arg).info);
40782 	T1_ = NIM_NIL;
40783 	T1_ = getIdent__idents_143((*c).cache, it);
40784 	T2_ = NIM_NIL;
40785 	T2_ = newIdentNode__ast_3712(T1_, (*arg).info);
40786 	add__ast_4797(result, T2_);
40787 	{
40788 		NIM_BOOL T5_;
40789 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T9_;
40790 		T5_ = (NIM_BOOL)0;
40791 		T5_ = !(((*arg).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
40792 		if (!(T5_)) goto LA6_;
40793 		T5_ = ((*(*arg).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*arg).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47));
40794 		LA6_: ;
40795 		if (!T5_) goto LA7_;
40796 		T9_ = NIM_NIL;
40797 		T9_ = newDeref__lowerings_11(arg);
40798 		add__ast_4797(result, T9_);
40799 	}
40800 	goto LA3_;
40801 	LA7_: ;
40802 	{
40803 		add__ast_4797(result, arg);
40804 	}
40805 	LA3_: ;
40806 	result = semExprNoDeref__sem_63(c, result, 2);
40807 	return result;
40808 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semFor__sem_11337)40809 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semFor__sem_11337)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
40810 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
40811 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T5_;
40812 	NI T6_;
40813 	NI T7_;
40814 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* call;
40815 	NI T8_;
40816 	NIM_BOOL isCallExpr;
40817 {	result = NIM_NIL;
40818 	checkMinSonsLen__semdata_1084(n, ((NI) 3), (*(*c).graph).config);
40819 	result = handleForLoopMacro__sem_11301(c, n, flags);
40820 	{
40821 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
40822 		goto BeforeRet_;
40823 	}
40824 	LA3_: ;
40825 	T5_ = NIM_NIL;
40826 	T5_ = openScope__lookups_69(c);
40827 	result = n;
40828 	T6_ = (NI)0;
40829 	T6_ = len__ast_3198(n);
40830 	T7_ = (NI)0;
40831 	T7_ = len__ast_3198(n);
40832 	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));
40833 	T8_ = (NI)0;
40834 	T8_ = len__ast_3198(n);
40835 	call = (*n)._kind_6.sons->data[(NI)(T8_ - ((NI) 2))];
40836 	{
40837 		NIM_BOOL T11_;
40838 		NI T15_;
40839 		T11_ = (NIM_BOOL)0;
40840 		T11_ = ((*call).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126));
40841 		if (!(T11_)) goto LA12_;
40842 		T11_ = isTrivalStmtExpr__sem_11231(call);
40843 		LA12_: ;
40844 		if (!T11_) goto LA13_;
40845 		call = lastSon__ast_4832(call);
40846 		T15_ = (NI)0;
40847 		T15_ = len__ast_3198(n);
40848 		asgnRef((void**) (&(*n)._kind_6.sons->data[(NI)(T15_ - ((NI) 2))]), call);
40849 	}
40850 	LA13_: ;
40851 	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));
40852 	{
40853 		NIM_BOOL T18_;
40854 		NIM_BOOL T19_;
40855 		T18_ = (NIM_BOOL)0;
40856 		T19_ = (NIM_BOOL)0;
40857 		T19_ = isCallExpr;
40858 		if (!(T19_)) goto LA20_;
40859 		T19_ = ((*(*call)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
40860 		LA20_: ;
40861 		T18_ = T19_;
40862 		if (!(T18_)) goto LA21_;
40863 		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));
40864 		LA21_: ;
40865 		if (!T18_) goto LA22_;
40866 		{
40867 			if (!((*(*(*call)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 130))) goto LA26_;
40868 			result = semForVars__sem_10972(c, n, flags);
40869 			transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 95));
40870 		}
40871 		goto LA24_;
40872 		LA26_: ;
40873 		{
40874 			result = semForFields__sem_10813(c, n, (*(*(*call)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic);
40875 		}
40876 		LA24_: ;
40877 	}
40878 	goto LA16_;
40879 	LA22_: ;
40880 	{
40881 		NIM_BOOL T30_;
40882 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T32_;
40883 		T30_ = (NIM_BOOL)0;
40884 		T30_ = isCallExpr;
40885 		if (!(T30_)) goto LA31_;
40886 		T32_ = NIM_NIL;
40887 		T32_ = skipTypes__ast_3735((*(*call)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
40888 		T30_ = isClosureIterator__ast_5004(T32_);
40889 		LA31_: ;
40890 		if (!T30_) goto LA33_;
40891 		result = semForVars__sem_10972(c, n, flags);
40892 	}
40893 	goto LA16_;
40894 	LA33_: ;
40895 	{
40896 		NIM_BOOL T36_;
40897 		NIM_BOOL T37_;
40898 		T36_ = (NIM_BOOL)0;
40899 		T37_ = (NIM_BOOL)0;
40900 		T37_ = !(isCallExpr);
40901 		if (T37_) goto LA38_;
40902 		T37_ = !(((*(*call)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
40903 		LA38_: ;
40904 		T36_ = T37_;
40905 		if (T36_) goto LA39_;
40906 		T36_ = !(((*(*(*call)._kind_6.sons->data[((NI) 0)])._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15)));
40907 		LA39_: ;
40908 		if (!T36_) goto LA40_;
40909 		{
40910 			NI T44_;
40911 			NI T47_;
40912 			NI T48_;
40913 			T44_ = (NI)0;
40914 			T44_ = len__ast_3198(n);
40915 			if (!(T44_ == ((NI) 3))) goto LA45_;
40916 			T47_ = (NI)0;
40917 			T47_ = len__ast_3198(n);
40918 			T48_ = (NI)0;
40919 			T48_ = len__ast_3198(n);
40920 			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))]));
40921 		}
40922 		goto LA42_;
40923 		LA45_: ;
40924 		{
40925 			NI T50_;
40926 			NI T53_;
40927 			NI T54_;
40928 			T50_ = (NI)0;
40929 			T50_ = len__ast_3198(n);
40930 			if (!(T50_ == ((NI) 4))) goto LA51_;
40931 			T53_ = (NI)0;
40932 			T53_ = len__ast_3198(n);
40933 			T54_ = (NI)0;
40934 			T54_ = len__ast_3198(n);
40935 			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))]));
40936 		}
40937 		goto LA42_;
40938 		LA51_: ;
40939 		{
40940 			NI T56_;
40941 			T56_ = (NI)0;
40942 			T56_ = len__ast_3198(n);
40943 			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);
40944 		}
40945 		LA42_: ;
40946 		result = semForVars__sem_10972(c, n, flags);
40947 	}
40948 	goto LA16_;
40949 	LA40_: ;
40950 	{
40951 		result = semForVars__sem_10972(c, n, flags);
40952 	}
40953 	LA16_: ;
40954 	{
40955 		NI T60_;
40956 		T60_ = (NI)0;
40957 		T60_ = len__ast_3198(n);
40958 		if (!((*(*n)._kind_6.sons->data[(NI)(T60_ - ((NI) 1))]).typ == (*c).enforceVoidContext)) goto LA61_;
40959 		asgnRef((void**) (&(*result).typ), (*c).enforceVoidContext);
40960 	}
40961 	goto LA58_;
40962 	LA61_: ;
40963 	{
40964 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T66_;
40965 		if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0)) goto LA64_;
40966 		T66_ = NIM_NIL;
40967 		T66_ = lastSon__ast_4832(result);
40968 		asgnRef((void**) (&(*result).typ), (*T66_).typ);
40969 	}
40970 	goto LA58_;
40971 	LA64_: ;
40972 	LA58_: ;
40973 	closeScope__lookups_101(c);
40974 	}BeforeRet_: ;
40975 	return result;
40976 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,handleCaseStmtMacro__sem_11311)40977 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, handleCaseStmtMacro__sem_11311)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
40978 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
40979 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* toResolve;
40980 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
40981 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
40982 	tySequence__0dpGN6F4ocevqUQGsaf41w* errors;
40983 	tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA r;
40984 	result = NIM_NIL;
40985 	toResolve = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
40986 	T1_ = NIM_NIL;
40987 	T1_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_891));
40988 	T2_ = NIM_NIL;
40989 	T2_ = newIdentNode__ast_3712(T1_, (*n).info);
40990 	add__ast_4797(toResolve, T2_);
40991 	add__ast_4797(toResolve, (*n)._kind_6.sons->data[((NI) 0)]);
40992 	errors = NIM_NIL;
40993 	nimZeroMem((void*)(&r), sizeof(tyObject_TCandidate__B8Gf2sSWgQ79bLZ9bYWrLHaA));
40994 	resolveOverloads__sem_1997(c, toResolve, toResolve, 393216, 0, (&errors), NIM_FALSE, (&r));
40995 	{
40996 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* match;
40997 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* toExpand;
40998 		if (!(r.state == ((tyEnum_TCandidateState__C8RXb59bvbxaTzDOqx49aVVg) 1))) goto LA5_;
40999 		match = r.calleeSym;
41000 		markUsed__sigmatch_85(c, (*(*n)._kind_6.sons->data[((NI) 0)]).info, match);
41001 		asgnRef((void**) (&(*r.call)._kind_6.sons->data[((NI) 1)]), n);
41002 		toExpand = semResolvedCall__sem_2401(c, (&r), r.call, 0);
41003 		switch ((*match).kind) {
41004 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
41005 		{
41006 			result = semMacroExpr__sem_524(c, toExpand, toExpand, match, flags);
41007 		}
41008 		break;
41009 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
41010 		{
41011 			result = semTemplateExpr__sem_519(c, toExpand, match, flags);
41012 		}
41013 		break;
41014 		default:
41015 		{
41016 			result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
41017 		}
41018 		break;
41019 		}
41020 	}
41021 	LA5_: ;
41022 	return result;
41023 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semCase__sem_11453)41024 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semCase__sem_11453)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
41025 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41026 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
41027 	NIM_BOOL chckCovered;
41028 	tyObject_Int128__9a9axPfb75jdWY25AamJewkA covered;
41029 	tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
41030 	tyObject_TType__facALICuu8zUj0hjvbTLFg* T2_;
41031 	NIM_BOOL hasElse;
41032 	tyObject_TType__facALICuu8zUj0hjvbTLFg* caseTyp;
41033 {	result = NIM_NIL;
41034 	result = n;
41035 	checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
41036 	T1_ = NIM_NIL;
41037 	T1_ = openScope__lookups_69(c);
41038 	pushCaseContext__semdata_1105(c, n);
41039 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0));
41040 	chckCovered = NIM_FALSE;
41041 	covered = toInt128__types_1378(((NI) 0));
41042 	T2_ = NIM_NIL;
41043 	T2_ = (tyObject_TType__facALICuu8zUj0hjvbTLFg*) newObj((&NTIptype__qt2Wh0elFEz5fH0l7yusLw_), sizeof(tyObject_TType__facALICuu8zUj0hjvbTLFg));
41044 	(*T2_).Sup.Sup.m_type = (&NTIttype__facALICuu8zUj0hjvbTLFg_);
41045 	(*T2_).kind = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6);
41046 	typ = T2_;
41047 	hasElse = NIM_FALSE;
41048 	caseTyp = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_459);
41049 	switch ((*caseTyp).kind) {
41050 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
41051 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
41052 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
41053 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
41054 	{
41055 		chckCovered = NIM_TRUE;
41056 	}
41057 	break;
41058 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
41059 	{
41060 		{
41061 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T7_;
41062 			T7_ = NIM_NIL;
41063 			T7_ = skipTypes__ast_3735((*caseTyp).sons->data[((NI) 0)], TM__rF9caJawfOjYTjsgLVUSGFA_70);
41064 			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_;
41065 			chckCovered = NIM_TRUE;
41066 		}
41067 		LA8_: ;
41068 	}
41069 	break;
41070 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
41071 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
41072 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
41073 	{
41074 	}
41075 	break;
41076 	default:
41077 	{
41078 		popCaseContext__semdata_1121(c);
41079 		closeScope__lookups_101(c);
41080 		{
41081 			if (!(((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 8))&31U)))!=0)) goto LA14_;
41082 			result = handleCaseStmtMacro__sem_11311(c, n, flags);
41083 			{
41084 				if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA18_;
41085 				goto BeforeRet_;
41086 			}
41087 			LA18_: ;
41088 		}
41089 		LA14_: ;
41090 		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);
41091 		goto BeforeRet_;
41092 	}
41093 	break;
41094 	}
41095 	{
41096 		NI i;
41097 		NI colontmp_;
41098 		NI i_2;
41099 		i = (NI)0;
41100 		colontmp_ = (NI)0;
41101 		colontmp_ = len__ast_3198(n);
41102 		i_2 = ((NI) 1);
41103 		{
41104 			while (1) {
41105 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
41106 				if (!(i_2 < colontmp_)) goto LA22;
41107 				i = i_2;
41108 				setCaseContextIdx__semdata_1136(c, i);
41109 				x = (*n)._kind_6.sons->data[i];
41110 				switch ((*x).kind) {
41111 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
41112 				{
41113 					NI last;
41114 					NI T24_;
41115 					checkMinSonsLen__semdata_1084(x, ((NI) 2), (*(*c).graph).config);
41116 					semCaseBranch__sem_3791(c, n, x, i, (&covered));
41117 					T24_ = (NI)0;
41118 					T24_ = len__ast_3198(x);
41119 					last = (NI)(T24_ - ((NI) 1));
41120 					asgnRef((void**) (&(*x)._kind_6.sons->data[last]), semExprBranchScope__sem_9277(c, (*x)._kind_6.sons->data[last]));
41121 					typ = commonType__sem_448(c, typ, (*x)._kind_6.sons->data[last]);
41122 				}
41123 				break;
41124 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 86):
41125 				{
41126 					tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T26_;
41127 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T27_;
41128 					chckCovered = NIM_FALSE;
41129 					checkSonsLen__semdata_1077(x, ((NI) 2), (*(*c).graph).config);
41130 					T26_ = NIM_NIL;
41131 					T26_ = openScope__lookups_69(c);
41132 					T27_ = NIM_NIL;
41133 					T27_ = semExprWithType__sem_56(c, (*x)._kind_6.sons->data[((NI) 0)], 0);
41134 					asgnRef((void**) (&(*x)._kind_6.sons->data[((NI) 0)]), forceBool__sem_2869(c, T27_));
41135 					asgnRef((void**) (&(*x)._kind_6.sons->data[((NI) 1)]), semExprBranch__sem_9264(c, (*x)._kind_6.sons->data[((NI) 1)], 0));
41136 					typ = commonType__sem_448(c, typ, (*x)._kind_6.sons->data[((NI) 1)]);
41137 					closeScope__lookups_101(c);
41138 				}
41139 				break;
41140 				case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
41141 				{
41142 					checkSonsLen__semdata_1077(x, ((NI) 1), (*(*c).graph).config);
41143 					asgnRef((void**) (&(*x)._kind_6.sons->data[((NI) 0)]), semExprBranchScope__sem_9277(c, (*x)._kind_6.sons->data[((NI) 0)]));
41144 					typ = commonType__sem_448(c, typ, (*x)._kind_6.sons->data[((NI) 0)]);
41145 					{
41146 						NIM_BOOL T31_;
41147 						NIM_BOOL T32_;
41148 						tyObject_Int128__9a9axPfb75jdWY25AamJewkA T34_;
41149 						T31_ = (NIM_BOOL)0;
41150 						T32_ = (NIM_BOOL)0;
41151 						T32_ = chckCovered;
41152 						if (!(T32_)) goto LA33_;
41153 						T34_ = toCover__sem_3884(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
41154 						T32_ = eqeq___int495056_313(covered, T34_);
41155 						LA33_: ;
41156 						T31_ = T32_;
41157 						if (T31_) goto LA35_;
41158 						T31_ = hasElse;
41159 						LA35_: ;
41160 						if (!T31_) goto LA36_;
41161 						liMessage__msgs_1118((*(*c).graph).config, (*x).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 44), ((NimStringDesc*) NIM_NIL), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_894, NIM_FALSE);
41162 					}
41163 					LA36_: ;
41164 					hasElse = NIM_TRUE;
41165 					chckCovered = NIM_FALSE;
41166 				}
41167 				break;
41168 				default:
41169 				{
41170 					illFormedAst__semdata_1071(x, (*(*c).graph).config);
41171 				}
41172 				break;
41173 				}
41174 				i_2 += ((NI) 1);
41175 			} LA22: ;
41176 		}
41177 	}
41178 	{
41179 		if (!chckCovered) goto LA41_;
41180 		{
41181 			tyObject_Int128__9a9axPfb75jdWY25AamJewkA T45_;
41182 			NIM_BOOL T46_;
41183 			T45_ = toCover__sem_3884(c, (*(*n)._kind_6.sons->data[((NI) 0)]).typ);
41184 			T46_ = (NIM_BOOL)0;
41185 			T46_ = eqeq___int495056_313(covered, T45_);
41186 			if (!T46_) goto LA47_;
41187 			hasElse = NIM_TRUE;
41188 		}
41189 		goto LA43_;
41190 		LA47_: ;
41191 		{
41192 			tyObject_TType__facALICuu8zUj0hjvbTLFg* T50_;
41193 			NimStringDesc* T53_;
41194 			NimStringDesc* T54_;
41195 			T50_ = NIM_NIL;
41196 			T50_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_472);
41197 			if (!((*T50_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*T50_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA51_;
41198 			T53_ = NIM_NIL;
41199 			T53_ = formatMissingEnums__sem_4020(c, n);
41200 			T54_ = NIM_NIL;
41201 			T54_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_473), T53_);
41202 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T54_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_895, NIM_FALSE);
41203 		}
41204 		goto LA43_;
41205 		LA51_: ;
41206 		{
41207 			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);
41208 		}
41209 		LA43_: ;
41210 	}
41211 	LA41_: ;
41212 	popCaseContext__semdata_1121(c);
41213 	closeScope__lookups_101(c);
41214 	{
41215 		NIM_BOOL T58_;
41216 		NIM_BOOL T59_;
41217 		NIM_BOOL T62_;
41218 		T58_ = (NIM_BOOL)0;
41219 		T59_ = (NIM_BOOL)0;
41220 		T59_ = isEmptyType__ast_4779(typ);
41221 		if (T59_) goto LA60_;
41222 		T59_ = ((*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5) || (*typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
41223 		LA60_: ;
41224 		T58_ = T59_;
41225 		if (T58_) goto LA61_;
41226 		T62_ = (NIM_BOOL)0;
41227 		T62_ = !(hasElse);
41228 		if (!(T62_)) goto LA63_;
41229 		T62_ = !(((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0));
41230 		LA63_: ;
41231 		T58_ = T62_;
41232 		LA61_: ;
41233 		if (!T58_) goto LA64_;
41234 		{
41235 			NI i_3;
41236 			NI colontmp__2;
41237 			NI i_4;
41238 			i_3 = (NI)0;
41239 			colontmp__2 = (NI)0;
41240 			colontmp__2 = len__ast_3198(n);
41241 			i_4 = ((NI) 1);
41242 			{
41243 				while (1) {
41244 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T69_;
41245 					if (!(i_4 < colontmp__2)) goto LA68;
41246 					i_3 = i_4;
41247 					T69_ = NIM_NIL;
41248 					T69_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
41249 					discardCheck__sem_9323(c, T69_, flags);
41250 					i_4 += ((NI) 1);
41251 				} LA68: ;
41252 			}
41253 		}
41254 		{
41255 			if (!(typ == (*c).enforceVoidContext)) goto LA72_;
41256 			asgnRef((void**) (&(*result).typ), (*c).enforceVoidContext);
41257 		}
41258 		LA72_: ;
41259 	}
41260 	goto LA56_;
41261 	LA64_: ;
41262 	{
41263 		{
41264 			NI i_5;
41265 			NI colontmp__3;
41266 			NI i_6;
41267 			i_5 = (NI)0;
41268 			colontmp__3 = (NI)0;
41269 			colontmp__3 = len__ast_3198(n);
41270 			i_6 = ((NI) 1);
41271 			{
41272 				while (1) {
41273 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
41274 					NI j;
41275 					NI T78_;
41276 					if (!(i_6 < colontmp__3)) goto LA77;
41277 					i_5 = i_6;
41278 					it = (*n)._kind_6.sons->data[i_5];
41279 					T78_ = (NI)0;
41280 					T78_ = len__ast_3198(it);
41281 					j = (NI)(T78_ - ((NI) 1));
41282 					{
41283 						NIM_BOOL T81_;
41284 						T81_ = (NIM_BOOL)0;
41285 						T81_ = endsInNoReturn__sem_416((*it)._kind_6.sons->data[j]);
41286 						if (!!(T81_)) goto LA82_;
41287 						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));
41288 					}
41289 					LA82_: ;
41290 					i_6 += ((NI) 1);
41291 				} LA77: ;
41292 			}
41293 		}
41294 		asgnRef((void**) (&(*result).typ), typ);
41295 	}
41296 	LA56_: ;
41297 	}BeforeRet_: ;
41298 	return result;
41299 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semReturn__sem_17871)41300 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semReturn__sem_17871)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41301 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41302 {	result = NIM_NIL;
41303 	result = n;
41304 	checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
41305 	{
41306 		NIM_BOOL T3_;
41307 		NIM_BOOL T5_;
41308 		T3_ = (NIM_BOOL)0;
41309 		T3_ = ((225280 &((NU32)1<<((NU)((*(*(*c).p).owner).kind)&31U)))!=0);
41310 		if (T3_) goto LA4_;
41311 		T5_ = (NIM_BOOL)0;
41312 		T5_ = !(((*(*(*c).p).owner).typ == 0));
41313 		if (!(T5_)) goto LA6_;
41314 		T5_ = isClosureIterator__ast_5004((*(*(*c).p).owner).typ);
41315 		LA6_: ;
41316 		T3_ = T5_;
41317 		LA4_: ;
41318 		if (!T3_) goto LA7_;
41319 		{
41320 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA11_;
41321 			{
41322 				NIM_BOOL T15_;
41323 				NIM_BOOL T16_;
41324 				T15_ = (NIM_BOOL)0;
41325 				T16_ = (NIM_BOOL)0;
41326 				T16_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73));
41327 				if (!(T16_)) goto LA17_;
41328 				T16_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
41329 				LA17_: ;
41330 				T15_ = T16_;
41331 				if (!(T15_)) goto LA18_;
41332 				T15_ = ((*(*c).p).resultSym == (*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)])._kind_4.sym);
41333 				LA18_: ;
41334 				if (!T15_) goto LA19_;
41335 			}
41336 			goto LA13_;
41337 			LA19_: ;
41338 			{
41339 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
41340 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
41341 				if (!!(((*(*c).p).resultSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA22_;
41342 				a = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73), (*(*n)._kind_6.sons->data[((NI) 0)]).info);
41343 				T24_ = NIM_NIL;
41344 				T24_ = newSymNode__ast_3716((*(*c).p).resultSym);
41345 				add__ast_4797(a, T24_);
41346 				add__ast_4797(a, (*n)._kind_6.sons->data[((NI) 0)]);
41347 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), a);
41348 			}
41349 			goto LA13_;
41350 			LA22_: ;
41351 			{
41352 				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);
41353 				goto BeforeRet_;
41354 			}
41355 			LA13_: ;
41356 			asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), semAsgn__sem_15307(c, (*n)._kind_6.sons->data[((NI) 0)], ((tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ) 0)));
41357 			{
41358 				NIM_BOOL T28_;
41359 				T28_ = (NIM_BOOL)0;
41360 				T28_ = ((*(*(*result)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
41361 				if (!(T28_)) goto LA29_;
41362 				T28_ = ((*(*(*result)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)])._kind_4.sym == (*(*c).p).resultSym);
41363 				LA29_: ;
41364 				if (!T28_) goto LA30_;
41365 				asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), (*(*c).graph).emptyNode);
41366 			}
41367 			LA30_: ;
41368 		}
41369 		LA11_: ;
41370 	}
41371 	goto LA1_;
41372 	LA7_: ;
41373 	{
41374 		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);
41375 	}
41376 	LA1_: ;
41377 	}BeforeRet_: ;
41378 	return result;
41379 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semUsing__sem_9768)41380 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semUsing__sem_9768)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41381 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41382 	result = NIM_NIL;
41383 	result = (*(*c).graph).emptyNode;
41384 	{
41385 		NIM_BOOL T3_;
41386 		NimStringDesc* T6_;
41387 		T3_ = (NIM_BOOL)0;
41388 		T3_ = isTopLevel__semdata_1091(c);
41389 		if (!!(T3_)) goto LA4_;
41390 		T6_ = NIM_NIL;
41391 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_901));
41392 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_902, NIM_FALSE);
41393 	}
41394 	LA4_: ;
41395 	{
41396 		NI i;
41397 		NI colontmp_;
41398 		NI i_2;
41399 		i = (NI)0;
41400 		colontmp_ = (NI)0;
41401 		colontmp_ = len__ast_3198(n);
41402 		i_2 = ((NI) 0);
41403 		{
41404 			while (1) {
41405 				if (!(i_2 < colontmp_)) goto LA9;
41406 				i = i_2;
41407 				{
41408 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
41409 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* def;
41410 					a = (*n)._kind_6.sons->data[i];
41411 					{
41412 						if (!((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11))) goto LA13_;
41413 						suggestStmt__sigmatch_6552(c, a);
41414 					}
41415 					LA13_: ;
41416 					{
41417 						if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA17_;
41418 						goto LA10;
41419 					}
41420 					LA17_: ;
41421 					{
41422 						if (!!(((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 102)))) goto LA21_;
41423 						illFormedAst__semdata_1071(a, (*(*c).graph).config);
41424 					}
41425 					LA21_: ;
41426 					checkMinSonsLen__semdata_1084(a, ((NI) 3), (*(*c).graph).config);
41427 					{
41428 						NI T25_;
41429 						tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
41430 						NI T28_;
41431 						T25_ = (NI)0;
41432 						T25_ = len__ast_3198(a);
41433 						if (!!(((*(*a)._kind_6.sons->data[(NI)(T25_ - ((NI) 2))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA26_;
41434 						T28_ = (NI)0;
41435 						T28_ = len__ast_3198(a);
41436 						typ = semTypeNode__sem_80(c, (*a)._kind_6.sons->data[(NI)(T28_ - ((NI) 2))], ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
41437 						{
41438 							NI j;
41439 							NI colontmp__2;
41440 							NI T30_;
41441 							NI i_3;
41442 							j = (NI)0;
41443 							colontmp__2 = (NI)0;
41444 							T30_ = (NI)0;
41445 							T30_ = len__ast_3198(a);
41446 							colontmp__2 = (NI)(T30_ - ((NI) 2));
41447 							i_3 = ((NI) 0);
41448 							{
41449 								while (1) {
41450 									tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* v;
41451 									NIM_BOOL T39_;
41452 									if (!(i_3 < colontmp__2)) goto LA32;
41453 									j = i_3;
41454 									v = semIdentDef__sem_9679(c, (*a)._kind_6.sons->data[j], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
41455 									{
41456 										NIM_BOOL T35_;
41457 										T35_ = (NIM_BOOL)0;
41458 										T35_ = !(((49152 & (*(*(*c).graph).config).globalOptions) == 0));
41459 										if (!(T35_)) goto LA36_;
41460 										T35_ = !((((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 16))&63U)))!=0));
41461 										LA36_: ;
41462 										if (!T35_) goto LA37_;
41463 										nep1CheckDefImpl__linter_110((*(*c).graph).config, (*v).info, v, (*v).kind);
41464 									}
41465 									LA37_: ;
41466 									asgnRef((void**) (&(*v).typ), typ);
41467 									T39_ = (NIM_BOOL)0;
41468 									T39_ = strTableIncl__astalgo_3381((&(*c).signatures), v, NIM_FALSE);
41469 									i_3 += ((NI) 1);
41470 								} LA32: ;
41471 							}
41472 						}
41473 					}
41474 					goto LA23_;
41475 					LA26_: ;
41476 					{
41477 						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);
41478 					}
41479 					LA23_: ;
41480 					def = NIM_NIL;
41481 					{
41482 						NI T43_;
41483 						T43_ = (NI)0;
41484 						T43_ = len__ast_3198(a);
41485 						if (!!(((*(*a)._kind_6.sons->data[(NI)(T43_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA44_;
41486 						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);
41487 					}
41488 					LA44_: ;
41489 				} LA10: ;
41490 				i_2 += ((NI) 1);
41491 			} LA9: ;
41492 		}
41493 	}
41494 	return result;
41495 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semAsm__sem_9228)41496 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAsm__sem_9228)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41497 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41498 	NIM_CHAR marker;
41499 	result = NIM_NIL;
41500 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
41501 	marker = pragmaAsm__pragmas_201(c, (*n)._kind_6.sons->data[((NI) 0)]);
41502 	{
41503 		if (!((NU8)(marker) == (NU8)(0))) goto LA3_;
41504 		marker = 96;
41505 	}
41506 	LA3_: ;
41507 	result = semAsmOrEmit__pragmas_1133(c, n, marker);
41508 	return result;
41509 }
N_NIMCALL(void,semYieldVarResult__sem_17977)41510 N_LIB_PRIVATE N_NIMCALL(void, semYieldVarResult__sem_17977)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* restype) {
41511 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
41512 	t = skipTypes__ast_3735(restype, TM__rF9caJawfOjYTjsgLVUSGFA_137);
41513 	switch ((*t).kind) {
41514 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
41515 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
41516 	{
41517 		(*t).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
41518 		{
41519 			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_;
41520 			asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
41521 		}
41522 		LA4_: ;
41523 		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))));
41524 	}
41525 	break;
41526 	case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
41527 	{
41528 		{
41529 			NI i;
41530 			NI colontmp_;
41531 			NI i_2;
41532 			i = (NI)0;
41533 			colontmp_ = (NI)0;
41534 			colontmp_ = len__ast_4002(t);
41535 			i_2 = ((NI) 0);
41536 			{
41537 				while (1) {
41538 					tyObject_TType__facALICuu8zUj0hjvbTLFg* e;
41539 					if (!(i_2 < colontmp_)) goto LA9;
41540 					i = i_2;
41541 					e = skipTypes__ast_3735((*t).sons->data[i], TM__rF9caJawfOjYTjsgLVUSGFA_137);
41542 					{
41543 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tupleConstr;
41544 						if (!((*e).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*e).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA12_;
41545 						(*e).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 20)) & 63);
41546 						{
41547 							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_;
41548 							tupleConstr = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)];
41549 						}
41550 						goto LA14_;
41551 						LA16_: ;
41552 						{
41553 							tupleConstr = (*n)._kind_6.sons->data[((NI) 0)];
41554 						}
41555 						LA14_: ;
41556 						{
41557 							if (!((*tupleConstr).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*tupleConstr).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160))) goto LA21_;
41558 							{
41559 								if (!((*(*tupleConstr)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA25_;
41560 								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))));
41561 							}
41562 							goto LA23_;
41563 							LA25_: ;
41564 							{
41565 								asgnRef((void**) (&(*tupleConstr)._kind_6.sons->data[i]), takeImplicitAddr__sem_17562(c, (*tupleConstr)._kind_6.sons->data[i], ((*e).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))));
41566 							}
41567 							LA23_: ;
41568 						}
41569 						goto LA19_;
41570 						LA21_: ;
41571 						{
41572 							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);
41573 						}
41574 						LA19_: ;
41575 					}
41576 					LA12_: ;
41577 					i_2 += ((NI) 1);
41578 				} LA9: ;
41579 			}
41580 		}
41581 	}
41582 	break;
41583 	default:
41584 	{
41585 	}
41586 	break;
41587 	}
41588 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semYield__sem_18051)41589 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semYield__sem_18051)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41590 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41591 	result = NIM_NIL;
41592 	result = n;
41593 	checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
41594 	{
41595 		NIM_BOOL T3_;
41596 		T3_ = (NIM_BOOL)0;
41597 		T3_ = ((*(*c).p).owner == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
41598 		if (T3_) goto LA4_;
41599 		T3_ = !(((*(*(*c).p).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15)));
41600 		LA4_: ;
41601 		if (!T3_) goto LA5_;
41602 		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);
41603 	}
41604 	goto LA1_;
41605 	LA5_: ;
41606 	{
41607 		tyObject_TType__facALICuu8zUj0hjvbTLFg* iterType;
41608 		tyObject_TType__facALICuu8zUj0hjvbTLFg* restype;
41609 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA8_;
41610 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExprWithType__sem_56(c, (*n)._kind_6.sons->data[((NI) 0)], 0));
41611 		iterType = (*(*(*c).p).owner).typ;
41612 		restype = (*iterType).sons->data[((NI) 0)];
41613 		{
41614 			if (!!((restype == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA12_;
41615 			{
41616 				if (!!(((*restype).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6)))) goto LA16_;
41617 				asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), fitNode__sem_70(c, restype, (*n)._kind_6.sons->data[((NI) 0)], (*n).info));
41618 			}
41619 			LA16_: ;
41620 			{
41621 				if (!((*(*n)._kind_6.sons->data[((NI) 0)]).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA20_;
41622 				internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_909), TM__rF9caJawfOjYTjsgLVUSGFA_910);
41623 			}
41624 			LA20_: ;
41625 			{
41626 				NIM_BOOL T24_;
41627 				tyObject_TType__facALICuu8zUj0hjvbTLFg* inferred;
41628 				T24_ = (NIM_BOOL)0;
41629 				T24_ = isMetaType__ast_3495(restype);
41630 				if (!(T24_)) goto LA25_;
41631 				T24_ = !(((*restype).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8)));
41632 				LA25_: ;
41633 				if (!T24_) goto LA26_;
41634 				inferred = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
41635 				asgnRef((void**) (&(*iterType).sons->data[((NI) 0)]), inferred);
41636 				{
41637 					if (!!(((*(*c).p).resultSym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA30_;
41638 					asgnRef((void**) (&(*(*(*c).p).resultSym).typ), inferred);
41639 				}
41640 				LA30_: ;
41641 			}
41642 			LA26_: ;
41643 			semYieldVarResult__sem_17977(c, n, restype);
41644 		}
41645 		goto LA10_;
41646 		LA12_: ;
41647 		{
41648 			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);
41649 		}
41650 		LA10_: ;
41651 	}
41652 	goto LA1_;
41653 	LA8_: ;
41654 	{
41655 		if (!!(((*(*(*(*c).p).owner).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA34_;
41656 		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);
41657 	}
41658 	goto LA1_;
41659 	LA34_: ;
41660 	LA1_: ;
41661 	return result;
41662 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semIterator__sem_13400)41663 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semIterator__sem_13400)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41664 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41665 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
41666 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
41667 {	result = NIM_NIL;
41668 	{
41669 		if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
41670 		asgnRef((void**) (&(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).owner), getCurrOwner__semdata_315(c));
41671 		transitionRoutineSymKind__ast_4393((*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym, ((tyEnum_TSymKind__uwRDzlpaGW5WJzgBn4R8Eg) 15));
41672 	}
41673 	LA3_: ;
41674 	result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15), TM__rF9caJawfOjYTjsgLVUSGFA_918, 0);
41675 	{
41676 		if (!!(((*result).kind == (*n).kind))) goto LA7_;
41677 		goto BeforeRet_;
41678 	}
41679 	LA7_: ;
41680 	s = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
41681 	t = (*s).typ;
41682 	{
41683 		NIM_BOOL T11_;
41684 		T11_ = (NIM_BOOL)0;
41685 		T11_ = ((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
41686 		if (!(T11_)) goto LA12_;
41687 		T11_ = !(((*(*s).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9)));
41688 		LA12_: ;
41689 		if (!T11_) goto LA13_;
41690 		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);
41691 	}
41692 	LA13_: ;
41693 	{
41694 		if (!((*(*s).typ).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9))) goto LA17_;
41695 		(*(*s).typ).flags |= ((NU64)1)<<((((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 12)) & 63);
41696 	}
41697 	goto LA15_;
41698 	LA17_: ;
41699 	{
41700 		(*(*s).typ).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 5);
41701 	}
41702 	LA15_: ;
41703 	{
41704 		NIM_BOOL T22_;
41705 		NIM_BOOL T23_;
41706 		NimStringDesc* T28_;
41707 		T22_ = (NIM_BOOL)0;
41708 		T23_ = (NIM_BOOL)0;
41709 		T23_ = ((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
41710 		if (!(T23_)) goto LA24_;
41711 		T23_ = ((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
41712 		LA24_: ;
41713 		T22_ = T23_;
41714 		if (!(T22_)) goto LA25_;
41715 		T22_ = ((*c).inConceptDecl == ((NI) 0));
41716 		LA25_: ;
41717 		if (!T22_) goto LA26_;
41718 		T28_ = NIM_NIL;
41719 		T28_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_402), (*(*s).name).s);
41720 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T28_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_921, NIM_FALSE);
41721 	}
41722 	LA26_: ;
41723 	{
41724 		NIM_BOOL T31_;
41725 		T31_ = (NIM_BOOL)0;
41726 		T31_ = (((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0);
41727 		if (!(T31_)) goto LA32_;
41728 		T31_ = !(((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
41729 		LA32_: ;
41730 		if (!T31_) goto LA33_;
41731 		asgnRef((void**) (&(*result).typ), makeVarType__semdata_766(c, (*result).typ, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
41732 		(*(*result).typ).callConv = ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9);
41733 	}
41734 	LA33_: ;
41735 	}BeforeRet_: ;
41736 	return result;
41737 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semProc__sem_9261)41738 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semProc__sem_9261)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41739 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41740 	result = NIM_NIL;
41741 	result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12), TM__rF9caJawfOjYTjsgLVUSGFA_922, 0);
41742 	return result;
41743 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semFunc__sem_13456)41744 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semFunc__sem_13456)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41745 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41746 	tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw validPragmas;
41747 	result = NIM_NIL;
41748 	nimZeroMem((void*)validPragmas, sizeof(tySet_tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw));
41749 	{
41750 		if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
41751 		nimCopyMem((void*)validPragmas, (NIM_CONST void*)TM__rF9caJawfOjYTjsgLVUSGFA_922, 37);
41752 	}
41753 	goto LA1_;
41754 	LA3_: ;
41755 	{
41756 		nimCopyMem((void*)validPragmas, (NIM_CONST void*)TM__rF9caJawfOjYTjsgLVUSGFA_923, 37);
41757 	}
41758 	LA1_: ;
41759 	result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13), validPragmas, 0);
41760 	return result;
41761 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semMethod__sem_13466)41762 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semMethod__sem_13466)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41763 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41764 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
41765 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* disp;
41766 {	result = NIM_NIL;
41767 	{
41768 		NIM_BOOL T3_;
41769 		NimStringDesc* T6_;
41770 		T3_ = (NIM_BOOL)0;
41771 		T3_ = isTopLevel__semdata_1091(c);
41772 		if (!!(T3_)) goto LA4_;
41773 		T6_ = NIM_NIL;
41774 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_924));
41775 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_925, NIM_FALSE);
41776 	}
41777 	LA4_: ;
41778 	result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14), TM__rF9caJawfOjYTjsgLVUSGFA_926, 0);
41779 	{
41780 		NI T9_;
41781 		T9_ = (NI)0;
41782 		T9_ = safeLen__ast_3191(result);
41783 		if (!(T9_ <= ((NI) 0))) goto LA10_;
41784 		goto BeforeRet_;
41785 	}
41786 	LA10_: ;
41787 	{
41788 		if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80)))) goto LA14_;
41789 		goto BeforeRet_;
41790 	}
41791 	LA14_: ;
41792 	s = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
41793 	disp = getDispatcher__cgmeth_42(s);
41794 	{
41795 		NIM_BOOL T18_;
41796 		NIM_BOOL T19_;
41797 		tyObject_TType__facALICuu8zUj0hjvbTLFg* ret;
41798 		T18_ = (NIM_BOOL)0;
41799 		T19_ = (NIM_BOOL)0;
41800 		T19_ = !((disp == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
41801 		if (!(T19_)) goto LA20_;
41802 		T19_ = !(((*(*disp).typ).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
41803 		LA20_: ;
41804 		T18_ = T19_;
41805 		if (!(T18_)) goto LA21_;
41806 		T18_ = ((*(*(*disp).typ).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6));
41807 		LA21_: ;
41808 		if (!T18_) goto LA22_;
41809 		ret = (*(*s).typ).sons->data[((NI) 0)];
41810 		asgnRef((void**) (&(*(*disp).typ).sons->data[((NI) 0)]), ret);
41811 		{
41812 			if (!((*(*(*disp).ast)._kind_6.sons->data[((NI) 7)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA26_;
41813 			{
41814 				NIM_BOOL T30_;
41815 				T30_ = (NIM_BOOL)0;
41816 				T30_ = isEmptyType__ast_4779(ret);
41817 				if (!T30_) goto LA31_;
41818 				asgnRef((void**) (&(*(*disp).ast)._kind_6.sons->data[((NI) 7)]), (*(*c).graph).emptyNode);
41819 			}
41820 			goto LA28_;
41821 			LA31_: ;
41822 			{
41823 				asgnRef((void**) (&(*(*(*(*disp).ast)._kind_6.sons->data[((NI) 7)])._kind_4.sym).typ), ret);
41824 			}
41825 			LA28_: ;
41826 		}
41827 		LA26_: ;
41828 	}
41829 	LA22_: ;
41830 	}BeforeRet_: ;
41831 	return result;
41832 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConverterDef__sem_13501)41833 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConverterDef__sem_13501)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41834 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41835 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
41836 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
41837 	tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA T26_;
41838 {	result = NIM_NIL;
41839 	{
41840 		NIM_BOOL T3_;
41841 		NimStringDesc* T6_;
41842 		T3_ = (NIM_BOOL)0;
41843 		T3_ = isTopLevel__semdata_1091(c);
41844 		if (!!(T3_)) goto LA4_;
41845 		T6_ = NIM_NIL;
41846 		T6_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_927));
41847 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T6_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_928, NIM_FALSE);
41848 	}
41849 	LA4_: ;
41850 	checkSonsLen__semdata_1077(n, ((NI) 7), (*(*c).graph).config);
41851 	result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16), TM__rF9caJawfOjYTjsgLVUSGFA_922, 0);
41852 	{
41853 		NI T9_;
41854 		T9_ = (NI)0;
41855 		T9_ = safeLen__ast_3191(result);
41856 		if (!(T9_ <= ((NI) 0))) goto LA10_;
41857 		goto BeforeRet_;
41858 	}
41859 	LA10_: ;
41860 	{
41861 		if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81)))) goto LA14_;
41862 		goto BeforeRet_;
41863 	}
41864 	LA14_: ;
41865 	s = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
41866 	t = (*s).typ;
41867 	{
41868 		NimStringDesc* T20_;
41869 		if (!((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA18_;
41870 		T20_ = NIM_NIL;
41871 		T20_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_929), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_927));
41872 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T20_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_930, NIM_FALSE);
41873 	}
41874 	LA18_: ;
41875 	{
41876 		NI T23_;
41877 		T23_ = (NI)0;
41878 		T23_ = len__ast_4002(t);
41879 		if (!!((T23_ == ((NI) 2)))) goto LA24_;
41880 		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);
41881 	}
41882 	LA24_: ;
41883 	nimZeroMem((void*)(&T26_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
41884 	nimZeroMem((void*)(&T26_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
41885 	T26_.sym = s;
41886 	addConverterDef__semdata_667(c, T26_);
41887 	}BeforeRet_: ;
41888 	return result;
41889 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semMacroDef__sem_13520)41890 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semMacroDef__sem_13520)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41891 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41892 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
41893 	tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
41894 	NIM_BOOL allUntyped;
41895 {	result = NIM_NIL;
41896 	checkSonsLen__semdata_1077(n, ((NI) 7), (*(*c).graph).config);
41897 	result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17), TM__rF9caJawfOjYTjsgLVUSGFA_933, 0);
41898 	{
41899 		NI T3_;
41900 		T3_ = (NI)0;
41901 		T3_ = safeLen__ast_3191(result);
41902 		if (!(T3_ <= ((NI) 0))) goto LA4_;
41903 		goto BeforeRet_;
41904 	}
41905 	LA4_: ;
41906 	{
41907 		if (!!(((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82)))) goto LA8_;
41908 		goto BeforeRet_;
41909 	}
41910 	LA8_: ;
41911 	s = (*(*result)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
41912 	t = (*s).typ;
41913 	allUntyped = NIM_TRUE;
41914 	{
41915 		NI i;
41916 		NI colontmp_;
41917 		NI i_2;
41918 		i = (NI)0;
41919 		colontmp_ = (NI)0;
41920 		colontmp_ = len__ast_3198((*t).n);
41921 		i_2 = ((NI) 1);
41922 		{
41923 			while (1) {
41924 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* param;
41925 				if (!(i_2 < colontmp_)) goto LA12;
41926 				i = i_2;
41927 				param = (*(*(*t).n)._kind_6.sons->data[i])._kind_4.sym;
41928 				{
41929 					if (!!(((*(*param).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6)))) goto LA15_;
41930 					allUntyped = NIM_FALSE;
41931 				}
41932 				LA15_: ;
41933 				i_2 += ((NI) 1);
41934 			} LA12: ;
41935 		}
41936 	}
41937 	{
41938 		if (!allUntyped) goto LA19_;
41939 		(*s).flags |= ((NU64)1)<<((((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 9)) & 63);
41940 	}
41941 	LA19_: ;
41942 	{
41943 		NimStringDesc* T25_;
41944 		if (!((*(*n)._kind_6.sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA23_;
41945 		T25_ = NIM_NIL;
41946 		T25_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_402), (*(*s).name).s);
41947 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T25_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_934, NIM_FALSE);
41948 	}
41949 	LA23_: ;
41950 	}BeforeRet_: ;
41951 	return result;
41952 }
N_NIMCALL(void,incMod__sem_13555)41953 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) {
41954 	NI32 f;
41955 	f = checkModuleName__modulepaths_21((*(*c).graph).config, it, NIM_TRUE);
41956 	{
41957 		if (!!((f == ((NI32) -1)))) goto LA3_;
41958 		addIncludeFileDep__semdata_604(c, f);
41959 		onProcessing__modulegraphs_11274((*c).graph, f, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_944), (*c).module);
41960 		{
41961 			NIM_BOOL T7_;
41962 			NimStringDesc* T10_;
41963 			NimStringDesc* T11_;
41964 			T7_ = (NIM_BOOL)0;
41965 			T7_ = containsOrIncl__astalgo_402((&(*c).includedFiles), ((NI) (f)));
41966 			if (!T7_) goto LA8_;
41967 			T10_ = NIM_NIL;
41968 			T10_ = toMsgFilename__msgs_602((*(*c).graph).config, f);
41969 			T11_ = NIM_NIL;
41970 			T11_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_10), T10_);
41971 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T11_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_945, NIM_FALSE);
41972 		}
41973 		goto LA5_;
41974 		LA8_: ;
41975 		{
41976 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T13_;
41977 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T14_;
41978 			T13_ = NIM_NIL;
41979 			T13_ = (*(*c).graph).includeFileCallback((*c).graph, (*c).module, f);
41980 			T14_ = NIM_NIL;
41981 			T14_ = semStmt__sem_84(c, T13_, 0);
41982 			add__ast_4797(includeStmtResult, T14_);
41983 			excl__reorder_264((&(*c).includedFiles), ((NI) (f)));
41984 		}
41985 		LA5_: ;
41986 	}
41987 	LA3_: ;
41988 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,evalInclude__sem_13575)41989 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, evalInclude__sem_13575)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
41990 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
41991 	result = NIM_NIL;
41992 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
41993 	add__ast_4797(result, n);
41994 	{
41995 		NI i;
41996 		NI colontmp_;
41997 		NI i_2;
41998 		i = (NI)0;
41999 		colontmp_ = (NI)0;
42000 		colontmp_ = len__ast_3198(n);
42001 		i_2 = ((NI) 0);
42002 		{
42003 			while (1) {
42004 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* imp;
42005 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
42006 				if (!(i_2 < colontmp_)) goto LA3;
42007 				i = i_2;
42008 				imp = NIM_NIL;
42009 				it = (*n)._kind_6.sons->data[i];
42010 				{
42011 					NIM_BOOL T6_;
42012 					NIM_BOOL T7_;
42013 					NI T9_;
42014 					NimStringDesc* T13_;
42015 					T6_ = (NIM_BOOL)0;
42016 					T7_ = (NIM_BOOL)0;
42017 					T7_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29));
42018 					if (!(T7_)) goto LA8_;
42019 					T9_ = (NI)0;
42020 					T9_ = len__ast_3198(it);
42021 					T7_ = (T9_ == ((NI) 3));
42022 					LA8_: ;
42023 					T6_ = T7_;
42024 					if (!(T6_)) goto LA10_;
42025 					T6_ = !(eqStrings((*(*(*it)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_940)));
42026 					LA10_: ;
42027 					if (!T6_) goto LA11_;
42028 					T13_ = NIM_NIL;
42029 					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);
42030 appendString(T13_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_941));
42031 appendString(T13_, (*(*(*it)._kind_6.sons->data[((NI) 0)])._kind_5.ident).s);
42032 appendString(T13_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_942));
42033 					liMessage__msgs_1118((*(*c).graph).config, (*it).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T13_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_943, NIM_FALSE);
42034 				}
42035 				LA11_: ;
42036 				{
42037 					NIM_BOOL T16_;
42038 					NIM_BOOL T17_;
42039 					NI T19_;
42040 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* sep;
42041 					tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dir;
42042 					T16_ = (NIM_BOOL)0;
42043 					T17_ = (NIM_BOOL)0;
42044 					T17_ = ((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29));
42045 					if (!(T17_)) goto LA18_;
42046 					T19_ = (NI)0;
42047 					T19_ = len__ast_3198(it);
42048 					T17_ = (T19_ == ((NI) 3));
42049 					LA18_: ;
42050 					T16_ = T17_;
42051 					if (!(T16_)) goto LA20_;
42052 					T16_ = ((*(*it)._kind_6.sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41));
42053 					LA20_: ;
42054 					if (!T16_) goto LA21_;
42055 					sep = (*it)._kind_6.sons->data[((NI) 0)];
42056 					dir = (*it)._kind_6.sons->data[((NI) 1)];
42057 					imp = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29), (*it).info);
42058 					add__ast_4797(imp, sep);
42059 					add__ast_4797(imp, dir);
42060 					add__ast_4797(imp, sep);
42061 					{
42062 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
42063 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* colontmp__2;
42064 						x = NIM_NIL;
42065 						colontmp__2 = NIM_NIL;
42066 						colontmp__2 = (*it)._kind_6.sons->data[((NI) 2)];
42067 						{
42068 							NI i_3;
42069 							NI colontmp__3;
42070 							NI i_4;
42071 							i_3 = (NI)0;
42072 							colontmp__3 = (NI)0;
42073 							colontmp__3 = safeLen__ast_3191(colontmp__2);
42074 							i_4 = ((NI) 0);
42075 							{
42076 								while (1) {
42077 									if (!(i_4 < colontmp__3)) goto LA26;
42078 									i_3 = i_4;
42079 									x = (*colontmp__2)._kind_6.sons->data[i_3];
42080 									asgnRef((void**) (&(*imp)._kind_6.sons->data[((NI) 2)]), x);
42081 									incMod__sem_13555(c, n, imp, result);
42082 									i_4 += ((NI) 1);
42083 								} LA26: ;
42084 							}
42085 						}
42086 					}
42087 				}
42088 				goto LA14_;
42089 				LA21_: ;
42090 				{
42091 					incMod__sem_13555(c, n, it, result);
42092 				}
42093 				LA14_: ;
42094 				i_2 += ((NI) 1);
42095 			} LA3: ;
42096 		}
42097 	}
42098 	return result;
42099 }
N_INLINE(NIM_BOOL,isCachedModule__modulegraphs_2697)42100 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2697)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, NI module) {
42101 	NIM_BOOL result;
42102 	NIM_BOOL T1_;
42103 	NI T2_;
42104 	result = (NIM_BOOL)0;
42105 	T1_ = (NIM_BOOL)0;
42106 	T2_ = ((*g).packed_0 ? (*g).packed_0->Sup.len : 0);
42107 	T1_ = (module < T2_);
42108 	if (!(T1_)) goto LA3_;
42109 	T1_ = ((*g).packed_0->data[module].status == ((tyEnum_ModuleStatus__MgSLMPwZ4GVYYz7Kn9bmm6Q) 3));
42110 	LA3_: ;
42111 	result = T1_;
42112 	return result;
42113 }
N_INLINE(NIM_BOOL,isCachedModule__modulegraphs_2709)42114 static N_INLINE(NIM_BOOL, isCachedModule__modulegraphs_2709)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m) {
42115 	NIM_BOOL result;
42116 	result = (NIM_BOOL)0;
42117 	result = isCachedModule__modulegraphs_2697(g, (*m).position);
42118 	return result;
42119 }
N_INLINE(void,specialSyms__sem_19892)42120 static N_INLINE(void, specialSyms__sem_19892)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
42121 	{
42122 		tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA T5_;
42123 		if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16))) goto LA3_;
42124 		nimZeroMem((void*)(&T5_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
42125 		nimZeroMem((void*)(&T5_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
42126 		T5_.sym = s;
42127 		addConverter__semdata_653(c, T5_);
42128 	}
42129 	goto LA1_;
42130 	LA3_: ;
42131 	{
42132 		NIM_BOOL T7_;
42133 		NIM_BOOL T8_;
42134 		NIM_BOOL T9_;
42135 		tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA T15_;
42136 		T7_ = (NIM_BOOL)0;
42137 		T8_ = (NIM_BOOL)0;
42138 		T9_ = (NIM_BOOL)0;
42139 		T9_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
42140 		if (!(T9_)) goto LA10_;
42141 		T9_ = !(((*s).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
42142 		LA10_: ;
42143 		T8_ = T9_;
42144 		if (!(T8_)) goto LA11_;
42145 		T8_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
42146 		LA11_: ;
42147 		T7_ = T8_;
42148 		if (!(T7_)) goto LA12_;
42149 		T7_ = (((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0);
42150 		LA12_: ;
42151 		if (!T7_) goto LA13_;
42152 		nimZeroMem((void*)(&T15_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
42153 		nimZeroMem((void*)(&T15_), sizeof(tyObject_LazySym__rhF4Xi6CELPmWy539c1l6fA));
42154 		T15_.sym = s;
42155 		addPureEnum__semdata_674(c, T15_);
42156 	}
42157 	goto LA1_;
42158 	LA13_: ;
42159 	LA1_: ;
42160 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExport__sem_19888)42161 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExport__sem_19888)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
42162 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
42163 	result = NIM_NIL;
42164 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118), (*n).info);
42165 	{
42166 		NI i;
42167 		NI colontmp_;
42168 		NI i_2;
42169 		i = (NI)0;
42170 		colontmp_ = (NI)0;
42171 		colontmp_ = len__ast_3198(n);
42172 		i_2 = ((NI) 0);
42173 		{
42174 			while (1) {
42175 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
42176 				tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ o;
42177 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
42178 				if (!(i_2 < colontmp_)) goto LA3;
42179 				i = i_2;
42180 				a = (*n)._kind_6.sons->data[i];
42181 				nimZeroMem((void*)(&o), sizeof(tyObject_TOverloadIter__5JoRhlHqSIiHe1n9a5m6IAQ));
42182 				s = initOverloadIter__lookups_1374((&o), c, a);
42183 				{
42184 					NimStringDesc* T8_;
42185 					NimStringDesc* T9_;
42186 					if (!(s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA6_;
42187 					T8_ = NIM_NIL;
42188 					T9_ = NIM_NIL;
42189 					T9_ = renderTree__renderer_46(a, 0);
42190 					T8_ = rawNewString((T9_ ? T9_->Sup.len : 0) + 15);
42191 appendString(T8_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_947));
42192 appendString(T8_, T9_);
42193 					liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T8_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_948, NIM_FALSE);
42194 				}
42195 				goto LA4_;
42196 				LA6_: ;
42197 				{
42198 					if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6))) goto LA11_;
42199 					reexportSym__semdata_717(c, s);
42200 					{
42201 						tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it;
42202 						NIM_BOOL importHidden;
42203 						it = NIM_NIL;
42204 						importHidden = (((*s).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
42205 						{
42206 							NIM_BOOL T16_;
42207 							tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
42208 							tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
42209 							T16_ = (NIM_BOOL)0;
42210 							T16_ = isCachedModule__modulegraphs_2709((*c).graph, s);
42211 							if (!T16_) goto LA17_;
42212 							nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
42213 							r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*s).position)), importHidden);
42214 							{
42215 								while (1) {
42216 									if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA20;
42217 									it = r;
42218 									{
42219 										tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T25_;
42220 										if (!((43513792 &((NU32)1<<((NU)((*it).kind)&31U)))!=0)) goto LA23_;
42221 										reexportSym__semdata_717(c, it);
42222 										T25_ = NIM_NIL;
42223 										T25_ = newSymNode__ast_3719(it, (*a).info);
42224 										add__ast_4797(result, T25_);
42225 										specialSyms__sem_19892(c, it);
42226 									}
42227 									LA23_: ;
42228 									r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
42229 								} LA20: ;
42230 							}
42231 						}
42232 						goto LA14_;
42233 						LA17_: ;
42234 						{
42235 							{
42236 								tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_2;
42237 								tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp__2;
42238 								tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
42239 								NI i_3;
42240 								NI L;
42241 								NI T32_;
42242 								s_2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
42243 								colontmp__2 = NIM_NIL;
42244 								retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*s).position].interf);
42245 								{
42246 									if (!importHidden) goto LA30_;
42247 									retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*s).position].interfHidden);
42248 								}
42249 								LA30_: ;
42250 								colontmp__2 = (*retX60gensym17_).data;
42251 								i_3 = ((NI) 0);
42252 								T32_ = (colontmp__2 ? colontmp__2->Sup.len : 0);
42253 								L = T32_;
42254 								{
42255 									while (1) {
42256 										if (!(i_3 < L)) goto LA34;
42257 										s_2 = &colontmp__2->data[i_3];
42258 										{
42259 											if (!!(((*s_2) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA37_;
42260 											it = (*s_2);
42261 											{
42262 												tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T43_;
42263 												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_;
42264 												reexportSym__semdata_717(c, it);
42265 												T43_ = NIM_NIL;
42266 												T43_ = newSymNode__ast_3719(it, (*a).info);
42267 												add__ast_4797(result, T43_);
42268 												specialSyms__sem_19892(c, it);
42269 											}
42270 											LA41_: ;
42271 										}
42272 										LA37_: ;
42273 										i_3 += ((NI) 1);
42274 									} LA34: ;
42275 								}
42276 							}
42277 						}
42278 						LA14_: ;
42279 					}
42280 					markUsed__sigmatch_85(c, (*n).info, s);
42281 				}
42282 				goto LA4_;
42283 				LA11_: ;
42284 				{
42285 					{
42286 						while (1) {
42287 							if (!!((s == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA46;
42288 							{
42289 								NimStringDesc* T51_;
42290 								NimStringDesc* T52_;
42291 								if (!((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20))) goto LA49_;
42292 								T51_ = NIM_NIL;
42293 								T52_ = NIM_NIL;
42294 								T52_ = renderTree__renderer_46(a, 0);
42295 								T51_ = rawNewString((T52_ ? T52_->Sup.len : 0) + 59);
42296 appendString(T51_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_947));
42297 appendString(T51_, T52_);
42298 appendString(T51_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_949));
42299 								liMessage__msgs_1118((*(*c).graph).config, (*a).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T51_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_950, NIM_FALSE);
42300 							}
42301 							LA49_: ;
42302 							{
42303 								NIM_BOOL T55_;
42304 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T59_;
42305 								T55_ = (NIM_BOOL)0;
42306 								T55_ = ((43513792 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
42307 								if (!(T55_)) goto LA56_;
42308 								T55_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0));
42309 								LA56_: ;
42310 								if (!T55_) goto LA57_;
42311 								T59_ = NIM_NIL;
42312 								T59_ = newSymNode__ast_3719(s, (*a).info);
42313 								add__ast_4797(result, T59_);
42314 								reexportSym__semdata_717(c, s);
42315 								markUsed__sigmatch_85(c, (*n).info, s);
42316 								specialSyms__sem_19892(c, s);
42317 								{
42318 									NIM_BOOL T62_;
42319 									tyObject_TType__facALICuu8zUj0hjvbTLFg* etyp;
42320 									T62_ = (NIM_BOOL)0;
42321 									T62_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7));
42322 									if (!(T62_)) goto LA63_;
42323 									T62_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 11))&63U)))!=0));
42324 									LA63_: ;
42325 									if (!T62_) goto LA64_;
42326 									etyp = (*s).typ;
42327 									{
42328 										if (!((*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*etyp).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14))) goto LA68_;
42329 										{
42330 											NI j;
42331 											NI colontmp__3;
42332 											NI i_4;
42333 											j = (NI)0;
42334 											colontmp__3 = (NI)0;
42335 											colontmp__3 = len__ast_3198((*etyp).n);
42336 											i_4 = ((NI) 0);
42337 											{
42338 												while (1) {
42339 													tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* e;
42340 													if (!(i_4 < colontmp__3)) goto LA72;
42341 													j = i_4;
42342 													e = (*(*(*etyp).n)._kind_6.sons->data[j])._kind_4.sym;
42343 													{
42344 														if (!!(((*e).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20)))) goto LA75_;
42345 														internalErrorImpl__msgs_1431((*(*c).graph).config, (*s).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_951), TM__rF9caJawfOjYTjsgLVUSGFA_952);
42346 													}
42347 													LA75_: ;
42348 													reexportSym__semdata_717(c, e);
42349 													i_4 += ((NI) 1);
42350 												} LA72: ;
42351 											}
42352 										}
42353 									}
42354 									LA68_: ;
42355 								}
42356 								LA64_: ;
42357 							}
42358 							LA57_: ;
42359 							s = nextOverloadIter__lookups_1528((&o), c, a);
42360 						} LA46: ;
42361 					}
42362 				}
42363 				LA4_: ;
42364 				i_2 += ((NI) 1);
42365 			} LA3: ;
42366 		}
42367 	}
42368 	return result;
42369 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExportExcept__sem_19849)42370 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExportExcept__sem_19849)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
42371 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
42372 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* moduleName;
42373 	tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA exceptSet;
42374 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* exported;
42375 {	result = NIM_NIL;
42376 	moduleName = semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
42377 	{
42378 		NIM_BOOL T3_;
42379 		T3_ = (NIM_BOOL)0;
42380 		T3_ = !(((*moduleName).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)));
42381 		if (T3_) goto LA4_;
42382 		T3_ = !(((*(*moduleName)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
42383 		LA4_: ;
42384 		if (!T3_) goto LA5_;
42385 		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);
42386 		result = n;
42387 		goto BeforeRet_;
42388 	}
42389 	LA5_: ;
42390 	nimZeroMem((void*)(&exceptSet), sizeof(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA));
42391 	readExceptSet__importer_17(c, n, (&exceptSet));
42392 	exported = (*moduleName)._kind_4.sym;
42393 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118), (*n).info);
42394 	reexportSym__semdata_717(c, exported);
42395 	{
42396 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
42397 		NIM_BOOL importHidden;
42398 		s = NIM_NIL;
42399 		importHidden = (((*exported).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 27))&31U)))!=0);
42400 		{
42401 			NIM_BOOL T10_;
42402 			tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg rodIt;
42403 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* r;
42404 			T10_ = (NIM_BOOL)0;
42405 			T10_ = isCachedModule__modulegraphs_2709((*c).graph, exported);
42406 			if (!T10_) goto LA11_;
42407 			nimZeroMem((void*)(&rodIt), sizeof(tyObject_RodIter__Y6aA9bUtpfLvVVtyih9aAbQg));
42408 			r = initRodIterAllSyms__icZic_8667((&rodIt), (*(*c).graph).config, (*(*c).graph).cache, (&(*(*c).graph).packed_0), ((NI32) ((*exported).position)), importHidden);
42409 			{
42410 				while (1) {
42411 					if (!!((r == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA14;
42412 					s = r;
42413 					{
42414 						NIM_BOOL T17_;
42415 						NIM_BOOL T18_;
42416 						NIM_BOOL T20_;
42417 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
42418 						T17_ = (NIM_BOOL)0;
42419 						T18_ = (NIM_BOOL)0;
42420 						T18_ = ((43513792 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
42421 						if (!(T18_)) goto LA19_;
42422 						T20_ = (NIM_BOOL)0;
42423 						T20_ = contains__astalgo_3496((&exceptSet), (*(*s).name).id);
42424 						T18_ = !(T20_);
42425 						LA19_: ;
42426 						T17_ = T18_;
42427 						if (!(T17_)) goto LA21_;
42428 						T17_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0));
42429 						LA21_: ;
42430 						if (!T17_) goto LA22_;
42431 						reexportSym__semdata_717(c, s);
42432 						T24_ = NIM_NIL;
42433 						T24_ = newSymNode__ast_3719(s, (*n).info);
42434 						add__ast_4797(result, T24_);
42435 					}
42436 					LA22_: ;
42437 					r = nextRodIter__icZic_8962((&rodIt), (&(*(*c).graph).packed_0));
42438 				} LA14: ;
42439 			}
42440 		}
42441 		goto LA8_;
42442 		LA11_: ;
42443 		{
42444 			{
42445 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** s_2;
42446 				tySequence__eHqUwlHGGaPw0TDPDeL79cQ* colontmp_;
42447 				tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* retX60gensym17_;
42448 				NI i;
42449 				NI L;
42450 				NI T31_;
42451 				s_2 = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
42452 				colontmp_ = NIM_NIL;
42453 				retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*exported).position].interf);
42454 				{
42455 					if (!importHidden) goto LA29_;
42456 					retX60gensym17_ = (&(*(*c).graph).ifaces->data[(*exported).position].interfHidden);
42457 				}
42458 				LA29_: ;
42459 				colontmp_ = (*retX60gensym17_).data;
42460 				i = ((NI) 0);
42461 				T31_ = (colontmp_ ? colontmp_->Sup.len : 0);
42462 				L = T31_;
42463 				{
42464 					while (1) {
42465 						if (!(i < L)) goto LA33;
42466 						s_2 = &colontmp_->data[i];
42467 						{
42468 							if (!!(((*s_2) == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA36_;
42469 							s = (*s_2);
42470 							{
42471 								NIM_BOOL T40_;
42472 								NIM_BOOL T41_;
42473 								NIM_BOOL T43_;
42474 								tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T47_;
42475 								T40_ = (NIM_BOOL)0;
42476 								T41_ = (NIM_BOOL)0;
42477 								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));
42478 								if (!(T41_)) goto LA42_;
42479 								T43_ = (NIM_BOOL)0;
42480 								T43_ = contains__astalgo_3496((&exceptSet), (*(*s).name).id);
42481 								T41_ = !(T43_);
42482 								LA42_: ;
42483 								T40_ = T41_;
42484 								if (!(T40_)) goto LA44_;
42485 								T40_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0));
42486 								LA44_: ;
42487 								if (!T40_) goto LA45_;
42488 								reexportSym__semdata_717(c, s);
42489 								T47_ = NIM_NIL;
42490 								T47_ = newSymNode__ast_3719(s, (*n).info);
42491 								add__ast_4797(result, T47_);
42492 							}
42493 							LA45_: ;
42494 						}
42495 						LA36_: ;
42496 						i += ((NI) 1);
42497 					} LA33: ;
42498 				}
42499 			}
42500 		}
42501 		LA8_: ;
42502 	}
42503 	markUsed__sigmatch_85(c, (*n).info, exported);
42504 	}BeforeRet_: ;
42505 	return result;
42506 }
N_NIMCALL(void,setLine__sem_13634)42507 N_LIB_PRIVATE N_NIMCALL(void, setLine__sem_13634)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
42508 	{
42509 		if (!!((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA3_;
42510 		{
42511 			NI i;
42512 			NI colontmp_;
42513 			NI i_2;
42514 			i = (NI)0;
42515 			colontmp_ = (NI)0;
42516 			colontmp_ = safeLen__ast_3191(n);
42517 			i_2 = ((NI) 0);
42518 			{
42519 				while (1) {
42520 					if (!(i_2 < colontmp_)) goto LA7;
42521 					i = i_2;
42522 					setLine__sem_13634((*n)._kind_6.sons->data[i], info);
42523 					i_2 += ((NI) 1);
42524 				} LA7: ;
42525 			}
42526 		}
42527 		(*n).info = info;
42528 	}
42529 	LA3_: ;
42530 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semPragmaBlock__sem_13647)42531 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semPragmaBlock__sem_13647)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
42532 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
42533 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragmaList;
42534 	NI inUncheckedAssignSection;
42535 	result = NIM_NIL;
42536 	checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
42537 	pragmaList = (*n)._kind_6.sons->data[((NI) 0)];
42538 	pragma__pragmas_123(c, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL), pragmaList, TM__rF9caJawfOjYTjsgLVUSGFA_956, NIM_TRUE);
42539 	inUncheckedAssignSection = ((NI) 0);
42540 	{
42541 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* p;
42542 		p = NIM_NIL;
42543 		{
42544 			NI i;
42545 			NI colontmp_;
42546 			NI i_2;
42547 			i = (NI)0;
42548 			colontmp_ = (NI)0;
42549 			colontmp_ = safeLen__ast_3191(pragmaList);
42550 			i_2 = ((NI) 0);
42551 			{
42552 				while (1) {
42553 					if (!(i_2 < colontmp_)) goto LA4;
42554 					i = i_2;
42555 					p = (*pragmaList)._kind_6.sons->data[i];
42556 					{
42557 						tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T7_;
42558 						tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T10_;
42559 						T7_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
42560 						T7_ = whichPragma__trees_244(p);
42561 						if (!(T7_ == ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 9))) goto LA8_;
42562 						T10_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
42563 						T10_ = whichPragma__trees_244((*p)._kind_6.sons->data[((NI) 1)]);
42564 						switch (T10_) {
42565 						case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 110):
42566 						case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 109):
42567 						case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 179):
42568 						case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 174):
42569 						{
42570 						}
42571 						break;
42572 						case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 86):
42573 						{
42574 							inUncheckedAssignSection = ((NI) 1);
42575 						}
42576 						break;
42577 						default:
42578 						{
42579 							NimStringDesc* T14_;
42580 							NimStringDesc* T15_;
42581 							T14_ = NIM_NIL;
42582 							T15_ = NIM_NIL;
42583 							T15_ = dollar___renderer_2106(p);
42584 							T14_ = rawNewString((T15_ ? T15_->Sup.len : 0) + 22);
42585 appendString(T14_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_957));
42586 appendString(T14_, T15_);
42587 							liMessage__msgs_1118((*(*c).graph).config, (*p).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T14_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_958, NIM_FALSE);
42588 						}
42589 						break;
42590 						}
42591 					}
42592 					LA8_: ;
42593 					i_2 += ((NI) 1);
42594 				} LA4: ;
42595 			}
42596 		}
42597 	}
42598 	(*c).inUncheckedAssignSection += inUncheckedAssignSection;
42599 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 1)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 1)], 0));
42600 	(*c).inUncheckedAssignSection -= inUncheckedAssignSection;
42601 	result = n;
42602 	asgnRef((void**) (&(*result).typ), (*(*n)._kind_6.sons->data[((NI) 1)]).typ);
42603 	{
42604 		NI i_3;
42605 		NI colontmp__2;
42606 		NI i_4;
42607 		i_3 = (NI)0;
42608 		colontmp__2 = (NI)0;
42609 		colontmp__2 = len__ast_3198(pragmaList);
42610 		i_4 = ((NI) 0);
42611 		{
42612 			while (1) {
42613 				tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T19_;
42614 				if (!(i_4 < colontmp__2)) goto LA18;
42615 				i_3 = i_4;
42616 				T19_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
42617 				T19_ = whichPragma__trees_244((*pragmaList)._kind_6.sons->data[i_3]);
42618 				switch (T19_) {
42619 				case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 127):
42620 				{
42621 					setLine__sem_13634(result, (*(*pragmaList)._kind_6.sons->data[i_3]).info);
42622 				}
42623 				break;
42624 				case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 190):
42625 				{
42626 					(*result).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 6)) & 31);
42627 				}
42628 				break;
42629 				default:
42630 				{
42631 				}
42632 				break;
42633 				}
42634 				i_4 += ((NI) 1);
42635 			} LA18: ;
42636 		}
42637 	}
42638 	return result;
42639 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semStaticStmt__sem_13685)42640 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStaticStmt__sem_13685)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
42641 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
42642 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T1_;
42643 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
42644 	result = NIM_NIL;
42645 	(*c).inStaticContext += ((NI) 1);
42646 	T1_ = NIM_NIL;
42647 	T1_ = openScope__lookups_69(c);
42648 	a = semStmt__sem_84(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
42649 	closeScope__lookups_101(c);
42650 	(*c).inStaticContext -= ((NI) 1);
42651 	asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), a);
42652 	evalStaticStmt__vm_13759((*c).module, (*c).Sup.idgen, (*c).graph, a, (*(*c).p).owner);
42653 	result = newNodeI__ast_3360(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114), (*n).info, ((NI) 1));
42654 	asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), (*(*c).graph).emptyNode);
42655 	return result;
42656 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExpr__sem_52)42657 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExpr__sem_52)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
42658 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
42659 {	result = NIM_NIL;
42660 	result = n;
42661 	{
42662 		if (!((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11))) goto LA3_;
42663 		suggestExpr__sigmatch_6536(c, n);
42664 	}
42665 	LA3_: ;
42666 	{
42667 		if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7))&31U)))!=0)) goto LA7_;
42668 		goto BeforeRet_;
42669 	}
42670 	LA7_: ;
42671 	switch ((*n).kind) {
42672 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
42673 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 53):
42674 	{
42675 		tySet_tyEnum_TLookupFlag__ObWMY5GMSl1GiMcrKaAhKQ checks;
42676 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
42677 		{
42678 			if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 14))&31U)))!=0)) goto LA12_;
42679 			checks = 10;
42680 		}
42681 		goto LA10_;
42682 		LA12_: ;
42683 		{
42684 			if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 15))&31U)))!=0)) goto LA15_;
42685 			checks = 14;
42686 		}
42687 		goto LA10_;
42688 		LA15_: ;
42689 		{
42690 			checks = 15;
42691 		}
42692 		LA10_: ;
42693 		s = qualifiedLookUp__lookups_1233(c, n, checks);
42694 		{
42695 			if (!((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL))) goto LA20_;
42696 			semCaptureSym__lambdalifting_4995(s, (*(*c).p).owner);
42697 		}
42698 		LA20_: ;
42699 		switch ((*s).kind) {
42700 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12):
42701 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13):
42702 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14):
42703 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
42704 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
42705 		{
42706 			result = symChoice__sem_6586(c, n, s, ((tyEnum_TSymChoiceRule__lH3J6G7FTKg8Ow3uXV36OA) 0), NIM_FALSE);
42707 			{
42708 				if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA25_;
42709 				markIndirect__semdata_1060(c, (*result)._kind_4.sym);
42710 			}
42711 			LA25_: ;
42712 			{
42713 				if (!(((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0)) goto LA29_;
42714 				asgnRef((void**) (&(*result).typ), makeVarType__semdata_766(c, (*result).typ, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
42715 			}
42716 			LA29_: ;
42717 		}
42718 		break;
42719 		case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20):
42720 		{
42721 			{
42722 				if (!(((*c).features &((NU32)1<<((NU)(((tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ) 15))&31U)))!=0)) goto LA34_;
42723 				result = enumFieldSymChoice__sem_20195(c, n, s);
42724 			}
42725 			goto LA32_;
42726 			LA34_: ;
42727 			{
42728 				result = semSym__sem_16966(c, n, s, flags);
42729 			}
42730 			LA32_: ;
42731 		}
42732 		break;
42733 		default:
42734 		{
42735 			result = semSym__sem_16966(c, n, s, flags);
42736 		}
42737 		break;
42738 		}
42739 	}
42740 	break;
42741 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
42742 	{
42743 		result = semSym__sem_16966(c, n, (*n)._kind_4.sym, flags);
42744 	}
42745 	break;
42746 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
42747 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0):
42748 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
42749 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 4):
42750 	{
42751 	}
42752 	break;
42753 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
42754 	{
42755 		{
42756 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA43_;
42757 			asgnRef((void**) (&(*result).typ), getNilType__sem_20188(c));
42758 		}
42759 		LA43_: ;
42760 	}
42761 	break;
42762 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6):
42763 	{
42764 		{
42765 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA48_;
42766 			setIntLitType__semdata_245(c, result);
42767 		}
42768 		LA48_: ;
42769 	}
42770 	break;
42771 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 7):
42772 	{
42773 		{
42774 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA53_;
42775 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32)));
42776 		}
42777 		LA53_: ;
42778 	}
42779 	break;
42780 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 8):
42781 	{
42782 		{
42783 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA58_;
42784 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33)));
42785 		}
42786 		LA58_: ;
42787 	}
42788 	break;
42789 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 9):
42790 	{
42791 		{
42792 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA63_;
42793 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34)));
42794 		}
42795 		LA63_: ;
42796 	}
42797 	break;
42798 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 10):
42799 	{
42800 		{
42801 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA68_;
42802 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35)));
42803 		}
42804 		LA68_: ;
42805 	}
42806 	break;
42807 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 11):
42808 	{
42809 		{
42810 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA73_;
42811 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40)));
42812 		}
42813 		LA73_: ;
42814 	}
42815 	break;
42816 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 12):
42817 	{
42818 		{
42819 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA78_;
42820 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41)));
42821 		}
42822 		LA78_: ;
42823 	}
42824 	break;
42825 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 13):
42826 	{
42827 		{
42828 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA83_;
42829 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42)));
42830 		}
42831 		LA83_: ;
42832 	}
42833 	break;
42834 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 14):
42835 	{
42836 		{
42837 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA88_;
42838 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43)));
42839 		}
42840 		LA88_: ;
42841 	}
42842 	break;
42843 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
42844 	{
42845 		{
42846 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA93_;
42847 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44)));
42848 		}
42849 		LA93_: ;
42850 	}
42851 	break;
42852 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 17):
42853 	{
42854 		{
42855 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA98_;
42856 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37)));
42857 		}
42858 		LA98_: ;
42859 	}
42860 	break;
42861 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
42862 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16):
42863 	{
42864 		{
42865 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA103_;
42866 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38)));
42867 		}
42868 		LA103_: ;
42869 	}
42870 	break;
42871 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19):
42872 	{
42873 		{
42874 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA108_;
42875 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39)));
42876 		}
42877 		LA108_: ;
42878 	}
42879 	break;
42880 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
42881 	{
42882 		{
42883 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA113_;
42884 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
42885 		}
42886 		LA113_: ;
42887 	}
42888 	break;
42889 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5):
42890 	{
42891 		{
42892 			if (!((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA118_;
42893 			asgnRef((void**) (&(*result).typ), getSysType__magicsys_60((*c).graph, (*n).info, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2)));
42894 		}
42895 		LA118_: ;
42896 	}
42897 	break;
42898 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
42899 	{
42900 		result = semFieldAccess__sem_13894(c, n, flags);
42901 		{
42902 			if (!((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 25))) goto LA123_;
42903 			transitionSonsKind__ast_4359(result, ((tyEnum_TNodeKind__Dq0DNfMwTBUf7hLFKKDU7g) 27));
42904 			result = semExpr__sem_52(c, result, flags);
42905 		}
42906 		LA123_: ;
42907 	}
42908 	break;
42909 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 55):
42910 	{
42911 		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);
42912 		result = semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
42913 	}
42914 	break;
42915 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
42916 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 134):
42917 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 135):
42918 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150):
42919 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 137):
42920 	{
42921 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
42922 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T147_;
42923 		{
42924 			NIM_BOOL T129_;
42925 			NI T131_;
42926 			tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag modifier;
42927 			T129_ = (NIM_BOOL)0;
42928 			T129_ = !(((*c).matchedConcept == ((tyObject_TMatchedConcept__9blNHn9cqK8EfxnwsfjDnKvg*) NIM_NIL)));
42929 			if (!(T129_)) goto LA130_;
42930 			T131_ = (NI)0;
42931 			T131_ = len__ast_3198(n);
42932 			T129_ = (T131_ == ((NI) 1));
42933 			LA130_: ;
42934 			if (!T129_) goto LA132_;
42935 			switch ((*n).kind) {
42936 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 143):
42937 			{
42938 				modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23);
42939 			}
42940 			break;
42941 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141):
42942 			{
42943 				modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22);
42944 			}
42945 			break;
42946 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 142):
42947 			{
42948 				modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21);
42949 			}
42950 			break;
42951 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 137):
42952 			{
42953 				modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60);
42954 			}
42955 			break;
42956 			case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 132):
42957 			{
42958 				modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8);
42959 			}
42960 			break;
42961 			default:
42962 			{
42963 				modifier = ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0);
42964 			}
42965 			break;
42966 			}
42967 			{
42968 				tyObject_TType__facALICuu8zUj0hjvbTLFg* baseType;
42969 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T144_;
42970 				tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* T145_;
42971 				tyObject_TType__facALICuu8zUj0hjvbTLFg* T146_;
42972 				if (!!((modifier == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0)))) goto LA142_;
42973 				T144_ = NIM_NIL;
42974 				T144_ = semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], 0);
42975 				baseType = skipTypes__ast_3735((*T144_).typ, TM__rF9caJawfOjYTjsgLVUSGFA_123);
42976 				T145_ = NIM_NIL;
42977 				T145_ = (tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A*) newSeq((&NTIttypeseq__9aZVGG5Gtti9cC9bqRpXCtA3A_), 1);
42978 				asgnRef((void**) (&T145_->data[0]), baseType);
42979 				T146_ = NIM_NIL;
42980 				T146_ = newTypeWithSons__semdata_821(c, modifier, T145_);
42981 				asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, T146_));
42982 				goto BeforeRet_;
42983 			}
42984 			LA142_: ;
42985 		}
42986 		LA132_: ;
42987 		T147_ = NIM_NIL;
42988 		T147_ = semTypeNode__sem_80(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
42989 		typ = skipTypes__ast_3735(T147_, TM__rF9caJawfOjYTjsgLVUSGFA_123);
42990 		asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, typ));
42991 	}
42992 	break;
42993 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 128):
42994 	{
42995 		tyObject_TType__facALICuu8zUj0hjvbTLFg* typ_2;
42996 		typ_2 = semTypeNode__sem_80(c, n, ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
42997 		asgnRef((void**) (&(*result).typ), makeTypeDesc__concepts_49(c, typ_2));
42998 	}
42999 	break;
43000 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27):
43001 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29):
43002 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30):
43003 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31):
43004 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26):
43005 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28):
43006 	{
43007 		tySet_tyEnum_TLookupFlag__ObWMY5GMSl1GiMcrKaAhKQ mode;
43008 		tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s_2;
43009 		checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
43010 		{
43011 			if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 9))&31U)))!=0)) goto LA152_;
43012 			mode = 0;
43013 		}
43014 		goto LA150_;
43015 		LA152_: ;
43016 		{
43017 			mode = 2;
43018 		}
43019 		LA150_: ;
43020 		(*c).isAmbiguous = NIM_FALSE;
43021 		s_2 = qualifiedLookUp__lookups_1233(c, (*n)._kind_6.sons->data[((NI) 0)], mode);
43022 		{
43023 			if (!!((s_2 == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA157_;
43024 			switch ((*s_2).kind) {
43025 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 17):
43026 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 18):
43027 			{
43028 				result = semDirectOp__sem_511(c, n, flags);
43029 			}
43030 			break;
43031 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7):
43032 			{
43033 				NIM_BOOL ambig;
43034 				ambig = (*c).isAmbiguous;
43035 				{
43036 					NIM_BOOL T163_;
43037 					NIM_BOOL T164_;
43038 					NI T167_;
43039 					T163_ = (NIM_BOOL)0;
43040 					T164_ = (NIM_BOOL)0;
43041 					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));
43042 					if (!(T164_)) goto LA165_;
43043 					T164_ = ambig;
43044 					LA165_: ;
43045 					T163_ = !(T164_);
43046 					if (!(T163_)) goto LA166_;
43047 					T167_ = (NI)0;
43048 					T167_ = len__ast_3198(n);
43049 					T163_ = (T167_ == ((NI) 2));
43050 					LA166_: ;
43051 					if (!T163_) goto LA168_;
43052 					result = semConv__sem_14395(c, n);
43053 				}
43054 				goto LA161_;
43055 				LA168_: ;
43056 				{
43057 					NIM_BOOL T171_;
43058 					NI T173_;
43059 					T171_ = (NIM_BOOL)0;
43060 					T171_ = ambig;
43061 					if (!(T171_)) goto LA172_;
43062 					T173_ = (NI)0;
43063 					T173_ = len__ast_3198(n);
43064 					T171_ = (T173_ == ((NI) 1));
43065 					LA172_: ;
43066 					if (!T171_) goto LA174_;
43067 					errorUseQualifier__lookups_1180(c, (*n).info, s_2);
43068 				}
43069 				goto LA161_;
43070 				LA174_: ;
43071 				{
43072 					NI T177_;
43073 					T177_ = (NI)0;
43074 					T177_ = len__ast_3198(n);
43075 					if (!(T177_ == ((NI) 1))) goto LA178_;
43076 					result = semObjConstr__sem_16471(c, n, flags);
43077 				}
43078 				goto LA161_;
43079 				LA178_: ;
43080 				{
43081 					if (!((*s_2).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0))) goto LA181_;
43082 					result = semDirectOp__sem_511(c, n, flags);
43083 				}
43084 				goto LA161_;
43085 				LA181_: ;
43086 				{
43087 					result = semMagic__sem_18565(c, n, s_2, flags);
43088 				}
43089 				LA161_: ;
43090 			}
43091 			break;
43092 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12):
43093 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 13):
43094 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 14):
43095 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 16):
43096 			case ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 15):
43097 			{
43098 				{
43099 					if (!((*s_2).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0))) goto LA187_;
43100 					result = semDirectOp__sem_511(c, n, flags);
43101 				}
43102 				goto LA185_;
43103 				LA187_: ;
43104 				{
43105 					result = semMagic__sem_18565(c, n, s_2, flags);
43106 				}
43107 				LA185_: ;
43108 			}
43109 			break;
43110 			default:
43111 			{
43112 				result = semIndirectOp__sem_16548(c, n, flags);
43113 			}
43114 			break;
43115 			}
43116 		}
43117 		goto LA155_;
43118 		LA157_: ;
43119 		{
43120 			NIM_BOOL T192_;
43121 			NIM_BOOL T193_;
43122 			T192_ = (NIM_BOOL)0;
43123 			T193_ = (NIM_BOOL)0;
43124 			T193_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42));
43125 			if (T193_) goto LA194_;
43126 			T193_ = shouldBeBracketExpr__sem_20029(n);
43127 			LA194_: ;
43128 			T192_ = T193_;
43129 			if (!(T192_)) goto LA195_;
43130 			T192_ = isSymChoice__sem_14366((*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 0)]);
43131 			LA195_: ;
43132 			if (!T192_) goto LA196_;
43133 			setGenericParams__sem_16507(c, (*n)._kind_6.sons->data[((NI) 0)]);
43134 			result = semDirectOp__sem_511(c, n, flags);
43135 		}
43136 		goto LA155_;
43137 		LA196_: ;
43138 		{
43139 			if (!(((*n).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 9))&31U)))!=0)) goto LA199_;
43140 			result = semDirectOp__sem_511(c, n, flags);
43141 		}
43142 		goto LA155_;
43143 		LA199_: ;
43144 		{
43145 			NIM_BOOL T202_;
43146 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b;
43147 			T202_ = (NIM_BOOL)0;
43148 			T202_ = isSymChoice__sem_14366((*n)._kind_6.sons->data[((NI) 0)]);
43149 			if (!T202_) goto LA203_;
43150 			b = asBracketExpr__sem_20084(c, n);
43151 			{
43152 				if (!!((b == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA207_;
43153 				result = semExpr__sem_52(c, b, flags);
43154 			}
43155 			goto LA205_;
43156 			LA207_: ;
43157 			{
43158 				result = semDirectOp__sem_511(c, n, flags);
43159 			}
43160 			LA205_: ;
43161 		}
43162 		goto LA155_;
43163 		LA203_: ;
43164 		{
43165 			result = semIndirectOp__sem_16548(c, n, flags);
43166 		}
43167 		LA155_: ;
43168 		{
43169 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* hoistedParams;
43170 			tyArray__AB6yfoUgfWM2NtGe9bzkCmw T218_;
43171 			if (!(((*result).flags &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 19))&31U)))!=0)) goto LA213_;
43172 			result = copyTree__ast_4431(result);
43173 			hoistedParams = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100), (*result).info);
43174 			{
43175 				NI i;
43176 				NI colontmp_;
43177 				NI i_2;
43178 				i = (NI)0;
43179 				colontmp_ = (NI)0;
43180 				colontmp_ = len__ast_3198(result);
43181 				i_2 = ((NI) 1);
43182 				{
43183 					while (1) {
43184 						if (!(i_2 < colontmp_)) goto LA217;
43185 						i = i_2;
43186 						hoistParamsUsedInDefault__sem_20149(c, &result, &hoistedParams, &(*result)._kind_6.sons->data[i]);
43187 						i_2 += ((NI) 1);
43188 					} LA217: ;
43189 				}
43190 			}
43191 			nimZeroMem((void*)T218_, sizeof(tyArray__AB6yfoUgfWM2NtGe9bzkCmw));
43192 			T218_[0] = hoistedParams;
43193 			T218_[1] = result;
43194 			result = newTreeIT__ast_3431(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126), (*result).info, (*result).typ, T218_, 2);
43195 		}
43196 		LA213_: ;
43197 	}
43198 	break;
43199 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
43200 	{
43201 		{
43202 			if (!((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 7))&31U)))!=0)) goto LA222_;
43203 			result = semWhen__sem_515(c, n, NIM_TRUE);
43204 		}
43205 		goto LA220_;
43206 		LA222_: ;
43207 		{
43208 			result = semWhen__sem_515(c, n, NIM_FALSE);
43209 			{
43210 				if (!(result == n)) goto LA227_;
43211 				result = semWhen__sem_515(c, n, NIM_TRUE);
43212 			}
43213 			goto LA225_;
43214 			LA227_: ;
43215 			{
43216 				result = semExpr__sem_52(c, result, flags);
43217 			}
43218 			LA225_: ;
43219 		}
43220 		LA220_: ;
43221 	}
43222 	break;
43223 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
43224 	{
43225 		checkMinSonsLen__semdata_1084(n, ((NI) 1), (*(*c).graph).config);
43226 		result = semArrayAccess__sem_17529(c, n, flags);
43227 	}
43228 	break;
43229 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 40):
43230 	{
43231 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T232_;
43232 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T233_;
43233 		T232_ = NIM_NIL;
43234 		T232_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_127));
43235 		T233_ = NIM_NIL;
43236 		T233_ = buildOverloadedSubscripts__sem_17343(n, T232_);
43237 		result = semExpr__sem_52(c, T233_, flags);
43238 	}
43239 	break;
43240 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 43):
43241 	{
43242 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* pragma;
43243 		tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* pragmaName;
43244 		tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags_2;
43245 		tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg finalNodeFlags;
43246 		tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw T235_;
43247 		pragma = (*n)._kind_6.sons->data[((NI) 1)];
43248 		pragmaName = considerQuotedIdent__lookups_28(c, (*pragma)._kind_6.sons->data[((NI) 0)], ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
43249 		flags_2 = flags;
43250 		finalNodeFlags = 0;
43251 		T235_ = (tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw)0;
43252 		T235_ = whichKeyword__idents_214(pragmaName);
43253 		switch (T235_) {
43254 		case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 223):
43255 		{
43256 			flags_2 |= ((NU32)1)<<((((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 10)) & 31);
43257 		}
43258 		break;
43259 		case ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 166):
43260 		{
43261 			finalNodeFlags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 20)) & 31);
43262 		}
43263 		break;
43264 		default:
43265 		{
43266 			invalidPragma__pragmas_148(c, n);
43267 		}
43268 		break;
43269 		}
43270 		result = semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], flags_2);
43271 		(*result).flags = ((*result).flags | finalNodeFlags);
43272 	}
43273 	break;
43274 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
43275 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
43276 	{
43277 		tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg T240_;
43278 		T240_ = (tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg)0;
43279 		T240_ = checkPar__sem_18916(c, n);
43280 		switch (T240_) {
43281 		case ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 0):
43282 		{
43283 			result = errorNode__semdata_1009(c, n);
43284 		}
43285 		break;
43286 		case ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 3):
43287 		{
43288 			result = semTupleConstr__sem_19999(c, n, flags);
43289 		}
43290 		break;
43291 		case ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 2):
43292 		{
43293 			result = semTupleFieldsConstr__sem_18980(c, n, flags);
43294 		}
43295 		break;
43296 		case ((tyEnum_TParKind__halZ9aqjYDH0l2n5E6sCJdg) 1):
43297 		{
43298 			result = semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], flags);
43299 		}
43300 		break;
43301 		}
43302 	}
43303 	break;
43304 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
43305 	{
43306 		result = semSetConstr__sem_18756(c, n);
43307 	}
43308 	break;
43309 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
43310 	{
43311 		result = semArrayConstr__sem_14893(c, n, flags);
43312 	}
43313 	break;
43314 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
43315 	{
43316 		result = semObjConstr__sem_16471(c, n, flags);
43317 	}
43318 	break;
43319 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
43320 	{
43321 		result = semProcAux__sem_13029(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12), TM__rF9caJawfOjYTjsgLVUSGFA_736, flags);
43322 	}
43323 	break;
43324 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
43325 	{
43326 		result = semDeref__sem_17356(c, n);
43327 	}
43328 	break;
43329 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
43330 	{
43331 		result = n;
43332 		checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
43333 		asgnRef((void**) (&(*result)._kind_6.sons->data[((NI) 0)]), semAddrArg__sem_15262(c, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE));
43334 		asgnRef((void**) (&(*result).typ), makePtrType__semdata_742(c, (*(*result)._kind_6.sons->data[((NI) 0)]).typ));
43335 	}
43336 	break;
43337 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
43338 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
43339 	{
43340 		checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
43341 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], flags));
43342 	}
43343 	break;
43344 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
43345 	{
43346 		result = semCast__sem_14524(c, n);
43347 	}
43348 	break;
43349 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
43350 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
43351 	{
43352 		result = semIf__sem_9366(c, n, flags);
43353 	}
43354 	break;
43355 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
43356 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
43357 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
43358 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
43359 	{
43360 		checkSonsLen__semdata_1077(n, ((NI) 2), (*(*c).graph).config);
43361 		considerGenSyms__semdata_425(c, n);
43362 	}
43363 	break;
43364 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71):
43365 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72):
43366 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
43367 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
43368 	{
43369 		checkSonsLen__semdata_1077(n, ((NI) 1), (*(*c).graph).config);
43370 		considerGenSyms__semdata_425(c, n);
43371 	}
43372 	break;
43373 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
43374 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
43375 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
43376 	{
43377 		checkSonsLen__semdata_1077(n, ((NI) 3), (*(*c).graph).config);
43378 		considerGenSyms__semdata_425(c, n);
43379 	}
43380 	break;
43381 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
43382 	{
43383 		checkMinSonsLen__semdata_1084(n, ((NI) 2), (*(*c).graph).config);
43384 		considerGenSyms__semdata_425(c, n);
43385 	}
43386 	break;
43387 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 54):
43388 	{
43389 		result = semTableConstr__sem_18848(c, n);
43390 	}
43391 	break;
43392 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56):
43393 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57):
43394 	{
43395 	}
43396 	break;
43397 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 62):
43398 	{
43399 		result = semStaticExpr__sem_125(c, (*n)._kind_6.sons->data[((NI) 0)]);
43400 	}
43401 	break;
43402 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
43403 	{
43404 		result = semAsgn__sem_15307(c, n, ((tyEnum_SemAsgnMode__e9aTobe3zFbbfTs9bHC7XMIQ) 0));
43405 	}
43406 	break;
43407 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
43408 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
43409 	{
43410 		result = semBlock__sem_19802(c, n, flags);
43411 	}
43412 	break;
43413 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
43414 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
43415 	{
43416 		result = semStmtList__sem_13731(c, n, flags);
43417 	}
43418 	break;
43419 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
43420 	{
43421 		result = semRaise__sem_11562(c, n);
43422 	}
43423 	break;
43424 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
43425 	{
43426 		result = semVarOrLet__sem_10066(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 8));
43427 	}
43428 	break;
43429 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
43430 	{
43431 		result = semVarOrLet__sem_10066(c, n, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 9));
43432 	}
43433 	break;
43434 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 101):
43435 	{
43436 		result = semConst__sem_10429(c, n);
43437 	}
43438 	break;
43439 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
43440 	{
43441 		result = semTypeSection__sem_12312(c, n);
43442 	}
43443 	break;
43444 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
43445 	{
43446 		result = semDiscard__sem_9153(c, n);
43447 	}
43448 	break;
43449 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
43450 	{
43451 		result = semWhile__sem_9234(c, n, flags);
43452 	}
43453 	break;
43454 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
43455 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
43456 	{
43457 		result = semTry__sem_9422(c, n, flags);
43458 	}
43459 	break;
43460 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
43461 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 111):
43462 	{
43463 		result = semBreakOrContinue__sem_9185(c, n);
43464 	}
43465 	break;
43466 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 94):
43467 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 95):
43468 	{
43469 		result = semFor__sem_11337(c, n, flags);
43470 	}
43471 	break;
43472 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
43473 	{
43474 		result = semCase__sem_11453(c, n, flags);
43475 	}
43476 	break;
43477 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
43478 	{
43479 		result = semReturn__sem_17871(c, n);
43480 	}
43481 	break;
43482 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 124):
43483 	{
43484 		result = semUsing__sem_9768(c, n);
43485 	}
43486 	break;
43487 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 89):
43488 	{
43489 		result = semAsm__sem_9228(c, n);
43490 	}
43491 	break;
43492 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104):
43493 	{
43494 		result = semYield__sem_18051(c, n);
43495 	}
43496 	break;
43497 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 90):
43498 	{
43499 		pragma__pragmas_123(c, (*(*c).p).owner, n, TM__rF9caJawfOjYTjsgLVUSGFA_917, NIM_TRUE);
43500 	}
43501 	break;
43502 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
43503 	{
43504 		result = semIterator__sem_13400(c, n);
43505 	}
43506 	break;
43507 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79):
43508 	{
43509 		result = semProc__sem_9261(c, n);
43510 	}
43511 	break;
43512 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
43513 	{
43514 		result = semFunc__sem_13456(c, n);
43515 	}
43516 	break;
43517 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 80):
43518 	{
43519 		result = semMethod__sem_13466(c, n);
43520 	}
43521 	break;
43522 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
43523 	{
43524 		result = semConverterDef__sem_13501(c, n);
43525 	}
43526 	break;
43527 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 82):
43528 	{
43529 		result = semMacroDef__sem_13520(c, n);
43530 	}
43531 	break;
43532 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 83):
43533 	{
43534 		result = semTemplateDef__sem_7666(c, n);
43535 	}
43536 	break;
43537 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
43538 	{
43539 		{
43540 			NimStringDesc* T292_;
43541 			if (!((NI)(((NI) 2) + (*c).compilesContextId) < (*(*c).currentScope).depthLevel)) goto LA290_;
43542 			T292_ = NIM_NIL;
43543 			T292_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_935));
43544 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T292_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_936, NIM_FALSE);
43545 		}
43546 		LA290_: ;
43547 		result = evalImport__importer_3854(c, n);
43548 	}
43549 	break;
43550 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 117):
43551 	{
43552 		{
43553 			NIM_BOOL T296_;
43554 			NimStringDesc* T299_;
43555 			T296_ = (NIM_BOOL)0;
43556 			T296_ = isTopLevel__semdata_1091(c);
43557 			if (!!(T296_)) goto LA297_;
43558 			T299_ = NIM_NIL;
43559 			T299_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_935));
43560 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T299_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_937, NIM_FALSE);
43561 		}
43562 		LA297_: ;
43563 		result = evalImportExcept__importer_3935(c, n);
43564 	}
43565 	break;
43566 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 120):
43567 	{
43568 		{
43569 			NIM_BOOL T303_;
43570 			NimStringDesc* T306_;
43571 			T303_ = (NIM_BOOL)0;
43572 			T303_ = isTopLevel__semdata_1091(c);
43573 			if (!!(T303_)) goto LA304_;
43574 			T306_ = NIM_NIL;
43575 			T306_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_938));
43576 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T306_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_939, NIM_FALSE);
43577 		}
43578 		LA304_: ;
43579 		result = evalFrom__importer_3909(c, n);
43580 	}
43581 	break;
43582 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
43583 	{
43584 		result = evalInclude__sem_13575(c, n);
43585 	}
43586 	break;
43587 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 118):
43588 	{
43589 		{
43590 			NIM_BOOL T311_;
43591 			NimStringDesc* T314_;
43592 			T311_ = (NIM_BOOL)0;
43593 			T311_ = isTopLevel__semdata_1091(c);
43594 			if (!!(T311_)) goto LA312_;
43595 			T314_ = NIM_NIL;
43596 			T314_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_115));
43597 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T314_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_946, NIM_FALSE);
43598 		}
43599 		LA312_: ;
43600 		result = semExport__sem_19888(c, n);
43601 	}
43602 	break;
43603 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 119):
43604 	{
43605 		{
43606 			NIM_BOOL T318_;
43607 			NimStringDesc* T321_;
43608 			T318_ = (NIM_BOOL)0;
43609 			T318_ = isTopLevel__semdata_1091(c);
43610 			if (!!(T318_)) goto LA319_;
43611 			T321_ = NIM_NIL;
43612 			T321_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_114), ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_115));
43613 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T321_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_953, NIM_FALSE);
43614 		}
43615 		LA319_: ;
43616 		result = semExportExcept__sem_19849(c, n);
43617 	}
43618 	break;
43619 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
43620 	{
43621 		result = semPragmaBlock__sem_13647(c, n);
43622 	}
43623 	break;
43624 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 113):
43625 	{
43626 		result = semStaticStmt__sem_13685(c, n);
43627 	}
43628 	break;
43629 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 105):
43630 	{
43631 		{
43632 			if (!((*c).currentScope == (*c).topLevelScope)) goto LA327_;
43633 			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);
43634 		}
43635 		LA327_: ;
43636 		asgnRef((void**) (&(*n)._kind_6.sons->data[((NI) 0)]), semExpr__sem_52(c, (*n)._kind_6.sons->data[((NI) 0)], 0));
43637 		{
43638 			NIM_BOOL T331_;
43639 			NIM_BOOL T332_;
43640 			NIM_BOOL T334_;
43641 			T331_ = (NIM_BOOL)0;
43642 			T332_ = (NIM_BOOL)0;
43643 			T332_ = isEmptyType__ast_4779((*(*n)._kind_6.sons->data[((NI) 0)]).typ);
43644 			T331_ = !(T332_);
43645 			if (!(T331_)) goto LA333_;
43646 			T334_ = (NIM_BOOL)0;
43647 			T334_ = implicitlyDiscardable__sem_9282((*n)._kind_6.sons->data[((NI) 0)]);
43648 			T331_ = !(T334_);
43649 			LA333_: ;
43650 			if (!T331_) goto LA335_;
43651 			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);
43652 		}
43653 		LA335_: ;
43654 	}
43655 	break;
43656 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 156):
43657 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 157):
43658 	{
43659 		{
43660 			NIM_BOOL T340_;
43661 			NI T341_;
43662 			NI T343_;
43663 			T340_ = (NIM_BOOL)0;
43664 			T341_ = (NI)0;
43665 			T341_ = len__ast_3198(n);
43666 			T340_ = !((T341_ == ((NI) 1)));
43667 			if (!(T340_)) goto LA342_;
43668 			T343_ = (NI)0;
43669 			T343_ = len__ast_3198(n);
43670 			T340_ = !((T343_ == ((NI) 2)));
43671 			LA342_: ;
43672 			if (!T340_) goto LA344_;
43673 			illFormedAst__semdata_1071(n, (*(*c).graph).config);
43674 		}
43675 		LA344_: ;
43676 		{
43677 			NI i_3;
43678 			NI colontmp__2;
43679 			NI i_4;
43680 			i_3 = (NI)0;
43681 			colontmp__2 = (NI)0;
43682 			colontmp__2 = len__ast_3198(n);
43683 			i_4 = ((NI) 0);
43684 			{
43685 				while (1) {
43686 					if (!(i_4 < colontmp__2)) goto LA348;
43687 					i_3 = i_4;
43688 					asgnRef((void**) (&(*n)._kind_6.sons->data[i_3]), semExpr__sem_52(c, (*n)._kind_6.sons->data[i_3], 0));
43689 					i_4 += ((NI) 1);
43690 				} LA348: ;
43691 			}
43692 		}
43693 	}
43694 	break;
43695 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 24):
43696 	{
43697 	}
43698 	break;
43699 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
43700 	{
43701 	}
43702 	break;
43703 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
43704 	{
43705 		{
43706 			if (!!(((*c).p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)))) goto LA354_;
43707 			{
43708 				NIM_BOOL T358_;
43709 				NI T359_;
43710 				NI T363_;
43711 				T358_ = (NIM_BOOL)0;
43712 				T359_ = (NI)0;
43713 				T359_ = len__ast_3198(n);
43714 				T358_ = (((NI) 0) < T359_);
43715 				if (!(T358_)) goto LA360_;
43716 				T358_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
43717 				LA360_: ;
43718 				if (!T358_) goto LA361_;
43719 				asgnRef((void**) (&(*(*c).p).localBindStmts), (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)((*(*c).p).localBindStmts), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_)));
43720 				T363_ = (*(*c).p).localBindStmts->Sup.len++;
43721 				asgnRef((void**) (&(*(*c).p).localBindStmts->data[T363_]), n);
43722 			}
43723 			LA361_: ;
43724 		}
43725 		goto LA352_;
43726 		LA354_: ;
43727 		{
43728 			NimStringDesc* T365_;
43729 			NimStringDesc* T366_;
43730 			T365_ = NIM_NIL;
43731 			T366_ = NIM_NIL;
43732 			T366_ = renderTree__renderer_46(n, 4);
43733 			T365_ = rawNewString((T366_ ? T366_->Sup.len : 0) + 38);
43734 appendString(T365_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_963));
43735 appendString(T365_, T366_);
43736 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T365_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_964, NIM_FALSE);
43737 		}
43738 		LA352_: ;
43739 	}
43740 	break;
43741 	default:
43742 	{
43743 		NimStringDesc* T368_;
43744 		NimStringDesc* T369_;
43745 		T368_ = NIM_NIL;
43746 		T369_ = NIM_NIL;
43747 		T369_ = renderTree__renderer_46(n, 4);
43748 		T368_ = rawNewString((T369_ ? T369_->Sup.len : 0) + 20);
43749 appendString(T368_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_965));
43750 appendString(T368_, T369_);
43751 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T368_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_966, NIM_FALSE);
43752 	}
43753 	break;
43754 	}
43755 	{
43756 		if (!!((result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA372_;
43757 		(*result).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7)) & 31);
43758 	}
43759 	LA372_: ;
43760 	}BeforeRet_: ;
43761 	return result;
43762 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprCheck__sem_13933)43763 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprCheck__sem_13933)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
43764 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
43765 	NIM_BOOL isEmpty;
43766 	NIM_BOOL isTypeError;
43767 	NIM_BOOL T5_;
43768 	result = NIM_NIL;
43769 	{
43770 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA3_;
43771 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
43772 	}
43773 	LA3_: ;
43774 	result = semExpr__sem_52(c, n, (flags | 2048));
43775 	isEmpty = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
43776 	T5_ = (NIM_BOOL)0;
43777 	T5_ = !(((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
43778 	if (!(T5_)) goto LA6_;
43779 	T5_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50));
43780 	LA6_: ;
43781 	isTypeError = T5_;
43782 	{
43783 		NIM_BOOL T9_;
43784 		NimStringDesc* T13_;
43785 		NimStringDesc* T14_;
43786 		T9_ = (NIM_BOOL)0;
43787 		T9_ = isEmpty;
43788 		if (T9_) goto LA10_;
43789 		T9_ = isTypeError;
43790 		LA10_: ;
43791 		if (!T9_) goto LA11_;
43792 		T13_ = NIM_NIL;
43793 		T13_ = renderTree__renderer_46(result, 4);
43794 		T14_ = NIM_NIL;
43795 		T14_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_864), T13_);
43796 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T14_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_967, NIM_FALSE);
43797 	}
43798 	LA11_: ;
43799 	{
43800 		if (!isEmpty) goto LA17_;
43801 		result = errorNode__semdata_1009(c, n);
43802 	}
43803 	LA17_: ;
43804 	return result;
43805 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semExprWithType__sem_56)43806 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semExprWithType__sem_56)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
43807 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
43808 	result = NIM_NIL;
43809 	result = semExprCheck__sem_13933(c, n, flags);
43810 	{
43811 		NIM_BOOL T3_;
43812 		T3_ = (NIM_BOOL)0;
43813 		T3_ = ((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
43814 		if (!(T3_)) goto LA4_;
43815 		T3_ = ((flags &((NU32)1<<((NU)(((tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ) 3))&31U)))!=0);
43816 		LA4_: ;
43817 		if (!T3_) goto LA5_;
43818 		asgnRef((void**) (&(*result).typ), (*c).voidType);
43819 	}
43820 	goto LA1_;
43821 	LA5_: ;
43822 	{
43823 		NIM_BOOL T8_;
43824 		NimStringDesc* T12_;
43825 		NimStringDesc* T13_;
43826 		T8_ = (NIM_BOOL)0;
43827 		T8_ = ((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL));
43828 		if (T8_) goto LA9_;
43829 		T8_ = ((*result).typ == (*c).enforceVoidContext);
43830 		LA9_: ;
43831 		if (!T8_) goto LA10_;
43832 		T12_ = NIM_NIL;
43833 		T12_ = renderTree__renderer_46(result, 4);
43834 		T13_ = NIM_NIL;
43835 		T13_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_864), T12_);
43836 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T13_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_968, NIM_FALSE);
43837 		asgnRef((void**) (&(*result).typ), errorType__semdata_1002(c));
43838 	}
43839 	goto LA1_;
43840 	LA10_: ;
43841 	{
43842 		if (!((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50))) goto LA15_;
43843 		asgnRef((void**) (&(*result).typ), errorType__semdata_1002(c));
43844 	}
43845 	goto LA1_;
43846 	LA15_: ;
43847 	{
43848 		{
43849 			if (!((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA20_;
43850 			result = newDeref__lowerings_11(result);
43851 		}
43852 		LA20_: ;
43853 	}
43854 	LA1_: ;
43855 	return result;
43856 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semConstExpr__sem_611)43857 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semConstExpr__sem_611)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
43858 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
43859 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* e;
43860 {	result = NIM_NIL;
43861 	e = semExprWithType__sem_56(c, n, 0);
43862 	{
43863 		if (!(e == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
43864 		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);
43865 		result = n;
43866 		goto BeforeRet_;
43867 	}
43868 	LA3_: ;
43869 	{
43870 		NIM_BOOL T7_;
43871 		tyObject_TType__facALICuu8zUj0hjvbTLFg* T9_;
43872 		T7_ = (NIM_BOOL)0;
43873 		T7_ = ((*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 56) || (*e).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 57));
43874 		if (!(T7_)) goto LA8_;
43875 		T9_ = NIM_NIL;
43876 		T9_ = skipTypes__ast_3735((*(*e)._kind_6.sons->data[((NI) 0)]).typ, TM__rF9caJawfOjYTjsgLVUSGFA_70);
43877 		T7_ = ((*T9_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14));
43878 		LA8_: ;
43879 		if (!T7_) goto LA10_;
43880 		result = e;
43881 		goto BeforeRet_;
43882 	}
43883 	LA10_: ;
43884 	result = getConstExpr__semfold_81((*c).module, e, (*c).Sup.idgen, (*c).graph);
43885 	{
43886 		if (!(result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA14_;
43887 		result = evalConstExpr__vm_13746((*c).module, (*c).Sup.idgen, (*c).graph, e);
43888 		{
43889 			NIM_BOOL T18_;
43890 			T18_ = (NIM_BOOL)0;
43891 			T18_ = (result == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
43892 			if (T18_) goto LA19_;
43893 			T18_ = ((*result).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
43894 			LA19_: ;
43895 			if (!T18_) goto LA20_;
43896 			{
43897 				NIM_BOOL T24_;
43898 				T24_ = (NIM_BOOL)0;
43899 				T24_ = eqeq___msgs_993((*e).info, (*n).info);
43900 				if (!!(T24_)) goto LA25_;
43901 				pushInfoContext__msgs_490((*(*c).graph).config, (*n).info, ((NimStringDesc*) NIM_NIL));
43902 				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);
43903 				popInfoContext__msgs_507((*(*c).graph).config);
43904 			}
43905 			goto LA22_;
43906 			LA25_: ;
43907 			{
43908 				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);
43909 			}
43910 			LA22_: ;
43911 			result = e;
43912 		}
43913 		goto LA16_;
43914 		LA20_: ;
43915 		{
43916 			result = fixupTypeAfterEval__sem_570(c, result, e);
43917 		}
43918 		LA16_: ;
43919 	}
43920 	LA14_: ;
43921 	}BeforeRet_: ;
43922 	return result;
43923 }
N_NIMCALL(NIM_BOOL,hasUnresolvedParams__sem_9864)43924 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasUnresolvedParams__sem_9864)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
43925 	NIM_BOOL result;
43926 	result = (NIM_BOOL)0;
43927 	result = (((*(*n).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 9))&63U)))!=0);
43928 	return result;
43929 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semOperand__sem_13900)43930 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semOperand__sem_13900)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TExprFlag__0WWd9a4ssQWuY7Q6ZKepq9cQ flags) {
43931 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
43932 	result = NIM_NIL;
43933 	{
43934 		if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA3_;
43935 		illFormedAst__semdata_1071(n, (*(*c).graph).config);
43936 	}
43937 	LA3_: ;
43938 	result = semExpr__sem_52(c, n, (flags | 4096));
43939 	{
43940 		if (!!(((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA7_;
43941 		{
43942 			NIM_BOOL T11_;
43943 			NimStringDesc* T15_;
43944 			NimStringDesc* T16_;
43945 			T11_ = (NIM_BOOL)0;
43946 			T11_ = ((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
43947 			if (!(T11_)) goto LA12_;
43948 			T11_ = hasUnresolvedParams__sem_9864(result, 4096);
43949 			LA12_: ;
43950 			if (!T11_) goto LA13_;
43951 			T15_ = NIM_NIL;
43952 			T15_ = renderTree__renderer_46(n, 0);
43953 			T16_ = NIM_NIL;
43954 			T16_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_762), T15_);
43955 			liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T16_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_972, NIM_FALSE);
43956 		}
43957 		LA13_: ;
43958 		{
43959 			if (!((*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23) || (*(*result).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47))) goto LA19_;
43960 			result = newDeref__lowerings_11(result);
43961 		}
43962 		LA19_: ;
43963 	}
43964 	goto LA5_;
43965 	LA7_: ;
43966 	{
43967 		if (!!(((384 & flags) == 0))) goto LA22_;
43968 		asgnRef((void**) (&(*result).typ), newTypeS__semdata_733(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63), c));
43969 	}
43970 	goto LA5_;
43971 	LA22_: ;
43972 	{
43973 		NimStringDesc* T25_;
43974 		NimStringDesc* T26_;
43975 		T25_ = NIM_NIL;
43976 		T25_ = renderTree__renderer_46(result, 4);
43977 		T26_ = NIM_NIL;
43978 		T26_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_864), T25_);
43979 		liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T26_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_973, NIM_FALSE);
43980 		asgnRef((void**) (&(*result).typ), errorType__semdata_1002(c));
43981 	}
43982 	LA5_: ;
43983 	return result;
43984 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semInferredLambda__sem_12601)43985 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semInferredLambda__sem_12601)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q pt, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
43986 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
43987 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n_2;
43988 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* original;
43989 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
43990 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params;
43991 	tyObject_TScope__1cQRXW6aAknk7ywAwjH3nw* T9_;
43992 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
43993 	result = NIM_NIL;
43994 	n_2 = n;
43995 	original = (*(*n_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
43996 	s = original;
43997 	n_2 = replaceTypesInBody__semtypinst_988(c, pt, n_2, original, NIM_FALSE);
43998 	result = n_2;
43999 	asgnRef((void**) (&(*s).ast), result);
44000 	asgnRef((void**) (&(*(*n_2)._kind_6.sons->data[((NI) 0)])._kind_4.sym), s);
44001 	asgnRef((void**) (&(*n_2)._kind_6.sons->data[((NI) 2)]), (*(*c).graph).emptyNode);
44002 	params = copyTree__ast_4431((*(*n_2).typ).n);
44003 	asgnRef((void**) (&(*n_2)._kind_6.sons->data[((NI) 3)]), params);
44004 	asgnRef((void**) (&(*s).typ), (*n_2).typ);
44005 	{
44006 		NI i;
44007 		NI colontmp_;
44008 		NI i_2;
44009 		i = (NI)0;
44010 		colontmp_ = (NI)0;
44011 		colontmp_ = len__ast_3198(params);
44012 		i_2 = ((NI) 1);
44013 		{
44014 			while (1) {
44015 				if (!(i_2 < colontmp_)) goto LA3;
44016 				i = i_2;
44017 				{
44018 					NimStringDesc* T8_;
44019 					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_;
44020 					T8_ = NIM_NIL;
44021 					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);
44022 appendString(T8_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_974));
44023 appendString(T8_, (*(*(*(*params)._kind_6.sons->data[i])._kind_4.sym).name).s);
44024 					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);
44025 				}
44026 				LA6_: ;
44027 				i_2 += ((NI) 1);
44028 			} LA3: ;
44029 		}
44030 	}
44031 	T9_ = NIM_NIL;
44032 	T9_ = openScope__lookups_69(c);
44033 	pushOwner__semdata_322(c, s);
44034 	addParams__sem_96(c, params, ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
44035 	pushProcCon__sem_898(c, s);
44036 	addResult__sem_12395(c, n_2, (*(*n_2).typ).sons->data[((NI) 0)], ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 12));
44037 	T10_ = NIM_NIL;
44038 	T10_ = semProcBody__sem_67(c, (*n_2)._kind_6.sons->data[((NI) 6)]);
44039 	asgnRef((void**) (&(*(*s).ast)._kind_6.sons->data[((NI) 6)]), hloBody__sem_783(c, T10_));
44040 	trackProc__sempass50_4692(c, s, (*(*s).ast)._kind_6.sons->data[((NI) 6)]);
44041 	popProcCon__semdata_389(c);
44042 	popOwner__semdata_329(c);
44043 	closeScope__lookups_101(c);
44044 	{
44045 		NIM_BOOL T13_;
44046 		T13_ = (NIM_BOOL)0;
44047 		T13_ = (((*(*(*c).graph).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw) 42))&63U)))!=0);
44048 		if (!(T13_)) goto LA14_;
44049 		T13_ = !(((*result).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
44050 		LA14_: ;
44051 		if (!T13_) goto LA15_;
44052 		asgnRef((void**) (&(*result).typ), makeVarType__semdata_766(c, (*result).typ, ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45)));
44053 	}
44054 	LA15_: ;
44055 	return result;
44056 }
N_NIMCALL(NI *,new__sem_20568)44057 N_LIB_PRIVATE N_NIMCALL(NI*, new__sem_20568)(void) {
44058 	NI* result;
44059 	NI* r;
44060 {	result = NIM_NIL;
44061 	r = NIM_NIL;
44062 	r = (NI*) newObj((&NTIrefint__9ai78kkwqt3gikTN9cpHKUVg_), sizeof(NI));
44063 	result = r;
44064 	goto BeforeRet_;
44065 	}BeforeRet_: ;
44066 	return result;
44067 }
N_NIMCALL(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w *,myOpen__sem_20558)44068 N_LIB_PRIVATE N_NIMCALL(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w*, myOpen__sem_20558)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
44069 	tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* result;
44070 	tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
44071 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T1_;
44072 	tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
44073 	tyProc__3cacbJ4la9bDJNibHybQSnA T7_;
44074 	tyProc__fMj9boIZZOt9cLWRnD3rtKhA T8_;
44075 	tyProc__7JwrY3AhkVNlleAJXClX9cw T9_;
44076 	result = NIM_NIL;
44077 	c = newContext__semdata_503(graph, module);
44078 	asgnRef((void**) (&(*c).Sup.idgen), idgen);
44079 	T1_ = nextTypeId__ast_3151(idgen);
44080 	asgnRef((void**) (&(*c).enforceVoidContext), newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7), T1_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
44081 	T2_ = nextTypeId__ast_3151(idgen);
44082 	asgnRef((void**) (&(*c).voidType), newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63), T2_, ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
44083 	{
44084 		if (!!(((*c).p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)))) goto LA5_;
44085 		internalErrorImpl__msgs_1431((*graph).config, (*module).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_2), TM__rF9caJawfOjYTjsgLVUSGFA_3);
44086 	}
44087 	LA5_: ;
44088 	(*c).semConstExpr = semConstExpr__sem_611;
44089 	(*c).semExpr = semExpr__sem_52;
44090 	(*c).semTryExpr = tryExpr__sem_104;
44091 	(*c).semTryConstExpr = tryConstExpr__sem_582;
44092 	(*c).computeRequiresInit = computeRequiresInit__sem_135;
44093 	(*c).semOperand = semOperand__sem_13900;
44094 	(*c).semConstBoolExpr = semConstBoolExpr__sem_2877;
44095 	(*c).semOverloadedCall = semOverloadedCall__sem_2498;
44096 	nimZeroMem((void*)(&T7_), sizeof(tyProc__3cacbJ4la9bDJNibHybQSnA));
44097 	T7_.ClP_0 = ((TM__rF9caJawfOjYTjsgLVUSGFA_976) (semInferredLambda__sem_12601)); T7_.ClE_0 = NIM_NIL;
44098 	asgnRef((void**) (&(*c).semInferredLambda.ClE_0), T7_.ClE_0);
44099 	(*c).semInferredLambda.ClP_0 = T7_.ClP_0;
44100 	nimZeroMem((void*)(&T8_), sizeof(tyProc__fMj9boIZZOt9cLWRnD3rtKhA));
44101 	T8_.ClP_0 = ((TM__rF9caJawfOjYTjsgLVUSGFA_977) (generateInstance__sem_1295)); T8_.ClE_0 = NIM_NIL;
44102 	asgnRef((void**) (&(*c).semGenerateInstance.ClE_0), T8_.ClE_0);
44103 	(*c).semGenerateInstance.ClP_0 = T8_.ClP_0;
44104 	(*c).semTypeNode = semTypeNode__sem_80;
44105 	(*c).instTypeBoundOp = instTypeBoundOp__sigmatch_4327;
44106 	nimZeroMem((void*)(&T9_), sizeof(tyProc__7JwrY3AhkVNlleAJXClX9cw));
44107 	T9_.ClP_0 = ((TM__rF9caJawfOjYTjsgLVUSGFA_978) (hasUnresolvedArgs__sem_142)); T9_.ClE_0 = NIM_NIL;
44108 	asgnRef((void**) (&(*c).hasUnresolvedArgs.ClE_0), T9_.ClE_0);
44109 	(*c).hasUnresolvedArgs.ClP_0 = T9_.ClP_0;
44110 	asgnRef((void**) (&(*c).templInstCounter), new__sem_20568());
44111 	pushProcCon__sem_898(c, module);
44112 	pushOwner__semdata_322(c, (*c).module);
44113 	asgnRef((void**) (&(*c).moduleScope), openScope__lookups_69(c));
44114 	strTableAdd__astalgo_3332((&(*(*c).moduleScope).symbols), module);
44115 	{
44116 		if (!(((*module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0)) goto LA12_;
44117 		asgnRef((void**) (&(*graph).systemModule), module);
44118 	}
44119 	LA12_: ;
44120 	asgnRef((void**) (&(*c).topLevelScope), openScope__lookups_69(c));
44121 	result = &c->Sup;
44122 	return result;
44123 }
N_NIMCALL(NIM_BOOL,isImportSystemStmt__sem_20680)44124 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isImportSystemStmt__sem_20680)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44125 	NIM_BOOL result;
44126 {	result = (NIM_BOOL)0;
44127 	{
44128 		if (!((*g).systemModule == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA3_;
44129 		result = NIM_FALSE;
44130 		goto BeforeRet_;
44131 	}
44132 	LA3_: ;
44133 	switch ((*n).kind) {
44134 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 116):
44135 	{
44136 		{
44137 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
44138 			x = NIM_NIL;
44139 			{
44140 				NI i;
44141 				NI colontmp_;
44142 				NI i_2;
44143 				i = (NI)0;
44144 				colontmp_ = (NI)0;
44145 				colontmp_ = safeLen__ast_3191(n);
44146 				i_2 = ((NI) 0);
44147 				{
44148 					while (1) {
44149 						if (!(i_2 < colontmp_)) goto LA9;
44150 						i = i_2;
44151 						x = (*n)._kind_6.sons->data[i];
44152 						{
44153 							NI32 f;
44154 							if (!((*x).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA12_;
44155 							f = checkModuleName__modulepaths_21((*g).config, x, NIM_FALSE);
44156 							{
44157 								if (!(f == (*(*g).systemModule).info.fileIndex)) goto LA16_;
44158 								result = NIM_TRUE;
44159 								goto BeforeRet_;
44160 							}
44161 							LA16_: ;
44162 						}
44163 						LA12_: ;
44164 						i_2 += ((NI) 1);
44165 					} LA9: ;
44166 				}
44167 			}
44168 		}
44169 	}
44170 	break;
44171 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 117):
44172 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 120):
44173 	{
44174 		{
44175 			NI32 f_2;
44176 			if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA21_;
44177 			f_2 = checkModuleName__modulepaths_21((*g).config, (*n)._kind_6.sons->data[((NI) 0)], NIM_FALSE);
44178 			{
44179 				if (!(f_2 == (*(*g).systemModule).info.fileIndex)) goto LA25_;
44180 				result = NIM_TRUE;
44181 				goto BeforeRet_;
44182 			}
44183 			LA25_: ;
44184 		}
44185 		LA21_: ;
44186 	}
44187 	break;
44188 	default:
44189 	{
44190 	}
44191 	break;
44192 	}
44193 	}BeforeRet_: ;
44194 	return result;
44195 }
N_NIMCALL(NIM_BOOL,isEmptyTree__sem_20701)44196 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmptyTree__sem_20701)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44197 	NIM_BOOL result;
44198 {	result = (NIM_BOOL)0;
44199 	switch ((*n).kind) {
44200 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
44201 	{
44202 		{
44203 			tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
44204 			it = NIM_NIL;
44205 			{
44206 				NI i;
44207 				NI colontmp_;
44208 				NI i_2;
44209 				i = (NI)0;
44210 				colontmp_ = (NI)0;
44211 				colontmp_ = safeLen__ast_3191(n);
44212 				i_2 = ((NI) 0);
44213 				{
44214 					while (1) {
44215 						if (!(i_2 < colontmp_)) goto LA5;
44216 						i = i_2;
44217 						it = (*n)._kind_6.sons->data[i];
44218 						{
44219 							NIM_BOOL T8_;
44220 							T8_ = (NIM_BOOL)0;
44221 							T8_ = isEmptyTree__sem_20701(it);
44222 							if (!!(T8_)) goto LA9_;
44223 							result = NIM_FALSE;
44224 							goto BeforeRet_;
44225 						}
44226 						LA9_: ;
44227 						i_2 += ((NI) 1);
44228 					} LA5: ;
44229 				}
44230 			}
44231 		}
44232 		result = NIM_TRUE;
44233 	}
44234 	break;
44235 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1):
44236 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125):
44237 	{
44238 		result = NIM_TRUE;
44239 	}
44240 	break;
44241 	default:
44242 	{
44243 		result = NIM_FALSE;
44244 	}
44245 	break;
44246 	}
44247 	}BeforeRet_: ;
44248 	return result;
44249 }
N_NIMCALL(void,gatherStmts__sem_12233)44250 N_LIB_PRIVATE N_NIMCALL(void, gatherStmts__sem_12233)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result) {
44251 	switch ((*n).kind) {
44252 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121):
44253 	{
44254 		{
44255 			NI i;
44256 			NI colontmp_;
44257 			NI i_2;
44258 			i = (NI)0;
44259 			colontmp_ = (NI)0;
44260 			colontmp_ = len__ast_3198(n);
44261 			i_2 = ((NI) 0);
44262 			{
44263 				while (1) {
44264 					NI32 f;
44265 					if (!(i_2 < colontmp_)) goto LA4;
44266 					i = i_2;
44267 					f = checkModuleName__modulepaths_21((*(*c).graph).config, (*n)._kind_6.sons->data[i], NIM_TRUE);
44268 					{
44269 						if (!!((f == ((NI32) -1)))) goto LA7_;
44270 						{
44271 							NIM_BOOL T11_;
44272 							NimStringDesc* T14_;
44273 							NimStringDesc* T15_;
44274 							T11_ = (NIM_BOOL)0;
44275 							T11_ = containsOrIncl__astalgo_402((&(*c).includedFiles), ((NI) (f)));
44276 							if (!T11_) goto LA12_;
44277 							T14_ = NIM_NIL;
44278 							T14_ = toMsgFilename__msgs_602((*(*c).graph).config, f);
44279 							T15_ = NIM_NIL;
44280 							T15_ = nsuFormatSingleElem(((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_10), T14_);
44281 							liMessage__msgs_1118((*(*c).graph).config, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T15_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__rF9caJawfOjYTjsgLVUSGFA_979, NIM_FALSE);
44282 						}
44283 						goto LA9_;
44284 						LA12_: ;
44285 						{
44286 							tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* code;
44287 							code = (*(*c).graph).includeFileCallback((*c).graph, (*c).module, f);
44288 							gatherStmts__sem_12233(c, code, result);
44289 							excl__reorder_264((&(*c).includedFiles), ((NI) (f)));
44290 						}
44291 						LA9_: ;
44292 					}
44293 					LA7_: ;
44294 					i_2 += ((NI) 1);
44295 				} LA4: ;
44296 			}
44297 		}
44298 	}
44299 	break;
44300 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
44301 	{
44302 		{
44303 			NI i_3;
44304 			NI colontmp__2;
44305 			NI i_4;
44306 			i_3 = (NI)0;
44307 			colontmp__2 = (NI)0;
44308 			colontmp__2 = len__ast_3198(n);
44309 			i_4 = ((NI) 0);
44310 			{
44311 				while (1) {
44312 					if (!(i_4 < colontmp__2)) goto LA20;
44313 					i_3 = i_4;
44314 					gatherStmts__sem_12233(c, (*n)._kind_6.sons->data[i_3], result);
44315 					i_4 += ((NI) 1);
44316 				} LA20: ;
44317 			}
44318 		}
44319 	}
44320 	break;
44321 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
44322 	{
44323 		(*n).flags |= ((NU32)1)<<((((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) 7)) & 31);
44324 		typeSectionLeftSidePass__sem_11722(c, n);
44325 		add__ast_4797(result, n);
44326 	}
44327 	break;
44328 	default:
44329 	{
44330 		add__ast_4797(result, n);
44331 	}
44332 	break;
44333 	}
44334 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semAllTypeSections__sem_12229)44335 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semAllTypeSections__sem_12229)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44336 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
44337 	result = NIM_NIL;
44338 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), (*n).info);
44339 	gatherStmts__sem_12233(c, n, result);
44340 	{
44341 		NI iX60gensym3174_;
44342 		NI colontmp_;
44343 		NI i;
44344 		iX60gensym3174_ = (NI)0;
44345 		colontmp_ = (NI)0;
44346 		colontmp_ = len__ast_3198(result);
44347 		i = ((NI) 0);
44348 		{
44349 			while (1) {
44350 				if (!(i < colontmp_)) goto LA3;
44351 				iX60gensym3174_ = i;
44352 				{
44353 					if (!((*(*result)._kind_6.sons->data[iX60gensym3174_]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98))) goto LA6_;
44354 					typeSectionRightSidePass__sem_11843(c, (*result)._kind_6.sons->data[iX60gensym3174_]);
44355 				}
44356 				LA6_: ;
44357 				i += ((NI) 1);
44358 			} LA3: ;
44359 		}
44360 	}
44361 	{
44362 		NI iX60gensym3177_;
44363 		NI colontmp__2;
44364 		NI i_2;
44365 		iX60gensym3177_ = (NI)0;
44366 		colontmp__2 = (NI)0;
44367 		colontmp__2 = len__ast_3198(result);
44368 		i_2 = ((NI) 0);
44369 		{
44370 			while (1) {
44371 				if (!(i_2 < colontmp__2)) goto LA10;
44372 				iX60gensym3177_ = i_2;
44373 				{
44374 					if (!((*(*result)._kind_6.sons->data[iX60gensym3177_]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98))) goto LA13_;
44375 					typeSectionFinalPass__sem_12118(c, (*result)._kind_6.sons->data[iX60gensym3177_]);
44376 				}
44377 				LA13_: ;
44378 				i_2 += ((NI) 1);
44379 			} LA10: ;
44380 		}
44381 	}
44382 	return result;
44383 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,hloStmt__sem_794)44384 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, hloStmt__sem_794)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44385 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
44386 {	result = NIM_NIL;
44387 	{
44388 		NIM_BOOL T3_;
44389 		NI T4_;
44390 		T3_ = (NIM_BOOL)0;
44391 		T4_ = ((*c).patterns ? (*c).patterns->Sup.len : 0);
44392 		T3_ = (T4_ == ((NI) 0));
44393 		if (T3_) goto LA5_;
44394 		T3_ = !((((*(*(*c).graph).config).options &((NU32)1<<((NU)(((tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg) 23))&31U)))!=0));
44395 		LA5_: ;
44396 		if (!T3_) goto LA6_;
44397 		result = n;
44398 		goto BeforeRet_;
44399 	}
44400 	LA6_: ;
44401 	(*c).hloLoopDetector = ((NI) 0);
44402 	result = hlo__sem_668(c, n);
44403 	}BeforeRet_: ;
44404 	return result;
44405 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,buildEchoStmt__sem_16718)44406 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, buildEchoStmt__sem_16718)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44407 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
44408 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* e;
44409 	tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
44410 	NimStringDesc* T9_;
44411 	NimStringDesc* T10_;
44412 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
44413 	result = NIM_NIL;
44414 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27), (*n).info);
44415 	T1_ = NIM_NIL;
44416 	T1_ = getIdent__idents_143((*c).cache, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_980));
44417 	e = systemModuleSym__modulegraphs_2829((*c).graph, T1_);
44418 	{
44419 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
44420 		if (!!((e == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA4_;
44421 		T6_ = NIM_NIL;
44422 		T6_ = newSymNode__ast_3716(e);
44423 		add__ast_4797(result, T6_);
44424 	}
44425 	goto LA2_;
44426 	LA4_: ;
44427 	{
44428 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n2X60gensym4377_;
44429 		tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T8_;
44430 		n2X60gensym4377_ = n;
44431 		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);
44432 		T8_ = NIM_NIL;
44433 		T8_ = errorNode__semdata_1009(c, n2X60gensym4377_);
44434 		add__ast_4797(result, T8_);
44435 	}
44436 	LA2_: ;
44437 	add__ast_4797(result, n);
44438 	T9_ = NIM_NIL;
44439 	T10_ = NIM_NIL;
44440 	T10_ = typeToString__types_50((*n).typ, ((tyEnum_TPreferedDesc__tnd4qt9c4xddV8oKV5zyusw) 0));
44441 	T9_ = rawNewString((T10_ ? T10_->Sup.len : 0) + 2);
44442 appendString(T9_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_281));
44443 appendString(T9_, T10_);
44444 	T11_ = NIM_NIL;
44445 	T11_ = newStrNode__ast_3813(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), T9_);
44446 	add__ast_4797(result, T11_);
44447 	result = semExpr__sem_52(c, result, 0);
44448 	return result;
44449 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,semStmtAndGenerateGenerics__sem_20705)44450 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, semStmtAndGenerateGenerics__sem_20705)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44451 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
44452 	result = NIM_NIL;
44453 	{
44454 		NIM_BOOL T3_;
44455 		NIM_BOOL T5_;
44456 		T3_ = (NIM_BOOL)0;
44457 		T3_ = ((*c).topStmts == ((NI) 0));
44458 		if (!(T3_)) goto LA4_;
44459 		T5_ = (NIM_BOOL)0;
44460 		T5_ = isImportSystemStmt__sem_20680((*c).graph, n);
44461 		T3_ = !(T5_);
44462 		LA4_: ;
44463 		if (!T3_) goto LA6_;
44464 		{
44465 			NIM_BOOL T10_;
44466 			NIM_BOOL T12_;
44467 			T10_ = (NIM_BOOL)0;
44468 			T10_ = !((((*(*c).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 15))&63U)))!=0));
44469 			if (!(T10_)) goto LA11_;
44470 			T12_ = (NIM_BOOL)0;
44471 			T12_ = isEmptyTree__sem_20701(n);
44472 			T10_ = !(T12_);
44473 			LA11_: ;
44474 			if (!T10_) goto LA13_;
44475 			strTableAdd__astalgo_3332((&(*(*c).moduleScope).symbols), (*(*c).graph).systemModule);
44476 			importAllSymbols__importer_2078(c, (*(*c).graph).systemModule);
44477 			(*c).topStmts += ((NI) 1);
44478 		}
44479 		LA13_: ;
44480 	}
44481 	goto LA1_;
44482 	LA6_: ;
44483 	{
44484 		(*c).topStmts += ((NI) 1);
44485 	}
44486 	LA1_: ;
44487 	{
44488 		if (!(((*(*c).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 10))&63U)))!=0)) goto LA18_;
44489 		result = semAllTypeSections__sem_12229(c, n);
44490 	}
44491 	goto LA16_;
44492 	LA18_: ;
44493 	{
44494 		result = n;
44495 	}
44496 	LA16_: ;
44497 	result = semStmt__sem_84(c, result, 0);
44498 	result = hloStmt__sem_794(c, result);
44499 	{
44500 		NIM_BOOL T23_;
44501 		NIM_BOOL T25_;
44502 		T23_ = (NIM_BOOL)0;
44503 		T23_ = ((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 24));
44504 		if (!(T23_)) goto LA24_;
44505 		T25_ = (NIM_BOOL)0;
44506 		T25_ = isEmptyType__ast_4779((*result).typ);
44507 		T23_ = !(T25_);
44508 		LA24_: ;
44509 		if (!T23_) goto LA26_;
44510 		result = buildEchoStmt__sem_16718(c, result);
44511 	}
44512 	LA26_: ;
44513 	{
44514 		if (!((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11))) goto LA30_;
44515 		appendToModule__ast_3540((*c).module, result);
44516 	}
44517 	LA30_: ;
44518 	trackStmt__sempass50_4915(c, (*c).module, result, NIM_TRUE);
44519 	return result;
44520 }
N_NIMCALL(void,recoverContext__sem_20740)44521 N_LIB_PRIVATE N_NIMCALL(void, recoverContext__sem_20740)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
44522 	asgnRef((void**) (&(*c).currentScope), (*c).topLevelScope);
44523 	{
44524 		while (1) {
44525 			tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T3_;
44526 			T3_ = NIM_NIL;
44527 			T3_ = getCurrOwner__semdata_315(c);
44528 			if (!!(((*T3_).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)))) goto LA2;
44529 			popOwner__semdata_329(c);
44530 		} LA2: ;
44531 	}
44532 	{
44533 		while (1) {
44534 			NIM_BOOL T6_;
44535 			T6_ = (NIM_BOOL)0;
44536 			T6_ = !(((*c).p == ((tyObject_TProcCon__s5jyYR8yL1QmFqiHICzU9aQ*) NIM_NIL)));
44537 			if (!(T6_)) goto LA7_;
44538 			T6_ = !(((*(*(*c).p).owner).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
44539 			LA7_: ;
44540 			if (!T6_) goto LA5;
44541 			asgnRef((void**) (&(*c).p), (*(*c).p).next);
44542 		} LA5: ;
44543 	}
44544 }
N_INLINE(Exception *,getCurrentException)44545 static N_INLINE(Exception*, getCurrentException)(void) {
44546 	Exception* result;
44547 	result = NIM_NIL;
44548 	result = currException__system_2566;
44549 	return result;
44550 }
N_INLINE(NIM_BOOL,isObjWithCache)44551 static N_INLINE(NIM_BOOL, isObjWithCache)(TNimType* obj, TNimType* subclass, TNimType** cache) {
44552 	NIM_BOOL result;
44553 {	result = (NIM_BOOL)0;
44554 	{
44555 		if (!(obj == subclass)) goto LA3_;
44556 		result = NIM_TRUE;
44557 		goto BeforeRet_;
44558 	}
44559 	LA3_: ;
44560 	{
44561 		if (!((*obj).base == subclass)) goto LA7_;
44562 		result = NIM_TRUE;
44563 		goto BeforeRet_;
44564 	}
44565 	LA7_: ;
44566 	{
44567 		if (!(cache[(((NI) 0))- 0] == obj)) goto LA11_;
44568 		result = NIM_FALSE;
44569 		goto BeforeRet_;
44570 	}
44571 	LA11_: ;
44572 	{
44573 		if (!(cache[(((NI) 1))- 0] == obj)) goto LA15_;
44574 		result = NIM_TRUE;
44575 		goto BeforeRet_;
44576 	}
44577 	LA15_: ;
44578 	result = isObjSlowPath__system_3313(obj, subclass, cache);
44579 	goto BeforeRet_;
44580 	}BeforeRet_: ;
44581 	return result;
44582 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,myProcess__sem_20754)44583 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, myProcess__sem_20754)(tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* context, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44584 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* volatile result;
44585 	tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
44586 	result = NIM_NIL;
44587 	c = ((tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug*) (context));
44588 	{
44589 		if (!((*(*(*c).graph).config).errorMax <= ((NI) 1))) goto LA3_;
44590 		result = semStmtAndGenerateGenerics__sem_20705(c, n);
44591 	}
44592 	goto LA1_;
44593 	LA3_: ;
44594 	{
44595 		NI oldContextLen;
44596 		NI oldInGenericInst;
44597 		TSafePoint TM__rF9caJawfOjYTjsgLVUSGFA_983;
44598 		oldContextLen = getInfoContextLen__msgs_476((*(*c).graph).config);
44599 		oldInGenericInst = (*c).inGenericInst;
44600 		pushSafePoint(&TM__rF9caJawfOjYTjsgLVUSGFA_983);
44601 		TM__rF9caJawfOjYTjsgLVUSGFA_983.status = _setjmp(TM__rF9caJawfOjYTjsgLVUSGFA_983.context);
44602 		if (TM__rF9caJawfOjYTjsgLVUSGFA_983.status == 0) {
44603 		result = semStmtAndGenerateGenerics__sem_20705(c, n);
44604 		popSafePoint();
44605 		}
44606 		else {
44607 			popSafePoint();
44608 			if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIerecoverableerror__IxbcvonC7TQkv166Uvdu1g_))||isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIesuggestdone__cDtWY9cE7zf8BAC5QcEZZkQ_))) {
44609 				TM__rF9caJawfOjYTjsgLVUSGFA_983.status = 0;
44610 				recoverContext__sem_20740(c);
44611 				(*c).inGenericInst = oldInGenericInst;
44612 				setInfoContextLen__msgs_483((*(*c).graph).config, oldContextLen);
44613 				{
44614 					Exception* T10_;
44615 					T10_ = NIM_NIL;
44616 					T10_ = getCurrentException();
44617 					if (!((T10_) && (isObjWithCache((*T10_).Sup.m_type, (&NTIesuggestdone__cDtWY9cE7zf8BAC5QcEZZkQ_), Nim_OfCheck_CACHE985)))) goto LA11_;
44618 					(*c).suggestionsMade = NIM_TRUE;
44619 					result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
44620 				}
44621 				goto LA8_;
44622 				LA11_: ;
44623 				{
44624 					result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
44625 				}
44626 				LA8_: ;
44627 				popCurrentException();
44628 			}
44629 		}
44630 		if (TM__rF9caJawfOjYTjsgLVUSGFA_983.status != 0) reraiseException();
44631 	}
44632 	LA1_: ;
44633 	storeRodNode__semdata_1178(c, result);
44634 	return result;
44635 }
N_NIMCALL(void,reportUnusedModules__sem_20768)44636 N_LIB_PRIVATE N_NIMCALL(void, reportUnusedModules__sem_20768)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c) {
44637 	{
44638 		NI i;
44639 		NI colontmp_;
44640 		NI T2_;
44641 		NI res;
44642 		i = (NI)0;
44643 		colontmp_ = (NI)0;
44644 		T2_ = (((*c).unusedImports ? (*c).unusedImports->Sup.len : 0)-1);
44645 		colontmp_ = T2_;
44646 		res = ((NI) 0);
44647 		{
44648 			while (1) {
44649 				if (!(res <= colontmp_)) goto LA4;
44650 				i = res;
44651 				{
44652 					if (!!((((*(*c).unusedImports->data[i].Field0).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 0))&63U)))!=0))) goto LA7_;
44653 					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);
44654 				}
44655 				LA7_: ;
44656 				res += ((NI) 1);
44657 			} LA4: ;
44658 		}
44659 	}
44660 }
N_NIMCALL(void,addCodeForGenerics__sem_20522)44661 N_LIB_PRIVATE N_NIMCALL(void, addCodeForGenerics__sem_20522)(tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44662 	NI T19_;
44663 	{
44664 		NI i;
44665 		NI colontmp_;
44666 		NI T2_;
44667 		NI i_2;
44668 		i = (NI)0;
44669 		colontmp_ = (NI)0;
44670 		T2_ = ((*c).generics ? (*c).generics->Sup.len : 0);
44671 		colontmp_ = T2_;
44672 		i_2 = (*c).lastGenericIdx;
44673 		{
44674 			while (1) {
44675 				tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc;
44676 				if (!(i_2 < colontmp_)) goto LA4;
44677 				i = i_2;
44678 				prc = (*(*c).generics->data[i].inst).sym;
44679 				{
44680 					NIM_BOOL T7_;
44681 					T7_ = (NIM_BOOL)0;
44682 					T7_ = ((94208 &((NU32)1<<((NU)((*prc).kind)&31U)))!=0);
44683 					if (!(T7_)) goto LA8_;
44684 					T7_ = ((*prc).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0));
44685 					LA8_: ;
44686 					if (!T7_) goto LA9_;
44687 					{
44688 						NIM_BOOL T13_;
44689 						NimStringDesc* T17_;
44690 						T13_ = (NIM_BOOL)0;
44691 						T13_ = ((*prc).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
44692 						if (T13_) goto LA14_;
44693 						T13_ = ((*(*prc).ast)._kind_6.sons->data[((NI) 6)] == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL));
44694 						LA14_: ;
44695 						if (!T13_) goto LA15_;
44696 						T17_ = NIM_NIL;
44697 						T17_ = rawNewString(((*(*prc).name).s ? (*(*prc).name).s->Sup.len : 0) + 12);
44698 appendString(T17_, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_988));
44699 appendString(T17_, (*(*prc).name).s);
44700 						internalErrorImpl__msgs_1431((*(*c).graph).config, (*prc).info, T17_, TM__rF9caJawfOjYTjsgLVUSGFA_989);
44701 					}
44702 					goto LA11_;
44703 					LA15_: ;
44704 					{
44705 						add__ast_4797(n, (*prc).ast);
44706 					}
44707 					LA11_: ;
44708 				}
44709 				LA9_: ;
44710 				i_2 += ((NI) 1);
44711 			} LA4: ;
44712 		}
44713 	}
44714 	T19_ = ((*c).generics ? (*c).generics->Sup.len : 0);
44715 	(*c).lastGenericIdx = T19_;
44716 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,myClose__sem_20782)44717 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, myClose__sem_20782)(tyObject_ModuleGraphcolonObjectType___RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext__Hb6rFM0ecvtlLf2kv9aU75w* context, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
44718 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
44719 	tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug* c;
44720 	result = NIM_NIL;
44721 	c = ((tyObject_TContext__C9bB2okDBl3OKGUBiY5k5Ug*) (context));
44722 	{
44723 		NIM_BOOL T3_;
44724 		T3_ = (NIM_BOOL)0;
44725 		T3_ = ((*(*(*c).graph).config).cmd == ((tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA) 11));
44726 		if (!(T3_)) goto LA4_;
44727 		T3_ = !((*c).suggestionsMade);
44728 		LA4_: ;
44729 		if (!T3_) goto LA5_;
44730 		suggestSentinel__sigmatch_6567(c);
44731 	}
44732 	LA5_: ;
44733 	closeScope__lookups_101(c);
44734 	rawCloseScope__lookups_99(c);
44735 	reportUnusedModules__sem_20768(c);
44736 	result = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115));
44737 	{
44738 		if (!!((n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA9_;
44739 		internalErrorImpl__msgs_1431((*(*c).graph).config, (*n).info, ((NimStringDesc*) &TM__rF9caJawfOjYTjsgLVUSGFA_986), TM__rF9caJawfOjYTjsgLVUSGFA_987);
44740 	}
44741 	LA9_: ;
44742 	addCodeForGenerics__sem_20522(c, result);
44743 	{
44744 		if (!!(((*(*c).module).ast == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA13_;
44745 		add__ast_4797(result, (*(*c).module).ast);
44746 	}
44747 	LA13_: ;
44748 	popOwner__semdata_329(c);
44749 	popProcCon__semdata_389(c);
44750 	sealRodFile__semdata_3603(c);
44751 	return result;
44752 }
N_NIMCALL(void,compiler_semDatInit000)44753 N_LIB_PRIVATE N_NIMCALL(void, compiler_semDatInit000)(void) {
44754 static TNimNode* TM__rF9caJawfOjYTjsgLVUSGFA_362_3[3];
44755 static TNimNode* TM__rF9caJawfOjYTjsgLVUSGFA_374_2[2];
44756 static TNimNode* TM__rF9caJawfOjYTjsgLVUSGFA_809_2[2];
44757 static TNimNode TM__rF9caJawfOjYTjsgLVUSGFA_0[10];
44758 NTIobject__LF0eKAnygFo4etNDdpTetg_.size = sizeof(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg);
44759 NTIobject__LF0eKAnygFo4etNDdpTetg_.align = NIM_ALIGNOF(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg);
44760 NTIobject__LF0eKAnygFo4etNDdpTetg_.kind = 17;
44761 NTIobject__LF0eKAnygFo4etNDdpTetg_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
44762 TM__rF9caJawfOjYTjsgLVUSGFA_362_3[0] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[1];
44763 TM__rF9caJawfOjYTjsgLVUSGFA_0[1].kind = 1;
44764 TM__rF9caJawfOjYTjsgLVUSGFA_0[1].offset = offsetof(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg, colonstate_);
44765 TM__rF9caJawfOjYTjsgLVUSGFA_0[1].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
44766 TM__rF9caJawfOjYTjsgLVUSGFA_0[1].name = ":state";
44767 TM__rF9caJawfOjYTjsgLVUSGFA_362_3[1] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[2];
44768 TM__rF9caJawfOjYTjsgLVUSGFA_0[2].kind = 1;
44769 TM__rF9caJawfOjYTjsgLVUSGFA_0[2].offset = offsetof(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg, c1);
44770 TM__rF9caJawfOjYTjsgLVUSGFA_0[2].typ = (&NTIpcontext__EjEifkTC8tg9afiUW4StSSA_);
44771 TM__rF9caJawfOjYTjsgLVUSGFA_0[2].name = "c1";
44772 TM__rF9caJawfOjYTjsgLVUSGFA_362_3[2] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[3];
44773 TM__rF9caJawfOjYTjsgLVUSGFA_0[3].kind = 1;
44774 TM__rF9caJawfOjYTjsgLVUSGFA_0[3].offset = offsetof(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg, scope2);
44775 TM__rF9caJawfOjYTjsgLVUSGFA_0[3].typ = (&NTIpscope__N89ckikRqMir57209a3tEeqw_);
44776 TM__rF9caJawfOjYTjsgLVUSGFA_0[3].name = "scope2";
44777 TM__rF9caJawfOjYTjsgLVUSGFA_0[0].len = 3; TM__rF9caJawfOjYTjsgLVUSGFA_0[0].kind = 2; TM__rF9caJawfOjYTjsgLVUSGFA_0[0].sons = &TM__rF9caJawfOjYTjsgLVUSGFA_362_3[0];
44778 NTIobject__LF0eKAnygFo4etNDdpTetg_.node = &TM__rF9caJawfOjYTjsgLVUSGFA_0[0];
44779 NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_.size = sizeof(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg*);
44780 NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_.align = NIM_ALIGNOF(tyObject_Env_semmagicdotnim_semDynamicBindSym___LF0eKAnygFo4etNDdpTetg*);
44781 NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_.kind = 22;
44782 NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_.base = (&NTIobject__LF0eKAnygFo4etNDdpTetg_);
44783 NTIrefobject__IqGNbqKVyQ9b9an5n9bN8QJsQ_.marker = Marker_tyRef__IqGNbqKVyQ9b9an5n9bN8QJsQ;
44784 NTIobject__irrxU9bX4WBQP9bu3Q627FYw_.size = sizeof(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw);
44785 NTIobject__irrxU9bX4WBQP9bu3Q627FYw_.align = NIM_ALIGNOF(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw);
44786 NTIobject__irrxU9bX4WBQP9bu3Q627FYw_.kind = 17;
44787 NTIobject__irrxU9bX4WBQP9bu3Q627FYw_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
44788 TM__rF9caJawfOjYTjsgLVUSGFA_374_2[0] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[5];
44789 TM__rF9caJawfOjYTjsgLVUSGFA_0[5].kind = 1;
44790 TM__rF9caJawfOjYTjsgLVUSGFA_0[5].offset = offsetof(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw, colonstate_);
44791 TM__rF9caJawfOjYTjsgLVUSGFA_0[5].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
44792 TM__rF9caJawfOjYTjsgLVUSGFA_0[5].name = ":state";
44793 TM__rF9caJawfOjYTjsgLVUSGFA_374_2[1] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[6];
44794 TM__rF9caJawfOjYTjsgLVUSGFA_0[6].kind = 1;
44795 TM__rF9caJawfOjYTjsgLVUSGFA_0[6].offset = offsetof(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw, orig1);
44796 TM__rF9caJawfOjYTjsgLVUSGFA_0[6].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
44797 TM__rF9caJawfOjYTjsgLVUSGFA_0[6].name = "orig1";
44798 TM__rF9caJawfOjYTjsgLVUSGFA_0[4].len = 2; TM__rF9caJawfOjYTjsgLVUSGFA_0[4].kind = 2; TM__rF9caJawfOjYTjsgLVUSGFA_0[4].sons = &TM__rF9caJawfOjYTjsgLVUSGFA_374_2[0];
44799 NTIobject__irrxU9bX4WBQP9bu3Q627FYw_.node = &TM__rF9caJawfOjYTjsgLVUSGFA_0[4];
44800 NTIrefobject__s6znTCfmZMSZG9absJgsa1w_.size = sizeof(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw*);
44801 NTIrefobject__s6znTCfmZMSZG9absJgsa1w_.align = NIM_ALIGNOF(tyObject_Env_semmagicdotnim_turnFinalizerIntoDestructor___irrxU9bX4WBQP9bu3Q627FYw*);
44802 NTIrefobject__s6znTCfmZMSZG9absJgsa1w_.kind = 22;
44803 NTIrefobject__s6znTCfmZMSZG9absJgsa1w_.base = (&NTIobject__irrxU9bX4WBQP9bu3Q627FYw_);
44804 NTIrefobject__s6znTCfmZMSZG9absJgsa1w_.marker = Marker_tyRef__s6znTCfmZMSZG9absJgsa1w;
44805 NTIobject__pOSGedHS6i9aexCYZEItHgQ_.size = sizeof(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ);
44806 NTIobject__pOSGedHS6i9aexCYZEItHgQ_.align = NIM_ALIGNOF(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ);
44807 NTIobject__pOSGedHS6i9aexCYZEItHgQ_.kind = 17;
44808 NTIobject__pOSGedHS6i9aexCYZEItHgQ_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
44809 TM__rF9caJawfOjYTjsgLVUSGFA_809_2[0] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[8];
44810 TM__rF9caJawfOjYTjsgLVUSGFA_0[8].kind = 1;
44811 TM__rF9caJawfOjYTjsgLVUSGFA_0[8].offset = offsetof(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ, colonstate_);
44812 TM__rF9caJawfOjYTjsgLVUSGFA_0[8].typ = (&NTIint__xHTZrq9aYs6boc9bCba0JbpQ_);
44813 TM__rF9caJawfOjYTjsgLVUSGFA_0[8].name = ":state";
44814 TM__rF9caJawfOjYTjsgLVUSGFA_809_2[1] = &TM__rF9caJawfOjYTjsgLVUSGFA_0[9];
44815 TM__rF9caJawfOjYTjsgLVUSGFA_0[9].kind = 1;
44816 TM__rF9caJawfOjYTjsgLVUSGFA_0[9].offset = offsetof(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ, genericType1);
44817 TM__rF9caJawfOjYTjsgLVUSGFA_0[9].typ = (&NTIptype__qt2Wh0elFEz5fH0l7yusLw_);
44818 TM__rF9caJawfOjYTjsgLVUSGFA_0[9].name = "genericType1";
44819 TM__rF9caJawfOjYTjsgLVUSGFA_0[7].len = 2; TM__rF9caJawfOjYTjsgLVUSGFA_0[7].kind = 2; TM__rF9caJawfOjYTjsgLVUSGFA_0[7].sons = &TM__rF9caJawfOjYTjsgLVUSGFA_809_2[0];
44820 NTIobject__pOSGedHS6i9aexCYZEItHgQ_.node = &TM__rF9caJawfOjYTjsgLVUSGFA_0[7];
44821 NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_.size = sizeof(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ*);
44822 NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_.align = NIM_ALIGNOF(tyObject_Env_semstmtsdotnim_checkCovariantParamsUsages___pOSGedHS6i9aexCYZEItHgQ*);
44823 NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_.kind = 22;
44824 NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_.base = (&NTIobject__pOSGedHS6i9aexCYZEItHgQ_);
44825 NTIrefobject__XNJoeAba9c9cA3kTvTEsgqEQ_.marker = Marker_tyRef__XNJoeAba9c9cA3kTvTEsgqEQ;
44826 }
44827 
44828