1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
3 
4 #include "nimbase.h"
5 #include <string.h>
6 #undef LANGUAGE_C
7 #undef MIPSEB
8 #undef MIPSEL
9 #undef PPC
10 #undef R3000
11 #undef R4000
12 #undef i386
13 #undef linux
14 #undef mips
15 #undef near
16 #undef far
17 #undef powerpc
18 #undef unix
19 #define nimfr_(x, y)
20 #define nimln_(x, y)
21 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
22 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
23 typedef struct tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw;
24 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
25 typedef struct tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q;
26 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
27 typedef struct RootObj RootObj;
28 typedef struct TNimType TNimType;
29 typedef struct TNimNode TNimNode;
30 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
31 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
32 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
33 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
34 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
35 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
36 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
37 typedef struct NimStringDesc NimStringDesc;
38 typedef struct TGenericSeq TGenericSeq;
39 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
40 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
41 typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
42 typedef struct tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g;
43 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
44 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
45 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
46 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
47 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
48 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
49 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
50 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
51 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
52 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
53 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
54 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
55 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
56 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
57 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
58 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
59 typedef NU16 tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw;
60 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
61 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
62 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
63 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
64 struct TNimType {
65 NI size;
66 NI align;
67 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
68 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
69 TNimType* base;
70 TNimNode* node;
71 void* finalizer;
72 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
73 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
74 };
75 struct RootObj {
76 TNimType* m_type;
77 };
78 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
79 NI32 module;
80 NI32 item;
81 };
82 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
83   RootObj Sup;
84 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
85 };
86 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
87 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
88 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
89 NU16 line;
90 NI16 col;
91 NI32 fileIndex;
92 };
93 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
94 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
95 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
96 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
97 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
98 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
99 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
100 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
101 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
102 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
103 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
104 };
105 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
106   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
107 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
108 union{
109 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
110 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
111 } _kind_1;
112 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
113 NI bitsize;
114 NI alignment;
115 } _kind_2;
116 };
117 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
118 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
119 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
120 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
121 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
122 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
123 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
124 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
125 NI position;
126 NI offset;
127 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
128 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
129 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
130 };
131 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
132 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
133 struct TGenericSeq {
134 NI len;
135 NI reserved;
136 };
137 struct NimStringDesc {
138   TGenericSeq Sup;
139 NIM_CHAR data[SEQ_DECL_SIZE];
140 };
141 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
142 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
143 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
144 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
145 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
146 union{
147 struct {NI64 intVal;
148 } _kind_1;
149 struct {NF floatVal;
150 } _kind_2;
151 struct {NimStringDesc* strVal;
152 } _kind_3;
153 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
154 } _kind_4;
155 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
156 } _kind_5;
157 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
158 } _kind_6;
159 };
160 };
161 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
162 NI id;
163 NimStringDesc* s;
164 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
165 NI h;
166 };
167 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
168 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
169 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
170 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
171   tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
172 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
173 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
174 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
175 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
176 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
177 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
178 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
179 NI64 size;
180 NI16 align;
181 NI16 paddingAtEnd;
182 NI16 lockLevel;
183 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
184 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
185 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
186 };
187 typedef NU8 tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w;
188 typedef NU8 tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw;
189 struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
190 NimStringDesc* Field0;
191 NI Field1;
192 NI Field2;
193 };
194 typedef NimStringDesc* tyArray__Re75IspeoxXy2oCZHwcRrA[2];
195 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
196 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
197 struct tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g {
198 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* partialParam;
199 tyObject_TType__facALICuu8zUj0hjvbTLFg* objType;
200 tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache;
201 tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen;
202 };
203 typedef tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* tyArray__jlWPjgtbdjE069arIWHC9c9bg[1];
204 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
205 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
206 NI refcount;
207 TNimType* typ;
208 };
209 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
210 void* bottom;
211 };
212 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
213 NI len;
214 NI cap;
215 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
216 };
217 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
218 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
219 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
220 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
221 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
222 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
223 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
224 };
225 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
226 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
227 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
228 NI key;
229 NI upperBound;
230 NI level;
231 };
232 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
233 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
234 NI Field1;
235 };
236 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
237 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
238 NI len;
239 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
240 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
241 };
242 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
243 NI minLargeObj;
244 NI maxLargeObj;
245 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
246 NU32 flBitmap;
247 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
248 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
249 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
250 NI currMem;
251 NI maxMem;
252 NI freeMem;
253 NI occ;
254 NI lastSize;
255 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
256 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
257 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
258 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
259 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
260 NIM_BOOL locked;
261 NIM_BOOL blockChunkSizeIncrease;
262 NI nextChunkSize;
263 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
264 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
265 };
266 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
267 NI stackScans;
268 NI cycleCollections;
269 NI maxThreshold;
270 NI maxStackSize;
271 NI maxStackCells;
272 NI cycleTableSize;
273 NI64 maxPause;
274 };
275 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
276 NI counter;
277 NI max;
278 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
279 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
280 };
281 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
282 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
283 NI cycleThreshold;
284 NI zctThreshold;
285 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
286 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
287 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
288 NI recGcLock;
289 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
290 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
291 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
292 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
293 NI gcThreadId;
294 };
295 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
296   TGenericSeq Sup;
297   tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
298 };
299 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
300   TGenericSeq Sup;
301   tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
302 };
303 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, getPragmaVal__pragmas_95)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* procAst, tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw name);
304 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupParam__liftlocals_59)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest);
305 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
306 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);
307 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatOpenArray)(NimStringDesc* formatstr, NimStringDesc** a, NI aLen_0);
308 static N_INLINE(void, nimZeroMem)(void* p, NI size);
309 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
310 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___renderer_2106)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
311 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
312 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
313 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
314 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newTree__ast_3392)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** children, NI childrenLen_0);
315 N_LIB_PRIVATE N_NIMCALL(void, liftLocals__liftlocals_47)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i, tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g* c);
316 static N_INLINE(NIM_BOOL, interestingVar__liftlocals_17)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
317 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lookupOrAdd__liftlocals_28)(tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
318 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, addUniqueField__lowerings_443)(tyObject_TType__facALICuu8zUj0hjvbTLFg* obj, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen);
319 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNodeI__ast_3356)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
320 static N_INLINE(void, asgnRef)(void** dest, void* src);
321 static N_INLINE(void, incRef__system_5317)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
322 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
323 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5279)(void* usr);
324 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
325 static N_INLINE(void, decRef__system_5324)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
326 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
327 static N_INLINE(void, rtlAddZCT__system_5322)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
328 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5273)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
329 N_LIB_PRIVATE N_NIMCALL(void, add__ast_4797)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* son);
330 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3719)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
331 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newSymNode__ast_3716)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym);
332 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
333 STRING_LITERAL(TM__xMgMWEFctBTF9b4zdqZ9bcYg_2, "\'$1\' is not a parameter of \'$2\'", 31);
334 STRING_LITERAL(TM__xMgMWEFctBTF9b4zdqZ9bcYg_4, "/home/runner/work/nightlies/nightlies/nim/compiler/liftlocals.nim", 65);
335 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__xMgMWEFctBTF9b4zdqZ9bcYg_3 = {((NimStringDesc*) &TM__xMgMWEFctBTF9b4zdqZ9bcYg_4),
336 ((NI) 63),
337 ((NI) 14)}
338 ;
339 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__xMgMWEFctBTF9b4zdqZ9bcYg_5 = {
340 0x10, 0xa9, 0xe0, 0x00, 0x00, 0xe0, 0x80, 0x00,
341 0x00}
342 ;
343 STRING_LITERAL(TM__xMgMWEFctBTF9b4zdqZ9bcYg_6, "parameter \'$1\' is not a pointer to a partial object", 51);
344 static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__xMgMWEFctBTF9b4zdqZ9bcYg_7 = {((NimStringDesc*) &TM__xMgMWEFctBTF9b4zdqZ9bcYg_4),
345 ((NI) 68),
346 ((NI) 14)}
347 ;
348 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5226;
N_INLINE(NI,len__ast_3198)349 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
350 	NI result;
351 	NI T1_;
352 	result = (NI)0;
353 	T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
354 	result = T1_;
355 	return result;
356 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,lookupParam__liftlocals_59)357 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupParam__liftlocals_59)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* params, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* dest) {
358 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
359 {	result = NIM_NIL;
360 	{
361 		if (!!(((*dest).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2)))) goto LA3_;
362 		result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
363 		goto BeforeRet_;
364 	}
365 	LA3_: ;
366 	{
367 		NI i;
368 		NI colontmp_;
369 		NI i_2;
370 		i = (NI)0;
371 		colontmp_ = (NI)0;
372 		colontmp_ = len__ast_3198(params);
373 		i_2 = ((NI) 1);
374 		{
375 			while (1) {
376 				if (!(i_2 < colontmp_)) goto LA7;
377 				i = i_2;
378 				{
379 					NIM_BOOL T10_;
380 					T10_ = (NIM_BOOL)0;
381 					T10_ = ((*(*params)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
382 					if (!(T10_)) goto LA11_;
383 					T10_ = ((*(*(*(*params)._kind_6.sons->data[i])._kind_4.sym).name).id == (*(*dest)._kind_5.ident).id);
384 					LA11_: ;
385 					if (!T10_) goto LA12_;
386 					result = (*(*params)._kind_6.sons->data[i])._kind_4.sym;
387 					goto BeforeRet_;
388 				}
389 				LA12_: ;
390 				i_2 += ((NI) 1);
391 			} LA7: ;
392 		}
393 	}
394 	}BeforeRet_: ;
395 	return result;
396 }
N_INLINE(void,nimSetMem__systemZmemory_7)397 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
398 	void* T1_;
399 	T1_ = (void*)0;
400 	T1_ = memset(a, v, ((size_t) (size)));
401 }
N_INLINE(void,nimZeroMem)402 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
403 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
404 }
N_INLINE(NIM_BOOL,interestingVar__liftlocals_17)405 static N_INLINE(NIM_BOOL, interestingVar__liftlocals_17)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
406 	NIM_BOOL result;
407 	NIM_BOOL T1_;
408 	result = (NIM_BOOL)0;
409 	T1_ = (NIM_BOOL)0;
410 	T1_ = ((2100000 &((NU32)1<<((NU)((*s).kind)&31U)))!=0);
411 	if (!(T1_)) goto LA2_;
412 	T1_ = !((((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0));
413 	LA2_: ;
414 	result = T1_;
415 	return result;
416 }
N_INLINE(NI,pluspercent___system_696)417 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
418 	NI result;
419 	result = (NI)0;
420 	result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
421 	return result;
422 }
N_INLINE(void,incRef__system_5317)423 static N_INLINE(void, incRef__system_5317)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
424 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
425 }
N_INLINE(NI,minuspercent___system_716)426 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
427 	NI result;
428 	result = (NI)0;
429 	result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
430 	return result;
431 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5279)432 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5279)(void* usr) {
433 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
434 	NI T1_;
435 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
436 	T1_ = (NI)0;
437 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
438 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
439 	return result;
440 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)441 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
442 	NIM_BOOL result;
443 	result = (NIM_BOOL)0;
444 	result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
445 	return result;
446 }
N_INLINE(void,rtlAddZCT__system_5322)447 static N_INLINE(void, rtlAddZCT__system_5322)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
448 	addZCT__system_5273((&gch__system_5226.zct), c);
449 }
N_INLINE(void,decRef__system_5324)450 static N_INLINE(void, decRef__system_5324)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
451 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
452 	{
453 		NIM_BOOL T3_;
454 		T3_ = (NIM_BOOL)0;
455 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
456 		if (!T3_) goto LA4_;
457 		rtlAddZCT__system_5322(c);
458 	}
459 	LA4_: ;
460 }
N_INLINE(void,asgnRef)461 static N_INLINE(void, asgnRef)(void** dest, void* src) {
462 	{
463 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
464 		if (!!((src == NIM_NIL))) goto LA3_;
465 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
466 		T5_ = usrToCell__system_5279(src);
467 		incRef__system_5317(T5_);
468 	}
469 	LA3_: ;
470 	{
471 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
472 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
473 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
474 		T10_ = usrToCell__system_5279((*dest));
475 		decRef__system_5324(T10_);
476 	}
477 	LA8_: ;
478 	(*dest) = src;
479 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,lookupOrAdd__liftlocals_28)480 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lookupOrAdd__liftlocals_28)(tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g* c, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
481 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
482 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* field;
483 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* deref;
484 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
485 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T2_;
486 	result = NIM_NIL;
487 	field = addUniqueField__lowerings_443((*c).objType, s, (*c).cache, (*c).idgen);
488 	deref = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65), info);
489 	asgnRef((void**) (&(*deref).typ), (*c).objType);
490 	T1_ = NIM_NIL;
491 	T1_ = newSymNode__ast_3719((*c).partialParam, info);
492 	add__ast_4797(deref, T1_);
493 	result = newNodeI__ast_3356(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45), info);
494 	add__ast_4797(result, deref);
495 	T2_ = NIM_NIL;
496 	T2_ = newSymNode__ast_3716(field);
497 	add__ast_4797(result, T2_);
498 	asgnRef((void**) (&(*result).typ), (*field).typ);
499 	return result;
500 }
N_INLINE(NI,safeLen__ast_3191)501 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
502 	NI result;
503 	result = (NI)0;
504 	{
505 		if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
506 		result = ((NI) 0);
507 	}
508 	goto LA1_;
509 	LA3_: ;
510 	{
511 		result = len__ast_3198(n);
512 	}
513 	LA1_: ;
514 	return result;
515 }
N_NIMCALL(void,liftLocals__liftlocals_47)516 N_LIB_PRIVATE N_NIMCALL(void, liftLocals__liftlocals_47)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, NI i, tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g* c) {
517 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
518 	it = (*n)._kind_6.sons->data[i];
519 	switch ((*it).kind) {
520 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
521 	{
522 		{
523 			NIM_BOOL T4_;
524 			T4_ = (NIM_BOOL)0;
525 			T4_ = interestingVar__liftlocals_17((*it)._kind_4.sym);
526 			if (!T4_) goto LA5_;
527 			asgnRef((void**) (&(*n)._kind_6.sons->data[i]), lookupOrAdd__liftlocals_28(c, (*it)._kind_4.sym, (*it).info));
528 		}
529 		LA5_: ;
530 	}
531 	break;
532 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 52):
533 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 98):
534 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 123):
535 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 122):
536 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 79) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 81):
537 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 84):
538 	case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 159):
539 	{
540 	}
541 	break;
542 	default:
543 	{
544 		{
545 			NI i_2;
546 			NI colontmp_;
547 			NI i_3;
548 			i_2 = (NI)0;
549 			colontmp_ = (NI)0;
550 			colontmp_ = safeLen__ast_3191(it);
551 			i_3 = ((NI) 0);
552 			{
553 				while (1) {
554 					if (!(i_3 < colontmp_)) goto LA11;
555 					i_2 = i_3;
556 					liftLocals__liftlocals_47(it, i_2, c);
557 					i_3 += ((NI) 1);
558 				} LA11: ;
559 			}
560 		}
561 	}
562 	break;
563 	}
564 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,liftLocalsIfRequested__liftlocals_82)565 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, liftLocalsIfRequested__liftlocals_82)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prc, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_IdentCachecolonObjectType___TzLHS09bRH9a0TYLs39cqcNaw* cache, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_IdGeneratorcolonObjectType___9a3T65u6nPPLrld0SrEa57Q* idgen) {
566 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
567 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* liftDest;
568 	tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* partialParam;
569 	tyObject_TType__facALICuu8zUj0hjvbTLFg* objType;
570 	tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g c;
571 	tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* w;
572 	tyArray__jlWPjgtbdjE069arIWHC9c9bg T19_;
573 {	result = NIM_NIL;
574 	liftDest = getPragmaVal__pragmas_95((*prc).ast, ((tyEnum_TSpecialWord__ycbpMCRV6Cd2eBh3X9biEiw) 224));
575 	{
576 		if (!(liftDest == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
577 		result = n;
578 		goto BeforeRet_;
579 	}
580 	LA3_: ;
581 	partialParam = lookupParam__liftlocals_59((*(*prc).typ).n, liftDest);
582 	{
583 		tyArray__Re75IspeoxXy2oCZHwcRrA T9_;
584 		NimStringDesc* T10_;
585 		if (!(partialParam == 0)) goto LA7_;
586 		nimZeroMem((void*)T9_, sizeof(tyArray__Re75IspeoxXy2oCZHwcRrA));
587 		T9_[0] = dollar___renderer_2106(liftDest);
588 		T9_[1] = copyString((*(*prc).name).s);
589 		T10_ = NIM_NIL;
590 		T10_ = nsuFormatOpenArray(((NimStringDesc*) &TM__xMgMWEFctBTF9b4zdqZ9bcYg_2), T9_, 2);
591 		liMessage__msgs_1118(conf, (*liftDest).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T10_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__xMgMWEFctBTF9b4zdqZ9bcYg_3, NIM_FALSE);
592 		result = n;
593 		goto BeforeRet_;
594 	}
595 	LA7_: ;
596 	objType = skipTypes__ast_3735((*partialParam).typ, TM__xMgMWEFctBTF9b4zdqZ9bcYg_5);
597 	{
598 		NIM_BOOL T13_;
599 		NimStringDesc* T17_;
600 		NimStringDesc* T18_;
601 		T13_ = (NIM_BOOL)0;
602 		T13_ = !(((*objType).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 17)));
603 		if (T13_) goto LA14_;
604 		T13_ = !((((*objType).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 16))&63U)))!=0));
605 		LA14_: ;
606 		if (!T13_) goto LA15_;
607 		T17_ = NIM_NIL;
608 		T17_ = dollar___renderer_2106(liftDest);
609 		T18_ = NIM_NIL;
610 		T18_ = nsuFormatSingleElem(((NimStringDesc*) &TM__xMgMWEFctBTF9b4zdqZ9bcYg_6), T17_);
611 		liMessage__msgs_1118(conf, (*liftDest).info, ((tyEnum_TMsgKind__29cbg2fC1z5iM1PAI28kR5w) 14), T18_, ((tyEnum_TErrorHandling__q4fXoCN3Xdcm6SS9cUkWkWw) 0), TM__xMgMWEFctBTF9b4zdqZ9bcYg_7, NIM_FALSE);
612 		result = n;
613 		goto BeforeRet_;
614 	}
615 	LA15_: ;
616 	nimZeroMem((void*)(&c), sizeof(tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g));
617 	nimZeroMem((void*)(&c), sizeof(tyObject_Ctx__A9b2QU9aJFjQJmSPHiXNYt7g));
618 	c.partialParam = partialParam;
619 	c.objType = objType;
620 	c.cache = cache;
621 	c.idgen = idgen;
622 	nimZeroMem((void*)T19_, sizeof(tyArray__jlWPjgtbdjE069arIWHC9c9bg));
623 	T19_[0] = n;
624 	w = newTree__ast_3392(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115), T19_, 1);
625 	liftLocals__liftlocals_47(w, ((NI) 0), (&c));
626 	result = (*w)._kind_6.sons->data[((NI) 0)];
627 	}BeforeRet_: ;
628 	return result;
629 }
630