1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
3 #define NIM_EmulateOverflowChecks
4
5 #include "nimbase.h"
6 #include <string.h>
7 #include <math.h>
8 #undef LANGUAGE_C
9 #undef MIPSEB
10 #undef MIPSEL
11 #undef PPC
12 #undef R3000
13 #undef R4000
14 #undef i386
15 #undef linux
16 #undef mips
17 #undef near
18 #undef far
19 #undef powerpc
20 #undef unix
21 #define nimfr_(x, y)
22 #define nimln_(x, y)
23 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
24 typedef struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw;
25 typedef struct tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA;
26 typedef struct tyObject_Table__GpIQt2f0xrasZObyH6X8bg tyObject_Table__GpIQt2f0xrasZObyH6X8bg;
27 typedef struct tySequence__9chP3SzkaldXzawWQCDsqqg tySequence__9chP3SzkaldXzawWQCDsqqg;
28 typedef struct NimStringDesc NimStringDesc;
29 typedef struct TGenericSeq TGenericSeq;
30 typedef struct tyTuple__aGv2fk9ceddvdC01ZJC2Q2g tyTuple__aGv2fk9ceddvdC01ZJC2Q2g;
31 typedef struct TNimType TNimType;
32 typedef struct TNimNode TNimNode;
33 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
34 typedef struct RootObj RootObj;
35 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
36 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
37 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
38 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
39 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
40 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
41 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
42 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
43 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
44 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
45 typedef struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw tyObject_Target__9abOl5DLX8suLujOaHSvGzw;
46 typedef struct tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg;
47 typedef struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A;
48 typedef struct tySequence__tNFrR3kRuS1FSwuiLGoSSA tySequence__tNFrR3kRuS1FSwuiLGoSSA;
49 typedef struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA;
50 typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
51 typedef struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ tySequence__Zi9cGbCWofbtABoHJ5RbLNQ;
52 typedef struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg;
53 typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
54 typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
55 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
56 typedef struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw tySequence__pK3qSsBZwdXd6qyUMkd5Jw;
57 typedef struct tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ;
58 typedef struct tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig;
59 typedef struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw;
60 typedef struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA;
61 typedef struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ tySequence__eHqUwlHGGaPw0TDPDeL79cQ;
62 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
63 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
64 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
65 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
66 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
67 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
68 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
69 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
70 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
71 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
72 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
73 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
74 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
75 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
76 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
77 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
78 typedef struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA;
79 typedef struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA;
80 typedef struct tySequence__Bre9bNyuQOg1EJKitjSzn8w tySequence__Bre9bNyuQOg1EJKitjSzn8w;
81 typedef struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA tyObject_Int128__9a9axPfb75jdWY25AamJewkA;
82 typedef struct tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg;
83 typedef struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q;
84 typedef struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA tySequence__Mh9agqM29bm9aP5AUL1x7dZGA;
85 typedef struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg;
86 typedef struct tyObject_TIdentIter__Oi4goG2ACEsy9cyTe6OCPrA tyObject_TIdentIter__Oi4goG2ACEsy9cyTe6OCPrA;
87 typedef struct tyObject_TIdNodeTable__UWAp0mDjKLG1NEwUafSRhA tyObject_TIdNodeTable__UWAp0mDjKLG1NEwUafSRhA;
88 typedef struct tySequence__K8W16aeLg4OWxniQxtguMw tySequence__K8W16aeLg4OWxniQxtguMw;
89 typedef struct tyObject_TIdNodePair__fUuF71MXGqn0RZORg9clE3w tyObject_TIdNodePair__fUuF71MXGqn0RZORg9clE3w;
90 typedef struct tyTuple__z822nu9bFF1AlQnLrHjdwpA tyTuple__z822nu9bFF1AlQnLrHjdwpA;
91 typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
92 typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
93 typedef struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg;
94 struct tyObject_Table__GpIQt2f0xrasZObyH6X8bg {
95 tySequence__9chP3SzkaldXzawWQCDsqqg* data;
96 NI counter;
97 };
98 struct TGenericSeq {
99 NI len;
100 NI reserved;
101 };
102 struct NimStringDesc {
103 TGenericSeq Sup;
104 NIM_CHAR data[SEQ_DECL_SIZE];
105 };
106 struct tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA {
107 tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf;
108 tyObject_Table__GpIQt2f0xrasZObyH6X8bg visited;
109 NIM_BOOL renderSymType;
110 NI indent;
111 NI currentLine;
112 NIM_BOOL firstItem;
113 NIM_BOOL useColor;
114 NimStringDesc* res;
115 };
116 struct tyTuple__aGv2fk9ceddvdC01ZJC2Q2g {
117 NI Field0;
118 void* Field1;
119 NI Field2;
120 };
121 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
122 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
123 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
124 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
125 struct TNimType {
126 NI size;
127 NI align;
128 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
129 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
130 TNimType* base;
131 TNimNode* node;
132 void* finalizer;
133 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
134 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
135 };
136 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
137 struct TNimNode {
138 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
139 NI offset;
140 TNimType* typ;
141 NCSTRING name;
142 NI len;
143 TNimNode** sons;
144 };
145 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
146 struct RootObj {
147 TNimType* m_type;
148 };
149 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
150 NI32 module;
151 NI32 item;
152 };
153 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
154 RootObj Sup;
155 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
156 };
157 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
158 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
159 NU16 line;
160 NI16 col;
161 NI32 fileIndex;
162 };
163 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
164 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
165 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
166 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
167 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
168 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
169 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
170 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
171 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
172 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
173 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
174 };
175 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
176 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
177 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
178 union{
179 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
180 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
181 } _kind_1;
182 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
183 NI bitsize;
184 NI alignment;
185 } _kind_2;
186 };
187 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
188 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
189 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
190 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
191 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
192 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
193 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
194 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
195 NI position;
196 NI offset;
197 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
198 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
199 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
200 };
201 struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA {
202 NI id;
203 NimStringDesc* s;
204 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* next;
205 NI h;
206 };
207 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
208 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
209 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
210 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
211 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
212 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
213 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
214 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
215 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
216 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
217 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
218 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
219 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
220 NI64 size;
221 NI16 align;
222 NI16 paddingAtEnd;
223 NI16 lockLevel;
224 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
225 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
226 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
227 };
228 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
229 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
230 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
231 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
232 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
233 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
234 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
235 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
236 union{
237 struct {NI64 intVal;
238 } _kind_1;
239 struct {NF floatVal;
240 } _kind_2;
241 struct {NimStringDesc* strVal;
242 } _kind_3;
243 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
244 } _kind_4;
245 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
246 } _kind_5;
247 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
248 } _kind_6;
249 };
250 };
251 struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA {
252 RootObj Sup;
253 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* left;
254 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* right;
255 NI L;
256 NimStringDesc* data;
257 };
258 typedef tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* tyArray__wqYjTJU9ab2ZgEFMaQc3vNA[3];
259 typedef NU8 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g;
260 typedef NU8 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag;
261 typedef NU8 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ;
262 struct tyObject_Target__9abOl5DLX8suLujOaHSvGzw {
263 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
264 tyEnum_TSystemCPU__XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
265 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ targetOS;
266 tyEnum_TSystemOS__s7Mlr1t66SUqP6BKJMXLaQ hostOS;
267 NI intSize;
268 NI floatSize;
269 NI ptrSize;
270 NimStringDesc* tnl;
271 };
272 typedef NU64 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw;
273 typedef NU8 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA;
274 struct tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA {
275 tySequence__7lEisrXlQEzwtUKW5pzRCw* data;
276 NI counter;
277 };
278 struct tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A {
279 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q trackPos;
280 NIM_BOOL trackPosAttached;
281 tySet_tyEnum_TErrorOutput__fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
282 tySequence__tNFrR3kRuS1FSwuiLGoSSA* msgContext;
283 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastError;
284 tyObject_Table__Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
285 tySequence__Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
286 NI32 systemFileIdx;
287 };
288 typedef NU8 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ;
289 typedef NU8 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA;
290 typedef NU8 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw;
291 typedef NU8 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ;
292 typedef NU8 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ;
293 struct tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg {
294 tySequence__4eRCaZmrYLLw2k30GPTiMw* data;
295 NI counter;
296 };
297 typedef NU32 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ;
298 typedef NU8 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA;
299 typedef NU8 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ;
300 typedef NU8 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA;
301 typedef NU8 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug[11];
302 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
303 NI Field0;
304 NI Field1;
305 NI Field2;
306 };
307 typedef NU8 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug;
308 typedef struct {
309 N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
310 void* ClE_0;
311 } tyProc__YD0MR9bJ2x4beJkZdnjXN9cA;
312 typedef struct {
313 N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
314 void* ClE_0;
315 } tyProc__k2HFjxisIgDALbEUFojxaQ;
316 typedef NU8 tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA;
317 typedef struct {
318 N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity__x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
319 void* ClE_0;
320 } tyProc__oL9coyIA2VDTGdUcur9aL9bew;
321 struct tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw {
322 tyEnum_TBackend__4OBsgZ9cscH2JLUE5Wcz01g backend;
323 tyObject_Target__9abOl5DLX8suLujOaHSvGzw target;
324 NI linesCompiled;
325 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
326 tySet_tyEnum_TGlobalOption__RAfAEZqjnKMDumgyKKc1qw globalOptions;
327 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
328 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* arcToExpand;
329 tyObject_MsgConfig__kV7r8HWT0SqOYW2k2ukC6A m;
330 tyEnum_FilenameOption__eL86bAtPxXWHj24F5gOMFQ filenameOption;
331 NimStringDesc* unitSep;
332 NI evalTemplateCounter;
333 NI evalMacroCounter;
334 NI8 exitcode;
335 tyEnum_Command__0zjcIQ623TIRGPdtjLwTFA cmd;
336 NimStringDesc* cmdInput;
337 NIM_BOOL projectIsCmd;
338 NIM_BOOL implicitCmd;
339 tyEnum_TGCMode__tkz389aDYNd8ykeZszCuBSw selectedGC;
340 tyEnum_ExceptionSystem__1mkAogyaDAT7g9cQjzsgKLQ exc;
341 NIM_BOOL hintProcessingDots;
342 NI verbosity;
343 NI numberOfProcessors;
344 NF lastCmdTime;
345 tyEnum_SymbolFilesOption__gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
346 NI spellSuggestMax;
347 tyObject_HashSet__CD8Dpv0WGmASelVaNSo6zg cppDefines;
348 NimStringDesc* headerFile;
349 tySet_tyEnum_Feature__01UoAKYz1MxZiuG1X2VhNQ features;
350 tySet_tyEnum_LegacyFeature__hGCD9aOrxPvpXn4Ne6W6OVA legacyFeatures;
351 NimStringDesc* arguments;
352 tyEnum_IdeCmd__1Ced39bl5eePmZ1PKMPXigQ ideCmd;
353 NIM_BOOL oldNewlines;
354 tyEnum_TSystemCC__1eWBJUonHMOnlBwsOvpFmA cCompiler;
355 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug modifiedyNotes;
356 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug cmdlineNotes;
357 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug foreignPackageNotes;
358 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug notes;
359 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug warningAsErrors;
360 tySet_tyEnum_TMsgKind__7VIi6mabc7hDxpCmSMYIug mainPackageNotes;
361 NI mainPackageId;
362 NI errorCounter;
363 NI hintCounter;
364 NI warnCounter;
365 NI errorMax;
366 NI maxLoopIterationsVM;
367 NIM_BOOL isVmTrace;
368 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* configVars;
369 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* symbols;
370 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
371 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* nimblePaths;
372 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
373 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
374 NimStringDesc* outFile;
375 NimStringDesc* outDir;
376 NimStringDesc* jsonBuildFile;
377 NimStringDesc* prefixDir;
378 NimStringDesc* libpath;
379 NimStringDesc* nimcacheDir;
380 tyTuple__47w2DboNEPf69aPgubZdd7Q nimStdlibVersion;
381 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
382 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
383 tyObject_StringTableObj__V5PVrt9bIxZEeV7lfvqqtNg* cfileSpecificOptions;
384 NimStringDesc* projectName;
385 NimStringDesc* projectPath;
386 NimStringDesc* projectFull;
387 NIM_BOOL projectIsStdin;
388 tySet_tyEnum_StdOrrKind__6cbmyTzDPaZU9afMe4mz3Ug lastMsgWasDot;
389 NI32 projectMainIdx;
390 NI32 projectMainIdx2;
391 NimStringDesc* command;
392 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
393 NimStringDesc* commandLine;
394 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* extraCmds;
395 NIM_BOOL keepComments;
396 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
397 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
398 NimStringDesc* docSeeSrcUrl;
399 NimStringDesc* docRoot;
400 NimStringDesc* docCmd;
401 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* configFiles;
402 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
403 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
404 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
405 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
406 NimStringDesc* linkOptionsCmd;
407 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
408 NimStringDesc* linkOptions;
409 NimStringDesc* compileOptions;
410 NimStringDesc* cCompilerPath;
411 tySequence__pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
412 tyProc__YD0MR9bJ2x4beJkZdnjXN9cA suggestionResultHook;
413 NI suggestVersion;
414 NI suggestMaxResults;
415 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q lastLineInfo;
416 tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
417 tyProc__oL9coyIA2VDTGdUcur9aL9bew structuredErrorHook;
418 NimStringDesc* cppCustomNamespace;
419 NimStringDesc* nimMainPrefix;
420 tyObject_ProfileDatacolonObjectType___rPBBfFL4X0b9cQ6rfMNPXig* vmProfileData;
421 };
422 struct tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw {
423 NimStringDesc* fullPath;
424 NimStringDesc* projPath;
425 NimStringDesc* shortName;
426 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedName;
427 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
428 tySequence__sM4lkSb7zS6F7OVMvW9cffQ* lines;
429 NimStringDesc* dirtyFile;
430 NimStringDesc* hash;
431 NIM_BOOL dirty;
432 };
433 typedef NU8 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
434 typedef NU8 tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA;
435 typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
436 struct tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA {
437 NI counter;
438 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* data;
439 };
440 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
441 NI refcount;
442 TNimType* typ;
443 };
444 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
445 void* bottom;
446 };
447 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
448 NI len;
449 NI cap;
450 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
451 };
452 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
453 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
454 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
455 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
456 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
457 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
458 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
459 };
460 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
461 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
462 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
463 NI key;
464 NI upperBound;
465 NI level;
466 };
467 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
468 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
469 NI Field1;
470 };
471 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
472 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
473 NI len;
474 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
475 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
476 };
477 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
478 NI minLargeObj;
479 NI maxLargeObj;
480 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
481 NU32 flBitmap;
482 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
483 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
484 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
485 NI currMem;
486 NI maxMem;
487 NI freeMem;
488 NI occ;
489 NI lastSize;
490 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
491 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
492 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
493 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
494 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
495 NIM_BOOL locked;
496 NIM_BOOL blockChunkSizeIncrease;
497 NI nextChunkSize;
498 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
499 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
500 };
501 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
502 NI stackScans;
503 NI cycleCollections;
504 NI maxThreshold;
505 NI maxStackSize;
506 NI maxStackCells;
507 NI cycleTableSize;
508 NI64 maxPause;
509 };
510 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
511 NI counter;
512 NI max;
513 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
514 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
515 };
516 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
517 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
518 NI cycleThreshold;
519 NI zctThreshold;
520 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
521 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
522 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
523 NI recGcLock;
524 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
525 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
526 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
527 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
528 NI gcThreadId;
529 };
530 typedef NI tyArray__emiAJ8okywrJw7ZHLzlXbQ[34];
531 struct tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA {
532 NI elems;
533 NI counter;
534 NI max;
535 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* head;
536 tySequence__Bre9bNyuQOg1EJKitjSzn8w* data;
537 tyArray__emiAJ8okywrJw7ZHLzlXbQ a;
538 };
539 typedef NU tyArray__VqSA39cBDWnwnJySTumCdjw[8];
540 struct tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA {
541 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* next;
542 NI key;
543 tyArray__VqSA39cBDWnwnJySTumCdjw bits;
544 };
545 typedef NU32 tyArray__FleBT9cC2nxhgiXmSYYnEKA[4];
546 struct tyObject_Int128__9a9axPfb75jdWY25AamJewkA {
547 tyArray__FleBT9cC2nxhgiXmSYYnEKA udata;
548 };
549 struct tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg {
550 NI h;
551 };
552 struct tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg {
553 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key;
554 RootObj* val;
555 };
556 struct tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q {
557 NI counter;
558 tySequence__Mh9agqM29bm9aP5AUL1x7dZGA* data;
559 };
560 struct tyObject_TIdentIter__Oi4goG2ACEsy9cyTe6OCPrA {
561 NI h;
562 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
563 };
564 struct tyObject_TIdNodeTable__UWAp0mDjKLG1NEwUafSRhA {
565 NI counter;
566 tySequence__K8W16aeLg4OWxniQxtguMw* data;
567 };
568 struct tyObject_TIdNodePair__fUuF71MXGqn0RZORg9clE3w {
569 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key;
570 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val;
571 };
572 typedef NU8 tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA;
573 struct tyTuple__z822nu9bFF1AlQnLrHjdwpA {
574 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q Field0;
575 NimStringDesc* Field1;
576 };
577 struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
578 NI Field0;
579 NimStringDesc* Field1;
580 NI32 Field2;
581 };
582 struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
583 NI Field0;
584 NimStringDesc* Field1;
585 };
586 typedef NU8 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA;
587 struct tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg {
588 NimStringDesc* nimname;
589 NimStringDesc* cname;
590 NimStringDesc* obj;
591 tySet_tyEnum_CfileFlag__Vl9c9ayddDuXiWtnWTsEYGsA flags;
592 NimStringDesc* customArgs;
593 };
594 struct tySequence__9chP3SzkaldXzawWQCDsqqg {
595 TGenericSeq Sup;
596 tyTuple__aGv2fk9ceddvdC01ZJC2Q2g data[SEQ_DECL_SIZE];
597 };
598 struct tySequence__eHqUwlHGGaPw0TDPDeL79cQ {
599 TGenericSeq Sup;
600 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* data[SEQ_DECL_SIZE];
601 };
602 struct tySequence__Mh9agqM29bm9aP5AUL1x7dZGA {
603 TGenericSeq Sup;
604 tyObject_TIdPair__AdFnD2YdADPeuJbG2YJ4vg data[SEQ_DECL_SIZE];
605 };
606 struct tySequence__K8W16aeLg4OWxniQxtguMw {
607 TGenericSeq Sup;
608 tyObject_TIdNodePair__fUuF71MXGqn0RZORg9clE3w data[SEQ_DECL_SIZE];
609 };
610 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
611 TGenericSeq Sup;
612 tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
613 };
614 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
615 TGenericSeq Sup;
616 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
617 };
618 struct tySequence__tNFrR3kRuS1FSwuiLGoSSA {
619 TGenericSeq Sup;
620 tyTuple__z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
621 };
622 struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
623 TGenericSeq Sup;
624 tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
625 };
626 struct tySequence__Zi9cGbCWofbtABoHJ5RbLNQ {
627 TGenericSeq Sup;
628 tyObject_TFileInfo__GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
629 };
630 struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
631 TGenericSeq Sup;
632 tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
633 };
634 struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
635 TGenericSeq Sup;
636 NimStringDesc* data[SEQ_DECL_SIZE];
637 };
638 struct tySequence__pK3qSsBZwdXd6qyUMkd5Jw {
639 TGenericSeq Sup;
640 tyObject_Cfile__i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
641 };
642 struct tySequence__Bre9bNyuQOg1EJKitjSzn8w {
643 TGenericSeq Sup;
644 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* data[SEQ_DECL_SIZE];
645 };
646 N_LIB_PRIVATE N_NIMCALL(void, debugSym)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
647 static N_INLINE(void, nimZeroMem)(void* p, NI size);
648 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
649 N_LIB_PRIVATE N_NIMCALL(void, initTable__astalgo_3033)(NI initialSize, tyObject_Table__GpIQt2f0xrasZObyH6X8bg* Result);
650 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
651 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count);
652 N_LIB_PRIVATE N_NIMCALL(NI, nextPowerOfTwo__pureZmath_176)(NI x);
653 N_LIB_PRIVATE N_NIMCALL(void*, newSeq)(TNimType* typ, NI len);
654 static N_NIMCALL(void, Marker_tySequence__9chP3SzkaldXzawWQCDsqqg)(void* p, NI op);
655 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_1103)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* value);
656 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
657 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
658 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
659 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
660 N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__astalgo_1178)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t, void* key, NI default_0);
661 static N_INLINE(NI, rawGet__astalgo_1188)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t, void* key, NI* hc);
662 static N_INLINE(NI, hash__pureZhashes_124)(void* x);
663 static N_INLINE(NI, hash__pureZhashes_128)(NI x);
664 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x);
665 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b);
666 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode);
667 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash);
668 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___astalgo_1522)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg* t, void* key, NI val);
669 static N_INLINE(NIM_BOOL, mustRehash__astalgo_1695)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t);
670 N_LIB_PRIVATE N_NIMCALL(void, enlarge__astalgo_1848)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg* t);
671 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__astalgo_2152)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg* t, tySequence__9chP3SzkaldXzawWQCDsqqg** data, void* key, NI val, NI hc, NI h);
672 static N_INLINE(NI, rawGetKnownHC__astalgo_2321)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t, void* key, NI hc);
673 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x);
674 N_LIB_PRIVATE N_NIMCALL(void, addInt__stdZprivateZdigitsutils_167)(NimStringDesc** result, NI64 x);
675 N_LIB_PRIVATE N_NIMCALL(void, openCurly__astalgo_1062)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0);
676 N_LIB_PRIVATE N_NIMCALL(void, indentMore__astalgo_1039)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0);
677 N_LIB_PRIVATE N_NIMCALL(void, key__astalgo_1072)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, NimStringDesc* key);
678 N_LIB_PRIVATE N_NIMCALL(void, newlineAndIndent__astalgo_1051)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0);
679 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
680 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_2558)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw value);
681 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
682 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_1075)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, NimStringDesc* value);
683 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_1078)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, NI64 value);
684 static N_INLINE(NI, countBits64)(NU64 n);
685 static N_INLINE(NI, countSetBitsImpl__systemZcountbits95impl_61)(NU64 x);
686 N_CDECL(int, __builtin_popcountll)(unsigned long long x);
687 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_2578)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw value);
688 N_LIB_PRIVATE N_NIMCALL(void, openBracket__astalgo_1068)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0);
689 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_2591)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw value);
690 N_LIB_PRIVATE N_NIMCALL(void, comma__astalgo_1066)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0);
691 N_LIB_PRIVATE N_NIMCALL(void, closeBracket__astalgo_1070)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0);
692 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_1097)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tyObject_TType__facALICuu8zUj0hjvbTLFg* value);
693 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_2734)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag value);
694 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_2754)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw value);
695 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_2767)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw value);
696 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_1100)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value);
697 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_2933)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw value);
698 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, comment__ast_993)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
699 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___ropes_250)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r);
700 N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, lineInfoToStr__astalgo_28)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
701 N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___astalgo_353)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
702 N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, runtimeFormat__ropes_271)(NimStringDesc* frmt, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
703 N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, makeYamlString__astalgo_330)(NimStringDesc* s);
704 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
705 N_LIB_PRIVATE N_NIMCALL(void, add__ropes_159)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** a, tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* b);
706 N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rope__ropes_109)(NimStringDesc* s);
707 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toYamlChar__astalgo_320)(NIM_CHAR c);
708 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toHex__pureZstrutils_1792)(NI x, NI len);
709 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
710 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
711 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimCharToStr)(NIM_CHAR x);
712 N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, rope__ropes_115)(NI64 i);
713 static N_INLINE(NI, toLinenumber__msgs_609)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
714 static N_INLINE(NI, toColumn__msgs_612)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info);
715 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_2948)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg value);
716 static N_INLINE(NI, countBits32)(NU32 n);
717 static N_INLINE(NI, countSetBitsImpl__systemZcountbits95impl_26)(NU32 x);
718 N_CDECL(int, __builtin_popcount)(unsigned int x);
719 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_2988)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg value);
720 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toStrMaxPrecision__astalgo_920)(NF f);
721 N_LIB_PRIVATE N_NIMCALL(tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA, classify__pureZmath_147)(NF x);
722 static N_INLINE(NIM_BOOL, signbit__astalgo_926)(NF x);
723 N_LIB_PRIVATE N_NIMCALL(void, addFloatRoundtrip__system_3127)(NimStringDesc** result, NF x);
724 static N_INLINE(NIM_BOOL, eqeq___idents_220)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* a, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* b);
725 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
726 N_LIB_PRIVATE N_NIMCALL(void, closeCurly__astalgo_1064)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0);
727 N_LIB_PRIVATE N_NIMCALL(void, indentLess__astalgo_1045)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0);
728 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n);
729 N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
730 N_LIB_PRIVATE N_NIMCALL(void, debugType)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
731 N_LIB_PRIVATE N_NIMCALL(void, debugNode)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf);
732 static N_INLINE(NI, nextTry__astalgo_90)(NI h, NI maxHash);
733 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, mustRehash__astalgo_87)(NI length, NI counter);
734 N_LIB_PRIVATE N_NIMCALL(void, strTableEnlarge__astalgo_3306)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* t);
735 N_LIB_PRIVATE N_NIMCALL(void, strTableRawInsert__astalgo_3252)(tySequence__eHqUwlHGGaPw0TDPDeL79cQ** data, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* n);
736 static N_INLINE(void, asgnRef)(void** dest, void* src);
737 static N_INLINE(void, incRef__system_5338)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
738 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
739 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5300)(void* usr);
740 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
741 static N_INLINE(void, decRef__system_5345)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
742 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
743 static N_INLINE(void, rtlAddZCT__system_5343)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
744 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5294)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
745 N_LIB_PRIVATE N_NIMCALL(void, incl__pureZcollectionsZintsets_55)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
746 N_LIB_PRIVATE N_NIMCALL(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*, packedSetGet__astalgo_433)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* t, NI key);
747 static N_INLINE(NI, nextTry__stdZpackedsets_41)(NI h, NI maxHash, NI* perturb);
748 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___int495056_313)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
749 N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__9a9axPfb75jdWY25AamJewkA, getInt__ast_4592)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a);
750 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
751 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
752 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
753 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, nextIter__astalgo_3762)(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg* ti, tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab);
754 N_LIB_PRIVATE N_NIMCALL(NI, idTableRawGet__astalgo_3813)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q t, NI key);
755 N_LIB_PRIVATE N_NIMCALL(void, idTableRawInsert__astalgo_3905)(tySequence__Mh9agqM29bm9aP5AUL1x7dZGA** data, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key, RootObj* val);
756 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, nextIdentIter__astalgo_3408)(tyObject_TIdentIter__Oi4goG2ACEsy9cyTe6OCPrA* ti, tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab);
757 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameIgnoreBacktickGensymInfo__astalgo_264)(NimStringDesc* a, NimStringDesc* b);
758 N_LIB_PRIVATE N_NIMCALL(NIM_CHAR, nsuToLowerAsciiChar)(NIM_CHAR c);
759 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, nextIdentExcluding__astalgo_3432)(tyObject_TIdentIter__Oi4goG2ACEsy9cyTe6OCPrA* ti, tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* excluding);
760 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_3496)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key);
761 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupInRecord__astalgo_84)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* field);
762 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
763 N_LIB_PRIVATE N_NIMCALL(NI, idNodeTableRawGet__astalgo_4024)(tyObject_TIdNodeTable__UWAp0mDjKLG1NEwUafSRhA t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key);
764 N_LIB_PRIVATE N_NIMCALL(void, idNodeTableRawInsert__astalgo_4071)(tySequence__K8W16aeLg4OWxniQxtguMw** data, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val);
765 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int495056_309)(tyObject_Int128__9a9axPfb75jdWY25AamJewkA a, tyObject_Int128__9a9axPfb75jdWY25AamJewkA b);
766 static N_INLINE(NI, cmpStrings)(NimStringDesc* a, NimStringDesc* b);
767 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, leValue__astalgo_135)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b);
768 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, strTableInclReportConflict__astalgo_3342)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* n, NIM_BOOL onConflictKeepOld);
769 N_LIB_PRIVATE N_NIMCALL(void, symTabReplaceRaw__astalgo_3277)(tySequence__eHqUwlHGGaPw0TDPDeL79cQ** data, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prevSym, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* newSym);
770 N_LIB_PRIVATE TNimType NTIkeyvaluepair__aGv2fk9ceddvdC01ZJC2Q2g_;
771 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
772 extern TNimType NTIpointer__vr5DoT1jILTGdRlYv1OYpw_;
773 N_LIB_PRIVATE TNimType NTIkeyvaluepairseq__9chP3SzkaldXzawWQCDsqqg_;
774 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_3, "null", 4);
775 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_4, "\033[90m", 5);
776 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_5, "<defined ", 9);
777 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_6, " lines upwards>", 15);
778 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_7, "\033[0m", 4);
779 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_8, "{", 1);
780 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_9, ",", 1);
781 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_10, "\012", 1);
782 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_11, "\"", 1);
783 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_12, "\": ", 3);
784 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_13, "kind", 4);
785 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_14, "\033[34m", 5);
786 extern TNimType NTItsymkind__cNCW9acsSznmEccl1fgQwkw_;
787 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_15, "name", 4);
788 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_16, "\033[32m", 5);
789 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_17, "id", 2);
790 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_18, "\033[33m", 5);
791 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_19, "position", 8);
792 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_20, "flags", 5);
793 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_21, "[", 1);
794 extern TNimType NTItsymflag__K9ay6LWMat9bUiT9bIbMxpDHw_;
795 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_22, ", ", 2);
796 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_23, "]", 1);
797 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_24, "typ", 3);
798 extern TNimType NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_;
799 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_25, "sym", 3);
800 extern TNimType NTIttypeflag__x2m5g1NpbmDig4wLT3Ylhw_;
801 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_26, "n", 1);
802 extern TNimType NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_;
803 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_27, "comment", 7);
804 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_28, "info", 4);
805 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_29, "[$1, $2, $3]", 12);
806 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_30, "\\u", 2);
807 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_31, "command line", 12);
808 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_32, "\?\?\?", 3);
809 extern TNimType NTItnodeflag__jyh9acXHkhZANSSvPIY7ZLg_;
810 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_33, "nil", 3);
811 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_34, "intVal", 6);
812 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_35, "floatVal", 8);
813 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_36, "-NAN", 4);
814 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_37, "NAN", 3);
815 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_38, "-0.0", 4);
816 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_39, "0.0", 3);
817 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_40, "INF", 3);
818 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_41, "-INF", 4);
819 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_42, "strVal", 6);
820 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_43, "ident", 5);
821 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_44, "sons", 4);
822 STRING_LITERAL(TM__uRgrUHgaDgkYkoMPsaodqw_45, "}", 1);
823 extern TNimType NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_;
824 extern TNimType NTItidpairseq__Mh9agqM29bm9aP5AUL1x7dZGA_;
825 extern TNimType NTItidnodepairseq__K8W16aeLg4OWxniQxtguMw_;
826 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5247;
N_INLINE(void,nimSetMem__systemZmemory_7)827 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
828 void* T1_;
829 T1_ = (void*)0;
830 T1_ = memset(a, v, ((size_t) (size)));
831 }
N_INLINE(void,nimZeroMem)832 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
833 nimSetMem__systemZmemory_7(p, ((int) 0), size);
834 }
N_INLINE(NI,slotsNeeded__pureZcollectionsZtables_42)835 static N_INLINE(NI, slotsNeeded__pureZcollectionsZtables_42)(NI count) {
836 NI result;
837 result = (NI)0;
838 result = nextPowerOfTwo__pureZmath_176((NI)((NI)((NI)(((NI) (count)) * ((NI) 3)) / ((NI) 2)) + ((NI) 4)));
839 return result;
840 }
N_NIMCALL(void,Marker_tySequence__9chP3SzkaldXzawWQCDsqqg)841 static N_NIMCALL(void, Marker_tySequence__9chP3SzkaldXzawWQCDsqqg)(void* p, NI op) {
842 tySequence__9chP3SzkaldXzawWQCDsqqg* a;
843 NI T1_;
844 a = (tySequence__9chP3SzkaldXzawWQCDsqqg*)p;
845 T1_ = (NI)0;
846 }
N_NIMCALL(void,initTable__astalgo_3033)847 N_LIB_PRIVATE N_NIMCALL(void, initTable__astalgo_3033)(NI initialSize, tyObject_Table__GpIQt2f0xrasZObyH6X8bg* Result) {
848 NI correctSizeX60gensym137_;
849 unsureAsgnRef((void**)&(*Result).data, NIM_NIL);
850 (*Result).counter = 0;
851 correctSizeX60gensym137_ = slotsNeeded__pureZcollectionsZtables_42(((NI) (initialSize)));
852 (*Result).counter = ((NI) 0);
853 unsureAsgnRef((void**) (&(*Result).data), (tySequence__9chP3SzkaldXzawWQCDsqqg*) newSeq((&NTIkeyvaluepairseq__9chP3SzkaldXzawWQCDsqqg_), ((NI) (correctSizeX60gensym137_))));
854 }
N_INLINE(void,nimCopyMem)855 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
856 void* T1_;
857 T1_ = (void*)0;
858 T1_ = memcpy(dest, source, ((size_t) (size)));
859 }
N_INLINE(void,copyMem__system_1727)860 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
861 nimCopyMem(dest, source, size);
862 }
N_INLINE(void,appendString)863 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
864 {
865 if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
866 copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
867 (*dest).Sup.len += (*src).Sup.len;
868 }
869 LA3_: ;
870 }
N_INLINE(NU64,hiXorLo__pureZhashes_79)871 static N_INLINE(NU64, hiXorLo__pureZhashes_79)(NU64 a, NU64 b) {
872 NU64 result;
873 result = (NU64)0;
874 __uint128_t r = a; r *= b; result = (r >> 64) ^ r;
875 return result;
876 }
N_INLINE(NI,hashWangYi1__pureZhashes_136)877 static N_INLINE(NI, hashWangYi1__pureZhashes_136)(NU64 x) {
878 NI result;
879 NU64 T1_;
880 NU64 T2_;
881 result = (NI)0;
882 T1_ = (NU64)0;
883 T1_ = hiXorLo__pureZhashes_79(11562461410679940143ULL, (NU64)(x ^ 16646288086500911323ULL));
884 T2_ = (NU64)0;
885 T2_ = hiXorLo__pureZhashes_79(T1_, 16952864883938283885ULL);
886 result = ((NI) (T2_));
887 return result;
888 }
N_INLINE(NI,hash__pureZhashes_128)889 static N_INLINE(NI, hash__pureZhashes_128)(NI x) {
890 NI result;
891 result = (NI)0;
892 result = hashWangYi1__pureZhashes_136(((NU64) (x)));
893 return result;
894 }
N_INLINE(NI,hash__pureZhashes_124)895 static N_INLINE(NI, hash__pureZhashes_124)(void* x) {
896 NI result;
897 NI y;
898 result = (NI)0;
899 y = ((NI) (ptrdiff_t) (x));
900 result = hash__pureZhashes_128(y);
901 return result;
902 }
N_INLINE(NIM_BOOL,isFilled__pureZcollectionsZtables_31)903 static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_31)(NI hcode) {
904 NIM_BOOL result;
905 result = (NIM_BOOL)0;
906 result = !((hcode == ((NI) 0)));
907 return result;
908 }
N_INLINE(NI,nextTry__pureZcollectionsZtables_34)909 static N_INLINE(NI, nextTry__pureZcollectionsZtables_34)(NI h, NI maxHash) {
910 NI result;
911 result = (NI)0;
912 result = (NI)((NI)(h + ((NI) 1)) & maxHash);
913 return result;
914 }
N_INLINE(NI,rawGet__astalgo_1188)915 static N_INLINE(NI, rawGet__astalgo_1188)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t, void* key, NI* hc) {
916 NI result;
917 NI h;
918 NI T10_;
919 { result = (NI)0;
920 (*hc) = hash__pureZhashes_124(key);
921 {
922 if (!((*hc) == ((NI) 0))) goto LA3_;
923 (*hc) = ((NI) 314159265);
924 }
925 LA3_: ;
926 {
927 NI T7_;
928 T7_ = (t.data ? t.data->Sup.len : 0);
929 if (!(T7_ == ((NI) 0))) goto LA8_;
930 result = ((NI) -1);
931 goto BeforeRet_;
932 }
933 LA8_: ;
934 T10_ = ((t.data ? t.data->Sup.len : 0)-1);
935 h = (NI)((*hc) & T10_);
936 {
937 while (1) {
938 NIM_BOOL T13_;
939 NI T20_;
940 T13_ = (NIM_BOOL)0;
941 T13_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
942 if (!T13_) goto LA12;
943 {
944 NIM_BOOL T16_;
945 T16_ = (NIM_BOOL)0;
946 T16_ = (t.data->data[h].Field0 == (*hc));
947 if (!(T16_)) goto LA17_;
948 T16_ = (t.data->data[h].Field1 == key);
949 LA17_: ;
950 if (!T16_) goto LA18_;
951 result = h;
952 goto BeforeRet_;
953 }
954 LA18_: ;
955 T20_ = ((t.data ? t.data->Sup.len : 0)-1);
956 h = nextTry__pureZcollectionsZtables_34(h, T20_);
957 } LA12: ;
958 }
959 result = (NI)(((NI) -1) - h);
960 }BeforeRet_: ;
961 return result;
962 }
N_NIMCALL(NI,getOrDefault__astalgo_1178)963 N_LIB_PRIVATE N_NIMCALL(NI, getOrDefault__astalgo_1178)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t, void* key, NI default_0) {
964 NI result;
965 NI hcX60gensym97_;
966 NI indexX60gensym97_;
967 result = (NI)0;
968 hcX60gensym97_ = (NI)0;
969 indexX60gensym97_ = rawGet__astalgo_1188(t, key, (&hcX60gensym97_));
970 {
971 if (!(((NI) 0) <= indexX60gensym97_)) goto LA3_;
972 result = t.data->data[indexX60gensym97_].Field2;
973 }
974 goto LA1_;
975 LA3_: ;
976 {
977 result = default_0;
978 }
979 LA1_: ;
980 return result;
981 }
N_INLINE(NIM_BOOL,mustRehash__astalgo_1695)982 static N_INLINE(NIM_BOOL, mustRehash__astalgo_1695)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t) {
983 NIM_BOOL result;
984 NIM_BOOL T1_;
985 NI T2_;
986 NI T4_;
987 result = (NIM_BOOL)0;
988 T1_ = (NIM_BOOL)0;
989 T2_ = (t.data ? t.data->Sup.len : 0);
990 T1_ = ((NI)(T2_ * ((NI) 2)) < (NI)(t.counter * ((NI) 3)));
991 if (T1_) goto LA3_;
992 T4_ = (t.data ? t.data->Sup.len : 0);
993 T1_ = ((NI)(T4_ - t.counter) < ((NI) 4));
994 LA3_: ;
995 result = T1_;
996 return result;
997 }
N_NIMCALL(void,rawInsert__astalgo_2152)998 N_LIB_PRIVATE N_NIMCALL(void, rawInsert__astalgo_2152)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg* t, tySequence__9chP3SzkaldXzawWQCDsqqg** data, void* key, NI val, NI hc, NI h) {
999 (*data)->data[h].Field1 = key;
1000 (*data)->data[h].Field2 = val;
1001 (*data)->data[h].Field0 = hc;
1002 }
N_NIMCALL(void,enlarge__astalgo_1848)1003 N_LIB_PRIVATE N_NIMCALL(void, enlarge__astalgo_1848)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg* t) {
1004 tySequence__9chP3SzkaldXzawWQCDsqqg* n;
1005 NI T1_;
1006 tySequence__9chP3SzkaldXzawWQCDsqqg* T2_;
1007 n = NIM_NIL;
1008 T1_ = ((*t).data ? (*t).data->Sup.len : 0);
1009 n = (tySequence__9chP3SzkaldXzawWQCDsqqg*) newSeq((&NTIkeyvaluepairseq__9chP3SzkaldXzawWQCDsqqg_), ((NI) ((NI)(T1_ * ((NI) 2)))));
1010 T2_ = NIM_NIL;
1011 T2_ = (*t).data;
1012 unsureAsgnRef((void**) (&(*t).data), n);
1013 n = T2_;
1014 {
1015 NI i;
1016 NI colontmp_;
1017 NI T4_;
1018 NI res;
1019 i = (NI)0;
1020 colontmp_ = (NI)0;
1021 T4_ = ((n ? n->Sup.len : 0)-1);
1022 colontmp_ = T4_;
1023 res = ((NI) 0);
1024 {
1025 while (1) {
1026 NI eh;
1027 if (!(res <= colontmp_)) goto LA6;
1028 i = res;
1029 eh = n->data[i].Field0;
1030 {
1031 NIM_BOOL T9_;
1032 NI j;
1033 NI T12_;
1034 void* T17_;
1035 NI T18_;
1036 T9_ = (NIM_BOOL)0;
1037 T9_ = isFilled__pureZcollectionsZtables_31(eh);
1038 if (!T9_) goto LA10_;
1039 T12_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1040 j = (NI)(eh & T12_);
1041 {
1042 while (1) {
1043 NIM_BOOL T15_;
1044 NI T16_;
1045 T15_ = (NIM_BOOL)0;
1046 T15_ = isFilled__pureZcollectionsZtables_31((*t).data->data[j].Field0);
1047 if (!T15_) goto LA14;
1048 T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
1049 j = nextTry__pureZcollectionsZtables_34(j, T16_);
1050 } LA14: ;
1051 }
1052 T17_ = (void*)0;
1053 T17_ = n->data[i].Field1;
1054 n->data[i].Field1 = 0;
1055 T18_ = (NI)0;
1056 T18_ = n->data[i].Field2;
1057 n->data[i].Field2 = 0;
1058 rawInsert__astalgo_2152(t, (&(*t).data), T17_, T18_, eh, j);
1059 }
1060 LA10_: ;
1061 res += ((NI) 1);
1062 } LA6: ;
1063 }
1064 }
1065 }
N_INLINE(NI,rawGetKnownHC__astalgo_2321)1066 static N_INLINE(NI, rawGetKnownHC__astalgo_2321)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg t, void* key, NI hc) {
1067 NI result;
1068 NI h;
1069 NI T6_;
1070 { result = (NI)0;
1071 {
1072 NI T3_;
1073 T3_ = (t.data ? t.data->Sup.len : 0);
1074 if (!(T3_ == ((NI) 0))) goto LA4_;
1075 result = ((NI) -1);
1076 goto BeforeRet_;
1077 }
1078 LA4_: ;
1079 T6_ = ((t.data ? t.data->Sup.len : 0)-1);
1080 h = (NI)(hc & T6_);
1081 {
1082 while (1) {
1083 NIM_BOOL T9_;
1084 NI T16_;
1085 T9_ = (NIM_BOOL)0;
1086 T9_ = isFilled__pureZcollectionsZtables_31(t.data->data[h].Field0);
1087 if (!T9_) goto LA8;
1088 {
1089 NIM_BOOL T12_;
1090 T12_ = (NIM_BOOL)0;
1091 T12_ = (t.data->data[h].Field0 == hc);
1092 if (!(T12_)) goto LA13_;
1093 T12_ = (t.data->data[h].Field1 == key);
1094 LA13_: ;
1095 if (!T12_) goto LA14_;
1096 result = h;
1097 goto BeforeRet_;
1098 }
1099 LA14_: ;
1100 T16_ = ((t.data ? t.data->Sup.len : 0)-1);
1101 h = nextTry__pureZcollectionsZtables_34(h, T16_);
1102 } LA8: ;
1103 }
1104 result = (NI)(((NI) -1) - h);
1105 }BeforeRet_: ;
1106 return result;
1107 }
N_NIMCALL(void,X5BX5Deq___astalgo_1522)1108 N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___astalgo_1522)(tyObject_Table__GpIQt2f0xrasZObyH6X8bg* t, void* key, NI val) {
1109 NI hc;
1110 NI index;
1111 {
1112 NI T3_;
1113 NI correctSizeX60gensym102_;
1114 T3_ = ((*t).data ? (*t).data->Sup.len : 0);
1115 if (!(T3_ == ((NI) 0))) goto LA4_;
1116 correctSizeX60gensym102_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
1117 (*t).counter = ((NI) 0);
1118 unsureAsgnRef((void**) (&(*t).data), (tySequence__9chP3SzkaldXzawWQCDsqqg*) newSeq((&NTIkeyvaluepairseq__9chP3SzkaldXzawWQCDsqqg_), ((NI) (correctSizeX60gensym102_))));
1119 }
1120 LA4_: ;
1121 hc = (NI)0;
1122 index = rawGet__astalgo_1188((*t), key, (&hc));
1123 {
1124 if (!(((NI) 0) <= index)) goto LA8_;
1125 (*t).data->data[index].Field2 = val;
1126 }
1127 goto LA6_;
1128 LA8_: ;
1129 {
1130 {
1131 NI T13_;
1132 NI correctSizeX60gensym105_;
1133 T13_ = ((*t).data ? (*t).data->Sup.len : 0);
1134 if (!(T13_ == ((NI) 0))) goto LA14_;
1135 correctSizeX60gensym105_ = slotsNeeded__pureZcollectionsZtables_42(((NI) 32));
1136 (*t).counter = ((NI) 0);
1137 unsureAsgnRef((void**) (&(*t).data), (tySequence__9chP3SzkaldXzawWQCDsqqg*) newSeq((&NTIkeyvaluepairseq__9chP3SzkaldXzawWQCDsqqg_), ((NI) (correctSizeX60gensym105_))));
1138 }
1139 LA14_: ;
1140 {
1141 NIM_BOOL T18_;
1142 T18_ = (NIM_BOOL)0;
1143 T18_ = mustRehash__astalgo_1695((*t));
1144 if (!T18_) goto LA19_;
1145 enlarge__astalgo_1848(t);
1146 index = rawGetKnownHC__astalgo_2321((*t), key, hc);
1147 }
1148 LA19_: ;
1149 index = (NI)(((NI) -1) - index);
1150 rawInsert__astalgo_2152(t, (&(*t).data), key, val, hc, index);
1151 (*t).counter += ((NI) 1);
1152 }
1153 LA6_: ;
1154 }
N_INLINE(void,addInt__stdZprivateZdigitsutils_189)1155 static N_INLINE(void, addInt__stdZprivateZdigitsutils_189)(NimStringDesc** result, NI x) {
1156 addInt__stdZprivateZdigitsutils_167(result, ((NI64) (x)));
1157 }
N_NIMCALL(void,indentMore__astalgo_1039)1158 N_LIB_PRIVATE N_NIMCALL(void, indentMore__astalgo_1039)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0) {
1159 (*this_0).indent += ((NI) 2);
1160 }
N_NIMCALL(void,openCurly__astalgo_1062)1161 N_LIB_PRIVATE N_NIMCALL(void, openCurly__astalgo_1062)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0) {
1162 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1163 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_8));
1164 indentMore__astalgo_1039(this_0);
1165 (*this_0).firstItem = NIM_TRUE;
1166 }
N_NIMCALL(void,newlineAndIndent__astalgo_1051)1167 N_LIB_PRIVATE N_NIMCALL(void, newlineAndIndent__astalgo_1051)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0) {
1168 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1169 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_10));
1170 (*this_0).currentLine += ((NI) 1);
1171 {
1172 NI i;
1173 NI i_2;
1174 i = (NI)0;
1175 i_2 = ((NI) 0);
1176 {
1177 while (1) {
1178 if (!(i_2 < (*this_0).indent)) goto LA3;
1179 i = i_2;
1180 unsureAsgnRef((void**) (&(*this_0).res), addChar((*this_0).res, 32));
1181 i_2 += ((NI) 1);
1182 } LA3: ;
1183 }
1184 }
1185 }
N_NIMCALL(void,key__astalgo_1072)1186 N_LIB_PRIVATE N_NIMCALL(void, key__astalgo_1072)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, NimStringDesc* key) {
1187 {
1188 if (!!((*this_0).firstItem)) goto LA3_;
1189 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1190 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_9));
1191 }
1192 LA3_: ;
1193 (*this_0).firstItem = NIM_FALSE;
1194 newlineAndIndent__astalgo_1051(this_0);
1195 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1196 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_11));
1197 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, (key ? key->Sup.len : 0) + 0));
1198 appendString((*this_0).res, key);
1199 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 3));
1200 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_12));
1201 }
N_NIMCALL(void,value__astalgo_2558)1202 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_2558)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw value) {
1203 {
1204 if (!(*this_0).useColor) goto LA3_;
1205 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 5));
1206 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_14));
1207 }
1208 LA3_: ;
1209 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1210 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_11));
1211 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, (reprEnum((NI)value, (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_)) ? reprEnum((NI)value, (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_))->Sup.len : 0) + 0));
1212 appendString((*this_0).res, reprEnum((NI)value, (&NTItsymkind__cNCW9acsSznmEccl1fgQwkw_)));
1213 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1214 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_11));
1215 {
1216 if (!(*this_0).useColor) goto LA7_;
1217 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 4));
1218 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_7));
1219 }
1220 LA7_: ;
1221 }
N_NIMCALL(void,value__astalgo_1075)1222 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_1075)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, NimStringDesc* value) {
1223 {
1224 if (!(*this_0).useColor) goto LA3_;
1225 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 5));
1226 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_16));
1227 }
1228 LA3_: ;
1229 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1230 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_11));
1231 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, (value ? value->Sup.len : 0) + 0));
1232 appendString((*this_0).res, value);
1233 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1234 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_11));
1235 {
1236 if (!(*this_0).useColor) goto LA7_;
1237 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 4));
1238 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_7));
1239 }
1240 LA7_: ;
1241 }
N_NIMCALL(void,value__astalgo_1078)1242 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_1078)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, NI64 value) {
1243 {
1244 if (!(*this_0).useColor) goto LA3_;
1245 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 5));
1246 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_18));
1247 }
1248 LA3_: ;
1249 addInt__stdZprivateZdigitsutils_167((&(*this_0).res), value);
1250 {
1251 if (!(*this_0).useColor) goto LA7_;
1252 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 4));
1253 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_7));
1254 }
1255 LA7_: ;
1256 }
N_INLINE(NI,countSetBitsImpl__systemZcountbits95impl_61)1257 static N_INLINE(NI, countSetBitsImpl__systemZcountbits95impl_61)(NU64 x) {
1258 NI result;
1259 int T1_;
1260 result = (NI)0;
1261 T1_ = (int)0;
1262 T1_ = __builtin_popcountll(x);
1263 result = ((NI) (T1_));
1264 return result;
1265 }
N_INLINE(NI,countBits64)1266 static N_INLINE(NI, countBits64)(NU64 n) {
1267 NI result;
1268 result = (NI)0;
1269 result = countSetBitsImpl__systemZcountbits95impl_61(n);
1270 return result;
1271 }
N_NIMCALL(void,openBracket__astalgo_1068)1272 N_LIB_PRIVATE N_NIMCALL(void, openBracket__astalgo_1068)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0) {
1273 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1274 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_21));
1275 }
N_NIMCALL(void,value__astalgo_2591)1276 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_2591)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw value) {
1277 {
1278 if (!(*this_0).useColor) goto LA3_;
1279 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 5));
1280 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_14));
1281 }
1282 LA3_: ;
1283 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1284 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_11));
1285 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, (reprEnum((NI)value, (&NTItsymflag__K9ay6LWMat9bUiT9bIbMxpDHw_)) ? reprEnum((NI)value, (&NTItsymflag__K9ay6LWMat9bUiT9bIbMxpDHw_))->Sup.len : 0) + 0));
1286 appendString((*this_0).res, reprEnum((NI)value, (&NTItsymflag__K9ay6LWMat9bUiT9bIbMxpDHw_)));
1287 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1288 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_11));
1289 {
1290 if (!(*this_0).useColor) goto LA7_;
1291 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 4));
1292 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_7));
1293 }
1294 LA7_: ;
1295 }
N_NIMCALL(void,comma__astalgo_1066)1296 N_LIB_PRIVATE N_NIMCALL(void, comma__astalgo_1066)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0) {
1297 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 2));
1298 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_22));
1299 }
N_NIMCALL(void,closeBracket__astalgo_1070)1300 N_LIB_PRIVATE N_NIMCALL(void, closeBracket__astalgo_1070)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0) {
1301 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1302 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_23));
1303 }
N_NIMCALL(void,value__astalgo_2578)1304 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_2578)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw value) {
1305 NI high;
1306 NI i;
1307 openBracket__astalgo_1068(this_0);
1308 high = (NI)(countBits64(value) - ((NI) 1));
1309 i = ((NI) 0);
1310 {
1311 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw v;
1312 NI i_2;
1313 v = (tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw)0;
1314 i_2 = ((NI) 0);
1315 {
1316 while (1) {
1317 if (!(i_2 <= ((NI) 47))) goto LA3;
1318 {
1319 if (!((value &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) (i_2)))&63U)))!=0)) goto LA6_;
1320 v = ((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) (i_2));
1321 value__astalgo_2591(this_0, v);
1322 {
1323 if (!!((i == high))) goto LA10_;
1324 comma__astalgo_1066(this_0);
1325 }
1326 LA10_: ;
1327 i += ((NI) 1);
1328 }
1329 LA6_: ;
1330 i_2 += ((NI) 1);
1331 } LA3: ;
1332 }
1333 }
1334 closeBracket__astalgo_1070(this_0);
1335 }
N_NIMCALL(void,value__astalgo_2734)1336 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_2734)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag value) {
1337 {
1338 if (!(*this_0).useColor) goto LA3_;
1339 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 5));
1340 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_14));
1341 }
1342 LA3_: ;
1343 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1344 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_11));
1345 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, (reprEnum((NI)value, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)value, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 0));
1346 appendString((*this_0).res, reprEnum((NI)value, (&NTIttypekind__9a3YiReNVD0IJHWFKgXRe9ag_)));
1347 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1348 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_11));
1349 {
1350 if (!(*this_0).useColor) goto LA7_;
1351 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 4));
1352 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_7));
1353 }
1354 LA7_: ;
1355 }
N_NIMCALL(void,value__astalgo_2767)1356 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_2767)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw value) {
1357 {
1358 if (!(*this_0).useColor) goto LA3_;
1359 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 5));
1360 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_14));
1361 }
1362 LA3_: ;
1363 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1364 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_11));
1365 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, (reprEnum((NI)value, (&NTIttypeflag__x2m5g1NpbmDig4wLT3Ylhw_)) ? reprEnum((NI)value, (&NTIttypeflag__x2m5g1NpbmDig4wLT3Ylhw_))->Sup.len : 0) + 0));
1366 appendString((*this_0).res, reprEnum((NI)value, (&NTIttypeflag__x2m5g1NpbmDig4wLT3Ylhw_)));
1367 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1368 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_11));
1369 {
1370 if (!(*this_0).useColor) goto LA7_;
1371 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 4));
1372 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_7));
1373 }
1374 LA7_: ;
1375 }
N_NIMCALL(void,value__astalgo_2754)1376 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_2754)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw value) {
1377 NI high;
1378 NI i;
1379 openBracket__astalgo_1068(this_0);
1380 high = (NI)(countBits64(value) - ((NI) 1));
1381 i = ((NI) 0);
1382 {
1383 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw v;
1384 NI i_2;
1385 v = (tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw)0;
1386 i_2 = ((NI) 0);
1387 {
1388 while (1) {
1389 if (!(i_2 <= ((NI) 44))) goto LA3;
1390 {
1391 if (!((value &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) (i_2)))&63U)))!=0)) goto LA6_;
1392 v = ((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) (i_2));
1393 value__astalgo_2767(this_0, v);
1394 {
1395 if (!!((i == high))) goto LA10_;
1396 comma__astalgo_1066(this_0);
1397 }
1398 LA10_: ;
1399 i += ((NI) 1);
1400 }
1401 LA6_: ;
1402 i_2 += ((NI) 1);
1403 } LA3: ;
1404 }
1405 }
1406 closeBracket__astalgo_1070(this_0);
1407 }
N_NIMCALL(void,value__astalgo_2933)1408 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_2933)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw value) {
1409 {
1410 if (!(*this_0).useColor) goto LA3_;
1411 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 5));
1412 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_14));
1413 }
1414 LA3_: ;
1415 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1416 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_11));
1417 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, (reprEnum((NI)value, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)value, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 0));
1418 appendString((*this_0).res, reprEnum((NI)value, (&NTItnodekind__G4E4Gxe7oI2Cm03rkiOzQw_)));
1419 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1420 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_11));
1421 {
1422 if (!(*this_0).useColor) goto LA7_;
1423 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 4));
1424 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_7));
1425 }
1426 LA7_: ;
1427 }
N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA *,percent___astalgo_353)1428 N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, percent___astalgo_353)(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0) {
1429 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
1430 result = NIM_NIL;
1431 result = runtimeFormat__ropes_271(((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_29), args, argsLen_0);
1432 return result;
1433 }
N_INLINE(void,appendChar)1434 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
1435 (*dest).data[(*dest).Sup.len] = c;
1436 (*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
1437 (*dest).Sup.len += ((NI) 1);
1438 }
N_NIMCALL(NimStringDesc *,toYamlChar__astalgo_320)1439 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toYamlChar__astalgo_320)(NIM_CHAR c) {
1440 NimStringDesc* result;
1441 result = NIM_NIL;
1442 switch (((NU8)(c))) {
1443 case 0 ... 31:
1444 case 127 ... 255:
1445 {
1446 NimStringDesc* T2_;
1447 NimStringDesc* T3_;
1448 T2_ = NIM_NIL;
1449 T3_ = NIM_NIL;
1450 T3_ = toHex__pureZstrutils_1792(((NU8)(c)), ((NI) 4));
1451 T2_ = rawNewString((T3_ ? T3_->Sup.len : 0) + 2);
1452 appendString(T2_, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_30));
1453 appendString(T2_, T3_);
1454 result = T2_;
1455 }
1456 break;
1457 case 39:
1458 case 34:
1459 case 92:
1460 {
1461 NimStringDesc* T5_;
1462 T5_ = NIM_NIL;
1463 T5_ = rawNewString(2);
1464 appendChar(T5_, 92);
1465 appendChar(T5_, c);
1466 result = T5_;
1467 }
1468 break;
1469 default:
1470 {
1471 result = nimCharToStr(c);
1472 }
1473 break;
1474 }
1475 return result;
1476 }
N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA *,makeYamlString__astalgo_330)1477 N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, makeYamlString__astalgo_330)(NimStringDesc* s) {
1478 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
1479 NimStringDesc* res;
1480 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T10_;
1481 result = NIM_NIL;
1482 result = ((tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*) NIM_NIL);
1483 res = copyString(((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_11));
1484 {
1485 NI i;
1486 NI colontmp_;
1487 NI i_2;
1488 i = (NI)0;
1489 colontmp_ = (NI)0;
1490 colontmp_ = (s ? s->Sup.len : 0);
1491 i_2 = ((NI) 0);
1492 {
1493 while (1) {
1494 NimStringDesc* T9_;
1495 if (!(i_2 < colontmp_)) goto LA3;
1496 i = i_2;
1497 {
1498 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T8_;
1499 if (!((NI)((NI)(i + ((NI) 1)) % ((NI) 64)) == ((NI) 0))) goto LA6_;
1500 res = addChar(res, 34);
1501 res = resizeString(res, 1);
1502 appendString(res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_10));
1503 T8_ = NIM_NIL;
1504 T8_ = rope__ropes_109(res);
1505 add__ropes_159(&result, T8_);
1506 res = copyString(((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_11));
1507 }
1508 LA6_: ;
1509 T9_ = NIM_NIL;
1510 T9_ = toYamlChar__astalgo_320(s->data[i]);
1511 res = resizeString(res, (T9_ ? T9_->Sup.len : 0) + 0);
1512 appendString(res, T9_);
1513 i_2 += ((NI) 1);
1514 } LA3: ;
1515 }
1516 }
1517 res = addChar(res, 34);
1518 T10_ = NIM_NIL;
1519 T10_ = rope__ropes_109(res);
1520 add__ropes_159(&result, T10_);
1521 return result;
1522 }
N_INLINE(NI,toLinenumber__msgs_609)1523 static N_INLINE(NI, toLinenumber__msgs_609)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
1524 NI result;
1525 result = (NI)0;
1526 result = ((NI) (info.line));
1527 return result;
1528 }
N_INLINE(NI,toColumn__msgs_612)1529 static N_INLINE(NI, toColumn__msgs_612)(tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
1530 NI result;
1531 result = (NI)0;
1532 result = ((NI) (info.col));
1533 return result;
1534 }
N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA *,lineInfoToStr__astalgo_28)1535 N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA*, lineInfoToStr__astalgo_28)(tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info) {
1536 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* result;
1537 tyArray__wqYjTJU9ab2ZgEFMaQc3vNA T1_;
1538 NimStringDesc* T2_;
1539 NI T15_;
1540 NI T16_;
1541 result = NIM_NIL;
1542 nimZeroMem((void*)T1_, sizeof(tyArray__wqYjTJU9ab2ZgEFMaQc3vNA));
1543 T2_ = NIM_NIL;
1544 {
1545 NIM_BOOL T5_;
1546 T5_ = (NIM_BOOL)0;
1547 T5_ = (info.fileIndex < ((NI32) 0));
1548 if (T5_) goto LA6_;
1549 T5_ = (conf == ((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL));
1550 LA6_: ;
1551 if (!T5_) goto LA7_;
1552 {
1553 if (!(info.fileIndex == ((NI32) -3))) goto LA11_;
1554 T2_ = copyString(((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_31));
1555 }
1556 goto LA9_;
1557 LA11_: ;
1558 {
1559 T2_ = copyString(((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_32));
1560 }
1561 LA9_: ;
1562 }
1563 goto LA3_;
1564 LA7_: ;
1565 {
1566 T2_ = copyString((*conf).m.fileInfos->data[info.fileIndex].shortName);
1567 }
1568 LA3_: ;
1569 T1_[0] = makeYamlString__astalgo_330(T2_);
1570 T15_ = (NI)0;
1571 T15_ = toLinenumber__msgs_609(info);
1572 T1_[1] = rope__ropes_115(((NI64) (T15_)));
1573 T16_ = (NI)0;
1574 T16_ = toColumn__msgs_612(info);
1575 T1_[2] = rope__ropes_115(((NI64) (T16_)));
1576 result = percent___astalgo_353(T1_, 3);
1577 return result;
1578 }
N_INLINE(NI,countSetBitsImpl__systemZcountbits95impl_26)1579 static N_INLINE(NI, countSetBitsImpl__systemZcountbits95impl_26)(NU32 x) {
1580 NI result;
1581 int T1_;
1582 result = (NI)0;
1583 T1_ = (int)0;
1584 T1_ = __builtin_popcount(x);
1585 result = ((NI) (T1_));
1586 return result;
1587 }
N_INLINE(NI,countBits32)1588 static N_INLINE(NI, countBits32)(NU32 n) {
1589 NI result;
1590 result = (NI)0;
1591 result = countSetBitsImpl__systemZcountbits95impl_26(n);
1592 return result;
1593 }
N_NIMCALL(void,value__astalgo_2988)1594 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_2988)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg value) {
1595 {
1596 if (!(*this_0).useColor) goto LA3_;
1597 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 5));
1598 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_14));
1599 }
1600 LA3_: ;
1601 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1602 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_11));
1603 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, (reprEnum((NI)value, (&NTItnodeflag__jyh9acXHkhZANSSvPIY7ZLg_)) ? reprEnum((NI)value, (&NTItnodeflag__jyh9acXHkhZANSSvPIY7ZLg_))->Sup.len : 0) + 0));
1604 appendString((*this_0).res, reprEnum((NI)value, (&NTItnodeflag__jyh9acXHkhZANSSvPIY7ZLg_)));
1605 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1606 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_11));
1607 {
1608 if (!(*this_0).useColor) goto LA7_;
1609 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 4));
1610 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_7));
1611 }
1612 LA7_: ;
1613 }
N_NIMCALL(void,value__astalgo_2948)1614 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_2948)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg value) {
1615 NI high;
1616 NI i;
1617 openBracket__astalgo_1068(this_0);
1618 high = (NI)(countBits32(value) - ((NI) 1));
1619 i = ((NI) 0);
1620 {
1621 tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg v;
1622 NI i_2;
1623 v = (tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg)0;
1624 i_2 = ((NI) 0);
1625 {
1626 while (1) {
1627 if (!(i_2 <= ((NI) 23))) goto LA3;
1628 {
1629 if (!((value &((NU32)1<<((NU)(((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) (i_2)))&31U)))!=0)) goto LA6_;
1630 v = ((tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg) (i_2));
1631 value__astalgo_2988(this_0, v);
1632 {
1633 if (!!((i == high))) goto LA10_;
1634 comma__astalgo_1066(this_0);
1635 }
1636 LA10_: ;
1637 i += ((NI) 1);
1638 }
1639 LA6_: ;
1640 i_2 += ((NI) 1);
1641 } LA3: ;
1642 }
1643 }
1644 closeBracket__astalgo_1070(this_0);
1645 }
N_INLINE(NIM_BOOL,signbit__astalgo_926)1646 static N_INLINE(NIM_BOOL, signbit__astalgo_926)(NF x) {
1647 NIM_BOOL result;
1648 int T1_;
1649 result = (NIM_BOOL)0;
1650 T1_ = (int)0;
1651 T1_ = signbit(x);
1652 result = !((T1_ == ((NI32) 0)));
1653 return result;
1654 }
N_NIMCALL(NimStringDesc *,toStrMaxPrecision__astalgo_920)1655 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toStrMaxPrecision__astalgo_920)(NF f) {
1656 NimStringDesc* result;
1657 tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA T1_;
1658 result = NIM_NIL;
1659 T1_ = (tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA)0;
1660 T1_ = classify__pureZmath_147(f);
1661 switch (T1_) {
1662 case ((tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA) 4):
1663 {
1664 {
1665 NIM_BOOL T5_;
1666 T5_ = (NIM_BOOL)0;
1667 T5_ = signbit__astalgo_926(f);
1668 if (!T5_) goto LA6_;
1669 result = copyString(((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_36));
1670 }
1671 goto LA3_;
1672 LA6_: ;
1673 {
1674 result = copyString(((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_37));
1675 }
1676 LA3_: ;
1677 }
1678 break;
1679 case ((tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA) 3):
1680 {
1681 result = copyString(((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_38));
1682 }
1683 break;
1684 case ((tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA) 2):
1685 {
1686 result = copyString(((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_39));
1687 }
1688 break;
1689 case ((tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA) 5):
1690 {
1691 result = copyString(((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_40));
1692 }
1693 break;
1694 case ((tyEnum_FloatClass__pPga1yW9b8J9cwNnm9b1aPRnA) 6):
1695 {
1696 result = copyString(((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_41));
1697 }
1698 break;
1699 default:
1700 {
1701 addFloatRoundtrip__system_3127((&result), f);
1702 result = resizeString(result, 0);
1703 appendString(result, ((NimStringDesc*) NIM_NIL));
1704 }
1705 break;
1706 }
1707 return result;
1708 }
N_INLINE(NIM_BOOL,eqeq___idents_220)1709 static N_INLINE(NIM_BOOL, eqeq___idents_220)(tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* a, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* b) {
1710 NIM_BOOL result;
1711 result = (NIM_BOOL)0;
1712 {
1713 NIM_BOOL T3_;
1714 T3_ = (NIM_BOOL)0;
1715 T3_ = (a == 0);
1716 if (T3_) goto LA4_;
1717 T3_ = (b == 0);
1718 LA4_: ;
1719 if (!T3_) goto LA5_;
1720 result = (a == b);
1721 }
1722 goto LA1_;
1723 LA5_: ;
1724 {
1725 result = ((*a).id == (*b).id);
1726 }
1727 LA1_: ;
1728 return result;
1729 }
N_INLINE(NI,len__ast_3198)1730 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1731 NI result;
1732 NI T1_;
1733 result = (NI)0;
1734 T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
1735 result = T1_;
1736 return result;
1737 }
N_NIMCALL(void,indentLess__astalgo_1045)1738 N_LIB_PRIVATE N_NIMCALL(void, indentLess__astalgo_1045)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0) {
1739 (*this_0).indent -= ((NI) 2);
1740 }
N_NIMCALL(void,closeCurly__astalgo_1064)1741 N_LIB_PRIVATE N_NIMCALL(void, closeCurly__astalgo_1064)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0) {
1742 indentLess__astalgo_1045(this_0);
1743 newlineAndIndent__astalgo_1051(this_0);
1744 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 1));
1745 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_45));
1746 }
N_NIMCALL(void,value__astalgo_1100)1747 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_1100)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* value) {
1748 NI indexX60gensym127_;
1749 { {
1750 if (!(value == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL))) goto LA3_;
1751 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 4));
1752 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_3));
1753 goto BeforeRet_;
1754 }
1755 LA3_: ;
1756 indexX60gensym127_ = getOrDefault__astalgo_1178((*this_0).visited, ((void*) (value)), ((NI) -1));
1757 {
1758 if (!(indexX60gensym127_ < ((NI) 0))) goto LA7_;
1759 X5BX5Deq___astalgo_1522((&(*this_0).visited), ((void*) (value)), (*this_0).currentLine);
1760 }
1761 goto LA5_;
1762 LA7_: ;
1763 {
1764 {
1765 if (!(*this_0).useColor) goto LA12_;
1766 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 5));
1767 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_4));
1768 }
1769 LA12_: ;
1770 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 9));
1771 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_5));
1772 addInt__stdZprivateZdigitsutils_189((&(*this_0).res), (NI)((*this_0).currentLine - indexX60gensym127_));
1773 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 15));
1774 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_6));
1775 {
1776 if (!(*this_0).useColor) goto LA16_;
1777 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 4));
1778 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_7));
1779 }
1780 LA16_: ;
1781 goto BeforeRet_;
1782 }
1783 LA5_: ;
1784 openCurly__astalgo_1062(this_0);
1785 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_13));
1786 value__astalgo_2933(this_0, (*value).kind);
1787 {
1788 NimStringDesc* T20_;
1789 NimStringDesc* T23_;
1790 T20_ = NIM_NIL;
1791 T20_ = comment__ast_993(value);
1792 if (!(((NI) 0) < (T20_ ? T20_->Sup.len : 0))) goto LA21_;
1793 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_27));
1794 T23_ = NIM_NIL;
1795 T23_ = comment__ast_993(value);
1796 value__astalgo_1075(this_0, T23_);
1797 }
1798 LA21_: ;
1799 {
1800 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* T28_;
1801 NimStringDesc* T29_;
1802 if (!!(((*this_0).conf == ((tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw*) NIM_NIL)))) goto LA26_;
1803 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_28));
1804 T28_ = NIM_NIL;
1805 T28_ = lineInfoToStr__astalgo_28((*this_0).conf, (*value).info);
1806 T29_ = NIM_NIL;
1807 T29_ = dollar___ropes_250(T28_);
1808 value__astalgo_1075(this_0, T29_);
1809 }
1810 LA26_: ;
1811 {
1812 if (!!(((*value).flags == 0))) goto LA32_;
1813 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_20));
1814 value__astalgo_2948(this_0, (*value).flags);
1815 }
1816 LA32_: ;
1817 {
1818 if (!!(((*value).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA36_;
1819 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_24));
1820 value__astalgo_2734(this_0, (*(*value).typ).kind);
1821 }
1822 goto LA34_;
1823 LA36_: ;
1824 {
1825 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_24));
1826 value__astalgo_1075(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_33));
1827 }
1828 LA34_: ;
1829 switch ((*value).kind) {
1830 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
1831 {
1832 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_34));
1833 value__astalgo_1078(this_0, (*value)._kind_1.intVal);
1834 }
1835 break;
1836 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16):
1837 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 17):
1838 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
1839 {
1840 NimStringDesc* T41_;
1841 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_35));
1842 T41_ = NIM_NIL;
1843 T41_ = toStrMaxPrecision__astalgo_920((*value)._kind_2.floatVal);
1844 value__astalgo_1075(this_0, T41_);
1845 }
1846 break;
1847 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
1848 {
1849 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_42));
1850 value__astalgo_1075(this_0, (*value)._kind_3.strVal);
1851 }
1852 break;
1853 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1854 {
1855 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_25));
1856 value__astalgo_1103(this_0, (*value)._kind_4.sym);
1857 }
1858 break;
1859 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 2):
1860 {
1861 {
1862 NIM_BOOL T47_;
1863 T47_ = (NIM_BOOL)0;
1864 T47_ = eqeq___idents_220((*value)._kind_5.ident, ((tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA*) NIM_NIL));
1865 if (!!(T47_)) goto LA48_;
1866 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_43));
1867 value__astalgo_1075(this_0, (*(*value)._kind_5.ident).s);
1868 }
1869 LA48_: ;
1870 }
1871 break;
1872 default:
1873 {
1874 {
1875 NIM_BOOL T53_;
1876 T53_ = (NIM_BOOL)0;
1877 T53_ = (*this_0).renderSymType;
1878 if (!(T53_)) goto LA54_;
1879 T53_ = !(((*value).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
1880 LA54_: ;
1881 if (!T53_) goto LA55_;
1882 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_24));
1883 value__astalgo_1097(this_0, (*value).typ);
1884 }
1885 LA55_: ;
1886 {
1887 NI T59_;
1888 T59_ = (NI)0;
1889 T59_ = len__ast_3198(value);
1890 if (!(((NI) 0) < T59_)) goto LA60_;
1891 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_44));
1892 openBracket__astalgo_1068(this_0);
1893 {
1894 NI i;
1895 NI colontmp_;
1896 NI i_2;
1897 i = (NI)0;
1898 colontmp_ = (NI)0;
1899 colontmp_ = len__ast_3198(value);
1900 i_2 = ((NI) 0);
1901 {
1902 while (1) {
1903 if (!(i_2 < colontmp_)) goto LA64;
1904 i = i_2;
1905 value__astalgo_1100(this_0, (*value)._kind_6.sons->data[i]);
1906 {
1907 NI T67_;
1908 T67_ = (NI)0;
1909 T67_ = len__ast_3198(value);
1910 if (!!((i == (NI)(T67_ - ((NI) 1))))) goto LA68_;
1911 comma__astalgo_1066(this_0);
1912 }
1913 LA68_: ;
1914 i_2 += ((NI) 1);
1915 } LA64: ;
1916 }
1917 }
1918 closeBracket__astalgo_1070(this_0);
1919 }
1920 LA60_: ;
1921 }
1922 break;
1923 }
1924 closeCurly__astalgo_1064(this_0);
1925 }BeforeRet_: ;
1926 }
N_INLINE(NI,len__ast_4002)1927 static N_INLINE(NI, len__ast_4002)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n) {
1928 NI result;
1929 NI T1_;
1930 result = (NI)0;
1931 T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
1932 result = T1_;
1933 return result;
1934 }
N_NIMCALL(void,value__astalgo_1097)1935 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_1097)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tyObject_TType__facALICuu8zUj0hjvbTLFg* value) {
1936 NI indexX60gensym117_;
1937 tyObject_TType__facALICuu8zUj0hjvbTLFg* xX60gensym118_;
1938 { {
1939 if (!(value == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL))) goto LA3_;
1940 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 4));
1941 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_3));
1942 goto BeforeRet_;
1943 }
1944 LA3_: ;
1945 indexX60gensym117_ = getOrDefault__astalgo_1178((*this_0).visited, ((void*) (value)), ((NI) -1));
1946 {
1947 if (!(indexX60gensym117_ < ((NI) 0))) goto LA7_;
1948 X5BX5Deq___astalgo_1522((&(*this_0).visited), ((void*) (value)), (*this_0).currentLine);
1949 }
1950 goto LA5_;
1951 LA7_: ;
1952 {
1953 {
1954 if (!(*this_0).useColor) goto LA12_;
1955 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 5));
1956 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_4));
1957 }
1958 LA12_: ;
1959 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 9));
1960 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_5));
1961 addInt__stdZprivateZdigitsutils_189((&(*this_0).res), (NI)((*this_0).currentLine - indexX60gensym117_));
1962 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 15));
1963 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_6));
1964 {
1965 if (!(*this_0).useColor) goto LA16_;
1966 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 4));
1967 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_7));
1968 }
1969 LA16_: ;
1970 goto BeforeRet_;
1971 }
1972 LA5_: ;
1973 openCurly__astalgo_1062(this_0);
1974 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_13));
1975 value__astalgo_2734(this_0, (*value).kind);
1976 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_17));
1977 xX60gensym118_ = value;
1978 value__astalgo_1078(this_0, ((NI64) ((NI)((NI)((NU64)(((NI) ((*xX60gensym118_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym118_).Sup.itemId.item))))));
1979 {
1980 if (!!(((*value).sym == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA20_;
1981 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_25));
1982 value__astalgo_1103(this_0, (*value).sym);
1983 }
1984 LA20_: ;
1985 {
1986 if (!(((NI) 0) < countBits64((*value).flags))) goto LA24_;
1987 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_20));
1988 value__astalgo_2754(this_0, (*value).flags);
1989 }
1990 LA24_: ;
1991 {
1992 NIM_BOOL T28_;
1993 T28_ = (NIM_BOOL)0;
1994 T28_ = ((*value).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 1) || (*value).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 2) || (*value).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 14) || (*value).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 31) && (*value).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 35) || (*value).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*value).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39) || (*value).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 40) && (*value).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 44));
1995 if (!(T28_)) goto LA29_;
1996 T28_ = !(((*value).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)));
1997 LA29_: ;
1998 if (!T28_) goto LA30_;
1999 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_26));
2000 value__astalgo_1100(this_0, (*value).n);
2001 }
2002 LA30_: ;
2003 {
2004 NI T34_;
2005 T34_ = (NI)0;
2006 T34_ = len__ast_4002(value);
2007 if (!(((NI) 0) < T34_)) goto LA35_;
2008 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_44));
2009 openBracket__astalgo_1068(this_0);
2010 {
2011 NI i;
2012 NI colontmp_;
2013 NI i_2;
2014 i = (NI)0;
2015 colontmp_ = (NI)0;
2016 colontmp_ = len__ast_4002(value);
2017 i_2 = ((NI) 0);
2018 {
2019 while (1) {
2020 if (!(i_2 < colontmp_)) goto LA39;
2021 i = i_2;
2022 value__astalgo_1097(this_0, (*value).sons->data[i]);
2023 {
2024 NI T42_;
2025 T42_ = (NI)0;
2026 T42_ = len__ast_4002(value);
2027 if (!!((i == (NI)(T42_ - ((NI) 1))))) goto LA43_;
2028 comma__astalgo_1066(this_0);
2029 }
2030 LA43_: ;
2031 i_2 += ((NI) 1);
2032 } LA39: ;
2033 }
2034 }
2035 closeBracket__astalgo_1070(this_0);
2036 }
2037 LA35_: ;
2038 {
2039 if (!!(((*value).n == ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL)))) goto LA47_;
2040 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_26));
2041 value__astalgo_1100(this_0, (*value).n);
2042 }
2043 LA47_: ;
2044 closeCurly__astalgo_1064(this_0);
2045 }BeforeRet_: ;
2046 }
N_NIMCALL(void,value__astalgo_1103)2047 N_LIB_PRIVATE N_NIMCALL(void, value__astalgo_1103)(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA* this_0, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* value) {
2048 NI indexX60gensym96_;
2049 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym113_;
2050 { {
2051 if (!(value == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA3_;
2052 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 4));
2053 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_3));
2054 goto BeforeRet_;
2055 }
2056 LA3_: ;
2057 indexX60gensym96_ = getOrDefault__astalgo_1178((*this_0).visited, ((void*) (value)), ((NI) -1));
2058 {
2059 if (!(indexX60gensym96_ < ((NI) 0))) goto LA7_;
2060 X5BX5Deq___astalgo_1522((&(*this_0).visited), ((void*) (value)), (*this_0).currentLine);
2061 }
2062 goto LA5_;
2063 LA7_: ;
2064 {
2065 {
2066 if (!(*this_0).useColor) goto LA12_;
2067 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 5));
2068 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_4));
2069 }
2070 LA12_: ;
2071 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 9));
2072 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_5));
2073 addInt__stdZprivateZdigitsutils_189((&(*this_0).res), (NI)((*this_0).currentLine - indexX60gensym96_));
2074 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 15));
2075 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_6));
2076 {
2077 if (!(*this_0).useColor) goto LA16_;
2078 unsureAsgnRef((void**) (&(*this_0).res), resizeString((*this_0).res, 4));
2079 appendString((*this_0).res, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_7));
2080 }
2081 LA16_: ;
2082 goto BeforeRet_;
2083 }
2084 LA5_: ;
2085 openCurly__astalgo_1062(this_0);
2086 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_13));
2087 value__astalgo_2558(this_0, (*value).kind);
2088 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_15));
2089 value__astalgo_1075(this_0, (*(*value).name).s);
2090 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_17));
2091 xX60gensym113_ = value;
2092 value__astalgo_1078(this_0, ((NI64) ((NI)((NI)((NU64)(((NI) ((*xX60gensym113_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym113_).Sup.itemId.item))))));
2093 {
2094 if (!((1572872 &((NU32)1<<((NU)((*value).kind)&31U)))!=0)) goto LA20_;
2095 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_19));
2096 value__astalgo_1078(this_0, ((NI64) ((*value).position)));
2097 }
2098 LA20_: ;
2099 {
2100 if (!(((NI) 0) < countBits64((*value).flags))) goto LA24_;
2101 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_20));
2102 value__astalgo_2578(this_0, (*value).flags);
2103 }
2104 LA24_: ;
2105 {
2106 NIM_BOOL T28_;
2107 T28_ = (NIM_BOOL)0;
2108 T28_ = (*this_0).renderSymType;
2109 if (!(T28_)) goto LA29_;
2110 T28_ = !(((*value).typ == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)));
2111 LA29_: ;
2112 if (!T28_) goto LA30_;
2113 key__astalgo_1072(this_0, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_24));
2114 value__astalgo_1097(this_0, (*value).typ);
2115 }
2116 LA30_: ;
2117 closeCurly__astalgo_1064(this_0);
2118 }BeforeRet_: ;
2119 }
N_NIMCALL(void,debugSym)2120 N_LIB_PRIVATE N_NIMCALL(void, debugSym)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
2121 tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA this_1;
2122 tyArray__nHXaesL0DJZHyVS07ARPRA T1_;
2123 nimZeroMem((void*)(&this_1), sizeof(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA));
2124 initTable__astalgo_3033(((NI) 32), (&this_1.visited));
2125 this_1.renderSymType = NIM_TRUE;
2126 this_1.useColor = NIM_TRUE;
2127 value__astalgo_1103((&this_1), n);
2128 nimZeroMem((void*)T1_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
2129 T1_[0] = copyString(this_1.res);
2130 echoBinSafe(T1_, 1);
2131 }
N_NIMCALL(void,debugType)2132 N_LIB_PRIVATE N_NIMCALL(void, debugType)(tyObject_TType__facALICuu8zUj0hjvbTLFg* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
2133 tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA this_1;
2134 tyArray__nHXaesL0DJZHyVS07ARPRA T1_;
2135 nimZeroMem((void*)(&this_1), sizeof(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA));
2136 initTable__astalgo_3033(((NI) 32), (&this_1.visited));
2137 this_1.renderSymType = NIM_TRUE;
2138 this_1.useColor = NIM_TRUE;
2139 value__astalgo_1097((&this_1), n);
2140 nimZeroMem((void*)T1_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
2141 T1_[0] = copyString(this_1.res);
2142 echoBinSafe(T1_, 1);
2143 }
N_NIMCALL(void,debugNode)2144 N_LIB_PRIVATE N_NIMCALL(void, debugNode)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_ConfigRefcolonObjectType___LaK09ayL9alwKUad7rts0rTw* conf) {
2145 tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA this_1;
2146 tyArray__nHXaesL0DJZHyVS07ARPRA T1_;
2147 nimZeroMem((void*)(&this_1), sizeof(tyObject_DebugPrinter__a6duEI3KVtgLLu9cNBssigA));
2148 initTable__astalgo_3033(((NI) 32), (&this_1.visited));
2149 this_1.useColor = NIM_TRUE;
2150 value__astalgo_1100((&this_1), n);
2151 nimZeroMem((void*)T1_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
2152 T1_[0] = copyString(this_1.res);
2153 echoBinSafe(T1_, 1);
2154 }
N_INLINE(NI,nextTry__astalgo_90)2155 static N_INLINE(NI, nextTry__astalgo_90)(NI h, NI maxHash) {
2156 NI result;
2157 result = (NI)0;
2158 result = (NI)((NI)((NI)(((NI) 5) * h) + ((NI) 1)) & maxHash);
2159 return result;
2160 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,strTableGet__astalgo_3390)2161 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, strTableGet__astalgo_3390)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA t, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name) {
2162 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2163 NI h;
2164 NI T1_;
2165 result = NIM_NIL;
2166 T1_ = ((t.data ? t.data->Sup.len : 0)-1);
2167 h = (NI)((*name).h & T1_);
2168 {
2169 while (1) {
2170 NI T12_;
2171 result = t.data->data[h];
2172 {
2173 if (!(result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA6_;
2174 goto LA2;
2175 }
2176 LA6_: ;
2177 {
2178 if (!((*(*result).name).id == (*name).id)) goto LA10_;
2179 goto LA2;
2180 }
2181 LA10_: ;
2182 T12_ = ((t.data ? t.data->Sup.len : 0)-1);
2183 h = nextTry__astalgo_90(h, T12_);
2184 }
2185 } LA2: ;
2186 return result;
2187 }
N_NIMCALL(NIM_BOOL,mustRehash__astalgo_87)2188 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, mustRehash__astalgo_87)(NI length, NI counter) {
2189 NIM_BOOL result;
2190 NIM_BOOL T1_;
2191 result = (NIM_BOOL)0;
2192 T1_ = (NIM_BOOL)0;
2193 T1_ = ((NI)(length * ((NI) 2)) < (NI)(counter * ((NI) 3)));
2194 if (T1_) goto LA2_;
2195 T1_ = ((NI)(length - counter) < ((NI) 4));
2196 LA2_: ;
2197 result = T1_;
2198 return result;
2199 }
N_INLINE(NI,pluspercent___system_696)2200 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
2201 NI result;
2202 result = (NI)0;
2203 result = ((NI) ((NU)((NU64)(((NU) (x))) + (NU64)(((NU) (y))))));
2204 return result;
2205 }
N_INLINE(void,incRef__system_5338)2206 static N_INLINE(void, incRef__system_5338)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2207 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
2208 }
N_INLINE(NI,minuspercent___system_716)2209 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
2210 NI result;
2211 result = (NI)0;
2212 result = ((NI) ((NU)((NU64)(((NU) (x))) - (NU64)(((NU) (y))))));
2213 return result;
2214 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5300)2215 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5300)(void* usr) {
2216 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
2217 NI T1_;
2218 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2219 T1_ = (NI)0;
2220 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 16));
2221 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
2222 return result;
2223 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)2224 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
2225 NIM_BOOL result;
2226 result = (NIM_BOOL)0;
2227 result = ((NU64)(((NU) (x))) < (NU64)(((NU) (y))));
2228 return result;
2229 }
N_INLINE(void,rtlAddZCT__system_5343)2230 static N_INLINE(void, rtlAddZCT__system_5343)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2231 addZCT__system_5294((&gch__system_5247.zct), c);
2232 }
N_INLINE(void,decRef__system_5345)2233 static N_INLINE(void, decRef__system_5345)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
2234 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
2235 {
2236 NIM_BOOL T3_;
2237 T3_ = (NIM_BOOL)0;
2238 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
2239 if (!T3_) goto LA4_;
2240 rtlAddZCT__system_5343(c);
2241 }
2242 LA4_: ;
2243 }
N_INLINE(void,asgnRef)2244 static N_INLINE(void, asgnRef)(void** dest, void* src) {
2245 {
2246 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
2247 if (!!((src == NIM_NIL))) goto LA3_;
2248 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2249 T5_ = usrToCell__system_5300(src);
2250 incRef__system_5338(T5_);
2251 }
2252 LA3_: ;
2253 {
2254 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
2255 if (!!(((*dest) == NIM_NIL))) goto LA8_;
2256 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
2257 T10_ = usrToCell__system_5300((*dest));
2258 decRef__system_5345(T10_);
2259 }
2260 LA8_: ;
2261 (*dest) = src;
2262 }
N_NIMCALL(void,strTableRawInsert__astalgo_3252)2263 N_LIB_PRIVATE N_NIMCALL(void, strTableRawInsert__astalgo_3252)(tySequence__eHqUwlHGGaPw0TDPDeL79cQ** data, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* n) {
2264 NI h;
2265 NI T1_;
2266 { T1_ = (((*data) ? (*data)->Sup.len : 0)-1);
2267 h = (NI)((*(*n).name).h & T1_);
2268 {
2269 while (1) {
2270 NI T8_;
2271 if (!!(((*data)->data[h] == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA3;
2272 {
2273 if (!((*data)->data[h] == n)) goto LA6_;
2274 goto BeforeRet_;
2275 }
2276 LA6_: ;
2277 T8_ = (((*data) ? (*data)->Sup.len : 0)-1);
2278 h = nextTry__astalgo_90(h, T8_);
2279 } LA3: ;
2280 }
2281 asgnRef((void**) (&(*data)->data[h]), n);
2282 }BeforeRet_: ;
2283 }
N_NIMCALL(void,strTableEnlarge__astalgo_3306)2284 N_LIB_PRIVATE N_NIMCALL(void, strTableEnlarge__astalgo_3306)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* t) {
2285 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* n;
2286 NI T1_;
2287 tySequence__eHqUwlHGGaPw0TDPDeL79cQ* T10_;
2288 n = NIM_NIL;
2289 T1_ = ((*t).data ? (*t).data->Sup.len : 0);
2290 n = (tySequence__eHqUwlHGGaPw0TDPDeL79cQ*) newSeq((&NTIseqLpsymT__eHqUwlHGGaPw0TDPDeL79cQ_), ((NI) ((NI)(T1_ * ((NI) 2)))));
2291 {
2292 NI i;
2293 NI colontmp_;
2294 NI T3_;
2295 NI res;
2296 i = (NI)0;
2297 colontmp_ = (NI)0;
2298 T3_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
2299 colontmp_ = T3_;
2300 res = ((NI) 0);
2301 {
2302 while (1) {
2303 if (!(res <= colontmp_)) goto LA5;
2304 i = res;
2305 {
2306 if (!!(((*t).data->data[i] == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA8_;
2307 strTableRawInsert__astalgo_3252((&n), (*t).data->data[i]);
2308 }
2309 LA8_: ;
2310 res += ((NI) 1);
2311 } LA5: ;
2312 }
2313 }
2314 T10_ = NIM_NIL;
2315 T10_ = (*t).data;
2316 unsureAsgnRef((void**) (&(*t).data), n);
2317 n = T10_;
2318 }
N_NIMCALL(void,strTableAdd__astalgo_3332)2319 N_LIB_PRIVATE N_NIMCALL(void, strTableAdd__astalgo_3332)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* n) {
2320 {
2321 NI T3_;
2322 NIM_BOOL T4_;
2323 T3_ = ((*t).data ? (*t).data->Sup.len : 0);
2324 T4_ = (NIM_BOOL)0;
2325 T4_ = mustRehash__astalgo_87(T3_, (*t).counter);
2326 if (!T4_) goto LA5_;
2327 strTableEnlarge__astalgo_3306(t);
2328 }
2329 LA5_: ;
2330 strTableRawInsert__astalgo_3252((&(*t).data), n);
2331 (*t).counter += ((NI) 1);
2332 }
N_INLINE(NI,nextTry__stdZpackedsets_41)2333 static N_INLINE(NI, nextTry__stdZpackedsets_41)(NI h, NI maxHash, NI* perturb) {
2334 NI result;
2335 NU perturb2;
2336 result = (NI)0;
2337 perturb2 = (NU)((NU64)(((NU) ((*perturb)))) >> (NU64)(((NI) 5)));
2338 (*perturb) = ((NI) (perturb2));
2339 result = (NI)((NI)((NI)((NI)(((NI) 5) * h) + ((NI) 1)) + (*perturb)) & maxHash);
2340 return result;
2341 }
N_NIMCALL(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA *,packedSetGet__astalgo_433)2342 N_LIB_PRIVATE N_NIMCALL(tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*, packedSetGet__astalgo_433)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* t, NI key) {
2343 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* result;
2344 NI h;
2345 NI perturb;
2346 { result = NIM_NIL;
2347 h = (NI)(key & (*t).max);
2348 perturb = key;
2349 {
2350 while (1) {
2351 if (!!(((*t).data->data[h] == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA2;
2352 {
2353 if (!((*(*t).data->data[h]).key == key)) goto LA5_;
2354 result = (*t).data->data[h];
2355 goto BeforeRet_;
2356 }
2357 LA5_: ;
2358 h = nextTry__stdZpackedsets_41(h, (*t).max, (&perturb));
2359 } LA2: ;
2360 }
2361 result = ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL);
2362 }BeforeRet_: ;
2363 return result;
2364 }
N_NIMCALL(NIM_BOOL,containsOrIncl__astalgo_402)2365 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__astalgo_402)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key) {
2366 NIM_BOOL result;
2367 { result = (NIM_BOOL)0;
2368 {
2369 if (!((*s).elems <= ((NI) 34))) goto LA3_;
2370 {
2371 NI i;
2372 NI i_2;
2373 i = (NI)0;
2374 i_2 = ((NI) 0);
2375 {
2376 while (1) {
2377 if (!(i_2 < (*s).elems)) goto LA7;
2378 i = i_2;
2379 {
2380 if (!((*s).a[(i)- 0] == key)) goto LA10_;
2381 result = NIM_TRUE;
2382 goto BeforeRet_;
2383 }
2384 LA10_: ;
2385 i_2 += ((NI) 1);
2386 } LA7: ;
2387 }
2388 }
2389 incl__pureZcollectionsZintsets_55(s, key);
2390 result = NIM_FALSE;
2391 }
2392 goto LA1_;
2393 LA3_: ;
2394 {
2395 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* t;
2396 t = packedSetGet__astalgo_433((&(*s)), (NI)((NI64)(key) >> (NU64)(((NI) 9))));
2397 {
2398 NI u;
2399 if (!!((t == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA15_;
2400 u = (NI)(key & ((NI) 511));
2401 result = !(((NU)((*t).bits[((NI)((NI64)(u) >> (NU64)(((NI) 6))))- 0] & (NU)((NU64)(((NU) 1)) << (NU64)((NI)(u & ((NI) 63))))) == ((NU) 0)));
2402 {
2403 if (!!(result)) goto LA19_;
2404 (*t).bits[((NI)((NI64)(u) >> (NU64)(((NI) 6))))- 0] = (NU)((*t).bits[((NI)((NI64)(u) >> (NU64)(((NI) 6))))- 0] | (NU)((NU64)(((NU) 1)) << (NU64)((NI)(u & ((NI) 63)))));
2405 }
2406 LA19_: ;
2407 }
2408 goto LA13_;
2409 LA15_: ;
2410 {
2411 incl__pureZcollectionsZintsets_55(s, key);
2412 result = NIM_FALSE;
2413 }
2414 LA13_: ;
2415 }
2416 LA1_: ;
2417 }BeforeRet_: ;
2418 return result;
2419 }
N_NIMCALL(NIM_BOOL,contains__astalgo_3496)2420 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__astalgo_3496)(tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* s, NI key) {
2421 NIM_BOOL result;
2422 { result = (NIM_BOOL)0;
2423 {
2424 if (!((*s).elems <= ((NI) 34))) goto LA3_;
2425 {
2426 NI i;
2427 NI i_2;
2428 i = (NI)0;
2429 i_2 = ((NI) 0);
2430 {
2431 while (1) {
2432 if (!(i_2 < (*s).elems)) goto LA7;
2433 i = i_2;
2434 {
2435 if (!((*s).a[(i)- 0] == key)) goto LA10_;
2436 result = NIM_TRUE;
2437 goto BeforeRet_;
2438 }
2439 LA10_: ;
2440 i_2 += ((NI) 1);
2441 } LA7: ;
2442 }
2443 }
2444 }
2445 goto LA1_;
2446 LA3_: ;
2447 {
2448 tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA* t;
2449 t = packedSetGet__astalgo_433(s, (NI)((NI64)(key) >> (NU64)(((NI) 9))));
2450 {
2451 NI u;
2452 if (!!((t == ((tyObject_TrunkcolonObjectType___POcWT53G7t0BSUjc31o0iA*) NIM_NIL)))) goto LA15_;
2453 u = (NI)(key & ((NI) 511));
2454 result = !(((NU)((*t).bits[((NI)((NI64)(u) >> (NU64)(((NI) 6))))- 0] & (NU)((NU64)(((NU) 1)) << (NU64)((NI)(u & ((NI) 63))))) == ((NU) 0)));
2455 }
2456 goto LA13_;
2457 LA15_: ;
2458 {
2459 result = NIM_FALSE;
2460 }
2461 LA13_: ;
2462 }
2463 LA1_: ;
2464 }BeforeRet_: ;
2465 return result;
2466 }
N_INLINE(int,nimCmpMem)2467 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
2468 int result;
2469 result = (int)0;
2470 result = memcmp(a, b, ((size_t) (size)));
2471 return result;
2472 }
N_INLINE(NIM_BOOL,equalMem__system_1735)2473 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
2474 NIM_BOOL result;
2475 int T1_;
2476 result = (NIM_BOOL)0;
2477 T1_ = (int)0;
2478 T1_ = nimCmpMem(a, b, size);
2479 result = (T1_ == ((NI32) 0));
2480 return result;
2481 }
N_INLINE(NIM_BOOL,eqStrings)2482 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
2483 NIM_BOOL result;
2484 NI alen;
2485 NI blen;
2486 { result = (NIM_BOOL)0;
2487 alen = (a ? a->Sup.len : 0);
2488 blen = (b ? b->Sup.len : 0);
2489 {
2490 if (!(alen == blen)) goto LA3_;
2491 {
2492 if (!(alen == ((NI) 0))) goto LA7_;
2493 result = NIM_TRUE;
2494 goto BeforeRet_;
2495 }
2496 LA7_: ;
2497 result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
2498 goto BeforeRet_;
2499 }
2500 LA3_: ;
2501 }BeforeRet_: ;
2502 return result;
2503 }
N_NIMCALL(NIM_BOOL,sameValue__astalgo_119)2504 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameValue__astalgo_119)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
2505 NIM_BOOL result;
2506 result = (NIM_BOOL)0;
2507 result = NIM_FALSE;
2508 switch ((*a).kind) {
2509 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
2510 {
2511 {
2512 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T6_;
2513 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T7_;
2514 if (!((*b).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*b).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA4_;
2515 T6_ = getInt__ast_4592(a);
2516 T7_ = getInt__ast_4592(b);
2517 result = eqeq___int495056_313(T6_, T7_);
2518 }
2519 LA4_: ;
2520 }
2521 break;
2522 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
2523 {
2524 {
2525 if (!((*b).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) && (*b).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18))) goto LA11_;
2526 result = ((*a)._kind_2.floatVal == (*b)._kind_2.floatVal);
2527 }
2528 LA11_: ;
2529 }
2530 break;
2531 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
2532 {
2533 {
2534 if (!((*b).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*b).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22))) goto LA16_;
2535 result = eqStrings((*a)._kind_3.strVal, (*b)._kind_3.strVal);
2536 }
2537 LA16_: ;
2538 }
2539 break;
2540 default:
2541 {
2542 }
2543 break;
2544 }
2545 return result;
2546 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,nextIter__astalgo_3762)2547 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, nextIter__astalgo_3762)(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg* ti, tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab) {
2548 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2549 result = NIM_NIL;
2550 result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
2551 {
2552 while (1) {
2553 NI T3_;
2554 T3_ = ((tab.data ? tab.data->Sup.len : 0)-1);
2555 if (!((*ti).h <= T3_)) goto LA2;
2556 result = tab.data->data[(*ti).h];
2557 (*ti).h += ((NI) 1);
2558 {
2559 if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA6_;
2560 goto LA1;
2561 }
2562 LA6_: ;
2563 } LA2: ;
2564 } LA1: ;
2565 return result;
2566 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,initTabIter__astalgo_3777)2567 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, initTabIter__astalgo_3777)(tyObject_TTabIter__VYF5VQsIYEVaBL0fKZJkbg* ti, tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab) {
2568 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2569 result = NIM_NIL;
2570 (*ti).h = ((NI) 0);
2571 {
2572 if (!(tab.counter == ((NI) 0))) goto LA3_;
2573 result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
2574 }
2575 goto LA1_;
2576 LA3_: ;
2577 {
2578 result = nextIter__astalgo_3762(ti, tab);
2579 }
2580 LA1_: ;
2581 return result;
2582 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,getModule__astalgo_216)2583 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getModule__astalgo_216)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2584 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2585 result = NIM_NIL;
2586 result = s;
2587 {
2588 while (1) {
2589 NIM_BOOL T3_;
2590 T3_ = (NIM_BOOL)0;
2591 T3_ = !((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
2592 if (!(T3_)) goto LA4_;
2593 T3_ = !(((*result).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 6)));
2594 LA4_: ;
2595 if (!T3_) goto LA2;
2596 result = (*result).owner;
2597 } LA2: ;
2598 }
2599 return result;
2600 }
N_NIMCALL(NI,idTableRawGet__astalgo_3813)2601 N_LIB_PRIVATE N_NIMCALL(NI, idTableRawGet__astalgo_3813)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q t, NI key) {
2602 NI result;
2603 NI h;
2604 NI T1_;
2605 { result = (NI)0;
2606 h = (NI)0;
2607 T1_ = ((t.data ? t.data->Sup.len : 0)-1);
2608 h = (NI)(key & T1_);
2609 {
2610 while (1) {
2611 NI T8_;
2612 if (!!((t.data->data[h].key == ((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w*) NIM_NIL)))) goto LA3;
2613 {
2614 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* xX60gensym174_;
2615 xX60gensym174_ = t.data->data[h].key;
2616 if (!((NI)((NI)((NU64)(((NI) ((*xX60gensym174_).itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym174_).itemId.item))) == key)) goto LA6_;
2617 result = h;
2618 goto BeforeRet_;
2619 }
2620 LA6_: ;
2621 T8_ = ((t.data ? t.data->Sup.len : 0)-1);
2622 h = nextTry__astalgo_90(h, T8_);
2623 } LA3: ;
2624 }
2625 result = ((NI) -1);
2626 }BeforeRet_: ;
2627 return result;
2628 }
N_NIMCALL(void,idTableRawInsert__astalgo_3905)2629 N_LIB_PRIVATE N_NIMCALL(void, idTableRawInsert__astalgo_3905)(tySequence__Mh9agqM29bm9aP5AUL1x7dZGA** data, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key, RootObj* val) {
2630 NI h;
2631 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* xX60gensym182_;
2632 NI T1_;
2633 h = (NI)0;
2634 xX60gensym182_ = key;
2635 T1_ = (((*data) ? (*data)->Sup.len : 0)-1);
2636 h = (NI)((NI)((NI)((NU64)(((NI) ((*xX60gensym182_).itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym182_).itemId.item))) & T1_);
2637 {
2638 while (1) {
2639 NI T4_;
2640 if (!!(((*data)->data[h].key == ((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w*) NIM_NIL)))) goto LA3;
2641 T4_ = (((*data) ? (*data)->Sup.len : 0)-1);
2642 h = nextTry__astalgo_90(h, T4_);
2643 } LA3: ;
2644 }
2645 asgnRef((void**) (&(*data)->data[h].key), key);
2646 asgnRef((void**) (&(*data)->data[h].val), val);
2647 }
N_NIMCALL(void,idTablePut__astalgo_70)2648 N_LIB_PRIVATE N_NIMCALL(void, idTablePut__astalgo_70)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q* t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key, RootObj* val) {
2649 NI index;
2650 tySequence__Mh9agqM29bm9aP5AUL1x7dZGA* n;
2651 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* xX60gensym191_;
2652 index = (NI)0;
2653 n = NIM_NIL;
2654 xX60gensym191_ = key;
2655 index = idTableRawGet__astalgo_3813((*t), (NI)((NI)((NU64)(((NI) ((*xX60gensym191_).itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym191_).itemId.item))));
2656 {
2657 if (!(((NI) 0) <= index)) goto LA3_;
2658 asgnRef((void**) (&(*t).data->data[index].val), val);
2659 }
2660 goto LA1_;
2661 LA3_: ;
2662 {
2663 {
2664 NI T8_;
2665 NIM_BOOL T9_;
2666 NI T12_;
2667 tySequence__Mh9agqM29bm9aP5AUL1x7dZGA* T21_;
2668 T8_ = ((*t).data ? (*t).data->Sup.len : 0);
2669 T9_ = (NIM_BOOL)0;
2670 T9_ = mustRehash__astalgo_87(T8_, (*t).counter);
2671 if (!T9_) goto LA10_;
2672 T12_ = ((*t).data ? (*t).data->Sup.len : 0);
2673 n = (tySequence__Mh9agqM29bm9aP5AUL1x7dZGA*) newSeq((&NTItidpairseq__Mh9agqM29bm9aP5AUL1x7dZGA_), ((NI) ((NI)(T12_ * ((NI) 2)))));
2674 {
2675 NI i;
2676 NI colontmp_;
2677 NI T14_;
2678 NI res;
2679 i = (NI)0;
2680 colontmp_ = (NI)0;
2681 T14_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
2682 colontmp_ = T14_;
2683 res = ((NI) 0);
2684 {
2685 while (1) {
2686 if (!(res <= colontmp_)) goto LA16;
2687 i = res;
2688 {
2689 if (!!(((*t).data->data[i].key == ((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w*) NIM_NIL)))) goto LA19_;
2690 idTableRawInsert__astalgo_3905((&n), (*t).data->data[i].key, (*t).data->data[i].val);
2691 }
2692 LA19_: ;
2693 res += ((NI) 1);
2694 } LA16: ;
2695 }
2696 }
2697 T21_ = NIM_NIL;
2698 T21_ = (*t).data;
2699 unsureAsgnRef((void**) (&(*t).data), n);
2700 n = T21_;
2701 }
2702 LA10_: ;
2703 idTableRawInsert__astalgo_3905((&(*t).data), key, val);
2704 (*t).counter += ((NI) 1);
2705 }
2706 LA1_: ;
2707 }
N_NIMCALL(RootObj *,idTableGet__astalgo_64)2708 N_LIB_PRIVATE N_NIMCALL(RootObj*, idTableGet__astalgo_64)(tyObject_TIdTable__9aiv9bp2t5icFNINcg9c4xi1Q t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key) {
2709 RootObj* result;
2710 NI index;
2711 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* xX60gensym177_;
2712 result = NIM_NIL;
2713 xX60gensym177_ = key;
2714 index = idTableRawGet__astalgo_3813(t, (NI)((NI)((NU64)(((NI) ((*xX60gensym177_).itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym177_).itemId.item))));
2715 {
2716 if (!(((NI) 0) <= index)) goto LA3_;
2717 result = t.data->data[index].val;
2718 }
2719 goto LA1_;
2720 LA3_: ;
2721 {
2722 result = ((RootObj*) NIM_NIL);
2723 }
2724 LA1_: ;
2725 return result;
2726 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,nextIdentIter__astalgo_3408)2727 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, nextIdentIter__astalgo_3408)(tyObject_TIdentIter__Oi4goG2ACEsy9cyTe6OCPrA* ti, tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab) {
2728 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2729 NI h;
2730 NI T1_;
2731 NI start;
2732 NI T13_;
2733 result = NIM_NIL;
2734 T1_ = ((tab.data ? tab.data->Sup.len : 0)-1);
2735 h = (NI)((*ti).h & T1_);
2736 start = h;
2737 result = tab.data->data[h];
2738 {
2739 while (1) {
2740 NI T8_;
2741 if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA3;
2742 {
2743 if (!((*(*result).name).id == (*(*ti).name).id)) goto LA6_;
2744 goto LA2;
2745 }
2746 LA6_: ;
2747 T8_ = ((tab.data ? tab.data->Sup.len : 0)-1);
2748 h = nextTry__astalgo_90(h, T8_);
2749 {
2750 if (!(h == start)) goto LA11_;
2751 result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
2752 goto LA2;
2753 }
2754 LA11_: ;
2755 result = tab.data->data[h];
2756 } LA3: ;
2757 } LA2: ;
2758 T13_ = ((tab.data ? tab.data->Sup.len : 0)-1);
2759 (*ti).h = nextTry__astalgo_90(h, T13_);
2760 return result;
2761 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,initIdentIter__astalgo_3427)2762 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, initIdentIter__astalgo_3427)(tyObject_TIdentIter__Oi4goG2ACEsy9cyTe6OCPrA* ti, tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* s) {
2763 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2764 result = NIM_NIL;
2765 (*ti).h = (*s).h;
2766 unsureAsgnRef((void**) (&(*ti).name), s);
2767 {
2768 if (!(tab.counter == ((NI) 0))) goto LA3_;
2769 result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
2770 }
2771 goto LA1_;
2772 LA3_: ;
2773 {
2774 result = nextIdentIter__astalgo_3408(ti, tab);
2775 }
2776 LA1_: ;
2777 return result;
2778 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,strTableInclReportConflict__astalgo_3342)2779 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, strTableInclReportConflict__astalgo_3342)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* n, NIM_BOOL onConflictKeepOld) {
2780 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2781 NI h;
2782 NI T1_;
2783 NI replaceSlot;
2784 { result = NIM_NIL;
2785 T1_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
2786 h = (NI)((*(*n).name).h & T1_);
2787 replaceSlot = ((NI) -1);
2788 {
2789 while (1) {
2790 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it;
2791 NI T16_;
2792 it = (*t).data->data[h];
2793 {
2794 if (!(it == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL))) goto LA6_;
2795 goto LA2;
2796 }
2797 LA6_: ;
2798 {
2799 if (!((*(*it).name).id == (*(*n).name).id)) goto LA10_;
2800 {
2801 if (!(it == n)) goto LA14_;
2802 result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
2803 goto BeforeRet_;
2804 }
2805 LA14_: ;
2806 replaceSlot = h;
2807 }
2808 LA10_: ;
2809 T16_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
2810 h = nextTry__astalgo_90(h, T16_);
2811 }
2812 } LA2: ;
2813 {
2814 if (!(((NI) 0) <= replaceSlot)) goto LA19_;
2815 result = (*t).data->data[replaceSlot];
2816 {
2817 if (!!(onConflictKeepOld)) goto LA23_;
2818 asgnRef((void**) (&(*t).data->data[replaceSlot]), n);
2819 }
2820 LA23_: ;
2821 goto BeforeRet_;
2822 }
2823 goto LA17_;
2824 LA19_: ;
2825 {
2826 NI T26_;
2827 NIM_BOOL T27_;
2828 T26_ = ((*t).data ? (*t).data->Sup.len : 0);
2829 T27_ = (NIM_BOOL)0;
2830 T27_ = mustRehash__astalgo_87(T26_, (*t).counter);
2831 if (!T27_) goto LA28_;
2832 strTableEnlarge__astalgo_3306(t);
2833 strTableRawInsert__astalgo_3252((&(*t).data), n);
2834 }
2835 goto LA17_;
2836 LA28_: ;
2837 {
2838 asgnRef((void**) (&(*t).data->data[h]), n);
2839 }
2840 LA17_: ;
2841 (*t).counter += ((NI) 1);
2842 result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
2843 }BeforeRet_: ;
2844 return result;
2845 }
N_NIMCALL(NIM_BOOL,sameIgnoreBacktickGensymInfo__astalgo_264)2846 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameIgnoreBacktickGensymInfo__astalgo_264)(NimStringDesc* a, NimStringDesc* b) {
2847 NIM_BOOL result;
2848 NI alen;
2849 NI i;
2850 NI j;
2851 { result = (NIM_BOOL)0;
2852 {
2853 if (!!(((NU8)(a->data[((NI) 0)]) == (NU8)(b->data[((NI) 0)])))) goto LA3_;
2854 result = NIM_FALSE;
2855 goto BeforeRet_;
2856 }
2857 LA3_: ;
2858 alen = (NI)((a ? a->Sup.len : 0) - ((NI) 1));
2859 {
2860 while (1) {
2861 NIM_BOOL T7_;
2862 T7_ = (NIM_BOOL)0;
2863 T7_ = (((NI) 0) < alen);
2864 if (!(T7_)) goto LA8_;
2865 T7_ = !(((NU8)(a->data[alen]) == (NU8)(96)));
2866 LA8_: ;
2867 if (!T7_) goto LA6;
2868 alen -= ((NI) 1);
2869 } LA6: ;
2870 }
2871 {
2872 if (!(alen <= ((NI) 0))) goto LA11_;
2873 alen = (a ? a->Sup.len : 0);
2874 }
2875 LA11_: ;
2876 i = ((NI) 1);
2877 j = ((NI) 1);
2878 {
2879 while (1) {
2880 NIM_CHAR aa;
2881 NIM_CHAR bb;
2882 {
2883 while (1) {
2884 NIM_BOOL T17_;
2885 T17_ = (NIM_BOOL)0;
2886 T17_ = (i < alen);
2887 if (!(T17_)) goto LA18_;
2888 T17_ = ((NU8)(a->data[i]) == (NU8)(95));
2889 LA18_: ;
2890 if (!T17_) goto LA16;
2891 i += ((NI) 1);
2892 } LA16: ;
2893 }
2894 {
2895 while (1) {
2896 NIM_BOOL T21_;
2897 T21_ = (NIM_BOOL)0;
2898 T21_ = (j < (b ? b->Sup.len : 0));
2899 if (!(T21_)) goto LA22_;
2900 T21_ = ((NU8)(b->data[j]) == (NU8)(95));
2901 LA22_: ;
2902 if (!T21_) goto LA20;
2903 j += ((NI) 1);
2904 } LA20: ;
2905 }
2906 {
2907 if (!(i < alen)) goto LA25_;
2908 aa = nsuToLowerAsciiChar(a->data[i]);
2909 }
2910 goto LA23_;
2911 LA25_: ;
2912 {
2913 aa = 0;
2914 }
2915 LA23_: ;
2916 {
2917 if (!(j < (b ? b->Sup.len : 0))) goto LA30_;
2918 bb = nsuToLowerAsciiChar(b->data[j]);
2919 }
2920 goto LA28_;
2921 LA30_: ;
2922 {
2923 bb = 0;
2924 }
2925 LA28_: ;
2926 {
2927 if (!!(((NU8)(aa) == (NU8)(bb)))) goto LA35_;
2928 result = NIM_FALSE;
2929 goto BeforeRet_;
2930 }
2931 LA35_: ;
2932 {
2933 if (!(alen <= i)) goto LA39_;
2934 {
2935 if (!((b ? b->Sup.len : 0) <= j)) goto LA43_;
2936 result = NIM_TRUE;
2937 goto BeforeRet_;
2938 }
2939 LA43_: ;
2940 result = NIM_FALSE;
2941 goto BeforeRet_;
2942 }
2943 goto LA37_;
2944 LA39_: ;
2945 {
2946 if (!((b ? b->Sup.len : 0) <= j)) goto LA46_;
2947 result = NIM_FALSE;
2948 goto BeforeRet_;
2949 }
2950 goto LA37_;
2951 LA46_: ;
2952 LA37_: ;
2953 i += ((NI) 1);
2954 j += ((NI) 1);
2955 }
2956 }
2957 }BeforeRet_: ;
2958 return result;
2959 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,getNamedParamFromList__astalgo_293)2960 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getNamedParamFromList__astalgo_293)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* list, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident) {
2961 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2962 { result = NIM_NIL;
2963 {
2964 NI i;
2965 NI colontmp_;
2966 NI i_2;
2967 i = (NI)0;
2968 colontmp_ = (NI)0;
2969 colontmp_ = len__ast_3198(list);
2970 i_2 = ((NI) 1);
2971 {
2972 while (1) {
2973 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* it;
2974 if (!(i_2 < colontmp_)) goto LA3;
2975 i = i_2;
2976 it = (*(*list)._kind_6.sons->data[i])._kind_4.sym;
2977 {
2978 NIM_BOOL T6_;
2979 T6_ = (NIM_BOOL)0;
2980 T6_ = ((*(*it).name).id == (*ident).id);
2981 if (T6_) goto LA7_;
2982 T6_ = sameIgnoreBacktickGensymInfo__astalgo_264((*(*it).name).s, (*ident).s);
2983 LA7_: ;
2984 if (!T6_) goto LA8_;
2985 result = it;
2986 goto BeforeRet_;
2987 }
2988 LA8_: ;
2989 i_2 += ((NI) 1);
2990 } LA3: ;
2991 }
2992 }
2993 }BeforeRet_: ;
2994 return result;
2995 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,nextIdentExcluding__astalgo_3432)2996 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, nextIdentExcluding__astalgo_3432)(tyObject_TIdentIter__Oi4goG2ACEsy9cyTe6OCPrA* ti, tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* excluding) {
2997 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
2998 NI h;
2999 NI T1_;
3000 NI start;
3001 NI T16_;
3002 result = NIM_NIL;
3003 T1_ = ((tab.data ? tab.data->Sup.len : 0)-1);
3004 h = (NI)((*ti).h & T1_);
3005 start = h;
3006 result = tab.data->data[h];
3007 {
3008 while (1) {
3009 NI T11_;
3010 if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA3;
3011 {
3012 NIM_BOOL T6_;
3013 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym168_;
3014 NIM_BOOL T8_;
3015 T6_ = (NIM_BOOL)0;
3016 T6_ = ((*(*result).name).id == (*(*ti).name).id);
3017 if (!(T6_)) goto LA7_;
3018 xX60gensym168_ = result;
3019 T8_ = (NIM_BOOL)0;
3020 T8_ = contains__astalgo_3496(excluding, (NI)((NI)((NU64)(((NI) ((*xX60gensym168_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym168_).Sup.itemId.item))));
3021 T6_ = !(T8_);
3022 LA7_: ;
3023 if (!T6_) goto LA9_;
3024 goto LA2;
3025 }
3026 LA9_: ;
3027 T11_ = ((tab.data ? tab.data->Sup.len : 0)-1);
3028 h = nextTry__astalgo_90(h, T11_);
3029 {
3030 if (!(h == start)) goto LA14_;
3031 result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
3032 goto LA2;
3033 }
3034 LA14_: ;
3035 result = tab.data->data[h];
3036 } LA3: ;
3037 } LA2: ;
3038 T16_ = ((tab.data ? tab.data->Sup.len : 0)-1);
3039 (*ti).h = nextTry__astalgo_90(h, T16_);
3040 {
3041 NIM_BOOL T19_;
3042 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* xX60gensym170_;
3043 T19_ = (NIM_BOOL)0;
3044 T19_ = !((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
3045 if (!(T19_)) goto LA20_;
3046 xX60gensym170_ = result;
3047 T19_ = contains__astalgo_3496(excluding, (NI)((NI)((NU64)(((NI) ((*xX60gensym170_).Sup.itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym170_).Sup.itemId.item))));
3048 LA20_: ;
3049 if (!T19_) goto LA21_;
3050 result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
3051 }
3052 LA21_: ;
3053 return result;
3054 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,firstIdentExcluding__astalgo_3754)3055 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, firstIdentExcluding__astalgo_3754)(tyObject_TIdentIter__Oi4goG2ACEsy9cyTe6OCPrA* ti, tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA tab, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* s, tyObject_PackedSet__IhxwDBRi51nGrosBGFKcsA* excluding) {
3056 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
3057 result = NIM_NIL;
3058 (*ti).h = (*s).h;
3059 unsureAsgnRef((void**) (&(*ti).name), s);
3060 {
3061 if (!(tab.counter == ((NI) 0))) goto LA3_;
3062 result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
3063 }
3064 goto LA1_;
3065 LA3_: ;
3066 {
3067 result = nextIdentExcluding__astalgo_3432(ti, tab, excluding);
3068 }
3069 LA1_: ;
3070 return result;
3071 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,lookupInRecord__astalgo_84)3072 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, lookupInRecord__astalgo_84)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* field) {
3073 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
3074 { result = NIM_NIL;
3075 result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
3076 switch ((*n).kind) {
3077 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 138):
3078 {
3079 {
3080 NI i;
3081 NI colontmp_;
3082 NI i_2;
3083 i = (NI)0;
3084 colontmp_ = (NI)0;
3085 colontmp_ = len__ast_3198(n);
3086 i_2 = ((NI) 0);
3087 {
3088 while (1) {
3089 if (!(i_2 < colontmp_)) goto LA4;
3090 i = i_2;
3091 result = lookupInRecord__astalgo_84((*n)._kind_6.sons->data[i], field);
3092 {
3093 if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA7_;
3094 goto BeforeRet_;
3095 }
3096 LA7_: ;
3097 i_2 += ((NI) 1);
3098 } LA4: ;
3099 }
3100 }
3101 }
3102 break;
3103 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 139):
3104 {
3105 {
3106 if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA12_;
3107 result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
3108 goto BeforeRet_;
3109 }
3110 LA12_: ;
3111 result = lookupInRecord__astalgo_84((*n)._kind_6.sons->data[((NI) 0)], field);
3112 {
3113 if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA16_;
3114 goto BeforeRet_;
3115 }
3116 LA16_: ;
3117 {
3118 NI i_3;
3119 NI colontmp__2;
3120 NI i_4;
3121 i_3 = (NI)0;
3122 colontmp__2 = (NI)0;
3123 colontmp__2 = len__ast_3198(n);
3124 i_4 = ((NI) 1);
3125 {
3126 while (1) {
3127 if (!(i_4 < colontmp__2)) goto LA20;
3128 i_3 = i_4;
3129 switch ((*(*n)._kind_6.sons->data[i_3]).kind) {
3130 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 85):
3131 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 88):
3132 {
3133 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
3134 T22_ = NIM_NIL;
3135 T22_ = lastSon__ast_4832((*n)._kind_6.sons->data[i_3]);
3136 result = lookupInRecord__astalgo_84(T22_, field);
3137 {
3138 if (!!((result == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA25_;
3139 goto BeforeRet_;
3140 }
3141 LA25_: ;
3142 }
3143 break;
3144 default:
3145 {
3146 result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
3147 goto BeforeRet_;
3148 }
3149 break;
3150 }
3151 i_4 += ((NI) 1);
3152 } LA20: ;
3153 }
3154 }
3155 }
3156 break;
3157 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
3158 {
3159 {
3160 if (!((*(*(*n)._kind_4.sym).name).id == (*field).id)) goto LA31_;
3161 result = (*n)._kind_4.sym;
3162 }
3163 LA31_: ;
3164 }
3165 break;
3166 default:
3167 {
3168 result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
3169 goto BeforeRet_;
3170 }
3171 break;
3172 }
3173 }BeforeRet_: ;
3174 return result;
3175 }
N_NIMCALL(NI,idNodeTableRawGet__astalgo_4024)3176 N_LIB_PRIVATE N_NIMCALL(NI, idNodeTableRawGet__astalgo_4024)(tyObject_TIdNodeTable__UWAp0mDjKLG1NEwUafSRhA t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key) {
3177 NI result;
3178 NI h;
3179 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* xX60gensym199_;
3180 NI T1_;
3181 { result = (NI)0;
3182 h = (NI)0;
3183 xX60gensym199_ = key;
3184 T1_ = ((t.data ? t.data->Sup.len : 0)-1);
3185 h = (NI)((NI)((NI)((NU64)(((NI) ((*xX60gensym199_).itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym199_).itemId.item))) & T1_);
3186 {
3187 while (1) {
3188 NI T8_;
3189 if (!!((t.data->data[h].key == ((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w*) NIM_NIL)))) goto LA3;
3190 {
3191 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* xX60gensym201_;
3192 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* xX60gensym202_;
3193 xX60gensym201_ = t.data->data[h].key;
3194 xX60gensym202_ = key;
3195 if (!((NI)((NI)((NU64)(((NI) ((*xX60gensym201_).itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym201_).itemId.item))) == (NI)((NI)((NU64)(((NI) ((*xX60gensym202_).itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym202_).itemId.item))))) goto LA6_;
3196 result = h;
3197 goto BeforeRet_;
3198 }
3199 LA6_: ;
3200 T8_ = ((t.data ? t.data->Sup.len : 0)-1);
3201 h = nextTry__astalgo_90(h, T8_);
3202 } LA3: ;
3203 }
3204 result = ((NI) -1);
3205 }BeforeRet_: ;
3206 return result;
3207 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,idNodeTableGet__astalgo_77)3208 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, idNodeTableGet__astalgo_77)(tyObject_TIdNodeTable__UWAp0mDjKLG1NEwUafSRhA t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key) {
3209 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3210 NI index;
3211 result = NIM_NIL;
3212 index = (NI)0;
3213 index = idNodeTableRawGet__astalgo_4024(t, key);
3214 {
3215 if (!(((NI) 0) <= index)) goto LA3_;
3216 result = t.data->data[index].val;
3217 }
3218 goto LA1_;
3219 LA3_: ;
3220 {
3221 result = ((tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*) NIM_NIL);
3222 }
3223 LA1_: ;
3224 return result;
3225 }
N_NIMCALL(void,idNodeTableRawInsert__astalgo_4071)3226 N_LIB_PRIVATE N_NIMCALL(void, idNodeTableRawInsert__astalgo_4071)(tySequence__K8W16aeLg4OWxniQxtguMw** data, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val) {
3227 NI h;
3228 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* xX60gensym204_;
3229 NI T1_;
3230 h = (NI)0;
3231 xX60gensym204_ = key;
3232 T1_ = (((*data) ? (*data)->Sup.len : 0)-1);
3233 h = (NI)((NI)((NI)((NU64)(((NI) ((*xX60gensym204_).itemId.module))) << (NU64)(((NI) 24))) + ((NI) ((*xX60gensym204_).itemId.item))) & T1_);
3234 {
3235 while (1) {
3236 NI T4_;
3237 if (!!(((*data)->data[h].key == ((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w*) NIM_NIL)))) goto LA3;
3238 T4_ = (((*data) ? (*data)->Sup.len : 0)-1);
3239 h = nextTry__astalgo_90(h, T4_);
3240 } LA3: ;
3241 }
3242 asgnRef((void**) (&(*data)->data[h].key), key);
3243 asgnRef((void**) (&(*data)->data[h].val), val);
3244 }
N_NIMCALL(void,idNodeTablePut__astalgo_80)3245 N_LIB_PRIVATE N_NIMCALL(void, idNodeTablePut__astalgo_80)(tyObject_TIdNodeTable__UWAp0mDjKLG1NEwUafSRhA* t, tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w* key, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* val) {
3246 NI index;
3247 index = idNodeTableRawGet__astalgo_4024((*t), key);
3248 {
3249 if (!(((NI) 0) <= index)) goto LA3_;
3250 asgnRef((void**) (&(*t).data->data[index].val), val);
3251 }
3252 goto LA1_;
3253 LA3_: ;
3254 {
3255 {
3256 NI T8_;
3257 NIM_BOOL T9_;
3258 tySequence__K8W16aeLg4OWxniQxtguMw* n;
3259 NI T12_;
3260 tySequence__K8W16aeLg4OWxniQxtguMw* T21_;
3261 T8_ = ((*t).data ? (*t).data->Sup.len : 0);
3262 T9_ = (NIM_BOOL)0;
3263 T9_ = mustRehash__astalgo_87(T8_, (*t).counter);
3264 if (!T9_) goto LA10_;
3265 n = NIM_NIL;
3266 T12_ = ((*t).data ? (*t).data->Sup.len : 0);
3267 n = (tySequence__K8W16aeLg4OWxniQxtguMw*) newSeq((&NTItidnodepairseq__K8W16aeLg4OWxniQxtguMw_), ((NI) ((NI)(T12_ * ((NI) 2)))));
3268 {
3269 NI i;
3270 NI colontmp_;
3271 NI T14_;
3272 NI res;
3273 i = (NI)0;
3274 colontmp_ = (NI)0;
3275 T14_ = (((*t).data ? (*t).data->Sup.len : 0)-1);
3276 colontmp_ = T14_;
3277 res = ((NI) 0);
3278 {
3279 while (1) {
3280 if (!(res <= colontmp_)) goto LA16;
3281 i = res;
3282 {
3283 if (!!(((*t).data->data[i].key == ((tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w*) NIM_NIL)))) goto LA19_;
3284 idNodeTableRawInsert__astalgo_4071((&n), (*t).data->data[i].key, (*t).data->data[i].val);
3285 }
3286 LA19_: ;
3287 res += ((NI) 1);
3288 } LA16: ;
3289 }
3290 }
3291 T21_ = NIM_NIL;
3292 T21_ = (*t).data;
3293 unsureAsgnRef((void**) (&(*t).data), n);
3294 n = T21_;
3295 }
3296 LA10_: ;
3297 idNodeTableRawInsert__astalgo_4071((&(*t).data), key, val);
3298 (*t).counter += ((NI) 1);
3299 }
3300 LA1_: ;
3301 }
N_INLINE(NI,cmpStrings)3302 static N_INLINE(NI, cmpStrings)(NimStringDesc* a, NimStringDesc* b) {
3303 NI result;
3304 NI alen;
3305 NI blen;
3306 NI minlen;
3307 result = (NI)0;
3308 alen = (a ? a->Sup.len : 0);
3309 blen = (b ? b->Sup.len : 0);
3310 minlen = ((alen <= blen) ? alen : blen);
3311 {
3312 int T5_;
3313 if (!(((NI) 0) < minlen)) goto LA3_;
3314 T5_ = (int)0;
3315 T5_ = memcmp(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((size_t) (minlen)));
3316 result = ((NI) (T5_));
3317 {
3318 if (!(result == ((NI) 0))) goto LA8_;
3319 result = (NI)(alen - blen);
3320 }
3321 LA8_: ;
3322 }
3323 goto LA1_;
3324 LA3_: ;
3325 {
3326 result = (NI)(alen - blen);
3327 }
3328 LA1_: ;
3329 return result;
3330 }
N_NIMCALL(NIM_BOOL,leValue__astalgo_135)3331 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, leValue__astalgo_135)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
3332 NIM_BOOL result;
3333 result = (NIM_BOOL)0;
3334 result = NIM_FALSE;
3335 switch ((*a).kind) {
3336 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15):
3337 {
3338 {
3339 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T6_;
3340 tyObject_Int128__9a9axPfb75jdWY25AamJewkA T7_;
3341 if (!((*b).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*b).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 15))) goto LA4_;
3342 T6_ = getInt__ast_4592(a);
3343 T7_ = getInt__ast_4592(b);
3344 result = lteq___int495056_309(T6_, T7_);
3345 }
3346 LA4_: ;
3347 }
3348 break;
3349 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18):
3350 {
3351 {
3352 if (!((*b).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 16) && (*b).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 18))) goto LA11_;
3353 result = ((*a)._kind_2.floatVal <= (*b)._kind_2.floatVal);
3354 }
3355 LA11_: ;
3356 }
3357 break;
3358 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22):
3359 {
3360 {
3361 if (!((*b).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*b).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22))) goto LA16_;
3362 result = (cmpStrings((*a)._kind_3.strVal, (*b)._kind_3.strVal) <= 0);
3363 }
3364 LA16_: ;
3365 }
3366 break;
3367 default:
3368 {
3369 }
3370 break;
3371 }
3372 return result;
3373 }
N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA,weakLeValue__astalgo_151)3374 N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA, weakLeValue__astalgo_151)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* b) {
3375 tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA result;
3376 result = (tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA)0;
3377 {
3378 NIM_BOOL T3_;
3379 T3_ = (NIM_BOOL)0;
3380 T3_ = !(((*a).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*a).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22)));
3381 if (T3_) goto LA4_;
3382 T3_ = !(((*b).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*b).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22)));
3383 LA4_: ;
3384 if (!T3_) goto LA5_;
3385 result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 0);
3386 }
3387 goto LA1_;
3388 LA5_: ;
3389 {
3390 {
3391 NIM_BOOL T10_;
3392 T10_ = (NIM_BOOL)0;
3393 T10_ = leValue__astalgo_135(a, b);
3394 if (!T10_) goto LA11_;
3395 result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 2);
3396 }
3397 goto LA8_;
3398 LA11_: ;
3399 {
3400 result = ((tyEnum_TImplication__t4F29a8ejY1DFQTYTML9c9byA) 1);
3401 }
3402 LA8_: ;
3403 }
3404 LA1_: ;
3405 return result;
3406 }
N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ *,getSymFromList__astalgo_245)3407 N_LIB_PRIVATE N_NIMCALL(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*, getSymFromList__astalgo_245)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* list, tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident, NI start) {
3408 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* result;
3409 { result = NIM_NIL;
3410 {
3411 NI i;
3412 NI colontmp_;
3413 NI i_2;
3414 i = (NI)0;
3415 colontmp_ = (NI)0;
3416 colontmp_ = len__ast_3198(list);
3417 i_2 = start;
3418 {
3419 while (1) {
3420 if (!(i_2 < colontmp_)) goto LA3;
3421 i = i_2;
3422 {
3423 if (!((*(*list)._kind_6.sons->data[i]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA6_;
3424 result = (*(*list)._kind_6.sons->data[i])._kind_4.sym;
3425 {
3426 if (!((*(*result).name).id == (*ident).id)) goto LA10_;
3427 goto BeforeRet_;
3428 }
3429 LA10_: ;
3430 }
3431 goto LA4_;
3432 LA6_: ;
3433 {
3434 result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
3435 goto BeforeRet_;
3436 }
3437 LA4_: ;
3438 i_2 += ((NI) 1);
3439 } LA3: ;
3440 }
3441 }
3442 result = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
3443 }BeforeRet_: ;
3444 return result;
3445 }
N_NIMCALL(NIM_BOOL,strTableIncl__astalgo_3381)3446 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, strTableIncl__astalgo_3381)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* n, NIM_BOOL onConflictKeepOld) {
3447 NIM_BOOL result;
3448 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* T1_;
3449 result = (NIM_BOOL)0;
3450 T1_ = NIM_NIL;
3451 T1_ = strTableInclReportConflict__astalgo_3342(t, n, onConflictKeepOld);
3452 result = !((T1_ == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)));
3453 return result;
3454 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipConvCastAndClosure__astalgo_114)3455 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConvCastAndClosure__astalgo_114)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3456 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
3457 result = NIM_NIL;
3458 result = n;
3459 {
3460 while (1) {
3461 switch ((*result).kind) {
3462 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
3463 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
3464 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
3465 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
3466 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
3467 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
3468 {
3469 result = (*result)._kind_6.sons->data[((NI) 0)];
3470 }
3471 break;
3472 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58):
3473 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
3474 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
3475 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
3476 {
3477 result = (*result)._kind_6.sons->data[((NI) 1)];
3478 }
3479 break;
3480 default:
3481 {
3482 goto LA1;
3483 }
3484 break;
3485 }
3486 }
3487 } LA1: ;
3488 return result;
3489 }
N_NIMCALL(NIM_BOOL,isAddrNode__astalgo_4297)3490 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAddrNode__astalgo_4297)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3491 NIM_BOOL result;
3492 result = (NIM_BOOL)0;
3493 switch ((*n).kind) {
3494 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63):
3495 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
3496 {
3497 result = NIM_TRUE;
3498 }
3499 break;
3500 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
3501 {
3502 {
3503 NIM_BOOL T5_;
3504 T5_ = (NIM_BOOL)0;
3505 T5_ = ((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
3506 if (!(T5_)) goto LA6_;
3507 T5_ = ((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 16));
3508 LA6_: ;
3509 if (!T5_) goto LA7_;
3510 result = NIM_TRUE;
3511 }
3512 goto LA3_;
3513 LA7_: ;
3514 {
3515 result = NIM_FALSE;
3516 }
3517 LA3_: ;
3518 }
3519 break;
3520 default:
3521 {
3522 result = NIM_FALSE;
3523 }
3524 break;
3525 }
3526 return result;
3527 }
N_NIMCALL(NimStringDesc *,listSymbolNames__astalgo_4310)3528 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, listSymbolNames__astalgo_4310)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** symbols, NI symbolsLen_0) {
3529 NimStringDesc* result;
3530 result = NIM_NIL;
3531 {
3532 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ** sym;
3533 NI i;
3534 sym = (tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ**)0;
3535 i = ((NI) 0);
3536 {
3537 while (1) {
3538 if (!(i < symbolsLen_0)) goto LA3;
3539 sym = &symbols[i];
3540 {
3541 if (!(((NI) 0) < (result ? result->Sup.len : 0))) goto LA6_;
3542 result = resizeString(result, 2);
3543 appendString(result, ((NimStringDesc*) &TM__uRgrUHgaDgkYkoMPsaodqw_22));
3544 }
3545 LA6_: ;
3546 result = resizeString(result, ((*(*(*sym)).name).s ? (*(*(*sym)).name).s->Sup.len : 0) + 0);
3547 appendString(result, (*(*(*sym)).name).s);
3548 i += ((NI) 1);
3549 } LA3: ;
3550 }
3551 }
3552 return result;
3553 }
N_NIMCALL(void,symTabReplaceRaw__astalgo_3277)3554 N_LIB_PRIVATE N_NIMCALL(void, symTabReplaceRaw__astalgo_3277)(tySequence__eHqUwlHGGaPw0TDPDeL79cQ** data, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prevSym, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* newSym) {
3555 NI h;
3556 NI T1_;
3557 { T1_ = (((*data) ? (*data)->Sup.len : 0)-1);
3558 h = (NI)((*(*prevSym).name).h & T1_);
3559 {
3560 while (1) {
3561 NI T8_;
3562 if (!!(((*data)->data[h] == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA3;
3563 {
3564 if (!((*data)->data[h] == prevSym)) goto LA6_;
3565 asgnRef((void**) (&(*data)->data[h]), newSym);
3566 goto BeforeRet_;
3567 }
3568 LA6_: ;
3569 T8_ = (((*data) ? (*data)->Sup.len : 0)-1);
3570 h = nextTry__astalgo_90(h, T8_);
3571 } LA3: ;
3572 }
3573 }BeforeRet_: ;
3574 }
N_NIMCALL(void,symTabReplace__astalgo_3302)3575 N_LIB_PRIVATE N_NIMCALL(void, symTabReplace__astalgo_3302)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA* t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* prevSym, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* newSym) {
3576 symTabReplaceRaw__astalgo_3277((&(*t).data), prevSym, newSym);
3577 }
N_NIMCALL(NIM_BOOL,isDiscriminantField__astalgo_4335)3578 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDiscriminantField__astalgo_4335)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
3579 NIM_BOOL result;
3580 result = (NIM_BOOL)0;
3581 {
3582 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46))) goto LA3_;
3583 result = (((*(*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 20))&63U)))!=0);
3584 }
3585 goto LA1_;
3586 LA3_: ;
3587 {
3588 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45))) goto LA6_;
3589 result = (((*(*(*n)._kind_6.sons->data[((NI) 1)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 20))&63U)))!=0);
3590 }
3591 goto LA1_;
3592 LA6_: ;
3593 {
3594 result = NIM_FALSE;
3595 }
3596 LA1_: ;
3597 return result;
3598 }
N_NIMCALL(NIM_BOOL,strTableContains__astalgo_3233)3599 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, strTableContains__astalgo_3233)(tyObject_TStrTable__f07aOS3dr28kGa5wcE29aFA t, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* n) {
3600 NIM_BOOL result;
3601 NI h;
3602 NI T1_;
3603 { result = (NIM_BOOL)0;
3604 T1_ = ((t.data ? t.data->Sup.len : 0)-1);
3605 h = (NI)((*(*n).name).h & T1_);
3606 {
3607 while (1) {
3608 NI T8_;
3609 if (!!((t.data->data[h] == ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL)))) goto LA3;
3610 {
3611 if (!(t.data->data[h] == n)) goto LA6_;
3612 result = NIM_TRUE;
3613 goto BeforeRet_;
3614 }
3615 LA6_: ;
3616 T8_ = ((t.data ? t.data->Sup.len : 0)-1);
3617 h = nextTry__astalgo_90(h, T8_);
3618 } LA3: ;
3619 }
3620 result = NIM_FALSE;
3621 }BeforeRet_: ;
3622 return result;
3623 }
N_NIMCALL(void,compiler_astalgoDatInit000)3624 N_LIB_PRIVATE N_NIMCALL(void, compiler_astalgoDatInit000)(void) {
3625 static TNimNode* TM__uRgrUHgaDgkYkoMPsaodqw_2_3[3];
3626 static TNimNode TM__uRgrUHgaDgkYkoMPsaodqw_0[4];
3627 NTIkeyvaluepair__aGv2fk9ceddvdC01ZJC2Q2g_.size = sizeof(tyTuple__aGv2fk9ceddvdC01ZJC2Q2g);
3628 NTIkeyvaluepair__aGv2fk9ceddvdC01ZJC2Q2g_.align = NIM_ALIGNOF(tyTuple__aGv2fk9ceddvdC01ZJC2Q2g);
3629 NTIkeyvaluepair__aGv2fk9ceddvdC01ZJC2Q2g_.kind = 18;
3630 NTIkeyvaluepair__aGv2fk9ceddvdC01ZJC2Q2g_.base = 0;
3631 NTIkeyvaluepair__aGv2fk9ceddvdC01ZJC2Q2g_.flags = 1;
3632 TM__uRgrUHgaDgkYkoMPsaodqw_2_3[0] = &TM__uRgrUHgaDgkYkoMPsaodqw_0[1];
3633 TM__uRgrUHgaDgkYkoMPsaodqw_0[1].kind = 1;
3634 TM__uRgrUHgaDgkYkoMPsaodqw_0[1].offset = offsetof(tyTuple__aGv2fk9ceddvdC01ZJC2Q2g, Field0);
3635 TM__uRgrUHgaDgkYkoMPsaodqw_0[1].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
3636 TM__uRgrUHgaDgkYkoMPsaodqw_0[1].name = "Field0";
3637 TM__uRgrUHgaDgkYkoMPsaodqw_2_3[1] = &TM__uRgrUHgaDgkYkoMPsaodqw_0[2];
3638 TM__uRgrUHgaDgkYkoMPsaodqw_0[2].kind = 1;
3639 TM__uRgrUHgaDgkYkoMPsaodqw_0[2].offset = offsetof(tyTuple__aGv2fk9ceddvdC01ZJC2Q2g, Field1);
3640 TM__uRgrUHgaDgkYkoMPsaodqw_0[2].typ = (&NTIpointer__vr5DoT1jILTGdRlYv1OYpw_);
3641 TM__uRgrUHgaDgkYkoMPsaodqw_0[2].name = "Field1";
3642 TM__uRgrUHgaDgkYkoMPsaodqw_2_3[2] = &TM__uRgrUHgaDgkYkoMPsaodqw_0[3];
3643 TM__uRgrUHgaDgkYkoMPsaodqw_0[3].kind = 1;
3644 TM__uRgrUHgaDgkYkoMPsaodqw_0[3].offset = offsetof(tyTuple__aGv2fk9ceddvdC01ZJC2Q2g, Field2);
3645 TM__uRgrUHgaDgkYkoMPsaodqw_0[3].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
3646 TM__uRgrUHgaDgkYkoMPsaodqw_0[3].name = "Field2";
3647 TM__uRgrUHgaDgkYkoMPsaodqw_0[0].len = 3; TM__uRgrUHgaDgkYkoMPsaodqw_0[0].kind = 2; TM__uRgrUHgaDgkYkoMPsaodqw_0[0].sons = &TM__uRgrUHgaDgkYkoMPsaodqw_2_3[0];
3648 NTIkeyvaluepair__aGv2fk9ceddvdC01ZJC2Q2g_.node = &TM__uRgrUHgaDgkYkoMPsaodqw_0[0];
3649 NTIkeyvaluepairseq__9chP3SzkaldXzawWQCDsqqg_.size = sizeof(tySequence__9chP3SzkaldXzawWQCDsqqg*);
3650 NTIkeyvaluepairseq__9chP3SzkaldXzawWQCDsqqg_.align = NIM_ALIGNOF(tySequence__9chP3SzkaldXzawWQCDsqqg*);
3651 NTIkeyvaluepairseq__9chP3SzkaldXzawWQCDsqqg_.kind = 24;
3652 NTIkeyvaluepairseq__9chP3SzkaldXzawWQCDsqqg_.base = (&NTIkeyvaluepair__aGv2fk9ceddvdC01ZJC2Q2g_);
3653 NTIkeyvaluepairseq__9chP3SzkaldXzawWQCDsqqg_.marker = Marker_tySequence__9chP3SzkaldXzawWQCDsqqg;
3654 }
3655
3656