1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 
4 #include "nimbase.h"
5 #include <string.h>
6 #undef LANGUAGE_C
7 #undef MIPSEB
8 #undef MIPSEL
9 #undef PPC
10 #undef R3000
11 #undef R4000
12 #undef i386
13 #undef linux
14 #undef mips
15 #undef near
16 #undef far
17 #undef powerpc
18 #undef unix
19 #define nimfr_(x, y)
20 #define nimln_(x, y)
21 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
22 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
23 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
24 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
25 typedef struct NimStringDesc NimStringDesc;
26 typedef struct TGenericSeq TGenericSeq;
27 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
28 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
29 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
30 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
31 typedef struct RootObj RootObj;
32 typedef struct TNimType TNimType;
33 typedef struct TNimNode TNimNode;
34 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
35 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
36 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
37 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
38 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
39 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
40 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
41 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
42 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
43 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
44 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
45 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
46 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
47 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
48 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
49 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
50 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
51 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
52 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
53 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
54 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
55 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
56 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
57 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
58 NU16 line;
59 NI16 col;
60 NI32 fileIndex;
61 };
62 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
63 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
64 struct TGenericSeq {
65 NI len;
66 NI reserved;
67 };
68 struct NimStringDesc {
69   TGenericSeq Sup;
70 NIM_CHAR data[SEQ_DECL_SIZE];
71 };
72 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
73 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
74 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
75 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
76 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
77 union{
78 struct {NI64 intVal;
79 } _kind_1;
80 struct {NF floatVal;
81 } _kind_2;
82 struct {NimStringDesc* strVal;
83 } _kind_3;
84 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
85 } _kind_4;
86 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
87 } _kind_5;
88 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
89 } _kind_6;
90 };
91 };
92 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
93 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
94 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
95 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
96 struct TNimType {
97 NI size;
98 NI align;
99 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
100 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
101 TNimType* base;
102 TNimNode* node;
103 void* finalizer;
104 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
105 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
106 };
107 struct RootObj {
108 TNimType* m_type;
109 };
110 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
111 NI32 module;
112 NI32 item;
113 };
114 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
115   RootObj Sup;
116 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
117 };
118 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
119 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
120 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
121 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
122 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
123 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
124 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
125 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
126 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
127 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
128 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
129 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
130 };
131 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
132   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
133 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
134 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
135 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
136 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
137 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
138 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
139 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
140 NI64 size;
141 NI16 align;
142 NI16 paddingAtEnd;
143 NI16 lockLevel;
144 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
145 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
146 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
147 };
148 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
149 NI refcount;
150 TNimType* typ;
151 };
152 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
153 void* bottom;
154 };
155 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
156 NI len;
157 NI cap;
158 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
159 };
160 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
161 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
162 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
163 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
164 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
165 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
166 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
167 };
168 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
169 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
170 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
171 NI key;
172 NI upperBound;
173 NI level;
174 };
175 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
176 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
177 NI Field1;
178 };
179 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
180 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
181 NI len;
182 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
183 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
184 };
185 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
186 NI minLargeObj;
187 NI maxLargeObj;
188 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
189 NU32 flBitmap;
190 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
191 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
192 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
193 NI currMem;
194 NI maxMem;
195 NI freeMem;
196 NI occ;
197 NI lastSize;
198 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
199 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
200 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
201 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
202 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
203 NIM_BOOL locked;
204 NIM_BOOL blockChunkSizeIncrease;
205 NI nextChunkSize;
206 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
207 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
208 };
209 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
210 NI stackScans;
211 NI cycleCollections;
212 NI maxThreshold;
213 NI maxStackSize;
214 NI maxStackCells;
215 NI cycleTableSize;
216 NI64 maxPause;
217 };
218 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
219 NI counter;
220 NI max;
221 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
222 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
223 };
224 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
225 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
226 NI cycleThreshold;
227 NI zctThreshold;
228 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
229 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
230 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
231 NI recGcLock;
232 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
233 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
234 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
235 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
236 NI gcThreadId;
237 };
238 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
239 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
240 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
241 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
242 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
243   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
244 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
245 union{
246 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
247 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
248 } _kind_1;
249 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
250 NI bitsize;
251 NI alignment;
252 } _kind_2;
253 };
254 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
255 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
256 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
257 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
258 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
259 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
260 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
261 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
262 NI position;
263 NI offset;
264 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
265 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
266 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
267 };
268 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
269 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
270 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
271 NimStringDesc* Field0;
272 NI Field1;
273 NI Field2;
274 };
275 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
276   TGenericSeq Sup;
277   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
278 };
279 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
280   TGenericSeq Sup;
281   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
282 };
283 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
284 static N_INLINE(void, asgnRef)(void** dest, void* src);
285 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
286 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
287 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr);
288 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
289 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
290 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
291 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
292 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5264)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
293 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
294 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, ithField__semmacrosanity_53)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NI* field);
295 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, ithField__semmacrosanity_5)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* field);
296 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
297 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);
298 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
299 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
300 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
301 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
302 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
303 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info);
304 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
305 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
306 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
307 N_LIB_PRIVATE N_NIMCALL(void, internalErrorImpl__msgs_1431)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2);
308 N_LIB_PRIVATE N_NIMCALL(void, annotateType__semmacrosanity_69)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
309 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
310 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
311 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, elemType__types_263)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
312 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__gkmEeaIyT0wHpJzs9ciIEJg_2 = {
313 0x10, 0xa9, 0x10, 0x00, 0x00, 0x60, 0x80, 0x00,
314 0x00}
315 ;
316 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__gkmEeaIyT0wHpJzs9ciIEJg_3 = {
317 0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
318 0x00}
319 ;
320 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__gkmEeaIyT0wHpJzs9ciIEJg_4 = {
321 0x10, 0x09, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
322 0x00}
323 ;
324 STRING_LITERAL(TM__gkmEeaIyT0wHpJzs9ciIEJg_5, "invalid field at index ", 23);
325 STRING_LITERAL(TM__gkmEeaIyT0wHpJzs9ciIEJg_7, "/home/runner/work/nightlies/nightlies/nim/compiler/semmacrosanity.nim", 69);
326 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_6 = {((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_7),
327 ((NI) 58),
328 ((NI) 20)}
329 ;
330 STRING_LITERAL(TM__gkmEeaIyT0wHpJzs9ciIEJg_8, "(", 1);
331 STRING_LITERAL(TM__gkmEeaIyT0wHpJzs9ciIEJg_9, ", ", 2);
332 STRING_LITERAL(TM__gkmEeaIyT0wHpJzs9ciIEJg_10, ")", 1);
333 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_11 = {((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_7),
334 ((NI) 60),
335 ((NI) 22)}
336 ;
337 extern NIM_CONST tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q unknownLineInfo__lineinfos_280;
338 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_12 = {((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_7),
339 ((NI) 66),
340 ((NI) 35)}
341 ;
342 STRING_LITERAL(TM__gkmEeaIyT0wHpJzs9ciIEJg_13, "() must have a tuple type", 25);
343 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_14 = {((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_7),
344 ((NI) 71),
345 ((NI) 17)}
346 ;
347 STRING_LITERAL(TM__gkmEeaIyT0wHpJzs9ciIEJg_15, "[] must have some form of array type", 36);
348 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_16 = {((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_7),
349 ((NI) 77),
350 ((NI) 17)}
351 ;
352 STRING_LITERAL(TM__gkmEeaIyT0wHpJzs9ciIEJg_17, "{} must have the set type", 25);
353 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_18 = {((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_7),
354 ((NI) 83),
355 ((NI) 17)}
356 ;
357 STRING_LITERAL(TM__gkmEeaIyT0wHpJzs9ciIEJg_19, "float literal must have some float type", 39);
358 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_20 = {((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_7),
359 ((NI) 88),
360 ((NI) 17)}
361 ;
362 STRING_LITERAL(TM__gkmEeaIyT0wHpJzs9ciIEJg_21, "integer literal must have some int type", 39);
363 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_22 = {((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_7),
364 ((NI) 93),
365 ((NI) 17)}
366 ;
367 STRING_LITERAL(TM__gkmEeaIyT0wHpJzs9ciIEJg_23, "string literal must be of some string type", 42);
368 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_24 = {((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_7),
369 ((NI) 98),
370 ((NI) 17)}
371 ;
372 STRING_LITERAL(TM__gkmEeaIyT0wHpJzs9ciIEJg_25, "nil literal must be of some pointer type", 40);
373 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gkmEeaIyT0wHpJzs9ciIEJg_26 = {((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_7),
374 ((NI) 103),
375 ((NI) 17)}
376 ;
377 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5217;
N_INLINE(NI,pluspercent___system_696)378 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
379 	NI result;
380 	result = (NI)0;
381 	result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
382 	return result;
383 }
N_INLINE(void,incRef__system_5308)384 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
385 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
386 }
N_INLINE(NI,minuspercent___system_716)387 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
388 	NI result;
389 	result = (NI)0;
390 	result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
391 	return result;
392 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5270)393 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr) {
394 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
395 	NI T1_;
396 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
397 	T1_ = (NI)0;
398 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
399 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
400 	return result;
401 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)402 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
403 	NIM_BOOL result;
404 	result = (NIM_BOOL)0;
405 	result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
406 	return result;
407 }
N_INLINE(void,rtlAddZCT__system_5313)408 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
409 	addZCT__system_5264((&gch__system_5217.zct), c);
410 }
N_INLINE(void,decRef__system_5315)411 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
412 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
413 	{
414 		NIM_BOOL T3_;
415 		T3_ = (NIM_BOOL)0;
416 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
417 		if (!T3_) goto LA4_;
418 		rtlAddZCT__system_5313(c);
419 	}
420 	LA4_: ;
421 }
N_INLINE(void,asgnRef)422 static N_INLINE(void, asgnRef)(void** dest, void* src) {
423 	{
424 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
425 		if (!!((src == NIM_NIL))) goto LA3_;
426 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
427 		T5_ = usrToCell__system_5270(src);
428 		incRef__system_5308(T5_);
429 	}
430 	LA3_: ;
431 	{
432 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
433 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
434 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
435 		T10_ = usrToCell__system_5270((*dest));
436 		decRef__system_5315(T10_);
437 	}
438 	LA8_: ;
439 	(*dest) = src;
440 }
N_INLINE(NI,len__ast_3198)441 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
442 	NI result;
443 	NI T1_;
444 	result = (NI)0;
445 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
446 	result = T1_;
447 	return result;
448 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,ithField__semmacrosanity_5)449 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, ithField__semmacrosanity_5)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI* field) {
450 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
451 {	result = NIM_NIL;
452 	result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
453 	switch ((*n).kind) {
454 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
455 	{
456 		{
457 			NI i;
458 			NI colontmp_;
459 			NI i_2;
460 			i = (NI)0;
461 			colontmp_ = (NI)0;
462 			colontmp_ = len__ast_3198(n);
463 			i_2 = ((NI) 0);
464 			{
465 				while (1) {
466 					if (!(i_2 < colontmp_)) goto LA4;
467 					i = i_2;
468 					result = ithField__semmacrosanity_5((*n)._kind_6.sons->data[i], field);
469 					{
470 						if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA7_;
471 						goto BeforeRet_;
472 					}
473 					LA7_: ;
474 					i_2 += ((NI) 1);
475 				} LA4: ;
476 			}
477 		}
478 	}
479 	break;
480 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
481 	{
482 		{
483 			if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA12_;
484 			goto BeforeRet_;
485 		}
486 		LA12_: ;
487 		result = ithField__semmacrosanity_5((*n)._kind_6.sons->data[((NI) 0)], field);
488 		{
489 			if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA16_;
490 			goto BeforeRet_;
491 		}
492 		LA16_: ;
493 		{
494 			NI i_3;
495 			NI colontmp__2;
496 			NI i_4;
497 			i_3 = (NI)0;
498 			colontmp__2 = (NI)0;
499 			colontmp__2 = len__ast_3198(n);
500 			i_4 = ((NI) 1);
501 			{
502 				while (1) {
503 					if (!(i_4 < colontmp__2)) goto LA20;
504 					i_3 = i_4;
505 					switch ((*(*n)._kind_6.sons->data[i_3]).kind) {
506 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
507 					case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
508 					{
509 						tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
510 						T22_ = NIM_NIL;
511 						T22_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
512 						result = ithField__semmacrosanity_5(T22_, field);
513 						{
514 							if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA25_;
515 							goto BeforeRet_;
516 						}
517 						LA25_: ;
518 					}
519 					break;
520 					default:
521 					{
522 					}
523 					break;
524 					}
525 					i_4 += ((NI) 1);
526 				} LA20: ;
527 			}
528 		}
529 	}
530 	break;
531 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
532 	{
533 		{
534 			if (!((*field) == ((NI) 0))) goto LA31_;
535 			result = (*n)._kind_4.sym;
536 		}
537 		goto LA29_;
538 		LA31_: ;
539 		{
540 			(*field) -= ((NI) 1);
541 		}
542 		LA29_: ;
543 	}
544 	break;
545 	default:
546 	{
547 	}
548 	break;
549 	}
550 	}BeforeRet_: ;
551 	return result;
552 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,ithField__semmacrosanity_53)553 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, ithField__semmacrosanity_53)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, NI* field) {
554 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
555 	tyObject_TType__facALICuu8zUj0hjvbTLFg* base;
556 {	result = NIM_NIL;
557 	base = (*t).sons->data[((NI) 0)];
558 	{
559 		while (1) {
560 			tyObject_TType__facALICuu8zUj0hjvbTLFg* b;
561 			if (!!((base == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA2;
562 			b = skipTypes__ast_3735(base, TM__gkmEeaIyT0wHpJzs9ciIEJg_4);
563 			result = ithField__semmacrosanity_5((*b).n, field);
564 			{
565 				if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA5_;
566 				goto BeforeRet_;
567 			}
568 			LA5_: ;
569 			base = (*b).sons->data[((NI) 0)];
570 		} LA2: ;
571 	}
572 	result = ithField__semmacrosanity_5((*t).n, field);
573 	}BeforeRet_: ;
574 	return result;
575 }
N_INLINE(void,nimCopyMem)576 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
577 	void* T1_;
578 	T1_ = (void*)0;
579 	T1_ = memcpy(dest, source, ((size_t) (size)));
580 }
N_INLINE(void,copyMem__system_1727)581 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
582 	nimCopyMem(dest, source, size);
583 }
N_INLINE(void,appendString)584 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
585 	{
586 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
587 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
588 		(*dest).Sup.len += (*src).Sup.len;
589 	}
590 	LA3_: ;
591 }
N_INLINE(void,addInt__stdZprivateZdigitsutils_189)592 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
593 	addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
594 }
N_INLINE(NimStringDesc *,toFileLineCol__msgs_615)595 static N_INLINE(NimStringDesc*, toFileLineCol__msgs_615)(tyTuple__kN8up2W6YKc5YA9avn5mV5w info) {
596 	NimStringDesc* result;
597 	result = NIM_NIL;
598 	result = resizeString(result, (info.Field0 ? info.Field0->Sup.len : 0) + 0);
599 appendString(result, info.Field0);
600 	{
601 		if (!(((NI) 0) < info.Field1)) goto LA3_;
602 		result = resizeString(result, 1);
603 appendString(result, ((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_8));
604 		addInt__stdZprivateZdigitsutils_189((&result), info.Field1);
605 		{
606 			if (!(((NI) 0) < (NI)(info.Field2 + ((NI) 1)))) goto LA7_;
607 			result = resizeString(result, 2);
608 appendString(result, ((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_9));
609 			addInt__stdZprivateZdigitsutils_189((&result), (NI)(info.Field2 + ((NI) 1)));
610 		}
611 		LA7_: ;
612 		result = resizeString(result, 1);
613 appendString(result, ((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_10));
614 	}
615 	LA3_: ;
616 	return result;
617 }
N_INLINE(NI,len__ast_4002)618 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
619 	NI result;
620 	NI T1_;
621 	result = (NI)0;
622 	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
623 	result = T1_;
624 	return result;
625 }
N_INLINE(NI,safeLen__ast_3191)626 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
627 	NI result;
628 	result = (NI)0;
629 	{
630 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
631 		result = ((NI) 0);
632 	}
633 	goto LA1_;
634 	LA3_: ;
635 	{
636 		result = len__ast_3198(n);
637 	}
638 	LA1_: ;
639 	return result;
640 }
N_NIMCALL(void,annotateType__semmacrosanity_69)641 N_LIB_PRIVATE N_NIMCALL(void, annotateType__semmacrosanity_69)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
642 	tyObject_TType__facALICuu8zUj0hjvbTLFg* x;
643 	x = skipTypes__ast_3735(t, TM__gkmEeaIyT0wHpJzs9ciIEJg_2);
644 	switch ((*n).kind) {
645 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
646 	{
647 		tyObject_TType__facALICuu8zUj0hjvbTLFg* x_2;
648 		x_2 = skipTypes__ast_3735(t, TM__gkmEeaIyT0wHpJzs9ciIEJg_3);
649 		asgnRef((void**) (&(*n).typ), t);
650 		{
651 			NI i;
652 			NI colontmp_;
653 			NI i_2;
654 			i = (NI)0;
655 			colontmp_ = (NI)0;
656 			colontmp_ = len__ast_3198(n);
657 			i_2 = ((NI) 1);
658 			{
659 				while (1) {
660 					NI j;
661 					tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
662 					if (!(i_2 < colontmp_)) goto LA4;
663 					i = i_2;
664 					j = (NI)(i - ((NI) 1));
665 					field = ithField__semmacrosanity_53(x_2, (&j));
666 					{
667 						NimStringDesc* T9_;
668 						NimStringDesc* T10_;
669 						if (!(field == 0)) goto LA7_;
670 						T9_ = NIM_NIL;
671 						T10_ = NIM_NIL;
672 						T10_ = dollar___systemZdollars_3(i);
673 						T9_ = rawNewString((T10_ ? T10_->Sup.len : 0) + 23);
674 appendString(T9_, ((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_5));
675 appendString(T9_, T10_);
676 						liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T9_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__gkmEeaIyT0wHpJzs9ciIEJg_6, NIM_FALSE);
677 					}
678 					goto LA5_;
679 					LA7_: ;
680 					{
681 						{
682 							NimStringDesc* argX60gensym16_;
683 							if (!!(((*(*n)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA14_;
684 							argX60gensym16_ = toFileLineCol__msgs_615(TM__gkmEeaIyT0wHpJzs9ciIEJg_11);
685 							internalErrorImpl__msgs_1431(conf, unknownLineInfo__lineinfos_280, argX60gensym16_, TM__gkmEeaIyT0wHpJzs9ciIEJg_11);
686 						}
687 						LA14_: ;
688 						annotateType__semmacrosanity_69((*(*n)._kind_6.sons->data[i])._kind_6.sons->data[((NI) 1)], (*field).typ, conf);
689 					}
690 					LA5_: ;
691 					i_2 += ((NI) 1);
692 				} LA4: ;
693 			}
694 		}
695 	}
696 	break;
697 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
698 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
699 	{
700 		{
701 			if (!((*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA19_;
702 			asgnRef((void**) (&(*n).typ), t);
703 			{
704 				NI i_3;
705 				NI colontmp__2;
706 				NI i_4;
707 				i_3 = (NI)0;
708 				colontmp__2 = (NI)0;
709 				colontmp__2 = len__ast_3198(n);
710 				i_4 = ((NI) 0);
711 				{
712 					while (1) {
713 						if (!(i_4 < colontmp__2)) goto LA23;
714 						i_3 = i_4;
715 						{
716 							NI T26_;
717 							NimStringDesc* T29_;
718 							NimStringDesc* T30_;
719 							T26_ = (NI)0;
720 							T26_ = len__ast_4002(x);
721 							if (!(T26_ <= i_3)) goto LA27_;
722 							T29_ = NIM_NIL;
723 							T30_ = NIM_NIL;
724 							T30_ = dollar___systemZdollars_3(i_3);
725 							T29_ = rawNewString((T30_ ? T30_->Sup.len : 0) + 23);
726 appendString(T29_, ((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_5));
727 appendString(T29_, T30_);
728 							liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T29_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__gkmEeaIyT0wHpJzs9ciIEJg_12, NIM_FALSE);
729 						}
730 						goto LA24_;
731 						LA27_: ;
732 						{
733 							annotateType__semmacrosanity_69((*n)._kind_6.sons->data[i_3], (*x).sons->data[i_3], conf);
734 						}
735 						LA24_: ;
736 						i_4 += ((NI) 1);
737 					} LA23: ;
738 				}
739 			}
740 		}
741 		goto LA17_;
742 		LA19_: ;
743 		{
744 			NIM_BOOL T33_;
745 			T33_ = (NIM_BOOL)0;
746 			T33_ = ((*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25));
747 			if (!(T33_)) goto LA34_;
748 			T33_ = ((*x).callConv == ((tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA) 9));
749 			LA34_: ;
750 			if (!T33_) goto LA35_;
751 			asgnRef((void**) (&(*n).typ), t);
752 		}
753 		goto LA17_;
754 		LA35_: ;
755 		{
756 			liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_13), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__gkmEeaIyT0wHpJzs9ciIEJg_14, NIM_FALSE);
757 		}
758 		LA17_: ;
759 	}
760 	break;
761 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
762 	{
763 		{
764 			if (!((*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16) || (*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24) || (*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27))) goto LA41_;
765 			asgnRef((void**) (&(*n).typ), t);
766 			{
767 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m;
768 				m = NIM_NIL;
769 				{
770 					NI i_5;
771 					NI colontmp__3;
772 					NI i_6;
773 					i_5 = (NI)0;
774 					colontmp__3 = (NI)0;
775 					colontmp__3 = safeLen__ast_3191(n);
776 					i_6 = ((NI) 0);
777 					{
778 						while (1) {
779 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T47_;
780 							if (!(i_6 < colontmp__3)) goto LA46;
781 							i_5 = i_6;
782 							m = (*n)._kind_6.sons->data[i_5];
783 							T47_ = NIM_NIL;
784 							T47_ = elemType__types_263(x);
785 							annotateType__semmacrosanity_69(m, T47_, conf);
786 							i_6 += ((NI) 1);
787 						} LA46: ;
788 					}
789 				}
790 			}
791 		}
792 		goto LA39_;
793 		LA41_: ;
794 		{
795 			liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_15), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__gkmEeaIyT0wHpJzs9ciIEJg_16, NIM_FALSE);
796 		}
797 		LA39_: ;
798 	}
799 	break;
800 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
801 	{
802 		{
803 			if (!((*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19))) goto LA52_;
804 			asgnRef((void**) (&(*n).typ), t);
805 			{
806 				tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* m_2;
807 				m_2 = NIM_NIL;
808 				{
809 					NI i_7;
810 					NI colontmp__4;
811 					NI i_8;
812 					i_7 = (NI)0;
813 					colontmp__4 = (NI)0;
814 					colontmp__4 = safeLen__ast_3191(n);
815 					i_8 = ((NI) 0);
816 					{
817 						while (1) {
818 							tyObject_TType__facALICuu8zUj0hjvbTLFg* T58_;
819 							if (!(i_8 < colontmp__4)) goto LA57;
820 							i_7 = i_8;
821 							m_2 = (*n)._kind_6.sons->data[i_7];
822 							T58_ = NIM_NIL;
823 							T58_ = elemType__types_263(x);
824 							annotateType__semmacrosanity_69(m_2, T58_, conf);
825 							i_8 += ((NI) 1);
826 						} LA57: ;
827 					}
828 				}
829 			}
830 		}
831 		goto LA50_;
832 		LA52_: ;
833 		{
834 			liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_17), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__gkmEeaIyT0wHpJzs9ciIEJg_18, NIM_FALSE);
835 		}
836 		LA50_: ;
837 	}
838 	break;
839 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 19):
840 	{
841 		{
842 			if (!((*x).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*x).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39))) goto LA63_;
843 			asgnRef((void**) (&(*n).typ), t);
844 		}
845 		goto LA61_;
846 		LA63_: ;
847 		{
848 			liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_19), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__gkmEeaIyT0wHpJzs9ciIEJg_20, NIM_FALSE);
849 		}
850 		LA61_: ;
851 	}
852 	break;
853 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
854 	{
855 		{
856 			if (!((*x).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*x).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44) || (*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14))) goto LA69_;
857 			asgnRef((void**) (&(*n).typ), t);
858 		}
859 		goto LA67_;
860 		LA69_: ;
861 		{
862 			liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_21), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__gkmEeaIyT0wHpJzs9ciIEJg_22, NIM_FALSE);
863 		}
864 		LA67_: ;
865 	}
866 	break;
867 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
868 	{
869 		{
870 			if (!((*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) || (*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29))) goto LA75_;
871 			asgnRef((void**) (&(*n).typ), t);
872 		}
873 		goto LA73_;
874 		LA75_: ;
875 		{
876 			liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_23), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__gkmEeaIyT0wHpJzs9ciIEJg_24, NIM_FALSE);
877 		}
878 		LA73_: ;
879 	}
880 	break;
881 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
882 	{
883 		{
884 			if (!((*x).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21) && (*x).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22) || (*x).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24) && (*x).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26) || (*x).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28) && (*x).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29) || (*x).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50))) goto LA81_;
885 			asgnRef((void**) (&(*n).typ), t);
886 		}
887 		goto LA79_;
888 		LA81_: ;
889 		{
890 			liMessage__msgs_1118(conf, (*n).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), ((NimStringDesc*) &TM__gkmEeaIyT0wHpJzs9ciIEJg_25), ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 2), TM__gkmEeaIyT0wHpJzs9ciIEJg_26, NIM_FALSE);
891 		}
892 		LA79_: ;
893 	}
894 	break;
895 	default:
896 	{
897 	}
898 	break;
899 	}
900 }
901