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