1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3
4 #include "nimbase.h"
5 #include <string.h>
6 #undef LANGUAGE_C
7 #undef MIPSEB
8 #undef MIPSEL
9 #undef PPC
10 #undef R3000
11 #undef R4000
12 #undef i386
13 #undef linux
14 #undef mips
15 #undef near
16 #undef far
17 #undef powerpc
18 #undef unix
19 #define nimfr_(x, y)
20 #define nimln_(x, y)
21 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
22 typedef struct tyObject_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_5308)(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_5270)(void* usr);
324 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
325 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
326 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
327 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
328 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5264)(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_5217;
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)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
421 return result;
422 }
N_INLINE(void,incRef__system_5308)423 static N_INLINE(void, incRef__system_5308)(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)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
430 return result;
431 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5270)432 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(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) 8));
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 = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
445 return result;
446 }
N_INLINE(void,rtlAddZCT__system_5313)447 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
448 addZCT__system_5264((&gch__system_5217.zct), c);
449 }
N_INLINE(void,decRef__system_5315)450 static N_INLINE(void, decRef__system_5315)(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_5313(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_5270(src);
467 incRef__system_5308(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_5270((*dest));
475 decRef__system_5315(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