1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 #define NIM_EmulateOverflowChecks
4
5 #include "nimbase.h"
6 #include <string.h>
7 #undef LANGUAGE_C
8 #undef MIPSEB
9 #undef MIPSEL
10 #undef PPC
11 #undef R3000
12 #undef R4000
13 #undef i386
14 #undef linux
15 #undef mips
16 #undef near
17 #undef far
18 #undef powerpc
19 #undef unix
20 #define nimfr_(x, y)
21 #define nimln_(x, y)
22 typedef struct tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ;
23 typedef struct TGenericSeq TGenericSeq;
24 typedef struct tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg;
25 typedef struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw;
26 typedef struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ;
27 typedef struct tyObject_Con__eFhkbMY30pSTdER2YWz9cRw tyObject_Con__eFhkbMY30pSTdER2YWz9cRw;
28 typedef struct tySequence__bZP29c0SHT9aMkbSl4EFvgCg tySequence__bZP29c0SHT9aMkbSl4EFvgCg;
29 typedef struct tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA;
30 typedef struct tySequence__m6h1zim2DFUPFJioFj0P9cg tySequence__m6h1zim2DFUPFJioFj0P9cg;
31 typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
32 typedef struct TNimType TNimType;
33 typedef struct TNimNode TNimNode;
34 typedef struct tyTuple__tFiYBoaBrKZKt1Te12yKUQ tyTuple__tFiYBoaBrKZKt1Te12yKUQ;
35 typedef struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ;
36 typedef struct tyObject_TType__facALICuu8zUj0hjvbTLFg tyObject_TType__facALICuu8zUj0hjvbTLFg;
37 typedef struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q;
38 typedef struct NimStringDesc NimStringDesc;
39 typedef struct tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA;
40 typedef struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w;
41 typedef struct RootObj RootObj;
42 typedef struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g;
43 typedef struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA;
44 typedef struct tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA;
45 typedef struct tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA;
46 typedef struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A;
47 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
48 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
49 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
50 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
51 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
52 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
53 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
54 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
55 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
56 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
57 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
58 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
59 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
60 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
61 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
62 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
63 struct TGenericSeq {
64 NI len;
65 NI reserved;
66 };
67 typedef NU8 tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ;
68 struct tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg {
69 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
70 tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ kind;
71 union{
72 NI dest;
73 };
74 };
75 struct tyObject_Con__eFhkbMY30pSTdER2YWz9cRw {
76 tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* code;
77 NI inTryStmt;
78 tySequence__bZP29c0SHT9aMkbSl4EFvgCg* blocks;
79 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
80 };
81 struct tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA {
82 NIM_BOOL isTryBlock;
83 union{
84 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* label;
85 tySequence__m6h1zim2DFUPFJioFj0P9cg* breakFixups;
86 } _isTryBlock_1;
87 struct {tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* finale;
88 tySequence__qwqHTkRvwhrRyENtudHQ7g* raiseFixups;
89 } _isTryBlock_2;
90 };
91 };
92 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
93 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
94 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
95 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
96 struct TNimType {
97 NI size;
98 NI align;
99 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
100 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
101 TNimType* base;
102 TNimNode* node;
103 void* finalizer;
104 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
105 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
106 };
107 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
108 struct TNimNode {
109 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
110 NI offset;
111 TNimType* typ;
112 NCSTRING name;
113 NI len;
114 TNimNode** sons;
115 };
116 struct tyTuple__tFiYBoaBrKZKt1Te12yKUQ {
117 NI Field0;
118 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* Field1;
119 };
120 struct tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q {
121 NU16 line;
122 NI16 col;
123 NI32 fileIndex;
124 };
125 typedef NU32 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg;
126 typedef NU8 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw;
127 struct NimStringDesc {
128 TGenericSeq Sup;
129 NIM_CHAR data[SEQ_DECL_SIZE];
130 };
131 struct tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw {
132 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
133 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
134 tySet_tyEnum_TNodeFlag__jyh9acXHkhZANSSvPIY7ZLg flags;
135 tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind;
136 union{
137 struct {NI64 intVal;
138 } _kind_1;
139 struct {NF floatVal;
140 } _kind_2;
141 struct {NimStringDesc* strVal;
142 } _kind_3;
143 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
144 } _kind_4;
145 struct {tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* ident;
146 } _kind_5;
147 struct {tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
148 } _kind_6;
149 };
150 };
151 struct RootObj {
152 TNimType* m_type;
153 };
154 struct tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g {
155 NI32 module;
156 NI32 item;
157 };
158 struct tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w {
159 RootObj Sup;
160 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g itemId;
161 };
162 typedef NU8 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw;
163 typedef NU16 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg;
164 typedef NU64 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
165 typedef NU32 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg;
166 typedef NU8 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg;
167 typedef NU8 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw;
168 typedef NU16 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA;
169 struct tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA {
170 tyEnum_TLocKind__O7PRFZKuiBBWbku09cayVBg k;
171 tyEnum_TStorageLoc__JK9cKMX3XnqHaUky9b6gkGEw storage;
172 tySet_tyEnum_TLocFlag__o2bqJgR4ceIupnUSpxiudA flags;
173 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* lode;
174 tyObject_RopeObj__OFzf0kSiPTcNreUIeJgWVA* r;
175 };
176 struct tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ {
177 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
178 tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw kind;
179 union{
180 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* gcUnsafetyReason;
181 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* transformedBody;
182 } _kind_1;
183 struct {tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* guard;
184 NI bitsize;
185 NI alignment;
186 } _kind_2;
187 };
188 tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg magic;
189 tyObject_TType__facALICuu8zUj0hjvbTLFg* typ;
190 tyObject_TIdent__1LTsGP7bSxg45u9aHcxh6OA* name;
191 tyObject_TLineInfo__WGx4rAexNXnczy1Avn646Q info;
192 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
193 tySet_tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw flags;
194 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* ast;
195 tySet_tyEnum_TOption__WspMeQySXNP2XoTWR5MTgg options;
196 NI position;
197 NI offset;
198 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
199 tyObject_TLib__NBMxlJ6g3utqUlplqTTHkA* annex;
200 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* constraint;
201 };
202 typedef NU8 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag;
203 typedef NU8 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA;
204 typedef NU64 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
205 struct tyObject_TType__facALICuu8zUj0hjvbTLFg {
206 tyObject_TIdObj__KUwfjfUQEwGHguQbTcXu7w Sup;
207 tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kind;
208 tyEnum_TCallingConvention__yjAJ8w0h1PBaSwSGJ3P7IA callConv;
209 tySet_tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw flags;
210 tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A* sons;
211 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
212 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner;
213 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* sym;
214 NI64 size;
215 NI16 align;
216 NI16 paddingAtEnd;
217 NI16 lockLevel;
218 tyObject_TLoc__EtHNvCB0bgfu9bFjzx9cb6aA loc;
219 tyObject_TType__facALICuu8zUj0hjvbTLFg* typeInst;
220 tyObject_ItemId__ozxAxZLHTQ9c3akTzYvt67g uniqueId;
221 };
222 typedef NU8 tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag[9];
223 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
224 NI refcount;
225 TNimType* typ;
226 };
227 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
228 void* bottom;
229 };
230 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
231 NI len;
232 NI cap;
233 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
234 };
235 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
236 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
237 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
238 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
239 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
240 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
241 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
242 };
243 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
244 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
245 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
246 NI key;
247 NI upperBound;
248 NI level;
249 };
250 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
251 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
252 NI Field1;
253 };
254 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
255 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
256 NI len;
257 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
258 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
259 };
260 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
261 NI minLargeObj;
262 NI maxLargeObj;
263 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
264 NU32 flBitmap;
265 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
266 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
267 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
268 NI currMem;
269 NI maxMem;
270 NI freeMem;
271 NI occ;
272 NI lastSize;
273 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
274 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
275 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
276 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
277 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
278 NIM_BOOL locked;
279 NIM_BOOL blockChunkSizeIncrease;
280 NI nextChunkSize;
281 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
282 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
283 };
284 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
285 NI stackScans;
286 NI cycleCollections;
287 NI maxThreshold;
288 NI maxStackSize;
289 NI maxStackCells;
290 NI cycleTableSize;
291 NI64 maxPause;
292 };
293 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
294 NI counter;
295 NI max;
296 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
297 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
298 };
299 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
300 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
301 NI cycleThreshold;
302 NI zctThreshold;
303 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
304 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
305 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
306 NI recGcLock;
307 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
308 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
309 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
310 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
311 NI gcThreadId;
312 };
313 typedef NU8 tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw;
314 typedef NU8 tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw[21];
315 typedef NI tyArray__HU7qaqKu9czJLT84iCBJnsA[2];
316 typedef NU8 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg;
317 typedef NU8 tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw;
318 struct tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ {
319 TGenericSeq Sup;
320 tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg data[SEQ_DECL_SIZE];
321 };
322 struct tySequence__bZP29c0SHT9aMkbSl4EFvgCg {
323 TGenericSeq Sup;
324 tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA data[SEQ_DECL_SIZE];
325 };
326 struct tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ {
327 TGenericSeq Sup;
328 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
329 };
330 struct tySequence__m6h1zim2DFUPFJioFj0P9cg {
331 TGenericSeq Sup;
332 tyTuple__tFiYBoaBrKZKt1Te12yKUQ data[SEQ_DECL_SIZE];
333 };
334 struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
335 TGenericSeq Sup;
336 NI data[SEQ_DECL_SIZE];
337 };
338 struct tySequence__9aZVGG5Gtti9cC9bqRpXCtA3A {
339 TGenericSeq Sup;
340 tyObject_TType__facALICuu8zUj0hjvbTLFg* data[SEQ_DECL_SIZE];
341 };
342 static N_INLINE(void, nimZeroMem)(void* p, NI size);
343 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
344 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
345 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
346 static N_NIMCALL(void, Marker_tySequence__m6h1zim2DFUPFJioFj0P9cg)(void* p, NI op);
347 static N_NIMCALL(void, Marker_tySequence__bZP29c0SHT9aMkbSl4EFvgCg)(void* p, NI op);
348 N_LIB_PRIVATE N_NIMCALL(void, genericAssign)(void* dest, void* src, TNimType* mt);
349 N_LIB_PRIVATE N_NIMCALL(void, gen__dfa_198)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
350 N_LIB_PRIVATE N_NIMCALL(void, genUse__dfa_963)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig);
351 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipTrivials__dfa_951)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
352 static N_NIMCALL(void, Marker_tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ)(void* p, NI op);
353 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
354 N_LIB_PRIVATE N_NIMCALL(void, genMagic__dfa_1026)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m);
355 N_LIB_PRIVATE N_NIMCALL(void, genAndOr__dfa_444)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
356 N_LIB_PRIVATE N_NIMCALL(NI, forkI__dfa_83)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
357 N_LIB_PRIVATE N_NIMCALL(void, patch__dfa_173)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, NI p);
358 N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__systemZassertions_56)(NimStringDesc* msg);
359 N_LIB_PRIVATE N_NIMCALL(void, genDef__dfa_979)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig);
360 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
361 N_LIB_PRIVATE N_NIMCALL(void, genCall__dfa_995)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
362 N_LIB_PRIVATE N_NIMCALL(tyObject_TType__facALICuu8zUj0hjvbTLFg*, skipTypes__ast_3735)(tyObject_TType__facALICuu8zUj0hjvbTLFg* t, tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag kinds);
363 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, canRaiseConservative__ast_5076)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fn);
364 N_LIB_PRIVATE N_NIMCALL(void, genBreakOrRaiseAux__dfa_555)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, NI i, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
365 N_LIB_PRIVATE N_NIMCALL(NI, gotoI__dfa_124)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
366 static N_INLINE(void, asgnRef)(void** dest, void* src);
367 static N_INLINE(void, incRef__system_5329)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
368 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
369 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5291)(void* usr);
370 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
371 static N_INLINE(void, decRef__system_5336)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
372 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
373 static N_INLINE(void, rtlAddZCT__system_5334)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
374 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5285)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
375 N_LIB_PRIVATE N_NIMCALL(void, genericSeqAssign)(void* dest, void* src, TNimType* mt);
376 N_LIB_PRIVATE N_NIMCALL(void, genIf__dfa_395)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
377 N_LIB_PRIVATE N_NIMCALL(void, genCase__dfa_451)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
378 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, lastSon__ast_4832)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
379 static N_INLINE(NI*, X5BX5D___dfa_492)(NI* s, NI sLen_0, NI i);
380 N_LIB_PRIVATE N_NIMCALL(void, genWhile__dfa_316)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
381 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__dfa_301)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
382 N_LIB_PRIVATE N_NIMCALL(void, popBlock__dfa_201)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, NI oldLen);
383 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, newNode__ast_3332)(tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw kind);
384 N_LIB_PRIVATE N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
385 N_LIB_PRIVATE N_NIMCALL(void, genBlock__dfa_541)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
386 N_LIB_PRIVATE N_NIMCALL(void, genReturn__dfa_768)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
387 N_LIB_PRIVATE N_NIMCALL(void, genImplicitReturn__dfa_758)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c);
388 N_LIB_PRIVATE N_NIMCALL(void, genRaise__dfa_731)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
389 N_LIB_PRIVATE N_NIMCALL(void, genBreak__dfa_609)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
390 N_LIB_PRIVATE N_NIMCALL(void, genTry__dfa_640)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
391 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
392 N_LIB_PRIVATE N_NIMCALL(void, genVarSection__dfa_1040)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n);
393 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**, X5BX5D___ast_4836)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** s, NI sLen_0, NI i);
394 static N_INLINE(NIM_BOOL, isSinkParam__ast_5030)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s);
395 N_LIB_PRIVATE TNimType NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_;
396 extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
397 TNimNode* NimDT___J29b9b9cJiD9aK19cdoA7IwWiyA_isTryBlock[3];
398 extern TNimType NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_;
399 N_LIB_PRIVATE TNimType NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_;
400 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
401 extern TNimType NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_;
402 N_LIB_PRIVATE TNimType NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_;
403 extern TNimType NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_;
404 extern TNimType NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_;
405 N_LIB_PRIVATE TNimType NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_;
406 N_LIB_PRIVATE TNimType NTIinstr__Iclb1njvAJfjjEpCLzUzZg_;
407 N_LIB_PRIVATE TNimType NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_;
408 TNimNode* NimDT___Iclb1njvAJfjjEpCLzUzZg_kind[5];
409 N_LIB_PRIVATE TNimType NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_;
410 STRING_LITERAL(TM__rmUZTUif19aNVU5raHE2xtA_9, "dfa.nim(272, 12) `low(int) div 2 + 1 < c.code.len - p.int and c.code.len - p.int < high(int) div 2` ", 100);
411 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rmUZTUif19aNVU5raHE2xtA_10 = {
412 0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
413 0x00}
414 ;
415 static NIM_CONST tySet_tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw TM__rmUZTUif19aNVU5raHE2xtA_11 = {
416 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x80,
417 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
418 0x00, 0x00, 0x00, 0x00, 0x00}
419 ;
420 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rmUZTUif19aNVU5raHE2xtA_12 = {
421 0x10, 0xa8, 0x90, 0x00, 0x00, 0x60, 0x80, 0x00,
422 0x00}
423 ;
424 STRING_LITERAL(TM__rmUZTUif19aNVU5raHE2xtA_13, "dfa.nim(809, 24) `false` dfa construction pass requires the elimination of \'defer\'", 82);
425 N_LIB_PRIVATE TNimType NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_;
426 static NIM_CONST tySet_tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag TM__rmUZTUif19aNVU5raHE2xtA_17 = {
427 0x10, 0xa9, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00,
428 0x00}
429 ;
430 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5238;
N_INLINE(void,nimSetMem__systemZmemory_7)431 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
432 void* T1_;
433 T1_ = (void*)0;
434 T1_ = memset(a, v, ((size_t) (size)));
435 }
N_INLINE(void,nimZeroMem)436 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
437 nimSetMem__systemZmemory_7(p, ((int) 0), size);
438 }
N_NIMCALL(void,Marker_tySequence__m6h1zim2DFUPFJioFj0P9cg)439 static N_NIMCALL(void, Marker_tySequence__m6h1zim2DFUPFJioFj0P9cg)(void* p, NI op) {
440 tySequence__m6h1zim2DFUPFJioFj0P9cg* a;
441 NI T1_;
442 a = (tySequence__m6h1zim2DFUPFJioFj0P9cg*)p;
443 T1_ = (NI)0;
444 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
445 nimGCvisit((void*)a->data[T1_].Field1, op);
446 }
447 }
N_NIMCALL(void,Marker_tySequence__bZP29c0SHT9aMkbSl4EFvgCg)448 static N_NIMCALL(void, Marker_tySequence__bZP29c0SHT9aMkbSl4EFvgCg)(void* p, NI op) {
449 tySequence__bZP29c0SHT9aMkbSl4EFvgCg* a;
450 NI T1_;
451 a = (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*)p;
452 T1_ = (NI)0;
453 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
454 switch (a->data[T1_].isTryBlock) {
455 case NIM_FALSE:
456 nimGCvisit((void*)a->data[T1_]._isTryBlock_1.label, op);
457 nimGCvisit((void*)a->data[T1_]._isTryBlock_1.breakFixups, op);
458 break;
459 case NIM_TRUE:
460 nimGCvisit((void*)a->data[T1_]._isTryBlock_2.finale, op);
461 nimGCvisit((void*)a->data[T1_]._isTryBlock_2.raiseFixups, op);
462 break;
463 }
464 }
465 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipTrivials__dfa_951)466 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipTrivials__dfa_951)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
467 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
468 result = NIM_NIL;
469 result = n;
470 {
471 while (1) {
472 switch ((*result).kind) {
473 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
474 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
475 {
476 result = (*result)._kind_6.sons->data[((NI) 0)];
477 }
478 break;
479 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
480 {
481 gen__dfa_198(c, (*result)._kind_6.sons->data[((NI) 1)]);
482 result = (*result)._kind_6.sons->data[((NI) 0)];
483 }
484 break;
485 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
486 {
487 result = (*result)._kind_6.sons->data[((NI) 1)];
488 }
489 break;
490 default:
491 {
492 goto LA1;
493 }
494 break;
495 }
496 }
497 } LA1: ;
498 return result;
499 }
N_NIMCALL(void,Marker_tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ)500 static N_NIMCALL(void, Marker_tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ)(void* p, NI op) {
501 tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* a;
502 NI T1_;
503 a = (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*)p;
504 T1_ = (NI)0;
505 for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
506 nimGCvisit((void*)a->data[T1_].n, op);
507 switch (a->data[T1_].kind) {
508 case ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 0):
509 case ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 1):
510 break;
511 default:
512 break;
513 }
514 }
515 }
N_NIMCALL(void,genUse__dfa_963)516 N_LIB_PRIVATE N_NIMCALL(void, genUse__dfa_963)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig) {
517 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
518 n = skipTrivials__dfa_951(c, orig);
519 {
520 if (!((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
521 {
522 tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg T9_;
523 NI T10_;
524 if (!((2100008 &((NU32)1<<((NU)((*(*n)._kind_4.sym).kind)&31U)))!=0)) goto LA7_;
525 nimZeroMem((void*)(&T9_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
526 nimZeroMem((void*)(&T9_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
527 T9_.n = orig;
528 T9_.kind = ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 3);
529 unsureAsgnRef((void**) (&(*c).code), (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_)));
530 T10_ = (*c).code->Sup.len++;
531 genericAssign((void*)(&(*c).code->data[T10_]), (void*)(&T9_), (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_));
532 }
533 LA7_: ;
534 }
535 goto LA1_;
536 LA3_: ;
537 {
538 gen__dfa_198(c, n);
539 }
540 LA1_: ;
541 }
N_NIMCALL(NI,forkI__dfa_83)542 N_LIB_PRIVATE N_NIMCALL(NI, forkI__dfa_83)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
543 NI result;
544 NI T1_;
545 tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg T2_;
546 NI T3_;
547 result = (NI)0;
548 T1_ = ((*c).code ? (*c).code->Sup.len : 0);
549 result = T1_;
550 nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
551 nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
552 T2_.n = n;
553 T2_.kind = ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 1);
554 T2_.dest = ((NI) 0);
555 unsureAsgnRef((void**) (&(*c).code), (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_)));
556 T3_ = (*c).code->Sup.len++;
557 genericAssign((void*)(&(*c).code->data[T3_]), (void*)(&T2_), (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_));
558 return result;
559 }
N_NIMCALL(void,patch__dfa_173)560 N_LIB_PRIVATE N_NIMCALL(void, patch__dfa_173)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, NI p) {
561 NI T9_;
562 {
563 NIM_BOOL T3_;
564 NI T4_;
565 NI T6_;
566 T3_ = (NIM_BOOL)0;
567 T4_ = ((*c).code ? (*c).code->Sup.len : 0);
568 T3_ = (((NI) -1073741823) < (NI)(T4_ - p));
569 if (!(T3_)) goto LA5_;
570 T6_ = ((*c).code ? (*c).code->Sup.len : 0);
571 T3_ = ((NI)(T6_ - p) < ((NI) 1073741823));
572 LA5_: ;
573 if (!!(T3_)) goto LA7_;
574 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rmUZTUif19aNVU5raHE2xtA_9));
575 }
576 LA7_: ;
577 T9_ = ((*c).code ? (*c).code->Sup.len : 0);
578 (*c).code->data[p].dest = (NI)(T9_ - p);
579 }
N_NIMCALL(void,genAndOr__dfa_444)580 N_LIB_PRIVATE N_NIMCALL(void, genAndOr__dfa_444)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
581 NI lab1X60gensym28_;
582 gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 1)]);
583 lab1X60gensym28_ = forkI__dfa_83(c, n);
584 gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 2)]);
585 patch__dfa_173(c, lab1X60gensym28_);
586 }
N_NIMCALL(void,genDef__dfa_979)587 N_LIB_PRIVATE N_NIMCALL(void, genDef__dfa_979)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig) {
588 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
589 n = skipTrivials__dfa_951(c, orig);
590 {
591 NIM_BOOL T3_;
592 tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg T7_;
593 NI T8_;
594 T3_ = (NIM_BOOL)0;
595 T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
596 if (!(T3_)) goto LA4_;
597 T3_ = ((2100008 &((NU32)1<<((NU)((*(*n)._kind_4.sym).kind)&31U)))!=0);
598 LA4_: ;
599 if (!T3_) goto LA5_;
600 nimZeroMem((void*)(&T7_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
601 nimZeroMem((void*)(&T7_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
602 T7_.n = orig;
603 T7_.kind = ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 2);
604 unsureAsgnRef((void**) (&(*c).code), (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_)));
605 T8_ = (*c).code->Sup.len++;
606 genericAssign((void*)(&(*c).code->data[T8_]), (void*)(&T7_), (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_));
607 }
608 LA5_: ;
609 }
N_INLINE(NI,len__ast_3198)610 static N_INLINE(NI, len__ast_3198)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
611 NI result;
612 NI T1_;
613 result = (NI)0;
614 T1_ = ((*n)._kind_6.sons ? (*n)._kind_6.sons->Sup.len : 0);
615 result = T1_;
616 return result;
617 }
N_NIMCALL(NI,gotoI__dfa_124)618 N_LIB_PRIVATE N_NIMCALL(NI, gotoI__dfa_124)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
619 NI result;
620 NI T1_;
621 tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg T2_;
622 NI T3_;
623 result = (NI)0;
624 T1_ = ((*c).code ? (*c).code->Sup.len : 0);
625 result = T1_;
626 nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
627 nimZeroMem((void*)(&T2_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
628 T2_.n = n;
629 T2_.kind = ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 0);
630 T2_.dest = ((NI) 0);
631 unsureAsgnRef((void**) (&(*c).code), (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_)));
632 T3_ = (*c).code->Sup.len++;
633 genericAssign((void*)(&(*c).code->data[T3_]), (void*)(&T2_), (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_));
634 return result;
635 }
N_INLINE(NI,pluspercent___system_696)636 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
637 NI result;
638 result = (NI)0;
639 result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
640 return result;
641 }
N_INLINE(void,incRef__system_5329)642 static N_INLINE(void, incRef__system_5329)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
643 (*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
644 }
N_INLINE(NI,minuspercent___system_716)645 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
646 NI result;
647 result = (NI)0;
648 result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
649 return result;
650 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5291)651 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5291)(void* usr) {
652 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
653 NI T1_;
654 result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
655 T1_ = (NI)0;
656 T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
657 result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
658 return result;
659 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)660 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
661 NIM_BOOL result;
662 result = (NIM_BOOL)0;
663 result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
664 return result;
665 }
N_INLINE(void,rtlAddZCT__system_5334)666 static N_INLINE(void, rtlAddZCT__system_5334)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
667 addZCT__system_5285((&gch__system_5238.zct), c);
668 }
N_INLINE(void,decRef__system_5336)669 static N_INLINE(void, decRef__system_5336)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
670 (*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
671 {
672 NIM_BOOL T3_;
673 T3_ = (NIM_BOOL)0;
674 T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
675 if (!T3_) goto LA4_;
676 rtlAddZCT__system_5334(c);
677 }
678 LA4_: ;
679 }
N_INLINE(void,asgnRef)680 static N_INLINE(void, asgnRef)(void** dest, void* src) {
681 {
682 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
683 if (!!((src == NIM_NIL))) goto LA3_;
684 T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
685 T5_ = usrToCell__system_5291(src);
686 incRef__system_5329(T5_);
687 }
688 LA3_: ;
689 {
690 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
691 if (!!(((*dest) == NIM_NIL))) goto LA8_;
692 T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
693 T10_ = usrToCell__system_5291((*dest));
694 decRef__system_5336(T10_);
695 }
696 LA8_: ;
697 (*dest) = src;
698 }
N_NIMCALL(void,genBreakOrRaiseAux__dfa_555)699 N_LIB_PRIVATE N_NIMCALL(void, genBreakOrRaiseAux__dfa_555)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, NI i, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
700 NI lab1;
701 lab1 = gotoI__dfa_124(c, n);
702 {
703 NI T5_;
704 if (!(*c).blocks->data[i].isTryBlock) goto LA3_;
705 asgnRef((void**) (&(*c).blocks->data[i]._isTryBlock_2.raiseFixups), (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)((*c).blocks->data[i]._isTryBlock_2.raiseFixups), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_)));
706 T5_ = (*c).blocks->data[i]._isTryBlock_2.raiseFixups->Sup.len++;
707 (*c).blocks->data[i]._isTryBlock_2.raiseFixups->data[T5_] = lab1;
708 }
709 goto LA1_;
710 LA3_: ;
711 {
712 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* trailingFinales;
713 tyTuple__tFiYBoaBrKZKt1Te12yKUQ T20_;
714 NI T21_;
715 trailingFinales = NIM_NIL;
716 {
717 if (!(((NI) 0) < (*c).inTryStmt)) goto LA9_;
718 {
719 NI b;
720 NI colontmp_;
721 NI T12_;
722 NI res;
723 b = (NI)0;
724 colontmp_ = (NI)0;
725 T12_ = (((*c).blocks ? (*c).blocks->Sup.len : 0)-1);
726 colontmp_ = T12_;
727 res = colontmp_;
728 {
729 while (1) {
730 if (!(i <= res)) goto LA14;
731 b = res;
732 {
733 NI T19_;
734 if (!(*c).blocks->data[b].isTryBlock) goto LA17_;
735 trailingFinales = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(trailingFinales), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
736 T19_ = trailingFinales->Sup.len++;
737 asgnRef((void**) (&trailingFinales->data[T19_]), (*c).blocks->data[b]._isTryBlock_2.finale);
738 }
739 LA17_: ;
740 res -= ((NI) 1);
741 } LA14: ;
742 }
743 }
744 }
745 LA9_: ;
746 nimZeroMem((void*)(&T20_), sizeof(tyTuple__tFiYBoaBrKZKt1Te12yKUQ));
747 T20_.Field0 = lab1;
748 genericSeqAssign((&T20_.Field1), trailingFinales, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
749 asgnRef((void**) (&(*c).blocks->data[i]._isTryBlock_1.breakFixups), (tySequence__m6h1zim2DFUPFJioFj0P9cg*) incrSeqV3((TGenericSeq*)((*c).blocks->data[i]._isTryBlock_1.breakFixups), (&NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_)));
750 T21_ = (*c).blocks->data[i]._isTryBlock_1.breakFixups->Sup.len++;
751 (*c).blocks->data[i]._isTryBlock_1.breakFixups->data[T21_].Field0 = T20_.Field0;
752 genericSeqAssign((&(*c).blocks->data[i]._isTryBlock_1.breakFixups->data[T21_].Field1), T20_.Field1, (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
753 }
754 LA1_: ;
755 }
N_NIMCALL(void,genCall__dfa_995)756 N_LIB_PRIVATE N_NIMCALL(void, genCall__dfa_995)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
757 tyObject_TType__facALICuu8zUj0hjvbTLFg* t;
758 gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
759 t = (*(*n)._kind_6.sons->data[((NI) 0)]).typ;
760 {
761 if (!!((t == ((tyObject_TType__facALICuu8zUj0hjvbTLFg*) NIM_NIL)))) goto LA3_;
762 t = skipTypes__ast_3735(t, TM__rmUZTUif19aNVU5raHE2xtA_10);
763 }
764 LA3_: ;
765 {
766 NI i;
767 NI colontmp_;
768 NI i_2;
769 i = (NI)0;
770 colontmp_ = (NI)0;
771 colontmp_ = len__ast_3198(n);
772 i_2 = ((NI) 1);
773 {
774 while (1) {
775 if (!(i_2 < colontmp_)) goto LA7;
776 i = i_2;
777 gen__dfa_198(c, (*n)._kind_6.sons->data[i]);
778 i_2 += ((NI) 1);
779 } LA7: ;
780 }
781 }
782 {
783 NIM_BOOL T10_;
784 NI lab1X60gensym114_;
785 T10_ = (NIM_BOOL)0;
786 T10_ = (((NI) 0) < (*c).inTryStmt);
787 if (!(T10_)) goto LA11_;
788 T10_ = canRaiseConservative__ast_5076((*n)._kind_6.sons->data[((NI) 0)]);
789 LA11_: ;
790 if (!T10_) goto LA12_;
791 lab1X60gensym114_ = forkI__dfa_83(c, n);
792 {
793 NI i_3;
794 NI colontmp__2;
795 NI T15_;
796 NI res;
797 i_3 = (NI)0;
798 colontmp__2 = (NI)0;
799 T15_ = (((*c).blocks ? (*c).blocks->Sup.len : 0)-1);
800 colontmp__2 = T15_;
801 res = colontmp__2;
802 {
803 while (1) {
804 if (!(((NI) 0) <= res)) goto LA17;
805 i_3 = res;
806 {
807 if (!(*c).blocks->data[i_3].isTryBlock) goto LA20_;
808 genBreakOrRaiseAux__dfa_555(c, i_3, n);
809 goto LA14;
810 }
811 LA20_: ;
812 res -= ((NI) 1);
813 } LA17: ;
814 }
815 } LA14: ;
816 patch__dfa_173(c, lab1X60gensym114_);
817 }
818 LA12_: ;
819 }
N_NIMCALL(void,genMagic__dfa_1026)820 N_LIB_PRIVATE N_NIMCALL(void, genMagic__dfa_1026)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n, tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg m) {
821 switch (m) {
822 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 109):
823 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 110):
824 {
825 genAndOr__dfa_444(c, n);
826 }
827 break;
828 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 32):
829 case ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 33):
830 {
831 genDef__dfa_979(c, (*n)._kind_6.sons->data[((NI) 1)]);
832 {
833 NI i;
834 NI colontmp_;
835 NI i_2;
836 i = (NI)0;
837 colontmp_ = (NI)0;
838 colontmp_ = len__ast_3198(n);
839 i_2 = ((NI) 2);
840 {
841 while (1) {
842 if (!(i_2 < colontmp_)) goto LA5;
843 i = i_2;
844 gen__dfa_198(c, (*n)._kind_6.sons->data[i]);
845 i_2 += ((NI) 1);
846 } LA5: ;
847 }
848 }
849 }
850 break;
851 default:
852 {
853 genCall__dfa_995(c, n);
854 }
855 break;
856 }
857 }
N_NIMCALL(void,genIf__dfa_395)858 N_LIB_PRIVATE N_NIMCALL(void, genIf__dfa_395)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
859 tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
860 endings = NIM_NIL;
861 {
862 NI i;
863 NI colontmp_;
864 NI i_2;
865 i = (NI)0;
866 colontmp_ = (NI)0;
867 colontmp_ = len__ast_3198(n);
868 i_2 = ((NI) 0);
869 {
870 while (1) {
871 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
872 if (!(i_2 < colontmp_)) goto LA3;
873 i = i_2;
874 it = (*n)._kind_6.sons->data[i];
875 gen__dfa_198(c, (*it)._kind_6.sons->data[((NI) 0)]);
876 {
877 NI T6_;
878 NI lab1X60gensym23_;
879 NI T9_;
880 NI T10_;
881 T6_ = (NI)0;
882 T6_ = len__ast_3198(it);
883 if (!(T6_ == ((NI) 2))) goto LA7_;
884 lab1X60gensym23_ = forkI__dfa_83(c, (*it)._kind_6.sons->data[((NI) 1)]);
885 gen__dfa_198(c, (*it)._kind_6.sons->data[((NI) 1)]);
886 T9_ = (NI)0;
887 T9_ = gotoI__dfa_124(c, (*it)._kind_6.sons->data[((NI) 1)]);
888 endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
889 T10_ = endings->Sup.len++;
890 endings->data[T10_] = T9_;
891 patch__dfa_173(c, lab1X60gensym23_);
892 }
893 LA7_: ;
894 i_2 += ((NI) 1);
895 } LA3: ;
896 }
897 }
898 {
899 NI i_3;
900 NI colontmp__2;
901 NI T12_;
902 NI res;
903 i_3 = (NI)0;
904 colontmp__2 = (NI)0;
905 T12_ = ((endings ? endings->Sup.len : 0)-1);
906 colontmp__2 = T12_;
907 res = colontmp__2;
908 {
909 while (1) {
910 if (!(((NI) 0) <= res)) goto LA14;
911 i_3 = res;
912 patch__dfa_173(c, endings->data[i_3]);
913 res -= ((NI) 1);
914 } LA14: ;
915 }
916 }
917 }
N_INLINE(NI *,X5BX5D___dfa_492)918 static N_INLINE(NI*, X5BX5D___dfa_492)(NI* s, NI sLen_0, NI i) {
919 NI* result;
920 result = (NI*)0;
921 result = (&s[(NI)(sLen_0 - i)]);
922 return result;
923 }
N_NIMCALL(void,genCase__dfa_451)924 N_LIB_PRIVATE N_NIMCALL(void, genCase__dfa_451)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
925 NIM_BOOL isExhaustive;
926 tyObject_TType__facALICuu8zUj0hjvbTLFg* T1_;
927 tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
928 T1_ = NIM_NIL;
929 T1_ = skipTypes__ast_3735((*(*n)._kind_6.sons->data[((NI) 0)]).typ, TM__rmUZTUif19aNVU5raHE2xtA_12);
930 isExhaustive = !(((*T1_).kind >= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 36) && (*T1_).kind <= ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 39) || (*T1_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 28)));
931 endings = NIM_NIL;
932 gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
933 {
934 NI i;
935 NI colontmp_;
936 NI i_2;
937 i = (NI)0;
938 colontmp_ = (NI)0;
939 colontmp_ = len__ast_3198(n);
940 i_2 = ((NI) 1);
941 {
942 while (1) {
943 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
944 if (!(i_2 < colontmp_)) goto LA4;
945 i = i_2;
946 it = (*n)._kind_6.sons->data[i];
947 {
948 NIM_BOOL T7_;
949 NI T8_;
950 NIM_BOOL T10_;
951 NI T11_;
952 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T15_;
953 T7_ = (NIM_BOOL)0;
954 T8_ = (NI)0;
955 T8_ = len__ast_3198(it);
956 T7_ = (T8_ == ((NI) 1));
957 if (T7_) goto LA9_;
958 T10_ = (NIM_BOOL)0;
959 T11_ = (NI)0;
960 T11_ = len__ast_3198(n);
961 T10_ = (i == (NI)(T11_ - ((NI) 1)));
962 if (!(T10_)) goto LA12_;
963 T10_ = isExhaustive;
964 LA12_: ;
965 T7_ = T10_;
966 LA9_: ;
967 if (!T7_) goto LA13_;
968 T15_ = NIM_NIL;
969 T15_ = lastSon__ast_4832(it);
970 gen__dfa_198(c, T15_);
971 {
972 NI T18_;
973 NI* T21_;
974 T18_ = (endings ? endings->Sup.len : 0);
975 if (!!((T18_ == ((NI) 0)))) goto LA19_;
976 T21_ = (NI*)0;
977 T21_ = X5BX5D___dfa_492(endings->data, (endings ? endings->Sup.len : 0), ((NI) 1));
978 patch__dfa_173(c, (*T21_));
979 }
980 LA19_: ;
981 }
982 goto LA5_;
983 LA13_: ;
984 {
985 NI lab1X60gensym36_;
986 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T23_;
987 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T24_;
988 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T31_;
989 NI T32_;
990 NI T33_;
991 T23_ = NIM_NIL;
992 T23_ = lastSon__ast_4832(it);
993 lab1X60gensym36_ = forkI__dfa_83(c, T23_);
994 T24_ = NIM_NIL;
995 T24_ = lastSon__ast_4832(it);
996 gen__dfa_198(c, T24_);
997 {
998 NI T27_;
999 NI* T30_;
1000 T27_ = (endings ? endings->Sup.len : 0);
1001 if (!!((T27_ == ((NI) 0)))) goto LA28_;
1002 T30_ = (NI*)0;
1003 T30_ = X5BX5D___dfa_492(endings->data, (endings ? endings->Sup.len : 0), ((NI) 1));
1004 patch__dfa_173(c, (*T30_));
1005 }
1006 LA28_: ;
1007 T31_ = NIM_NIL;
1008 T31_ = lastSon__ast_4832(it);
1009 T32_ = (NI)0;
1010 T32_ = gotoI__dfa_124(c, T31_);
1011 endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
1012 T33_ = endings->Sup.len++;
1013 endings->data[T33_] = T32_;
1014 patch__dfa_173(c, lab1X60gensym36_);
1015 }
1016 LA5_: ;
1017 i_2 += ((NI) 1);
1018 } LA4: ;
1019 }
1020 }
1021 }
N_NIMCALL(NIM_BOOL,isTrue__dfa_301)1022 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isTrue__dfa_301)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1023 NIM_BOOL result;
1024 NIM_BOOL T1_;
1025 NIM_BOOL T2_;
1026 NIM_BOOL T3_;
1027 NIM_BOOL T7_;
1028 result = (NIM_BOOL)0;
1029 T1_ = (NIM_BOOL)0;
1030 T2_ = (NIM_BOOL)0;
1031 T3_ = (NIM_BOOL)0;
1032 T3_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
1033 if (!(T3_)) goto LA4_;
1034 T3_ = ((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 20));
1035 LA4_: ;
1036 T2_ = T3_;
1037 if (!(T2_)) goto LA5_;
1038 T2_ = !(((*(*n)._kind_4.sym).position == ((NI) 0)));
1039 LA5_: ;
1040 T1_ = T2_;
1041 if (T1_) goto LA6_;
1042 T7_ = (NIM_BOOL)0;
1043 T7_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 6));
1044 if (!(T7_)) goto LA8_;
1045 T7_ = !(((*n)._kind_1.intVal == IL64(0)));
1046 LA8_: ;
1047 T1_ = T7_;
1048 LA6_: ;
1049 result = T1_;
1050 return result;
1051 }
N_NIMCALL(void,popBlock__dfa_201)1052 N_LIB_PRIVATE N_NIMCALL(void, popBlock__dfa_201)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, NI oldLen) {
1053 tySequence__qwqHTkRvwhrRyENtudHQ7g* exits;
1054 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T1_;
1055 NI T2_;
1056 NI T3_;
1057 exits = NIM_NIL;
1058 T1_ = NIM_NIL;
1059 T1_ = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
1060 T2_ = (NI)0;
1061 T2_ = gotoI__dfa_124(c, T1_);
1062 exits = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(exits), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
1063 T3_ = exits->Sup.len++;
1064 exits->data[T3_] = T2_;
1065 {
1066 tyTuple__tFiYBoaBrKZKt1Te12yKUQ* f;
1067 tySequence__m6h1zim2DFUPFJioFj0P9cg* colontmp_;
1068 NI i;
1069 NI L;
1070 NI T5_;
1071 f = (tyTuple__tFiYBoaBrKZKt1Te12yKUQ*)0;
1072 colontmp_ = NIM_NIL;
1073 colontmp_ = (*c).blocks->data[oldLen]._isTryBlock_1.breakFixups;
1074 i = ((NI) 0);
1075 T5_ = (colontmp_ ? colontmp_->Sup.len : 0);
1076 L = T5_;
1077 {
1078 while (1) {
1079 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
1080 NI T13_;
1081 NI T14_;
1082 if (!(i < L)) goto LA7;
1083 f = (&colontmp_->data[i]);
1084 patch__dfa_173(c, (*f).Field0);
1085 {
1086 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** finale;
1087 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp__2;
1088 NI i_2;
1089 NI L_2;
1090 NI T9_;
1091 finale = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
1092 colontmp__2 = NIM_NIL;
1093 colontmp__2 = (*f).Field1;
1094 i_2 = ((NI) 0);
1095 T9_ = (colontmp__2 ? colontmp__2->Sup.len : 0);
1096 L_2 = T9_;
1097 {
1098 while (1) {
1099 if (!(i_2 < L_2)) goto LA11;
1100 finale = &colontmp__2->data[i_2];
1101 gen__dfa_198(c, (*finale));
1102 i_2 += ((NI) 1);
1103 } LA11: ;
1104 }
1105 }
1106 T12_ = NIM_NIL;
1107 T12_ = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
1108 T13_ = (NI)0;
1109 T13_ = gotoI__dfa_124(c, T12_);
1110 exits = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(exits), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
1111 T14_ = exits->Sup.len++;
1112 exits->data[T14_] = T13_;
1113 i += ((NI) 1);
1114 } LA7: ;
1115 }
1116 }
1117 {
1118 NI* e;
1119 NI i_3;
1120 NI L_3;
1121 NI T16_;
1122 e = (NI*)0;
1123 i_3 = ((NI) 0);
1124 T16_ = (exits ? exits->Sup.len : 0);
1125 L_3 = T16_;
1126 {
1127 while (1) {
1128 if (!(i_3 < L_3)) goto LA18;
1129 e = (&exits->data[i_3]);
1130 patch__dfa_173(c, (*e));
1131 i_3 += ((NI) 1);
1132 } LA18: ;
1133 }
1134 }
1135 unsureAsgnRef((void**) (&(*c).blocks), (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) setLengthSeqV2(&((*c).blocks)->Sup, (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_), ((NI) (oldLen))));
1136 }
N_NIMCALL(void,genWhile__dfa_316)1137 N_LIB_PRIVATE N_NIMCALL(void, genWhile__dfa_316)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1138 {
1139 NIM_BOOL T3_;
1140 NI oldLenX60gensym16_;
1141 NI T6_;
1142 tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA T7_;
1143 NI T8_;
1144 T3_ = (NIM_BOOL)0;
1145 T3_ = isTrue__dfa_301((*n)._kind_6.sons->data[((NI) 0)]);
1146 if (!T3_) goto LA4_;
1147 T6_ = ((*c).blocks ? (*c).blocks->Sup.len : 0);
1148 oldLenX60gensym16_ = T6_;
1149 nimZeroMem((void*)(&T7_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1150 nimZeroMem((void*)(&T7_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1151 T7_.isTryBlock = NIM_FALSE;
1152 T7_._isTryBlock_1.label = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
1153 unsureAsgnRef((void**) (&(*c).blocks), (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) incrSeqV3((TGenericSeq*)((*c).blocks), (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_)));
1154 T8_ = (*c).blocks->Sup.len++;
1155 genericAssign((void*)(&(*c).blocks->data[T8_]), (void*)(&T7_), (&NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_));
1156 {
1157 NI i;
1158 NI res;
1159 i = (NI)0;
1160 res = ((NI) 0);
1161 {
1162 while (1) {
1163 if (!(res <= ((NI) 1))) goto LA11;
1164 i = res;
1165 gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 1)]);
1166 res += ((NI) 1);
1167 } LA11: ;
1168 }
1169 }
1170 popBlock__dfa_201(c, oldLenX60gensym16_);
1171 }
1172 goto LA1_;
1173 LA4_: ;
1174 {
1175 NI oldLenX60gensym18_;
1176 NI T13_;
1177 tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA T14_;
1178 NI T15_;
1179 tyArray__HU7qaqKu9czJLT84iCBJnsA endings;
1180 T13_ = ((*c).blocks ? (*c).blocks->Sup.len : 0);
1181 oldLenX60gensym18_ = T13_;
1182 nimZeroMem((void*)(&T14_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1183 nimZeroMem((void*)(&T14_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1184 T14_.isTryBlock = NIM_FALSE;
1185 T14_._isTryBlock_1.label = ((tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ*) NIM_NIL);
1186 unsureAsgnRef((void**) (&(*c).blocks), (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) incrSeqV3((TGenericSeq*)((*c).blocks), (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_)));
1187 T15_ = (*c).blocks->Sup.len++;
1188 genericAssign((void*)(&(*c).blocks->data[T15_]), (void*)(&T14_), (&NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_));
1189 nimZeroMem((void*)endings, sizeof(tyArray__HU7qaqKu9czJLT84iCBJnsA));
1190 {
1191 NI i_2;
1192 NI res_2;
1193 i_2 = (NI)0;
1194 res_2 = ((NI) 0);
1195 {
1196 while (1) {
1197 if (!(res_2 <= ((NI) 1))) goto LA18;
1198 i_2 = res_2;
1199 gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
1200 endings[(i_2)- 0] = forkI__dfa_83(c, n);
1201 gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 1)]);
1202 res_2 += ((NI) 1);
1203 } LA18: ;
1204 }
1205 }
1206 {
1207 NI i_3;
1208 NI res_3;
1209 i_3 = (NI)0;
1210 res_3 = ((NI) 1);
1211 {
1212 while (1) {
1213 if (!(((NI) 0) <= res_3)) goto LA21;
1214 i_3 = ((NI) (res_3));
1215 patch__dfa_173(c, endings[(i_3)- 0]);
1216 res_3 -= ((NI) 1);
1217 } LA21: ;
1218 }
1219 }
1220 popBlock__dfa_201(c, oldLenX60gensym18_);
1221 }
1222 LA1_: ;
1223 }
N_NIMCALL(void,genBlock__dfa_541)1224 N_LIB_PRIVATE N_NIMCALL(void, genBlock__dfa_541)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1225 NI oldLenX60gensym40_;
1226 NI T1_;
1227 tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA T2_;
1228 NI T3_;
1229 T1_ = ((*c).blocks ? (*c).blocks->Sup.len : 0);
1230 oldLenX60gensym40_ = T1_;
1231 nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1232 nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1233 T2_.isTryBlock = NIM_FALSE;
1234 T2_._isTryBlock_1.label = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
1235 unsureAsgnRef((void**) (&(*c).blocks), (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) incrSeqV3((TGenericSeq*)((*c).blocks), (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_)));
1236 T3_ = (*c).blocks->Sup.len++;
1237 genericAssign((void*)(&(*c).blocks->data[T3_]), (void*)(&T2_), (&NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_));
1238 gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 1)]);
1239 popBlock__dfa_201(c, oldLenX60gensym40_);
1240 }
N_NIMCALL(void,genImplicitReturn__dfa_758)1241 N_LIB_PRIVATE N_NIMCALL(void, genImplicitReturn__dfa_758)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c) {
1242 {
1243 NIM_BOOL T3_;
1244 NI T5_;
1245 T3_ = (NIM_BOOL)0;
1246 T3_ = ((126976 &((NU32)1<<((NU)((*(*c).owner).kind)&31U)))!=0);
1247 if (!(T3_)) goto LA4_;
1248 T5_ = (NI)0;
1249 T5_ = len__ast_3198((*(*c).owner).ast);
1250 T3_ = (((NI) 7) < T5_);
1251 LA4_: ;
1252 if (!T3_) goto LA6_;
1253 gen__dfa_198(c, (*(*(*c).owner).ast)._kind_6.sons->data[((NI) 7)]);
1254 }
1255 LA6_: ;
1256 }
N_NIMCALL(void,genReturn__dfa_768)1257 N_LIB_PRIVATE N_NIMCALL(void, genReturn__dfa_768)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1258 {
1259 if (!!(((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
1260 gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
1261 }
1262 goto LA1_;
1263 LA3_: ;
1264 {
1265 genImplicitReturn__dfa_758(c);
1266 }
1267 LA1_: ;
1268 genBreakOrRaiseAux__dfa_555(c, ((NI) 0), n);
1269 }
N_NIMCALL(void,genRaise__dfa_731)1270 N_LIB_PRIVATE N_NIMCALL(void, genRaise__dfa_731)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1271 { gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
1272 {
1273 if (!(((NI) 0) < (*c).inTryStmt)) goto LA3_;
1274 {
1275 NI i;
1276 NI colontmp_;
1277 NI T6_;
1278 NI res;
1279 i = (NI)0;
1280 colontmp_ = (NI)0;
1281 T6_ = (((*c).blocks ? (*c).blocks->Sup.len : 0)-1);
1282 colontmp_ = T6_;
1283 res = colontmp_;
1284 {
1285 while (1) {
1286 if (!(((NI) 0) <= res)) goto LA8;
1287 i = res;
1288 {
1289 if (!(*c).blocks->data[i].isTryBlock) goto LA11_;
1290 genBreakOrRaiseAux__dfa_555(c, i, n);
1291 goto BeforeRet_;
1292 }
1293 LA11_: ;
1294 res -= ((NI) 1);
1295 } LA8: ;
1296 }
1297 }
1298 }
1299 goto LA1_;
1300 LA3_: ;
1301 {
1302 tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg T14_;
1303 NI T15_;
1304 NI T16_;
1305 nimZeroMem((void*)(&T14_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
1306 nimZeroMem((void*)(&T14_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
1307 T14_.n = n;
1308 T14_.kind = ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 0);
1309 T15_ = ((*c).code ? (*c).code->Sup.len : 0);
1310 T14_.dest = (NI)(((NI) 2147483647) - T15_);
1311 unsureAsgnRef((void**) (&(*c).code), (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_)));
1312 T16_ = (*c).code->Sup.len++;
1313 genericAssign((void*)(&(*c).code->data[T16_]), (void*)(&T14_), (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_));
1314 }
1315 LA1_: ;
1316 }BeforeRet_: ;
1317 }
N_NIMCALL(void,genBreak__dfa_609)1318 N_LIB_PRIVATE N_NIMCALL(void, genBreak__dfa_609)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1319 { {
1320 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA3_;
1321 {
1322 NI i;
1323 NI colontmp_;
1324 NI T6_;
1325 NI res;
1326 i = (NI)0;
1327 colontmp_ = (NI)0;
1328 T6_ = (((*c).blocks ? (*c).blocks->Sup.len : 0)-1);
1329 colontmp_ = T6_;
1330 res = colontmp_;
1331 {
1332 while (1) {
1333 if (!(((NI) 0) <= res)) goto LA8;
1334 i = res;
1335 {
1336 NIM_BOOL T11_;
1337 T11_ = (NIM_BOOL)0;
1338 T11_ = !((*c).blocks->data[i].isTryBlock);
1339 if (!(T11_)) goto LA12_;
1340 T11_ = ((*c).blocks->data[i]._isTryBlock_1.label == (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym);
1341 LA12_: ;
1342 if (!T11_) goto LA13_;
1343 genBreakOrRaiseAux__dfa_555(c, i, n);
1344 goto BeforeRet_;
1345 }
1346 LA13_: ;
1347 res -= ((NI) 1);
1348 } LA8: ;
1349 }
1350 }
1351 }
1352 goto LA1_;
1353 LA3_: ;
1354 {
1355 {
1356 NI i_2;
1357 NI colontmp__2;
1358 NI T17_;
1359 NI res_2;
1360 i_2 = (NI)0;
1361 colontmp__2 = (NI)0;
1362 T17_ = (((*c).blocks ? (*c).blocks->Sup.len : 0)-1);
1363 colontmp__2 = T17_;
1364 res_2 = colontmp__2;
1365 {
1366 while (1) {
1367 if (!(((NI) 0) <= res_2)) goto LA19;
1368 i_2 = res_2;
1369 {
1370 if (!!((*c).blocks->data[i_2].isTryBlock)) goto LA22_;
1371 genBreakOrRaiseAux__dfa_555(c, i_2, n);
1372 goto BeforeRet_;
1373 }
1374 LA22_: ;
1375 res_2 -= ((NI) 1);
1376 } LA19: ;
1377 }
1378 }
1379 }
1380 LA1_: ;
1381 }BeforeRet_: ;
1382 }
N_NIMCALL(void,genTry__dfa_640)1383 N_LIB_PRIVATE N_NIMCALL(void, genTry__dfa_640)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1384 tySequence__qwqHTkRvwhrRyENtudHQ7g* endings;
1385 NI oldLen;
1386 NI T1_;
1387 tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA T2_;
1388 NI T10_;
1389 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* fin;
1390 endings = NIM_NIL;
1391 T1_ = ((*c).blocks ? (*c).blocks->Sup.len : 0);
1392 oldLen = T1_;
1393 nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1394 nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1395 T2_.isTryBlock = NIM_TRUE;
1396 {
1397 NI T5_;
1398 NI T8_;
1399 T5_ = (NI)0;
1400 T5_ = len__ast_3198(n);
1401 if (!((*(*n)._kind_6.sons->data[(NI)(T5_ - ((NI) 1))]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA6_;
1402 T8_ = (NI)0;
1403 T8_ = len__ast_3198(n);
1404 T2_._isTryBlock_2.finale = (*n)._kind_6.sons->data[(NI)(T8_ - ((NI) 1))];
1405 }
1406 goto LA3_;
1407 LA6_: ;
1408 {
1409 T2_._isTryBlock_2.finale = newNode__ast_3332(((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1));
1410 }
1411 LA3_: ;
1412 unsureAsgnRef((void**) (&(*c).blocks), (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) incrSeqV3((TGenericSeq*)((*c).blocks), (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_)));
1413 T10_ = (*c).blocks->Sup.len++;
1414 genericAssign((void*)(&(*c).blocks->data[T10_]), (void*)(&T2_), (&NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_));
1415 (*c).inTryStmt += ((NI) 1);
1416 gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
1417 (*c).inTryStmt -= ((NI) 1);
1418 {
1419 NI* f;
1420 tySequence__qwqHTkRvwhrRyENtudHQ7g* colontmp_;
1421 NI i;
1422 NI L;
1423 NI T12_;
1424 f = (NI*)0;
1425 colontmp_ = NIM_NIL;
1426 colontmp_ = (*c).blocks->data[oldLen]._isTryBlock_2.raiseFixups;
1427 i = ((NI) 0);
1428 T12_ = (colontmp_ ? colontmp_->Sup.len : 0);
1429 L = T12_;
1430 {
1431 while (1) {
1432 if (!(i < L)) goto LA14;
1433 f = (&colontmp_->data[i]);
1434 patch__dfa_173(c, (*f));
1435 i += ((NI) 1);
1436 } LA14: ;
1437 }
1438 }
1439 unsureAsgnRef((void**) (&(*c).blocks), (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) setLengthSeqV2(&((*c).blocks)->Sup, (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_), ((NI) (oldLen))));
1440 {
1441 NI i_2;
1442 NI colontmp__2;
1443 NI i_3;
1444 i_2 = (NI)0;
1445 colontmp__2 = (NI)0;
1446 colontmp__2 = len__ast_3198(n);
1447 i_3 = ((NI) 1);
1448 {
1449 while (1) {
1450 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* it;
1451 if (!(i_3 < colontmp__2)) goto LA17;
1452 i_2 = i_3;
1453 it = (*n)._kind_6.sons->data[i_2];
1454 {
1455 NI lab1X60gensym54_;
1456 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T22_;
1457 NI T23_;
1458 NI T24_;
1459 if (!!(((*it).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107)))) goto LA20_;
1460 lab1X60gensym54_ = forkI__dfa_83(c, it);
1461 T22_ = NIM_NIL;
1462 T22_ = lastSon__ast_4832(it);
1463 gen__dfa_198(c, T22_);
1464 T23_ = (NI)0;
1465 T23_ = gotoI__dfa_124(c, it);
1466 endings = (tySequence__qwqHTkRvwhrRyENtudHQ7g*) incrSeqV3((TGenericSeq*)(endings), (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_));
1467 T24_ = endings->Sup.len++;
1468 endings->data[T24_] = T23_;
1469 patch__dfa_173(c, lab1X60gensym54_);
1470 }
1471 LA20_: ;
1472 i_3 += ((NI) 1);
1473 } LA17: ;
1474 }
1475 }
1476 {
1477 NI i_4;
1478 NI colontmp__3;
1479 NI T26_;
1480 NI res;
1481 i_4 = (NI)0;
1482 colontmp__3 = (NI)0;
1483 T26_ = ((endings ? endings->Sup.len : 0)-1);
1484 colontmp__3 = T26_;
1485 res = colontmp__3;
1486 {
1487 while (1) {
1488 if (!(((NI) 0) <= res)) goto LA28;
1489 i_4 = res;
1490 patch__dfa_173(c, endings->data[i_4]);
1491 res -= ((NI) 1);
1492 } LA28: ;
1493 }
1494 }
1495 fin = lastSon__ast_4832(n);
1496 {
1497 if (!((*fin).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA31_;
1498 gen__dfa_198(c, (*fin)._kind_6.sons->data[((NI) 0)]);
1499 }
1500 LA31_: ;
1501 }
N_INLINE(NI,safeLen__ast_3191)1502 static N_INLINE(NI, safeLen__ast_3191)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1503 NI result;
1504 result = (NI)0;
1505 {
1506 if (!((*n).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
1507 result = ((NI) 0);
1508 }
1509 goto LA1_;
1510 LA3_: ;
1511 {
1512 result = len__ast_3198(n);
1513 }
1514 LA1_: ;
1515 return result;
1516 }
N_NIMCALL(void,genVarSection__dfa_1040)1517 N_LIB_PRIVATE N_NIMCALL(void, genVarSection__dfa_1040)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1518 {
1519 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
1520 a = NIM_NIL;
1521 {
1522 NI i;
1523 NI colontmp_;
1524 NI i_2;
1525 i = (NI)0;
1526 colontmp_ = (NI)0;
1527 colontmp_ = safeLen__ast_3191(n);
1528 i_2 = ((NI) 0);
1529 {
1530 while (1) {
1531 if (!(i_2 < colontmp_)) goto LA4;
1532 i = i_2;
1533 a = (*n)._kind_6.sons->data[i];
1534 {
1535 if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 125))) goto LA7_;
1536 }
1537 goto LA5_;
1538 LA7_: ;
1539 {
1540 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T12_;
1541 if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA10_;
1542 T12_ = NIM_NIL;
1543 T12_ = lastSon__ast_4832(a);
1544 gen__dfa_198(c, T12_);
1545 {
1546 NI i_3;
1547 NI colontmp__2;
1548 NI T14_;
1549 NI i_4;
1550 i_3 = (NI)0;
1551 colontmp__2 = (NI)0;
1552 T14_ = (NI)0;
1553 T14_ = len__ast_3198(a);
1554 colontmp__2 = (NI)(T14_ - ((NI) 2));
1555 i_4 = ((NI) 0);
1556 {
1557 while (1) {
1558 if (!(i_4 < colontmp__2)) goto LA16;
1559 i_3 = i_4;
1560 genDef__dfa_979(c, (*a)._kind_6.sons->data[i_3]);
1561 i_4 += ((NI) 1);
1562 } LA16: ;
1563 }
1564 }
1565 }
1566 goto LA5_;
1567 LA10_: ;
1568 {
1569 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T18_;
1570 T18_ = NIM_NIL;
1571 T18_ = lastSon__ast_4832(a);
1572 gen__dfa_198(c, T18_);
1573 {
1574 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T21_;
1575 T21_ = NIM_NIL;
1576 T21_ = lastSon__ast_4832(a);
1577 if (!!(((*T21_).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA22_;
1578 genDef__dfa_979(c, (*a)._kind_6.sons->data[((NI) 0)]);
1579 }
1580 LA22_: ;
1581 }
1582 LA5_: ;
1583 i_2 += ((NI) 1);
1584 } LA4: ;
1585 }
1586 }
1587 }
1588 }
N_NIMCALL(void,gen__dfa_198)1589 N_LIB_PRIVATE N_NIMCALL(void, gen__dfa_198)(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw* c, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
1590 switch ((*n).kind) {
1591 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1592 {
1593 genUse__dfa_963(c, n);
1594 }
1595 break;
1596 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32):
1597 {
1598 {
1599 tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s;
1600 if (!((*(*n)._kind_6.sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA5_;
1601 s = (*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym;
1602 {
1603 if (!!(((*s).magic == ((tyEnum_TMagic__shZhZOdbVC5nnFvcXQAImg) 0)))) goto LA9_;
1604 genMagic__dfa_1026(c, n, (*s).magic);
1605 }
1606 goto LA7_;
1607 LA9_: ;
1608 {
1609 genCall__dfa_995(c, n);
1610 }
1611 LA7_: ;
1612 {
1613 tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg T16_;
1614 NI T17_;
1615 NI T18_;
1616 if (!(((*(*(*n)._kind_6.sons->data[((NI) 0)])._kind_4.sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag__K9ay6LWMat9bUiT9bIbMxpDHw) 16))&63U)))!=0)) goto LA14_;
1617 nimZeroMem((void*)(&T16_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
1618 nimZeroMem((void*)(&T16_), sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg));
1619 T16_.n = n;
1620 T16_.kind = ((tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ) 0);
1621 T17_ = ((*c).code ? (*c).code->Sup.len : 0);
1622 T16_.dest = (NI)(((NI) 2147483647) - T17_);
1623 unsureAsgnRef((void**) (&(*c).code), (tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*) incrSeqV3((TGenericSeq*)((*c).code), (&NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_)));
1624 T18_ = (*c).code->Sup.len++;
1625 genericAssign((void*)(&(*c).code->data[T18_]), (void*)(&T16_), (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_));
1626 }
1627 LA14_: ;
1628 }
1629 goto LA3_;
1630 LA5_: ;
1631 {
1632 genCall__dfa_995(c, n);
1633 }
1634 LA3_: ;
1635 }
1636 break;
1637 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 23):
1638 {
1639 }
1640 break;
1641 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 73):
1642 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 74):
1643 {
1644 gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 1)]);
1645 {
1646 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* a;
1647 if (!((TM__rmUZTUif19aNVU5raHE2xtA_11[(NU)((*(*n)._kind_6.sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n)._kind_6.sons->data[((NI) 0)]).kind)&7U)))!=0)) goto LA24_;
1648 a = skipTrivials__dfa_951(c, (*n)._kind_6.sons->data[((NI) 0)]);
1649 {
1650 if (!((*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*a).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 32))) goto LA28_;
1651 gen__dfa_198(c, a);
1652 }
1653 LA28_: ;
1654 }
1655 LA24_: ;
1656 genDef__dfa_979(c, (*n)._kind_6.sons->data[((NI) 0)]);
1657 }
1658 break;
1659 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
1660 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
1661 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
1662 {
1663 genUse__dfa_963(c, n);
1664 }
1665 break;
1666 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 92):
1667 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 48):
1668 {
1669 genIf__dfa_395(c, n);
1670 }
1671 break;
1672 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 93):
1673 {
1674 gen__dfa_198(c, (*(*n)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)]);
1675 }
1676 break;
1677 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 97):
1678 {
1679 genCase__dfa_451(c, n);
1680 }
1681 break;
1682 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 96):
1683 {
1684 genWhile__dfa_316(c, n);
1685 }
1686 break;
1687 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 127):
1688 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 112):
1689 {
1690 genBlock__dfa_541(c, n);
1691 }
1692 break;
1693 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 109):
1694 {
1695 genReturn__dfa_768(c, n);
1696 }
1697 break;
1698 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 108):
1699 {
1700 genRaise__dfa_731(c, n);
1701 }
1702 break;
1703 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 110):
1704 {
1705 genBreak__dfa_609(c, n);
1706 }
1707 break;
1708 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 106):
1709 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 154):
1710 {
1711 genTry__dfa_640(c, n);
1712 }
1713 break;
1714 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 115):
1715 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 126):
1716 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 68):
1717 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 69):
1718 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 70):
1719 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 41):
1720 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 39):
1721 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 37):
1722 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 160):
1723 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 155):
1724 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 38):
1725 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 104):
1726 {
1727 {
1728 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* x;
1729 x = NIM_NIL;
1730 {
1731 NI i;
1732 NI colontmp_;
1733 NI i_2;
1734 i = (NI)0;
1735 colontmp_ = (NI)0;
1736 colontmp_ = safeLen__ast_3191(n);
1737 i_2 = ((NI) 0);
1738 {
1739 while (1) {
1740 if (!(i_2 < colontmp_)) goto LA44;
1741 i = i_2;
1742 x = (*n)._kind_6.sons->data[i];
1743 gen__dfa_198(c, x);
1744 i_2 += ((NI) 1);
1745 } LA44: ;
1746 }
1747 }
1748 }
1749 }
1750 break;
1751 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 91):
1752 {
1753 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* T46_;
1754 T46_ = NIM_NIL;
1755 T46_ = lastSon__ast_4832(n);
1756 gen__dfa_198(c, T46_);
1757 }
1758 break;
1759 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 114):
1760 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
1761 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
1762 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 71):
1763 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 72):
1764 {
1765 gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 0)]);
1766 }
1767 break;
1768 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 60):
1769 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 34):
1770 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 33):
1771 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 61):
1772 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
1773 {
1774 gen__dfa_198(c, (*n)._kind_6.sons->data[((NI) 1)]);
1775 }
1776 break;
1777 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 99):
1778 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 100):
1779 {
1780 genVarSection__dfa_1040(c, n);
1781 }
1782 break;
1783 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 105):
1784 {
1785 {
1786 if (!NIM_TRUE) goto LA53_;
1787 failedAssertImpl__systemZassertions_56(((NimStringDesc*) &TM__rmUZTUif19aNVU5raHE2xtA_13));
1788 }
1789 LA53_: ;
1790 }
1791 break;
1792 default:
1793 {
1794 }
1795 break;
1796 }
1797 }
N_NIMCALL(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ *,constructCfg__dfa_1135)1798 N_LIB_PRIVATE N_NIMCALL(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*, constructCfg__dfa_1135)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* body) {
1799 tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ* result;
1800 tyObject_Con__eFhkbMY30pSTdER2YWz9cRw c;
1801 NI oldLenX60gensym138_;
1802 NI T1_;
1803 tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA T2_;
1804 NI T3_;
1805 result = NIM_NIL;
1806 nimZeroMem((void*)(&c), sizeof(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw));
1807 nimZeroMem((void*)(&c), sizeof(tyObject_Con__eFhkbMY30pSTdER2YWz9cRw));
1808 c.code = NIM_NIL;
1809 c.blocks = NIM_NIL;
1810 c.owner = s;
1811 T1_ = (c.blocks ? c.blocks->Sup.len : 0);
1812 oldLenX60gensym138_ = T1_;
1813 nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1814 nimZeroMem((void*)(&T2_), sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA));
1815 T2_.isTryBlock = NIM_FALSE;
1816 T2_._isTryBlock_1.label = s;
1817 c.blocks = (tySequence__bZP29c0SHT9aMkbSl4EFvgCg*) incrSeqV3((TGenericSeq*)(c.blocks), (&NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_));
1818 T3_ = c.blocks->Sup.len++;
1819 genericAssign((void*)(&c.blocks->data[T3_]), (void*)(&T2_), (&NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_));
1820 gen__dfa_198((&c), body);
1821 genImplicitReturn__dfa_758((&c));
1822 popBlock__dfa_201((&c), oldLenX60gensym138_);
1823 result = c.code;
1824 return result;
1825 }
N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw **,X5BX5D___ast_4836)1826 static N_INLINE(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**, X5BX5D___ast_4836)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** s, NI sLen_0, NI i) {
1827 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** result;
1828 result = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
1829 result = &s[(NI)(sLen_0 - i)];
1830 return result;
1831 }
N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg,aliases__dfa_792)1832 N_LIB_PRIVATE N_NIMCALL(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg, aliases__dfa_792)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj, tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field) {
1833 tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg result;
1834 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* objImportantNodes;
1835 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* obj_2;
1836 tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ* fieldImportantNodes;
1837 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* field_2;
1838 { result = (tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg)0;
1839 objImportantNodes = NIM_NIL;
1840 obj_2 = obj;
1841 {
1842 while (1) {
1843 switch ((*obj_2).kind) {
1844 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
1845 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
1846 {
1847 obj_2 = (*obj_2)._kind_6.sons->data[((NI) 0)];
1848 }
1849 break;
1850 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
1851 {
1852 obj_2 = (*obj_2)._kind_6.sons->data[((NI) 1)];
1853 }
1854 break;
1855 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
1856 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
1857 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
1858 {
1859 NI T6_;
1860 objImportantNodes = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(objImportantNodes), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
1861 T6_ = objImportantNodes->Sup.len++;
1862 asgnRef((void**) (&objImportantNodes->data[T6_]), obj_2);
1863 obj_2 = (*obj_2)._kind_6.sons->data[((NI) 0)];
1864 }
1865 break;
1866 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1867 {
1868 NI T8_;
1869 objImportantNodes = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(objImportantNodes), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
1870 T8_ = objImportantNodes->Sup.len++;
1871 asgnRef((void**) (&objImportantNodes->data[T8_]), obj_2);
1872 goto LA1;
1873 }
1874 break;
1875 default:
1876 {
1877 result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1878 goto BeforeRet_;
1879 }
1880 break;
1881 }
1882 }
1883 } LA1: ;
1884 fieldImportantNodes = NIM_NIL;
1885 field_2 = field;
1886 {
1887 while (1) {
1888 switch ((*field_2).kind) {
1889 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
1890 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
1891 {
1892 field_2 = (*field_2)._kind_6.sons->data[((NI) 0)];
1893 }
1894 break;
1895 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
1896 {
1897 field_2 = (*field_2)._kind_6.sons->data[((NI) 1)];
1898 }
1899 break;
1900 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
1901 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
1902 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
1903 {
1904 NI T15_;
1905 fieldImportantNodes = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(fieldImportantNodes), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
1906 T15_ = fieldImportantNodes->Sup.len++;
1907 asgnRef((void**) (&fieldImportantNodes->data[T15_]), field_2);
1908 field_2 = (*field_2)._kind_6.sons->data[((NI) 0)];
1909 }
1910 break;
1911 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1912 {
1913 NI T17_;
1914 fieldImportantNodes = (tySequence__ehmV9bTklH2Gt9cXHV9c0HLeQ*) incrSeqV3((TGenericSeq*)(fieldImportantNodes), (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_));
1915 T17_ = fieldImportantNodes->Sup.len++;
1916 asgnRef((void**) (&fieldImportantNodes->data[T17_]), field_2);
1917 goto LA10;
1918 }
1919 break;
1920 default:
1921 {
1922 result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1923 goto BeforeRet_;
1924 }
1925 break;
1926 }
1927 }
1928 } LA10: ;
1929 {
1930 NI T21_;
1931 NI T22_;
1932 T21_ = (fieldImportantNodes ? fieldImportantNodes->Sup.len : 0);
1933 T22_ = (objImportantNodes ? objImportantNodes->Sup.len : 0);
1934 if (!(T21_ < T22_)) goto LA23_;
1935 result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1936 goto BeforeRet_;
1937 }
1938 LA23_: ;
1939 result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 0);
1940 {
1941 NI i;
1942 NI colontmp_;
1943 NI T26_;
1944 NI res;
1945 i = (NI)0;
1946 colontmp_ = (NI)0;
1947 T26_ = (objImportantNodes ? objImportantNodes->Sup.len : 0);
1948 colontmp_ = T26_;
1949 res = ((NI) 1);
1950 {
1951 while (1) {
1952 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currFieldPath;
1953 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T29_;
1954 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* currObjPath;
1955 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw** T30_;
1956 if (!(res <= colontmp_)) goto LA28;
1957 i = res;
1958 T29_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
1959 T29_ = X5BX5D___ast_4836(fieldImportantNodes->data, (fieldImportantNodes ? fieldImportantNodes->Sup.len : 0), i);
1960 currFieldPath = (*T29_);
1961 T30_ = (tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw**)0;
1962 T30_ = X5BX5D___ast_4836(objImportantNodes->data, (objImportantNodes ? objImportantNodes->Sup.len : 0), i);
1963 currObjPath = (*T30_);
1964 {
1965 if (!!(((*currFieldPath).kind == (*currObjPath).kind))) goto LA33_;
1966 result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1967 goto BeforeRet_;
1968 }
1969 LA33_: ;
1970 switch ((*currFieldPath).kind) {
1971 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3):
1972 {
1973 {
1974 if (!!(((*currFieldPath)._kind_4.sym == (*currObjPath)._kind_4.sym))) goto LA38_;
1975 result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1976 goto BeforeRet_;
1977 }
1978 LA38_: ;
1979 }
1980 break;
1981 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45):
1982 {
1983 {
1984 if (!!(((*(*currFieldPath)._kind_6.sons->data[((NI) 1)])._kind_4.sym == (*(*currObjPath)._kind_6.sons->data[((NI) 1)])._kind_4.sym))) goto LA43_;
1985 result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1986 goto BeforeRet_;
1987 }
1988 LA43_: ;
1989 }
1990 break;
1991 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
1992 {
1993 {
1994 if (!!(((*(*(*currFieldPath)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)])._kind_4.sym == (*(*(*currObjPath)._kind_6.sons->data[((NI) 0)])._kind_6.sons->data[((NI) 1)])._kind_4.sym))) goto LA48_;
1995 result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
1996 goto BeforeRet_;
1997 }
1998 LA48_: ;
1999 }
2000 break;
2001 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
2002 {
2003 {
2004 NIM_BOOL T53_;
2005 T53_ = (NIM_BOOL)0;
2006 T53_ = ((*(*currFieldPath)._kind_6.sons->data[((NI) 1)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*(*currFieldPath)._kind_6.sons->data[((NI) 1)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22));
2007 if (!(T53_)) goto LA54_;
2008 T53_ = ((*(*currObjPath)._kind_6.sons->data[((NI) 1)]).kind >= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 5) && (*(*currObjPath)._kind_6.sons->data[((NI) 1)]).kind <= ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 22));
2009 LA54_: ;
2010 if (!T53_) goto LA55_;
2011 {
2012 if (!!(((*(*currFieldPath)._kind_6.sons->data[((NI) 1)])._kind_1.intVal == (*(*currObjPath)._kind_6.sons->data[((NI) 1)])._kind_1.intVal))) goto LA59_;
2013 result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 1);
2014 goto BeforeRet_;
2015 }
2016 LA59_: ;
2017 }
2018 goto LA51_;
2019 LA55_: ;
2020 {
2021 result = ((tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg) 2);
2022 }
2023 LA51_: ;
2024 }
2025 break;
2026 default:
2027 {
2028 }
2029 break;
2030 }
2031 res += ((NI) 1);
2032 } LA28: ;
2033 }
2034 }
2035 }BeforeRet_: ;
2036 return result;
2037 }
N_INLINE(NIM_BOOL,isSinkParam__ast_5030)2038 static N_INLINE(NIM_BOOL, isSinkParam__ast_5030)(tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* s) {
2039 NIM_BOOL result;
2040 NIM_BOOL T1_;
2041 NIM_BOOL T3_;
2042 result = (NIM_BOOL)0;
2043 T1_ = (NIM_BOOL)0;
2044 T1_ = ((*s).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3));
2045 if (!(T1_)) goto LA2_;
2046 T3_ = (NIM_BOOL)0;
2047 T3_ = ((*(*s).typ).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 46));
2048 if (T3_) goto LA4_;
2049 T3_ = (((*(*s).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag__x2m5g1NpbmDig4wLT3Ylhw) 4))&63U)))!=0);
2050 LA4_: ;
2051 T1_ = T3_;
2052 LA2_: ;
2053 result = T1_;
2054 return result;
2055 }
N_NIMCALL(NIM_BOOL,isAnalysableFieldAccess__dfa_903)2056 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isAnalysableFieldAccess__dfa_903)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* orig, tyObject_TSym__nnJKJFyjDGi5mnv8jwfTGQ* owner) {
2057 NIM_BOOL result;
2058 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n;
2059 NIM_BOOL T12_;
2060 NIM_BOOL T13_;
2061 NIM_BOOL T14_;
2062 NIM_BOOL T18_;
2063 { result = (NIM_BOOL)0;
2064 n = orig;
2065 {
2066 while (1) {
2067 switch ((*n).kind) {
2068 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 42):
2069 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 45) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 46):
2070 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 63) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 64):
2071 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
2072 {
2073 n = (*n)._kind_6.sons->data[((NI) 0)];
2074 }
2075 break;
2076 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
2077 {
2078 n = (*n)._kind_6.sons->data[((NI) 1)];
2079 }
2080 break;
2081 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 65):
2082 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 47):
2083 {
2084 NIM_BOOL T6_;
2085 NIM_BOOL T7_;
2086 tyObject_TType__facALICuu8zUj0hjvbTLFg* T10_;
2087 n = (*n)._kind_6.sons->data[((NI) 0)];
2088 T6_ = (NIM_BOOL)0;
2089 T7_ = (NIM_BOOL)0;
2090 T7_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
2091 if (!(T7_)) goto LA8_;
2092 T7_ = ((*(*n)._kind_4.sym).owner == owner);
2093 LA8_: ;
2094 T6_ = T7_;
2095 if (!(T6_)) goto LA9_;
2096 T10_ = NIM_NIL;
2097 T10_ = skipTypes__ast_3735((*(*n)._kind_4.sym).typ, TM__rmUZTUif19aNVU5raHE2xtA_17);
2098 T6_ = ((*T10_).kind == ((tyEnum_TTypeKind__9a3YiReNVD0IJHWFKgXRe9ag) 45));
2099 LA9_: ;
2100 result = T6_;
2101 goto BeforeRet_;
2102 }
2103 break;
2104 default:
2105 {
2106 goto LA1;
2107 }
2108 break;
2109 }
2110 }
2111 } LA1: ;
2112 T12_ = (NIM_BOOL)0;
2113 T13_ = (NIM_BOOL)0;
2114 T14_ = (NIM_BOOL)0;
2115 T14_ = ((*n).kind == ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 3));
2116 if (!(T14_)) goto LA15_;
2117 T14_ = ((*(*n)._kind_4.sym).owner == owner);
2118 LA15_: ;
2119 T13_ = T14_;
2120 if (!(T13_)) goto LA16_;
2121 T13_ = ((IL64(2199090364424) & (*(*n)._kind_4.sym).flags) == 0);
2122 LA16_: ;
2123 T12_ = T13_;
2124 if (!(T12_)) goto LA17_;
2125 T18_ = (NIM_BOOL)0;
2126 T18_ = !(((*(*n)._kind_4.sym).kind == ((tyEnum_TSymKind__cNCW9acsSznmEccl1fgQwkw) 3)));
2127 if (T18_) goto LA19_;
2128 T18_ = isSinkParam__ast_5030((*n)._kind_4.sym);
2129 LA19_: ;
2130 T12_ = T18_;
2131 LA17_: ;
2132 result = T12_;
2133 }BeforeRet_: ;
2134 return result;
2135 }
N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw *,skipConvDfa__dfa_780)2136 N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw*, skipConvDfa__dfa_780)(tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* n) {
2137 tyObject_TNode__bROa11lyF5vxEN9aYNbHmhw* result;
2138 result = NIM_NIL;
2139 result = n;
2140 {
2141 while (1) {
2142 switch ((*result).kind) {
2143 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 66):
2144 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 67):
2145 {
2146 result = (*result)._kind_6.sons->data[((NI) 0)];
2147 }
2148 break;
2149 case ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 58) ... ((tyEnum_TNodeKind__G4E4Gxe7oI2Cm03rkiOzQw) 59):
2150 {
2151 result = (*result)._kind_6.sons->data[((NI) 1)];
2152 }
2153 break;
2154 default:
2155 {
2156 goto LA1;
2157 }
2158 break;
2159 }
2160 }
2161 } LA1: ;
2162 return result;
2163 }
N_NIMCALL(void,compiler_dfaDatInit000)2164 N_LIB_PRIVATE N_NIMCALL(void, compiler_dfaDatInit000)(void) {
2165 static TNimNode* TM__rmUZTUif19aNVU5raHE2xtA_2_2[2];
2166 static TNimNode* TM__rmUZTUif19aNVU5raHE2xtA_3_2[2];
2167 static TNimNode* TM__rmUZTUif19aNVU5raHE2xtA_4_2[2];
2168 static TNimNode* TM__rmUZTUif19aNVU5raHE2xtA_5_2[2];
2169 static TNimNode* TM__rmUZTUif19aNVU5raHE2xtA_6_4[4];
2170 NI TM__rmUZTUif19aNVU5raHE2xtA_8;
2171 static char* NIM_CONST TM__rmUZTUif19aNVU5raHE2xtA_7[4] = {
2172 "goto",
2173 "fork",
2174 "def",
2175 "use"};
2176 static TNimNode* TM__rmUZTUif19aNVU5raHE2xtA_14_3[3];
2177 NI TM__rmUZTUif19aNVU5raHE2xtA_16;
2178 static char* NIM_CONST TM__rmUZTUif19aNVU5raHE2xtA_15[3] = {
2179 "yes",
2180 "no",
2181 "maybe"};
2182 static TNimNode TM__rmUZTUif19aNVU5raHE2xtA_0[24];
2183 NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_.size = sizeof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA);
2184 NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_.align = NIM_ALIGNOF(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA);
2185 NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_.kind = 18;
2186 NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_.base = 0;
2187 TM__rmUZTUif19aNVU5raHE2xtA_0[0].kind = 3;
2188 TM__rmUZTUif19aNVU5raHE2xtA_0[0].offset = offsetof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA, isTryBlock);
2189 TM__rmUZTUif19aNVU5raHE2xtA_0[0].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
2190 TM__rmUZTUif19aNVU5raHE2xtA_0[0].name = "isTryBlock";
2191 TM__rmUZTUif19aNVU5raHE2xtA_0[0].sons = &NimDT___J29b9b9cJiD9aK19cdoA7IwWiyA_isTryBlock[0];
2192 TM__rmUZTUif19aNVU5raHE2xtA_0[0].len = 2;
2193 TM__rmUZTUif19aNVU5raHE2xtA_2_2[0] = &TM__rmUZTUif19aNVU5raHE2xtA_0[2];
2194 TM__rmUZTUif19aNVU5raHE2xtA_0[2].kind = 1;
2195 TM__rmUZTUif19aNVU5raHE2xtA_0[2].offset = offsetof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA, _isTryBlock_1.label);
2196 TM__rmUZTUif19aNVU5raHE2xtA_0[2].typ = (&NTIpsym__dG2QVH5Z69aMUY38zTqWxaA_);
2197 TM__rmUZTUif19aNVU5raHE2xtA_0[2].name = "label";
2198 TM__rmUZTUif19aNVU5raHE2xtA_2_2[1] = &TM__rmUZTUif19aNVU5raHE2xtA_0[3];
2199 NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_.size = sizeof(tyTuple__tFiYBoaBrKZKt1Te12yKUQ);
2200 NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_.align = NIM_ALIGNOF(tyTuple__tFiYBoaBrKZKt1Te12yKUQ);
2201 NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_.kind = 18;
2202 NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_.base = 0;
2203 TM__rmUZTUif19aNVU5raHE2xtA_3_2[0] = &TM__rmUZTUif19aNVU5raHE2xtA_0[5];
2204 TM__rmUZTUif19aNVU5raHE2xtA_0[5].kind = 1;
2205 TM__rmUZTUif19aNVU5raHE2xtA_0[5].offset = offsetof(tyTuple__tFiYBoaBrKZKt1Te12yKUQ, Field0);
2206 TM__rmUZTUif19aNVU5raHE2xtA_0[5].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2207 TM__rmUZTUif19aNVU5raHE2xtA_0[5].name = "Field0";
2208 TM__rmUZTUif19aNVU5raHE2xtA_3_2[1] = &TM__rmUZTUif19aNVU5raHE2xtA_0[6];
2209 TM__rmUZTUif19aNVU5raHE2xtA_0[6].kind = 1;
2210 TM__rmUZTUif19aNVU5raHE2xtA_0[6].offset = offsetof(tyTuple__tFiYBoaBrKZKt1Te12yKUQ, Field1);
2211 TM__rmUZTUif19aNVU5raHE2xtA_0[6].typ = (&NTItnodeseq__ehmV9bTklH2Gt9cXHV9c0HLeQ_);
2212 TM__rmUZTUif19aNVU5raHE2xtA_0[6].name = "Field1";
2213 TM__rmUZTUif19aNVU5raHE2xtA_0[4].len = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[4].kind = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[4].sons = &TM__rmUZTUif19aNVU5raHE2xtA_3_2[0];
2214 NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_.node = &TM__rmUZTUif19aNVU5raHE2xtA_0[4];
2215 NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_.size = sizeof(tySequence__m6h1zim2DFUPFJioFj0P9cg*);
2216 NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_.align = NIM_ALIGNOF(tySequence__m6h1zim2DFUPFJioFj0P9cg*);
2217 NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_.kind = 24;
2218 NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_.base = (&NTILtposition_seqLpnodeTT__tFiYBoaBrKZKt1Te12yKUQ_);
2219 NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_.marker = Marker_tySequence__m6h1zim2DFUPFJioFj0P9cg;
2220 TM__rmUZTUif19aNVU5raHE2xtA_0[3].kind = 1;
2221 TM__rmUZTUif19aNVU5raHE2xtA_0[3].offset = offsetof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA, _isTryBlock_1.breakFixups);
2222 TM__rmUZTUif19aNVU5raHE2xtA_0[3].typ = (&NTIseqLLtposition_seqLpnodeTTT__m6h1zim2DFUPFJioFj0P9cg_);
2223 TM__rmUZTUif19aNVU5raHE2xtA_0[3].name = "breakFixups";
2224 TM__rmUZTUif19aNVU5raHE2xtA_0[1].len = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[1].kind = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[1].sons = &TM__rmUZTUif19aNVU5raHE2xtA_2_2[0];
2225 NimDT___J29b9b9cJiD9aK19cdoA7IwWiyA_isTryBlock[0] = &TM__rmUZTUif19aNVU5raHE2xtA_0[1];
2226 TM__rmUZTUif19aNVU5raHE2xtA_4_2[0] = &TM__rmUZTUif19aNVU5raHE2xtA_0[8];
2227 TM__rmUZTUif19aNVU5raHE2xtA_0[8].kind = 1;
2228 TM__rmUZTUif19aNVU5raHE2xtA_0[8].offset = offsetof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA, _isTryBlock_2.finale);
2229 TM__rmUZTUif19aNVU5raHE2xtA_0[8].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
2230 TM__rmUZTUif19aNVU5raHE2xtA_0[8].name = "finale";
2231 TM__rmUZTUif19aNVU5raHE2xtA_4_2[1] = &TM__rmUZTUif19aNVU5raHE2xtA_0[9];
2232 TM__rmUZTUif19aNVU5raHE2xtA_0[9].kind = 1;
2233 TM__rmUZTUif19aNVU5raHE2xtA_0[9].offset = offsetof(tyObject_TBlock__J29b9b9cJiD9aK19cdoA7IwWiyA, _isTryBlock_2.raiseFixups);
2234 TM__rmUZTUif19aNVU5raHE2xtA_0[9].typ = (&NTIseqLtpositionT__qwqHTkRvwhrRyENtudHQ7g_);
2235 TM__rmUZTUif19aNVU5raHE2xtA_0[9].name = "raiseFixups";
2236 TM__rmUZTUif19aNVU5raHE2xtA_0[7].len = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[7].kind = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[7].sons = &TM__rmUZTUif19aNVU5raHE2xtA_4_2[0];
2237 NimDT___J29b9b9cJiD9aK19cdoA7IwWiyA_isTryBlock[1] = &TM__rmUZTUif19aNVU5raHE2xtA_0[7];
2238 NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_.node = &TM__rmUZTUif19aNVU5raHE2xtA_0[0];
2239 NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_.size = sizeof(tySequence__bZP29c0SHT9aMkbSl4EFvgCg*);
2240 NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_.align = NIM_ALIGNOF(tySequence__bZP29c0SHT9aMkbSl4EFvgCg*);
2241 NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_.kind = 24;
2242 NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_.base = (&NTItblock__J29b9b9cJiD9aK19cdoA7IwWiyA_);
2243 NTIseqLtblockT__bZP29c0SHT9aMkbSl4EFvgCg_.marker = Marker_tySequence__bZP29c0SHT9aMkbSl4EFvgCg;
2244 NTIinstr__Iclb1njvAJfjjEpCLzUzZg_.size = sizeof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg);
2245 NTIinstr__Iclb1njvAJfjjEpCLzUzZg_.align = NIM_ALIGNOF(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg);
2246 NTIinstr__Iclb1njvAJfjjEpCLzUzZg_.kind = 18;
2247 NTIinstr__Iclb1njvAJfjjEpCLzUzZg_.base = 0;
2248 TM__rmUZTUif19aNVU5raHE2xtA_5_2[0] = &TM__rmUZTUif19aNVU5raHE2xtA_0[11];
2249 TM__rmUZTUif19aNVU5raHE2xtA_0[11].kind = 1;
2250 TM__rmUZTUif19aNVU5raHE2xtA_0[11].offset = offsetof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg, n);
2251 TM__rmUZTUif19aNVU5raHE2xtA_0[11].typ = (&NTIpnode__fKfcLzXYiz5jNu3NH3Tv8Q_);
2252 TM__rmUZTUif19aNVU5raHE2xtA_0[11].name = "n";
2253 TM__rmUZTUif19aNVU5raHE2xtA_5_2[1] = &TM__rmUZTUif19aNVU5raHE2xtA_0[12];
2254 NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_.size = sizeof(tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ);
2255 NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_.align = NIM_ALIGNOF(tyEnum_InstrKind__kmjEwko0gQNypI4MTa9chwQ);
2256 NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_.kind = 14;
2257 NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_.base = 0;
2258 NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_.flags = 3;
2259 for (TM__rmUZTUif19aNVU5raHE2xtA_8 = 0; TM__rmUZTUif19aNVU5raHE2xtA_8 < 4; TM__rmUZTUif19aNVU5raHE2xtA_8++) {
2260 TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_8+13].kind = 1;
2261 TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_8+13].offset = TM__rmUZTUif19aNVU5raHE2xtA_8;
2262 TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_8+13].name = TM__rmUZTUif19aNVU5raHE2xtA_7[TM__rmUZTUif19aNVU5raHE2xtA_8];
2263 TM__rmUZTUif19aNVU5raHE2xtA_6_4[TM__rmUZTUif19aNVU5raHE2xtA_8] = &TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_8+13];
2264 }
2265 TM__rmUZTUif19aNVU5raHE2xtA_0[17].len = 4; TM__rmUZTUif19aNVU5raHE2xtA_0[17].kind = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[17].sons = &TM__rmUZTUif19aNVU5raHE2xtA_6_4[0];
2266 NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_.node = &TM__rmUZTUif19aNVU5raHE2xtA_0[17];
2267 TM__rmUZTUif19aNVU5raHE2xtA_0[12].kind = 3;
2268 TM__rmUZTUif19aNVU5raHE2xtA_0[12].offset = offsetof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg, kind);
2269 TM__rmUZTUif19aNVU5raHE2xtA_0[12].typ = (&NTIinstrkind__kmjEwko0gQNypI4MTa9chwQ_);
2270 TM__rmUZTUif19aNVU5raHE2xtA_0[12].name = "kind";
2271 TM__rmUZTUif19aNVU5raHE2xtA_0[12].sons = &NimDT___Iclb1njvAJfjjEpCLzUzZg_kind[0];
2272 TM__rmUZTUif19aNVU5raHE2xtA_0[12].len = 4;
2273 TM__rmUZTUif19aNVU5raHE2xtA_0[18].kind = 1;
2274 TM__rmUZTUif19aNVU5raHE2xtA_0[18].offset = offsetof(tyObject_Instr__Iclb1njvAJfjjEpCLzUzZg, dest);
2275 TM__rmUZTUif19aNVU5raHE2xtA_0[18].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2276 TM__rmUZTUif19aNVU5raHE2xtA_0[18].name = "dest";
2277 NimDT___Iclb1njvAJfjjEpCLzUzZg_kind[0] = &TM__rmUZTUif19aNVU5raHE2xtA_0[18];
2278 NimDT___Iclb1njvAJfjjEpCLzUzZg_kind[1] = &TM__rmUZTUif19aNVU5raHE2xtA_0[18];
2279 TM__rmUZTUif19aNVU5raHE2xtA_0[19].len = 0; TM__rmUZTUif19aNVU5raHE2xtA_0[19].kind = 2;
2280 NimDT___Iclb1njvAJfjjEpCLzUzZg_kind[4] = &TM__rmUZTUif19aNVU5raHE2xtA_0[19];
2281 TM__rmUZTUif19aNVU5raHE2xtA_0[10].len = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[10].kind = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[10].sons = &TM__rmUZTUif19aNVU5raHE2xtA_5_2[0];
2282 NTIinstr__Iclb1njvAJfjjEpCLzUzZg_.node = &TM__rmUZTUif19aNVU5raHE2xtA_0[10];
2283 NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_.size = sizeof(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*);
2284 NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_.align = NIM_ALIGNOF(tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ*);
2285 NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_.kind = 24;
2286 NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_.base = (&NTIinstr__Iclb1njvAJfjjEpCLzUzZg_);
2287 NTIcontrolflowgraph__hj4BvueOlKB8Z1Qw2ZU4nQ_.marker = Marker_tySequence__hj4BvueOlKB8Z1Qw2ZU4nQ;
2288 NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_.size = sizeof(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg);
2289 NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_.align = NIM_ALIGNOF(tyEnum_AliasKind__mOZtJx9b3QXuy9bfWq9cuUNCg);
2290 NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_.kind = 14;
2291 NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_.base = 0;
2292 NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_.flags = 3;
2293 for (TM__rmUZTUif19aNVU5raHE2xtA_16 = 0; TM__rmUZTUif19aNVU5raHE2xtA_16 < 3; TM__rmUZTUif19aNVU5raHE2xtA_16++) {
2294 TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_16+20].kind = 1;
2295 TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_16+20].offset = TM__rmUZTUif19aNVU5raHE2xtA_16;
2296 TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_16+20].name = TM__rmUZTUif19aNVU5raHE2xtA_15[TM__rmUZTUif19aNVU5raHE2xtA_16];
2297 TM__rmUZTUif19aNVU5raHE2xtA_14_3[TM__rmUZTUif19aNVU5raHE2xtA_16] = &TM__rmUZTUif19aNVU5raHE2xtA_0[TM__rmUZTUif19aNVU5raHE2xtA_16+20];
2298 }
2299 TM__rmUZTUif19aNVU5raHE2xtA_0[23].len = 3; TM__rmUZTUif19aNVU5raHE2xtA_0[23].kind = 2; TM__rmUZTUif19aNVU5raHE2xtA_0[23].sons = &TM__rmUZTUif19aNVU5raHE2xtA_14_3[0];
2300 NTIaliaskind__mOZtJx9b3QXuy9bfWq9cuUNCg_.node = &TM__rmUZTUif19aNVU5raHE2xtA_0[23];
2301 }
2302
2303