1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3
4 #include "nimbase.h"
5 #include <string.h>
6 #include <setjmp.h>
7 #undef LANGUAGE_C
8 #undef MIPSEB
9 #undef MIPSEL
10 #undef PPC
11 #undef R3000
12 #undef R4000
13 #undef i386
14 #undef linux
15 #undef mips
16 #undef near
17 #undef far
18 #undef powerpc
19 #undef unix
20 #define nimfr_(x, y)
21 #define nimln_(x, y)
22 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
23 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
24 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
25 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
26 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
27 typedef struct NimStringDesc NimStringDesc;
28 typedef struct TGenericSeq TGenericSeq;
29 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
30 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
31 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
32 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
33 typedef struct RootObj RootObj;
34 typedef struct TNimType TNimType;
35 typedef struct TNimNode TNimNode;
36 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
37 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
38 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
39 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
40 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
41 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
42 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
43 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
44 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
45 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
46 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
47 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
48 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
49 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
50 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
51 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
52 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
53 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
54 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
55 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
56 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
57 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
58 typedef struct Exception Exception;
59 typedef struct tySequence__uB9b75OUPRENsBAu4AnoePA tySequence__uB9b75OUPRENsBAu4AnoePA;
60 typedef struct TSafePoint TSafePoint;
61 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
62 typedef struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA;
63 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
64 NU16 line;
65 NI16 col;
66 NI32 fileIndex;
67 };
68 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
69 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
70 struct TGenericSeq {
71 NI len;
72 NI reserved;
73 };
74 struct NimStringDesc {
75 TGenericSeq Sup;
76 NIM_CHAR data[SEQ_DECL_SIZE];
77 };
78 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
79 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
80 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
81 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
82 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
83 union{
84 struct {NI64 intVal;
85 } _kind_1;
86 struct {NF floatVal;
87 } _kind_2;
88 struct {NimStringDesc* strVal;
89 } _kind_3;
90 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
91 } _kind_4;
92 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
93 } _kind_5;
94 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
95 } _kind_6;
96 };
97 };
98 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
99 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
100 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
101 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
102 struct TNimType {
103 NI size;
104 NI align;
105 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
106 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
107 TNimType* base;
108 TNimNode* node;
109 void* finalizer;
110 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
111 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
112 };
113 struct RootObj {
114 TNimType* m_type;
115 };
116 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
117 NI32 module;
118 NI32 item;
119 };
120 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
121 RootObj Sup;
122 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
123 };
124 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
125 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
126 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
127 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
128 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
129 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
130 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
131 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
132 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
133 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
134 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
135 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
136 };
137 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
138 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
139 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
140 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
141 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
142 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
143 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
144 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
145 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
146 NI64 size;
147 NI16 align;
148 NI16 paddingAtEnd;
149 NI16 lockLevel;
150 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
151 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
152 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
153 };
154 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
155 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
156 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
157 struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q {
158 NI32 module;
159 NI32 symId;
160 NI32 typeId_0;
161 NIM_BOOL sealed;
162 };
163 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
164 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
165 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
166 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
167 union{
168 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
169 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
170 } _kind_1;
171 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
172 NI bitsize;
173 NI alignment;
174 } _kind_2;
175 };
176 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
177 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
178 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
179 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
180 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
181 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
182 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
183 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
184 NI position;
185 NI offset;
186 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
187 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
188 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
189 };
190 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
191 NI refcount;
192 TNimType* typ;
193 };
194 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
195 void* bottom;
196 };
197 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
198 NI len;
199 NI cap;
200 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
201 };
202 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
203 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
204 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
205 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
206 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
207 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
208 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
209 };
210 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
211 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
212 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
213 NI key;
214 NI upperBound;
215 NI level;
216 };
217 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
218 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
219 NI Field1;
220 };
221 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
222 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
223 NI len;
224 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
225 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
226 };
227 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
228 NI minLargeObj;
229 NI maxLargeObj;
230 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
231 NU32 flBitmap;
232 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
233 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
234 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
235 NI currMem;
236 NI maxMem;
237 NI freeMem;
238 NI occ;
239 NI lastSize;
240 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
241 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
242 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
243 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
244 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
245 NIM_BOOL locked;
246 NIM_BOOL blockChunkSizeIncrease;
247 NI nextChunkSize;
248 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
249 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
250 };
251 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
252 NI stackScans;
253 NI cycleCollections;
254 NI maxThreshold;
255 NI maxStackSize;
256 NI maxStackCells;
257 NI cycleTableSize;
258 NI64 maxPause;
259 };
260 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
261 NI counter;
262 NI max;
263 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
264 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
265 };
266 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
267 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
268 NI cycleThreshold;
269 NI zctThreshold;
270 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
271 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
272 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
273 NI recGcLock;
274 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
275 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
276 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
277 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
278 NI gcThreadId;
279 };
280 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
281 struct Exception {
282 RootObj Sup;
283 Exception* parent;
284 NCSTRING name;
285 NimStringDesc* message;
286 tySequence__uB9b75OUPRENsBAu4AnoePA* trace;
287 Exception* up;
288 };
289 struct TSafePoint {
290 TSafePoint* prev;
291 NI status;
292 jmp_buf context;
293 };
294 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__jlWPjgtbdjE069arIWHC9c9bg[1];
295 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
296 struct TNimNode {
297 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
298 NI offset;
299 TNimType* typ;
300 NCSTRING name;
301 NI len;
302 TNimNode** sons;
303 };
304 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
305 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
306 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
307 NimStringDesc* Field0;
308 NI Field1;
309 NI Field2;
310 };
311 struct tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA {
312 NCSTRING procname;
313 NI line;
314 NCSTRING filename;
315 };
316 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
317 TGenericSeq Sup;
318 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
319 };
320 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
321 TGenericSeq Sup;
322 tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
323 };
324 struct tySequence__uB9b75OUPRENsBAu4AnoePA {
325 TGenericSeq Sup;
326 tyObject_StackTraceEntry__oLyohQ7O2XOvGnflOss8EA data[SEQ_DECL_SIZE];
327 };
328 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, mapTypeToAstX__vmdeps_29)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, NIM_BOOL inst, NIM_BOOL allowRecursionX);
329 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, atomicTypeX__vmdeps_25)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
330 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
331 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, atomicTypeX__vmdeps_16)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, NimStringDesc* name, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
332 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);
333 N_LIB_PRIVATE N_NIMCALL(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*, getIdent__idents_143)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* ic, NimStringDesc* identifier);
334 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
335 static N_INLINE(void, nimZeroMem)(void* p, NI size);
336 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
337 static N_INLINE(void, asgnRef)(void** dest, void* src);
338 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
339 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
340 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr);
341 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
342 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
343 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
344 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
345 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5264)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
346 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeIT__ast_3378)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TType__facALICuu8zUj0hjvbTLFg* typ);
347 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
348 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newIdentNode__ast_3712)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
349 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyTree__ast_4431)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
350 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, base__types_63)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t);
351 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
352 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, lastSon__ast_3743)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
353 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, mapTypeToBracketX__vmdeps_36)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, NimStringDesc* name, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, NIM_BOOL inst);
354 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, newType__ast_3896)(tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind, tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g id, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner);
355 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x);
356 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
357 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
358 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, objectNode__vmdeps_75)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
359 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, copyNode__ast_4336)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* src);
360 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
361 static N_INLINE(void, pushSafePoint)(TSafePoint* s);
362 static N_INLINE(NimStringDesc*, slash___pureZos_121)(NimStringDesc* head, NimStringDesc* tail);
363 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosjoinPath)(NimStringDesc* head, NimStringDesc* tail);
364 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nosparentDir)(NimStringDesc* path);
365 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toFullPath__msgs_538)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NI32 fileIdx);
366 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringDesc* filename);
367 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, findFile__options_4490)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* f, NIM_BOOL suppressStdlib);
368 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, readFile__systemZio_469)(NimStringDesc* filename);
369 N_LIB_PRIVATE N_NIMCALL(NI32, fileInfoIdx__msgs_376)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* filename);
370 N_LIB_PRIVATE N_NIMCALL(void, appendToModule__ast_3540)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* m, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
371 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);
372 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newStrNode__ast_3813)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, NimStringDesc* strVal);
373 static N_INLINE(void, popSafePoint)(void);
374 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isObj)(TNimType* obj, TNimType* subclass);
375 static N_INLINE(Exception*, nimBorrowCurrentException)(void);
376 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);
377 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
378 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
379 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
380 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
381 static N_INLINE(void, popCurrentException)(void);
382 N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
383 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_2, "none", 4);
384 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_3, "bool", 4);
385 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_4, "char", 4);
386 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_5, "nil", 3);
387 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_6, "untyped", 7);
388 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_7, "typed", 5);
389 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_8, "void", 4);
390 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_9, "empty", 5);
391 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_10, "UncheckedArray", 14);
392 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_11, "array", 5);
393 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_12, "..", 2);
394 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_13, "typeDesc", 8);
395 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_14, "distinct", 8);
396 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_15, "tuple", 5);
397 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_16, "set", 3);
398 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_17, "ptr", 3);
399 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_18, "ref", 3);
400 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_19, "var", 3);
401 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_20, "lent", 4);
402 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_21, "sink", 4);
403 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_22, "seq", 3);
404 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_23, "proc", 4);
405 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_24, "openArray", 9);
406 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_25, "range", 5);
407 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_26, "pointer", 7);
408 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_27, "string", 6);
409 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_28, "cstring", 7);
410 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_29, "int", 3);
411 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_30, "int8", 4);
412 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_31, "int16", 5);
413 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_32, "int32", 5);
414 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_33, "int64", 5);
415 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_34, "float", 5);
416 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_35, "float32", 7);
417 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_36, "float64", 7);
418 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_37, "float128", 8);
419 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_38, "uint", 4);
420 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_39, "uint8", 5);
421 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_40, "uint16", 6);
422 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_41, "uint32", 6);
423 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_42, "uint64", 6);
424 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_43, "varargs", 7);
425 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_44, "error", 5);
426 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_45, "builtinTypeClass", 16);
427 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_46, "concept", 7);
428 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_47, "compositeTypeClass", 18);
429 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_48, "and", 3);
430 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_49, "or", 2);
431 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_50, "not", 3);
432 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_51, "iterable", 8);
433 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_52, "anything", 8);
434 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_53, "static", 6);
435 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_54, "owned", 5);
436 extern TNimType NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_;
437 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_56, "cannot open file: ", 18);
438 STRING_LITERAL(TM__gLSXNlwmnHPzTIXzvpQGfw_58, "/home/runner/work/nightlies/nightlies/nim/compiler/vmdeps.nim", 61);
439 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__gLSXNlwmnHPzTIXzvpQGfw_57 = {((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_58),
440 ((NI) 24),
441 ((NI) 14)}
442 ;
443 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5217;
444 extern TSafePoint* excHandler__system_2565;
445 extern TSafePoint* excHandler__system_2565;
446 extern TSafePoint* excHandler__system_2565;
447 extern TSafePoint* excHandler__system_2565;
448 extern Exception* currException__system_2566;
449 extern Exception* currException__system_2566;
450 extern Exception* currException__system_2566;
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,atomicTypeX__vmdeps_25)451 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, atomicTypeX__vmdeps_25)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
452 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
453 result = NIM_NIL;
454 result = newSymNode__ast_3716(s);
455 (*result).info = info;
456 return result;
457 }
N_INLINE(void,nimSetMem__systemZmemory_7)458 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
459 void* T1_;
460 T1_ = (void*)0;
461 T1_ = memset(a, v, ((size_t) (size)));
462 }
N_INLINE(void,nimZeroMem)463 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
464 nimSetMem__systemZmemory_7(p, ((int) 0), size);
465 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextSymId__ast_3132)466 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextSymId__ast_3132)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
467 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
468 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
469 (*x).symId += ((NI) 1);
470 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
471 result.module = (*x).module;
472 result.item = (*x).symId;
473 return result;
474 }
N_INLINE(NI,pluspercent___system_696)475 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
476 NI result;
477 result = (NI)0;
478 result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
479 return result;
480 }
N_INLINE(void,incRef__system_5308)481 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
482 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
483 }
N_INLINE(NI,minuspercent___system_716)484 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
485 NI result;
486 result = (NI)0;
487 result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
488 return result;
489 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5270)490 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr) {
491 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
492 NI T1_;
493 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
494 T1_ = (NI)0;
495 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
496 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
497 return result;
498 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)499 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
500 NIM_BOOL result;
501 result = (NIM_BOOL)0;
502 result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
503 return result;
504 }
N_INLINE(void,rtlAddZCT__system_5313)505 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
506 addZCT__system_5264((&gch__system_5217.zct), c);
507 }
N_INLINE(void,decRef__system_5315)508 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
509 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
510 {
511 NIM_BOOL T3_;
512 T3_ = (NIM_BOOL)0;
513 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
514 if (!T3_) goto LA4_;
515 rtlAddZCT__system_5313(c);
516 }
517 LA4_: ;
518 }
N_INLINE(void,asgnRef)519 static N_INLINE(void, asgnRef)(void** dest, void* src) {
520 {
521 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
522 if (!!((src == NIM_NIL))) goto LA3_;
523 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
524 T5_ = usrToCell__system_5270(src);
525 incRef__system_5308(T5_);
526 }
527 LA3_: ;
528 {
529 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
530 if (!!(((*dest) == NIM_NIL))) goto LA8_;
531 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
532 T10_ = usrToCell__system_5270((*dest));
533 decRef__system_5315(T10_);
534 }
535 LA8_: ;
536 (*dest) = src;
537 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,atomicTypeX__vmdeps_16)538 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, atomicTypeX__vmdeps_16)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, NimStringDesc* name, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
539 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
540 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
541 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T1_;
542 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T2_;
543 result = NIM_NIL;
544 T1_ = NIM_NIL;
545 T1_ = getIdent__idents_143(cache, name);
546 T2_ = nextSymId__ast_3132(idgen);
547 sym = newSym__ast_3445(((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 7), T1_, T2_, (*t).owner, info, 0);
548 (*sym).magic = m;
549 asgnRef((void**) (&(*sym).typ), t);
550 result = newSymNode__ast_3716(sym);
551 asgnRef((void**) (&(*result).typ), t);
552 return result;
553 }
N_INLINE(NI,len__ast_4002)554 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
555 NI result;
556 NI T1_;
557 result = (NI)0;
558 T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
559 result = T1_;
560 return result;
561 }
N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g,nextTypeId__ast_3151)562 static N_INLINE(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g, nextTypeId__ast_3151)(tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* x) {
563 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g result;
564 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
565 (*x).typeId_0 += ((NI) 1);
566 nimZeroMem((void*)(&result), sizeof(tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g));
567 result.module = (*x).module;
568 result.item = (*x).typeId_0;
569 return result;
570 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,mapTypeToBracketX__vmdeps_36)571 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, mapTypeToBracketX__vmdeps_36)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, NimStringDesc* name, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, NIM_BOOL inst) {
572 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
573 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T1_;
574 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T7_;
575 result = NIM_NIL;
576 {
577 if (!((*t).n == 0)) goto LA4_;
578 T1_ = info;
579 }
580 goto LA2_;
581 LA4_: ;
582 {
583 T1_ = (*(*t).n).info;
584 }
585 LA2_: ;
586 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), T1_, t);
587 T7_ = NIM_NIL;
588 T7_ = atomicTypeX__vmdeps_16(cache, name, m, t, info, idgen);
589 add__ast_4797(result, T7_);
590 {
591 NI i;
592 NI colontmp_;
593 NI i_2;
594 i = (NI)0;
595 colontmp_ = (NI)0;
596 colontmp_ = len__ast_4002(t);
597 i_2 = ((NI) 0);
598 {
599 while (1) {
600 if (!(i_2 < colontmp_)) goto LA10;
601 i = i_2;
602 {
603 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* void_1;
604 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g T15_;
605 if (!((*t).sons->data[i] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA13_;
606 void_1 = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_8), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 169), t, info, idgen);
607 T15_ = nextTypeId__ast_3151(idgen);
608 asgnRef((void**) (&(*void_1).typ), newType__ast_3896(((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63), T15_, (*t).owner));
609 add__ast_4797(result, void_1);
610 }
611 goto LA11_;
612 LA13_: ;
613 {
614 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T17_;
615 T17_ = NIM_NIL;
616 T17_ = mapTypeToAstX__vmdeps_29(cache, (*t).sons->data[i], info, idgen, inst, NIM_FALSE);
617 add__ast_4797(result, T17_);
618 }
619 LA11_: ;
620 i_2 += ((NI) 1);
621 } LA10: ;
622 }
623 }
624 return result;
625 }
N_INLINE(NI,len__ast_3198)626 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
627 NI result;
628 NI T1_;
629 result = (NI)0;
630 T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
631 result = T1_;
632 return result;
633 }
N_INLINE(NI,safeLen__ast_3191)634 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
635 NI result;
636 result = (NI)0;
637 {
638 if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
639 result = ((NI) 0);
640 }
641 goto LA1_;
642 LA3_: ;
643 {
644 result = len__ast_3198(n);
645 }
646 LA1_: ;
647 return result;
648 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,objectNode__vmdeps_75)649 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, objectNode__vmdeps_75)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
650 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
651 result = NIM_NIL;
652 {
653 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T5_;
654 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T6_;
655 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
656 result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), (*n).info);
657 add__ast_4797(result, n);
658 T5_ = NIM_NIL;
659 T5_ = mapTypeToAstX__vmdeps_29(cache, (*(*n)._kind_4.sym).typ, (*n).info, idgen, NIM_TRUE, NIM_FALSE);
660 add__ast_4797(result, T5_);
661 T6_ = NIM_NIL;
662 T6_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), (*n).info);
663 add__ast_4797(result, T6_);
664 }
665 goto LA1_;
666 LA3_: ;
667 {
668 result = copyNode__ast_4336(n);
669 {
670 NI i;
671 NI colontmp_;
672 NI i_2;
673 i = (NI)0;
674 colontmp_ = (NI)0;
675 colontmp_ = safeLen__ast_3191(n);
676 i_2 = ((NI) 0);
677 {
678 while (1) {
679 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T11_;
680 if (!(i_2 < colontmp_)) goto LA10;
681 i = i_2;
682 T11_ = NIM_NIL;
683 T11_ = objectNode__vmdeps_75(cache, (*n)._kind_6.sons->data[i], idgen);
684 add__ast_4797(result, T11_);
685 i_2 += ((NI) 1);
686 } LA10: ;
687 }
688 }
689 }
690 LA1_: ;
691 return result;
692 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,mapTypeToAstX__vmdeps_29)693 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, mapTypeToAstX__vmdeps_29)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen, NIM_BOOL inst, NIM_BOOL allowRecursionX) {
694 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
695 NIM_BOOL allowRecursion;
696 { result = NIM_NIL;
697 allowRecursion = allowRecursionX;
698 {
699 NIM_BOOL T3_;
700 NIM_BOOL T4_;
701 T3_ = (NIM_BOOL)0;
702 T4_ = (NIM_BOOL)0;
703 T4_ = inst;
704 if (!(T4_)) goto LA5_;
705 T4_ = !(allowRecursion);
706 LA5_: ;
707 T3_ = T4_;
708 if (!(T3_)) goto LA6_;
709 T3_ = !(((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
710 LA6_: ;
711 if (!T3_) goto LA7_;
712 result = atomicTypeX__vmdeps_25((*t).sym, info);
713 goto BeforeRet_;
714 }
715 LA7_: ;
716 switch ((*t).kind) {
717 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 0):
718 {
719 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_2), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0), t, info, idgen);
720 }
721 break;
722 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1):
723 {
724 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_3), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 187), t, info, idgen);
725 }
726 break;
727 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2):
728 {
729 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_4), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 188), t, info, idgen);
730 }
731 break;
732 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 5):
733 {
734 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_5), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 192), t, info, idgen);
735 }
736 break;
737 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 6):
738 {
739 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_6), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 193), t, info, idgen);
740 }
741 break;
742 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 7):
743 {
744 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_7), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 194), t, info, idgen);
745 }
746 break;
747 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 63):
748 {
749 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_8), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 169), t, info, idgen);
750 }
751 break;
752 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 3):
753 {
754 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_9), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0), t, info, idgen);
755 }
756 break;
757 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 49):
758 {
759 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T18_;
760 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
761 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T25_;
762 {
763 if (!((*t).n == 0)) goto LA21_;
764 T18_ = info;
765 }
766 goto LA19_;
767 LA21_: ;
768 {
769 T18_ = (*(*t).n).info;
770 }
771 LA19_: ;
772 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), T18_, t);
773 T24_ = NIM_NIL;
774 T24_ = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_10), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 271), t, info, idgen);
775 add__ast_4797(result, T24_);
776 T25_ = NIM_NIL;
777 T25_ = mapTypeToAstX__vmdeps_29(cache, (*t).sons->data[((NI) 0)], info, idgen, inst, NIM_FALSE);
778 add__ast_4797(result, T25_);
779 }
780 break;
781 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 16):
782 {
783 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T27_;
784 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T33_;
785 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T52_;
786 {
787 if (!((*t).n == 0)) goto LA30_;
788 T27_ = info;
789 }
790 goto LA28_;
791 LA30_: ;
792 {
793 T27_ = (*(*t).n).info;
794 }
795 LA28_: ;
796 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), T27_, t);
797 T33_ = NIM_NIL;
798 T33_ = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_11), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 159), t, info, idgen);
799 add__ast_4797(result, T33_);
800 {
801 NIM_BOOL T36_;
802 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* rng;
803 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T40_;
804 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T46_;
805 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T47_;
806 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T48_;
807 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T49_;
808 T36_ = (NIM_BOOL)0;
809 T36_ = inst;
810 if (!(T36_)) goto LA37_;
811 T36_ = ((*(*t).sons->data[((NI) 0)]).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20));
812 LA37_: ;
813 if (!T36_) goto LA38_;
814 {
815 if (!((*t).n == 0)) goto LA43_;
816 T40_ = info;
817 }
818 goto LA41_;
819 LA43_: ;
820 {
821 T40_ = (*(*t).n).info;
822 }
823 LA41_: ;
824 rng = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29), T40_, t);
825 T46_ = NIM_NIL;
826 T46_ = getIdent__idents_143(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_12));
827 T47_ = NIM_NIL;
828 T47_ = newIdentNode__ast_3712(T46_, info);
829 add__ast_4797(rng, T47_);
830 T48_ = NIM_NIL;
831 T48_ = copyTree__ast_4431((*(*(*t).sons->data[((NI) 0)]).n)._kind_6.sons->data[((NI) 0)]);
832 add__ast_4797(rng, T48_);
833 T49_ = NIM_NIL;
834 T49_ = copyTree__ast_4431((*(*(*t).sons->data[((NI) 0)]).n)._kind_6.sons->data[((NI) 1)]);
835 add__ast_4797(rng, T49_);
836 add__ast_4797(result, rng);
837 }
838 goto LA34_;
839 LA38_: ;
840 {
841 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T51_;
842 T51_ = NIM_NIL;
843 T51_ = mapTypeToAstX__vmdeps_29(cache, (*t).sons->data[((NI) 0)], info, idgen, inst, NIM_FALSE);
844 add__ast_4797(result, T51_);
845 }
846 LA34_: ;
847 T52_ = NIM_NIL;
848 T52_ = mapTypeToAstX__vmdeps_29(cache, (*t).sons->data[((NI) 1)], info, idgen, inst, NIM_FALSE);
849 add__ast_4797(result, T52_);
850 }
851 break;
852 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 8):
853 {
854 {
855 tyObject_TType__facALICuu8zUj0hjvbTLFg* T56_;
856 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T59_;
857 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T65_;
858 tyObject_TType__facALICuu8zUj0hjvbTLFg* T66_;
859 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T67_;
860 T56_ = NIM_NIL;
861 T56_ = base__types_63(t);
862 if (!!((T56_ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA57_;
863 {
864 if (!((*t).n == 0)) goto LA62_;
865 T59_ = info;
866 }
867 goto LA60_;
868 LA62_: ;
869 {
870 T59_ = (*(*t).n).info;
871 }
872 LA60_: ;
873 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), T59_, t);
874 T65_ = NIM_NIL;
875 T65_ = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_13), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 195), t, info, idgen);
876 add__ast_4797(result, T65_);
877 T66_ = NIM_NIL;
878 T66_ = base__types_63(t);
879 T67_ = NIM_NIL;
880 T67_ = mapTypeToAstX__vmdeps_29(cache, T66_, info, idgen, inst, NIM_FALSE);
881 add__ast_4797(result, T67_);
882 }
883 goto LA54_;
884 LA57_: ;
885 {
886 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_13), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 195), t, info, idgen);
887 }
888 LA54_: ;
889 }
890 break;
891 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 9):
892 {
893 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T70_;
894 {
895 if (!((*t).n == 0)) goto LA73_;
896 T70_ = info;
897 }
898 goto LA71_;
899 LA73_: ;
900 {
901 T70_ = (*(*t).n).info;
902 }
903 LA71_: ;
904 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), T70_, t);
905 {
906 NI i;
907 NI colontmp_;
908 NI i_2;
909 i = (NI)0;
910 colontmp_ = (NI)0;
911 colontmp_ = len__ast_4002(t);
912 i_2 = ((NI) 0);
913 {
914 while (1) {
915 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T79_;
916 if (!(i_2 < colontmp_)) goto LA78;
917 i = i_2;
918 T79_ = NIM_NIL;
919 T79_ = mapTypeToAstX__vmdeps_29(cache, (*t).sons->data[i], info, idgen, inst, NIM_FALSE);
920 add__ast_4797(result, T79_);
921 i_2 += ((NI) 1);
922 } LA78: ;
923 }
924 }
925 }
926 break;
927 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 11):
928 {
929 {
930 if (!inst) goto LA83_;
931 {
932 tyObject_TType__facALICuu8zUj0hjvbTLFg* T89_;
933 if (!allowRecursion) goto LA87_;
934 T89_ = NIM_NIL;
935 T89_ = lastSon__ast_3743(t);
936 result = mapTypeToAstX__vmdeps_29(cache, T89_, info, idgen, inst, NIM_TRUE);
937 }
938 goto LA85_;
939 LA87_: ;
940 {
941 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T91_;
942 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T97_;
943 {
944 if (!((*t).n == 0)) goto LA94_;
945 T91_ = info;
946 }
947 goto LA92_;
948 LA94_: ;
949 {
950 T91_ = (*(*t).n).info;
951 }
952 LA92_: ;
953 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), T91_, t);
954 T97_ = NIM_NIL;
955 T97_ = mapTypeToAstX__vmdeps_29(cache, (*t).sons->data[((NI) 0)], info, idgen, inst, NIM_FALSE);
956 add__ast_4797(result, T97_);
957 {
958 NI i_3;
959 NI colontmp__2;
960 NI T99_;
961 NI i_4;
962 i_3 = (NI)0;
963 colontmp__2 = (NI)0;
964 T99_ = (NI)0;
965 T99_ = len__ast_4002(t);
966 colontmp__2 = (NI)(T99_ - ((NI) 1));
967 i_4 = ((NI) 1);
968 {
969 while (1) {
970 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T102_;
971 if (!(i_4 < colontmp__2)) goto LA101;
972 i_3 = i_4;
973 T102_ = NIM_NIL;
974 T102_ = mapTypeToAstX__vmdeps_29(cache, (*t).sons->data[i_3], info, idgen, inst, NIM_FALSE);
975 add__ast_4797(result, T102_);
976 i_4 += ((NI) 1);
977 } LA101: ;
978 }
979 }
980 }
981 LA85_: ;
982 }
983 goto LA81_;
984 LA83_: ;
985 {
986 tyObject_TType__facALICuu8zUj0hjvbTLFg* T104_;
987 T104_ = NIM_NIL;
988 T104_ = lastSon__ast_3743(t);
989 result = mapTypeToAstX__vmdeps_29(cache, T104_, info, idgen, inst, allowRecursion);
990 }
991 LA81_: ;
992 }
993 break;
994 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 10):
995 {
996 {
997 tyObject_TType__facALICuu8zUj0hjvbTLFg* T110_;
998 if (!inst) goto LA108_;
999 T110_ = NIM_NIL;
1000 T110_ = lastSon__ast_3743(t);
1001 result = mapTypeToAstX__vmdeps_29(cache, T110_, info, idgen, inst, NIM_TRUE);
1002 }
1003 goto LA106_;
1004 LA108_: ;
1005 {
1006 tyObject_TType__facALICuu8zUj0hjvbTLFg* T112_;
1007 T112_ = NIM_NIL;
1008 T112_ = lastSon__ast_3743(t);
1009 result = mapTypeToAstX__vmdeps_29(cache, T112_, info, idgen, inst, NIM_FALSE);
1010 }
1011 LA106_: ;
1012 }
1013 break;
1014 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 4):
1015 {
1016 tyObject_TType__facALICuu8zUj0hjvbTLFg* T114_;
1017 T114_ = NIM_NIL;
1018 T114_ = lastSon__ast_3743(t);
1019 result = mapTypeToAstX__vmdeps_29(cache, T114_, info, idgen, inst, allowRecursion);
1020 }
1021 break;
1022 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 15):
1023 {
1024 tyObject_TType__facALICuu8zUj0hjvbTLFg* T116_;
1025 T116_ = NIM_NIL;
1026 T116_ = lastSon__ast_3743(t);
1027 result = mapTypeToAstX__vmdeps_29(cache, T116_, info, idgen, inst, NIM_FALSE);
1028 }
1029 break;
1030 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 13):
1031 {
1032 {
1033 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T122_;
1034 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T128_;
1035 if (!inst) goto LA120_;
1036 {
1037 if (!((*t).n == 0)) goto LA125_;
1038 T122_ = info;
1039 }
1040 goto LA123_;
1041 LA125_: ;
1042 {
1043 T122_ = (*(*t).n).info;
1044 }
1045 LA123_: ;
1046 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 146), T122_, t);
1047 T128_ = NIM_NIL;
1048 T128_ = mapTypeToAstX__vmdeps_29(cache, (*t).sons->data[((NI) 0)], info, idgen, inst, NIM_FALSE);
1049 add__ast_4797(result, T128_);
1050 }
1051 goto LA118_;
1052 LA120_: ;
1053 {
1054 {
1055 NIM_BOOL T132_;
1056 T132_ = (NIM_BOOL)0;
1057 T132_ = allowRecursion;
1058 if (T132_) goto LA133_;
1059 T132_ = ((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
1060 LA133_: ;
1061 if (!T132_) goto LA134_;
1062 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_14), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 168), t, info, idgen, inst);
1063 }
1064 goto LA130_;
1065 LA134_: ;
1066 {
1067 result = atomicTypeX__vmdeps_25((*t).sym, info);
1068 }
1069 LA130_: ;
1070 }
1071 LA118_: ;
1072 }
1073 break;
1074 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 12):
1075 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 30):
1076 {
1077 result = atomicTypeX__vmdeps_25((*t).sym, info);
1078 }
1079 break;
1080 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17):
1081 {
1082 {
1083 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T143_;
1084 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* objectDef;
1085 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T153_;
1086 if (!inst) goto LA141_;
1087 {
1088 if (!((*t).n == 0)) goto LA146_;
1089 T143_ = info;
1090 }
1091 goto LA144_;
1092 LA146_: ;
1093 {
1094 T143_ = (*(*t).n).info;
1095 }
1096 LA144_: ;
1097 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133), T143_, t);
1098 objectDef = (*(*(*t).sym).ast)._kind_6.sons->data[((NI) 2)];
1099 {
1100 if (!((*objectDef).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141))) goto LA151_;
1101 objectDef = (*objectDef)._kind_6.sons->data[((NI) 0)];
1102 }
1103 LA151_: ;
1104 T153_ = NIM_NIL;
1105 T153_ = copyTree__ast_4431((*objectDef)._kind_6.sons->data[((NI) 0)]);
1106 add__ast_4797(result, T153_);
1107 {
1108 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T158_;
1109 if (!((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA156_;
1110 T158_ = NIM_NIL;
1111 T158_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), info);
1112 add__ast_4797(result, T158_);
1113 }
1114 goto LA154_;
1115 LA156_: ;
1116 {
1117 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* nn;
1118 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T160_;
1119 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T166_;
1120 {
1121 if (!((*t).n == 0)) goto LA163_;
1122 T160_ = info;
1123 }
1124 goto LA161_;
1125 LA163_: ;
1126 {
1127 T160_ = (*(*t).n).info;
1128 }
1129 LA161_: ;
1130 nn = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 77), T160_, t);
1131 T166_ = NIM_NIL;
1132 T166_ = mapTypeToAstX__vmdeps_29(cache, (*t).sons->data[((NI) 0)], info, idgen, inst, NIM_FALSE);
1133 add__ast_4797(nn, T166_);
1134 add__ast_4797(result, nn);
1135 }
1136 LA154_: ;
1137 {
1138 NI T169_;
1139 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T172_;
1140 T169_ = (NI)0;
1141 T169_ = len__ast_3198((*t).n);
1142 if (!(((NI) 0) < T169_)) goto LA170_;
1143 T172_ = NIM_NIL;
1144 T172_ = objectNode__vmdeps_75(cache, (*t).n, idgen);
1145 add__ast_4797(result, T172_);
1146 }
1147 goto LA167_;
1148 LA170_: ;
1149 {
1150 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T174_;
1151 T174_ = NIM_NIL;
1152 T174_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), info);
1153 add__ast_4797(result, T174_);
1154 }
1155 LA167_: ;
1156 }
1157 goto LA139_;
1158 LA141_: ;
1159 {
1160 {
1161 NIM_BOOL T178_;
1162 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T182_;
1163 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T188_;
1164 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T196_;
1165 T178_ = (NIM_BOOL)0;
1166 T178_ = allowRecursion;
1167 if (T178_) goto LA179_;
1168 T178_ = ((*t).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL));
1169 LA179_: ;
1170 if (!T178_) goto LA180_;
1171 {
1172 if (!((*t).n == 0)) goto LA185_;
1173 T182_ = info;
1174 }
1175 goto LA183_;
1176 LA185_: ;
1177 {
1178 T182_ = (*(*t).n).info;
1179 }
1180 LA183_: ;
1181 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 133), T182_, t);
1182 T188_ = NIM_NIL;
1183 T188_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), info);
1184 add__ast_4797(result, T188_);
1185 {
1186 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T193_;
1187 if (!((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA191_;
1188 T193_ = NIM_NIL;
1189 T193_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), info);
1190 add__ast_4797(result, T193_);
1191 }
1192 goto LA189_;
1193 LA191_: ;
1194 {
1195 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T195_;
1196 T195_ = NIM_NIL;
1197 T195_ = mapTypeToAstX__vmdeps_29(cache, (*t).sons->data[((NI) 0)], info, idgen, inst, NIM_FALSE);
1198 add__ast_4797(result, T195_);
1199 }
1200 LA189_: ;
1201 T196_ = NIM_NIL;
1202 T196_ = copyTree__ast_4431((*t).n);
1203 add__ast_4797(result, T196_);
1204 }
1205 goto LA176_;
1206 LA180_: ;
1207 {
1208 result = atomicTypeX__vmdeps_25((*t).sym, info);
1209 }
1210 LA176_: ;
1211 }
1212 LA139_: ;
1213 }
1214 break;
1215 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14):
1216 {
1217 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T199_;
1218 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T205_;
1219 {
1220 if (!((*t).n == 0)) goto LA202_;
1221 T199_ = info;
1222 }
1223 goto LA200_;
1224 LA202_: ;
1225 {
1226 T199_ = (*(*t).n).info;
1227 }
1228 LA200_: ;
1229 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 150), T199_, t);
1230 T205_ = NIM_NIL;
1231 T205_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), info);
1232 add__ast_4797(result, T205_);
1233 {
1234 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** c;
1235 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp__3;
1236 NI i_5;
1237 NI L;
1238 NI T207_;
1239 c = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
1240 colontmp__3 = NIM_NIL;
1241 colontmp__3 = (*(*t).n)._kind_6.sons;
1242 i_5 = ((NI) 0);
1243 T207_ = (colontmp__3 ? colontmp__3->Sup.len : 0);
1244 L = T207_;
1245 {
1246 while (1) {
1247 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T210_;
1248 if (!(i_5 < L)) goto LA209;
1249 c = &colontmp__3->data[i_5];
1250 T210_ = NIM_NIL;
1251 T210_ = copyTree__ast_4431((*c));
1252 add__ast_4797(result, T210_);
1253 i_5 += ((NI) 1);
1254 } LA209: ;
1255 }
1256 }
1257 }
1258 break;
1259 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 18):
1260 {
1261 {
1262 if (!inst) goto LA214_;
1263 {
1264 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T220_;
1265 if (!((*t).n == 0)) goto LA218_;
1266 {
1267 if (!((*t).n == 0)) goto LA223_;
1268 T220_ = info;
1269 }
1270 goto LA221_;
1271 LA223_: ;
1272 {
1273 T220_ = (*(*t).n).info;
1274 }
1275 LA221_: ;
1276 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160), T220_, t);
1277 {
1278 tyObject_TType__facALICuu8zUj0hjvbTLFg** subType;
1279 NI i_6;
1280 NI L_2;
1281 NI T227_;
1282 subType = (tyObject_TType__facALICuu8zUj0hjvbTLFg**)0;
1283 i_6 = ((NI) 0);
1284 T227_ = ((*t).sons ? (*t).sons->Sup.len : 0);
1285 L_2 = T227_;
1286 {
1287 while (1) {
1288 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T230_;
1289 if (!(i_6 < L_2)) goto LA229;
1290 subType = &(*t).sons->data[i_6];
1291 T230_ = NIM_NIL;
1292 T230_ = mapTypeToAstX__vmdeps_29(cache, (*subType), info, idgen, inst, NIM_FALSE);
1293 add__ast_4797(result, T230_);
1294 i_6 += ((NI) 1);
1295 } LA229: ;
1296 }
1297 }
1298 }
1299 goto LA216_;
1300 LA218_: ;
1301 {
1302 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T232_;
1303 {
1304 if (!((*t).n == 0)) goto LA235_;
1305 T232_ = info;
1306 }
1307 goto LA233_;
1308 LA235_: ;
1309 {
1310 T232_ = (*(*t).n).info;
1311 }
1312 LA233_: ;
1313 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 134), T232_, t);
1314 {
1315 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** s;
1316 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp__4;
1317 NI i_7;
1318 NI L_3;
1319 NI T239_;
1320 s = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
1321 colontmp__4 = NIM_NIL;
1322 colontmp__4 = (*(*t).n)._kind_6.sons;
1323 i_7 = ((NI) 0);
1324 T239_ = (colontmp__4 ? colontmp__4->Sup.len : 0);
1325 L_3 = T239_;
1326 {
1327 while (1) {
1328 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* idX60gensym68_;
1329 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T242_;
1330 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T248_;
1331 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T249_;
1332 if (!(i_7 < L_3)) goto LA241;
1333 s = &colontmp__4->data[i_7];
1334 {
1335 if (!((*t).n == 0)) goto LA245_;
1336 T242_ = info;
1337 }
1338 goto LA243_;
1339 LA245_: ;
1340 {
1341 T242_ = (*(*t).n).info;
1342 }
1343 LA243_: ;
1344 idX60gensym68_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T242_, t);
1345 add__ast_4797(idX60gensym68_, (*s));
1346 T248_ = NIM_NIL;
1347 T248_ = mapTypeToAstX__vmdeps_29(cache, (*(*s)).typ, info, idgen, inst, NIM_FALSE);
1348 add__ast_4797(idX60gensym68_, T248_);
1349 T249_ = NIM_NIL;
1350 T249_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), info);
1351 add__ast_4797(idX60gensym68_, T249_);
1352 add__ast_4797(result, idX60gensym68_);
1353 i_7 += ((NI) 1);
1354 } LA241: ;
1355 }
1356 }
1357 }
1358 LA216_: ;
1359 }
1360 goto LA212_;
1361 LA214_: ;
1362 {
1363 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_15), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 170), t, info, idgen, inst);
1364 }
1365 LA212_: ;
1366 }
1367 break;
1368 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 19):
1369 {
1370 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_16), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 162), t, info, idgen, inst);
1371 }
1372 break;
1373 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 21):
1374 {
1375 {
1376 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T257_;
1377 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T263_;
1378 if (!inst) goto LA255_;
1379 {
1380 if (!((*t).n == 0)) goto LA260_;
1381 T257_ = info;
1382 }
1383 goto LA258_;
1384 LA260_: ;
1385 {
1386 T257_ = (*(*t).n).info;
1387 }
1388 LA258_: ;
1389 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 142), T257_, t);
1390 T263_ = NIM_NIL;
1391 T263_ = mapTypeToAstX__vmdeps_29(cache, (*t).sons->data[((NI) 0)], info, idgen, inst, NIM_FALSE);
1392 add__ast_4797(result, T263_);
1393 }
1394 goto LA253_;
1395 LA255_: ;
1396 {
1397 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_17), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 166), t, info, idgen, inst);
1398 }
1399 LA253_: ;
1400 }
1401 break;
1402 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 22):
1403 {
1404 {
1405 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T270_;
1406 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T276_;
1407 if (!inst) goto LA268_;
1408 {
1409 if (!((*t).n == 0)) goto LA273_;
1410 T270_ = info;
1411 }
1412 goto LA271_;
1413 LA273_: ;
1414 {
1415 T270_ = (*(*t).n).info;
1416 }
1417 LA271_: ;
1418 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 141), T270_, t);
1419 T276_ = NIM_NIL;
1420 T276_ = mapTypeToAstX__vmdeps_29(cache, (*t).sons->data[((NI) 0)], info, idgen, inst, NIM_FALSE);
1421 add__ast_4797(result, T276_);
1422 }
1423 goto LA266_;
1424 LA268_: ;
1425 {
1426 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_18), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 165), t, info, idgen, inst);
1427 }
1428 LA266_: ;
1429 }
1430 break;
1431 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 23):
1432 {
1433 {
1434 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T283_;
1435 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T289_;
1436 if (!inst) goto LA281_;
1437 {
1438 if (!((*t).n == 0)) goto LA286_;
1439 T283_ = info;
1440 }
1441 goto LA284_;
1442 LA286_: ;
1443 {
1444 T283_ = (*(*t).n).info;
1445 }
1446 LA284_: ;
1447 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 143), T283_, t);
1448 T289_ = NIM_NIL;
1449 T289_ = mapTypeToAstX__vmdeps_29(cache, (*t).sons->data[((NI) 0)], info, idgen, inst, NIM_FALSE);
1450 add__ast_4797(result, T289_);
1451 }
1452 goto LA279_;
1453 LA281_: ;
1454 {
1455 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_19), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 167), t, info, idgen, inst);
1456 }
1457 LA279_: ;
1458 }
1459 break;
1460 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 47):
1461 {
1462 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_20), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 269), t, info, idgen, inst);
1463 }
1464 break;
1465 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46):
1466 {
1467 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_21), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 269), t, info, idgen, inst);
1468 }
1469 break;
1470 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 24):
1471 {
1472 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_22), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 163), t, info, idgen, inst);
1473 }
1474 break;
1475 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 25):
1476 {
1477 {
1478 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T299_;
1479 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fp;
1480 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T305_;
1481 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T329_;
1482 if (!inst) goto LA297_;
1483 {
1484 if (!((*t).n == 0)) goto LA302_;
1485 T299_ = info;
1486 }
1487 goto LA300_;
1488 LA302_: ;
1489 {
1490 T299_ = (*(*t).n).info;
1491 }
1492 LA300_: ;
1493 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 147), T299_, t);
1494 {
1495 if (!((*t).n == 0)) goto LA308_;
1496 T305_ = info;
1497 }
1498 goto LA306_;
1499 LA308_: ;
1500 {
1501 T305_ = (*(*t).n).info;
1502 }
1503 LA306_: ;
1504 fp = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 76), T305_, t);
1505 {
1506 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T315_;
1507 if (!((*t).sons->data[((NI) 0)] == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA313_;
1508 T315_ = NIM_NIL;
1509 T315_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), info);
1510 add__ast_4797(fp, T315_);
1511 }
1512 goto LA311_;
1513 LA313_: ;
1514 {
1515 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T317_;
1516 T317_ = NIM_NIL;
1517 T317_ = mapTypeToAstX__vmdeps_29(cache, (*t).sons->data[((NI) 0)], (*(*(*t).n)._kind_6.sons->data[((NI) 0)]).info, idgen, inst, NIM_FALSE);
1518 add__ast_4797(fp, T317_);
1519 }
1520 LA311_: ;
1521 {
1522 NI i_8;
1523 NI colontmp__5;
1524 NI i_9;
1525 i_8 = (NI)0;
1526 colontmp__5 = (NI)0;
1527 colontmp__5 = len__ast_4002(t);
1528 i_9 = ((NI) 1);
1529 {
1530 while (1) {
1531 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* idX60gensym94_;
1532 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T321_;
1533 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T327_;
1534 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T328_;
1535 if (!(i_9 < colontmp__5)) goto LA320;
1536 i_8 = i_9;
1537 {
1538 if (!((*t).n == 0)) goto LA324_;
1539 T321_ = info;
1540 }
1541 goto LA322_;
1542 LA324_: ;
1543 {
1544 T321_ = (*(*t).n).info;
1545 }
1546 LA322_: ;
1547 idX60gensym94_ = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 35), T321_, t);
1548 add__ast_4797(idX60gensym94_, (*(*t).n)._kind_6.sons->data[i_8]);
1549 T327_ = NIM_NIL;
1550 T327_ = mapTypeToAstX__vmdeps_29(cache, (*t).sons->data[i_8], info, idgen, inst, NIM_FALSE);
1551 add__ast_4797(idX60gensym94_, T327_);
1552 T328_ = NIM_NIL;
1553 T328_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), info);
1554 add__ast_4797(idX60gensym94_, T328_);
1555 add__ast_4797(fp, idX60gensym94_);
1556 i_9 += ((NI) 1);
1557 } LA320: ;
1558 }
1559 }
1560 add__ast_4797(result, fp);
1561 T329_ = NIM_NIL;
1562 {
1563 NI T332_;
1564 T332_ = (NI)0;
1565 T332_ = len__ast_3198((*(*t).n)._kind_6.sons->data[((NI) 0)]);
1566 if (!(((NI) 0) < T332_)) goto LA333_;
1567 T329_ = copyTree__ast_4431((*(*(*t).n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 4)]);
1568 }
1569 goto LA330_;
1570 LA333_: ;
1571 {
1572 T329_ = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1), info);
1573 }
1574 LA330_: ;
1575 add__ast_4797(result, T329_);
1576 }
1577 goto LA295_;
1578 LA297_: ;
1579 {
1580 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_23), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0), t, info, idgen, inst);
1581 }
1582 LA295_: ;
1583 }
1584 break;
1585 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 27):
1586 {
1587 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_24), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 160), t, info, idgen, inst);
1588 }
1589 break;
1590 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 20):
1591 {
1592 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T339_;
1593 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T345_;
1594 {
1595 if (!((*t).n == 0)) goto LA342_;
1596 T339_ = info;
1597 }
1598 goto LA340_;
1599 LA342_: ;
1600 {
1601 T339_ = (*(*t).n).info;
1602 }
1603 LA340_: ;
1604 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), T339_, t);
1605 T345_ = NIM_NIL;
1606 T345_ = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_25), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 161), t, info, idgen);
1607 add__ast_4797(result, T345_);
1608 {
1609 NIM_BOOL T348_;
1610 NI T350_;
1611 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* rng_2;
1612 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T353_;
1613 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* T359_;
1614 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T360_;
1615 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T361_;
1616 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T362_;
1617 T348_ = (NIM_BOOL)0;
1618 T348_ = inst;
1619 if (!(T348_)) goto LA349_;
1620 T350_ = (NI)0;
1621 T350_ = len__ast_3198((*t).n);
1622 T348_ = (T350_ == ((NI) 2));
1623 LA349_: ;
1624 if (!T348_) goto LA351_;
1625 {
1626 if (!((*t).n == 0)) goto LA356_;
1627 T353_ = info;
1628 }
1629 goto LA354_;
1630 LA356_: ;
1631 {
1632 T353_ = (*(*t).n).info;
1633 }
1634 LA354_: ;
1635 rng_2 = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29), T353_, t);
1636 T359_ = NIM_NIL;
1637 T359_ = getIdent__idents_143(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_12));
1638 T360_ = NIM_NIL;
1639 T360_ = newIdentNode__ast_3712(T359_, info);
1640 add__ast_4797(rng_2, T360_);
1641 T361_ = NIM_NIL;
1642 T361_ = copyTree__ast_4431((*(*t).n)._kind_6.sons->data[((NI) 0)]);
1643 add__ast_4797(rng_2, T361_);
1644 T362_ = NIM_NIL;
1645 T362_ = copyTree__ast_4431((*(*t).n)._kind_6.sons->data[((NI) 1)]);
1646 add__ast_4797(rng_2, T362_);
1647 add__ast_4797(result, rng_2);
1648 }
1649 goto LA346_;
1650 LA351_: ;
1651 {
1652 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T364_;
1653 T364_ = NIM_NIL;
1654 T364_ = copyTree__ast_4431((*(*t).n)._kind_6.sons->data[((NI) 0)]);
1655 add__ast_4797(result, T364_);
1656 {
1657 NI T367_;
1658 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T370_;
1659 T367_ = (NI)0;
1660 T367_ = len__ast_3198((*t).n);
1661 if (!(((NI) 1) < T367_)) goto LA368_;
1662 T370_ = NIM_NIL;
1663 T370_ = copyTree__ast_4431((*(*t).n)._kind_6.sons->data[((NI) 1)]);
1664 add__ast_4797(result, T370_);
1665 }
1666 LA368_: ;
1667 }
1668 LA346_: ;
1669 }
1670 break;
1671 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 26):
1672 {
1673 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_26), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 191), t, info, idgen);
1674 }
1675 break;
1676 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28):
1677 {
1678 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_27), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 189), t, info, idgen);
1679 }
1680 break;
1681 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 29):
1682 {
1683 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_28), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 190), t, info, idgen);
1684 }
1685 break;
1686 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31):
1687 {
1688 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_29), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 173), t, info, idgen);
1689 }
1690 break;
1691 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 32):
1692 {
1693 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_30), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 174), t, info, idgen);
1694 }
1695 break;
1696 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 33):
1697 {
1698 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_31), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 175), t, info, idgen);
1699 }
1700 break;
1701 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 34):
1702 {
1703 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_32), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 176), t, info, idgen);
1704 }
1705 break;
1706 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35):
1707 {
1708 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_33), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 177), t, info, idgen);
1709 }
1710 break;
1711 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36):
1712 {
1713 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_34), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 183), t, info, idgen);
1714 }
1715 break;
1716 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 37):
1717 {
1718 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_35), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 184), t, info, idgen);
1719 }
1720 break;
1721 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 38):
1722 {
1723 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_36), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 185), t, info, idgen);
1724 }
1725 break;
1726 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39):
1727 {
1728 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_37), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 186), t, info, idgen);
1729 }
1730 break;
1731 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40):
1732 {
1733 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_38), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 178), t, info, idgen);
1734 }
1735 break;
1736 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 41):
1737 {
1738 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_39), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 179), t, info, idgen);
1739 }
1740 break;
1741 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 42):
1742 {
1743 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_40), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 180), t, info, idgen);
1744 }
1745 break;
1746 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 43):
1747 {
1748 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_41), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 181), t, info, idgen);
1749 }
1750 break;
1751 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44):
1752 {
1753 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_42), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 182), t, info, idgen);
1754 }
1755 break;
1756 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 48):
1757 {
1758 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_43), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 164), t, info, idgen, inst);
1759 }
1760 break;
1761 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 50):
1762 {
1763 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_44), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0), t, info, idgen);
1764 }
1765 break;
1766 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 51):
1767 {
1768 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_45), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0), t, info, idgen, inst);
1769 }
1770 break;
1771 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 52):
1772 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 53):
1773 {
1774 {
1775 tyObject_TType__facALICuu8zUj0hjvbTLFg* T396_;
1776 if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 10))&63U)))!=0)) goto LA394_;
1777 T396_ = NIM_NIL;
1778 T396_ = lastSon__ast_3743(t);
1779 result = mapTypeToAstX__vmdeps_29(cache, T396_, info, idgen, inst, NIM_FALSE);
1780 }
1781 goto LA392_;
1782 LA394_: ;
1783 {
1784 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T398_;
1785 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_46), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0), t, info, idgen, inst);
1786 T398_ = NIM_NIL;
1787 T398_ = copyTree__ast_4431((*t).n);
1788 add__ast_4797(result, T398_);
1789 }
1790 LA392_: ;
1791 }
1792 break;
1793 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 54):
1794 {
1795 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_47), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0), t, info, idgen, inst);
1796 }
1797 break;
1798 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 56):
1799 {
1800 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_48), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109), t, info, idgen, inst);
1801 }
1802 break;
1803 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 57):
1804 {
1805 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_49), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110), t, info, idgen, inst);
1806 }
1807 break;
1808 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 58):
1809 {
1810 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_50), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 96), t, info, idgen, inst);
1811 }
1812 break;
1813 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 64):
1814 {
1815 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_51), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 172), t, info, idgen, inst);
1816 }
1817 break;
1818 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 59):
1819 {
1820 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_52), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0), t, info, idgen);
1821 }
1822 break;
1823 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 55):
1824 {
1825 tyObject_TType__facALICuu8zUj0hjvbTLFg* T406_;
1826 T406_ = NIM_NIL;
1827 T406_ = lastSon__ast_3743(t);
1828 result = mapTypeToAstX__vmdeps_29(cache, T406_, info, idgen, inst, allowRecursion);
1829 }
1830 break;
1831 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 60):
1832 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 61):
1833 {
1834 {
1835 if (!inst) goto LA410_;
1836 {
1837 if (!!(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA414_;
1838 result = copyTree__ast_4431((*t).n);
1839 }
1840 goto LA412_;
1841 LA414_: ;
1842 {
1843 result = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_8), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 169), t, info, idgen);
1844 }
1845 LA412_: ;
1846 }
1847 goto LA408_;
1848 LA410_: ;
1849 {
1850 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q T418_;
1851 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T424_;
1852 {
1853 if (!((*t).n == 0)) goto LA421_;
1854 T418_ = info;
1855 }
1856 goto LA419_;
1857 LA421_: ;
1858 {
1859 T418_ = (*(*t).n).info;
1860 }
1861 LA419_: ;
1862 result = newNodeIT__ast_3378(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42), T418_, t);
1863 T424_ = NIM_NIL;
1864 T424_ = atomicTypeX__vmdeps_16(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_53), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0), t, info, idgen);
1865 add__ast_4797(result, T424_);
1866 {
1867 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T429_;
1868 if (!!(((*t).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA427_;
1869 T429_ = NIM_NIL;
1870 T429_ = copyTree__ast_4431((*t).n);
1871 add__ast_4797(result, T429_);
1872 }
1873 LA427_: ;
1874 }
1875 LA408_: ;
1876 }
1877 break;
1878 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45):
1879 {
1880 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_54), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 269), t, info, idgen, inst);
1881 }
1882 break;
1883 case ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 62):
1884 {
1885 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T432_;
1886 result = mapTypeToBracketX__vmdeps_36(cache, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_46), ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0), t, info, idgen, inst);
1887 T432_ = NIM_NIL;
1888 T432_ = copyTree__ast_4431((*t).n);
1889 add__ast_4797(result, T432_);
1890 }
1891 break;
1892 }
1893 }BeforeRet_: ;
1894 return result;
1895 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,opMapTypeInstToAst__vmdeps_600)1896 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, opMapTypeInstToAst__vmdeps_600)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
1897 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1898 result = NIM_NIL;
1899 result = mapTypeToAstX__vmdeps_29(cache, t, info, idgen, NIM_TRUE, NIM_FALSE);
1900 return result;
1901 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,opMapTypeToAst__vmdeps_594)1902 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, opMapTypeToAst__vmdeps_594)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
1903 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1904 result = NIM_NIL;
1905 result = mapTypeToAstX__vmdeps_29(cache, t, info, idgen, NIM_FALSE, NIM_TRUE);
1906 return result;
1907 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,opMapTypeImplToAst__vmdeps_606)1908 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, opMapTypeImplToAst__vmdeps_606)(tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
1909 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
1910 result = NIM_NIL;
1911 result = mapTypeToAstX__vmdeps_29(cache, t, info, idgen, NIM_TRUE, NIM_TRUE);
1912 return result;
1913 }
N_INLINE(void,pushSafePoint)1914 static N_INLINE(void, pushSafePoint)(TSafePoint* s) {
1915 (*s).prev = excHandler__system_2565;
1916 excHandler__system_2565 = s;
1917 }
N_INLINE(NimStringDesc *,slash___pureZos_121)1918 static N_INLINE(NimStringDesc*, slash___pureZos_121)(NimStringDesc* head, NimStringDesc* tail) {
1919 NimStringDesc* result;
1920 result = NIM_NIL;
1921 result = nosjoinPath(head, tail);
1922 return result;
1923 }
N_INLINE(void,popSafePoint)1924 static N_INLINE(void, popSafePoint)(void) {
1925 excHandler__system_2565 = (*excHandler__system_2565).prev;
1926 }
N_INLINE(Exception *,nimBorrowCurrentException)1927 static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
1928 Exception* result;
1929 result = NIM_NIL;
1930 result = currException__system_2566;
1931 return result;
1932 }
N_INLINE(void,nimCopyMem)1933 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
1934 void* T1_;
1935 T1_ = (void*)0;
1936 T1_ = memcpy(dest, source, ((size_t) (size)));
1937 }
N_INLINE(void,copyMem__system_1727)1938 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
1939 nimCopyMem(dest, source, size);
1940 }
N_INLINE(void,appendString)1941 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
1942 {
1943 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
1944 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
1945 (*dest).Sup.len += (*src).Sup.len;
1946 }
1947 LA3_: ;
1948 }
N_INLINE(void,popCurrentException)1949 static N_INLINE(void, popCurrentException)(void) {
1950 asgnRef((void**) (&currException__system_2566), (*currException__system_2566).up);
1951 }
N_NIMCALL(NimStringDesc *,opSlurp__vmdeps_9)1952 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, opSlurp__vmdeps_9)(NimStringDesc* file, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* module, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
1953 NimStringDesc* volatile result;
1954 TSafePoint TM__gLSXNlwmnHPzTIXzvpQGfw_55;
1955 NimStringDesc* volatile filename;
1956 NimStringDesc* T1_;
1957 NimStringDesc* T2_;
1958 NI32 T8_;
1959 tyArray__jlWPjgtbdjE069arIWHC9c9bg T9_;
1960 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T10_;
1961 result = NIM_NIL;
1962 pushSafePoint(&TM__gLSXNlwmnHPzTIXzvpQGfw_55);
1963 TM__gLSXNlwmnHPzTIXzvpQGfw_55.status = setjmp(TM__gLSXNlwmnHPzTIXzvpQGfw_55.context);
1964 if (TM__gLSXNlwmnHPzTIXzvpQGfw_55.status == 0) {
1965 T1_ = NIM_NIL;
1966 T1_ = toFullPath__msgs_538(conf, info.fileIndex);
1967 T2_ = NIM_NIL;
1968 T2_ = nosparentDir(T1_);
1969 filename = slash___pureZos_121(T2_, file);
1970 {
1971 NIM_BOOL T5_;
1972 T5_ = (NIM_BOOL)0;
1973 T5_ = nosfileExists(filename);
1974 if (!!(T5_)) goto LA6_;
1975 filename = findFile__options_4490(conf, file, NIM_FALSE);
1976 }
1977 LA6_: ;
1978 result = readFile__systemZio_469(filename);
1979 T8_ = (NI32)0;
1980 T8_ = fileInfoIdx__msgs_376(conf, filename);
1981 (void)(T8_);
1982 nimZeroMem((void*)T9_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
1983 T9_[0] = newStrNode__ast_3813(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20), filename);
1984 T10_ = NIM_NIL;
1985 T10_ = newTreeI__ast_3420(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 121), info, T9_, 1);
1986 appendToModule__ast_3540(module, T10_);
1987 popSafePoint();
1988 }
1989 else {
1990 popSafePoint();
1991 if (isObj(nimBorrowCurrentException()->Sup.m_type, (&NTIioerror__iLZrPn9anoh9ad1MmO0RczFw_))) {
1992 NimStringDesc* T13_;
1993 TM__gLSXNlwmnHPzTIXzvpQGfw_55.status = 0;
1994 T13_ = NIM_NIL;
1995 T13_ = rawNewString((file ? file->Sup.len : 0) + 18);
1996 appendString(T13_, ((NimStringDesc*) &TM__gLSXNlwmnHPzTIXzvpQGfw_56));
1997 appendString(T13_, file);
1998 liMessage__msgs_1118(conf, info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T13_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__gLSXNlwmnHPzTIXzvpQGfw_57, NIM_FALSE);
1999 result = ((NimStringDesc*) NIM_NIL);
2000 popCurrentException();
2001 }
2002 }
2003 if (TM__gLSXNlwmnHPzTIXzvpQGfw_55.status != 0) reraiseException();
2004 return result;
2005 }
2006