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