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_5300)(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_5262)(void* usr);
288 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
289 static N_INLINE(void, decRef__system_5307)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
290 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
291 static N_INLINE(void, rtlAddZCT__system_5305)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
292 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5256)(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_5209;
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_5300)384 static N_INLINE(void, incRef__system_5300)(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_5262)393 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5262)(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_5305)408 static N_INLINE(void, rtlAddZCT__system_5305)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
409 addZCT__system_5256((&gch__system_5209.zct), c);
410 }
N_INLINE(void,decRef__system_5307)411 static N_INLINE(void, decRef__system_5307)(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_5305(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_5262(src);
428 incRef__system_5300(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_5262((*dest));
436 decRef__system_5307(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