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