Merge: doc: fixed some typos and other misc. corrections
[nit.git] / c_src / nitc__parser.sep.4.c
1 #include "nitc__parser.sep.0.h"
2 /* method parser$ReduceAction160$action for (self: ReduceAction160, Parser) */
3 void nitc__parser___nitc__parser__ReduceAction160___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
4 val* var_p /* var p: Parser */;
5 val* var_node_list /* var node_list: nullable Object */;
6 val* var /* : nullable Object */;
7 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8 val* var1 /* : Array[Object] */;
9 val* var_listnode3 /* var listnode3: Array[Object] */;
10 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
11 short int var2 /* : Bool */;
12 int cltype;
13 int idtype;
14 short int var3 /* : Bool */;
15 short int var4 /* : Bool */;
16 val* var_other /* var other: nullable Object */;
17 short int var6 /* : Bool */;
18 short int var7 /* : Bool */;
19 val* var8 /* : ABlockExpr */;
20 val* var_pexprnode1 /* var pexprnode1: nullable ABlockExpr */;
21 long var9 /* : Int */;
22 long var10 /* : Int */;
23 var_p = p0;
24 var_node_list = ((val*)NULL);
25 {
26 var = nitc___nitc__Parser___pop(var_p);
27 }
28 var_nodearraylist1 = var;
29 var1 = NEW_core__Array(&type_core__Array__core__Object);
30 {
31 core___core__Array___core__kernel__Object__init(var1); /* Direct call array$Array$init on <var1:Array[Object]>*/
32 }
33 var_listnode3 = var1;
34 var_pexprnode2 = var_nodearraylist1;
35 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
36 cltype = type_nullable__nitc__AExpr.color;
37 idtype = type_nullable__nitc__AExpr.id;
38 if(var_pexprnode2 == NULL) {
39 var2 = 1;
40 } else {
41 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
42 var2 = 0;
43 } else {
44 var2 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
45 }
46 }
47 if (unlikely(!var2)) {
48 if(catchStack.cursor >= 0){
49 longjmp(catchStack.envs[catchStack.cursor], 1);
50 }
51 PRINT_ERROR("Runtime error: %s", "Assert failed");
52 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5034);
53 fatal_exit(1);
54 }
55 if (var_pexprnode2 == NULL) {
56 var3 = 0; /* is null */
57 } else {
58 var3 = 1; /* arg is null and recv is not */
59 }
60 if (0) {
61 { /* Inline kernel$Object$!= (var_pexprnode2,((val*)NULL)) on <var_pexprnode2:nullable Object(nullable AExpr)> */
62 var_other = ((val*)NULL);
63 {
64 var6 = ((short int(*)(val* self, val* p0))(var_pexprnode2->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_pexprnode2, var_other); /* == on <var_pexprnode2:nullable Object(AExpr)>*/
65 }
66 var7 = !var6;
67 var4 = var7;
68 goto RET_LABEL5;
69 RET_LABEL5:(void)0;
70 }
71 var3 = var4;
72 }
73 if (var3){
74 {
75 core___core__Array___core__abstract_collection__SimpleCollection__add(var_listnode3, var_pexprnode2); /* Direct call array$Array$add on <var_listnode3:Array[Object]>*/
76 }
77 } else {
78 }
79 var8 = NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr);
80 {
81 nitc__parser_prod___ABlockExpr___init_ablockexpr(var8, var_listnode3, ((val*)NULL)); /* Direct call parser_prod$ABlockExpr$init_ablockexpr on <var8:ABlockExpr>*/
82 }
83 var_pexprnode1 = var8;
84 var_node_list = var_pexprnode1;
85 var9 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction160> */
86 {
87 var10 = nitc___nitc__Parser___go_to(var_p, var9);
88 }
89 {
90 nitc___nitc__Parser___push(var_p, var10, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
91 }
92 RET_LABEL:;
93 }
94 /* method parser$ReduceAction161$action for (self: ReduceAction161, Parser) */
95 void nitc__parser___nitc__parser__ReduceAction161___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
96 val* var_p /* var p: Parser */;
97 val* var_node_list /* var node_list: nullable Object */;
98 val* var /* : nullable Object */;
99 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
100 val* var1 /* : nullable Object */;
101 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
102 val* var2 /* : Array[Object] */;
103 val* var_listnode4 /* var listnode4: Array[Object] */;
104 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
105 short int var3 /* : Bool */;
106 int cltype;
107 int idtype;
108 val* var_listnode3 /* var listnode3: nullable Object */;
109 short int var4 /* : Bool */;
110 int cltype5;
111 int idtype6;
112 short int var7 /* : Bool */;
113 short int var8 /* : Bool */;
114 val* var_other /* var other: nullable Object */;
115 short int var10 /* : Bool */;
116 short int var11 /* : Bool */;
117 val* var12 /* : Array[Object] */;
118 val* var13 /* : ABlockExpr */;
119 val* var_pexprnode1 /* var pexprnode1: nullable ABlockExpr */;
120 long var14 /* : Int */;
121 long var15 /* : Int */;
122 var_p = p0;
123 var_node_list = ((val*)NULL);
124 {
125 var = nitc___nitc__Parser___pop(var_p);
126 }
127 var_nodearraylist2 = var;
128 {
129 var1 = nitc___nitc__Parser___pop(var_p);
130 }
131 var_nodearraylist1 = var1;
132 var2 = NEW_core__Array(&type_core__Array__core__Object);
133 {
134 core___core__Array___core__kernel__Object__init(var2); /* Direct call array$Array$init on <var2:Array[Object]>*/
135 }
136 var_listnode4 = var2;
137 var_pexprnode2 = var_nodearraylist1;
138 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
139 cltype = type_nullable__nitc__AExpr.color;
140 idtype = type_nullable__nitc__AExpr.id;
141 if(var_pexprnode2 == NULL) {
142 var3 = 1;
143 } else {
144 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
145 var3 = 0;
146 } else {
147 var3 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
148 }
149 }
150 if (unlikely(!var3)) {
151 if(catchStack.cursor >= 0){
152 longjmp(catchStack.envs[catchStack.cursor], 1);
153 }
154 PRINT_ERROR("Runtime error: %s", "Assert failed");
155 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5055);
156 fatal_exit(1);
157 }
158 var_listnode3 = var_nodearraylist2;
159 /* <var_listnode3:nullable Object> isa Array[Object] */
160 cltype5 = type_core__Array__core__Object.color;
161 idtype6 = type_core__Array__core__Object.id;
162 if(var_listnode3 == NULL) {
163 var4 = 0;
164 } else {
165 if(cltype5 >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) {
166 var4 = 0;
167 } else {
168 var4 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->type_table[cltype5] == idtype6;
169 }
170 }
171 if (unlikely(!var4)) {
172 if(catchStack.cursor >= 0){
173 longjmp(catchStack.envs[catchStack.cursor], 1);
174 }
175 PRINT_ERROR("Runtime error: %s", "Assert failed");
176 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5057);
177 fatal_exit(1);
178 }
179 if (var_pexprnode2 == NULL) {
180 var7 = 0; /* is null */
181 } else {
182 var7 = 1; /* arg is null and recv is not */
183 }
184 if (0) {
185 { /* Inline kernel$Object$!= (var_pexprnode2,((val*)NULL)) on <var_pexprnode2:nullable Object(nullable AExpr)> */
186 var_other = ((val*)NULL);
187 {
188 var10 = ((short int(*)(val* self, val* p0))(var_pexprnode2->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_pexprnode2, var_other); /* == on <var_pexprnode2:nullable Object(AExpr)>*/
189 }
190 var11 = !var10;
191 var8 = var11;
192 goto RET_LABEL9;
193 RET_LABEL9:(void)0;
194 }
195 var7 = var8;
196 }
197 if (var7){
198 {
199 core___core__Array___core__abstract_collection__SimpleCollection__add(var_listnode4, var_pexprnode2); /* Direct call array$Array$add on <var_listnode4:Array[Object]>*/
200 }
201 } else {
202 }
203 {
204 var12 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3);
205 }
206 var_listnode4 = var12;
207 var13 = NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr);
208 {
209 nitc__parser_prod___ABlockExpr___init_ablockexpr(var13, var_listnode4, ((val*)NULL)); /* Direct call parser_prod$ABlockExpr$init_ablockexpr on <var13:ABlockExpr>*/
210 }
211 var_pexprnode1 = var13;
212 var_node_list = var_pexprnode1;
213 var14 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction161> */
214 {
215 var15 = nitc___nitc__Parser___go_to(var_p, var14);
216 }
217 {
218 nitc___nitc__Parser___push(var_p, var15, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
219 }
220 RET_LABEL:;
221 }
222 /* method parser$ReduceAction162$action for (self: ReduceAction162, Parser) */
223 void nitc__parser___nitc__parser__ReduceAction162___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
224 val* var_p /* var p: Parser */;
225 val* var_node_list /* var node_list: nullable Object */;
226 val* var /* : nullable Object */;
227 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
228 val* var1 /* : nullable Object */;
229 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
230 val* var2 /* : Array[Object] */;
231 val* var_listnode3 /* var listnode3: Array[Object] */;
232 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
233 short int var3 /* : Bool */;
234 int cltype;
235 int idtype;
236 short int var4 /* : Bool */;
237 short int var5 /* : Bool */;
238 val* var_other /* var other: nullable Object */;
239 short int var7 /* : Bool */;
240 short int var8 /* : Bool */;
241 val* var9 /* : ABlockExpr */;
242 val* var_pexprnode1 /* var pexprnode1: nullable ABlockExpr */;
243 long var10 /* : Int */;
244 long var11 /* : Int */;
245 var_p = p0;
246 var_node_list = ((val*)NULL);
247 {
248 var = nitc___nitc__Parser___pop(var_p);
249 }
250 var_nodearraylist2 = var;
251 {
252 var1 = nitc___nitc__Parser___pop(var_p);
253 }
254 var_nodearraylist1 = var1;
255 var2 = NEW_core__Array(&type_core__Array__core__Object);
256 {
257 core___core__Array___core__kernel__Object__init(var2); /* Direct call array$Array$init on <var2:Array[Object]>*/
258 }
259 var_listnode3 = var2;
260 var_pexprnode2 = var_nodearraylist1;
261 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
262 cltype = type_nullable__nitc__AExpr.color;
263 idtype = type_nullable__nitc__AExpr.id;
264 if(var_pexprnode2 == NULL) {
265 var3 = 1;
266 } else {
267 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
268 var3 = 0;
269 } else {
270 var3 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
271 }
272 }
273 if (unlikely(!var3)) {
274 if(catchStack.cursor >= 0){
275 longjmp(catchStack.envs[catchStack.cursor], 1);
276 }
277 PRINT_ERROR("Runtime error: %s", "Assert failed");
278 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5079);
279 fatal_exit(1);
280 }
281 if (var_pexprnode2 == NULL) {
282 var4 = 0; /* is null */
283 } else {
284 var4 = 1; /* arg is null and recv is not */
285 }
286 if (0) {
287 { /* Inline kernel$Object$!= (var_pexprnode2,((val*)NULL)) on <var_pexprnode2:nullable Object(nullable AExpr)> */
288 var_other = ((val*)NULL);
289 {
290 var7 = ((short int(*)(val* self, val* p0))(var_pexprnode2->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_pexprnode2, var_other); /* == on <var_pexprnode2:nullable Object(AExpr)>*/
291 }
292 var8 = !var7;
293 var5 = var8;
294 goto RET_LABEL6;
295 RET_LABEL6:(void)0;
296 }
297 var4 = var5;
298 }
299 if (var4){
300 {
301 core___core__Array___core__abstract_collection__SimpleCollection__add(var_listnode3, var_pexprnode2); /* Direct call array$Array$add on <var_listnode3:Array[Object]>*/
302 }
303 } else {
304 }
305 var9 = NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr);
306 {
307 nitc__parser_prod___ABlockExpr___init_ablockexpr(var9, var_listnode3, ((val*)NULL)); /* Direct call parser_prod$ABlockExpr$init_ablockexpr on <var9:ABlockExpr>*/
308 }
309 var_pexprnode1 = var9;
310 var_node_list = var_pexprnode1;
311 var10 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction162> */
312 {
313 var11 = nitc___nitc__Parser___go_to(var_p, var10);
314 }
315 {
316 nitc___nitc__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
317 }
318 RET_LABEL:;
319 }
320 /* method parser$ReduceAction163$action for (self: ReduceAction163, Parser) */
321 void nitc__parser___nitc__parser__ReduceAction163___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
322 val* var_p /* var p: Parser */;
323 val* var_node_list /* var node_list: nullable Object */;
324 val* var /* : nullable Object */;
325 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
326 val* var1 /* : nullable Object */;
327 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
328 val* var2 /* : nullable Object */;
329 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
330 val* var3 /* : Array[Object] */;
331 val* var_listnode4 /* var listnode4: Array[Object] */;
332 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
333 short int var4 /* : Bool */;
334 int cltype;
335 int idtype;
336 val* var_listnode3 /* var listnode3: nullable Object */;
337 short int var5 /* : Bool */;
338 int cltype6;
339 int idtype7;
340 short int var8 /* : Bool */;
341 short int var9 /* : Bool */;
342 val* var_other /* var other: nullable Object */;
343 short int var11 /* : Bool */;
344 short int var12 /* : Bool */;
345 val* var13 /* : Array[Object] */;
346 val* var14 /* : ABlockExpr */;
347 val* var_pexprnode1 /* var pexprnode1: nullable ABlockExpr */;
348 long var15 /* : Int */;
349 long var16 /* : Int */;
350 var_p = p0;
351 var_node_list = ((val*)NULL);
352 {
353 var = nitc___nitc__Parser___pop(var_p);
354 }
355 var_nodearraylist3 = var;
356 {
357 var1 = nitc___nitc__Parser___pop(var_p);
358 }
359 var_nodearraylist2 = var1;
360 {
361 var2 = nitc___nitc__Parser___pop(var_p);
362 }
363 var_nodearraylist1 = var2;
364 var3 = NEW_core__Array(&type_core__Array__core__Object);
365 {
366 core___core__Array___core__kernel__Object__init(var3); /* Direct call array$Array$init on <var3:Array[Object]>*/
367 }
368 var_listnode4 = var3;
369 var_pexprnode2 = var_nodearraylist1;
370 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
371 cltype = type_nullable__nitc__AExpr.color;
372 idtype = type_nullable__nitc__AExpr.id;
373 if(var_pexprnode2 == NULL) {
374 var4 = 1;
375 } else {
376 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
377 var4 = 0;
378 } else {
379 var4 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
380 }
381 }
382 if (unlikely(!var4)) {
383 if(catchStack.cursor >= 0){
384 longjmp(catchStack.envs[catchStack.cursor], 1);
385 }
386 PRINT_ERROR("Runtime error: %s", "Assert failed");
387 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5101);
388 fatal_exit(1);
389 }
390 var_listnode3 = var_nodearraylist2;
391 /* <var_listnode3:nullable Object> isa Array[Object] */
392 cltype6 = type_core__Array__core__Object.color;
393 idtype7 = type_core__Array__core__Object.id;
394 if(var_listnode3 == NULL) {
395 var5 = 0;
396 } else {
397 if(cltype6 >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) {
398 var5 = 0;
399 } else {
400 var5 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->type_table[cltype6] == idtype7;
401 }
402 }
403 if (unlikely(!var5)) {
404 if(catchStack.cursor >= 0){
405 longjmp(catchStack.envs[catchStack.cursor], 1);
406 }
407 PRINT_ERROR("Runtime error: %s", "Assert failed");
408 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5103);
409 fatal_exit(1);
410 }
411 if (var_pexprnode2 == NULL) {
412 var8 = 0; /* is null */
413 } else {
414 var8 = 1; /* arg is null and recv is not */
415 }
416 if (0) {
417 { /* Inline kernel$Object$!= (var_pexprnode2,((val*)NULL)) on <var_pexprnode2:nullable Object(nullable AExpr)> */
418 var_other = ((val*)NULL);
419 {
420 var11 = ((short int(*)(val* self, val* p0))(var_pexprnode2->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_pexprnode2, var_other); /* == on <var_pexprnode2:nullable Object(AExpr)>*/
421 }
422 var12 = !var11;
423 var9 = var12;
424 goto RET_LABEL10;
425 RET_LABEL10:(void)0;
426 }
427 var8 = var9;
428 }
429 if (var8){
430 {
431 core___core__Array___core__abstract_collection__SimpleCollection__add(var_listnode4, var_pexprnode2); /* Direct call array$Array$add on <var_listnode4:Array[Object]>*/
432 }
433 } else {
434 }
435 {
436 var13 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3);
437 }
438 var_listnode4 = var13;
439 var14 = NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr);
440 {
441 nitc__parser_prod___ABlockExpr___init_ablockexpr(var14, var_listnode4, ((val*)NULL)); /* Direct call parser_prod$ABlockExpr$init_ablockexpr on <var14:ABlockExpr>*/
442 }
443 var_pexprnode1 = var14;
444 var_node_list = var_pexprnode1;
445 var15 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction163> */
446 {
447 var16 = nitc___nitc__Parser___go_to(var_p, var15);
448 }
449 {
450 nitc___nitc__Parser___push(var_p, var16, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
451 }
452 RET_LABEL:;
453 }
454 /* method parser$ReduceAction164$action for (self: ReduceAction164, Parser) */
455 void nitc__parser___nitc__parser__ReduceAction164___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
456 val* var_p /* var p: Parser */;
457 val* var_node_list /* var node_list: nullable Object */;
458 val* var /* : nullable Object */;
459 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
460 val* var1 /* : nullable Object */;
461 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
462 val* var2 /* : nullable Object */;
463 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
464 val* var3 /* : Array[Object] */;
465 val* var_listnode3 /* var listnode3: Array[Object] */;
466 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
467 short int var4 /* : Bool */;
468 int cltype;
469 int idtype;
470 short int var5 /* : Bool */;
471 short int var6 /* : Bool */;
472 val* var_other /* var other: nullable Object */;
473 short int var8 /* : Bool */;
474 short int var9 /* : Bool */;
475 val* var_tkwendnode4 /* var tkwendnode4: nullable Object */;
476 short int var10 /* : Bool */;
477 int cltype11;
478 int idtype12;
479 val* var13 /* : ABlockExpr */;
480 val* var_pexprnode1 /* var pexprnode1: nullable ABlockExpr */;
481 long var14 /* : Int */;
482 long var15 /* : Int */;
483 var_p = p0;
484 var_node_list = ((val*)NULL);
485 {
486 var = nitc___nitc__Parser___pop(var_p);
487 }
488 var_nodearraylist3 = var;
489 {
490 var1 = nitc___nitc__Parser___pop(var_p);
491 }
492 var_nodearraylist2 = var1;
493 {
494 var2 = nitc___nitc__Parser___pop(var_p);
495 }
496 var_nodearraylist1 = var2;
497 var3 = NEW_core__Array(&type_core__Array__core__Object);
498 {
499 core___core__Array___core__kernel__Object__init(var3); /* Direct call array$Array$init on <var3:Array[Object]>*/
500 }
501 var_listnode3 = var3;
502 var_pexprnode2 = var_nodearraylist1;
503 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
504 cltype = type_nullable__nitc__AExpr.color;
505 idtype = type_nullable__nitc__AExpr.id;
506 if(var_pexprnode2 == NULL) {
507 var4 = 1;
508 } else {
509 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
510 var4 = 0;
511 } else {
512 var4 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
513 }
514 }
515 if (unlikely(!var4)) {
516 if(catchStack.cursor >= 0){
517 longjmp(catchStack.envs[catchStack.cursor], 1);
518 }
519 PRINT_ERROR("Runtime error: %s", "Assert failed");
520 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5126);
521 fatal_exit(1);
522 }
523 if (var_pexprnode2 == NULL) {
524 var5 = 0; /* is null */
525 } else {
526 var5 = 1; /* arg is null and recv is not */
527 }
528 if (0) {
529 { /* Inline kernel$Object$!= (var_pexprnode2,((val*)NULL)) on <var_pexprnode2:nullable Object(nullable AExpr)> */
530 var_other = ((val*)NULL);
531 {
532 var8 = ((short int(*)(val* self, val* p0))(var_pexprnode2->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_pexprnode2, var_other); /* == on <var_pexprnode2:nullable Object(AExpr)>*/
533 }
534 var9 = !var8;
535 var6 = var9;
536 goto RET_LABEL7;
537 RET_LABEL7:(void)0;
538 }
539 var5 = var6;
540 }
541 if (var5){
542 {
543 core___core__Array___core__abstract_collection__SimpleCollection__add(var_listnode3, var_pexprnode2); /* Direct call array$Array$add on <var_listnode3:Array[Object]>*/
544 }
545 } else {
546 }
547 var_tkwendnode4 = var_nodearraylist3;
548 /* <var_tkwendnode4:nullable Object> isa nullable TKwend */
549 cltype11 = type_nullable__nitc__TKwend.color;
550 idtype12 = type_nullable__nitc__TKwend.id;
551 if(var_tkwendnode4 == NULL) {
552 var10 = 1;
553 } else {
554 if(cltype11 >= (((long)var_tkwendnode4&3)?type_info[((long)var_tkwendnode4&3)]:var_tkwendnode4->type)->table_size) {
555 var10 = 0;
556 } else {
557 var10 = (((long)var_tkwendnode4&3)?type_info[((long)var_tkwendnode4&3)]:var_tkwendnode4->type)->type_table[cltype11] == idtype12;
558 }
559 }
560 if (unlikely(!var10)) {
561 if(catchStack.cursor >= 0){
562 longjmp(catchStack.envs[catchStack.cursor], 1);
563 }
564 PRINT_ERROR("Runtime error: %s", "Assert failed");
565 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5131);
566 fatal_exit(1);
567 }
568 var13 = NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr);
569 {
570 nitc__parser_prod___ABlockExpr___init_ablockexpr(var13, var_listnode3, var_tkwendnode4); /* Direct call parser_prod$ABlockExpr$init_ablockexpr on <var13:ABlockExpr>*/
571 }
572 var_pexprnode1 = var13;
573 var_node_list = var_pexprnode1;
574 var14 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction164> */
575 {
576 var15 = nitc___nitc__Parser___go_to(var_p, var14);
577 }
578 {
579 nitc___nitc__Parser___push(var_p, var15, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
580 }
581 RET_LABEL:;
582 }
583 /* method parser$ReduceAction165$action for (self: ReduceAction165, Parser) */
584 void nitc__parser___nitc__parser__ReduceAction165___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
585 val* var_p /* var p: Parser */;
586 val* var_node_list /* var node_list: nullable Object */;
587 val* var /* : nullable Object */;
588 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
589 val* var1 /* : nullable Object */;
590 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
591 val* var2 /* : nullable Object */;
592 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
593 val* var3 /* : nullable Object */;
594 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
595 val* var4 /* : Array[Object] */;
596 val* var_listnode4 /* var listnode4: Array[Object] */;
597 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
598 short int var5 /* : Bool */;
599 int cltype;
600 int idtype;
601 val* var_listnode3 /* var listnode3: nullable Object */;
602 short int var6 /* : Bool */;
603 int cltype7;
604 int idtype8;
605 short int var9 /* : Bool */;
606 short int var10 /* : Bool */;
607 val* var_other /* var other: nullable Object */;
608 short int var12 /* : Bool */;
609 short int var13 /* : Bool */;
610 val* var14 /* : Array[Object] */;
611 val* var_tkwendnode5 /* var tkwendnode5: nullable Object */;
612 short int var15 /* : Bool */;
613 int cltype16;
614 int idtype17;
615 val* var18 /* : ABlockExpr */;
616 val* var_pexprnode1 /* var pexprnode1: nullable ABlockExpr */;
617 long var19 /* : Int */;
618 long var20 /* : Int */;
619 var_p = p0;
620 var_node_list = ((val*)NULL);
621 {
622 var = nitc___nitc__Parser___pop(var_p);
623 }
624 var_nodearraylist4 = var;
625 {
626 var1 = nitc___nitc__Parser___pop(var_p);
627 }
628 var_nodearraylist3 = var1;
629 {
630 var2 = nitc___nitc__Parser___pop(var_p);
631 }
632 var_nodearraylist2 = var2;
633 {
634 var3 = nitc___nitc__Parser___pop(var_p);
635 }
636 var_nodearraylist1 = var3;
637 var4 = NEW_core__Array(&type_core__Array__core__Object);
638 {
639 core___core__Array___core__kernel__Object__init(var4); /* Direct call array$Array$init on <var4:Array[Object]>*/
640 }
641 var_listnode4 = var4;
642 var_pexprnode2 = var_nodearraylist1;
643 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
644 cltype = type_nullable__nitc__AExpr.color;
645 idtype = type_nullable__nitc__AExpr.id;
646 if(var_pexprnode2 == NULL) {
647 var5 = 1;
648 } else {
649 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
650 var5 = 0;
651 } else {
652 var5 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
653 }
654 }
655 if (unlikely(!var5)) {
656 if(catchStack.cursor >= 0){
657 longjmp(catchStack.envs[catchStack.cursor], 1);
658 }
659 PRINT_ERROR("Runtime error: %s", "Assert failed");
660 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5151);
661 fatal_exit(1);
662 }
663 var_listnode3 = var_nodearraylist2;
664 /* <var_listnode3:nullable Object> isa Array[Object] */
665 cltype7 = type_core__Array__core__Object.color;
666 idtype8 = type_core__Array__core__Object.id;
667 if(var_listnode3 == NULL) {
668 var6 = 0;
669 } else {
670 if(cltype7 >= (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->table_size) {
671 var6 = 0;
672 } else {
673 var6 = (((long)var_listnode3&3)?type_info[((long)var_listnode3&3)]:var_listnode3->type)->type_table[cltype7] == idtype8;
674 }
675 }
676 if (unlikely(!var6)) {
677 if(catchStack.cursor >= 0){
678 longjmp(catchStack.envs[catchStack.cursor], 1);
679 }
680 PRINT_ERROR("Runtime error: %s", "Assert failed");
681 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5153);
682 fatal_exit(1);
683 }
684 if (var_pexprnode2 == NULL) {
685 var9 = 0; /* is null */
686 } else {
687 var9 = 1; /* arg is null and recv is not */
688 }
689 if (0) {
690 { /* Inline kernel$Object$!= (var_pexprnode2,((val*)NULL)) on <var_pexprnode2:nullable Object(nullable AExpr)> */
691 var_other = ((val*)NULL);
692 {
693 var12 = ((short int(*)(val* self, val* p0))(var_pexprnode2->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_pexprnode2, var_other); /* == on <var_pexprnode2:nullable Object(AExpr)>*/
694 }
695 var13 = !var12;
696 var10 = var13;
697 goto RET_LABEL11;
698 RET_LABEL11:(void)0;
699 }
700 var9 = var10;
701 }
702 if (var9){
703 {
704 core___core__Array___core__abstract_collection__SimpleCollection__add(var_listnode4, var_pexprnode2); /* Direct call array$Array$add on <var_listnode4:Array[Object]>*/
705 }
706 } else {
707 }
708 {
709 var14 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode4, var_listnode3);
710 }
711 var_listnode4 = var14;
712 var_tkwendnode5 = var_nodearraylist4;
713 /* <var_tkwendnode5:nullable Object> isa nullable TKwend */
714 cltype16 = type_nullable__nitc__TKwend.color;
715 idtype17 = type_nullable__nitc__TKwend.id;
716 if(var_tkwendnode5 == NULL) {
717 var15 = 1;
718 } else {
719 if(cltype16 >= (((long)var_tkwendnode5&3)?type_info[((long)var_tkwendnode5&3)]:var_tkwendnode5->type)->table_size) {
720 var15 = 0;
721 } else {
722 var15 = (((long)var_tkwendnode5&3)?type_info[((long)var_tkwendnode5&3)]:var_tkwendnode5->type)->type_table[cltype16] == idtype17;
723 }
724 }
725 if (unlikely(!var15)) {
726 if(catchStack.cursor >= 0){
727 longjmp(catchStack.envs[catchStack.cursor], 1);
728 }
729 PRINT_ERROR("Runtime error: %s", "Assert failed");
730 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5159);
731 fatal_exit(1);
732 }
733 var18 = NEW_nitc__ABlockExpr(&type_nitc__ABlockExpr);
734 {
735 nitc__parser_prod___ABlockExpr___init_ablockexpr(var18, var_listnode4, var_tkwendnode5); /* Direct call parser_prod$ABlockExpr$init_ablockexpr on <var18:ABlockExpr>*/
736 }
737 var_pexprnode1 = var18;
738 var_node_list = var_pexprnode1;
739 var19 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction165> */
740 {
741 var20 = nitc___nitc__Parser___go_to(var_p, var19);
742 }
743 {
744 nitc___nitc__Parser___push(var_p, var20, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
745 }
746 RET_LABEL:;
747 }
748 /* method parser$ReduceAction169$action for (self: ReduceAction169, Parser) */
749 void nitc__parser___nitc__parser__ReduceAction169___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
750 val* var_p /* var p: Parser */;
751 val* var_node_list /* var node_list: nullable Object */;
752 val* var /* : nullable Object */;
753 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
754 val* var_tkwreturnnode2 /* var tkwreturnnode2: nullable Object */;
755 short int var1 /* : Bool */;
756 int cltype;
757 int idtype;
758 val* var2 /* : AReturnExpr */;
759 val* var_pexprnode1 /* var pexprnode1: nullable AReturnExpr */;
760 long var3 /* : Int */;
761 long var4 /* : Int */;
762 var_p = p0;
763 var_node_list = ((val*)NULL);
764 {
765 var = nitc___nitc__Parser___pop(var_p);
766 }
767 var_nodearraylist1 = var;
768 var_tkwreturnnode2 = var_nodearraylist1;
769 /* <var_tkwreturnnode2:nullable Object> isa nullable TKwreturn */
770 cltype = type_nullable__nitc__TKwreturn.color;
771 idtype = type_nullable__nitc__TKwreturn.id;
772 if(var_tkwreturnnode2 == NULL) {
773 var1 = 1;
774 } else {
775 if(cltype >= (((long)var_tkwreturnnode2&3)?type_info[((long)var_tkwreturnnode2&3)]:var_tkwreturnnode2->type)->table_size) {
776 var1 = 0;
777 } else {
778 var1 = (((long)var_tkwreturnnode2&3)?type_info[((long)var_tkwreturnnode2&3)]:var_tkwreturnnode2->type)->type_table[cltype] == idtype;
779 }
780 }
781 if (unlikely(!var1)) {
782 if(catchStack.cursor >= 0){
783 longjmp(catchStack.envs[catchStack.cursor], 1);
784 }
785 PRINT_ERROR("Runtime error: %s", "Assert failed");
786 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5175);
787 fatal_exit(1);
788 }
789 var2 = NEW_nitc__AReturnExpr(&type_nitc__AReturnExpr);
790 {
791 nitc__parser_prod___AReturnExpr___init_areturnexpr(var2, var_tkwreturnnode2, ((val*)NULL)); /* Direct call parser_prod$AReturnExpr$init_areturnexpr on <var2:AReturnExpr>*/
792 }
793 var_pexprnode1 = var2;
794 var_node_list = var_pexprnode1;
795 var3 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction169> */
796 {
797 var4 = nitc___nitc__Parser___go_to(var_p, var3);
798 }
799 {
800 nitc___nitc__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
801 }
802 RET_LABEL:;
803 }
804 /* method parser$ReduceAction170$action for (self: ReduceAction170, Parser) */
805 void nitc__parser___nitc__parser__ReduceAction170___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
806 val* var_p /* var p: Parser */;
807 val* var_node_list /* var node_list: nullable Object */;
808 val* var /* : nullable Object */;
809 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
810 val* var1 /* : nullable Object */;
811 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
812 val* var_tkwreturnnode2 /* var tkwreturnnode2: nullable Object */;
813 short int var2 /* : Bool */;
814 int cltype;
815 int idtype;
816 val* var_pexprnode3 /* var pexprnode3: nullable Object */;
817 short int var3 /* : Bool */;
818 int cltype4;
819 int idtype5;
820 val* var6 /* : AReturnExpr */;
821 val* var_pexprnode1 /* var pexprnode1: nullable AReturnExpr */;
822 long var7 /* : Int */;
823 long var8 /* : Int */;
824 var_p = p0;
825 var_node_list = ((val*)NULL);
826 {
827 var = nitc___nitc__Parser___pop(var_p);
828 }
829 var_nodearraylist2 = var;
830 {
831 var1 = nitc___nitc__Parser___pop(var_p);
832 }
833 var_nodearraylist1 = var1;
834 var_tkwreturnnode2 = var_nodearraylist1;
835 /* <var_tkwreturnnode2:nullable Object> isa nullable TKwreturn */
836 cltype = type_nullable__nitc__TKwreturn.color;
837 idtype = type_nullable__nitc__TKwreturn.id;
838 if(var_tkwreturnnode2 == NULL) {
839 var2 = 1;
840 } else {
841 if(cltype >= (((long)var_tkwreturnnode2&3)?type_info[((long)var_tkwreturnnode2&3)]:var_tkwreturnnode2->type)->table_size) {
842 var2 = 0;
843 } else {
844 var2 = (((long)var_tkwreturnnode2&3)?type_info[((long)var_tkwreturnnode2&3)]:var_tkwreturnnode2->type)->type_table[cltype] == idtype;
845 }
846 }
847 if (unlikely(!var2)) {
848 if(catchStack.cursor >= 0){
849 longjmp(catchStack.envs[catchStack.cursor], 1);
850 }
851 PRINT_ERROR("Runtime error: %s", "Assert failed");
852 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5192);
853 fatal_exit(1);
854 }
855 var_pexprnode3 = var_nodearraylist2;
856 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
857 cltype4 = type_nullable__nitc__AExpr.color;
858 idtype5 = type_nullable__nitc__AExpr.id;
859 if(var_pexprnode3 == NULL) {
860 var3 = 1;
861 } else {
862 if(cltype4 >= (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->table_size) {
863 var3 = 0;
864 } else {
865 var3 = (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->type_table[cltype4] == idtype5;
866 }
867 }
868 if (unlikely(!var3)) {
869 if(catchStack.cursor >= 0){
870 longjmp(catchStack.envs[catchStack.cursor], 1);
871 }
872 PRINT_ERROR("Runtime error: %s", "Assert failed");
873 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5194);
874 fatal_exit(1);
875 }
876 var6 = NEW_nitc__AReturnExpr(&type_nitc__AReturnExpr);
877 {
878 nitc__parser_prod___AReturnExpr___init_areturnexpr(var6, var_tkwreturnnode2, var_pexprnode3); /* Direct call parser_prod$AReturnExpr$init_areturnexpr on <var6:AReturnExpr>*/
879 }
880 var_pexprnode1 = var6;
881 var_node_list = var_pexprnode1;
882 var7 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction170> */
883 {
884 var8 = nitc___nitc__Parser___go_to(var_p, var7);
885 }
886 {
887 nitc___nitc__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
888 }
889 RET_LABEL:;
890 }
891 /* method parser$ReduceAction171$action for (self: ReduceAction171, Parser) */
892 void nitc__parser___nitc__parser__ReduceAction171___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
893 val* var_p /* var p: Parser */;
894 val* var_node_list /* var node_list: nullable Object */;
895 val* var /* : nullable Object */;
896 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
897 val* var1 /* : nullable Object */;
898 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
899 val* var_tkwyieldnode2 /* var tkwyieldnode2: nullable Object */;
900 short int var2 /* : Bool */;
901 int cltype;
902 int idtype;
903 val* var_pexprnode3 /* var pexprnode3: nullable Object */;
904 short int var3 /* : Bool */;
905 int cltype4;
906 int idtype5;
907 val* var6 /* : AYieldExpr */;
908 val* var_pexprnode1 /* var pexprnode1: nullable AYieldExpr */;
909 long var7 /* : Int */;
910 long var8 /* : Int */;
911 var_p = p0;
912 var_node_list = ((val*)NULL);
913 {
914 var = nitc___nitc__Parser___pop(var_p);
915 }
916 var_nodearraylist2 = var;
917 {
918 var1 = nitc___nitc__Parser___pop(var_p);
919 }
920 var_nodearraylist1 = var1;
921 var_tkwyieldnode2 = var_nodearraylist1;
922 /* <var_tkwyieldnode2:nullable Object> isa nullable TKwyield */
923 cltype = type_nullable__nitc__TKwyield.color;
924 idtype = type_nullable__nitc__TKwyield.id;
925 if(var_tkwyieldnode2 == NULL) {
926 var2 = 1;
927 } else {
928 if(cltype >= (((long)var_tkwyieldnode2&3)?type_info[((long)var_tkwyieldnode2&3)]:var_tkwyieldnode2->type)->table_size) {
929 var2 = 0;
930 } else {
931 var2 = (((long)var_tkwyieldnode2&3)?type_info[((long)var_tkwyieldnode2&3)]:var_tkwyieldnode2->type)->type_table[cltype] == idtype;
932 }
933 }
934 if (unlikely(!var2)) {
935 if(catchStack.cursor >= 0){
936 longjmp(catchStack.envs[catchStack.cursor], 1);
937 }
938 PRINT_ERROR("Runtime error: %s", "Assert failed");
939 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5211);
940 fatal_exit(1);
941 }
942 var_pexprnode3 = var_nodearraylist2;
943 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
944 cltype4 = type_nullable__nitc__AExpr.color;
945 idtype5 = type_nullable__nitc__AExpr.id;
946 if(var_pexprnode3 == NULL) {
947 var3 = 1;
948 } else {
949 if(cltype4 >= (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->table_size) {
950 var3 = 0;
951 } else {
952 var3 = (((long)var_pexprnode3&3)?type_info[((long)var_pexprnode3&3)]:var_pexprnode3->type)->type_table[cltype4] == idtype5;
953 }
954 }
955 if (unlikely(!var3)) {
956 if(catchStack.cursor >= 0){
957 longjmp(catchStack.envs[catchStack.cursor], 1);
958 }
959 PRINT_ERROR("Runtime error: %s", "Assert failed");
960 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5213);
961 fatal_exit(1);
962 }
963 var6 = NEW_nitc__AYieldExpr(&type_nitc__AYieldExpr);
964 {
965 nitc__parser_prod___AYieldExpr___init_ayieldexpr(var6, var_tkwyieldnode2, var_pexprnode3); /* Direct call parser_prod$AYieldExpr$init_ayieldexpr on <var6:AYieldExpr>*/
966 }
967 var_pexprnode1 = var6;
968 var_node_list = var_pexprnode1;
969 var7 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction171> */
970 {
971 var8 = nitc___nitc__Parser___go_to(var_p, var7);
972 }
973 {
974 nitc___nitc__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
975 }
976 RET_LABEL:;
977 }
978 /* method parser$ReduceAction172$action for (self: ReduceAction172, Parser) */
979 void nitc__parser___nitc__parser__ReduceAction172___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
980 val* var_p /* var p: Parser */;
981 val* var_node_list /* var node_list: nullable Object */;
982 val* var /* : nullable Object */;
983 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
984 val* var_tkwbreaknode2 /* var tkwbreaknode2: nullable Object */;
985 short int var1 /* : Bool */;
986 int cltype;
987 int idtype;
988 val* var2 /* : ABreakExpr */;
989 val* var_pexprnode1 /* var pexprnode1: nullable ABreakExpr */;
990 long var3 /* : Int */;
991 long var4 /* : Int */;
992 var_p = p0;
993 var_node_list = ((val*)NULL);
994 {
995 var = nitc___nitc__Parser___pop(var_p);
996 }
997 var_nodearraylist1 = var;
998 var_tkwbreaknode2 = var_nodearraylist1;
999 /* <var_tkwbreaknode2:nullable Object> isa nullable TKwbreak */
1000 cltype = type_nullable__nitc__TKwbreak.color;
1001 idtype = type_nullable__nitc__TKwbreak.id;
1002 if(var_tkwbreaknode2 == NULL) {
1003 var1 = 1;
1004 } else {
1005 if(cltype >= (((long)var_tkwbreaknode2&3)?type_info[((long)var_tkwbreaknode2&3)]:var_tkwbreaknode2->type)->table_size) {
1006 var1 = 0;
1007 } else {
1008 var1 = (((long)var_tkwbreaknode2&3)?type_info[((long)var_tkwbreaknode2&3)]:var_tkwbreaknode2->type)->type_table[cltype] == idtype;
1009 }
1010 }
1011 if (unlikely(!var1)) {
1012 if(catchStack.cursor >= 0){
1013 longjmp(catchStack.envs[catchStack.cursor], 1);
1014 }
1015 PRINT_ERROR("Runtime error: %s", "Assert failed");
1016 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5229);
1017 fatal_exit(1);
1018 }
1019 var2 = NEW_nitc__ABreakExpr(&type_nitc__ABreakExpr);
1020 {
1021 nitc__parser_prod___ABreakExpr___init_abreakexpr(var2, var_tkwbreaknode2, ((val*)NULL)); /* Direct call parser_prod$ABreakExpr$init_abreakexpr on <var2:ABreakExpr>*/
1022 }
1023 var_pexprnode1 = var2;
1024 var_node_list = var_pexprnode1;
1025 var3 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction172> */
1026 {
1027 var4 = nitc___nitc__Parser___go_to(var_p, var3);
1028 }
1029 {
1030 nitc___nitc__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
1031 }
1032 RET_LABEL:;
1033 }
1034 /* method parser$ReduceAction173$action for (self: ReduceAction173, Parser) */
1035 void nitc__parser___nitc__parser__ReduceAction173___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
1036 val* var_p /* var p: Parser */;
1037 val* var_node_list /* var node_list: nullable Object */;
1038 val* var /* : nullable Object */;
1039 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1040 val* var1 /* : nullable Object */;
1041 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1042 val* var_tkwbreaknode2 /* var tkwbreaknode2: nullable Object */;
1043 short int var2 /* : Bool */;
1044 int cltype;
1045 int idtype;
1046 val* var_plabelnode3 /* var plabelnode3: nullable Object */;
1047 short int var3 /* : Bool */;
1048 int cltype4;
1049 int idtype5;
1050 val* var6 /* : ABreakExpr */;
1051 val* var_pexprnode1 /* var pexprnode1: nullable ABreakExpr */;
1052 long var7 /* : Int */;
1053 long var8 /* : Int */;
1054 var_p = p0;
1055 var_node_list = ((val*)NULL);
1056 {
1057 var = nitc___nitc__Parser___pop(var_p);
1058 }
1059 var_nodearraylist2 = var;
1060 {
1061 var1 = nitc___nitc__Parser___pop(var_p);
1062 }
1063 var_nodearraylist1 = var1;
1064 var_tkwbreaknode2 = var_nodearraylist1;
1065 /* <var_tkwbreaknode2:nullable Object> isa nullable TKwbreak */
1066 cltype = type_nullable__nitc__TKwbreak.color;
1067 idtype = type_nullable__nitc__TKwbreak.id;
1068 if(var_tkwbreaknode2 == NULL) {
1069 var2 = 1;
1070 } else {
1071 if(cltype >= (((long)var_tkwbreaknode2&3)?type_info[((long)var_tkwbreaknode2&3)]:var_tkwbreaknode2->type)->table_size) {
1072 var2 = 0;
1073 } else {
1074 var2 = (((long)var_tkwbreaknode2&3)?type_info[((long)var_tkwbreaknode2&3)]:var_tkwbreaknode2->type)->type_table[cltype] == idtype;
1075 }
1076 }
1077 if (unlikely(!var2)) {
1078 if(catchStack.cursor >= 0){
1079 longjmp(catchStack.envs[catchStack.cursor], 1);
1080 }
1081 PRINT_ERROR("Runtime error: %s", "Assert failed");
1082 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5246);
1083 fatal_exit(1);
1084 }
1085 var_plabelnode3 = var_nodearraylist2;
1086 /* <var_plabelnode3:nullable Object> isa nullable ALabel */
1087 cltype4 = type_nullable__nitc__ALabel.color;
1088 idtype5 = type_nullable__nitc__ALabel.id;
1089 if(var_plabelnode3 == NULL) {
1090 var3 = 1;
1091 } else {
1092 if(cltype4 >= (((long)var_plabelnode3&3)?type_info[((long)var_plabelnode3&3)]:var_plabelnode3->type)->table_size) {
1093 var3 = 0;
1094 } else {
1095 var3 = (((long)var_plabelnode3&3)?type_info[((long)var_plabelnode3&3)]:var_plabelnode3->type)->type_table[cltype4] == idtype5;
1096 }
1097 }
1098 if (unlikely(!var3)) {
1099 if(catchStack.cursor >= 0){
1100 longjmp(catchStack.envs[catchStack.cursor], 1);
1101 }
1102 PRINT_ERROR("Runtime error: %s", "Assert failed");
1103 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5248);
1104 fatal_exit(1);
1105 }
1106 var6 = NEW_nitc__ABreakExpr(&type_nitc__ABreakExpr);
1107 {
1108 nitc__parser_prod___ABreakExpr___init_abreakexpr(var6, var_tkwbreaknode2, var_plabelnode3); /* Direct call parser_prod$ABreakExpr$init_abreakexpr on <var6:ABreakExpr>*/
1109 }
1110 var_pexprnode1 = var6;
1111 var_node_list = var_pexprnode1;
1112 var7 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction173> */
1113 {
1114 var8 = nitc___nitc__Parser___go_to(var_p, var7);
1115 }
1116 {
1117 nitc___nitc__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
1118 }
1119 RET_LABEL:;
1120 }
1121 /* method parser$ReduceAction174$action for (self: ReduceAction174, Parser) */
1122 void nitc__parser___nitc__parser__ReduceAction174___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
1123 val* var_p /* var p: Parser */;
1124 val* var_node_list /* var node_list: nullable Object */;
1125 val* var /* : nullable Object */;
1126 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1127 val* var_tkwabortnode2 /* var tkwabortnode2: nullable Object */;
1128 short int var1 /* : Bool */;
1129 int cltype;
1130 int idtype;
1131 val* var2 /* : AAbortExpr */;
1132 val* var_pexprnode1 /* var pexprnode1: nullable AAbortExpr */;
1133 long var3 /* : Int */;
1134 long var4 /* : Int */;
1135 var_p = p0;
1136 var_node_list = ((val*)NULL);
1137 {
1138 var = nitc___nitc__Parser___pop(var_p);
1139 }
1140 var_nodearraylist1 = var;
1141 var_tkwabortnode2 = var_nodearraylist1;
1142 /* <var_tkwabortnode2:nullable Object> isa nullable TKwabort */
1143 cltype = type_nullable__nitc__TKwabort.color;
1144 idtype = type_nullable__nitc__TKwabort.id;
1145 if(var_tkwabortnode2 == NULL) {
1146 var1 = 1;
1147 } else {
1148 if(cltype >= (((long)var_tkwabortnode2&3)?type_info[((long)var_tkwabortnode2&3)]:var_tkwabortnode2->type)->table_size) {
1149 var1 = 0;
1150 } else {
1151 var1 = (((long)var_tkwabortnode2&3)?type_info[((long)var_tkwabortnode2&3)]:var_tkwabortnode2->type)->type_table[cltype] == idtype;
1152 }
1153 }
1154 if (unlikely(!var1)) {
1155 if(catchStack.cursor >= 0){
1156 longjmp(catchStack.envs[catchStack.cursor], 1);
1157 }
1158 PRINT_ERROR("Runtime error: %s", "Assert failed");
1159 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5264);
1160 fatal_exit(1);
1161 }
1162 var2 = NEW_nitc__AAbortExpr(&type_nitc__AAbortExpr);
1163 {
1164 nitc__parser_prod___AAbortExpr___init_aabortexpr(var2, var_tkwabortnode2); /* Direct call parser_prod$AAbortExpr$init_aabortexpr on <var2:AAbortExpr>*/
1165 }
1166 var_pexprnode1 = var2;
1167 var_node_list = var_pexprnode1;
1168 var3 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction174> */
1169 {
1170 var4 = nitc___nitc__Parser___go_to(var_p, var3);
1171 }
1172 {
1173 nitc___nitc__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
1174 }
1175 RET_LABEL:;
1176 }
1177 /* method parser$ReduceAction175$action for (self: ReduceAction175, Parser) */
1178 void nitc__parser___nitc__parser__ReduceAction175___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
1179 val* var_p /* var p: Parser */;
1180 val* var_node_list /* var node_list: nullable Object */;
1181 val* var /* : nullable Object */;
1182 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1183 val* var_tkwcontinuenode2 /* var tkwcontinuenode2: nullable Object */;
1184 short int var1 /* : Bool */;
1185 int cltype;
1186 int idtype;
1187 val* var2 /* : AContinueExpr */;
1188 val* var_pexprnode1 /* var pexprnode1: nullable AContinueExpr */;
1189 long var3 /* : Int */;
1190 long var4 /* : Int */;
1191 var_p = p0;
1192 var_node_list = ((val*)NULL);
1193 {
1194 var = nitc___nitc__Parser___pop(var_p);
1195 }
1196 var_nodearraylist1 = var;
1197 var_tkwcontinuenode2 = var_nodearraylist1;
1198 /* <var_tkwcontinuenode2:nullable Object> isa nullable TKwcontinue */
1199 cltype = type_nullable__nitc__TKwcontinue.color;
1200 idtype = type_nullable__nitc__TKwcontinue.id;
1201 if(var_tkwcontinuenode2 == NULL) {
1202 var1 = 1;
1203 } else {
1204 if(cltype >= (((long)var_tkwcontinuenode2&3)?type_info[((long)var_tkwcontinuenode2&3)]:var_tkwcontinuenode2->type)->table_size) {
1205 var1 = 0;
1206 } else {
1207 var1 = (((long)var_tkwcontinuenode2&3)?type_info[((long)var_tkwcontinuenode2&3)]:var_tkwcontinuenode2->type)->type_table[cltype] == idtype;
1208 }
1209 }
1210 if (unlikely(!var1)) {
1211 if(catchStack.cursor >= 0){
1212 longjmp(catchStack.envs[catchStack.cursor], 1);
1213 }
1214 PRINT_ERROR("Runtime error: %s", "Assert failed");
1215 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5279);
1216 fatal_exit(1);
1217 }
1218 var2 = NEW_nitc__AContinueExpr(&type_nitc__AContinueExpr);
1219 {
1220 nitc__parser_prod___AContinueExpr___init_acontinueexpr(var2, var_tkwcontinuenode2, ((val*)NULL)); /* Direct call parser_prod$AContinueExpr$init_acontinueexpr on <var2:AContinueExpr>*/
1221 }
1222 var_pexprnode1 = var2;
1223 var_node_list = var_pexprnode1;
1224 var3 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction175> */
1225 {
1226 var4 = nitc___nitc__Parser___go_to(var_p, var3);
1227 }
1228 {
1229 nitc___nitc__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
1230 }
1231 RET_LABEL:;
1232 }
1233 /* method parser$ReduceAction176$action for (self: ReduceAction176, Parser) */
1234 void nitc__parser___nitc__parser__ReduceAction176___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
1235 val* var_p /* var p: Parser */;
1236 val* var_node_list /* var node_list: nullable Object */;
1237 val* var /* : nullable Object */;
1238 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1239 val* var1 /* : nullable Object */;
1240 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1241 val* var_tkwcontinuenode2 /* var tkwcontinuenode2: nullable Object */;
1242 short int var2 /* : Bool */;
1243 int cltype;
1244 int idtype;
1245 val* var_plabelnode3 /* var plabelnode3: nullable Object */;
1246 short int var3 /* : Bool */;
1247 int cltype4;
1248 int idtype5;
1249 val* var6 /* : AContinueExpr */;
1250 val* var_pexprnode1 /* var pexprnode1: nullable AContinueExpr */;
1251 long var7 /* : Int */;
1252 long var8 /* : Int */;
1253 var_p = p0;
1254 var_node_list = ((val*)NULL);
1255 {
1256 var = nitc___nitc__Parser___pop(var_p);
1257 }
1258 var_nodearraylist2 = var;
1259 {
1260 var1 = nitc___nitc__Parser___pop(var_p);
1261 }
1262 var_nodearraylist1 = var1;
1263 var_tkwcontinuenode2 = var_nodearraylist1;
1264 /* <var_tkwcontinuenode2:nullable Object> isa nullable TKwcontinue */
1265 cltype = type_nullable__nitc__TKwcontinue.color;
1266 idtype = type_nullable__nitc__TKwcontinue.id;
1267 if(var_tkwcontinuenode2 == NULL) {
1268 var2 = 1;
1269 } else {
1270 if(cltype >= (((long)var_tkwcontinuenode2&3)?type_info[((long)var_tkwcontinuenode2&3)]:var_tkwcontinuenode2->type)->table_size) {
1271 var2 = 0;
1272 } else {
1273 var2 = (((long)var_tkwcontinuenode2&3)?type_info[((long)var_tkwcontinuenode2&3)]:var_tkwcontinuenode2->type)->type_table[cltype] == idtype;
1274 }
1275 }
1276 if (unlikely(!var2)) {
1277 if(catchStack.cursor >= 0){
1278 longjmp(catchStack.envs[catchStack.cursor], 1);
1279 }
1280 PRINT_ERROR("Runtime error: %s", "Assert failed");
1281 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5296);
1282 fatal_exit(1);
1283 }
1284 var_plabelnode3 = var_nodearraylist2;
1285 /* <var_plabelnode3:nullable Object> isa nullable ALabel */
1286 cltype4 = type_nullable__nitc__ALabel.color;
1287 idtype5 = type_nullable__nitc__ALabel.id;
1288 if(var_plabelnode3 == NULL) {
1289 var3 = 1;
1290 } else {
1291 if(cltype4 >= (((long)var_plabelnode3&3)?type_info[((long)var_plabelnode3&3)]:var_plabelnode3->type)->table_size) {
1292 var3 = 0;
1293 } else {
1294 var3 = (((long)var_plabelnode3&3)?type_info[((long)var_plabelnode3&3)]:var_plabelnode3->type)->type_table[cltype4] == idtype5;
1295 }
1296 }
1297 if (unlikely(!var3)) {
1298 if(catchStack.cursor >= 0){
1299 longjmp(catchStack.envs[catchStack.cursor], 1);
1300 }
1301 PRINT_ERROR("Runtime error: %s", "Assert failed");
1302 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5298);
1303 fatal_exit(1);
1304 }
1305 var6 = NEW_nitc__AContinueExpr(&type_nitc__AContinueExpr);
1306 {
1307 nitc__parser_prod___AContinueExpr___init_acontinueexpr(var6, var_tkwcontinuenode2, var_plabelnode3); /* Direct call parser_prod$AContinueExpr$init_acontinueexpr on <var6:AContinueExpr>*/
1308 }
1309 var_pexprnode1 = var6;
1310 var_node_list = var_pexprnode1;
1311 var7 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction176> */
1312 {
1313 var8 = nitc___nitc__Parser___go_to(var_p, var7);
1314 }
1315 {
1316 nitc___nitc__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
1317 }
1318 RET_LABEL:;
1319 }
1320 /* method parser$ReduceAction184$action for (self: ReduceAction184, Parser) */
1321 void nitc__parser___nitc__parser__ReduceAction184___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
1322 val* var_p /* var p: Parser */;
1323 val* var_node_list /* var node_list: nullable Object */;
1324 val* var /* : nullable Object */;
1325 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1326 val* var1 /* : nullable Object */;
1327 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1328 val* var2 /* : nullable Object */;
1329 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1330 val* var3 /* : nullable Object */;
1331 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1332 val* var4 /* : nullable Object */;
1333 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1334 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
1335 short int var5 /* : Bool */;
1336 int cltype;
1337 int idtype;
1338 val* var_tidnode5 /* var tidnode5: nullable Object */;
1339 short int var6 /* : Bool */;
1340 int cltype7;
1341 int idtype8;
1342 val* var9 /* : AQid */;
1343 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
1344 val* var_pexprsnode6 /* var pexprsnode6: nullable Object */;
1345 short int var10 /* : Bool */;
1346 int cltype11;
1347 int idtype12;
1348 val* var13 /* : ACallExpr */;
1349 val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */;
1350 long var14 /* : Int */;
1351 long var15 /* : Int */;
1352 var_p = p0;
1353 var_node_list = ((val*)NULL);
1354 {
1355 var = nitc___nitc__Parser___pop(var_p);
1356 }
1357 var_nodearraylist5 = var;
1358 {
1359 var1 = nitc___nitc__Parser___pop(var_p);
1360 }
1361 var_nodearraylist4 = var1;
1362 {
1363 var2 = nitc___nitc__Parser___pop(var_p);
1364 }
1365 var_nodearraylist3 = var2;
1366 {
1367 var3 = nitc___nitc__Parser___pop(var_p);
1368 }
1369 var_nodearraylist2 = var3;
1370 {
1371 var4 = nitc___nitc__Parser___pop(var_p);
1372 }
1373 var_nodearraylist1 = var4;
1374 var_pexprnode2 = var_nodearraylist1;
1375 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1376 cltype = type_nullable__nitc__AExpr.color;
1377 idtype = type_nullable__nitc__AExpr.id;
1378 if(var_pexprnode2 == NULL) {
1379 var5 = 1;
1380 } else {
1381 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
1382 var5 = 0;
1383 } else {
1384 var5 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
1385 }
1386 }
1387 if (unlikely(!var5)) {
1388 if(catchStack.cursor >= 0){
1389 longjmp(catchStack.envs[catchStack.cursor], 1);
1390 }
1391 PRINT_ERROR("Runtime error: %s", "Assert failed");
1392 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5318);
1393 fatal_exit(1);
1394 }
1395 var_tidnode5 = var_nodearraylist4;
1396 /* <var_tidnode5:nullable Object> isa nullable TId */
1397 cltype7 = type_nullable__nitc__TId.color;
1398 idtype8 = type_nullable__nitc__TId.id;
1399 if(var_tidnode5 == NULL) {
1400 var6 = 1;
1401 } else {
1402 if(cltype7 >= (((long)var_tidnode5&3)?type_info[((long)var_tidnode5&3)]:var_tidnode5->type)->table_size) {
1403 var6 = 0;
1404 } else {
1405 var6 = (((long)var_tidnode5&3)?type_info[((long)var_tidnode5&3)]:var_tidnode5->type)->type_table[cltype7] == idtype8;
1406 }
1407 }
1408 if (unlikely(!var6)) {
1409 if(catchStack.cursor >= 0){
1410 longjmp(catchStack.envs[catchStack.cursor], 1);
1411 }
1412 PRINT_ERROR("Runtime error: %s", "Assert failed");
1413 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5320);
1414 fatal_exit(1);
1415 }
1416 var9 = NEW_nitc__AQid(&type_nitc__AQid);
1417 {
1418 nitc__parser_prod___AQid___init_aqid(var9, ((val*)NULL), var_tidnode5); /* Direct call parser_prod$AQid$init_aqid on <var9:AQid>*/
1419 }
1420 var_pqidnode3 = var9;
1421 var_pexprsnode6 = var_nodearraylist5;
1422 /* <var_pexprsnode6:nullable Object> isa nullable AExprs */
1423 cltype11 = type_nullable__nitc__AExprs.color;
1424 idtype12 = type_nullable__nitc__AExprs.id;
1425 if(var_pexprsnode6 == NULL) {
1426 var10 = 1;
1427 } else {
1428 if(cltype11 >= (((long)var_pexprsnode6&3)?type_info[((long)var_pexprsnode6&3)]:var_pexprsnode6->type)->table_size) {
1429 var10 = 0;
1430 } else {
1431 var10 = (((long)var_pexprsnode6&3)?type_info[((long)var_pexprsnode6&3)]:var_pexprsnode6->type)->type_table[cltype11] == idtype12;
1432 }
1433 }
1434 if (unlikely(!var10)) {
1435 if(catchStack.cursor >= 0){
1436 longjmp(catchStack.envs[catchStack.cursor], 1);
1437 }
1438 PRINT_ERROR("Runtime error: %s", "Assert failed");
1439 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5326);
1440 fatal_exit(1);
1441 }
1442 var13 = NEW_nitc__ACallExpr(&type_nitc__ACallExpr);
1443 {
1444 nitc__parser_prod___ACallExpr___init_acallexpr(var13, var_pexprnode2, var_pqidnode3, var_pexprsnode6); /* Direct call parser_prod$ACallExpr$init_acallexpr on <var13:ACallExpr>*/
1445 }
1446 var_pexprnode1 = var13;
1447 var_node_list = var_pexprnode1;
1448 var14 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction184> */
1449 {
1450 var15 = nitc___nitc__Parser___go_to(var_p, var14);
1451 }
1452 {
1453 nitc___nitc__Parser___push(var_p, var15, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
1454 }
1455 RET_LABEL:;
1456 }
1457 /* method parser$ReduceAction185$action for (self: ReduceAction185, Parser) */
1458 void nitc__parser___nitc__parser__ReduceAction185___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
1459 val* var_p /* var p: Parser */;
1460 val* var_node_list /* var node_list: nullable Object */;
1461 val* var /* : nullable Object */;
1462 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1463 val* var1 /* : nullable Object */;
1464 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1465 val* var2 /* : nullable Object */;
1466 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1467 val* var3 /* : nullable Object */;
1468 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1469 val* var4 /* : nullable Object */;
1470 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1471 val* var5 /* : nullable Object */;
1472 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1473 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
1474 short int var6 /* : Bool */;
1475 int cltype;
1476 int idtype;
1477 val* var7 /* : Array[Object] */;
1478 val* var_listnode5 /* var listnode5: Array[Object] */;
1479 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1480 short int var8 /* : Bool */;
1481 int cltype9;
1482 int idtype10;
1483 val* var11 /* : AQualified */;
1484 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
1485 val* var_tidnode7 /* var tidnode7: nullable Object */;
1486 short int var12 /* : Bool */;
1487 int cltype13;
1488 int idtype14;
1489 val* var15 /* : AQid */;
1490 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
1491 val* var_pexprsnode8 /* var pexprsnode8: nullable Object */;
1492 short int var16 /* : Bool */;
1493 int cltype17;
1494 int idtype18;
1495 val* var19 /* : ACallExpr */;
1496 val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */;
1497 long var20 /* : Int */;
1498 long var21 /* : Int */;
1499 var_p = p0;
1500 var_node_list = ((val*)NULL);
1501 {
1502 var = nitc___nitc__Parser___pop(var_p);
1503 }
1504 var_nodearraylist6 = var;
1505 {
1506 var1 = nitc___nitc__Parser___pop(var_p);
1507 }
1508 var_nodearraylist5 = var1;
1509 {
1510 var2 = nitc___nitc__Parser___pop(var_p);
1511 }
1512 var_nodearraylist4 = var2;
1513 {
1514 var3 = nitc___nitc__Parser___pop(var_p);
1515 }
1516 var_nodearraylist3 = var3;
1517 {
1518 var4 = nitc___nitc__Parser___pop(var_p);
1519 }
1520 var_nodearraylist2 = var4;
1521 {
1522 var5 = nitc___nitc__Parser___pop(var_p);
1523 }
1524 var_nodearraylist1 = var5;
1525 var_pexprnode2 = var_nodearraylist1;
1526 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1527 cltype = type_nullable__nitc__AExpr.color;
1528 idtype = type_nullable__nitc__AExpr.id;
1529 if(var_pexprnode2 == NULL) {
1530 var6 = 1;
1531 } else {
1532 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
1533 var6 = 0;
1534 } else {
1535 var6 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
1536 }
1537 }
1538 if (unlikely(!var6)) {
1539 if(catchStack.cursor >= 0){
1540 longjmp(catchStack.envs[catchStack.cursor], 1);
1541 }
1542 PRINT_ERROR("Runtime error: %s", "Assert failed");
1543 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5348);
1544 fatal_exit(1);
1545 }
1546 var7 = NEW_core__Array(&type_core__Array__core__Object);
1547 {
1548 core___core__Array___core__kernel__Object__init(var7); /* Direct call array$Array$init on <var7:Array[Object]>*/
1549 }
1550 var_listnode5 = var7;
1551 var_tclassidnode6 = var_nodearraylist4;
1552 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1553 cltype9 = type_nullable__nitc__TClassid.color;
1554 idtype10 = type_nullable__nitc__TClassid.id;
1555 if(var_tclassidnode6 == NULL) {
1556 var8 = 1;
1557 } else {
1558 if(cltype9 >= (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->table_size) {
1559 var8 = 0;
1560 } else {
1561 var8 = (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->type_table[cltype9] == idtype10;
1562 }
1563 }
1564 if (unlikely(!var8)) {
1565 if(catchStack.cursor >= 0){
1566 longjmp(catchStack.envs[catchStack.cursor], 1);
1567 }
1568 PRINT_ERROR("Runtime error: %s", "Assert failed");
1569 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5351);
1570 fatal_exit(1);
1571 }
1572 var11 = NEW_nitc__AQualified(&type_nitc__AQualified);
1573 {
1574 nitc__parser_prod___AQualified___init_aqualified(var11, var_listnode5, var_tclassidnode6); /* Direct call parser_prod$AQualified$init_aqualified on <var11:AQualified>*/
1575 }
1576 var_pqualifiednode4 = var11;
1577 var_tidnode7 = var_nodearraylist5;
1578 /* <var_tidnode7:nullable Object> isa nullable TId */
1579 cltype13 = type_nullable__nitc__TId.color;
1580 idtype14 = type_nullable__nitc__TId.id;
1581 if(var_tidnode7 == NULL) {
1582 var12 = 1;
1583 } else {
1584 if(cltype13 >= (((long)var_tidnode7&3)?type_info[((long)var_tidnode7&3)]:var_tidnode7->type)->table_size) {
1585 var12 = 0;
1586 } else {
1587 var12 = (((long)var_tidnode7&3)?type_info[((long)var_tidnode7&3)]:var_tidnode7->type)->type_table[cltype13] == idtype14;
1588 }
1589 }
1590 if (unlikely(!var12)) {
1591 if(catchStack.cursor >= 0){
1592 longjmp(catchStack.envs[catchStack.cursor], 1);
1593 }
1594 PRINT_ERROR("Runtime error: %s", "Assert failed");
1595 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5357);
1596 fatal_exit(1);
1597 }
1598 var15 = NEW_nitc__AQid(&type_nitc__AQid);
1599 {
1600 nitc__parser_prod___AQid___init_aqid(var15, var_pqualifiednode4, var_tidnode7); /* Direct call parser_prod$AQid$init_aqid on <var15:AQid>*/
1601 }
1602 var_pqidnode3 = var15;
1603 var_pexprsnode8 = var_nodearraylist6;
1604 /* <var_pexprsnode8:nullable Object> isa nullable AExprs */
1605 cltype17 = type_nullable__nitc__AExprs.color;
1606 idtype18 = type_nullable__nitc__AExprs.id;
1607 if(var_pexprsnode8 == NULL) {
1608 var16 = 1;
1609 } else {
1610 if(cltype17 >= (((long)var_pexprsnode8&3)?type_info[((long)var_pexprsnode8&3)]:var_pexprsnode8->type)->table_size) {
1611 var16 = 0;
1612 } else {
1613 var16 = (((long)var_pexprsnode8&3)?type_info[((long)var_pexprsnode8&3)]:var_pexprsnode8->type)->type_table[cltype17] == idtype18;
1614 }
1615 }
1616 if (unlikely(!var16)) {
1617 if(catchStack.cursor >= 0){
1618 longjmp(catchStack.envs[catchStack.cursor], 1);
1619 }
1620 PRINT_ERROR("Runtime error: %s", "Assert failed");
1621 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5363);
1622 fatal_exit(1);
1623 }
1624 var19 = NEW_nitc__ACallExpr(&type_nitc__ACallExpr);
1625 {
1626 nitc__parser_prod___ACallExpr___init_acallexpr(var19, var_pexprnode2, var_pqidnode3, var_pexprsnode8); /* Direct call parser_prod$ACallExpr$init_acallexpr on <var19:ACallExpr>*/
1627 }
1628 var_pexprnode1 = var19;
1629 var_node_list = var_pexprnode1;
1630 var20 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction185> */
1631 {
1632 var21 = nitc___nitc__Parser___go_to(var_p, var20);
1633 }
1634 {
1635 nitc___nitc__Parser___push(var_p, var21, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
1636 }
1637 RET_LABEL:;
1638 }
1639 /* method parser$ReduceAction186$action for (self: ReduceAction186, Parser) */
1640 void nitc__parser___nitc__parser__ReduceAction186___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
1641 val* var_p /* var p: Parser */;
1642 val* var_node_list /* var node_list: nullable Object */;
1643 val* var /* : nullable Object */;
1644 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1645 val* var1 /* : nullable Object */;
1646 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1647 val* var2 /* : nullable Object */;
1648 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1649 val* var3 /* : nullable Object */;
1650 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1651 val* var4 /* : nullable Object */;
1652 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1653 val* var5 /* : nullable Object */;
1654 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1655 val* var6 /* : nullable Object */;
1656 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1657 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
1658 short int var7 /* : Bool */;
1659 int cltype;
1660 int idtype;
1661 val* var8 /* : Array[Object] */;
1662 val* var_listnode6 /* var listnode6: Array[Object] */;
1663 val* var_listnode5 /* var listnode5: nullable Object */;
1664 short int var9 /* : Bool */;
1665 int cltype10;
1666 int idtype11;
1667 val* var12 /* : Array[Object] */;
1668 val* var_tclassidnode7 /* var tclassidnode7: nullable Object */;
1669 short int var13 /* : Bool */;
1670 int cltype14;
1671 int idtype15;
1672 val* var16 /* : AQualified */;
1673 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
1674 val* var_tidnode8 /* var tidnode8: nullable Object */;
1675 short int var17 /* : Bool */;
1676 int cltype18;
1677 int idtype19;
1678 val* var20 /* : AQid */;
1679 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
1680 val* var_pexprsnode9 /* var pexprsnode9: nullable Object */;
1681 short int var21 /* : Bool */;
1682 int cltype22;
1683 int idtype23;
1684 val* var24 /* : ACallExpr */;
1685 val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */;
1686 long var25 /* : Int */;
1687 long var26 /* : Int */;
1688 var_p = p0;
1689 var_node_list = ((val*)NULL);
1690 {
1691 var = nitc___nitc__Parser___pop(var_p);
1692 }
1693 var_nodearraylist7 = var;
1694 {
1695 var1 = nitc___nitc__Parser___pop(var_p);
1696 }
1697 var_nodearraylist6 = var1;
1698 {
1699 var2 = nitc___nitc__Parser___pop(var_p);
1700 }
1701 var_nodearraylist5 = var2;
1702 {
1703 var3 = nitc___nitc__Parser___pop(var_p);
1704 }
1705 var_nodearraylist4 = var3;
1706 {
1707 var4 = nitc___nitc__Parser___pop(var_p);
1708 }
1709 var_nodearraylist3 = var4;
1710 {
1711 var5 = nitc___nitc__Parser___pop(var_p);
1712 }
1713 var_nodearraylist2 = var5;
1714 {
1715 var6 = nitc___nitc__Parser___pop(var_p);
1716 }
1717 var_nodearraylist1 = var6;
1718 var_pexprnode2 = var_nodearraylist1;
1719 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1720 cltype = type_nullable__nitc__AExpr.color;
1721 idtype = type_nullable__nitc__AExpr.id;
1722 if(var_pexprnode2 == NULL) {
1723 var7 = 1;
1724 } else {
1725 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
1726 var7 = 0;
1727 } else {
1728 var7 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
1729 }
1730 }
1731 if (unlikely(!var7)) {
1732 if(catchStack.cursor >= 0){
1733 longjmp(catchStack.envs[catchStack.cursor], 1);
1734 }
1735 PRINT_ERROR("Runtime error: %s", "Assert failed");
1736 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5386);
1737 fatal_exit(1);
1738 }
1739 var8 = NEW_core__Array(&type_core__Array__core__Object);
1740 {
1741 core___core__Array___core__kernel__Object__init(var8); /* Direct call array$Array$init on <var8:Array[Object]>*/
1742 }
1743 var_listnode6 = var8;
1744 var_listnode5 = var_nodearraylist4;
1745 /* <var_listnode5:nullable Object> isa Array[Object] */
1746 cltype10 = type_core__Array__core__Object.color;
1747 idtype11 = type_core__Array__core__Object.id;
1748 if(var_listnode5 == NULL) {
1749 var9 = 0;
1750 } else {
1751 if(cltype10 >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) {
1752 var9 = 0;
1753 } else {
1754 var9 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype10] == idtype11;
1755 }
1756 }
1757 if (unlikely(!var9)) {
1758 if(catchStack.cursor >= 0){
1759 longjmp(catchStack.envs[catchStack.cursor], 1);
1760 }
1761 PRINT_ERROR("Runtime error: %s", "Assert failed");
1762 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5389);
1763 fatal_exit(1);
1764 }
1765 {
1766 var12 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5);
1767 }
1768 var_listnode6 = var12;
1769 var_tclassidnode7 = var_nodearraylist5;
1770 /* <var_tclassidnode7:nullable Object> isa nullable TClassid */
1771 cltype14 = type_nullable__nitc__TClassid.color;
1772 idtype15 = type_nullable__nitc__TClassid.id;
1773 if(var_tclassidnode7 == NULL) {
1774 var13 = 1;
1775 } else {
1776 if(cltype14 >= (((long)var_tclassidnode7&3)?type_info[((long)var_tclassidnode7&3)]:var_tclassidnode7->type)->table_size) {
1777 var13 = 0;
1778 } else {
1779 var13 = (((long)var_tclassidnode7&3)?type_info[((long)var_tclassidnode7&3)]:var_tclassidnode7->type)->type_table[cltype14] == idtype15;
1780 }
1781 }
1782 if (unlikely(!var13)) {
1783 if(catchStack.cursor >= 0){
1784 longjmp(catchStack.envs[catchStack.cursor], 1);
1785 }
1786 PRINT_ERROR("Runtime error: %s", "Assert failed");
1787 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5392);
1788 fatal_exit(1);
1789 }
1790 var16 = NEW_nitc__AQualified(&type_nitc__AQualified);
1791 {
1792 nitc__parser_prod___AQualified___init_aqualified(var16, var_listnode6, var_tclassidnode7); /* Direct call parser_prod$AQualified$init_aqualified on <var16:AQualified>*/
1793 }
1794 var_pqualifiednode4 = var16;
1795 var_tidnode8 = var_nodearraylist6;
1796 /* <var_tidnode8:nullable Object> isa nullable TId */
1797 cltype18 = type_nullable__nitc__TId.color;
1798 idtype19 = type_nullable__nitc__TId.id;
1799 if(var_tidnode8 == NULL) {
1800 var17 = 1;
1801 } else {
1802 if(cltype18 >= (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->table_size) {
1803 var17 = 0;
1804 } else {
1805 var17 = (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->type_table[cltype18] == idtype19;
1806 }
1807 }
1808 if (unlikely(!var17)) {
1809 if(catchStack.cursor >= 0){
1810 longjmp(catchStack.envs[catchStack.cursor], 1);
1811 }
1812 PRINT_ERROR("Runtime error: %s", "Assert failed");
1813 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5398);
1814 fatal_exit(1);
1815 }
1816 var20 = NEW_nitc__AQid(&type_nitc__AQid);
1817 {
1818 nitc__parser_prod___AQid___init_aqid(var20, var_pqualifiednode4, var_tidnode8); /* Direct call parser_prod$AQid$init_aqid on <var20:AQid>*/
1819 }
1820 var_pqidnode3 = var20;
1821 var_pexprsnode9 = var_nodearraylist7;
1822 /* <var_pexprsnode9:nullable Object> isa nullable AExprs */
1823 cltype22 = type_nullable__nitc__AExprs.color;
1824 idtype23 = type_nullable__nitc__AExprs.id;
1825 if(var_pexprsnode9 == NULL) {
1826 var21 = 1;
1827 } else {
1828 if(cltype22 >= (((long)var_pexprsnode9&3)?type_info[((long)var_pexprsnode9&3)]:var_pexprsnode9->type)->table_size) {
1829 var21 = 0;
1830 } else {
1831 var21 = (((long)var_pexprsnode9&3)?type_info[((long)var_pexprsnode9&3)]:var_pexprsnode9->type)->type_table[cltype22] == idtype23;
1832 }
1833 }
1834 if (unlikely(!var21)) {
1835 if(catchStack.cursor >= 0){
1836 longjmp(catchStack.envs[catchStack.cursor], 1);
1837 }
1838 PRINT_ERROR("Runtime error: %s", "Assert failed");
1839 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5404);
1840 fatal_exit(1);
1841 }
1842 var24 = NEW_nitc__ACallExpr(&type_nitc__ACallExpr);
1843 {
1844 nitc__parser_prod___ACallExpr___init_acallexpr(var24, var_pexprnode2, var_pqidnode3, var_pexprsnode9); /* Direct call parser_prod$ACallExpr$init_acallexpr on <var24:ACallExpr>*/
1845 }
1846 var_pexprnode1 = var24;
1847 var_node_list = var_pexprnode1;
1848 var25 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction186> */
1849 {
1850 var26 = nitc___nitc__Parser___go_to(var_p, var25);
1851 }
1852 {
1853 nitc___nitc__Parser___push(var_p, var26, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
1854 }
1855 RET_LABEL:;
1856 }
1857 /* method parser$ReduceAction187$action for (self: ReduceAction187, Parser) */
1858 void nitc__parser___nitc__parser__ReduceAction187___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
1859 val* var_p /* var p: Parser */;
1860 val* var_node_list /* var node_list: nullable Object */;
1861 val* var /* : nullable Object */;
1862 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1863 val* var1 /* : nullable Object */;
1864 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1865 val* var2 /* : nullable Object */;
1866 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1867 val* var3 /* : nullable Object */;
1868 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1869 val* var4 /* : nullable Object */;
1870 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1871 val* var5 /* : nullable Object */;
1872 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1873 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
1874 short int var6 /* : Bool */;
1875 int cltype;
1876 int idtype;
1877 val* var7 /* : Array[Object] */;
1878 val* var_listnode6 /* var listnode6: Array[Object] */;
1879 val* var_listnode5 /* var listnode5: nullable Object */;
1880 short int var8 /* : Bool */;
1881 int cltype9;
1882 int idtype10;
1883 val* var11 /* : Array[Object] */;
1884 val* var12 /* : AQualified */;
1885 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
1886 val* var_tidnode8 /* var tidnode8: nullable Object */;
1887 short int var13 /* : Bool */;
1888 int cltype14;
1889 int idtype15;
1890 val* var16 /* : AQid */;
1891 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
1892 val* var_pexprsnode9 /* var pexprsnode9: nullable Object */;
1893 short int var17 /* : Bool */;
1894 int cltype18;
1895 int idtype19;
1896 val* var20 /* : ACallExpr */;
1897 val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */;
1898 long var21 /* : Int */;
1899 long var22 /* : Int */;
1900 var_p = p0;
1901 var_node_list = ((val*)NULL);
1902 {
1903 var = nitc___nitc__Parser___pop(var_p);
1904 }
1905 var_nodearraylist6 = var;
1906 {
1907 var1 = nitc___nitc__Parser___pop(var_p);
1908 }
1909 var_nodearraylist5 = var1;
1910 {
1911 var2 = nitc___nitc__Parser___pop(var_p);
1912 }
1913 var_nodearraylist4 = var2;
1914 {
1915 var3 = nitc___nitc__Parser___pop(var_p);
1916 }
1917 var_nodearraylist3 = var3;
1918 {
1919 var4 = nitc___nitc__Parser___pop(var_p);
1920 }
1921 var_nodearraylist2 = var4;
1922 {
1923 var5 = nitc___nitc__Parser___pop(var_p);
1924 }
1925 var_nodearraylist1 = var5;
1926 var_pexprnode2 = var_nodearraylist1;
1927 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1928 cltype = type_nullable__nitc__AExpr.color;
1929 idtype = type_nullable__nitc__AExpr.id;
1930 if(var_pexprnode2 == NULL) {
1931 var6 = 1;
1932 } else {
1933 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
1934 var6 = 0;
1935 } else {
1936 var6 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
1937 }
1938 }
1939 if (unlikely(!var6)) {
1940 if(catchStack.cursor >= 0){
1941 longjmp(catchStack.envs[catchStack.cursor], 1);
1942 }
1943 PRINT_ERROR("Runtime error: %s", "Assert failed");
1944 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5426);
1945 fatal_exit(1);
1946 }
1947 var7 = NEW_core__Array(&type_core__Array__core__Object);
1948 {
1949 core___core__Array___core__kernel__Object__init(var7); /* Direct call array$Array$init on <var7:Array[Object]>*/
1950 }
1951 var_listnode6 = var7;
1952 var_listnode5 = var_nodearraylist4;
1953 /* <var_listnode5:nullable Object> isa Array[Object] */
1954 cltype9 = type_core__Array__core__Object.color;
1955 idtype10 = type_core__Array__core__Object.id;
1956 if(var_listnode5 == NULL) {
1957 var8 = 0;
1958 } else {
1959 if(cltype9 >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) {
1960 var8 = 0;
1961 } else {
1962 var8 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype9] == idtype10;
1963 }
1964 }
1965 if (unlikely(!var8)) {
1966 if(catchStack.cursor >= 0){
1967 longjmp(catchStack.envs[catchStack.cursor], 1);
1968 }
1969 PRINT_ERROR("Runtime error: %s", "Assert failed");
1970 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5429);
1971 fatal_exit(1);
1972 }
1973 {
1974 var11 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5);
1975 }
1976 var_listnode6 = var11;
1977 var12 = NEW_nitc__AQualified(&type_nitc__AQualified);
1978 {
1979 nitc__parser_prod___AQualified___init_aqualified(var12, var_listnode6, ((val*)NULL)); /* Direct call parser_prod$AQualified$init_aqualified on <var12:AQualified>*/
1980 }
1981 var_pqualifiednode4 = var12;
1982 var_tidnode8 = var_nodearraylist5;
1983 /* <var_tidnode8:nullable Object> isa nullable TId */
1984 cltype14 = type_nullable__nitc__TId.color;
1985 idtype15 = type_nullable__nitc__TId.id;
1986 if(var_tidnode8 == NULL) {
1987 var13 = 1;
1988 } else {
1989 if(cltype14 >= (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->table_size) {
1990 var13 = 0;
1991 } else {
1992 var13 = (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->type_table[cltype14] == idtype15;
1993 }
1994 }
1995 if (unlikely(!var13)) {
1996 if(catchStack.cursor >= 0){
1997 longjmp(catchStack.envs[catchStack.cursor], 1);
1998 }
1999 PRINT_ERROR("Runtime error: %s", "Assert failed");
2000 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5436);
2001 fatal_exit(1);
2002 }
2003 var16 = NEW_nitc__AQid(&type_nitc__AQid);
2004 {
2005 nitc__parser_prod___AQid___init_aqid(var16, var_pqualifiednode4, var_tidnode8); /* Direct call parser_prod$AQid$init_aqid on <var16:AQid>*/
2006 }
2007 var_pqidnode3 = var16;
2008 var_pexprsnode9 = var_nodearraylist6;
2009 /* <var_pexprsnode9:nullable Object> isa nullable AExprs */
2010 cltype18 = type_nullable__nitc__AExprs.color;
2011 idtype19 = type_nullable__nitc__AExprs.id;
2012 if(var_pexprsnode9 == NULL) {
2013 var17 = 1;
2014 } else {
2015 if(cltype18 >= (((long)var_pexprsnode9&3)?type_info[((long)var_pexprsnode9&3)]:var_pexprsnode9->type)->table_size) {
2016 var17 = 0;
2017 } else {
2018 var17 = (((long)var_pexprsnode9&3)?type_info[((long)var_pexprsnode9&3)]:var_pexprsnode9->type)->type_table[cltype18] == idtype19;
2019 }
2020 }
2021 if (unlikely(!var17)) {
2022 if(catchStack.cursor >= 0){
2023 longjmp(catchStack.envs[catchStack.cursor], 1);
2024 }
2025 PRINT_ERROR("Runtime error: %s", "Assert failed");
2026 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5442);
2027 fatal_exit(1);
2028 }
2029 var20 = NEW_nitc__ACallExpr(&type_nitc__ACallExpr);
2030 {
2031 nitc__parser_prod___ACallExpr___init_acallexpr(var20, var_pexprnode2, var_pqidnode3, var_pexprsnode9); /* Direct call parser_prod$ACallExpr$init_acallexpr on <var20:ACallExpr>*/
2032 }
2033 var_pexprnode1 = var20;
2034 var_node_list = var_pexprnode1;
2035 var21 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction187> */
2036 {
2037 var22 = nitc___nitc__Parser___go_to(var_p, var21);
2038 }
2039 {
2040 nitc___nitc__Parser___push(var_p, var22, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
2041 }
2042 RET_LABEL:;
2043 }
2044 /* method parser$ReduceAction188$action for (self: ReduceAction188, Parser) */
2045 void nitc__parser___nitc__parser__ReduceAction188___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
2046 val* var_p /* var p: Parser */;
2047 val* var_node_list /* var node_list: nullable Object */;
2048 val* var /* : nullable Object */;
2049 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2050 val* var1 /* : nullable Object */;
2051 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2052 val* var2 /* : AImplicitSelfExpr */;
2053 val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */;
2054 val* var_tidnode5 /* var tidnode5: nullable Object */;
2055 short int var3 /* : Bool */;
2056 int cltype;
2057 int idtype;
2058 val* var4 /* : AQid */;
2059 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
2060 val* var_pexprsnode6 /* var pexprsnode6: nullable Object */;
2061 short int var5 /* : Bool */;
2062 int cltype6;
2063 int idtype7;
2064 val* var8 /* : ACallExpr */;
2065 val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */;
2066 long var9 /* : Int */;
2067 long var10 /* : Int */;
2068 var_p = p0;
2069 var_node_list = ((val*)NULL);
2070 {
2071 var = nitc___nitc__Parser___pop(var_p);
2072 }
2073 var_nodearraylist2 = var;
2074 {
2075 var1 = nitc___nitc__Parser___pop(var_p);
2076 }
2077 var_nodearraylist1 = var1;
2078 var2 = NEW_nitc__AImplicitSelfExpr(&type_nitc__AImplicitSelfExpr);
2079 {
2080 nitc__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var2); /* Direct call parser_prod$AImplicitSelfExpr$init_aimplicitselfexpr on <var2:AImplicitSelfExpr>*/
2081 }
2082 var_pexprnode2 = var2;
2083 var_tidnode5 = var_nodearraylist1;
2084 /* <var_tidnode5:nullable Object> isa nullable TId */
2085 cltype = type_nullable__nitc__TId.color;
2086 idtype = type_nullable__nitc__TId.id;
2087 if(var_tidnode5 == NULL) {
2088 var3 = 1;
2089 } else {
2090 if(cltype >= (((long)var_tidnode5&3)?type_info[((long)var_tidnode5&3)]:var_tidnode5->type)->table_size) {
2091 var3 = 0;
2092 } else {
2093 var3 = (((long)var_tidnode5&3)?type_info[((long)var_tidnode5&3)]:var_tidnode5->type)->type_table[cltype] == idtype;
2094 }
2095 }
2096 if (unlikely(!var3)) {
2097 if(catchStack.cursor >= 0){
2098 longjmp(catchStack.envs[catchStack.cursor], 1);
2099 }
2100 PRINT_ERROR("Runtime error: %s", "Assert failed");
2101 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5461);
2102 fatal_exit(1);
2103 }
2104 var4 = NEW_nitc__AQid(&type_nitc__AQid);
2105 {
2106 nitc__parser_prod___AQid___init_aqid(var4, ((val*)NULL), var_tidnode5); /* Direct call parser_prod$AQid$init_aqid on <var4:AQid>*/
2107 }
2108 var_pqidnode3 = var4;
2109 var_pexprsnode6 = var_nodearraylist2;
2110 /* <var_pexprsnode6:nullable Object> isa nullable AExprs */
2111 cltype6 = type_nullable__nitc__AExprs.color;
2112 idtype7 = type_nullable__nitc__AExprs.id;
2113 if(var_pexprsnode6 == NULL) {
2114 var5 = 1;
2115 } else {
2116 if(cltype6 >= (((long)var_pexprsnode6&3)?type_info[((long)var_pexprsnode6&3)]:var_pexprsnode6->type)->table_size) {
2117 var5 = 0;
2118 } else {
2119 var5 = (((long)var_pexprsnode6&3)?type_info[((long)var_pexprsnode6&3)]:var_pexprsnode6->type)->type_table[cltype6] == idtype7;
2120 }
2121 }
2122 if (unlikely(!var5)) {
2123 if(catchStack.cursor >= 0){
2124 longjmp(catchStack.envs[catchStack.cursor], 1);
2125 }
2126 PRINT_ERROR("Runtime error: %s", "Assert failed");
2127 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5467);
2128 fatal_exit(1);
2129 }
2130 var8 = NEW_nitc__ACallExpr(&type_nitc__ACallExpr);
2131 {
2132 nitc__parser_prod___ACallExpr___init_acallexpr(var8, var_pexprnode2, var_pqidnode3, var_pexprsnode6); /* Direct call parser_prod$ACallExpr$init_acallexpr on <var8:ACallExpr>*/
2133 }
2134 var_pexprnode1 = var8;
2135 var_node_list = var_pexprnode1;
2136 var9 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction188> */
2137 {
2138 var10 = nitc___nitc__Parser___go_to(var_p, var9);
2139 }
2140 {
2141 nitc___nitc__Parser___push(var_p, var10, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
2142 }
2143 RET_LABEL:;
2144 }
2145 /* method parser$ReduceAction189$action for (self: ReduceAction189, Parser) */
2146 void nitc__parser___nitc__parser__ReduceAction189___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
2147 val* var_p /* var p: Parser */;
2148 val* var_node_list /* var node_list: nullable Object */;
2149 val* var /* : nullable Object */;
2150 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2151 val* var1 /* : nullable Object */;
2152 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2153 val* var2 /* : nullable Object */;
2154 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2155 val* var3 /* : AImplicitSelfExpr */;
2156 val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */;
2157 val* var4 /* : Array[Object] */;
2158 val* var_listnode5 /* var listnode5: Array[Object] */;
2159 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2160 short int var5 /* : Bool */;
2161 int cltype;
2162 int idtype;
2163 val* var6 /* : AQualified */;
2164 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
2165 val* var_tidnode7 /* var tidnode7: nullable Object */;
2166 short int var7 /* : Bool */;
2167 int cltype8;
2168 int idtype9;
2169 val* var10 /* : AQid */;
2170 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
2171 val* var_pexprsnode8 /* var pexprsnode8: nullable Object */;
2172 short int var11 /* : Bool */;
2173 int cltype12;
2174 int idtype13;
2175 val* var14 /* : ACallExpr */;
2176 val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */;
2177 long var15 /* : Int */;
2178 long var16 /* : Int */;
2179 var_p = p0;
2180 var_node_list = ((val*)NULL);
2181 {
2182 var = nitc___nitc__Parser___pop(var_p);
2183 }
2184 var_nodearraylist3 = var;
2185 {
2186 var1 = nitc___nitc__Parser___pop(var_p);
2187 }
2188 var_nodearraylist2 = var1;
2189 {
2190 var2 = nitc___nitc__Parser___pop(var_p);
2191 }
2192 var_nodearraylist1 = var2;
2193 var3 = NEW_nitc__AImplicitSelfExpr(&type_nitc__AImplicitSelfExpr);
2194 {
2195 nitc__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var3); /* Direct call parser_prod$AImplicitSelfExpr$init_aimplicitselfexpr on <var3:AImplicitSelfExpr>*/
2196 }
2197 var_pexprnode2 = var3;
2198 var4 = NEW_core__Array(&type_core__Array__core__Object);
2199 {
2200 core___core__Array___core__kernel__Object__init(var4); /* Direct call array$Array$init on <var4:Array[Object]>*/
2201 }
2202 var_listnode5 = var4;
2203 var_tclassidnode6 = var_nodearraylist1;
2204 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2205 cltype = type_nullable__nitc__TClassid.color;
2206 idtype = type_nullable__nitc__TClassid.id;
2207 if(var_tclassidnode6 == NULL) {
2208 var5 = 1;
2209 } else {
2210 if(cltype >= (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->table_size) {
2211 var5 = 0;
2212 } else {
2213 var5 = (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->type_table[cltype] == idtype;
2214 }
2215 }
2216 if (unlikely(!var5)) {
2217 if(catchStack.cursor >= 0){
2218 longjmp(catchStack.envs[catchStack.cursor], 1);
2219 }
2220 PRINT_ERROR("Runtime error: %s", "Assert failed");
2221 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5488);
2222 fatal_exit(1);
2223 }
2224 var6 = NEW_nitc__AQualified(&type_nitc__AQualified);
2225 {
2226 nitc__parser_prod___AQualified___init_aqualified(var6, var_listnode5, var_tclassidnode6); /* Direct call parser_prod$AQualified$init_aqualified on <var6:AQualified>*/
2227 }
2228 var_pqualifiednode4 = var6;
2229 var_tidnode7 = var_nodearraylist2;
2230 /* <var_tidnode7:nullable Object> isa nullable TId */
2231 cltype8 = type_nullable__nitc__TId.color;
2232 idtype9 = type_nullable__nitc__TId.id;
2233 if(var_tidnode7 == NULL) {
2234 var7 = 1;
2235 } else {
2236 if(cltype8 >= (((long)var_tidnode7&3)?type_info[((long)var_tidnode7&3)]:var_tidnode7->type)->table_size) {
2237 var7 = 0;
2238 } else {
2239 var7 = (((long)var_tidnode7&3)?type_info[((long)var_tidnode7&3)]:var_tidnode7->type)->type_table[cltype8] == idtype9;
2240 }
2241 }
2242 if (unlikely(!var7)) {
2243 if(catchStack.cursor >= 0){
2244 longjmp(catchStack.envs[catchStack.cursor], 1);
2245 }
2246 PRINT_ERROR("Runtime error: %s", "Assert failed");
2247 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5494);
2248 fatal_exit(1);
2249 }
2250 var10 = NEW_nitc__AQid(&type_nitc__AQid);
2251 {
2252 nitc__parser_prod___AQid___init_aqid(var10, var_pqualifiednode4, var_tidnode7); /* Direct call parser_prod$AQid$init_aqid on <var10:AQid>*/
2253 }
2254 var_pqidnode3 = var10;
2255 var_pexprsnode8 = var_nodearraylist3;
2256 /* <var_pexprsnode8:nullable Object> isa nullable AExprs */
2257 cltype12 = type_nullable__nitc__AExprs.color;
2258 idtype13 = type_nullable__nitc__AExprs.id;
2259 if(var_pexprsnode8 == NULL) {
2260 var11 = 1;
2261 } else {
2262 if(cltype12 >= (((long)var_pexprsnode8&3)?type_info[((long)var_pexprsnode8&3)]:var_pexprsnode8->type)->table_size) {
2263 var11 = 0;
2264 } else {
2265 var11 = (((long)var_pexprsnode8&3)?type_info[((long)var_pexprsnode8&3)]:var_pexprsnode8->type)->type_table[cltype12] == idtype13;
2266 }
2267 }
2268 if (unlikely(!var11)) {
2269 if(catchStack.cursor >= 0){
2270 longjmp(catchStack.envs[catchStack.cursor], 1);
2271 }
2272 PRINT_ERROR("Runtime error: %s", "Assert failed");
2273 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5500);
2274 fatal_exit(1);
2275 }
2276 var14 = NEW_nitc__ACallExpr(&type_nitc__ACallExpr);
2277 {
2278 nitc__parser_prod___ACallExpr___init_acallexpr(var14, var_pexprnode2, var_pqidnode3, var_pexprsnode8); /* Direct call parser_prod$ACallExpr$init_acallexpr on <var14:ACallExpr>*/
2279 }
2280 var_pexprnode1 = var14;
2281 var_node_list = var_pexprnode1;
2282 var15 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction189> */
2283 {
2284 var16 = nitc___nitc__Parser___go_to(var_p, var15);
2285 }
2286 {
2287 nitc___nitc__Parser___push(var_p, var16, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
2288 }
2289 RET_LABEL:;
2290 }
2291 /* method parser$ReduceAction190$action for (self: ReduceAction190, Parser) */
2292 void nitc__parser___nitc__parser__ReduceAction190___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
2293 val* var_p /* var p: Parser */;
2294 val* var_node_list /* var node_list: nullable Object */;
2295 val* var /* : nullable Object */;
2296 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2297 val* var1 /* : nullable Object */;
2298 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2299 val* var2 /* : nullable Object */;
2300 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2301 val* var3 /* : nullable Object */;
2302 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2303 val* var4 /* : AImplicitSelfExpr */;
2304 val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */;
2305 val* var5 /* : Array[Object] */;
2306 val* var_listnode6 /* var listnode6: Array[Object] */;
2307 val* var_listnode5 /* var listnode5: nullable Object */;
2308 short int var6 /* : Bool */;
2309 int cltype;
2310 int idtype;
2311 val* var7 /* : Array[Object] */;
2312 val* var_tclassidnode7 /* var tclassidnode7: nullable Object */;
2313 short int var8 /* : Bool */;
2314 int cltype9;
2315 int idtype10;
2316 val* var11 /* : AQualified */;
2317 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
2318 val* var_tidnode8 /* var tidnode8: nullable Object */;
2319 short int var12 /* : Bool */;
2320 int cltype13;
2321 int idtype14;
2322 val* var15 /* : AQid */;
2323 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
2324 val* var_pexprsnode9 /* var pexprsnode9: nullable Object */;
2325 short int var16 /* : Bool */;
2326 int cltype17;
2327 int idtype18;
2328 val* var19 /* : ACallExpr */;
2329 val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */;
2330 long var20 /* : Int */;
2331 long var21 /* : Int */;
2332 var_p = p0;
2333 var_node_list = ((val*)NULL);
2334 {
2335 var = nitc___nitc__Parser___pop(var_p);
2336 }
2337 var_nodearraylist4 = var;
2338 {
2339 var1 = nitc___nitc__Parser___pop(var_p);
2340 }
2341 var_nodearraylist3 = var1;
2342 {
2343 var2 = nitc___nitc__Parser___pop(var_p);
2344 }
2345 var_nodearraylist2 = var2;
2346 {
2347 var3 = nitc___nitc__Parser___pop(var_p);
2348 }
2349 var_nodearraylist1 = var3;
2350 var4 = NEW_nitc__AImplicitSelfExpr(&type_nitc__AImplicitSelfExpr);
2351 {
2352 nitc__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var4); /* Direct call parser_prod$AImplicitSelfExpr$init_aimplicitselfexpr on <var4:AImplicitSelfExpr>*/
2353 }
2354 var_pexprnode2 = var4;
2355 var5 = NEW_core__Array(&type_core__Array__core__Object);
2356 {
2357 core___core__Array___core__kernel__Object__init(var5); /* Direct call array$Array$init on <var5:Array[Object]>*/
2358 }
2359 var_listnode6 = var5;
2360 var_listnode5 = var_nodearraylist1;
2361 /* <var_listnode5:nullable Object> isa Array[Object] */
2362 cltype = type_core__Array__core__Object.color;
2363 idtype = type_core__Array__core__Object.id;
2364 if(var_listnode5 == NULL) {
2365 var6 = 0;
2366 } else {
2367 if(cltype >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) {
2368 var6 = 0;
2369 } else {
2370 var6 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype] == idtype;
2371 }
2372 }
2373 if (unlikely(!var6)) {
2374 if(catchStack.cursor >= 0){
2375 longjmp(catchStack.envs[catchStack.cursor], 1);
2376 }
2377 PRINT_ERROR("Runtime error: %s", "Assert failed");
2378 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5522);
2379 fatal_exit(1);
2380 }
2381 {
2382 var7 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5);
2383 }
2384 var_listnode6 = var7;
2385 var_tclassidnode7 = var_nodearraylist2;
2386 /* <var_tclassidnode7:nullable Object> isa nullable TClassid */
2387 cltype9 = type_nullable__nitc__TClassid.color;
2388 idtype10 = type_nullable__nitc__TClassid.id;
2389 if(var_tclassidnode7 == NULL) {
2390 var8 = 1;
2391 } else {
2392 if(cltype9 >= (((long)var_tclassidnode7&3)?type_info[((long)var_tclassidnode7&3)]:var_tclassidnode7->type)->table_size) {
2393 var8 = 0;
2394 } else {
2395 var8 = (((long)var_tclassidnode7&3)?type_info[((long)var_tclassidnode7&3)]:var_tclassidnode7->type)->type_table[cltype9] == idtype10;
2396 }
2397 }
2398 if (unlikely(!var8)) {
2399 if(catchStack.cursor >= 0){
2400 longjmp(catchStack.envs[catchStack.cursor], 1);
2401 }
2402 PRINT_ERROR("Runtime error: %s", "Assert failed");
2403 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5525);
2404 fatal_exit(1);
2405 }
2406 var11 = NEW_nitc__AQualified(&type_nitc__AQualified);
2407 {
2408 nitc__parser_prod___AQualified___init_aqualified(var11, var_listnode6, var_tclassidnode7); /* Direct call parser_prod$AQualified$init_aqualified on <var11:AQualified>*/
2409 }
2410 var_pqualifiednode4 = var11;
2411 var_tidnode8 = var_nodearraylist3;
2412 /* <var_tidnode8:nullable Object> isa nullable TId */
2413 cltype13 = type_nullable__nitc__TId.color;
2414 idtype14 = type_nullable__nitc__TId.id;
2415 if(var_tidnode8 == NULL) {
2416 var12 = 1;
2417 } else {
2418 if(cltype13 >= (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->table_size) {
2419 var12 = 0;
2420 } else {
2421 var12 = (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->type_table[cltype13] == idtype14;
2422 }
2423 }
2424 if (unlikely(!var12)) {
2425 if(catchStack.cursor >= 0){
2426 longjmp(catchStack.envs[catchStack.cursor], 1);
2427 }
2428 PRINT_ERROR("Runtime error: %s", "Assert failed");
2429 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5531);
2430 fatal_exit(1);
2431 }
2432 var15 = NEW_nitc__AQid(&type_nitc__AQid);
2433 {
2434 nitc__parser_prod___AQid___init_aqid(var15, var_pqualifiednode4, var_tidnode8); /* Direct call parser_prod$AQid$init_aqid on <var15:AQid>*/
2435 }
2436 var_pqidnode3 = var15;
2437 var_pexprsnode9 = var_nodearraylist4;
2438 /* <var_pexprsnode9:nullable Object> isa nullable AExprs */
2439 cltype17 = type_nullable__nitc__AExprs.color;
2440 idtype18 = type_nullable__nitc__AExprs.id;
2441 if(var_pexprsnode9 == NULL) {
2442 var16 = 1;
2443 } else {
2444 if(cltype17 >= (((long)var_pexprsnode9&3)?type_info[((long)var_pexprsnode9&3)]:var_pexprsnode9->type)->table_size) {
2445 var16 = 0;
2446 } else {
2447 var16 = (((long)var_pexprsnode9&3)?type_info[((long)var_pexprsnode9&3)]:var_pexprsnode9->type)->type_table[cltype17] == idtype18;
2448 }
2449 }
2450 if (unlikely(!var16)) {
2451 if(catchStack.cursor >= 0){
2452 longjmp(catchStack.envs[catchStack.cursor], 1);
2453 }
2454 PRINT_ERROR("Runtime error: %s", "Assert failed");
2455 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5537);
2456 fatal_exit(1);
2457 }
2458 var19 = NEW_nitc__ACallExpr(&type_nitc__ACallExpr);
2459 {
2460 nitc__parser_prod___ACallExpr___init_acallexpr(var19, var_pexprnode2, var_pqidnode3, var_pexprsnode9); /* Direct call parser_prod$ACallExpr$init_acallexpr on <var19:ACallExpr>*/
2461 }
2462 var_pexprnode1 = var19;
2463 var_node_list = var_pexprnode1;
2464 var20 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction190> */
2465 {
2466 var21 = nitc___nitc__Parser___go_to(var_p, var20);
2467 }
2468 {
2469 nitc___nitc__Parser___push(var_p, var21, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
2470 }
2471 RET_LABEL:;
2472 }
2473 /* method parser$ReduceAction191$action for (self: ReduceAction191, Parser) */
2474 void nitc__parser___nitc__parser__ReduceAction191___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
2475 val* var_p /* var p: Parser */;
2476 val* var_node_list /* var node_list: nullable Object */;
2477 val* var /* : nullable Object */;
2478 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2479 val* var1 /* : nullable Object */;
2480 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2481 val* var2 /* : nullable Object */;
2482 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2483 val* var3 /* : AImplicitSelfExpr */;
2484 val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */;
2485 val* var4 /* : Array[Object] */;
2486 val* var_listnode6 /* var listnode6: Array[Object] */;
2487 val* var_listnode5 /* var listnode5: nullable Object */;
2488 short int var5 /* : Bool */;
2489 int cltype;
2490 int idtype;
2491 val* var6 /* : Array[Object] */;
2492 val* var7 /* : AQualified */;
2493 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
2494 val* var_tidnode8 /* var tidnode8: nullable Object */;
2495 short int var8 /* : Bool */;
2496 int cltype9;
2497 int idtype10;
2498 val* var11 /* : AQid */;
2499 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
2500 val* var_pexprsnode9 /* var pexprsnode9: nullable Object */;
2501 short int var12 /* : Bool */;
2502 int cltype13;
2503 int idtype14;
2504 val* var15 /* : ACallExpr */;
2505 val* var_pexprnode1 /* var pexprnode1: nullable ACallExpr */;
2506 long var16 /* : Int */;
2507 long var17 /* : Int */;
2508 var_p = p0;
2509 var_node_list = ((val*)NULL);
2510 {
2511 var = nitc___nitc__Parser___pop(var_p);
2512 }
2513 var_nodearraylist3 = var;
2514 {
2515 var1 = nitc___nitc__Parser___pop(var_p);
2516 }
2517 var_nodearraylist2 = var1;
2518 {
2519 var2 = nitc___nitc__Parser___pop(var_p);
2520 }
2521 var_nodearraylist1 = var2;
2522 var3 = NEW_nitc__AImplicitSelfExpr(&type_nitc__AImplicitSelfExpr);
2523 {
2524 nitc__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var3); /* Direct call parser_prod$AImplicitSelfExpr$init_aimplicitselfexpr on <var3:AImplicitSelfExpr>*/
2525 }
2526 var_pexprnode2 = var3;
2527 var4 = NEW_core__Array(&type_core__Array__core__Object);
2528 {
2529 core___core__Array___core__kernel__Object__init(var4); /* Direct call array$Array$init on <var4:Array[Object]>*/
2530 }
2531 var_listnode6 = var4;
2532 var_listnode5 = var_nodearraylist1;
2533 /* <var_listnode5:nullable Object> isa Array[Object] */
2534 cltype = type_core__Array__core__Object.color;
2535 idtype = type_core__Array__core__Object.id;
2536 if(var_listnode5 == NULL) {
2537 var5 = 0;
2538 } else {
2539 if(cltype >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) {
2540 var5 = 0;
2541 } else {
2542 var5 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype] == idtype;
2543 }
2544 }
2545 if (unlikely(!var5)) {
2546 if(catchStack.cursor >= 0){
2547 longjmp(catchStack.envs[catchStack.cursor], 1);
2548 }
2549 PRINT_ERROR("Runtime error: %s", "Assert failed");
2550 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5558);
2551 fatal_exit(1);
2552 }
2553 {
2554 var6 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5);
2555 }
2556 var_listnode6 = var6;
2557 var7 = NEW_nitc__AQualified(&type_nitc__AQualified);
2558 {
2559 nitc__parser_prod___AQualified___init_aqualified(var7, var_listnode6, ((val*)NULL)); /* Direct call parser_prod$AQualified$init_aqualified on <var7:AQualified>*/
2560 }
2561 var_pqualifiednode4 = var7;
2562 var_tidnode8 = var_nodearraylist2;
2563 /* <var_tidnode8:nullable Object> isa nullable TId */
2564 cltype9 = type_nullable__nitc__TId.color;
2565 idtype10 = type_nullable__nitc__TId.id;
2566 if(var_tidnode8 == NULL) {
2567 var8 = 1;
2568 } else {
2569 if(cltype9 >= (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->table_size) {
2570 var8 = 0;
2571 } else {
2572 var8 = (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->type_table[cltype9] == idtype10;
2573 }
2574 }
2575 if (unlikely(!var8)) {
2576 if(catchStack.cursor >= 0){
2577 longjmp(catchStack.envs[catchStack.cursor], 1);
2578 }
2579 PRINT_ERROR("Runtime error: %s", "Assert failed");
2580 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5565);
2581 fatal_exit(1);
2582 }
2583 var11 = NEW_nitc__AQid(&type_nitc__AQid);
2584 {
2585 nitc__parser_prod___AQid___init_aqid(var11, var_pqualifiednode4, var_tidnode8); /* Direct call parser_prod$AQid$init_aqid on <var11:AQid>*/
2586 }
2587 var_pqidnode3 = var11;
2588 var_pexprsnode9 = var_nodearraylist3;
2589 /* <var_pexprsnode9:nullable Object> isa nullable AExprs */
2590 cltype13 = type_nullable__nitc__AExprs.color;
2591 idtype14 = type_nullable__nitc__AExprs.id;
2592 if(var_pexprsnode9 == NULL) {
2593 var12 = 1;
2594 } else {
2595 if(cltype13 >= (((long)var_pexprsnode9&3)?type_info[((long)var_pexprsnode9&3)]:var_pexprsnode9->type)->table_size) {
2596 var12 = 0;
2597 } else {
2598 var12 = (((long)var_pexprsnode9&3)?type_info[((long)var_pexprsnode9&3)]:var_pexprsnode9->type)->type_table[cltype13] == idtype14;
2599 }
2600 }
2601 if (unlikely(!var12)) {
2602 if(catchStack.cursor >= 0){
2603 longjmp(catchStack.envs[catchStack.cursor], 1);
2604 }
2605 PRINT_ERROR("Runtime error: %s", "Assert failed");
2606 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5571);
2607 fatal_exit(1);
2608 }
2609 var15 = NEW_nitc__ACallExpr(&type_nitc__ACallExpr);
2610 {
2611 nitc__parser_prod___ACallExpr___init_acallexpr(var15, var_pexprnode2, var_pqidnode3, var_pexprsnode9); /* Direct call parser_prod$ACallExpr$init_acallexpr on <var15:ACallExpr>*/
2612 }
2613 var_pexprnode1 = var15;
2614 var_node_list = var_pexprnode1;
2615 var16 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction191> */
2616 {
2617 var17 = nitc___nitc__Parser___go_to(var_p, var16);
2618 }
2619 {
2620 nitc___nitc__Parser___push(var_p, var17, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
2621 }
2622 RET_LABEL:;
2623 }
2624 /* method parser$ReduceAction192$action for (self: ReduceAction192, Parser) */
2625 void nitc__parser___nitc__parser__ReduceAction192___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
2626 val* var_p /* var p: Parser */;
2627 val* var_node_list /* var node_list: nullable Object */;
2628 val* var /* : nullable Object */;
2629 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2630 val* var1 /* : nullable Object */;
2631 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2632 val* var2 /* : nullable Object */;
2633 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2634 val* var_pqualifiednode2 /* var pqualifiednode2: nullable Object */;
2635 short int var3 /* : Bool */;
2636 int cltype;
2637 int idtype;
2638 val* var_tkwsupernode3 /* var tkwsupernode3: nullable Object */;
2639 short int var4 /* : Bool */;
2640 int cltype5;
2641 int idtype6;
2642 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
2643 short int var7 /* : Bool */;
2644 int cltype8;
2645 int idtype9;
2646 val* var10 /* : ASuperExpr */;
2647 val* var_pexprnode1 /* var pexprnode1: nullable ASuperExpr */;
2648 long var11 /* : Int */;
2649 long var12 /* : Int */;
2650 var_p = p0;
2651 var_node_list = ((val*)NULL);
2652 {
2653 var = nitc___nitc__Parser___pop(var_p);
2654 }
2655 var_nodearraylist3 = var;
2656 {
2657 var1 = nitc___nitc__Parser___pop(var_p);
2658 }
2659 var_nodearraylist2 = var1;
2660 {
2661 var2 = nitc___nitc__Parser___pop(var_p);
2662 }
2663 var_nodearraylist1 = var2;
2664 var_pqualifiednode2 = var_nodearraylist1;
2665 /* <var_pqualifiednode2:nullable Object> isa nullable AQualified */
2666 cltype = type_nullable__nitc__AQualified.color;
2667 idtype = type_nullable__nitc__AQualified.id;
2668 if(var_pqualifiednode2 == NULL) {
2669 var3 = 1;
2670 } else {
2671 if(cltype >= (((long)var_pqualifiednode2&3)?type_info[((long)var_pqualifiednode2&3)]:var_pqualifiednode2->type)->table_size) {
2672 var3 = 0;
2673 } else {
2674 var3 = (((long)var_pqualifiednode2&3)?type_info[((long)var_pqualifiednode2&3)]:var_pqualifiednode2->type)->type_table[cltype] == idtype;
2675 }
2676 }
2677 if (unlikely(!var3)) {
2678 if(catchStack.cursor >= 0){
2679 longjmp(catchStack.envs[catchStack.cursor], 1);
2680 }
2681 PRINT_ERROR("Runtime error: %s", "Assert failed");
2682 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5590);
2683 fatal_exit(1);
2684 }
2685 var_tkwsupernode3 = var_nodearraylist2;
2686 /* <var_tkwsupernode3:nullable Object> isa nullable TKwsuper */
2687 cltype5 = type_nullable__nitc__TKwsuper.color;
2688 idtype6 = type_nullable__nitc__TKwsuper.id;
2689 if(var_tkwsupernode3 == NULL) {
2690 var4 = 1;
2691 } else {
2692 if(cltype5 >= (((long)var_tkwsupernode3&3)?type_info[((long)var_tkwsupernode3&3)]:var_tkwsupernode3->type)->table_size) {
2693 var4 = 0;
2694 } else {
2695 var4 = (((long)var_tkwsupernode3&3)?type_info[((long)var_tkwsupernode3&3)]:var_tkwsupernode3->type)->type_table[cltype5] == idtype6;
2696 }
2697 }
2698 if (unlikely(!var4)) {
2699 if(catchStack.cursor >= 0){
2700 longjmp(catchStack.envs[catchStack.cursor], 1);
2701 }
2702 PRINT_ERROR("Runtime error: %s", "Assert failed");
2703 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5592);
2704 fatal_exit(1);
2705 }
2706 var_pexprsnode4 = var_nodearraylist3;
2707 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
2708 cltype8 = type_nullable__nitc__AExprs.color;
2709 idtype9 = type_nullable__nitc__AExprs.id;
2710 if(var_pexprsnode4 == NULL) {
2711 var7 = 1;
2712 } else {
2713 if(cltype8 >= (((long)var_pexprsnode4&3)?type_info[((long)var_pexprsnode4&3)]:var_pexprsnode4->type)->table_size) {
2714 var7 = 0;
2715 } else {
2716 var7 = (((long)var_pexprsnode4&3)?type_info[((long)var_pexprsnode4&3)]:var_pexprsnode4->type)->type_table[cltype8] == idtype9;
2717 }
2718 }
2719 if (unlikely(!var7)) {
2720 if(catchStack.cursor >= 0){
2721 longjmp(catchStack.envs[catchStack.cursor], 1);
2722 }
2723 PRINT_ERROR("Runtime error: %s", "Assert failed");
2724 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5594);
2725 fatal_exit(1);
2726 }
2727 var10 = NEW_nitc__ASuperExpr(&type_nitc__ASuperExpr);
2728 {
2729 nitc__parser_prod___ASuperExpr___init_asuperexpr(var10, var_pqualifiednode2, var_tkwsupernode3, var_pexprsnode4); /* Direct call parser_prod$ASuperExpr$init_asuperexpr on <var10:ASuperExpr>*/
2730 }
2731 var_pexprnode1 = var10;
2732 var_node_list = var_pexprnode1;
2733 var11 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction192> */
2734 {
2735 var12 = nitc___nitc__Parser___go_to(var_p, var11);
2736 }
2737 {
2738 nitc___nitc__Parser___push(var_p, var12, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
2739 }
2740 RET_LABEL:;
2741 }
2742 /* method parser$ReduceAction193$action for (self: ReduceAction193, Parser) */
2743 void nitc__parser___nitc__parser__ReduceAction193___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
2744 val* var_p /* var p: Parser */;
2745 val* var_node_list /* var node_list: nullable Object */;
2746 val* var /* : nullable Object */;
2747 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2748 val* var1 /* : nullable Object */;
2749 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2750 val* var2 /* : nullable Object */;
2751 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2752 val* var3 /* : nullable Object */;
2753 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2754 val* var4 /* : nullable Object */;
2755 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2756 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
2757 short int var5 /* : Bool */;
2758 int cltype;
2759 int idtype;
2760 val* var_tkwinitnode3 /* var tkwinitnode3: nullable Object */;
2761 short int var6 /* : Bool */;
2762 int cltype7;
2763 int idtype8;
2764 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
2765 short int var9 /* : Bool */;
2766 int cltype10;
2767 int idtype11;
2768 val* var12 /* : AInitExpr */;
2769 val* var_pexprnode1 /* var pexprnode1: nullable AInitExpr */;
2770 long var13 /* : Int */;
2771 long var14 /* : Int */;
2772 var_p = p0;
2773 var_node_list = ((val*)NULL);
2774 {
2775 var = nitc___nitc__Parser___pop(var_p);
2776 }
2777 var_nodearraylist5 = var;
2778 {
2779 var1 = nitc___nitc__Parser___pop(var_p);
2780 }
2781 var_nodearraylist4 = var1;
2782 {
2783 var2 = nitc___nitc__Parser___pop(var_p);
2784 }
2785 var_nodearraylist3 = var2;
2786 {
2787 var3 = nitc___nitc__Parser___pop(var_p);
2788 }
2789 var_nodearraylist2 = var3;
2790 {
2791 var4 = nitc___nitc__Parser___pop(var_p);
2792 }
2793 var_nodearraylist1 = var4;
2794 var_pexprnode2 = var_nodearraylist1;
2795 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2796 cltype = type_nullable__nitc__AExpr.color;
2797 idtype = type_nullable__nitc__AExpr.id;
2798 if(var_pexprnode2 == NULL) {
2799 var5 = 1;
2800 } else {
2801 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
2802 var5 = 0;
2803 } else {
2804 var5 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
2805 }
2806 }
2807 if (unlikely(!var5)) {
2808 if(catchStack.cursor >= 0){
2809 longjmp(catchStack.envs[catchStack.cursor], 1);
2810 }
2811 PRINT_ERROR("Runtime error: %s", "Assert failed");
2812 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5615);
2813 fatal_exit(1);
2814 }
2815 var_tkwinitnode3 = var_nodearraylist4;
2816 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
2817 cltype7 = type_nullable__nitc__TKwinit.color;
2818 idtype8 = type_nullable__nitc__TKwinit.id;
2819 if(var_tkwinitnode3 == NULL) {
2820 var6 = 1;
2821 } else {
2822 if(cltype7 >= (((long)var_tkwinitnode3&3)?type_info[((long)var_tkwinitnode3&3)]:var_tkwinitnode3->type)->table_size) {
2823 var6 = 0;
2824 } else {
2825 var6 = (((long)var_tkwinitnode3&3)?type_info[((long)var_tkwinitnode3&3)]:var_tkwinitnode3->type)->type_table[cltype7] == idtype8;
2826 }
2827 }
2828 if (unlikely(!var6)) {
2829 if(catchStack.cursor >= 0){
2830 longjmp(catchStack.envs[catchStack.cursor], 1);
2831 }
2832 PRINT_ERROR("Runtime error: %s", "Assert failed");
2833 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5617);
2834 fatal_exit(1);
2835 }
2836 var_pexprsnode4 = var_nodearraylist5;
2837 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
2838 cltype10 = type_nullable__nitc__AExprs.color;
2839 idtype11 = type_nullable__nitc__AExprs.id;
2840 if(var_pexprsnode4 == NULL) {
2841 var9 = 1;
2842 } else {
2843 if(cltype10 >= (((long)var_pexprsnode4&3)?type_info[((long)var_pexprsnode4&3)]:var_pexprsnode4->type)->table_size) {
2844 var9 = 0;
2845 } else {
2846 var9 = (((long)var_pexprsnode4&3)?type_info[((long)var_pexprsnode4&3)]:var_pexprsnode4->type)->type_table[cltype10] == idtype11;
2847 }
2848 }
2849 if (unlikely(!var9)) {
2850 if(catchStack.cursor >= 0){
2851 longjmp(catchStack.envs[catchStack.cursor], 1);
2852 }
2853 PRINT_ERROR("Runtime error: %s", "Assert failed");
2854 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5619);
2855 fatal_exit(1);
2856 }
2857 var12 = NEW_nitc__AInitExpr(&type_nitc__AInitExpr);
2858 {
2859 nitc__parser_prod___AInitExpr___init_ainitexpr(var12, var_pexprnode2, var_tkwinitnode3, var_pexprsnode4); /* Direct call parser_prod$AInitExpr$init_ainitexpr on <var12:AInitExpr>*/
2860 }
2861 var_pexprnode1 = var12;
2862 var_node_list = var_pexprnode1;
2863 var13 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction193> */
2864 {
2865 var14 = nitc___nitc__Parser___go_to(var_p, var13);
2866 }
2867 {
2868 nitc___nitc__Parser___push(var_p, var14, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
2869 }
2870 RET_LABEL:;
2871 }
2872 /* method parser$ReduceAction194$action for (self: ReduceAction194, Parser) */
2873 void nitc__parser___nitc__parser__ReduceAction194___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
2874 val* var_p /* var p: Parser */;
2875 val* var_node_list /* var node_list: nullable Object */;
2876 val* var /* : nullable Object */;
2877 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2878 val* var1 /* : nullable Object */;
2879 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2880 val* var2 /* : AImplicitSelfExpr */;
2881 val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */;
2882 val* var_tkwinitnode3 /* var tkwinitnode3: nullable Object */;
2883 short int var3 /* : Bool */;
2884 int cltype;
2885 int idtype;
2886 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
2887 short int var4 /* : Bool */;
2888 int cltype5;
2889 int idtype6;
2890 val* var7 /* : AInitExpr */;
2891 val* var_pexprnode1 /* var pexprnode1: nullable AInitExpr */;
2892 long var8 /* : Int */;
2893 long var9 /* : Int */;
2894 var_p = p0;
2895 var_node_list = ((val*)NULL);
2896 {
2897 var = nitc___nitc__Parser___pop(var_p);
2898 }
2899 var_nodearraylist2 = var;
2900 {
2901 var1 = nitc___nitc__Parser___pop(var_p);
2902 }
2903 var_nodearraylist1 = var1;
2904 var2 = NEW_nitc__AImplicitSelfExpr(&type_nitc__AImplicitSelfExpr);
2905 {
2906 nitc__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var2); /* Direct call parser_prod$AImplicitSelfExpr$init_aimplicitselfexpr on <var2:AImplicitSelfExpr>*/
2907 }
2908 var_pexprnode2 = var2;
2909 var_tkwinitnode3 = var_nodearraylist1;
2910 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
2911 cltype = type_nullable__nitc__TKwinit.color;
2912 idtype = type_nullable__nitc__TKwinit.id;
2913 if(var_tkwinitnode3 == NULL) {
2914 var3 = 1;
2915 } else {
2916 if(cltype >= (((long)var_tkwinitnode3&3)?type_info[((long)var_tkwinitnode3&3)]:var_tkwinitnode3->type)->table_size) {
2917 var3 = 0;
2918 } else {
2919 var3 = (((long)var_tkwinitnode3&3)?type_info[((long)var_tkwinitnode3&3)]:var_tkwinitnode3->type)->type_table[cltype] == idtype;
2920 }
2921 }
2922 if (unlikely(!var3)) {
2923 if(catchStack.cursor >= 0){
2924 longjmp(catchStack.envs[catchStack.cursor], 1);
2925 }
2926 PRINT_ERROR("Runtime error: %s", "Assert failed");
2927 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5638);
2928 fatal_exit(1);
2929 }
2930 var_pexprsnode4 = var_nodearraylist2;
2931 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
2932 cltype5 = type_nullable__nitc__AExprs.color;
2933 idtype6 = type_nullable__nitc__AExprs.id;
2934 if(var_pexprsnode4 == NULL) {
2935 var4 = 1;
2936 } else {
2937 if(cltype5 >= (((long)var_pexprsnode4&3)?type_info[((long)var_pexprsnode4&3)]:var_pexprsnode4->type)->table_size) {
2938 var4 = 0;
2939 } else {
2940 var4 = (((long)var_pexprsnode4&3)?type_info[((long)var_pexprsnode4&3)]:var_pexprsnode4->type)->type_table[cltype5] == idtype6;
2941 }
2942 }
2943 if (unlikely(!var4)) {
2944 if(catchStack.cursor >= 0){
2945 longjmp(catchStack.envs[catchStack.cursor], 1);
2946 }
2947 PRINT_ERROR("Runtime error: %s", "Assert failed");
2948 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5640);
2949 fatal_exit(1);
2950 }
2951 var7 = NEW_nitc__AInitExpr(&type_nitc__AInitExpr);
2952 {
2953 nitc__parser_prod___AInitExpr___init_ainitexpr(var7, var_pexprnode2, var_tkwinitnode3, var_pexprsnode4); /* Direct call parser_prod$AInitExpr$init_ainitexpr on <var7:AInitExpr>*/
2954 }
2955 var_pexprnode1 = var7;
2956 var_node_list = var_pexprnode1;
2957 var8 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction194> */
2958 {
2959 var9 = nitc___nitc__Parser___go_to(var_p, var8);
2960 }
2961 {
2962 nitc___nitc__Parser___push(var_p, var9, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
2963 }
2964 RET_LABEL:;
2965 }
2966 /* method parser$ReduceAction195$action for (self: ReduceAction195, Parser) */
2967 void nitc__parser___nitc__parser__ReduceAction195___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
2968 val* var_p /* var p: Parser */;
2969 val* var_node_list /* var node_list: nullable Object */;
2970 val* var /* : nullable Object */;
2971 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2972 val* var1 /* : nullable Object */;
2973 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2974 val* var2 /* : nullable Object */;
2975 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2976 val* var3 /* : nullable Object */;
2977 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2978 val* var4 /* : nullable Object */;
2979 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2980 val* var5 /* : nullable Object */;
2981 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2982 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
2983 short int var6 /* : Bool */;
2984 int cltype;
2985 int idtype;
2986 val* var_tkwinitnode3 /* var tkwinitnode3: nullable Object */;
2987 short int var7 /* : Bool */;
2988 int cltype8;
2989 int idtype9;
2990 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
2991 short int var10 /* : Bool */;
2992 int cltype11;
2993 int idtype12;
2994 val* var13 /* : AInitExpr */;
2995 val* var_pexprnode1 /* var pexprnode1: nullable AInitExpr */;
2996 long var14 /* : Int */;
2997 long var15 /* : Int */;
2998 var_p = p0;
2999 var_node_list = ((val*)NULL);
3000 {
3001 var = nitc___nitc__Parser___pop(var_p);
3002 }
3003 var_nodearraylist6 = var;
3004 {
3005 var1 = nitc___nitc__Parser___pop(var_p);
3006 }
3007 var_nodearraylist5 = var1;
3008 {
3009 var2 = nitc___nitc__Parser___pop(var_p);
3010 }
3011 var_nodearraylist4 = var2;
3012 {
3013 var3 = nitc___nitc__Parser___pop(var_p);
3014 }
3015 var_nodearraylist3 = var3;
3016 {
3017 var4 = nitc___nitc__Parser___pop(var_p);
3018 }
3019 var_nodearraylist2 = var4;
3020 {
3021 var5 = nitc___nitc__Parser___pop(var_p);
3022 }
3023 var_nodearraylist1 = var5;
3024 var_pexprnode2 = var_nodearraylist1;
3025 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3026 cltype = type_nullable__nitc__AExpr.color;
3027 idtype = type_nullable__nitc__AExpr.id;
3028 if(var_pexprnode2 == NULL) {
3029 var6 = 1;
3030 } else {
3031 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
3032 var6 = 0;
3033 } else {
3034 var6 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
3035 }
3036 }
3037 if (unlikely(!var6)) {
3038 if(catchStack.cursor >= 0){
3039 longjmp(catchStack.envs[catchStack.cursor], 1);
3040 }
3041 PRINT_ERROR("Runtime error: %s", "Assert failed");
3042 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5662);
3043 fatal_exit(1);
3044 }
3045 var_tkwinitnode3 = var_nodearraylist5;
3046 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
3047 cltype8 = type_nullable__nitc__TKwinit.color;
3048 idtype9 = type_nullable__nitc__TKwinit.id;
3049 if(var_tkwinitnode3 == NULL) {
3050 var7 = 1;
3051 } else {
3052 if(cltype8 >= (((long)var_tkwinitnode3&3)?type_info[((long)var_tkwinitnode3&3)]:var_tkwinitnode3->type)->table_size) {
3053 var7 = 0;
3054 } else {
3055 var7 = (((long)var_tkwinitnode3&3)?type_info[((long)var_tkwinitnode3&3)]:var_tkwinitnode3->type)->type_table[cltype8] == idtype9;
3056 }
3057 }
3058 if (unlikely(!var7)) {
3059 if(catchStack.cursor >= 0){
3060 longjmp(catchStack.envs[catchStack.cursor], 1);
3061 }
3062 PRINT_ERROR("Runtime error: %s", "Assert failed");
3063 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5664);
3064 fatal_exit(1);
3065 }
3066 var_pexprsnode4 = var_nodearraylist6;
3067 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3068 cltype11 = type_nullable__nitc__AExprs.color;
3069 idtype12 = type_nullable__nitc__AExprs.id;
3070 if(var_pexprsnode4 == NULL) {
3071 var10 = 1;
3072 } else {
3073 if(cltype11 >= (((long)var_pexprsnode4&3)?type_info[((long)var_pexprsnode4&3)]:var_pexprsnode4->type)->table_size) {
3074 var10 = 0;
3075 } else {
3076 var10 = (((long)var_pexprsnode4&3)?type_info[((long)var_pexprsnode4&3)]:var_pexprsnode4->type)->type_table[cltype11] == idtype12;
3077 }
3078 }
3079 if (unlikely(!var10)) {
3080 if(catchStack.cursor >= 0){
3081 longjmp(catchStack.envs[catchStack.cursor], 1);
3082 }
3083 PRINT_ERROR("Runtime error: %s", "Assert failed");
3084 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5666);
3085 fatal_exit(1);
3086 }
3087 var13 = NEW_nitc__AInitExpr(&type_nitc__AInitExpr);
3088 {
3089 nitc__parser_prod___AInitExpr___init_ainitexpr(var13, var_pexprnode2, var_tkwinitnode3, var_pexprsnode4); /* Direct call parser_prod$AInitExpr$init_ainitexpr on <var13:AInitExpr>*/
3090 }
3091 var_pexprnode1 = var13;
3092 var_node_list = var_pexprnode1;
3093 var14 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction195> */
3094 {
3095 var15 = nitc___nitc__Parser___go_to(var_p, var14);
3096 }
3097 {
3098 nitc___nitc__Parser___push(var_p, var15, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
3099 }
3100 RET_LABEL:;
3101 }
3102 /* method parser$ReduceAction196$action for (self: ReduceAction196, Parser) */
3103 void nitc__parser___nitc__parser__ReduceAction196___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
3104 val* var_p /* var p: Parser */;
3105 val* var_node_list /* var node_list: nullable Object */;
3106 val* var /* : nullable Object */;
3107 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3108 val* var1 /* : nullable Object */;
3109 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3110 val* var2 /* : nullable Object */;
3111 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3112 val* var3 /* : nullable Object */;
3113 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3114 val* var4 /* : nullable Object */;
3115 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3116 val* var5 /* : nullable Object */;
3117 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3118 val* var6 /* : nullable Object */;
3119 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3120 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
3121 short int var7 /* : Bool */;
3122 int cltype;
3123 int idtype;
3124 val* var_tkwinitnode3 /* var tkwinitnode3: nullable Object */;
3125 short int var8 /* : Bool */;
3126 int cltype9;
3127 int idtype10;
3128 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
3129 short int var11 /* : Bool */;
3130 int cltype12;
3131 int idtype13;
3132 val* var14 /* : AInitExpr */;
3133 val* var_pexprnode1 /* var pexprnode1: nullable AInitExpr */;
3134 long var15 /* : Int */;
3135 long var16 /* : Int */;
3136 var_p = p0;
3137 var_node_list = ((val*)NULL);
3138 {
3139 var = nitc___nitc__Parser___pop(var_p);
3140 }
3141 var_nodearraylist7 = var;
3142 {
3143 var1 = nitc___nitc__Parser___pop(var_p);
3144 }
3145 var_nodearraylist6 = var1;
3146 {
3147 var2 = nitc___nitc__Parser___pop(var_p);
3148 }
3149 var_nodearraylist5 = var2;
3150 {
3151 var3 = nitc___nitc__Parser___pop(var_p);
3152 }
3153 var_nodearraylist4 = var3;
3154 {
3155 var4 = nitc___nitc__Parser___pop(var_p);
3156 }
3157 var_nodearraylist3 = var4;
3158 {
3159 var5 = nitc___nitc__Parser___pop(var_p);
3160 }
3161 var_nodearraylist2 = var5;
3162 {
3163 var6 = nitc___nitc__Parser___pop(var_p);
3164 }
3165 var_nodearraylist1 = var6;
3166 var_pexprnode2 = var_nodearraylist1;
3167 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3168 cltype = type_nullable__nitc__AExpr.color;
3169 idtype = type_nullable__nitc__AExpr.id;
3170 if(var_pexprnode2 == NULL) {
3171 var7 = 1;
3172 } else {
3173 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
3174 var7 = 0;
3175 } else {
3176 var7 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
3177 }
3178 }
3179 if (unlikely(!var7)) {
3180 if(catchStack.cursor >= 0){
3181 longjmp(catchStack.envs[catchStack.cursor], 1);
3182 }
3183 PRINT_ERROR("Runtime error: %s", "Assert failed");
3184 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5689);
3185 fatal_exit(1);
3186 }
3187 var_tkwinitnode3 = var_nodearraylist6;
3188 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
3189 cltype9 = type_nullable__nitc__TKwinit.color;
3190 idtype10 = type_nullable__nitc__TKwinit.id;
3191 if(var_tkwinitnode3 == NULL) {
3192 var8 = 1;
3193 } else {
3194 if(cltype9 >= (((long)var_tkwinitnode3&3)?type_info[((long)var_tkwinitnode3&3)]:var_tkwinitnode3->type)->table_size) {
3195 var8 = 0;
3196 } else {
3197 var8 = (((long)var_tkwinitnode3&3)?type_info[((long)var_tkwinitnode3&3)]:var_tkwinitnode3->type)->type_table[cltype9] == idtype10;
3198 }
3199 }
3200 if (unlikely(!var8)) {
3201 if(catchStack.cursor >= 0){
3202 longjmp(catchStack.envs[catchStack.cursor], 1);
3203 }
3204 PRINT_ERROR("Runtime error: %s", "Assert failed");
3205 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5691);
3206 fatal_exit(1);
3207 }
3208 var_pexprsnode4 = var_nodearraylist7;
3209 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3210 cltype12 = type_nullable__nitc__AExprs.color;
3211 idtype13 = type_nullable__nitc__AExprs.id;
3212 if(var_pexprsnode4 == NULL) {
3213 var11 = 1;
3214 } else {
3215 if(cltype12 >= (((long)var_pexprsnode4&3)?type_info[((long)var_pexprsnode4&3)]:var_pexprsnode4->type)->table_size) {
3216 var11 = 0;
3217 } else {
3218 var11 = (((long)var_pexprsnode4&3)?type_info[((long)var_pexprsnode4&3)]:var_pexprsnode4->type)->type_table[cltype12] == idtype13;
3219 }
3220 }
3221 if (unlikely(!var11)) {
3222 if(catchStack.cursor >= 0){
3223 longjmp(catchStack.envs[catchStack.cursor], 1);
3224 }
3225 PRINT_ERROR("Runtime error: %s", "Assert failed");
3226 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5693);
3227 fatal_exit(1);
3228 }
3229 var14 = NEW_nitc__AInitExpr(&type_nitc__AInitExpr);
3230 {
3231 nitc__parser_prod___AInitExpr___init_ainitexpr(var14, var_pexprnode2, var_tkwinitnode3, var_pexprsnode4); /* Direct call parser_prod$AInitExpr$init_ainitexpr on <var14:AInitExpr>*/
3232 }
3233 var_pexprnode1 = var14;
3234 var_node_list = var_pexprnode1;
3235 var15 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction196> */
3236 {
3237 var16 = nitc___nitc__Parser___go_to(var_p, var15);
3238 }
3239 {
3240 nitc___nitc__Parser___push(var_p, var16, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
3241 }
3242 RET_LABEL:;
3243 }
3244 /* method parser$ReduceAction198$action for (self: ReduceAction198, Parser) */
3245 void nitc__parser___nitc__parser__ReduceAction198___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
3246 val* var_p /* var p: Parser */;
3247 val* var_node_list /* var node_list: nullable Object */;
3248 val* var /* : nullable Object */;
3249 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3250 val* var1 /* : nullable Object */;
3251 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3252 val* var2 /* : nullable Object */;
3253 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3254 val* var3 /* : AImplicitSelfExpr */;
3255 val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */;
3256 val* var_tkwinitnode3 /* var tkwinitnode3: nullable Object */;
3257 short int var4 /* : Bool */;
3258 int cltype;
3259 int idtype;
3260 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
3261 short int var5 /* : Bool */;
3262 int cltype6;
3263 int idtype7;
3264 val* var8 /* : AInitExpr */;
3265 val* var_pexprnode1 /* var pexprnode1: nullable AInitExpr */;
3266 long var9 /* : Int */;
3267 long var10 /* : Int */;
3268 var_p = p0;
3269 var_node_list = ((val*)NULL);
3270 {
3271 var = nitc___nitc__Parser___pop(var_p);
3272 }
3273 var_nodearraylist3 = var;
3274 {
3275 var1 = nitc___nitc__Parser___pop(var_p);
3276 }
3277 var_nodearraylist2 = var1;
3278 {
3279 var2 = nitc___nitc__Parser___pop(var_p);
3280 }
3281 var_nodearraylist1 = var2;
3282 var3 = NEW_nitc__AImplicitSelfExpr(&type_nitc__AImplicitSelfExpr);
3283 {
3284 nitc__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var3); /* Direct call parser_prod$AImplicitSelfExpr$init_aimplicitselfexpr on <var3:AImplicitSelfExpr>*/
3285 }
3286 var_pexprnode2 = var3;
3287 var_tkwinitnode3 = var_nodearraylist2;
3288 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
3289 cltype = type_nullable__nitc__TKwinit.color;
3290 idtype = type_nullable__nitc__TKwinit.id;
3291 if(var_tkwinitnode3 == NULL) {
3292 var4 = 1;
3293 } else {
3294 if(cltype >= (((long)var_tkwinitnode3&3)?type_info[((long)var_tkwinitnode3&3)]:var_tkwinitnode3->type)->table_size) {
3295 var4 = 0;
3296 } else {
3297 var4 = (((long)var_tkwinitnode3&3)?type_info[((long)var_tkwinitnode3&3)]:var_tkwinitnode3->type)->type_table[cltype] == idtype;
3298 }
3299 }
3300 if (unlikely(!var4)) {
3301 if(catchStack.cursor >= 0){
3302 longjmp(catchStack.envs[catchStack.cursor], 1);
3303 }
3304 PRINT_ERROR("Runtime error: %s", "Assert failed");
3305 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5713);
3306 fatal_exit(1);
3307 }
3308 var_pexprsnode4 = var_nodearraylist3;
3309 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3310 cltype6 = type_nullable__nitc__AExprs.color;
3311 idtype7 = type_nullable__nitc__AExprs.id;
3312 if(var_pexprsnode4 == NULL) {
3313 var5 = 1;
3314 } else {
3315 if(cltype6 >= (((long)var_pexprsnode4&3)?type_info[((long)var_pexprsnode4&3)]:var_pexprsnode4->type)->table_size) {
3316 var5 = 0;
3317 } else {
3318 var5 = (((long)var_pexprsnode4&3)?type_info[((long)var_pexprsnode4&3)]:var_pexprsnode4->type)->type_table[cltype6] == idtype7;
3319 }
3320 }
3321 if (unlikely(!var5)) {
3322 if(catchStack.cursor >= 0){
3323 longjmp(catchStack.envs[catchStack.cursor], 1);
3324 }
3325 PRINT_ERROR("Runtime error: %s", "Assert failed");
3326 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5715);
3327 fatal_exit(1);
3328 }
3329 var8 = NEW_nitc__AInitExpr(&type_nitc__AInitExpr);
3330 {
3331 nitc__parser_prod___AInitExpr___init_ainitexpr(var8, var_pexprnode2, var_tkwinitnode3, var_pexprsnode4); /* Direct call parser_prod$AInitExpr$init_ainitexpr on <var8:AInitExpr>*/
3332 }
3333 var_pexprnode1 = var8;
3334 var_node_list = var_pexprnode1;
3335 var9 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction198> */
3336 {
3337 var10 = nitc___nitc__Parser___go_to(var_p, var9);
3338 }
3339 {
3340 nitc___nitc__Parser___push(var_p, var10, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
3341 }
3342 RET_LABEL:;
3343 }
3344 /* method parser$ReduceAction199$action for (self: ReduceAction199, Parser) */
3345 void nitc__parser___nitc__parser__ReduceAction199___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
3346 val* var_p /* var p: Parser */;
3347 val* var_node_list /* var node_list: nullable Object */;
3348 val* var /* : nullable Object */;
3349 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3350 val* var1 /* : nullable Object */;
3351 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3352 val* var2 /* : nullable Object */;
3353 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3354 val* var3 /* : nullable Object */;
3355 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3356 val* var4 /* : AImplicitSelfExpr */;
3357 val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */;
3358 val* var_tkwinitnode3 /* var tkwinitnode3: nullable Object */;
3359 short int var5 /* : Bool */;
3360 int cltype;
3361 int idtype;
3362 val* var_pexprsnode4 /* var pexprsnode4: nullable Object */;
3363 short int var6 /* : Bool */;
3364 int cltype7;
3365 int idtype8;
3366 val* var9 /* : AInitExpr */;
3367 val* var_pexprnode1 /* var pexprnode1: nullable AInitExpr */;
3368 long var10 /* : Int */;
3369 long var11 /* : Int */;
3370 var_p = p0;
3371 var_node_list = ((val*)NULL);
3372 {
3373 var = nitc___nitc__Parser___pop(var_p);
3374 }
3375 var_nodearraylist4 = var;
3376 {
3377 var1 = nitc___nitc__Parser___pop(var_p);
3378 }
3379 var_nodearraylist3 = var1;
3380 {
3381 var2 = nitc___nitc__Parser___pop(var_p);
3382 }
3383 var_nodearraylist2 = var2;
3384 {
3385 var3 = nitc___nitc__Parser___pop(var_p);
3386 }
3387 var_nodearraylist1 = var3;
3388 var4 = NEW_nitc__AImplicitSelfExpr(&type_nitc__AImplicitSelfExpr);
3389 {
3390 nitc__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var4); /* Direct call parser_prod$AImplicitSelfExpr$init_aimplicitselfexpr on <var4:AImplicitSelfExpr>*/
3391 }
3392 var_pexprnode2 = var4;
3393 var_tkwinitnode3 = var_nodearraylist3;
3394 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
3395 cltype = type_nullable__nitc__TKwinit.color;
3396 idtype = type_nullable__nitc__TKwinit.id;
3397 if(var_tkwinitnode3 == NULL) {
3398 var5 = 1;
3399 } else {
3400 if(cltype >= (((long)var_tkwinitnode3&3)?type_info[((long)var_tkwinitnode3&3)]:var_tkwinitnode3->type)->table_size) {
3401 var5 = 0;
3402 } else {
3403 var5 = (((long)var_tkwinitnode3&3)?type_info[((long)var_tkwinitnode3&3)]:var_tkwinitnode3->type)->type_table[cltype] == idtype;
3404 }
3405 }
3406 if (unlikely(!var5)) {
3407 if(catchStack.cursor >= 0){
3408 longjmp(catchStack.envs[catchStack.cursor], 1);
3409 }
3410 PRINT_ERROR("Runtime error: %s", "Assert failed");
3411 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5736);
3412 fatal_exit(1);
3413 }
3414 var_pexprsnode4 = var_nodearraylist4;
3415 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
3416 cltype7 = type_nullable__nitc__AExprs.color;
3417 idtype8 = type_nullable__nitc__AExprs.id;
3418 if(var_pexprsnode4 == NULL) {
3419 var6 = 1;
3420 } else {
3421 if(cltype7 >= (((long)var_pexprsnode4&3)?type_info[((long)var_pexprsnode4&3)]:var_pexprsnode4->type)->table_size) {
3422 var6 = 0;
3423 } else {
3424 var6 = (((long)var_pexprsnode4&3)?type_info[((long)var_pexprsnode4&3)]:var_pexprsnode4->type)->type_table[cltype7] == idtype8;
3425 }
3426 }
3427 if (unlikely(!var6)) {
3428 if(catchStack.cursor >= 0){
3429 longjmp(catchStack.envs[catchStack.cursor], 1);
3430 }
3431 PRINT_ERROR("Runtime error: %s", "Assert failed");
3432 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5738);
3433 fatal_exit(1);
3434 }
3435 var9 = NEW_nitc__AInitExpr(&type_nitc__AInitExpr);
3436 {
3437 nitc__parser_prod___AInitExpr___init_ainitexpr(var9, var_pexprnode2, var_tkwinitnode3, var_pexprsnode4); /* Direct call parser_prod$AInitExpr$init_ainitexpr on <var9:AInitExpr>*/
3438 }
3439 var_pexprnode1 = var9;
3440 var_node_list = var_pexprnode1;
3441 var10 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction199> */
3442 {
3443 var11 = nitc___nitc__Parser___go_to(var_p, var10);
3444 }
3445 {
3446 nitc___nitc__Parser___push(var_p, var11, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
3447 }
3448 RET_LABEL:;
3449 }
3450 /* method parser$ReduceAction201$action for (self: ReduceAction201, Parser) */
3451 void nitc__parser___nitc__parser__ReduceAction201___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
3452 val* var_p /* var p: Parser */;
3453 val* var_node_list /* var node_list: nullable Object */;
3454 val* var /* : nullable Object */;
3455 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3456 val* var1 /* : nullable Object */;
3457 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3458 val* var2 /* : nullable Object */;
3459 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3460 val* var3 /* : nullable Object */;
3461 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3462 val* var4 /* : nullable Object */;
3463 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3464 val* var_tkwdebugnode2 /* var tkwdebugnode2: nullable Object */;
3465 short int var5 /* : Bool */;
3466 int cltype;
3467 int idtype;
3468 val* var_tkwtypenode3 /* var tkwtypenode3: nullable Object */;
3469 short int var6 /* : Bool */;
3470 int cltype7;
3471 int idtype8;
3472 val* var_pexprnode4 /* var pexprnode4: nullable Object */;
3473 short int var9 /* : Bool */;
3474 int cltype10;
3475 int idtype11;
3476 val* var_ptypenode5 /* var ptypenode5: nullable Object */;
3477 short int var12 /* : Bool */;
3478 int cltype13;
3479 int idtype14;
3480 val* var15 /* : ADebugTypeExpr */;
3481 val* var_pexprnode1 /* var pexprnode1: nullable ADebugTypeExpr */;
3482 long var16 /* : Int */;
3483 long var17 /* : Int */;
3484 var_p = p0;
3485 var_node_list = ((val*)NULL);
3486 {
3487 var = nitc___nitc__Parser___pop(var_p);
3488 }
3489 var_nodearraylist5 = var;
3490 {
3491 var1 = nitc___nitc__Parser___pop(var_p);
3492 }
3493 var_nodearraylist4 = var1;
3494 {
3495 var2 = nitc___nitc__Parser___pop(var_p);
3496 }
3497 var_nodearraylist3 = var2;
3498 {
3499 var3 = nitc___nitc__Parser___pop(var_p);
3500 }
3501 var_nodearraylist2 = var3;
3502 {
3503 var4 = nitc___nitc__Parser___pop(var_p);
3504 }
3505 var_nodearraylist1 = var4;
3506 var_tkwdebugnode2 = var_nodearraylist1;
3507 /* <var_tkwdebugnode2:nullable Object> isa nullable TKwdebug */
3508 cltype = type_nullable__nitc__TKwdebug.color;
3509 idtype = type_nullable__nitc__TKwdebug.id;
3510 if(var_tkwdebugnode2 == NULL) {
3511 var5 = 1;
3512 } else {
3513 if(cltype >= (((long)var_tkwdebugnode2&3)?type_info[((long)var_tkwdebugnode2&3)]:var_tkwdebugnode2->type)->table_size) {
3514 var5 = 0;
3515 } else {
3516 var5 = (((long)var_tkwdebugnode2&3)?type_info[((long)var_tkwdebugnode2&3)]:var_tkwdebugnode2->type)->type_table[cltype] == idtype;
3517 }
3518 }
3519 if (unlikely(!var5)) {
3520 if(catchStack.cursor >= 0){
3521 longjmp(catchStack.envs[catchStack.cursor], 1);
3522 }
3523 PRINT_ERROR("Runtime error: %s", "Assert failed");
3524 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5759);
3525 fatal_exit(1);
3526 }
3527 var_tkwtypenode3 = var_nodearraylist2;
3528 /* <var_tkwtypenode3:nullable Object> isa nullable TKwtype */
3529 cltype7 = type_nullable__nitc__TKwtype.color;
3530 idtype8 = type_nullable__nitc__TKwtype.id;
3531 if(var_tkwtypenode3 == NULL) {
3532 var6 = 1;
3533 } else {
3534 if(cltype7 >= (((long)var_tkwtypenode3&3)?type_info[((long)var_tkwtypenode3&3)]:var_tkwtypenode3->type)->table_size) {
3535 var6 = 0;
3536 } else {
3537 var6 = (((long)var_tkwtypenode3&3)?type_info[((long)var_tkwtypenode3&3)]:var_tkwtypenode3->type)->type_table[cltype7] == idtype8;
3538 }
3539 }
3540 if (unlikely(!var6)) {
3541 if(catchStack.cursor >= 0){
3542 longjmp(catchStack.envs[catchStack.cursor], 1);
3543 }
3544 PRINT_ERROR("Runtime error: %s", "Assert failed");
3545 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5761);
3546 fatal_exit(1);
3547 }
3548 var_pexprnode4 = var_nodearraylist5;
3549 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
3550 cltype10 = type_nullable__nitc__AExpr.color;
3551 idtype11 = type_nullable__nitc__AExpr.id;
3552 if(var_pexprnode4 == NULL) {
3553 var9 = 1;
3554 } else {
3555 if(cltype10 >= (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->table_size) {
3556 var9 = 0;
3557 } else {
3558 var9 = (((long)var_pexprnode4&3)?type_info[((long)var_pexprnode4&3)]:var_pexprnode4->type)->type_table[cltype10] == idtype11;
3559 }
3560 }
3561 if (unlikely(!var9)) {
3562 if(catchStack.cursor >= 0){
3563 longjmp(catchStack.envs[catchStack.cursor], 1);
3564 }
3565 PRINT_ERROR("Runtime error: %s", "Assert failed");
3566 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5763);
3567 fatal_exit(1);
3568 }
3569 var_ptypenode5 = var_nodearraylist3;
3570 /* <var_ptypenode5:nullable Object> isa nullable AType */
3571 cltype13 = type_nullable__nitc__AType.color;
3572 idtype14 = type_nullable__nitc__AType.id;
3573 if(var_ptypenode5 == NULL) {
3574 var12 = 1;
3575 } else {
3576 if(cltype13 >= (((long)var_ptypenode5&3)?type_info[((long)var_ptypenode5&3)]:var_ptypenode5->type)->table_size) {
3577 var12 = 0;
3578 } else {
3579 var12 = (((long)var_ptypenode5&3)?type_info[((long)var_ptypenode5&3)]:var_ptypenode5->type)->type_table[cltype13] == idtype14;
3580 }
3581 }
3582 if (unlikely(!var12)) {
3583 if(catchStack.cursor >= 0){
3584 longjmp(catchStack.envs[catchStack.cursor], 1);
3585 }
3586 PRINT_ERROR("Runtime error: %s", "Assert failed");
3587 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5765);
3588 fatal_exit(1);
3589 }
3590 var15 = NEW_nitc__ADebugTypeExpr(&type_nitc__ADebugTypeExpr);
3591 {
3592 nitc__parser_prod___ADebugTypeExpr___init_adebugtypeexpr(var15, var_tkwdebugnode2, var_tkwtypenode3, var_pexprnode4, var_ptypenode5); /* Direct call parser_prod$ADebugTypeExpr$init_adebugtypeexpr on <var15:ADebugTypeExpr>*/
3593 }
3594 var_pexprnode1 = var15;
3595 var_node_list = var_pexprnode1;
3596 var16 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction201> */
3597 {
3598 var17 = nitc___nitc__Parser___go_to(var_p, var16);
3599 }
3600 {
3601 nitc___nitc__Parser___push(var_p, var17, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
3602 }
3603 RET_LABEL:;
3604 }
3605 /* method parser$ReduceAction202$action for (self: ReduceAction202, Parser) */
3606 void nitc__parser___nitc__parser__ReduceAction202___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
3607 val* var_p /* var p: Parser */;
3608 val* var_node_list /* var node_list: nullable Object */;
3609 val* var /* : nullable Object */;
3610 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3611 val* var_tkwlabelnode2 /* var tkwlabelnode2: nullable Object */;
3612 short int var1 /* : Bool */;
3613 int cltype;
3614 int idtype;
3615 val* var2 /* : ALabel */;
3616 val* var_plabelnode1 /* var plabelnode1: nullable ALabel */;
3617 long var3 /* : Int */;
3618 long var4 /* : Int */;
3619 var_p = p0;
3620 var_node_list = ((val*)NULL);
3621 {
3622 var = nitc___nitc__Parser___pop(var_p);
3623 }
3624 var_nodearraylist1 = var;
3625 var_tkwlabelnode2 = var_nodearraylist1;
3626 /* <var_tkwlabelnode2:nullable Object> isa nullable TKwlabel */
3627 cltype = type_nullable__nitc__TKwlabel.color;
3628 idtype = type_nullable__nitc__TKwlabel.id;
3629 if(var_tkwlabelnode2 == NULL) {
3630 var1 = 1;
3631 } else {
3632 if(cltype >= (((long)var_tkwlabelnode2&3)?type_info[((long)var_tkwlabelnode2&3)]:var_tkwlabelnode2->type)->table_size) {
3633 var1 = 0;
3634 } else {
3635 var1 = (((long)var_tkwlabelnode2&3)?type_info[((long)var_tkwlabelnode2&3)]:var_tkwlabelnode2->type)->type_table[cltype] == idtype;
3636 }
3637 }
3638 if (unlikely(!var1)) {
3639 if(catchStack.cursor >= 0){
3640 longjmp(catchStack.envs[catchStack.cursor], 1);
3641 }
3642 PRINT_ERROR("Runtime error: %s", "Assert failed");
3643 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5783);
3644 fatal_exit(1);
3645 }
3646 var2 = NEW_nitc__ALabel(&type_nitc__ALabel);
3647 {
3648 nitc__parser_prod___ALabel___init_alabel(var2, var_tkwlabelnode2, ((val*)NULL)); /* Direct call parser_prod$ALabel$init_alabel on <var2:ALabel>*/
3649 }
3650 var_plabelnode1 = var2;
3651 var_node_list = var_plabelnode1;
3652 var3 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction202> */
3653 {
3654 var4 = nitc___nitc__Parser___go_to(var_p, var3);
3655 }
3656 {
3657 nitc___nitc__Parser___push(var_p, var4, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
3658 }
3659 RET_LABEL:;
3660 }
3661 /* method parser$ReduceAction203$action for (self: ReduceAction203, Parser) */
3662 void nitc__parser___nitc__parser__ReduceAction203___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
3663 val* var_p /* var p: Parser */;
3664 val* var_node_list /* var node_list: nullable Object */;
3665 val* var /* : nullable Object */;
3666 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3667 val* var1 /* : nullable Object */;
3668 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3669 val* var_tkwlabelnode2 /* var tkwlabelnode2: nullable Object */;
3670 short int var2 /* : Bool */;
3671 int cltype;
3672 int idtype;
3673 val* var_tidnode3 /* var tidnode3: nullable Object */;
3674 short int var3 /* : Bool */;
3675 int cltype4;
3676 int idtype5;
3677 val* var6 /* : ALabel */;
3678 val* var_plabelnode1 /* var plabelnode1: nullable ALabel */;
3679 long var7 /* : Int */;
3680 long var8 /* : Int */;
3681 var_p = p0;
3682 var_node_list = ((val*)NULL);
3683 {
3684 var = nitc___nitc__Parser___pop(var_p);
3685 }
3686 var_nodearraylist2 = var;
3687 {
3688 var1 = nitc___nitc__Parser___pop(var_p);
3689 }
3690 var_nodearraylist1 = var1;
3691 var_tkwlabelnode2 = var_nodearraylist1;
3692 /* <var_tkwlabelnode2:nullable Object> isa nullable TKwlabel */
3693 cltype = type_nullable__nitc__TKwlabel.color;
3694 idtype = type_nullable__nitc__TKwlabel.id;
3695 if(var_tkwlabelnode2 == NULL) {
3696 var2 = 1;
3697 } else {
3698 if(cltype >= (((long)var_tkwlabelnode2&3)?type_info[((long)var_tkwlabelnode2&3)]:var_tkwlabelnode2->type)->table_size) {
3699 var2 = 0;
3700 } else {
3701 var2 = (((long)var_tkwlabelnode2&3)?type_info[((long)var_tkwlabelnode2&3)]:var_tkwlabelnode2->type)->type_table[cltype] == idtype;
3702 }
3703 }
3704 if (unlikely(!var2)) {
3705 if(catchStack.cursor >= 0){
3706 longjmp(catchStack.envs[catchStack.cursor], 1);
3707 }
3708 PRINT_ERROR("Runtime error: %s", "Assert failed");
3709 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5800);
3710 fatal_exit(1);
3711 }
3712 var_tidnode3 = var_nodearraylist2;
3713 /* <var_tidnode3:nullable Object> isa nullable TId */
3714 cltype4 = type_nullable__nitc__TId.color;
3715 idtype5 = type_nullable__nitc__TId.id;
3716 if(var_tidnode3 == NULL) {
3717 var3 = 1;
3718 } else {
3719 if(cltype4 >= (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->table_size) {
3720 var3 = 0;
3721 } else {
3722 var3 = (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->type_table[cltype4] == idtype5;
3723 }
3724 }
3725 if (unlikely(!var3)) {
3726 if(catchStack.cursor >= 0){
3727 longjmp(catchStack.envs[catchStack.cursor], 1);
3728 }
3729 PRINT_ERROR("Runtime error: %s", "Assert failed");
3730 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5802);
3731 fatal_exit(1);
3732 }
3733 var6 = NEW_nitc__ALabel(&type_nitc__ALabel);
3734 {
3735 nitc__parser_prod___ALabel___init_alabel(var6, var_tkwlabelnode2, var_tidnode3); /* Direct call parser_prod$ALabel$init_alabel on <var6:ALabel>*/
3736 }
3737 var_plabelnode1 = var6;
3738 var_node_list = var_plabelnode1;
3739 var7 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction203> */
3740 {
3741 var8 = nitc___nitc__Parser___go_to(var_p, var7);
3742 }
3743 {
3744 nitc___nitc__Parser___push(var_p, var8, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
3745 }
3746 RET_LABEL:;
3747 }
3748 /* method parser$ReduceAction204$action for (self: ReduceAction204, Parser) */
3749 void nitc__parser___nitc__parser__ReduceAction204___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
3750 val* var_p /* var p: Parser */;
3751 val* var_node_list /* var node_list: nullable Object */;
3752 val* var /* : nullable Object */;
3753 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3754 val* var1 /* : nullable Object */;
3755 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3756 val* var2 /* : nullable Object */;
3757 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3758 val* var_tkwvarnode2 /* var tkwvarnode2: nullable Object */;
3759 short int var3 /* : Bool */;
3760 int cltype;
3761 int idtype;
3762 val* var_tidnode3 /* var tidnode3: nullable Object */;
3763 short int var4 /* : Bool */;
3764 int cltype5;
3765 int idtype6;
3766 val* var_ptypenode4 /* var ptypenode4: nullable Object */;
3767 short int var7 /* : Bool */;
3768 int cltype8;
3769 int idtype9;
3770 val* var10 /* : AVardeclExpr */;
3771 val* var_pexprnode1 /* var pexprnode1: nullable AVardeclExpr */;
3772 long var11 /* : Int */;
3773 long var12 /* : Int */;
3774 var_p = p0;
3775 var_node_list = ((val*)NULL);
3776 {
3777 var = nitc___nitc__Parser___pop(var_p);
3778 }
3779 var_nodearraylist3 = var;
3780 {
3781 var1 = nitc___nitc__Parser___pop(var_p);
3782 }
3783 var_nodearraylist2 = var1;
3784 {
3785 var2 = nitc___nitc__Parser___pop(var_p);
3786 }
3787 var_nodearraylist1 = var2;
3788 var_tkwvarnode2 = var_nodearraylist1;
3789 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
3790 cltype = type_nullable__nitc__TKwvar.color;
3791 idtype = type_nullable__nitc__TKwvar.id;
3792 if(var_tkwvarnode2 == NULL) {
3793 var3 = 1;
3794 } else {
3795 if(cltype >= (((long)var_tkwvarnode2&3)?type_info[((long)var_tkwvarnode2&3)]:var_tkwvarnode2->type)->table_size) {
3796 var3 = 0;
3797 } else {
3798 var3 = (((long)var_tkwvarnode2&3)?type_info[((long)var_tkwvarnode2&3)]:var_tkwvarnode2->type)->type_table[cltype] == idtype;
3799 }
3800 }
3801 if (unlikely(!var3)) {
3802 if(catchStack.cursor >= 0){
3803 longjmp(catchStack.envs[catchStack.cursor], 1);
3804 }
3805 PRINT_ERROR("Runtime error: %s", "Assert failed");
3806 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5820);
3807 fatal_exit(1);
3808 }
3809 var_tidnode3 = var_nodearraylist2;
3810 /* <var_tidnode3:nullable Object> isa nullable TId */
3811 cltype5 = type_nullable__nitc__TId.color;
3812 idtype6 = type_nullable__nitc__TId.id;
3813 if(var_tidnode3 == NULL) {
3814 var4 = 1;
3815 } else {
3816 if(cltype5 >= (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->table_size) {
3817 var4 = 0;
3818 } else {
3819 var4 = (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->type_table[cltype5] == idtype6;
3820 }
3821 }
3822 if (unlikely(!var4)) {
3823 if(catchStack.cursor >= 0){
3824 longjmp(catchStack.envs[catchStack.cursor], 1);
3825 }
3826 PRINT_ERROR("Runtime error: %s", "Assert failed");
3827 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5822);
3828 fatal_exit(1);
3829 }
3830 var_ptypenode4 = var_nodearraylist3;
3831 /* <var_ptypenode4:nullable Object> isa nullable AType */
3832 cltype8 = type_nullable__nitc__AType.color;
3833 idtype9 = type_nullable__nitc__AType.id;
3834 if(var_ptypenode4 == NULL) {
3835 var7 = 1;
3836 } else {
3837 if(cltype8 >= (((long)var_ptypenode4&3)?type_info[((long)var_ptypenode4&3)]:var_ptypenode4->type)->table_size) {
3838 var7 = 0;
3839 } else {
3840 var7 = (((long)var_ptypenode4&3)?type_info[((long)var_ptypenode4&3)]:var_ptypenode4->type)->type_table[cltype8] == idtype9;
3841 }
3842 }
3843 if (unlikely(!var7)) {
3844 if(catchStack.cursor >= 0){
3845 longjmp(catchStack.envs[catchStack.cursor], 1);
3846 }
3847 PRINT_ERROR("Runtime error: %s", "Assert failed");
3848 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5824);
3849 fatal_exit(1);
3850 }
3851 var10 = NEW_nitc__AVardeclExpr(&type_nitc__AVardeclExpr);
3852 {
3853 nitc__parser_prod___AVardeclExpr___init_avardeclexpr(var10, var_tkwvarnode2, var_tidnode3, var_ptypenode4, ((val*)NULL), ((val*)NULL), ((val*)NULL)); /* Direct call parser_prod$AVardeclExpr$init_avardeclexpr on <var10:AVardeclExpr>*/
3854 }
3855 var_pexprnode1 = var10;
3856 var_node_list = var_pexprnode1;
3857 var11 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction204> */
3858 {
3859 var12 = nitc___nitc__Parser___go_to(var_p, var11);
3860 }
3861 {
3862 nitc___nitc__Parser___push(var_p, var12, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
3863 }
3864 RET_LABEL:;
3865 }
3866 /* method parser$ReduceAction205$action for (self: ReduceAction205, Parser) */
3867 void nitc__parser___nitc__parser__ReduceAction205___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
3868 val* var_p /* var p: Parser */;
3869 val* var_node_list /* var node_list: nullable Object */;
3870 val* var /* : nullable Object */;
3871 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3872 val* var1 /* : nullable Object */;
3873 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3874 val* var2 /* : nullable Object */;
3875 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3876 val* var3 /* : nullable Object */;
3877 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3878 val* var_tkwvarnode2 /* var tkwvarnode2: nullable Object */;
3879 short int var4 /* : Bool */;
3880 int cltype;
3881 int idtype;
3882 val* var_tidnode3 /* var tidnode3: nullable Object */;
3883 short int var5 /* : Bool */;
3884 int cltype6;
3885 int idtype7;
3886 val* var_ptypenode4 /* var ptypenode4: nullable Object */;
3887 short int var8 /* : Bool */;
3888 int cltype9;
3889 int idtype10;
3890 val* var_pannotationsnode7 /* var pannotationsnode7: nullable Object */;
3891 short int var11 /* : Bool */;
3892 int cltype12;
3893 int idtype13;
3894 val* var14 /* : AVardeclExpr */;
3895 val* var_pexprnode1 /* var pexprnode1: nullable AVardeclExpr */;
3896 long var15 /* : Int */;
3897 long var16 /* : Int */;
3898 var_p = p0;
3899 var_node_list = ((val*)NULL);
3900 {
3901 var = nitc___nitc__Parser___pop(var_p);
3902 }
3903 var_nodearraylist4 = var;
3904 {
3905 var1 = nitc___nitc__Parser___pop(var_p);
3906 }
3907 var_nodearraylist3 = var1;
3908 {
3909 var2 = nitc___nitc__Parser___pop(var_p);
3910 }
3911 var_nodearraylist2 = var2;
3912 {
3913 var3 = nitc___nitc__Parser___pop(var_p);
3914 }
3915 var_nodearraylist1 = var3;
3916 var_tkwvarnode2 = var_nodearraylist1;
3917 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
3918 cltype = type_nullable__nitc__TKwvar.color;
3919 idtype = type_nullable__nitc__TKwvar.id;
3920 if(var_tkwvarnode2 == NULL) {
3921 var4 = 1;
3922 } else {
3923 if(cltype >= (((long)var_tkwvarnode2&3)?type_info[((long)var_tkwvarnode2&3)]:var_tkwvarnode2->type)->table_size) {
3924 var4 = 0;
3925 } else {
3926 var4 = (((long)var_tkwvarnode2&3)?type_info[((long)var_tkwvarnode2&3)]:var_tkwvarnode2->type)->type_table[cltype] == idtype;
3927 }
3928 }
3929 if (unlikely(!var4)) {
3930 if(catchStack.cursor >= 0){
3931 longjmp(catchStack.envs[catchStack.cursor], 1);
3932 }
3933 PRINT_ERROR("Runtime error: %s", "Assert failed");
3934 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5847);
3935 fatal_exit(1);
3936 }
3937 var_tidnode3 = var_nodearraylist2;
3938 /* <var_tidnode3:nullable Object> isa nullable TId */
3939 cltype6 = type_nullable__nitc__TId.color;
3940 idtype7 = type_nullable__nitc__TId.id;
3941 if(var_tidnode3 == NULL) {
3942 var5 = 1;
3943 } else {
3944 if(cltype6 >= (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->table_size) {
3945 var5 = 0;
3946 } else {
3947 var5 = (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->type_table[cltype6] == idtype7;
3948 }
3949 }
3950 if (unlikely(!var5)) {
3951 if(catchStack.cursor >= 0){
3952 longjmp(catchStack.envs[catchStack.cursor], 1);
3953 }
3954 PRINT_ERROR("Runtime error: %s", "Assert failed");
3955 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5849);
3956 fatal_exit(1);
3957 }
3958 var_ptypenode4 = var_nodearraylist4;
3959 /* <var_ptypenode4:nullable Object> isa nullable AType */
3960 cltype9 = type_nullable__nitc__AType.color;
3961 idtype10 = type_nullable__nitc__AType.id;
3962 if(var_ptypenode4 == NULL) {
3963 var8 = 1;
3964 } else {
3965 if(cltype9 >= (((long)var_ptypenode4&3)?type_info[((long)var_ptypenode4&3)]:var_ptypenode4->type)->table_size) {
3966 var8 = 0;
3967 } else {
3968 var8 = (((long)var_ptypenode4&3)?type_info[((long)var_ptypenode4&3)]:var_ptypenode4->type)->type_table[cltype9] == idtype10;
3969 }
3970 }
3971 if (unlikely(!var8)) {
3972 if(catchStack.cursor >= 0){
3973 longjmp(catchStack.envs[catchStack.cursor], 1);
3974 }
3975 PRINT_ERROR("Runtime error: %s", "Assert failed");
3976 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5851);
3977 fatal_exit(1);
3978 }
3979 var_pannotationsnode7 = var_nodearraylist3;
3980 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
3981 cltype12 = type_nullable__nitc__AAnnotations.color;
3982 idtype13 = type_nullable__nitc__AAnnotations.id;
3983 if(var_pannotationsnode7 == NULL) {
3984 var11 = 1;
3985 } else {
3986 if(cltype12 >= (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->table_size) {
3987 var11 = 0;
3988 } else {
3989 var11 = (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->type_table[cltype12] == idtype13;
3990 }
3991 }
3992 if (unlikely(!var11)) {
3993 if(catchStack.cursor >= 0){
3994 longjmp(catchStack.envs[catchStack.cursor], 1);
3995 }
3996 PRINT_ERROR("Runtime error: %s", "Assert failed");
3997 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5853);
3998 fatal_exit(1);
3999 }
4000 var14 = NEW_nitc__AVardeclExpr(&type_nitc__AVardeclExpr);
4001 {
4002 nitc__parser_prod___AVardeclExpr___init_avardeclexpr(var14, var_tkwvarnode2, var_tidnode3, var_ptypenode4, ((val*)NULL), ((val*)NULL), var_pannotationsnode7); /* Direct call parser_prod$AVardeclExpr$init_avardeclexpr on <var14:AVardeclExpr>*/
4003 }
4004 var_pexprnode1 = var14;
4005 var_node_list = var_pexprnode1;
4006 var15 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction205> */
4007 {
4008 var16 = nitc___nitc__Parser___go_to(var_p, var15);
4009 }
4010 {
4011 nitc___nitc__Parser___push(var_p, var16, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
4012 }
4013 RET_LABEL:;
4014 }
4015 /* method parser$ReduceAction206$action for (self: ReduceAction206, Parser) */
4016 void nitc__parser___nitc__parser__ReduceAction206___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
4017 val* var_p /* var p: Parser */;
4018 val* var_node_list /* var node_list: nullable Object */;
4019 val* var /* : nullable Object */;
4020 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4021 val* var1 /* : nullable Object */;
4022 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4023 val* var2 /* : nullable Object */;
4024 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4025 val* var3 /* : nullable Object */;
4026 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4027 val* var4 /* : nullable Object */;
4028 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4029 val* var5 /* : nullable Object */;
4030 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4031 val* var_tkwvarnode2 /* var tkwvarnode2: nullable Object */;
4032 short int var6 /* : Bool */;
4033 int cltype;
4034 int idtype;
4035 val* var_tidnode3 /* var tidnode3: nullable Object */;
4036 short int var7 /* : Bool */;
4037 int cltype8;
4038 int idtype9;
4039 val* var_ptypenode4 /* var ptypenode4: nullable Object */;
4040 short int var10 /* : Bool */;
4041 int cltype11;
4042 int idtype12;
4043 val* var_tassignnode5 /* var tassignnode5: nullable Object */;
4044 short int var13 /* : Bool */;
4045 int cltype14;
4046 int idtype15;
4047 val* var_pexprnode6 /* var pexprnode6: nullable Object */;
4048 short int var16 /* : Bool */;
4049 int cltype17;
4050 int idtype18;
4051 val* var19 /* : AVardeclExpr */;
4052 val* var_pexprnode1 /* var pexprnode1: nullable AVardeclExpr */;
4053 long var20 /* : Int */;
4054 long var21 /* : Int */;
4055 var_p = p0;
4056 var_node_list = ((val*)NULL);
4057 {
4058 var = nitc___nitc__Parser___pop(var_p);
4059 }
4060 var_nodearraylist6 = var;
4061 {
4062 var1 = nitc___nitc__Parser___pop(var_p);
4063 }
4064 var_nodearraylist5 = var1;
4065 {
4066 var2 = nitc___nitc__Parser___pop(var_p);
4067 }
4068 var_nodearraylist4 = var2;
4069 {
4070 var3 = nitc___nitc__Parser___pop(var_p);
4071 }
4072 var_nodearraylist3 = var3;
4073 {
4074 var4 = nitc___nitc__Parser___pop(var_p);
4075 }
4076 var_nodearraylist2 = var4;
4077 {
4078 var5 = nitc___nitc__Parser___pop(var_p);
4079 }
4080 var_nodearraylist1 = var5;
4081 var_tkwvarnode2 = var_nodearraylist1;
4082 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
4083 cltype = type_nullable__nitc__TKwvar.color;
4084 idtype = type_nullable__nitc__TKwvar.id;
4085 if(var_tkwvarnode2 == NULL) {
4086 var6 = 1;
4087 } else {
4088 if(cltype >= (((long)var_tkwvarnode2&3)?type_info[((long)var_tkwvarnode2&3)]:var_tkwvarnode2->type)->table_size) {
4089 var6 = 0;
4090 } else {
4091 var6 = (((long)var_tkwvarnode2&3)?type_info[((long)var_tkwvarnode2&3)]:var_tkwvarnode2->type)->type_table[cltype] == idtype;
4092 }
4093 }
4094 if (unlikely(!var6)) {
4095 if(catchStack.cursor >= 0){
4096 longjmp(catchStack.envs[catchStack.cursor], 1);
4097 }
4098 PRINT_ERROR("Runtime error: %s", "Assert failed");
4099 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5878);
4100 fatal_exit(1);
4101 }
4102 var_tidnode3 = var_nodearraylist2;
4103 /* <var_tidnode3:nullable Object> isa nullable TId */
4104 cltype8 = type_nullable__nitc__TId.color;
4105 idtype9 = type_nullable__nitc__TId.id;
4106 if(var_tidnode3 == NULL) {
4107 var7 = 1;
4108 } else {
4109 if(cltype8 >= (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->table_size) {
4110 var7 = 0;
4111 } else {
4112 var7 = (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->type_table[cltype8] == idtype9;
4113 }
4114 }
4115 if (unlikely(!var7)) {
4116 if(catchStack.cursor >= 0){
4117 longjmp(catchStack.envs[catchStack.cursor], 1);
4118 }
4119 PRINT_ERROR("Runtime error: %s", "Assert failed");
4120 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5880);
4121 fatal_exit(1);
4122 }
4123 var_ptypenode4 = var_nodearraylist3;
4124 /* <var_ptypenode4:nullable Object> isa nullable AType */
4125 cltype11 = type_nullable__nitc__AType.color;
4126 idtype12 = type_nullable__nitc__AType.id;
4127 if(var_ptypenode4 == NULL) {
4128 var10 = 1;
4129 } else {
4130 if(cltype11 >= (((long)var_ptypenode4&3)?type_info[((long)var_ptypenode4&3)]:var_ptypenode4->type)->table_size) {
4131 var10 = 0;
4132 } else {
4133 var10 = (((long)var_ptypenode4&3)?type_info[((long)var_ptypenode4&3)]:var_ptypenode4->type)->type_table[cltype11] == idtype12;
4134 }
4135 }
4136 if (unlikely(!var10)) {
4137 if(catchStack.cursor >= 0){
4138 longjmp(catchStack.envs[catchStack.cursor], 1);
4139 }
4140 PRINT_ERROR("Runtime error: %s", "Assert failed");
4141 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5882);
4142 fatal_exit(1);
4143 }
4144 var_tassignnode5 = var_nodearraylist4;
4145 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
4146 cltype14 = type_nullable__nitc__TAssign.color;
4147 idtype15 = type_nullable__nitc__TAssign.id;
4148 if(var_tassignnode5 == NULL) {
4149 var13 = 1;
4150 } else {
4151 if(cltype14 >= (((long)var_tassignnode5&3)?type_info[((long)var_tassignnode5&3)]:var_tassignnode5->type)->table_size) {
4152 var13 = 0;
4153 } else {
4154 var13 = (((long)var_tassignnode5&3)?type_info[((long)var_tassignnode5&3)]:var_tassignnode5->type)->type_table[cltype14] == idtype15;
4155 }
4156 }
4157 if (unlikely(!var13)) {
4158 if(catchStack.cursor >= 0){
4159 longjmp(catchStack.envs[catchStack.cursor], 1);
4160 }
4161 PRINT_ERROR("Runtime error: %s", "Assert failed");
4162 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5884);
4163 fatal_exit(1);
4164 }
4165 var_pexprnode6 = var_nodearraylist6;
4166 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
4167 cltype17 = type_nullable__nitc__AExpr.color;
4168 idtype18 = type_nullable__nitc__AExpr.id;
4169 if(var_pexprnode6 == NULL) {
4170 var16 = 1;
4171 } else {
4172 if(cltype17 >= (((long)var_pexprnode6&3)?type_info[((long)var_pexprnode6&3)]:var_pexprnode6->type)->table_size) {
4173 var16 = 0;
4174 } else {
4175 var16 = (((long)var_pexprnode6&3)?type_info[((long)var_pexprnode6&3)]:var_pexprnode6->type)->type_table[cltype17] == idtype18;
4176 }
4177 }
4178 if (unlikely(!var16)) {
4179 if(catchStack.cursor >= 0){
4180 longjmp(catchStack.envs[catchStack.cursor], 1);
4181 }
4182 PRINT_ERROR("Runtime error: %s", "Assert failed");
4183 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5886);
4184 fatal_exit(1);
4185 }
4186 var19 = NEW_nitc__AVardeclExpr(&type_nitc__AVardeclExpr);
4187 {
4188 nitc__parser_prod___AVardeclExpr___init_avardeclexpr(var19, var_tkwvarnode2, var_tidnode3, var_ptypenode4, var_tassignnode5, var_pexprnode6, ((val*)NULL)); /* Direct call parser_prod$AVardeclExpr$init_avardeclexpr on <var19:AVardeclExpr>*/
4189 }
4190 var_pexprnode1 = var19;
4191 var_node_list = var_pexprnode1;
4192 var20 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction206> */
4193 {
4194 var21 = nitc___nitc__Parser___go_to(var_p, var20);
4195 }
4196 {
4197 nitc___nitc__Parser___push(var_p, var21, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
4198 }
4199 RET_LABEL:;
4200 }
4201 /* method parser$ReduceAction207$action for (self: ReduceAction207, Parser) */
4202 void nitc__parser___nitc__parser__ReduceAction207___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
4203 val* var_p /* var p: Parser */;
4204 val* var_node_list /* var node_list: nullable Object */;
4205 val* var /* : nullable Object */;
4206 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4207 val* var1 /* : nullable Object */;
4208 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4209 val* var2 /* : nullable Object */;
4210 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4211 val* var3 /* : nullable Object */;
4212 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4213 val* var4 /* : nullable Object */;
4214 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4215 val* var5 /* : nullable Object */;
4216 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4217 val* var6 /* : nullable Object */;
4218 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4219 val* var_tkwvarnode2 /* var tkwvarnode2: nullable Object */;
4220 short int var7 /* : Bool */;
4221 int cltype;
4222 int idtype;
4223 val* var_tidnode3 /* var tidnode3: nullable Object */;
4224 short int var8 /* : Bool */;
4225 int cltype9;
4226 int idtype10;
4227 val* var_ptypenode4 /* var ptypenode4: nullable Object */;
4228 short int var11 /* : Bool */;
4229 int cltype12;
4230 int idtype13;
4231 val* var_tassignnode5 /* var tassignnode5: nullable Object */;
4232 short int var14 /* : Bool */;
4233 int cltype15;
4234 int idtype16;
4235 val* var_pexprnode6 /* var pexprnode6: nullable Object */;
4236 short int var17 /* : Bool */;
4237 int cltype18;
4238 int idtype19;
4239 val* var_pannotationsnode7 /* var pannotationsnode7: nullable Object */;
4240 short int var20 /* : Bool */;
4241 int cltype21;
4242 int idtype22;
4243 val* var23 /* : AVardeclExpr */;
4244 val* var_pexprnode1 /* var pexprnode1: nullable AVardeclExpr */;
4245 long var24 /* : Int */;
4246 long var25 /* : Int */;
4247 var_p = p0;
4248 var_node_list = ((val*)NULL);
4249 {
4250 var = nitc___nitc__Parser___pop(var_p);
4251 }
4252 var_nodearraylist7 = var;
4253 {
4254 var1 = nitc___nitc__Parser___pop(var_p);
4255 }
4256 var_nodearraylist6 = var1;
4257 {
4258 var2 = nitc___nitc__Parser___pop(var_p);
4259 }
4260 var_nodearraylist5 = var2;
4261 {
4262 var3 = nitc___nitc__Parser___pop(var_p);
4263 }
4264 var_nodearraylist4 = var3;
4265 {
4266 var4 = nitc___nitc__Parser___pop(var_p);
4267 }
4268 var_nodearraylist3 = var4;
4269 {
4270 var5 = nitc___nitc__Parser___pop(var_p);
4271 }
4272 var_nodearraylist2 = var5;
4273 {
4274 var6 = nitc___nitc__Parser___pop(var_p);
4275 }
4276 var_nodearraylist1 = var6;
4277 var_tkwvarnode2 = var_nodearraylist1;
4278 /* <var_tkwvarnode2:nullable Object> isa nullable TKwvar */
4279 cltype = type_nullable__nitc__TKwvar.color;
4280 idtype = type_nullable__nitc__TKwvar.id;
4281 if(var_tkwvarnode2 == NULL) {
4282 var7 = 1;
4283 } else {
4284 if(cltype >= (((long)var_tkwvarnode2&3)?type_info[((long)var_tkwvarnode2&3)]:var_tkwvarnode2->type)->table_size) {
4285 var7 = 0;
4286 } else {
4287 var7 = (((long)var_tkwvarnode2&3)?type_info[((long)var_tkwvarnode2&3)]:var_tkwvarnode2->type)->type_table[cltype] == idtype;
4288 }
4289 }
4290 if (unlikely(!var7)) {
4291 if(catchStack.cursor >= 0){
4292 longjmp(catchStack.envs[catchStack.cursor], 1);
4293 }
4294 PRINT_ERROR("Runtime error: %s", "Assert failed");
4295 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5912);
4296 fatal_exit(1);
4297 }
4298 var_tidnode3 = var_nodearraylist2;
4299 /* <var_tidnode3:nullable Object> isa nullable TId */
4300 cltype9 = type_nullable__nitc__TId.color;
4301 idtype10 = type_nullable__nitc__TId.id;
4302 if(var_tidnode3 == NULL) {
4303 var8 = 1;
4304 } else {
4305 if(cltype9 >= (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->table_size) {
4306 var8 = 0;
4307 } else {
4308 var8 = (((long)var_tidnode3&3)?type_info[((long)var_tidnode3&3)]:var_tidnode3->type)->type_table[cltype9] == idtype10;
4309 }
4310 }
4311 if (unlikely(!var8)) {
4312 if(catchStack.cursor >= 0){
4313 longjmp(catchStack.envs[catchStack.cursor], 1);
4314 }
4315 PRINT_ERROR("Runtime error: %s", "Assert failed");
4316 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5914);
4317 fatal_exit(1);
4318 }
4319 var_ptypenode4 = var_nodearraylist4;
4320 /* <var_ptypenode4:nullable Object> isa nullable AType */
4321 cltype12 = type_nullable__nitc__AType.color;
4322 idtype13 = type_nullable__nitc__AType.id;
4323 if(var_ptypenode4 == NULL) {
4324 var11 = 1;
4325 } else {
4326 if(cltype12 >= (((long)var_ptypenode4&3)?type_info[((long)var_ptypenode4&3)]:var_ptypenode4->type)->table_size) {
4327 var11 = 0;
4328 } else {
4329 var11 = (((long)var_ptypenode4&3)?type_info[((long)var_ptypenode4&3)]:var_ptypenode4->type)->type_table[cltype12] == idtype13;
4330 }
4331 }
4332 if (unlikely(!var11)) {
4333 if(catchStack.cursor >= 0){
4334 longjmp(catchStack.envs[catchStack.cursor], 1);
4335 }
4336 PRINT_ERROR("Runtime error: %s", "Assert failed");
4337 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5916);
4338 fatal_exit(1);
4339 }
4340 var_tassignnode5 = var_nodearraylist5;
4341 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
4342 cltype15 = type_nullable__nitc__TAssign.color;
4343 idtype16 = type_nullable__nitc__TAssign.id;
4344 if(var_tassignnode5 == NULL) {
4345 var14 = 1;
4346 } else {
4347 if(cltype15 >= (((long)var_tassignnode5&3)?type_info[((long)var_tassignnode5&3)]:var_tassignnode5->type)->table_size) {
4348 var14 = 0;
4349 } else {
4350 var14 = (((long)var_tassignnode5&3)?type_info[((long)var_tassignnode5&3)]:var_tassignnode5->type)->type_table[cltype15] == idtype16;
4351 }
4352 }
4353 if (unlikely(!var14)) {
4354 if(catchStack.cursor >= 0){
4355 longjmp(catchStack.envs[catchStack.cursor], 1);
4356 }
4357 PRINT_ERROR("Runtime error: %s", "Assert failed");
4358 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5918);
4359 fatal_exit(1);
4360 }
4361 var_pexprnode6 = var_nodearraylist7;
4362 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
4363 cltype18 = type_nullable__nitc__AExpr.color;
4364 idtype19 = type_nullable__nitc__AExpr.id;
4365 if(var_pexprnode6 == NULL) {
4366 var17 = 1;
4367 } else {
4368 if(cltype18 >= (((long)var_pexprnode6&3)?type_info[((long)var_pexprnode6&3)]:var_pexprnode6->type)->table_size) {
4369 var17 = 0;
4370 } else {
4371 var17 = (((long)var_pexprnode6&3)?type_info[((long)var_pexprnode6&3)]:var_pexprnode6->type)->type_table[cltype18] == idtype19;
4372 }
4373 }
4374 if (unlikely(!var17)) {
4375 if(catchStack.cursor >= 0){
4376 longjmp(catchStack.envs[catchStack.cursor], 1);
4377 }
4378 PRINT_ERROR("Runtime error: %s", "Assert failed");
4379 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5920);
4380 fatal_exit(1);
4381 }
4382 var_pannotationsnode7 = var_nodearraylist3;
4383 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
4384 cltype21 = type_nullable__nitc__AAnnotations.color;
4385 idtype22 = type_nullable__nitc__AAnnotations.id;
4386 if(var_pannotationsnode7 == NULL) {
4387 var20 = 1;
4388 } else {
4389 if(cltype21 >= (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->table_size) {
4390 var20 = 0;
4391 } else {
4392 var20 = (((long)var_pannotationsnode7&3)?type_info[((long)var_pannotationsnode7&3)]:var_pannotationsnode7->type)->type_table[cltype21] == idtype22;
4393 }
4394 }
4395 if (unlikely(!var20)) {
4396 if(catchStack.cursor >= 0){
4397 longjmp(catchStack.envs[catchStack.cursor], 1);
4398 }
4399 PRINT_ERROR("Runtime error: %s", "Assert failed");
4400 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5922);
4401 fatal_exit(1);
4402 }
4403 var23 = NEW_nitc__AVardeclExpr(&type_nitc__AVardeclExpr);
4404 {
4405 nitc__parser_prod___AVardeclExpr___init_avardeclexpr(var23, var_tkwvarnode2, var_tidnode3, var_ptypenode4, var_tassignnode5, var_pexprnode6, var_pannotationsnode7); /* Direct call parser_prod$AVardeclExpr$init_avardeclexpr on <var23:AVardeclExpr>*/
4406 }
4407 var_pexprnode1 = var23;
4408 var_node_list = var_pexprnode1;
4409 var24 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction207> */
4410 {
4411 var25 = nitc___nitc__Parser___go_to(var_p, var24);
4412 }
4413 {
4414 nitc___nitc__Parser___push(var_p, var25, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
4415 }
4416 RET_LABEL:;
4417 }
4418 /* method parser$ReduceAction208$action for (self: ReduceAction208, Parser) */
4419 void nitc__parser___nitc__parser__ReduceAction208___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
4420 val* var_p /* var p: Parser */;
4421 val* var_node_list /* var node_list: nullable Object */;
4422 val* var /* : nullable Object */;
4423 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4424 val* var1 /* : nullable Object */;
4425 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4426 val* var2 /* : nullable Object */;
4427 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4428 val* var3 /* : nullable Object */;
4429 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4430 val* var4 /* : nullable Object */;
4431 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4432 val* var5 /* : nullable Object */;
4433 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4434 val* var6 /* : nullable Object */;
4435 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4436 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
4437 short int var7 /* : Bool */;
4438 int cltype;
4439 int idtype;
4440 val* var_tattridnode3 /* var tattridnode3: nullable Object */;
4441 short int var8 /* : Bool */;
4442 int cltype9;
4443 int idtype10;
4444 val* var_tassignnode4 /* var tassignnode4: nullable Object */;
4445 short int var11 /* : Bool */;
4446 int cltype12;
4447 int idtype13;
4448 val* var_pexprnode5 /* var pexprnode5: nullable Object */;
4449 short int var14 /* : Bool */;
4450 int cltype15;
4451 int idtype16;
4452 val* var17 /* : AAttrAssignExpr */;
4453 val* var_pexprnode1 /* var pexprnode1: nullable AAttrAssignExpr */;
4454 long var18 /* : Int */;
4455 long var19 /* : Int */;
4456 var_p = p0;
4457 var_node_list = ((val*)NULL);
4458 {
4459 var = nitc___nitc__Parser___pop(var_p);
4460 }
4461 var_nodearraylist7 = var;
4462 {
4463 var1 = nitc___nitc__Parser___pop(var_p);
4464 }
4465 var_nodearraylist6 = var1;
4466 {
4467 var2 = nitc___nitc__Parser___pop(var_p);
4468 }
4469 var_nodearraylist5 = var2;
4470 {
4471 var3 = nitc___nitc__Parser___pop(var_p);
4472 }
4473 var_nodearraylist4 = var3;
4474 {
4475 var4 = nitc___nitc__Parser___pop(var_p);
4476 }
4477 var_nodearraylist3 = var4;
4478 {
4479 var5 = nitc___nitc__Parser___pop(var_p);
4480 }
4481 var_nodearraylist2 = var5;
4482 {
4483 var6 = nitc___nitc__Parser___pop(var_p);
4484 }
4485 var_nodearraylist1 = var6;
4486 var_pexprnode2 = var_nodearraylist1;
4487 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4488 cltype = type_nullable__nitc__AExpr.color;
4489 idtype = type_nullable__nitc__AExpr.id;
4490 if(var_pexprnode2 == NULL) {
4491 var7 = 1;
4492 } else {
4493 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
4494 var7 = 0;
4495 } else {
4496 var7 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
4497 }
4498 }
4499 if (unlikely(!var7)) {
4500 if(catchStack.cursor >= 0){
4501 longjmp(catchStack.envs[catchStack.cursor], 1);
4502 }
4503 PRINT_ERROR("Runtime error: %s", "Assert failed");
4504 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5948);
4505 fatal_exit(1);
4506 }
4507 var_tattridnode3 = var_nodearraylist5;
4508 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
4509 cltype9 = type_nullable__nitc__TAttrid.color;
4510 idtype10 = type_nullable__nitc__TAttrid.id;
4511 if(var_tattridnode3 == NULL) {
4512 var8 = 1;
4513 } else {
4514 if(cltype9 >= (((long)var_tattridnode3&3)?type_info[((long)var_tattridnode3&3)]:var_tattridnode3->type)->table_size) {
4515 var8 = 0;
4516 } else {
4517 var8 = (((long)var_tattridnode3&3)?type_info[((long)var_tattridnode3&3)]:var_tattridnode3->type)->type_table[cltype9] == idtype10;
4518 }
4519 }
4520 if (unlikely(!var8)) {
4521 if(catchStack.cursor >= 0){
4522 longjmp(catchStack.envs[catchStack.cursor], 1);
4523 }
4524 PRINT_ERROR("Runtime error: %s", "Assert failed");
4525 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5950);
4526 fatal_exit(1);
4527 }
4528 var_tassignnode4 = var_nodearraylist6;
4529 /* <var_tassignnode4:nullable Object> isa nullable TAssign */
4530 cltype12 = type_nullable__nitc__TAssign.color;
4531 idtype13 = type_nullable__nitc__TAssign.id;
4532 if(var_tassignnode4 == NULL) {
4533 var11 = 1;
4534 } else {
4535 if(cltype12 >= (((long)var_tassignnode4&3)?type_info[((long)var_tassignnode4&3)]:var_tassignnode4->type)->table_size) {
4536 var11 = 0;
4537 } else {
4538 var11 = (((long)var_tassignnode4&3)?type_info[((long)var_tassignnode4&3)]:var_tassignnode4->type)->type_table[cltype12] == idtype13;
4539 }
4540 }
4541 if (unlikely(!var11)) {
4542 if(catchStack.cursor >= 0){
4543 longjmp(catchStack.envs[catchStack.cursor], 1);
4544 }
4545 PRINT_ERROR("Runtime error: %s", "Assert failed");
4546 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5952);
4547 fatal_exit(1);
4548 }
4549 var_pexprnode5 = var_nodearraylist7;
4550 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
4551 cltype15 = type_nullable__nitc__AExpr.color;
4552 idtype16 = type_nullable__nitc__AExpr.id;
4553 if(var_pexprnode5 == NULL) {
4554 var14 = 1;
4555 } else {
4556 if(cltype15 >= (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->table_size) {
4557 var14 = 0;
4558 } else {
4559 var14 = (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->type_table[cltype15] == idtype16;
4560 }
4561 }
4562 if (unlikely(!var14)) {
4563 if(catchStack.cursor >= 0){
4564 longjmp(catchStack.envs[catchStack.cursor], 1);
4565 }
4566 PRINT_ERROR("Runtime error: %s", "Assert failed");
4567 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5954);
4568 fatal_exit(1);
4569 }
4570 var17 = NEW_nitc__AAttrAssignExpr(&type_nitc__AAttrAssignExpr);
4571 {
4572 nitc__parser_prod___AAttrAssignExpr___init_aattrassignexpr(var17, var_pexprnode2, var_tattridnode3, var_tassignnode4, var_pexprnode5); /* Direct call parser_prod$AAttrAssignExpr$init_aattrassignexpr on <var17:AAttrAssignExpr>*/
4573 }
4574 var_pexprnode1 = var17;
4575 var_node_list = var_pexprnode1;
4576 var18 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction208> */
4577 {
4578 var19 = nitc___nitc__Parser___go_to(var_p, var18);
4579 }
4580 {
4581 nitc___nitc__Parser___push(var_p, var19, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
4582 }
4583 RET_LABEL:;
4584 }
4585 /* method parser$ReduceAction209$action for (self: ReduceAction209, Parser) */
4586 void nitc__parser___nitc__parser__ReduceAction209___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
4587 val* var_p /* var p: Parser */;
4588 val* var_node_list /* var node_list: nullable Object */;
4589 val* var /* : nullable Object */;
4590 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4591 val* var1 /* : nullable Object */;
4592 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4593 val* var2 /* : nullable Object */;
4594 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4595 val* var3 /* : nullable Object */;
4596 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4597 val* var4 /* : AImplicitSelfExpr */;
4598 val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */;
4599 val* var_tattridnode3 /* var tattridnode3: nullable Object */;
4600 short int var5 /* : Bool */;
4601 int cltype;
4602 int idtype;
4603 val* var_tassignnode4 /* var tassignnode4: nullable Object */;
4604 short int var6 /* : Bool */;
4605 int cltype7;
4606 int idtype8;
4607 val* var_pexprnode5 /* var pexprnode5: nullable Object */;
4608 short int var9 /* : Bool */;
4609 int cltype10;
4610 int idtype11;
4611 val* var12 /* : AAttrAssignExpr */;
4612 val* var_pexprnode1 /* var pexprnode1: nullable AAttrAssignExpr */;
4613 long var13 /* : Int */;
4614 long var14 /* : Int */;
4615 var_p = p0;
4616 var_node_list = ((val*)NULL);
4617 {
4618 var = nitc___nitc__Parser___pop(var_p);
4619 }
4620 var_nodearraylist4 = var;
4621 {
4622 var1 = nitc___nitc__Parser___pop(var_p);
4623 }
4624 var_nodearraylist3 = var1;
4625 {
4626 var2 = nitc___nitc__Parser___pop(var_p);
4627 }
4628 var_nodearraylist2 = var2;
4629 {
4630 var3 = nitc___nitc__Parser___pop(var_p);
4631 }
4632 var_nodearraylist1 = var3;
4633 var4 = NEW_nitc__AImplicitSelfExpr(&type_nitc__AImplicitSelfExpr);
4634 {
4635 nitc__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var4); /* Direct call parser_prod$AImplicitSelfExpr$init_aimplicitselfexpr on <var4:AImplicitSelfExpr>*/
4636 }
4637 var_pexprnode2 = var4;
4638 var_tattridnode3 = var_nodearraylist2;
4639 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
4640 cltype = type_nullable__nitc__TAttrid.color;
4641 idtype = type_nullable__nitc__TAttrid.id;
4642 if(var_tattridnode3 == NULL) {
4643 var5 = 1;
4644 } else {
4645 if(cltype >= (((long)var_tattridnode3&3)?type_info[((long)var_tattridnode3&3)]:var_tattridnode3->type)->table_size) {
4646 var5 = 0;
4647 } else {
4648 var5 = (((long)var_tattridnode3&3)?type_info[((long)var_tattridnode3&3)]:var_tattridnode3->type)->type_table[cltype] == idtype;
4649 }
4650 }
4651 if (unlikely(!var5)) {
4652 if(catchStack.cursor >= 0){
4653 longjmp(catchStack.envs[catchStack.cursor], 1);
4654 }
4655 PRINT_ERROR("Runtime error: %s", "Assert failed");
4656 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5976);
4657 fatal_exit(1);
4658 }
4659 var_tassignnode4 = var_nodearraylist3;
4660 /* <var_tassignnode4:nullable Object> isa nullable TAssign */
4661 cltype7 = type_nullable__nitc__TAssign.color;
4662 idtype8 = type_nullable__nitc__TAssign.id;
4663 if(var_tassignnode4 == NULL) {
4664 var6 = 1;
4665 } else {
4666 if(cltype7 >= (((long)var_tassignnode4&3)?type_info[((long)var_tassignnode4&3)]:var_tassignnode4->type)->table_size) {
4667 var6 = 0;
4668 } else {
4669 var6 = (((long)var_tassignnode4&3)?type_info[((long)var_tassignnode4&3)]:var_tassignnode4->type)->type_table[cltype7] == idtype8;
4670 }
4671 }
4672 if (unlikely(!var6)) {
4673 if(catchStack.cursor >= 0){
4674 longjmp(catchStack.envs[catchStack.cursor], 1);
4675 }
4676 PRINT_ERROR("Runtime error: %s", "Assert failed");
4677 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5978);
4678 fatal_exit(1);
4679 }
4680 var_pexprnode5 = var_nodearraylist4;
4681 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
4682 cltype10 = type_nullable__nitc__AExpr.color;
4683 idtype11 = type_nullable__nitc__AExpr.id;
4684 if(var_pexprnode5 == NULL) {
4685 var9 = 1;
4686 } else {
4687 if(cltype10 >= (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->table_size) {
4688 var9 = 0;
4689 } else {
4690 var9 = (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->type_table[cltype10] == idtype11;
4691 }
4692 }
4693 if (unlikely(!var9)) {
4694 if(catchStack.cursor >= 0){
4695 longjmp(catchStack.envs[catchStack.cursor], 1);
4696 }
4697 PRINT_ERROR("Runtime error: %s", "Assert failed");
4698 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 5980);
4699 fatal_exit(1);
4700 }
4701 var12 = NEW_nitc__AAttrAssignExpr(&type_nitc__AAttrAssignExpr);
4702 {
4703 nitc__parser_prod___AAttrAssignExpr___init_aattrassignexpr(var12, var_pexprnode2, var_tattridnode3, var_tassignnode4, var_pexprnode5); /* Direct call parser_prod$AAttrAssignExpr$init_aattrassignexpr on <var12:AAttrAssignExpr>*/
4704 }
4705 var_pexprnode1 = var12;
4706 var_node_list = var_pexprnode1;
4707 var13 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction209> */
4708 {
4709 var14 = nitc___nitc__Parser___go_to(var_p, var13);
4710 }
4711 {
4712 nitc___nitc__Parser___push(var_p, var14, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
4713 }
4714 RET_LABEL:;
4715 }
4716 /* method parser$ReduceAction210$action for (self: ReduceAction210, Parser) */
4717 void nitc__parser___nitc__parser__ReduceAction210___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
4718 val* var_p /* var p: Parser */;
4719 val* var_node_list /* var node_list: nullable Object */;
4720 val* var /* : nullable Object */;
4721 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4722 val* var1 /* : nullable Object */;
4723 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4724 val* var2 /* : nullable Object */;
4725 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4726 val* var3 /* : nullable Object */;
4727 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4728 val* var4 /* : nullable Object */;
4729 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4730 val* var5 /* : nullable Object */;
4731 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4732 val* var6 /* : nullable Object */;
4733 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4734 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
4735 short int var7 /* : Bool */;
4736 int cltype;
4737 int idtype;
4738 val* var_tidnode5 /* var tidnode5: nullable Object */;
4739 short int var8 /* : Bool */;
4740 int cltype9;
4741 int idtype10;
4742 val* var11 /* : AQid */;
4743 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
4744 val* var_pexprsnode6 /* var pexprsnode6: nullable Object */;
4745 short int var12 /* : Bool */;
4746 int cltype13;
4747 int idtype14;
4748 val* var_tassignnode7 /* var tassignnode7: nullable Object */;
4749 short int var15 /* : Bool */;
4750 int cltype16;
4751 int idtype17;
4752 val* var_pexprnode8 /* var pexprnode8: nullable Object */;
4753 short int var18 /* : Bool */;
4754 int cltype19;
4755 int idtype20;
4756 val* var21 /* : ACallAssignExpr */;
4757 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
4758 long var22 /* : Int */;
4759 long var23 /* : Int */;
4760 var_p = p0;
4761 var_node_list = ((val*)NULL);
4762 {
4763 var = nitc___nitc__Parser___pop(var_p);
4764 }
4765 var_nodearraylist7 = var;
4766 {
4767 var1 = nitc___nitc__Parser___pop(var_p);
4768 }
4769 var_nodearraylist6 = var1;
4770 {
4771 var2 = nitc___nitc__Parser___pop(var_p);
4772 }
4773 var_nodearraylist5 = var2;
4774 {
4775 var3 = nitc___nitc__Parser___pop(var_p);
4776 }
4777 var_nodearraylist4 = var3;
4778 {
4779 var4 = nitc___nitc__Parser___pop(var_p);
4780 }
4781 var_nodearraylist3 = var4;
4782 {
4783 var5 = nitc___nitc__Parser___pop(var_p);
4784 }
4785 var_nodearraylist2 = var5;
4786 {
4787 var6 = nitc___nitc__Parser___pop(var_p);
4788 }
4789 var_nodearraylist1 = var6;
4790 var_pexprnode2 = var_nodearraylist1;
4791 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4792 cltype = type_nullable__nitc__AExpr.color;
4793 idtype = type_nullable__nitc__AExpr.id;
4794 if(var_pexprnode2 == NULL) {
4795 var7 = 1;
4796 } else {
4797 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
4798 var7 = 0;
4799 } else {
4800 var7 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
4801 }
4802 }
4803 if (unlikely(!var7)) {
4804 if(catchStack.cursor >= 0){
4805 longjmp(catchStack.envs[catchStack.cursor], 1);
4806 }
4807 PRINT_ERROR("Runtime error: %s", "Assert failed");
4808 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6004);
4809 fatal_exit(1);
4810 }
4811 var_tidnode5 = var_nodearraylist4;
4812 /* <var_tidnode5:nullable Object> isa nullable TId */
4813 cltype9 = type_nullable__nitc__TId.color;
4814 idtype10 = type_nullable__nitc__TId.id;
4815 if(var_tidnode5 == NULL) {
4816 var8 = 1;
4817 } else {
4818 if(cltype9 >= (((long)var_tidnode5&3)?type_info[((long)var_tidnode5&3)]:var_tidnode5->type)->table_size) {
4819 var8 = 0;
4820 } else {
4821 var8 = (((long)var_tidnode5&3)?type_info[((long)var_tidnode5&3)]:var_tidnode5->type)->type_table[cltype9] == idtype10;
4822 }
4823 }
4824 if (unlikely(!var8)) {
4825 if(catchStack.cursor >= 0){
4826 longjmp(catchStack.envs[catchStack.cursor], 1);
4827 }
4828 PRINT_ERROR("Runtime error: %s", "Assert failed");
4829 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6006);
4830 fatal_exit(1);
4831 }
4832 var11 = NEW_nitc__AQid(&type_nitc__AQid);
4833 {
4834 nitc__parser_prod___AQid___init_aqid(var11, ((val*)NULL), var_tidnode5); /* Direct call parser_prod$AQid$init_aqid on <var11:AQid>*/
4835 }
4836 var_pqidnode3 = var11;
4837 var_pexprsnode6 = var_nodearraylist5;
4838 /* <var_pexprsnode6:nullable Object> isa nullable AExprs */
4839 cltype13 = type_nullable__nitc__AExprs.color;
4840 idtype14 = type_nullable__nitc__AExprs.id;
4841 if(var_pexprsnode6 == NULL) {
4842 var12 = 1;
4843 } else {
4844 if(cltype13 >= (((long)var_pexprsnode6&3)?type_info[((long)var_pexprsnode6&3)]:var_pexprsnode6->type)->table_size) {
4845 var12 = 0;
4846 } else {
4847 var12 = (((long)var_pexprsnode6&3)?type_info[((long)var_pexprsnode6&3)]:var_pexprsnode6->type)->type_table[cltype13] == idtype14;
4848 }
4849 }
4850 if (unlikely(!var12)) {
4851 if(catchStack.cursor >= 0){
4852 longjmp(catchStack.envs[catchStack.cursor], 1);
4853 }
4854 PRINT_ERROR("Runtime error: %s", "Assert failed");
4855 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6012);
4856 fatal_exit(1);
4857 }
4858 var_tassignnode7 = var_nodearraylist6;
4859 /* <var_tassignnode7:nullable Object> isa nullable TAssign */
4860 cltype16 = type_nullable__nitc__TAssign.color;
4861 idtype17 = type_nullable__nitc__TAssign.id;
4862 if(var_tassignnode7 == NULL) {
4863 var15 = 1;
4864 } else {
4865 if(cltype16 >= (((long)var_tassignnode7&3)?type_info[((long)var_tassignnode7&3)]:var_tassignnode7->type)->table_size) {
4866 var15 = 0;
4867 } else {
4868 var15 = (((long)var_tassignnode7&3)?type_info[((long)var_tassignnode7&3)]:var_tassignnode7->type)->type_table[cltype16] == idtype17;
4869 }
4870 }
4871 if (unlikely(!var15)) {
4872 if(catchStack.cursor >= 0){
4873 longjmp(catchStack.envs[catchStack.cursor], 1);
4874 }
4875 PRINT_ERROR("Runtime error: %s", "Assert failed");
4876 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6014);
4877 fatal_exit(1);
4878 }
4879 var_pexprnode8 = var_nodearraylist7;
4880 /* <var_pexprnode8:nullable Object> isa nullable AExpr */
4881 cltype19 = type_nullable__nitc__AExpr.color;
4882 idtype20 = type_nullable__nitc__AExpr.id;
4883 if(var_pexprnode8 == NULL) {
4884 var18 = 1;
4885 } else {
4886 if(cltype19 >= (((long)var_pexprnode8&3)?type_info[((long)var_pexprnode8&3)]:var_pexprnode8->type)->table_size) {
4887 var18 = 0;
4888 } else {
4889 var18 = (((long)var_pexprnode8&3)?type_info[((long)var_pexprnode8&3)]:var_pexprnode8->type)->type_table[cltype19] == idtype20;
4890 }
4891 }
4892 if (unlikely(!var18)) {
4893 if(catchStack.cursor >= 0){
4894 longjmp(catchStack.envs[catchStack.cursor], 1);
4895 }
4896 PRINT_ERROR("Runtime error: %s", "Assert failed");
4897 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6016);
4898 fatal_exit(1);
4899 }
4900 var21 = NEW_nitc__ACallAssignExpr(&type_nitc__ACallAssignExpr);
4901 {
4902 nitc__parser_prod___ACallAssignExpr___init_acallassignexpr(var21, var_pexprnode2, var_pqidnode3, var_pexprsnode6, var_tassignnode7, var_pexprnode8); /* Direct call parser_prod$ACallAssignExpr$init_acallassignexpr on <var21:ACallAssignExpr>*/
4903 }
4904 var_pexprnode1 = var21;
4905 var_node_list = var_pexprnode1;
4906 var22 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction210> */
4907 {
4908 var23 = nitc___nitc__Parser___go_to(var_p, var22);
4909 }
4910 {
4911 nitc___nitc__Parser___push(var_p, var23, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
4912 }
4913 RET_LABEL:;
4914 }
4915 /* method parser$ReduceAction211$action for (self: ReduceAction211, Parser) */
4916 void nitc__parser___nitc__parser__ReduceAction211___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
4917 val* var_p /* var p: Parser */;
4918 val* var_node_list /* var node_list: nullable Object */;
4919 val* var /* : nullable Object */;
4920 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4921 val* var1 /* : nullable Object */;
4922 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4923 val* var2 /* : nullable Object */;
4924 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4925 val* var3 /* : nullable Object */;
4926 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4927 val* var4 /* : nullable Object */;
4928 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4929 val* var5 /* : nullable Object */;
4930 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4931 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
4932 short int var6 /* : Bool */;
4933 int cltype;
4934 int idtype;
4935 val* var_tidnode5 /* var tidnode5: nullable Object */;
4936 short int var7 /* : Bool */;
4937 int cltype8;
4938 int idtype9;
4939 val* var10 /* : AQid */;
4940 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
4941 val* var11 /* : Array[Object] */;
4942 val* var_listnode7 /* var listnode7: Array[Object] */;
4943 val* var12 /* : AListExprs */;
4944 val* var_pexprsnode6 /* var pexprsnode6: nullable AListExprs */;
4945 val* var_tassignnode8 /* var tassignnode8: nullable Object */;
4946 short int var13 /* : Bool */;
4947 int cltype14;
4948 int idtype15;
4949 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
4950 short int var16 /* : Bool */;
4951 int cltype17;
4952 int idtype18;
4953 val* var19 /* : ACallAssignExpr */;
4954 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
4955 long var20 /* : Int */;
4956 long var21 /* : Int */;
4957 var_p = p0;
4958 var_node_list = ((val*)NULL);
4959 {
4960 var = nitc___nitc__Parser___pop(var_p);
4961 }
4962 var_nodearraylist6 = var;
4963 {
4964 var1 = nitc___nitc__Parser___pop(var_p);
4965 }
4966 var_nodearraylist5 = var1;
4967 {
4968 var2 = nitc___nitc__Parser___pop(var_p);
4969 }
4970 var_nodearraylist4 = var2;
4971 {
4972 var3 = nitc___nitc__Parser___pop(var_p);
4973 }
4974 var_nodearraylist3 = var3;
4975 {
4976 var4 = nitc___nitc__Parser___pop(var_p);
4977 }
4978 var_nodearraylist2 = var4;
4979 {
4980 var5 = nitc___nitc__Parser___pop(var_p);
4981 }
4982 var_nodearraylist1 = var5;
4983 var_pexprnode2 = var_nodearraylist1;
4984 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4985 cltype = type_nullable__nitc__AExpr.color;
4986 idtype = type_nullable__nitc__AExpr.id;
4987 if(var_pexprnode2 == NULL) {
4988 var6 = 1;
4989 } else {
4990 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
4991 var6 = 0;
4992 } else {
4993 var6 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
4994 }
4995 }
4996 if (unlikely(!var6)) {
4997 if(catchStack.cursor >= 0){
4998 longjmp(catchStack.envs[catchStack.cursor], 1);
4999 }
5000 PRINT_ERROR("Runtime error: %s", "Assert failed");
5001 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6040);
5002 fatal_exit(1);
5003 }
5004 var_tidnode5 = var_nodearraylist4;
5005 /* <var_tidnode5:nullable Object> isa nullable TId */
5006 cltype8 = type_nullable__nitc__TId.color;
5007 idtype9 = type_nullable__nitc__TId.id;
5008 if(var_tidnode5 == NULL) {
5009 var7 = 1;
5010 } else {
5011 if(cltype8 >= (((long)var_tidnode5&3)?type_info[((long)var_tidnode5&3)]:var_tidnode5->type)->table_size) {
5012 var7 = 0;
5013 } else {
5014 var7 = (((long)var_tidnode5&3)?type_info[((long)var_tidnode5&3)]:var_tidnode5->type)->type_table[cltype8] == idtype9;
5015 }
5016 }
5017 if (unlikely(!var7)) {
5018 if(catchStack.cursor >= 0){
5019 longjmp(catchStack.envs[catchStack.cursor], 1);
5020 }
5021 PRINT_ERROR("Runtime error: %s", "Assert failed");
5022 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6042);
5023 fatal_exit(1);
5024 }
5025 var10 = NEW_nitc__AQid(&type_nitc__AQid);
5026 {
5027 nitc__parser_prod___AQid___init_aqid(var10, ((val*)NULL), var_tidnode5); /* Direct call parser_prod$AQid$init_aqid on <var10:AQid>*/
5028 }
5029 var_pqidnode3 = var10;
5030 var11 = NEW_core__Array(&type_core__Array__core__Object);
5031 {
5032 core___core__Array___core__kernel__Object__init(var11); /* Direct call array$Array$init on <var11:Array[Object]>*/
5033 }
5034 var_listnode7 = var11;
5035 var12 = NEW_nitc__AListExprs(&type_nitc__AListExprs);
5036 {
5037 nitc__parser_prod___AListExprs___init_alistexprs(var12, var_listnode7); /* Direct call parser_prod$AListExprs$init_alistexprs on <var12:AListExprs>*/
5038 }
5039 var_pexprsnode6 = var12;
5040 var_tassignnode8 = var_nodearraylist5;
5041 /* <var_tassignnode8:nullable Object> isa nullable TAssign */
5042 cltype14 = type_nullable__nitc__TAssign.color;
5043 idtype15 = type_nullable__nitc__TAssign.id;
5044 if(var_tassignnode8 == NULL) {
5045 var13 = 1;
5046 } else {
5047 if(cltype14 >= (((long)var_tassignnode8&3)?type_info[((long)var_tassignnode8&3)]:var_tassignnode8->type)->table_size) {
5048 var13 = 0;
5049 } else {
5050 var13 = (((long)var_tassignnode8&3)?type_info[((long)var_tassignnode8&3)]:var_tassignnode8->type)->type_table[cltype14] == idtype15;
5051 }
5052 }
5053 if (unlikely(!var13)) {
5054 if(catchStack.cursor >= 0){
5055 longjmp(catchStack.envs[catchStack.cursor], 1);
5056 }
5057 PRINT_ERROR("Runtime error: %s", "Assert failed");
5058 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6052);
5059 fatal_exit(1);
5060 }
5061 var_pexprnode9 = var_nodearraylist6;
5062 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
5063 cltype17 = type_nullable__nitc__AExpr.color;
5064 idtype18 = type_nullable__nitc__AExpr.id;
5065 if(var_pexprnode9 == NULL) {
5066 var16 = 1;
5067 } else {
5068 if(cltype17 >= (((long)var_pexprnode9&3)?type_info[((long)var_pexprnode9&3)]:var_pexprnode9->type)->table_size) {
5069 var16 = 0;
5070 } else {
5071 var16 = (((long)var_pexprnode9&3)?type_info[((long)var_pexprnode9&3)]:var_pexprnode9->type)->type_table[cltype17] == idtype18;
5072 }
5073 }
5074 if (unlikely(!var16)) {
5075 if(catchStack.cursor >= 0){
5076 longjmp(catchStack.envs[catchStack.cursor], 1);
5077 }
5078 PRINT_ERROR("Runtime error: %s", "Assert failed");
5079 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6054);
5080 fatal_exit(1);
5081 }
5082 var19 = NEW_nitc__ACallAssignExpr(&type_nitc__ACallAssignExpr);
5083 {
5084 nitc__parser_prod___ACallAssignExpr___init_acallassignexpr(var19, var_pexprnode2, var_pqidnode3, var_pexprsnode6, var_tassignnode8, var_pexprnode9); /* Direct call parser_prod$ACallAssignExpr$init_acallassignexpr on <var19:ACallAssignExpr>*/
5085 }
5086 var_pexprnode1 = var19;
5087 var_node_list = var_pexprnode1;
5088 var20 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction211> */
5089 {
5090 var21 = nitc___nitc__Parser___go_to(var_p, var20);
5091 }
5092 {
5093 nitc___nitc__Parser___push(var_p, var21, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
5094 }
5095 RET_LABEL:;
5096 }
5097 /* method parser$ReduceAction212$action for (self: ReduceAction212, Parser) */
5098 void nitc__parser___nitc__parser__ReduceAction212___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
5099 val* var_p /* var p: Parser */;
5100 val* var_node_list /* var node_list: nullable Object */;
5101 val* var /* : nullable Object */;
5102 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5103 val* var1 /* : nullable Object */;
5104 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5105 val* var2 /* : nullable Object */;
5106 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5107 val* var3 /* : nullable Object */;
5108 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5109 val* var4 /* : nullable Object */;
5110 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5111 val* var5 /* : nullable Object */;
5112 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5113 val* var6 /* : nullable Object */;
5114 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5115 val* var7 /* : nullable Object */;
5116 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5117 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
5118 short int var8 /* : Bool */;
5119 int cltype;
5120 int idtype;
5121 val* var9 /* : Array[Object] */;
5122 val* var_listnode5 /* var listnode5: Array[Object] */;
5123 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5124 short int var10 /* : Bool */;
5125 int cltype11;
5126 int idtype12;
5127 val* var13 /* : AQualified */;
5128 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
5129 val* var_tidnode7 /* var tidnode7: nullable Object */;
5130 short int var14 /* : Bool */;
5131 int cltype15;
5132 int idtype16;
5133 val* var17 /* : AQid */;
5134 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
5135 val* var_pexprsnode8 /* var pexprsnode8: nullable Object */;
5136 short int var18 /* : Bool */;
5137 int cltype19;
5138 int idtype20;
5139 val* var_tassignnode9 /* var tassignnode9: nullable Object */;
5140 short int var21 /* : Bool */;
5141 int cltype22;
5142 int idtype23;
5143 val* var_pexprnode10 /* var pexprnode10: nullable Object */;
5144 short int var24 /* : Bool */;
5145 int cltype25;
5146 int idtype26;
5147 val* var27 /* : ACallAssignExpr */;
5148 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
5149 long var28 /* : Int */;
5150 long var29 /* : Int */;
5151 var_p = p0;
5152 var_node_list = ((val*)NULL);
5153 {
5154 var = nitc___nitc__Parser___pop(var_p);
5155 }
5156 var_nodearraylist8 = var;
5157 {
5158 var1 = nitc___nitc__Parser___pop(var_p);
5159 }
5160 var_nodearraylist7 = var1;
5161 {
5162 var2 = nitc___nitc__Parser___pop(var_p);
5163 }
5164 var_nodearraylist6 = var2;
5165 {
5166 var3 = nitc___nitc__Parser___pop(var_p);
5167 }
5168 var_nodearraylist5 = var3;
5169 {
5170 var4 = nitc___nitc__Parser___pop(var_p);
5171 }
5172 var_nodearraylist4 = var4;
5173 {
5174 var5 = nitc___nitc__Parser___pop(var_p);
5175 }
5176 var_nodearraylist3 = var5;
5177 {
5178 var6 = nitc___nitc__Parser___pop(var_p);
5179 }
5180 var_nodearraylist2 = var6;
5181 {
5182 var7 = nitc___nitc__Parser___pop(var_p);
5183 }
5184 var_nodearraylist1 = var7;
5185 var_pexprnode2 = var_nodearraylist1;
5186 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5187 cltype = type_nullable__nitc__AExpr.color;
5188 idtype = type_nullable__nitc__AExpr.id;
5189 if(var_pexprnode2 == NULL) {
5190 var8 = 1;
5191 } else {
5192 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
5193 var8 = 0;
5194 } else {
5195 var8 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
5196 }
5197 }
5198 if (unlikely(!var8)) {
5199 if(catchStack.cursor >= 0){
5200 longjmp(catchStack.envs[catchStack.cursor], 1);
5201 }
5202 PRINT_ERROR("Runtime error: %s", "Assert failed");
5203 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6080);
5204 fatal_exit(1);
5205 }
5206 var9 = NEW_core__Array(&type_core__Array__core__Object);
5207 {
5208 core___core__Array___core__kernel__Object__init(var9); /* Direct call array$Array$init on <var9:Array[Object]>*/
5209 }
5210 var_listnode5 = var9;
5211 var_tclassidnode6 = var_nodearraylist4;
5212 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5213 cltype11 = type_nullable__nitc__TClassid.color;
5214 idtype12 = type_nullable__nitc__TClassid.id;
5215 if(var_tclassidnode6 == NULL) {
5216 var10 = 1;
5217 } else {
5218 if(cltype11 >= (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->table_size) {
5219 var10 = 0;
5220 } else {
5221 var10 = (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->type_table[cltype11] == idtype12;
5222 }
5223 }
5224 if (unlikely(!var10)) {
5225 if(catchStack.cursor >= 0){
5226 longjmp(catchStack.envs[catchStack.cursor], 1);
5227 }
5228 PRINT_ERROR("Runtime error: %s", "Assert failed");
5229 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6083);
5230 fatal_exit(1);
5231 }
5232 var13 = NEW_nitc__AQualified(&type_nitc__AQualified);
5233 {
5234 nitc__parser_prod___AQualified___init_aqualified(var13, var_listnode5, var_tclassidnode6); /* Direct call parser_prod$AQualified$init_aqualified on <var13:AQualified>*/
5235 }
5236 var_pqualifiednode4 = var13;
5237 var_tidnode7 = var_nodearraylist5;
5238 /* <var_tidnode7:nullable Object> isa nullable TId */
5239 cltype15 = type_nullable__nitc__TId.color;
5240 idtype16 = type_nullable__nitc__TId.id;
5241 if(var_tidnode7 == NULL) {
5242 var14 = 1;
5243 } else {
5244 if(cltype15 >= (((long)var_tidnode7&3)?type_info[((long)var_tidnode7&3)]:var_tidnode7->type)->table_size) {
5245 var14 = 0;
5246 } else {
5247 var14 = (((long)var_tidnode7&3)?type_info[((long)var_tidnode7&3)]:var_tidnode7->type)->type_table[cltype15] == idtype16;
5248 }
5249 }
5250 if (unlikely(!var14)) {
5251 if(catchStack.cursor >= 0){
5252 longjmp(catchStack.envs[catchStack.cursor], 1);
5253 }
5254 PRINT_ERROR("Runtime error: %s", "Assert failed");
5255 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6089);
5256 fatal_exit(1);
5257 }
5258 var17 = NEW_nitc__AQid(&type_nitc__AQid);
5259 {
5260 nitc__parser_prod___AQid___init_aqid(var17, var_pqualifiednode4, var_tidnode7); /* Direct call parser_prod$AQid$init_aqid on <var17:AQid>*/
5261 }
5262 var_pqidnode3 = var17;
5263 var_pexprsnode8 = var_nodearraylist6;
5264 /* <var_pexprsnode8:nullable Object> isa nullable AExprs */
5265 cltype19 = type_nullable__nitc__AExprs.color;
5266 idtype20 = type_nullable__nitc__AExprs.id;
5267 if(var_pexprsnode8 == NULL) {
5268 var18 = 1;
5269 } else {
5270 if(cltype19 >= (((long)var_pexprsnode8&3)?type_info[((long)var_pexprsnode8&3)]:var_pexprsnode8->type)->table_size) {
5271 var18 = 0;
5272 } else {
5273 var18 = (((long)var_pexprsnode8&3)?type_info[((long)var_pexprsnode8&3)]:var_pexprsnode8->type)->type_table[cltype19] == idtype20;
5274 }
5275 }
5276 if (unlikely(!var18)) {
5277 if(catchStack.cursor >= 0){
5278 longjmp(catchStack.envs[catchStack.cursor], 1);
5279 }
5280 PRINT_ERROR("Runtime error: %s", "Assert failed");
5281 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6095);
5282 fatal_exit(1);
5283 }
5284 var_tassignnode9 = var_nodearraylist7;
5285 /* <var_tassignnode9:nullable Object> isa nullable TAssign */
5286 cltype22 = type_nullable__nitc__TAssign.color;
5287 idtype23 = type_nullable__nitc__TAssign.id;
5288 if(var_tassignnode9 == NULL) {
5289 var21 = 1;
5290 } else {
5291 if(cltype22 >= (((long)var_tassignnode9&3)?type_info[((long)var_tassignnode9&3)]:var_tassignnode9->type)->table_size) {
5292 var21 = 0;
5293 } else {
5294 var21 = (((long)var_tassignnode9&3)?type_info[((long)var_tassignnode9&3)]:var_tassignnode9->type)->type_table[cltype22] == idtype23;
5295 }
5296 }
5297 if (unlikely(!var21)) {
5298 if(catchStack.cursor >= 0){
5299 longjmp(catchStack.envs[catchStack.cursor], 1);
5300 }
5301 PRINT_ERROR("Runtime error: %s", "Assert failed");
5302 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6097);
5303 fatal_exit(1);
5304 }
5305 var_pexprnode10 = var_nodearraylist8;
5306 /* <var_pexprnode10:nullable Object> isa nullable AExpr */
5307 cltype25 = type_nullable__nitc__AExpr.color;
5308 idtype26 = type_nullable__nitc__AExpr.id;
5309 if(var_pexprnode10 == NULL) {
5310 var24 = 1;
5311 } else {
5312 if(cltype25 >= (((long)var_pexprnode10&3)?type_info[((long)var_pexprnode10&3)]:var_pexprnode10->type)->table_size) {
5313 var24 = 0;
5314 } else {
5315 var24 = (((long)var_pexprnode10&3)?type_info[((long)var_pexprnode10&3)]:var_pexprnode10->type)->type_table[cltype25] == idtype26;
5316 }
5317 }
5318 if (unlikely(!var24)) {
5319 if(catchStack.cursor >= 0){
5320 longjmp(catchStack.envs[catchStack.cursor], 1);
5321 }
5322 PRINT_ERROR("Runtime error: %s", "Assert failed");
5323 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6099);
5324 fatal_exit(1);
5325 }
5326 var27 = NEW_nitc__ACallAssignExpr(&type_nitc__ACallAssignExpr);
5327 {
5328 nitc__parser_prod___ACallAssignExpr___init_acallassignexpr(var27, var_pexprnode2, var_pqidnode3, var_pexprsnode8, var_tassignnode9, var_pexprnode10); /* Direct call parser_prod$ACallAssignExpr$init_acallassignexpr on <var27:ACallAssignExpr>*/
5329 }
5330 var_pexprnode1 = var27;
5331 var_node_list = var_pexprnode1;
5332 var28 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction212> */
5333 {
5334 var29 = nitc___nitc__Parser___go_to(var_p, var28);
5335 }
5336 {
5337 nitc___nitc__Parser___push(var_p, var29, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
5338 }
5339 RET_LABEL:;
5340 }
5341 /* method parser$ReduceAction213$action for (self: ReduceAction213, Parser) */
5342 void nitc__parser___nitc__parser__ReduceAction213___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
5343 val* var_p /* var p: Parser */;
5344 val* var_node_list /* var node_list: nullable Object */;
5345 val* var /* : nullable Object */;
5346 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5347 val* var1 /* : nullable Object */;
5348 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5349 val* var2 /* : nullable Object */;
5350 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5351 val* var3 /* : nullable Object */;
5352 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5353 val* var4 /* : nullable Object */;
5354 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5355 val* var5 /* : nullable Object */;
5356 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5357 val* var6 /* : nullable Object */;
5358 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5359 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
5360 short int var7 /* : Bool */;
5361 int cltype;
5362 int idtype;
5363 val* var8 /* : Array[Object] */;
5364 val* var_listnode5 /* var listnode5: Array[Object] */;
5365 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5366 short int var9 /* : Bool */;
5367 int cltype10;
5368 int idtype11;
5369 val* var12 /* : AQualified */;
5370 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
5371 val* var_tidnode7 /* var tidnode7: nullable Object */;
5372 short int var13 /* : Bool */;
5373 int cltype14;
5374 int idtype15;
5375 val* var16 /* : AQid */;
5376 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
5377 val* var17 /* : Array[Object] */;
5378 val* var_listnode9 /* var listnode9: Array[Object] */;
5379 val* var18 /* : AListExprs */;
5380 val* var_pexprsnode8 /* var pexprsnode8: nullable AListExprs */;
5381 val* var_tassignnode10 /* var tassignnode10: nullable Object */;
5382 short int var19 /* : Bool */;
5383 int cltype20;
5384 int idtype21;
5385 val* var_pexprnode11 /* var pexprnode11: nullable Object */;
5386 short int var22 /* : Bool */;
5387 int cltype23;
5388 int idtype24;
5389 val* var25 /* : ACallAssignExpr */;
5390 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
5391 long var26 /* : Int */;
5392 long var27 /* : Int */;
5393 var_p = p0;
5394 var_node_list = ((val*)NULL);
5395 {
5396 var = nitc___nitc__Parser___pop(var_p);
5397 }
5398 var_nodearraylist7 = var;
5399 {
5400 var1 = nitc___nitc__Parser___pop(var_p);
5401 }
5402 var_nodearraylist6 = var1;
5403 {
5404 var2 = nitc___nitc__Parser___pop(var_p);
5405 }
5406 var_nodearraylist5 = var2;
5407 {
5408 var3 = nitc___nitc__Parser___pop(var_p);
5409 }
5410 var_nodearraylist4 = var3;
5411 {
5412 var4 = nitc___nitc__Parser___pop(var_p);
5413 }
5414 var_nodearraylist3 = var4;
5415 {
5416 var5 = nitc___nitc__Parser___pop(var_p);
5417 }
5418 var_nodearraylist2 = var5;
5419 {
5420 var6 = nitc___nitc__Parser___pop(var_p);
5421 }
5422 var_nodearraylist1 = var6;
5423 var_pexprnode2 = var_nodearraylist1;
5424 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5425 cltype = type_nullable__nitc__AExpr.color;
5426 idtype = type_nullable__nitc__AExpr.id;
5427 if(var_pexprnode2 == NULL) {
5428 var7 = 1;
5429 } else {
5430 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
5431 var7 = 0;
5432 } else {
5433 var7 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
5434 }
5435 }
5436 if (unlikely(!var7)) {
5437 if(catchStack.cursor >= 0){
5438 longjmp(catchStack.envs[catchStack.cursor], 1);
5439 }
5440 PRINT_ERROR("Runtime error: %s", "Assert failed");
5441 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6124);
5442 fatal_exit(1);
5443 }
5444 var8 = NEW_core__Array(&type_core__Array__core__Object);
5445 {
5446 core___core__Array___core__kernel__Object__init(var8); /* Direct call array$Array$init on <var8:Array[Object]>*/
5447 }
5448 var_listnode5 = var8;
5449 var_tclassidnode6 = var_nodearraylist4;
5450 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5451 cltype10 = type_nullable__nitc__TClassid.color;
5452 idtype11 = type_nullable__nitc__TClassid.id;
5453 if(var_tclassidnode6 == NULL) {
5454 var9 = 1;
5455 } else {
5456 if(cltype10 >= (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->table_size) {
5457 var9 = 0;
5458 } else {
5459 var9 = (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->type_table[cltype10] == idtype11;
5460 }
5461 }
5462 if (unlikely(!var9)) {
5463 if(catchStack.cursor >= 0){
5464 longjmp(catchStack.envs[catchStack.cursor], 1);
5465 }
5466 PRINT_ERROR("Runtime error: %s", "Assert failed");
5467 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6127);
5468 fatal_exit(1);
5469 }
5470 var12 = NEW_nitc__AQualified(&type_nitc__AQualified);
5471 {
5472 nitc__parser_prod___AQualified___init_aqualified(var12, var_listnode5, var_tclassidnode6); /* Direct call parser_prod$AQualified$init_aqualified on <var12:AQualified>*/
5473 }
5474 var_pqualifiednode4 = var12;
5475 var_tidnode7 = var_nodearraylist5;
5476 /* <var_tidnode7:nullable Object> isa nullable TId */
5477 cltype14 = type_nullable__nitc__TId.color;
5478 idtype15 = type_nullable__nitc__TId.id;
5479 if(var_tidnode7 == NULL) {
5480 var13 = 1;
5481 } else {
5482 if(cltype14 >= (((long)var_tidnode7&3)?type_info[((long)var_tidnode7&3)]:var_tidnode7->type)->table_size) {
5483 var13 = 0;
5484 } else {
5485 var13 = (((long)var_tidnode7&3)?type_info[((long)var_tidnode7&3)]:var_tidnode7->type)->type_table[cltype14] == idtype15;
5486 }
5487 }
5488 if (unlikely(!var13)) {
5489 if(catchStack.cursor >= 0){
5490 longjmp(catchStack.envs[catchStack.cursor], 1);
5491 }
5492 PRINT_ERROR("Runtime error: %s", "Assert failed");
5493 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6133);
5494 fatal_exit(1);
5495 }
5496 var16 = NEW_nitc__AQid(&type_nitc__AQid);
5497 {
5498 nitc__parser_prod___AQid___init_aqid(var16, var_pqualifiednode4, var_tidnode7); /* Direct call parser_prod$AQid$init_aqid on <var16:AQid>*/
5499 }
5500 var_pqidnode3 = var16;
5501 var17 = NEW_core__Array(&type_core__Array__core__Object);
5502 {
5503 core___core__Array___core__kernel__Object__init(var17); /* Direct call array$Array$init on <var17:Array[Object]>*/
5504 }
5505 var_listnode9 = var17;
5506 var18 = NEW_nitc__AListExprs(&type_nitc__AListExprs);
5507 {
5508 nitc__parser_prod___AListExprs___init_alistexprs(var18, var_listnode9); /* Direct call parser_prod$AListExprs$init_alistexprs on <var18:AListExprs>*/
5509 }
5510 var_pexprsnode8 = var18;
5511 var_tassignnode10 = var_nodearraylist6;
5512 /* <var_tassignnode10:nullable Object> isa nullable TAssign */
5513 cltype20 = type_nullable__nitc__TAssign.color;
5514 idtype21 = type_nullable__nitc__TAssign.id;
5515 if(var_tassignnode10 == NULL) {
5516 var19 = 1;
5517 } else {
5518 if(cltype20 >= (((long)var_tassignnode10&3)?type_info[((long)var_tassignnode10&3)]:var_tassignnode10->type)->table_size) {
5519 var19 = 0;
5520 } else {
5521 var19 = (((long)var_tassignnode10&3)?type_info[((long)var_tassignnode10&3)]:var_tassignnode10->type)->type_table[cltype20] == idtype21;
5522 }
5523 }
5524 if (unlikely(!var19)) {
5525 if(catchStack.cursor >= 0){
5526 longjmp(catchStack.envs[catchStack.cursor], 1);
5527 }
5528 PRINT_ERROR("Runtime error: %s", "Assert failed");
5529 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6143);
5530 fatal_exit(1);
5531 }
5532 var_pexprnode11 = var_nodearraylist7;
5533 /* <var_pexprnode11:nullable Object> isa nullable AExpr */
5534 cltype23 = type_nullable__nitc__AExpr.color;
5535 idtype24 = type_nullable__nitc__AExpr.id;
5536 if(var_pexprnode11 == NULL) {
5537 var22 = 1;
5538 } else {
5539 if(cltype23 >= (((long)var_pexprnode11&3)?type_info[((long)var_pexprnode11&3)]:var_pexprnode11->type)->table_size) {
5540 var22 = 0;
5541 } else {
5542 var22 = (((long)var_pexprnode11&3)?type_info[((long)var_pexprnode11&3)]:var_pexprnode11->type)->type_table[cltype23] == idtype24;
5543 }
5544 }
5545 if (unlikely(!var22)) {
5546 if(catchStack.cursor >= 0){
5547 longjmp(catchStack.envs[catchStack.cursor], 1);
5548 }
5549 PRINT_ERROR("Runtime error: %s", "Assert failed");
5550 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6145);
5551 fatal_exit(1);
5552 }
5553 var25 = NEW_nitc__ACallAssignExpr(&type_nitc__ACallAssignExpr);
5554 {
5555 nitc__parser_prod___ACallAssignExpr___init_acallassignexpr(var25, var_pexprnode2, var_pqidnode3, var_pexprsnode8, var_tassignnode10, var_pexprnode11); /* Direct call parser_prod$ACallAssignExpr$init_acallassignexpr on <var25:ACallAssignExpr>*/
5556 }
5557 var_pexprnode1 = var25;
5558 var_node_list = var_pexprnode1;
5559 var26 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction213> */
5560 {
5561 var27 = nitc___nitc__Parser___go_to(var_p, var26);
5562 }
5563 {
5564 nitc___nitc__Parser___push(var_p, var27, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
5565 }
5566 RET_LABEL:;
5567 }
5568 /* method parser$ReduceAction214$action for (self: ReduceAction214, Parser) */
5569 void nitc__parser___nitc__parser__ReduceAction214___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
5570 val* var_p /* var p: Parser */;
5571 val* var_node_list /* var node_list: nullable Object */;
5572 val* var /* : nullable Object */;
5573 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5574 val* var1 /* : nullable Object */;
5575 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5576 val* var2 /* : nullable Object */;
5577 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5578 val* var3 /* : nullable Object */;
5579 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5580 val* var4 /* : nullable Object */;
5581 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5582 val* var5 /* : nullable Object */;
5583 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5584 val* var6 /* : nullable Object */;
5585 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5586 val* var7 /* : nullable Object */;
5587 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5588 val* var8 /* : nullable Object */;
5589 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5590 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
5591 short int var9 /* : Bool */;
5592 int cltype;
5593 int idtype;
5594 val* var10 /* : Array[Object] */;
5595 val* var_listnode6 /* var listnode6: Array[Object] */;
5596 val* var_listnode5 /* var listnode5: nullable Object */;
5597 short int var11 /* : Bool */;
5598 int cltype12;
5599 int idtype13;
5600 val* var14 /* : Array[Object] */;
5601 val* var_tclassidnode7 /* var tclassidnode7: nullable Object */;
5602 short int var15 /* : Bool */;
5603 int cltype16;
5604 int idtype17;
5605 val* var18 /* : AQualified */;
5606 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
5607 val* var_tidnode8 /* var tidnode8: nullable Object */;
5608 short int var19 /* : Bool */;
5609 int cltype20;
5610 int idtype21;
5611 val* var22 /* : AQid */;
5612 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
5613 val* var_pexprsnode9 /* var pexprsnode9: nullable Object */;
5614 short int var23 /* : Bool */;
5615 int cltype24;
5616 int idtype25;
5617 val* var_tassignnode10 /* var tassignnode10: nullable Object */;
5618 short int var26 /* : Bool */;
5619 int cltype27;
5620 int idtype28;
5621 val* var_pexprnode11 /* var pexprnode11: nullable Object */;
5622 short int var29 /* : Bool */;
5623 int cltype30;
5624 int idtype31;
5625 val* var32 /* : ACallAssignExpr */;
5626 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
5627 long var33 /* : Int */;
5628 long var34 /* : Int */;
5629 var_p = p0;
5630 var_node_list = ((val*)NULL);
5631 {
5632 var = nitc___nitc__Parser___pop(var_p);
5633 }
5634 var_nodearraylist9 = var;
5635 {
5636 var1 = nitc___nitc__Parser___pop(var_p);
5637 }
5638 var_nodearraylist8 = var1;
5639 {
5640 var2 = nitc___nitc__Parser___pop(var_p);
5641 }
5642 var_nodearraylist7 = var2;
5643 {
5644 var3 = nitc___nitc__Parser___pop(var_p);
5645 }
5646 var_nodearraylist6 = var3;
5647 {
5648 var4 = nitc___nitc__Parser___pop(var_p);
5649 }
5650 var_nodearraylist5 = var4;
5651 {
5652 var5 = nitc___nitc__Parser___pop(var_p);
5653 }
5654 var_nodearraylist4 = var5;
5655 {
5656 var6 = nitc___nitc__Parser___pop(var_p);
5657 }
5658 var_nodearraylist3 = var6;
5659 {
5660 var7 = nitc___nitc__Parser___pop(var_p);
5661 }
5662 var_nodearraylist2 = var7;
5663 {
5664 var8 = nitc___nitc__Parser___pop(var_p);
5665 }
5666 var_nodearraylist1 = var8;
5667 var_pexprnode2 = var_nodearraylist1;
5668 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5669 cltype = type_nullable__nitc__AExpr.color;
5670 idtype = type_nullable__nitc__AExpr.id;
5671 if(var_pexprnode2 == NULL) {
5672 var9 = 1;
5673 } else {
5674 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
5675 var9 = 0;
5676 } else {
5677 var9 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
5678 }
5679 }
5680 if (unlikely(!var9)) {
5681 if(catchStack.cursor >= 0){
5682 longjmp(catchStack.envs[catchStack.cursor], 1);
5683 }
5684 PRINT_ERROR("Runtime error: %s", "Assert failed");
5685 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6172);
5686 fatal_exit(1);
5687 }
5688 var10 = NEW_core__Array(&type_core__Array__core__Object);
5689 {
5690 core___core__Array___core__kernel__Object__init(var10); /* Direct call array$Array$init on <var10:Array[Object]>*/
5691 }
5692 var_listnode6 = var10;
5693 var_listnode5 = var_nodearraylist4;
5694 /* <var_listnode5:nullable Object> isa Array[Object] */
5695 cltype12 = type_core__Array__core__Object.color;
5696 idtype13 = type_core__Array__core__Object.id;
5697 if(var_listnode5 == NULL) {
5698 var11 = 0;
5699 } else {
5700 if(cltype12 >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) {
5701 var11 = 0;
5702 } else {
5703 var11 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype12] == idtype13;
5704 }
5705 }
5706 if (unlikely(!var11)) {
5707 if(catchStack.cursor >= 0){
5708 longjmp(catchStack.envs[catchStack.cursor], 1);
5709 }
5710 PRINT_ERROR("Runtime error: %s", "Assert failed");
5711 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6175);
5712 fatal_exit(1);
5713 }
5714 {
5715 var14 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5);
5716 }
5717 var_listnode6 = var14;
5718 var_tclassidnode7 = var_nodearraylist5;
5719 /* <var_tclassidnode7:nullable Object> isa nullable TClassid */
5720 cltype16 = type_nullable__nitc__TClassid.color;
5721 idtype17 = type_nullable__nitc__TClassid.id;
5722 if(var_tclassidnode7 == NULL) {
5723 var15 = 1;
5724 } else {
5725 if(cltype16 >= (((long)var_tclassidnode7&3)?type_info[((long)var_tclassidnode7&3)]:var_tclassidnode7->type)->table_size) {
5726 var15 = 0;
5727 } else {
5728 var15 = (((long)var_tclassidnode7&3)?type_info[((long)var_tclassidnode7&3)]:var_tclassidnode7->type)->type_table[cltype16] == idtype17;
5729 }
5730 }
5731 if (unlikely(!var15)) {
5732 if(catchStack.cursor >= 0){
5733 longjmp(catchStack.envs[catchStack.cursor], 1);
5734 }
5735 PRINT_ERROR("Runtime error: %s", "Assert failed");
5736 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6178);
5737 fatal_exit(1);
5738 }
5739 var18 = NEW_nitc__AQualified(&type_nitc__AQualified);
5740 {
5741 nitc__parser_prod___AQualified___init_aqualified(var18, var_listnode6, var_tclassidnode7); /* Direct call parser_prod$AQualified$init_aqualified on <var18:AQualified>*/
5742 }
5743 var_pqualifiednode4 = var18;
5744 var_tidnode8 = var_nodearraylist6;
5745 /* <var_tidnode8:nullable Object> isa nullable TId */
5746 cltype20 = type_nullable__nitc__TId.color;
5747 idtype21 = type_nullable__nitc__TId.id;
5748 if(var_tidnode8 == NULL) {
5749 var19 = 1;
5750 } else {
5751 if(cltype20 >= (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->table_size) {
5752 var19 = 0;
5753 } else {
5754 var19 = (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->type_table[cltype20] == idtype21;
5755 }
5756 }
5757 if (unlikely(!var19)) {
5758 if(catchStack.cursor >= 0){
5759 longjmp(catchStack.envs[catchStack.cursor], 1);
5760 }
5761 PRINT_ERROR("Runtime error: %s", "Assert failed");
5762 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6184);
5763 fatal_exit(1);
5764 }
5765 var22 = NEW_nitc__AQid(&type_nitc__AQid);
5766 {
5767 nitc__parser_prod___AQid___init_aqid(var22, var_pqualifiednode4, var_tidnode8); /* Direct call parser_prod$AQid$init_aqid on <var22:AQid>*/
5768 }
5769 var_pqidnode3 = var22;
5770 var_pexprsnode9 = var_nodearraylist7;
5771 /* <var_pexprsnode9:nullable Object> isa nullable AExprs */
5772 cltype24 = type_nullable__nitc__AExprs.color;
5773 idtype25 = type_nullable__nitc__AExprs.id;
5774 if(var_pexprsnode9 == NULL) {
5775 var23 = 1;
5776 } else {
5777 if(cltype24 >= (((long)var_pexprsnode9&3)?type_info[((long)var_pexprsnode9&3)]:var_pexprsnode9->type)->table_size) {
5778 var23 = 0;
5779 } else {
5780 var23 = (((long)var_pexprsnode9&3)?type_info[((long)var_pexprsnode9&3)]:var_pexprsnode9->type)->type_table[cltype24] == idtype25;
5781 }
5782 }
5783 if (unlikely(!var23)) {
5784 if(catchStack.cursor >= 0){
5785 longjmp(catchStack.envs[catchStack.cursor], 1);
5786 }
5787 PRINT_ERROR("Runtime error: %s", "Assert failed");
5788 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6190);
5789 fatal_exit(1);
5790 }
5791 var_tassignnode10 = var_nodearraylist8;
5792 /* <var_tassignnode10:nullable Object> isa nullable TAssign */
5793 cltype27 = type_nullable__nitc__TAssign.color;
5794 idtype28 = type_nullable__nitc__TAssign.id;
5795 if(var_tassignnode10 == NULL) {
5796 var26 = 1;
5797 } else {
5798 if(cltype27 >= (((long)var_tassignnode10&3)?type_info[((long)var_tassignnode10&3)]:var_tassignnode10->type)->table_size) {
5799 var26 = 0;
5800 } else {
5801 var26 = (((long)var_tassignnode10&3)?type_info[((long)var_tassignnode10&3)]:var_tassignnode10->type)->type_table[cltype27] == idtype28;
5802 }
5803 }
5804 if (unlikely(!var26)) {
5805 if(catchStack.cursor >= 0){
5806 longjmp(catchStack.envs[catchStack.cursor], 1);
5807 }
5808 PRINT_ERROR("Runtime error: %s", "Assert failed");
5809 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6192);
5810 fatal_exit(1);
5811 }
5812 var_pexprnode11 = var_nodearraylist9;
5813 /* <var_pexprnode11:nullable Object> isa nullable AExpr */
5814 cltype30 = type_nullable__nitc__AExpr.color;
5815 idtype31 = type_nullable__nitc__AExpr.id;
5816 if(var_pexprnode11 == NULL) {
5817 var29 = 1;
5818 } else {
5819 if(cltype30 >= (((long)var_pexprnode11&3)?type_info[((long)var_pexprnode11&3)]:var_pexprnode11->type)->table_size) {
5820 var29 = 0;
5821 } else {
5822 var29 = (((long)var_pexprnode11&3)?type_info[((long)var_pexprnode11&3)]:var_pexprnode11->type)->type_table[cltype30] == idtype31;
5823 }
5824 }
5825 if (unlikely(!var29)) {
5826 if(catchStack.cursor >= 0){
5827 longjmp(catchStack.envs[catchStack.cursor], 1);
5828 }
5829 PRINT_ERROR("Runtime error: %s", "Assert failed");
5830 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6194);
5831 fatal_exit(1);
5832 }
5833 var32 = NEW_nitc__ACallAssignExpr(&type_nitc__ACallAssignExpr);
5834 {
5835 nitc__parser_prod___ACallAssignExpr___init_acallassignexpr(var32, var_pexprnode2, var_pqidnode3, var_pexprsnode9, var_tassignnode10, var_pexprnode11); /* Direct call parser_prod$ACallAssignExpr$init_acallassignexpr on <var32:ACallAssignExpr>*/
5836 }
5837 var_pexprnode1 = var32;
5838 var_node_list = var_pexprnode1;
5839 var33 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction214> */
5840 {
5841 var34 = nitc___nitc__Parser___go_to(var_p, var33);
5842 }
5843 {
5844 nitc___nitc__Parser___push(var_p, var34, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
5845 }
5846 RET_LABEL:;
5847 }
5848 /* method parser$ReduceAction215$action for (self: ReduceAction215, Parser) */
5849 void nitc__parser___nitc__parser__ReduceAction215___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
5850 val* var_p /* var p: Parser */;
5851 val* var_node_list /* var node_list: nullable Object */;
5852 val* var /* : nullable Object */;
5853 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5854 val* var1 /* : nullable Object */;
5855 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5856 val* var2 /* : nullable Object */;
5857 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5858 val* var3 /* : nullable Object */;
5859 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5860 val* var4 /* : nullable Object */;
5861 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5862 val* var5 /* : nullable Object */;
5863 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5864 val* var6 /* : nullable Object */;
5865 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5866 val* var7 /* : nullable Object */;
5867 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5868 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
5869 short int var8 /* : Bool */;
5870 int cltype;
5871 int idtype;
5872 val* var9 /* : Array[Object] */;
5873 val* var_listnode6 /* var listnode6: Array[Object] */;
5874 val* var_listnode5 /* var listnode5: nullable Object */;
5875 short int var10 /* : Bool */;
5876 int cltype11;
5877 int idtype12;
5878 val* var13 /* : Array[Object] */;
5879 val* var_tclassidnode7 /* var tclassidnode7: nullable Object */;
5880 short int var14 /* : Bool */;
5881 int cltype15;
5882 int idtype16;
5883 val* var17 /* : AQualified */;
5884 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
5885 val* var_tidnode8 /* var tidnode8: nullable Object */;
5886 short int var18 /* : Bool */;
5887 int cltype19;
5888 int idtype20;
5889 val* var21 /* : AQid */;
5890 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
5891 val* var22 /* : Array[Object] */;
5892 val* var_listnode10 /* var listnode10: Array[Object] */;
5893 val* var23 /* : AListExprs */;
5894 val* var_pexprsnode9 /* var pexprsnode9: nullable AListExprs */;
5895 val* var_tassignnode11 /* var tassignnode11: nullable Object */;
5896 short int var24 /* : Bool */;
5897 int cltype25;
5898 int idtype26;
5899 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
5900 short int var27 /* : Bool */;
5901 int cltype28;
5902 int idtype29;
5903 val* var30 /* : ACallAssignExpr */;
5904 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
5905 long var31 /* : Int */;
5906 long var32 /* : Int */;
5907 var_p = p0;
5908 var_node_list = ((val*)NULL);
5909 {
5910 var = nitc___nitc__Parser___pop(var_p);
5911 }
5912 var_nodearraylist8 = var;
5913 {
5914 var1 = nitc___nitc__Parser___pop(var_p);
5915 }
5916 var_nodearraylist7 = var1;
5917 {
5918 var2 = nitc___nitc__Parser___pop(var_p);
5919 }
5920 var_nodearraylist6 = var2;
5921 {
5922 var3 = nitc___nitc__Parser___pop(var_p);
5923 }
5924 var_nodearraylist5 = var3;
5925 {
5926 var4 = nitc___nitc__Parser___pop(var_p);
5927 }
5928 var_nodearraylist4 = var4;
5929 {
5930 var5 = nitc___nitc__Parser___pop(var_p);
5931 }
5932 var_nodearraylist3 = var5;
5933 {
5934 var6 = nitc___nitc__Parser___pop(var_p);
5935 }
5936 var_nodearraylist2 = var6;
5937 {
5938 var7 = nitc___nitc__Parser___pop(var_p);
5939 }
5940 var_nodearraylist1 = var7;
5941 var_pexprnode2 = var_nodearraylist1;
5942 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5943 cltype = type_nullable__nitc__AExpr.color;
5944 idtype = type_nullable__nitc__AExpr.id;
5945 if(var_pexprnode2 == NULL) {
5946 var8 = 1;
5947 } else {
5948 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
5949 var8 = 0;
5950 } else {
5951 var8 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
5952 }
5953 }
5954 if (unlikely(!var8)) {
5955 if(catchStack.cursor >= 0){
5956 longjmp(catchStack.envs[catchStack.cursor], 1);
5957 }
5958 PRINT_ERROR("Runtime error: %s", "Assert failed");
5959 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6220);
5960 fatal_exit(1);
5961 }
5962 var9 = NEW_core__Array(&type_core__Array__core__Object);
5963 {
5964 core___core__Array___core__kernel__Object__init(var9); /* Direct call array$Array$init on <var9:Array[Object]>*/
5965 }
5966 var_listnode6 = var9;
5967 var_listnode5 = var_nodearraylist4;
5968 /* <var_listnode5:nullable Object> isa Array[Object] */
5969 cltype11 = type_core__Array__core__Object.color;
5970 idtype12 = type_core__Array__core__Object.id;
5971 if(var_listnode5 == NULL) {
5972 var10 = 0;
5973 } else {
5974 if(cltype11 >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) {
5975 var10 = 0;
5976 } else {
5977 var10 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype11] == idtype12;
5978 }
5979 }
5980 if (unlikely(!var10)) {
5981 if(catchStack.cursor >= 0){
5982 longjmp(catchStack.envs[catchStack.cursor], 1);
5983 }
5984 PRINT_ERROR("Runtime error: %s", "Assert failed");
5985 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6223);
5986 fatal_exit(1);
5987 }
5988 {
5989 var13 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5);
5990 }
5991 var_listnode6 = var13;
5992 var_tclassidnode7 = var_nodearraylist5;
5993 /* <var_tclassidnode7:nullable Object> isa nullable TClassid */
5994 cltype15 = type_nullable__nitc__TClassid.color;
5995 idtype16 = type_nullable__nitc__TClassid.id;
5996 if(var_tclassidnode7 == NULL) {
5997 var14 = 1;
5998 } else {
5999 if(cltype15 >= (((long)var_tclassidnode7&3)?type_info[((long)var_tclassidnode7&3)]:var_tclassidnode7->type)->table_size) {
6000 var14 = 0;
6001 } else {
6002 var14 = (((long)var_tclassidnode7&3)?type_info[((long)var_tclassidnode7&3)]:var_tclassidnode7->type)->type_table[cltype15] == idtype16;
6003 }
6004 }
6005 if (unlikely(!var14)) {
6006 if(catchStack.cursor >= 0){
6007 longjmp(catchStack.envs[catchStack.cursor], 1);
6008 }
6009 PRINT_ERROR("Runtime error: %s", "Assert failed");
6010 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6226);
6011 fatal_exit(1);
6012 }
6013 var17 = NEW_nitc__AQualified(&type_nitc__AQualified);
6014 {
6015 nitc__parser_prod___AQualified___init_aqualified(var17, var_listnode6, var_tclassidnode7); /* Direct call parser_prod$AQualified$init_aqualified on <var17:AQualified>*/
6016 }
6017 var_pqualifiednode4 = var17;
6018 var_tidnode8 = var_nodearraylist6;
6019 /* <var_tidnode8:nullable Object> isa nullable TId */
6020 cltype19 = type_nullable__nitc__TId.color;
6021 idtype20 = type_nullable__nitc__TId.id;
6022 if(var_tidnode8 == NULL) {
6023 var18 = 1;
6024 } else {
6025 if(cltype19 >= (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->table_size) {
6026 var18 = 0;
6027 } else {
6028 var18 = (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->type_table[cltype19] == idtype20;
6029 }
6030 }
6031 if (unlikely(!var18)) {
6032 if(catchStack.cursor >= 0){
6033 longjmp(catchStack.envs[catchStack.cursor], 1);
6034 }
6035 PRINT_ERROR("Runtime error: %s", "Assert failed");
6036 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6232);
6037 fatal_exit(1);
6038 }
6039 var21 = NEW_nitc__AQid(&type_nitc__AQid);
6040 {
6041 nitc__parser_prod___AQid___init_aqid(var21, var_pqualifiednode4, var_tidnode8); /* Direct call parser_prod$AQid$init_aqid on <var21:AQid>*/
6042 }
6043 var_pqidnode3 = var21;
6044 var22 = NEW_core__Array(&type_core__Array__core__Object);
6045 {
6046 core___core__Array___core__kernel__Object__init(var22); /* Direct call array$Array$init on <var22:Array[Object]>*/
6047 }
6048 var_listnode10 = var22;
6049 var23 = NEW_nitc__AListExprs(&type_nitc__AListExprs);
6050 {
6051 nitc__parser_prod___AListExprs___init_alistexprs(var23, var_listnode10); /* Direct call parser_prod$AListExprs$init_alistexprs on <var23:AListExprs>*/
6052 }
6053 var_pexprsnode9 = var23;
6054 var_tassignnode11 = var_nodearraylist7;
6055 /* <var_tassignnode11:nullable Object> isa nullable TAssign */
6056 cltype25 = type_nullable__nitc__TAssign.color;
6057 idtype26 = type_nullable__nitc__TAssign.id;
6058 if(var_tassignnode11 == NULL) {
6059 var24 = 1;
6060 } else {
6061 if(cltype25 >= (((long)var_tassignnode11&3)?type_info[((long)var_tassignnode11&3)]:var_tassignnode11->type)->table_size) {
6062 var24 = 0;
6063 } else {
6064 var24 = (((long)var_tassignnode11&3)?type_info[((long)var_tassignnode11&3)]:var_tassignnode11->type)->type_table[cltype25] == idtype26;
6065 }
6066 }
6067 if (unlikely(!var24)) {
6068 if(catchStack.cursor >= 0){
6069 longjmp(catchStack.envs[catchStack.cursor], 1);
6070 }
6071 PRINT_ERROR("Runtime error: %s", "Assert failed");
6072 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6242);
6073 fatal_exit(1);
6074 }
6075 var_pexprnode12 = var_nodearraylist8;
6076 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
6077 cltype28 = type_nullable__nitc__AExpr.color;
6078 idtype29 = type_nullable__nitc__AExpr.id;
6079 if(var_pexprnode12 == NULL) {
6080 var27 = 1;
6081 } else {
6082 if(cltype28 >= (((long)var_pexprnode12&3)?type_info[((long)var_pexprnode12&3)]:var_pexprnode12->type)->table_size) {
6083 var27 = 0;
6084 } else {
6085 var27 = (((long)var_pexprnode12&3)?type_info[((long)var_pexprnode12&3)]:var_pexprnode12->type)->type_table[cltype28] == idtype29;
6086 }
6087 }
6088 if (unlikely(!var27)) {
6089 if(catchStack.cursor >= 0){
6090 longjmp(catchStack.envs[catchStack.cursor], 1);
6091 }
6092 PRINT_ERROR("Runtime error: %s", "Assert failed");
6093 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6244);
6094 fatal_exit(1);
6095 }
6096 var30 = NEW_nitc__ACallAssignExpr(&type_nitc__ACallAssignExpr);
6097 {
6098 nitc__parser_prod___ACallAssignExpr___init_acallassignexpr(var30, var_pexprnode2, var_pqidnode3, var_pexprsnode9, var_tassignnode11, var_pexprnode12); /* Direct call parser_prod$ACallAssignExpr$init_acallassignexpr on <var30:ACallAssignExpr>*/
6099 }
6100 var_pexprnode1 = var30;
6101 var_node_list = var_pexprnode1;
6102 var31 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction215> */
6103 {
6104 var32 = nitc___nitc__Parser___go_to(var_p, var31);
6105 }
6106 {
6107 nitc___nitc__Parser___push(var_p, var32, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
6108 }
6109 RET_LABEL:;
6110 }
6111 /* method parser$ReduceAction216$action for (self: ReduceAction216, Parser) */
6112 void nitc__parser___nitc__parser__ReduceAction216___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
6113 val* var_p /* var p: Parser */;
6114 val* var_node_list /* var node_list: nullable Object */;
6115 val* var /* : nullable Object */;
6116 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6117 val* var1 /* : nullable Object */;
6118 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6119 val* var2 /* : nullable Object */;
6120 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6121 val* var3 /* : nullable Object */;
6122 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6123 val* var4 /* : nullable Object */;
6124 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6125 val* var5 /* : nullable Object */;
6126 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6127 val* var6 /* : nullable Object */;
6128 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6129 val* var7 /* : nullable Object */;
6130 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6131 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
6132 short int var8 /* : Bool */;
6133 int cltype;
6134 int idtype;
6135 val* var9 /* : Array[Object] */;
6136 val* var_listnode6 /* var listnode6: Array[Object] */;
6137 val* var_listnode5 /* var listnode5: nullable Object */;
6138 short int var10 /* : Bool */;
6139 int cltype11;
6140 int idtype12;
6141 val* var13 /* : Array[Object] */;
6142 val* var14 /* : AQualified */;
6143 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
6144 val* var_tidnode8 /* var tidnode8: nullable Object */;
6145 short int var15 /* : Bool */;
6146 int cltype16;
6147 int idtype17;
6148 val* var18 /* : AQid */;
6149 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
6150 val* var_pexprsnode9 /* var pexprsnode9: nullable Object */;
6151 short int var19 /* : Bool */;
6152 int cltype20;
6153 int idtype21;
6154 val* var_tassignnode10 /* var tassignnode10: nullable Object */;
6155 short int var22 /* : Bool */;
6156 int cltype23;
6157 int idtype24;
6158 val* var_pexprnode11 /* var pexprnode11: nullable Object */;
6159 short int var25 /* : Bool */;
6160 int cltype26;
6161 int idtype27;
6162 val* var28 /* : ACallAssignExpr */;
6163 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
6164 long var29 /* : Int */;
6165 long var30 /* : Int */;
6166 var_p = p0;
6167 var_node_list = ((val*)NULL);
6168 {
6169 var = nitc___nitc__Parser___pop(var_p);
6170 }
6171 var_nodearraylist8 = var;
6172 {
6173 var1 = nitc___nitc__Parser___pop(var_p);
6174 }
6175 var_nodearraylist7 = var1;
6176 {
6177 var2 = nitc___nitc__Parser___pop(var_p);
6178 }
6179 var_nodearraylist6 = var2;
6180 {
6181 var3 = nitc___nitc__Parser___pop(var_p);
6182 }
6183 var_nodearraylist5 = var3;
6184 {
6185 var4 = nitc___nitc__Parser___pop(var_p);
6186 }
6187 var_nodearraylist4 = var4;
6188 {
6189 var5 = nitc___nitc__Parser___pop(var_p);
6190 }
6191 var_nodearraylist3 = var5;
6192 {
6193 var6 = nitc___nitc__Parser___pop(var_p);
6194 }
6195 var_nodearraylist2 = var6;
6196 {
6197 var7 = nitc___nitc__Parser___pop(var_p);
6198 }
6199 var_nodearraylist1 = var7;
6200 var_pexprnode2 = var_nodearraylist1;
6201 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6202 cltype = type_nullable__nitc__AExpr.color;
6203 idtype = type_nullable__nitc__AExpr.id;
6204 if(var_pexprnode2 == NULL) {
6205 var8 = 1;
6206 } else {
6207 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
6208 var8 = 0;
6209 } else {
6210 var8 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
6211 }
6212 }
6213 if (unlikely(!var8)) {
6214 if(catchStack.cursor >= 0){
6215 longjmp(catchStack.envs[catchStack.cursor], 1);
6216 }
6217 PRINT_ERROR("Runtime error: %s", "Assert failed");
6218 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6270);
6219 fatal_exit(1);
6220 }
6221 var9 = NEW_core__Array(&type_core__Array__core__Object);
6222 {
6223 core___core__Array___core__kernel__Object__init(var9); /* Direct call array$Array$init on <var9:Array[Object]>*/
6224 }
6225 var_listnode6 = var9;
6226 var_listnode5 = var_nodearraylist4;
6227 /* <var_listnode5:nullable Object> isa Array[Object] */
6228 cltype11 = type_core__Array__core__Object.color;
6229 idtype12 = type_core__Array__core__Object.id;
6230 if(var_listnode5 == NULL) {
6231 var10 = 0;
6232 } else {
6233 if(cltype11 >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) {
6234 var10 = 0;
6235 } else {
6236 var10 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype11] == idtype12;
6237 }
6238 }
6239 if (unlikely(!var10)) {
6240 if(catchStack.cursor >= 0){
6241 longjmp(catchStack.envs[catchStack.cursor], 1);
6242 }
6243 PRINT_ERROR("Runtime error: %s", "Assert failed");
6244 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6273);
6245 fatal_exit(1);
6246 }
6247 {
6248 var13 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5);
6249 }
6250 var_listnode6 = var13;
6251 var14 = NEW_nitc__AQualified(&type_nitc__AQualified);
6252 {
6253 nitc__parser_prod___AQualified___init_aqualified(var14, var_listnode6, ((val*)NULL)); /* Direct call parser_prod$AQualified$init_aqualified on <var14:AQualified>*/
6254 }
6255 var_pqualifiednode4 = var14;
6256 var_tidnode8 = var_nodearraylist5;
6257 /* <var_tidnode8:nullable Object> isa nullable TId */
6258 cltype16 = type_nullable__nitc__TId.color;
6259 idtype17 = type_nullable__nitc__TId.id;
6260 if(var_tidnode8 == NULL) {
6261 var15 = 1;
6262 } else {
6263 if(cltype16 >= (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->table_size) {
6264 var15 = 0;
6265 } else {
6266 var15 = (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->type_table[cltype16] == idtype17;
6267 }
6268 }
6269 if (unlikely(!var15)) {
6270 if(catchStack.cursor >= 0){
6271 longjmp(catchStack.envs[catchStack.cursor], 1);
6272 }
6273 PRINT_ERROR("Runtime error: %s", "Assert failed");
6274 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6280);
6275 fatal_exit(1);
6276 }
6277 var18 = NEW_nitc__AQid(&type_nitc__AQid);
6278 {
6279 nitc__parser_prod___AQid___init_aqid(var18, var_pqualifiednode4, var_tidnode8); /* Direct call parser_prod$AQid$init_aqid on <var18:AQid>*/
6280 }
6281 var_pqidnode3 = var18;
6282 var_pexprsnode9 = var_nodearraylist6;
6283 /* <var_pexprsnode9:nullable Object> isa nullable AExprs */
6284 cltype20 = type_nullable__nitc__AExprs.color;
6285 idtype21 = type_nullable__nitc__AExprs.id;
6286 if(var_pexprsnode9 == NULL) {
6287 var19 = 1;
6288 } else {
6289 if(cltype20 >= (((long)var_pexprsnode9&3)?type_info[((long)var_pexprsnode9&3)]:var_pexprsnode9->type)->table_size) {
6290 var19 = 0;
6291 } else {
6292 var19 = (((long)var_pexprsnode9&3)?type_info[((long)var_pexprsnode9&3)]:var_pexprsnode9->type)->type_table[cltype20] == idtype21;
6293 }
6294 }
6295 if (unlikely(!var19)) {
6296 if(catchStack.cursor >= 0){
6297 longjmp(catchStack.envs[catchStack.cursor], 1);
6298 }
6299 PRINT_ERROR("Runtime error: %s", "Assert failed");
6300 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6286);
6301 fatal_exit(1);
6302 }
6303 var_tassignnode10 = var_nodearraylist7;
6304 /* <var_tassignnode10:nullable Object> isa nullable TAssign */
6305 cltype23 = type_nullable__nitc__TAssign.color;
6306 idtype24 = type_nullable__nitc__TAssign.id;
6307 if(var_tassignnode10 == NULL) {
6308 var22 = 1;
6309 } else {
6310 if(cltype23 >= (((long)var_tassignnode10&3)?type_info[((long)var_tassignnode10&3)]:var_tassignnode10->type)->table_size) {
6311 var22 = 0;
6312 } else {
6313 var22 = (((long)var_tassignnode10&3)?type_info[((long)var_tassignnode10&3)]:var_tassignnode10->type)->type_table[cltype23] == idtype24;
6314 }
6315 }
6316 if (unlikely(!var22)) {
6317 if(catchStack.cursor >= 0){
6318 longjmp(catchStack.envs[catchStack.cursor], 1);
6319 }
6320 PRINT_ERROR("Runtime error: %s", "Assert failed");
6321 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6288);
6322 fatal_exit(1);
6323 }
6324 var_pexprnode11 = var_nodearraylist8;
6325 /* <var_pexprnode11:nullable Object> isa nullable AExpr */
6326 cltype26 = type_nullable__nitc__AExpr.color;
6327 idtype27 = type_nullable__nitc__AExpr.id;
6328 if(var_pexprnode11 == NULL) {
6329 var25 = 1;
6330 } else {
6331 if(cltype26 >= (((long)var_pexprnode11&3)?type_info[((long)var_pexprnode11&3)]:var_pexprnode11->type)->table_size) {
6332 var25 = 0;
6333 } else {
6334 var25 = (((long)var_pexprnode11&3)?type_info[((long)var_pexprnode11&3)]:var_pexprnode11->type)->type_table[cltype26] == idtype27;
6335 }
6336 }
6337 if (unlikely(!var25)) {
6338 if(catchStack.cursor >= 0){
6339 longjmp(catchStack.envs[catchStack.cursor], 1);
6340 }
6341 PRINT_ERROR("Runtime error: %s", "Assert failed");
6342 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6290);
6343 fatal_exit(1);
6344 }
6345 var28 = NEW_nitc__ACallAssignExpr(&type_nitc__ACallAssignExpr);
6346 {
6347 nitc__parser_prod___ACallAssignExpr___init_acallassignexpr(var28, var_pexprnode2, var_pqidnode3, var_pexprsnode9, var_tassignnode10, var_pexprnode11); /* Direct call parser_prod$ACallAssignExpr$init_acallassignexpr on <var28:ACallAssignExpr>*/
6348 }
6349 var_pexprnode1 = var28;
6350 var_node_list = var_pexprnode1;
6351 var29 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction216> */
6352 {
6353 var30 = nitc___nitc__Parser___go_to(var_p, var29);
6354 }
6355 {
6356 nitc___nitc__Parser___push(var_p, var30, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
6357 }
6358 RET_LABEL:;
6359 }
6360 /* method parser$ReduceAction217$action for (self: ReduceAction217, Parser) */
6361 void nitc__parser___nitc__parser__ReduceAction217___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
6362 val* var_p /* var p: Parser */;
6363 val* var_node_list /* var node_list: nullable Object */;
6364 val* var /* : nullable Object */;
6365 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6366 val* var1 /* : nullable Object */;
6367 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6368 val* var2 /* : nullable Object */;
6369 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6370 val* var3 /* : nullable Object */;
6371 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6372 val* var4 /* : nullable Object */;
6373 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6374 val* var5 /* : nullable Object */;
6375 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6376 val* var6 /* : nullable Object */;
6377 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6378 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
6379 short int var7 /* : Bool */;
6380 int cltype;
6381 int idtype;
6382 val* var8 /* : Array[Object] */;
6383 val* var_listnode6 /* var listnode6: Array[Object] */;
6384 val* var_listnode5 /* var listnode5: nullable Object */;
6385 short int var9 /* : Bool */;
6386 int cltype10;
6387 int idtype11;
6388 val* var12 /* : Array[Object] */;
6389 val* var13 /* : AQualified */;
6390 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
6391 val* var_tidnode8 /* var tidnode8: nullable Object */;
6392 short int var14 /* : Bool */;
6393 int cltype15;
6394 int idtype16;
6395 val* var17 /* : AQid */;
6396 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
6397 val* var18 /* : Array[Object] */;
6398 val* var_listnode10 /* var listnode10: Array[Object] */;
6399 val* var19 /* : AListExprs */;
6400 val* var_pexprsnode9 /* var pexprsnode9: nullable AListExprs */;
6401 val* var_tassignnode11 /* var tassignnode11: nullable Object */;
6402 short int var20 /* : Bool */;
6403 int cltype21;
6404 int idtype22;
6405 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
6406 short int var23 /* : Bool */;
6407 int cltype24;
6408 int idtype25;
6409 val* var26 /* : ACallAssignExpr */;
6410 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
6411 long var27 /* : Int */;
6412 long var28 /* : Int */;
6413 var_p = p0;
6414 var_node_list = ((val*)NULL);
6415 {
6416 var = nitc___nitc__Parser___pop(var_p);
6417 }
6418 var_nodearraylist7 = var;
6419 {
6420 var1 = nitc___nitc__Parser___pop(var_p);
6421 }
6422 var_nodearraylist6 = var1;
6423 {
6424 var2 = nitc___nitc__Parser___pop(var_p);
6425 }
6426 var_nodearraylist5 = var2;
6427 {
6428 var3 = nitc___nitc__Parser___pop(var_p);
6429 }
6430 var_nodearraylist4 = var3;
6431 {
6432 var4 = nitc___nitc__Parser___pop(var_p);
6433 }
6434 var_nodearraylist3 = var4;
6435 {
6436 var5 = nitc___nitc__Parser___pop(var_p);
6437 }
6438 var_nodearraylist2 = var5;
6439 {
6440 var6 = nitc___nitc__Parser___pop(var_p);
6441 }
6442 var_nodearraylist1 = var6;
6443 var_pexprnode2 = var_nodearraylist1;
6444 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6445 cltype = type_nullable__nitc__AExpr.color;
6446 idtype = type_nullable__nitc__AExpr.id;
6447 if(var_pexprnode2 == NULL) {
6448 var7 = 1;
6449 } else {
6450 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
6451 var7 = 0;
6452 } else {
6453 var7 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
6454 }
6455 }
6456 if (unlikely(!var7)) {
6457 if(catchStack.cursor >= 0){
6458 longjmp(catchStack.envs[catchStack.cursor], 1);
6459 }
6460 PRINT_ERROR("Runtime error: %s", "Assert failed");
6461 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6315);
6462 fatal_exit(1);
6463 }
6464 var8 = NEW_core__Array(&type_core__Array__core__Object);
6465 {
6466 core___core__Array___core__kernel__Object__init(var8); /* Direct call array$Array$init on <var8:Array[Object]>*/
6467 }
6468 var_listnode6 = var8;
6469 var_listnode5 = var_nodearraylist4;
6470 /* <var_listnode5:nullable Object> isa Array[Object] */
6471 cltype10 = type_core__Array__core__Object.color;
6472 idtype11 = type_core__Array__core__Object.id;
6473 if(var_listnode5 == NULL) {
6474 var9 = 0;
6475 } else {
6476 if(cltype10 >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) {
6477 var9 = 0;
6478 } else {
6479 var9 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype10] == idtype11;
6480 }
6481 }
6482 if (unlikely(!var9)) {
6483 if(catchStack.cursor >= 0){
6484 longjmp(catchStack.envs[catchStack.cursor], 1);
6485 }
6486 PRINT_ERROR("Runtime error: %s", "Assert failed");
6487 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6318);
6488 fatal_exit(1);
6489 }
6490 {
6491 var12 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5);
6492 }
6493 var_listnode6 = var12;
6494 var13 = NEW_nitc__AQualified(&type_nitc__AQualified);
6495 {
6496 nitc__parser_prod___AQualified___init_aqualified(var13, var_listnode6, ((val*)NULL)); /* Direct call parser_prod$AQualified$init_aqualified on <var13:AQualified>*/
6497 }
6498 var_pqualifiednode4 = var13;
6499 var_tidnode8 = var_nodearraylist5;
6500 /* <var_tidnode8:nullable Object> isa nullable TId */
6501 cltype15 = type_nullable__nitc__TId.color;
6502 idtype16 = type_nullable__nitc__TId.id;
6503 if(var_tidnode8 == NULL) {
6504 var14 = 1;
6505 } else {
6506 if(cltype15 >= (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->table_size) {
6507 var14 = 0;
6508 } else {
6509 var14 = (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->type_table[cltype15] == idtype16;
6510 }
6511 }
6512 if (unlikely(!var14)) {
6513 if(catchStack.cursor >= 0){
6514 longjmp(catchStack.envs[catchStack.cursor], 1);
6515 }
6516 PRINT_ERROR("Runtime error: %s", "Assert failed");
6517 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6325);
6518 fatal_exit(1);
6519 }
6520 var17 = NEW_nitc__AQid(&type_nitc__AQid);
6521 {
6522 nitc__parser_prod___AQid___init_aqid(var17, var_pqualifiednode4, var_tidnode8); /* Direct call parser_prod$AQid$init_aqid on <var17:AQid>*/
6523 }
6524 var_pqidnode3 = var17;
6525 var18 = NEW_core__Array(&type_core__Array__core__Object);
6526 {
6527 core___core__Array___core__kernel__Object__init(var18); /* Direct call array$Array$init on <var18:Array[Object]>*/
6528 }
6529 var_listnode10 = var18;
6530 var19 = NEW_nitc__AListExprs(&type_nitc__AListExprs);
6531 {
6532 nitc__parser_prod___AListExprs___init_alistexprs(var19, var_listnode10); /* Direct call parser_prod$AListExprs$init_alistexprs on <var19:AListExprs>*/
6533 }
6534 var_pexprsnode9 = var19;
6535 var_tassignnode11 = var_nodearraylist6;
6536 /* <var_tassignnode11:nullable Object> isa nullable TAssign */
6537 cltype21 = type_nullable__nitc__TAssign.color;
6538 idtype22 = type_nullable__nitc__TAssign.id;
6539 if(var_tassignnode11 == NULL) {
6540 var20 = 1;
6541 } else {
6542 if(cltype21 >= (((long)var_tassignnode11&3)?type_info[((long)var_tassignnode11&3)]:var_tassignnode11->type)->table_size) {
6543 var20 = 0;
6544 } else {
6545 var20 = (((long)var_tassignnode11&3)?type_info[((long)var_tassignnode11&3)]:var_tassignnode11->type)->type_table[cltype21] == idtype22;
6546 }
6547 }
6548 if (unlikely(!var20)) {
6549 if(catchStack.cursor >= 0){
6550 longjmp(catchStack.envs[catchStack.cursor], 1);
6551 }
6552 PRINT_ERROR("Runtime error: %s", "Assert failed");
6553 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6335);
6554 fatal_exit(1);
6555 }
6556 var_pexprnode12 = var_nodearraylist7;
6557 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
6558 cltype24 = type_nullable__nitc__AExpr.color;
6559 idtype25 = type_nullable__nitc__AExpr.id;
6560 if(var_pexprnode12 == NULL) {
6561 var23 = 1;
6562 } else {
6563 if(cltype24 >= (((long)var_pexprnode12&3)?type_info[((long)var_pexprnode12&3)]:var_pexprnode12->type)->table_size) {
6564 var23 = 0;
6565 } else {
6566 var23 = (((long)var_pexprnode12&3)?type_info[((long)var_pexprnode12&3)]:var_pexprnode12->type)->type_table[cltype24] == idtype25;
6567 }
6568 }
6569 if (unlikely(!var23)) {
6570 if(catchStack.cursor >= 0){
6571 longjmp(catchStack.envs[catchStack.cursor], 1);
6572 }
6573 PRINT_ERROR("Runtime error: %s", "Assert failed");
6574 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6337);
6575 fatal_exit(1);
6576 }
6577 var26 = NEW_nitc__ACallAssignExpr(&type_nitc__ACallAssignExpr);
6578 {
6579 nitc__parser_prod___ACallAssignExpr___init_acallassignexpr(var26, var_pexprnode2, var_pqidnode3, var_pexprsnode9, var_tassignnode11, var_pexprnode12); /* Direct call parser_prod$ACallAssignExpr$init_acallassignexpr on <var26:ACallAssignExpr>*/
6580 }
6581 var_pexprnode1 = var26;
6582 var_node_list = var_pexprnode1;
6583 var27 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction217> */
6584 {
6585 var28 = nitc___nitc__Parser___go_to(var_p, var27);
6586 }
6587 {
6588 nitc___nitc__Parser___push(var_p, var28, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
6589 }
6590 RET_LABEL:;
6591 }
6592 /* method parser$ReduceAction218$action for (self: ReduceAction218, Parser) */
6593 void nitc__parser___nitc__parser__ReduceAction218___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
6594 val* var_p /* var p: Parser */;
6595 val* var_node_list /* var node_list: nullable Object */;
6596 val* var /* : nullable Object */;
6597 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6598 val* var1 /* : nullable Object */;
6599 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6600 val* var2 /* : nullable Object */;
6601 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6602 val* var3 /* : nullable Object */;
6603 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6604 val* var4 /* : AImplicitSelfExpr */;
6605 val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */;
6606 val* var_tidnode5 /* var tidnode5: nullable Object */;
6607 short int var5 /* : Bool */;
6608 int cltype;
6609 int idtype;
6610 val* var6 /* : AQid */;
6611 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
6612 val* var_pexprsnode6 /* var pexprsnode6: nullable Object */;
6613 short int var7 /* : Bool */;
6614 int cltype8;
6615 int idtype9;
6616 val* var_tassignnode7 /* var tassignnode7: nullable Object */;
6617 short int var10 /* : Bool */;
6618 int cltype11;
6619 int idtype12;
6620 val* var_pexprnode8 /* var pexprnode8: nullable Object */;
6621 short int var13 /* : Bool */;
6622 int cltype14;
6623 int idtype15;
6624 val* var16 /* : ACallAssignExpr */;
6625 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
6626 long var17 /* : Int */;
6627 long var18 /* : Int */;
6628 var_p = p0;
6629 var_node_list = ((val*)NULL);
6630 {
6631 var = nitc___nitc__Parser___pop(var_p);
6632 }
6633 var_nodearraylist4 = var;
6634 {
6635 var1 = nitc___nitc__Parser___pop(var_p);
6636 }
6637 var_nodearraylist3 = var1;
6638 {
6639 var2 = nitc___nitc__Parser___pop(var_p);
6640 }
6641 var_nodearraylist2 = var2;
6642 {
6643 var3 = nitc___nitc__Parser___pop(var_p);
6644 }
6645 var_nodearraylist1 = var3;
6646 var4 = NEW_nitc__AImplicitSelfExpr(&type_nitc__AImplicitSelfExpr);
6647 {
6648 nitc__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var4); /* Direct call parser_prod$AImplicitSelfExpr$init_aimplicitselfexpr on <var4:AImplicitSelfExpr>*/
6649 }
6650 var_pexprnode2 = var4;
6651 var_tidnode5 = var_nodearraylist1;
6652 /* <var_tidnode5:nullable Object> isa nullable TId */
6653 cltype = type_nullable__nitc__TId.color;
6654 idtype = type_nullable__nitc__TId.id;
6655 if(var_tidnode5 == NULL) {
6656 var5 = 1;
6657 } else {
6658 if(cltype >= (((long)var_tidnode5&3)?type_info[((long)var_tidnode5&3)]:var_tidnode5->type)->table_size) {
6659 var5 = 0;
6660 } else {
6661 var5 = (((long)var_tidnode5&3)?type_info[((long)var_tidnode5&3)]:var_tidnode5->type)->type_table[cltype] == idtype;
6662 }
6663 }
6664 if (unlikely(!var5)) {
6665 if(catchStack.cursor >= 0){
6666 longjmp(catchStack.envs[catchStack.cursor], 1);
6667 }
6668 PRINT_ERROR("Runtime error: %s", "Assert failed");
6669 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6360);
6670 fatal_exit(1);
6671 }
6672 var6 = NEW_nitc__AQid(&type_nitc__AQid);
6673 {
6674 nitc__parser_prod___AQid___init_aqid(var6, ((val*)NULL), var_tidnode5); /* Direct call parser_prod$AQid$init_aqid on <var6:AQid>*/
6675 }
6676 var_pqidnode3 = var6;
6677 var_pexprsnode6 = var_nodearraylist2;
6678 /* <var_pexprsnode6:nullable Object> isa nullable AExprs */
6679 cltype8 = type_nullable__nitc__AExprs.color;
6680 idtype9 = type_nullable__nitc__AExprs.id;
6681 if(var_pexprsnode6 == NULL) {
6682 var7 = 1;
6683 } else {
6684 if(cltype8 >= (((long)var_pexprsnode6&3)?type_info[((long)var_pexprsnode6&3)]:var_pexprsnode6->type)->table_size) {
6685 var7 = 0;
6686 } else {
6687 var7 = (((long)var_pexprsnode6&3)?type_info[((long)var_pexprsnode6&3)]:var_pexprsnode6->type)->type_table[cltype8] == idtype9;
6688 }
6689 }
6690 if (unlikely(!var7)) {
6691 if(catchStack.cursor >= 0){
6692 longjmp(catchStack.envs[catchStack.cursor], 1);
6693 }
6694 PRINT_ERROR("Runtime error: %s", "Assert failed");
6695 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6366);
6696 fatal_exit(1);
6697 }
6698 var_tassignnode7 = var_nodearraylist3;
6699 /* <var_tassignnode7:nullable Object> isa nullable TAssign */
6700 cltype11 = type_nullable__nitc__TAssign.color;
6701 idtype12 = type_nullable__nitc__TAssign.id;
6702 if(var_tassignnode7 == NULL) {
6703 var10 = 1;
6704 } else {
6705 if(cltype11 >= (((long)var_tassignnode7&3)?type_info[((long)var_tassignnode7&3)]:var_tassignnode7->type)->table_size) {
6706 var10 = 0;
6707 } else {
6708 var10 = (((long)var_tassignnode7&3)?type_info[((long)var_tassignnode7&3)]:var_tassignnode7->type)->type_table[cltype11] == idtype12;
6709 }
6710 }
6711 if (unlikely(!var10)) {
6712 if(catchStack.cursor >= 0){
6713 longjmp(catchStack.envs[catchStack.cursor], 1);
6714 }
6715 PRINT_ERROR("Runtime error: %s", "Assert failed");
6716 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6368);
6717 fatal_exit(1);
6718 }
6719 var_pexprnode8 = var_nodearraylist4;
6720 /* <var_pexprnode8:nullable Object> isa nullable AExpr */
6721 cltype14 = type_nullable__nitc__AExpr.color;
6722 idtype15 = type_nullable__nitc__AExpr.id;
6723 if(var_pexprnode8 == NULL) {
6724 var13 = 1;
6725 } else {
6726 if(cltype14 >= (((long)var_pexprnode8&3)?type_info[((long)var_pexprnode8&3)]:var_pexprnode8->type)->table_size) {
6727 var13 = 0;
6728 } else {
6729 var13 = (((long)var_pexprnode8&3)?type_info[((long)var_pexprnode8&3)]:var_pexprnode8->type)->type_table[cltype14] == idtype15;
6730 }
6731 }
6732 if (unlikely(!var13)) {
6733 if(catchStack.cursor >= 0){
6734 longjmp(catchStack.envs[catchStack.cursor], 1);
6735 }
6736 PRINT_ERROR("Runtime error: %s", "Assert failed");
6737 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6370);
6738 fatal_exit(1);
6739 }
6740 var16 = NEW_nitc__ACallAssignExpr(&type_nitc__ACallAssignExpr);
6741 {
6742 nitc__parser_prod___ACallAssignExpr___init_acallassignexpr(var16, var_pexprnode2, var_pqidnode3, var_pexprsnode6, var_tassignnode7, var_pexprnode8); /* Direct call parser_prod$ACallAssignExpr$init_acallassignexpr on <var16:ACallAssignExpr>*/
6743 }
6744 var_pexprnode1 = var16;
6745 var_node_list = var_pexprnode1;
6746 var17 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction218> */
6747 {
6748 var18 = nitc___nitc__Parser___go_to(var_p, var17);
6749 }
6750 {
6751 nitc___nitc__Parser___push(var_p, var18, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
6752 }
6753 RET_LABEL:;
6754 }
6755 /* method parser$ReduceAction219$action for (self: ReduceAction219, Parser) */
6756 void nitc__parser___nitc__parser__ReduceAction219___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
6757 val* var_p /* var p: Parser */;
6758 val* var_node_list /* var node_list: nullable Object */;
6759 val* var /* : nullable Object */;
6760 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6761 val* var1 /* : nullable Object */;
6762 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6763 val* var2 /* : nullable Object */;
6764 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6765 val* var3 /* : AImplicitSelfExpr */;
6766 val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */;
6767 val* var_tidnode5 /* var tidnode5: nullable Object */;
6768 short int var4 /* : Bool */;
6769 int cltype;
6770 int idtype;
6771 val* var5 /* : AQid */;
6772 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
6773 val* var6 /* : Array[Object] */;
6774 val* var_listnode7 /* var listnode7: Array[Object] */;
6775 val* var7 /* : AListExprs */;
6776 val* var_pexprsnode6 /* var pexprsnode6: nullable AListExprs */;
6777 val* var_tassignnode8 /* var tassignnode8: nullable Object */;
6778 short int var8 /* : Bool */;
6779 int cltype9;
6780 int idtype10;
6781 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
6782 short int var11 /* : Bool */;
6783 int cltype12;
6784 int idtype13;
6785 val* var14 /* : ACallAssignExpr */;
6786 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
6787 long var15 /* : Int */;
6788 long var16 /* : Int */;
6789 var_p = p0;
6790 var_node_list = ((val*)NULL);
6791 {
6792 var = nitc___nitc__Parser___pop(var_p);
6793 }
6794 var_nodearraylist3 = var;
6795 {
6796 var1 = nitc___nitc__Parser___pop(var_p);
6797 }
6798 var_nodearraylist2 = var1;
6799 {
6800 var2 = nitc___nitc__Parser___pop(var_p);
6801 }
6802 var_nodearraylist1 = var2;
6803 var3 = NEW_nitc__AImplicitSelfExpr(&type_nitc__AImplicitSelfExpr);
6804 {
6805 nitc__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var3); /* Direct call parser_prod$AImplicitSelfExpr$init_aimplicitselfexpr on <var3:AImplicitSelfExpr>*/
6806 }
6807 var_pexprnode2 = var3;
6808 var_tidnode5 = var_nodearraylist1;
6809 /* <var_tidnode5:nullable Object> isa nullable TId */
6810 cltype = type_nullable__nitc__TId.color;
6811 idtype = type_nullable__nitc__TId.id;
6812 if(var_tidnode5 == NULL) {
6813 var4 = 1;
6814 } else {
6815 if(cltype >= (((long)var_tidnode5&3)?type_info[((long)var_tidnode5&3)]:var_tidnode5->type)->table_size) {
6816 var4 = 0;
6817 } else {
6818 var4 = (((long)var_tidnode5&3)?type_info[((long)var_tidnode5&3)]:var_tidnode5->type)->type_table[cltype] == idtype;
6819 }
6820 }
6821 if (unlikely(!var4)) {
6822 if(catchStack.cursor >= 0){
6823 longjmp(catchStack.envs[catchStack.cursor], 1);
6824 }
6825 PRINT_ERROR("Runtime error: %s", "Assert failed");
6826 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6392);
6827 fatal_exit(1);
6828 }
6829 var5 = NEW_nitc__AQid(&type_nitc__AQid);
6830 {
6831 nitc__parser_prod___AQid___init_aqid(var5, ((val*)NULL), var_tidnode5); /* Direct call parser_prod$AQid$init_aqid on <var5:AQid>*/
6832 }
6833 var_pqidnode3 = var5;
6834 var6 = NEW_core__Array(&type_core__Array__core__Object);
6835 {
6836 core___core__Array___core__kernel__Object__init(var6); /* Direct call array$Array$init on <var6:Array[Object]>*/
6837 }
6838 var_listnode7 = var6;
6839 var7 = NEW_nitc__AListExprs(&type_nitc__AListExprs);
6840 {
6841 nitc__parser_prod___AListExprs___init_alistexprs(var7, var_listnode7); /* Direct call parser_prod$AListExprs$init_alistexprs on <var7:AListExprs>*/
6842 }
6843 var_pexprsnode6 = var7;
6844 var_tassignnode8 = var_nodearraylist2;
6845 /* <var_tassignnode8:nullable Object> isa nullable TAssign */
6846 cltype9 = type_nullable__nitc__TAssign.color;
6847 idtype10 = type_nullable__nitc__TAssign.id;
6848 if(var_tassignnode8 == NULL) {
6849 var8 = 1;
6850 } else {
6851 if(cltype9 >= (((long)var_tassignnode8&3)?type_info[((long)var_tassignnode8&3)]:var_tassignnode8->type)->table_size) {
6852 var8 = 0;
6853 } else {
6854 var8 = (((long)var_tassignnode8&3)?type_info[((long)var_tassignnode8&3)]:var_tassignnode8->type)->type_table[cltype9] == idtype10;
6855 }
6856 }
6857 if (unlikely(!var8)) {
6858 if(catchStack.cursor >= 0){
6859 longjmp(catchStack.envs[catchStack.cursor], 1);
6860 }
6861 PRINT_ERROR("Runtime error: %s", "Assert failed");
6862 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6402);
6863 fatal_exit(1);
6864 }
6865 var_pexprnode9 = var_nodearraylist3;
6866 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
6867 cltype12 = type_nullable__nitc__AExpr.color;
6868 idtype13 = type_nullable__nitc__AExpr.id;
6869 if(var_pexprnode9 == NULL) {
6870 var11 = 1;
6871 } else {
6872 if(cltype12 >= (((long)var_pexprnode9&3)?type_info[((long)var_pexprnode9&3)]:var_pexprnode9->type)->table_size) {
6873 var11 = 0;
6874 } else {
6875 var11 = (((long)var_pexprnode9&3)?type_info[((long)var_pexprnode9&3)]:var_pexprnode9->type)->type_table[cltype12] == idtype13;
6876 }
6877 }
6878 if (unlikely(!var11)) {
6879 if(catchStack.cursor >= 0){
6880 longjmp(catchStack.envs[catchStack.cursor], 1);
6881 }
6882 PRINT_ERROR("Runtime error: %s", "Assert failed");
6883 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6404);
6884 fatal_exit(1);
6885 }
6886 var14 = NEW_nitc__ACallAssignExpr(&type_nitc__ACallAssignExpr);
6887 {
6888 nitc__parser_prod___ACallAssignExpr___init_acallassignexpr(var14, var_pexprnode2, var_pqidnode3, var_pexprsnode6, var_tassignnode8, var_pexprnode9); /* Direct call parser_prod$ACallAssignExpr$init_acallassignexpr on <var14:ACallAssignExpr>*/
6889 }
6890 var_pexprnode1 = var14;
6891 var_node_list = var_pexprnode1;
6892 var15 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction219> */
6893 {
6894 var16 = nitc___nitc__Parser___go_to(var_p, var15);
6895 }
6896 {
6897 nitc___nitc__Parser___push(var_p, var16, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
6898 }
6899 RET_LABEL:;
6900 }
6901 /* method parser$ReduceAction220$action for (self: ReduceAction220, Parser) */
6902 void nitc__parser___nitc__parser__ReduceAction220___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
6903 val* var_p /* var p: Parser */;
6904 val* var_node_list /* var node_list: nullable Object */;
6905 val* var /* : nullable Object */;
6906 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6907 val* var1 /* : nullable Object */;
6908 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6909 val* var2 /* : nullable Object */;
6910 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6911 val* var3 /* : nullable Object */;
6912 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6913 val* var4 /* : nullable Object */;
6914 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6915 val* var5 /* : AImplicitSelfExpr */;
6916 val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */;
6917 val* var6 /* : Array[Object] */;
6918 val* var_listnode5 /* var listnode5: Array[Object] */;
6919 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6920 short int var7 /* : Bool */;
6921 int cltype;
6922 int idtype;
6923 val* var8 /* : AQualified */;
6924 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
6925 val* var_tidnode7 /* var tidnode7: nullable Object */;
6926 short int var9 /* : Bool */;
6927 int cltype10;
6928 int idtype11;
6929 val* var12 /* : AQid */;
6930 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
6931 val* var_pexprsnode8 /* var pexprsnode8: nullable Object */;
6932 short int var13 /* : Bool */;
6933 int cltype14;
6934 int idtype15;
6935 val* var_tassignnode9 /* var tassignnode9: nullable Object */;
6936 short int var16 /* : Bool */;
6937 int cltype17;
6938 int idtype18;
6939 val* var_pexprnode10 /* var pexprnode10: nullable Object */;
6940 short int var19 /* : Bool */;
6941 int cltype20;
6942 int idtype21;
6943 val* var22 /* : ACallAssignExpr */;
6944 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
6945 long var23 /* : Int */;
6946 long var24 /* : Int */;
6947 var_p = p0;
6948 var_node_list = ((val*)NULL);
6949 {
6950 var = nitc___nitc__Parser___pop(var_p);
6951 }
6952 var_nodearraylist5 = var;
6953 {
6954 var1 = nitc___nitc__Parser___pop(var_p);
6955 }
6956 var_nodearraylist4 = var1;
6957 {
6958 var2 = nitc___nitc__Parser___pop(var_p);
6959 }
6960 var_nodearraylist3 = var2;
6961 {
6962 var3 = nitc___nitc__Parser___pop(var_p);
6963 }
6964 var_nodearraylist2 = var3;
6965 {
6966 var4 = nitc___nitc__Parser___pop(var_p);
6967 }
6968 var_nodearraylist1 = var4;
6969 var5 = NEW_nitc__AImplicitSelfExpr(&type_nitc__AImplicitSelfExpr);
6970 {
6971 nitc__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var5); /* Direct call parser_prod$AImplicitSelfExpr$init_aimplicitselfexpr on <var5:AImplicitSelfExpr>*/
6972 }
6973 var_pexprnode2 = var5;
6974 var6 = NEW_core__Array(&type_core__Array__core__Object);
6975 {
6976 core___core__Array___core__kernel__Object__init(var6); /* Direct call array$Array$init on <var6:Array[Object]>*/
6977 }
6978 var_listnode5 = var6;
6979 var_tclassidnode6 = var_nodearraylist1;
6980 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6981 cltype = type_nullable__nitc__TClassid.color;
6982 idtype = type_nullable__nitc__TClassid.id;
6983 if(var_tclassidnode6 == NULL) {
6984 var7 = 1;
6985 } else {
6986 if(cltype >= (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->table_size) {
6987 var7 = 0;
6988 } else {
6989 var7 = (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->type_table[cltype] == idtype;
6990 }
6991 }
6992 if (unlikely(!var7)) {
6993 if(catchStack.cursor >= 0){
6994 longjmp(catchStack.envs[catchStack.cursor], 1);
6995 }
6996 PRINT_ERROR("Runtime error: %s", "Assert failed");
6997 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6429);
6998 fatal_exit(1);
6999 }
7000 var8 = NEW_nitc__AQualified(&type_nitc__AQualified);
7001 {
7002 nitc__parser_prod___AQualified___init_aqualified(var8, var_listnode5, var_tclassidnode6); /* Direct call parser_prod$AQualified$init_aqualified on <var8:AQualified>*/
7003 }
7004 var_pqualifiednode4 = var8;
7005 var_tidnode7 = var_nodearraylist2;
7006 /* <var_tidnode7:nullable Object> isa nullable TId */
7007 cltype10 = type_nullable__nitc__TId.color;
7008 idtype11 = type_nullable__nitc__TId.id;
7009 if(var_tidnode7 == NULL) {
7010 var9 = 1;
7011 } else {
7012 if(cltype10 >= (((long)var_tidnode7&3)?type_info[((long)var_tidnode7&3)]:var_tidnode7->type)->table_size) {
7013 var9 = 0;
7014 } else {
7015 var9 = (((long)var_tidnode7&3)?type_info[((long)var_tidnode7&3)]:var_tidnode7->type)->type_table[cltype10] == idtype11;
7016 }
7017 }
7018 if (unlikely(!var9)) {
7019 if(catchStack.cursor >= 0){
7020 longjmp(catchStack.envs[catchStack.cursor], 1);
7021 }
7022 PRINT_ERROR("Runtime error: %s", "Assert failed");
7023 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6435);
7024 fatal_exit(1);
7025 }
7026 var12 = NEW_nitc__AQid(&type_nitc__AQid);
7027 {
7028 nitc__parser_prod___AQid___init_aqid(var12, var_pqualifiednode4, var_tidnode7); /* Direct call parser_prod$AQid$init_aqid on <var12:AQid>*/
7029 }
7030 var_pqidnode3 = var12;
7031 var_pexprsnode8 = var_nodearraylist3;
7032 /* <var_pexprsnode8:nullable Object> isa nullable AExprs */
7033 cltype14 = type_nullable__nitc__AExprs.color;
7034 idtype15 = type_nullable__nitc__AExprs.id;
7035 if(var_pexprsnode8 == NULL) {
7036 var13 = 1;
7037 } else {
7038 if(cltype14 >= (((long)var_pexprsnode8&3)?type_info[((long)var_pexprsnode8&3)]:var_pexprsnode8->type)->table_size) {
7039 var13 = 0;
7040 } else {
7041 var13 = (((long)var_pexprsnode8&3)?type_info[((long)var_pexprsnode8&3)]:var_pexprsnode8->type)->type_table[cltype14] == idtype15;
7042 }
7043 }
7044 if (unlikely(!var13)) {
7045 if(catchStack.cursor >= 0){
7046 longjmp(catchStack.envs[catchStack.cursor], 1);
7047 }
7048 PRINT_ERROR("Runtime error: %s", "Assert failed");
7049 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6441);
7050 fatal_exit(1);
7051 }
7052 var_tassignnode9 = var_nodearraylist4;
7053 /* <var_tassignnode9:nullable Object> isa nullable TAssign */
7054 cltype17 = type_nullable__nitc__TAssign.color;
7055 idtype18 = type_nullable__nitc__TAssign.id;
7056 if(var_tassignnode9 == NULL) {
7057 var16 = 1;
7058 } else {
7059 if(cltype17 >= (((long)var_tassignnode9&3)?type_info[((long)var_tassignnode9&3)]:var_tassignnode9->type)->table_size) {
7060 var16 = 0;
7061 } else {
7062 var16 = (((long)var_tassignnode9&3)?type_info[((long)var_tassignnode9&3)]:var_tassignnode9->type)->type_table[cltype17] == idtype18;
7063 }
7064 }
7065 if (unlikely(!var16)) {
7066 if(catchStack.cursor >= 0){
7067 longjmp(catchStack.envs[catchStack.cursor], 1);
7068 }
7069 PRINT_ERROR("Runtime error: %s", "Assert failed");
7070 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6443);
7071 fatal_exit(1);
7072 }
7073 var_pexprnode10 = var_nodearraylist5;
7074 /* <var_pexprnode10:nullable Object> isa nullable AExpr */
7075 cltype20 = type_nullable__nitc__AExpr.color;
7076 idtype21 = type_nullable__nitc__AExpr.id;
7077 if(var_pexprnode10 == NULL) {
7078 var19 = 1;
7079 } else {
7080 if(cltype20 >= (((long)var_pexprnode10&3)?type_info[((long)var_pexprnode10&3)]:var_pexprnode10->type)->table_size) {
7081 var19 = 0;
7082 } else {
7083 var19 = (((long)var_pexprnode10&3)?type_info[((long)var_pexprnode10&3)]:var_pexprnode10->type)->type_table[cltype20] == idtype21;
7084 }
7085 }
7086 if (unlikely(!var19)) {
7087 if(catchStack.cursor >= 0){
7088 longjmp(catchStack.envs[catchStack.cursor], 1);
7089 }
7090 PRINT_ERROR("Runtime error: %s", "Assert failed");
7091 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6445);
7092 fatal_exit(1);
7093 }
7094 var22 = NEW_nitc__ACallAssignExpr(&type_nitc__ACallAssignExpr);
7095 {
7096 nitc__parser_prod___ACallAssignExpr___init_acallassignexpr(var22, var_pexprnode2, var_pqidnode3, var_pexprsnode8, var_tassignnode9, var_pexprnode10); /* Direct call parser_prod$ACallAssignExpr$init_acallassignexpr on <var22:ACallAssignExpr>*/
7097 }
7098 var_pexprnode1 = var22;
7099 var_node_list = var_pexprnode1;
7100 var23 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction220> */
7101 {
7102 var24 = nitc___nitc__Parser___go_to(var_p, var23);
7103 }
7104 {
7105 nitc___nitc__Parser___push(var_p, var24, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
7106 }
7107 RET_LABEL:;
7108 }
7109 /* method parser$ReduceAction221$action for (self: ReduceAction221, Parser) */
7110 void nitc__parser___nitc__parser__ReduceAction221___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
7111 val* var_p /* var p: Parser */;
7112 val* var_node_list /* var node_list: nullable Object */;
7113 val* var /* : nullable Object */;
7114 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7115 val* var1 /* : nullable Object */;
7116 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7117 val* var2 /* : nullable Object */;
7118 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7119 val* var3 /* : nullable Object */;
7120 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7121 val* var4 /* : AImplicitSelfExpr */;
7122 val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */;
7123 val* var5 /* : Array[Object] */;
7124 val* var_listnode5 /* var listnode5: Array[Object] */;
7125 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7126 short int var6 /* : Bool */;
7127 int cltype;
7128 int idtype;
7129 val* var7 /* : AQualified */;
7130 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
7131 val* var_tidnode7 /* var tidnode7: nullable Object */;
7132 short int var8 /* : Bool */;
7133 int cltype9;
7134 int idtype10;
7135 val* var11 /* : AQid */;
7136 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
7137 val* var12 /* : Array[Object] */;
7138 val* var_listnode9 /* var listnode9: Array[Object] */;
7139 val* var13 /* : AListExprs */;
7140 val* var_pexprsnode8 /* var pexprsnode8: nullable AListExprs */;
7141 val* var_tassignnode10 /* var tassignnode10: nullable Object */;
7142 short int var14 /* : Bool */;
7143 int cltype15;
7144 int idtype16;
7145 val* var_pexprnode11 /* var pexprnode11: nullable Object */;
7146 short int var17 /* : Bool */;
7147 int cltype18;
7148 int idtype19;
7149 val* var20 /* : ACallAssignExpr */;
7150 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
7151 long var21 /* : Int */;
7152 long var22 /* : Int */;
7153 var_p = p0;
7154 var_node_list = ((val*)NULL);
7155 {
7156 var = nitc___nitc__Parser___pop(var_p);
7157 }
7158 var_nodearraylist4 = var;
7159 {
7160 var1 = nitc___nitc__Parser___pop(var_p);
7161 }
7162 var_nodearraylist3 = var1;
7163 {
7164 var2 = nitc___nitc__Parser___pop(var_p);
7165 }
7166 var_nodearraylist2 = var2;
7167 {
7168 var3 = nitc___nitc__Parser___pop(var_p);
7169 }
7170 var_nodearraylist1 = var3;
7171 var4 = NEW_nitc__AImplicitSelfExpr(&type_nitc__AImplicitSelfExpr);
7172 {
7173 nitc__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var4); /* Direct call parser_prod$AImplicitSelfExpr$init_aimplicitselfexpr on <var4:AImplicitSelfExpr>*/
7174 }
7175 var_pexprnode2 = var4;
7176 var5 = NEW_core__Array(&type_core__Array__core__Object);
7177 {
7178 core___core__Array___core__kernel__Object__init(var5); /* Direct call array$Array$init on <var5:Array[Object]>*/
7179 }
7180 var_listnode5 = var5;
7181 var_tclassidnode6 = var_nodearraylist1;
7182 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7183 cltype = type_nullable__nitc__TClassid.color;
7184 idtype = type_nullable__nitc__TClassid.id;
7185 if(var_tclassidnode6 == NULL) {
7186 var6 = 1;
7187 } else {
7188 if(cltype >= (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->table_size) {
7189 var6 = 0;
7190 } else {
7191 var6 = (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->type_table[cltype] == idtype;
7192 }
7193 }
7194 if (unlikely(!var6)) {
7195 if(catchStack.cursor >= 0){
7196 longjmp(catchStack.envs[catchStack.cursor], 1);
7197 }
7198 PRINT_ERROR("Runtime error: %s", "Assert failed");
7199 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6469);
7200 fatal_exit(1);
7201 }
7202 var7 = NEW_nitc__AQualified(&type_nitc__AQualified);
7203 {
7204 nitc__parser_prod___AQualified___init_aqualified(var7, var_listnode5, var_tclassidnode6); /* Direct call parser_prod$AQualified$init_aqualified on <var7:AQualified>*/
7205 }
7206 var_pqualifiednode4 = var7;
7207 var_tidnode7 = var_nodearraylist2;
7208 /* <var_tidnode7:nullable Object> isa nullable TId */
7209 cltype9 = type_nullable__nitc__TId.color;
7210 idtype10 = type_nullable__nitc__TId.id;
7211 if(var_tidnode7 == NULL) {
7212 var8 = 1;
7213 } else {
7214 if(cltype9 >= (((long)var_tidnode7&3)?type_info[((long)var_tidnode7&3)]:var_tidnode7->type)->table_size) {
7215 var8 = 0;
7216 } else {
7217 var8 = (((long)var_tidnode7&3)?type_info[((long)var_tidnode7&3)]:var_tidnode7->type)->type_table[cltype9] == idtype10;
7218 }
7219 }
7220 if (unlikely(!var8)) {
7221 if(catchStack.cursor >= 0){
7222 longjmp(catchStack.envs[catchStack.cursor], 1);
7223 }
7224 PRINT_ERROR("Runtime error: %s", "Assert failed");
7225 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6475);
7226 fatal_exit(1);
7227 }
7228 var11 = NEW_nitc__AQid(&type_nitc__AQid);
7229 {
7230 nitc__parser_prod___AQid___init_aqid(var11, var_pqualifiednode4, var_tidnode7); /* Direct call parser_prod$AQid$init_aqid on <var11:AQid>*/
7231 }
7232 var_pqidnode3 = var11;
7233 var12 = NEW_core__Array(&type_core__Array__core__Object);
7234 {
7235 core___core__Array___core__kernel__Object__init(var12); /* Direct call array$Array$init on <var12:Array[Object]>*/
7236 }
7237 var_listnode9 = var12;
7238 var13 = NEW_nitc__AListExprs(&type_nitc__AListExprs);
7239 {
7240 nitc__parser_prod___AListExprs___init_alistexprs(var13, var_listnode9); /* Direct call parser_prod$AListExprs$init_alistexprs on <var13:AListExprs>*/
7241 }
7242 var_pexprsnode8 = var13;
7243 var_tassignnode10 = var_nodearraylist3;
7244 /* <var_tassignnode10:nullable Object> isa nullable TAssign */
7245 cltype15 = type_nullable__nitc__TAssign.color;
7246 idtype16 = type_nullable__nitc__TAssign.id;
7247 if(var_tassignnode10 == NULL) {
7248 var14 = 1;
7249 } else {
7250 if(cltype15 >= (((long)var_tassignnode10&3)?type_info[((long)var_tassignnode10&3)]:var_tassignnode10->type)->table_size) {
7251 var14 = 0;
7252 } else {
7253 var14 = (((long)var_tassignnode10&3)?type_info[((long)var_tassignnode10&3)]:var_tassignnode10->type)->type_table[cltype15] == idtype16;
7254 }
7255 }
7256 if (unlikely(!var14)) {
7257 if(catchStack.cursor >= 0){
7258 longjmp(catchStack.envs[catchStack.cursor], 1);
7259 }
7260 PRINT_ERROR("Runtime error: %s", "Assert failed");
7261 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6485);
7262 fatal_exit(1);
7263 }
7264 var_pexprnode11 = var_nodearraylist4;
7265 /* <var_pexprnode11:nullable Object> isa nullable AExpr */
7266 cltype18 = type_nullable__nitc__AExpr.color;
7267 idtype19 = type_nullable__nitc__AExpr.id;
7268 if(var_pexprnode11 == NULL) {
7269 var17 = 1;
7270 } else {
7271 if(cltype18 >= (((long)var_pexprnode11&3)?type_info[((long)var_pexprnode11&3)]:var_pexprnode11->type)->table_size) {
7272 var17 = 0;
7273 } else {
7274 var17 = (((long)var_pexprnode11&3)?type_info[((long)var_pexprnode11&3)]:var_pexprnode11->type)->type_table[cltype18] == idtype19;
7275 }
7276 }
7277 if (unlikely(!var17)) {
7278 if(catchStack.cursor >= 0){
7279 longjmp(catchStack.envs[catchStack.cursor], 1);
7280 }
7281 PRINT_ERROR("Runtime error: %s", "Assert failed");
7282 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6487);
7283 fatal_exit(1);
7284 }
7285 var20 = NEW_nitc__ACallAssignExpr(&type_nitc__ACallAssignExpr);
7286 {
7287 nitc__parser_prod___ACallAssignExpr___init_acallassignexpr(var20, var_pexprnode2, var_pqidnode3, var_pexprsnode8, var_tassignnode10, var_pexprnode11); /* Direct call parser_prod$ACallAssignExpr$init_acallassignexpr on <var20:ACallAssignExpr>*/
7288 }
7289 var_pexprnode1 = var20;
7290 var_node_list = var_pexprnode1;
7291 var21 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction221> */
7292 {
7293 var22 = nitc___nitc__Parser___go_to(var_p, var21);
7294 }
7295 {
7296 nitc___nitc__Parser___push(var_p, var22, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
7297 }
7298 RET_LABEL:;
7299 }
7300 /* method parser$ReduceAction222$action for (self: ReduceAction222, Parser) */
7301 void nitc__parser___nitc__parser__ReduceAction222___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
7302 val* var_p /* var p: Parser */;
7303 val* var_node_list /* var node_list: nullable Object */;
7304 val* var /* : nullable Object */;
7305 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7306 val* var1 /* : nullable Object */;
7307 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7308 val* var2 /* : nullable Object */;
7309 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7310 val* var3 /* : nullable Object */;
7311 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7312 val* var4 /* : nullable Object */;
7313 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7314 val* var5 /* : nullable Object */;
7315 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7316 val* var6 /* : AImplicitSelfExpr */;
7317 val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */;
7318 val* var7 /* : Array[Object] */;
7319 val* var_listnode6 /* var listnode6: Array[Object] */;
7320 val* var_listnode5 /* var listnode5: nullable Object */;
7321 short int var8 /* : Bool */;
7322 int cltype;
7323 int idtype;
7324 val* var9 /* : Array[Object] */;
7325 val* var_tclassidnode7 /* var tclassidnode7: nullable Object */;
7326 short int var10 /* : Bool */;
7327 int cltype11;
7328 int idtype12;
7329 val* var13 /* : AQualified */;
7330 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
7331 val* var_tidnode8 /* var tidnode8: nullable Object */;
7332 short int var14 /* : Bool */;
7333 int cltype15;
7334 int idtype16;
7335 val* var17 /* : AQid */;
7336 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
7337 val* var_pexprsnode9 /* var pexprsnode9: nullable Object */;
7338 short int var18 /* : Bool */;
7339 int cltype19;
7340 int idtype20;
7341 val* var_tassignnode10 /* var tassignnode10: nullable Object */;
7342 short int var21 /* : Bool */;
7343 int cltype22;
7344 int idtype23;
7345 val* var_pexprnode11 /* var pexprnode11: nullable Object */;
7346 short int var24 /* : Bool */;
7347 int cltype25;
7348 int idtype26;
7349 val* var27 /* : ACallAssignExpr */;
7350 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
7351 long var28 /* : Int */;
7352 long var29 /* : Int */;
7353 var_p = p0;
7354 var_node_list = ((val*)NULL);
7355 {
7356 var = nitc___nitc__Parser___pop(var_p);
7357 }
7358 var_nodearraylist6 = var;
7359 {
7360 var1 = nitc___nitc__Parser___pop(var_p);
7361 }
7362 var_nodearraylist5 = var1;
7363 {
7364 var2 = nitc___nitc__Parser___pop(var_p);
7365 }
7366 var_nodearraylist4 = var2;
7367 {
7368 var3 = nitc___nitc__Parser___pop(var_p);
7369 }
7370 var_nodearraylist3 = var3;
7371 {
7372 var4 = nitc___nitc__Parser___pop(var_p);
7373 }
7374 var_nodearraylist2 = var4;
7375 {
7376 var5 = nitc___nitc__Parser___pop(var_p);
7377 }
7378 var_nodearraylist1 = var5;
7379 var6 = NEW_nitc__AImplicitSelfExpr(&type_nitc__AImplicitSelfExpr);
7380 {
7381 nitc__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var6); /* Direct call parser_prod$AImplicitSelfExpr$init_aimplicitselfexpr on <var6:AImplicitSelfExpr>*/
7382 }
7383 var_pexprnode2 = var6;
7384 var7 = NEW_core__Array(&type_core__Array__core__Object);
7385 {
7386 core___core__Array___core__kernel__Object__init(var7); /* Direct call array$Array$init on <var7:Array[Object]>*/
7387 }
7388 var_listnode6 = var7;
7389 var_listnode5 = var_nodearraylist1;
7390 /* <var_listnode5:nullable Object> isa Array[Object] */
7391 cltype = type_core__Array__core__Object.color;
7392 idtype = type_core__Array__core__Object.id;
7393 if(var_listnode5 == NULL) {
7394 var8 = 0;
7395 } else {
7396 if(cltype >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) {
7397 var8 = 0;
7398 } else {
7399 var8 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype] == idtype;
7400 }
7401 }
7402 if (unlikely(!var8)) {
7403 if(catchStack.cursor >= 0){
7404 longjmp(catchStack.envs[catchStack.cursor], 1);
7405 }
7406 PRINT_ERROR("Runtime error: %s", "Assert failed");
7407 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6513);
7408 fatal_exit(1);
7409 }
7410 {
7411 var9 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5);
7412 }
7413 var_listnode6 = var9;
7414 var_tclassidnode7 = var_nodearraylist2;
7415 /* <var_tclassidnode7:nullable Object> isa nullable TClassid */
7416 cltype11 = type_nullable__nitc__TClassid.color;
7417 idtype12 = type_nullable__nitc__TClassid.id;
7418 if(var_tclassidnode7 == NULL) {
7419 var10 = 1;
7420 } else {
7421 if(cltype11 >= (((long)var_tclassidnode7&3)?type_info[((long)var_tclassidnode7&3)]:var_tclassidnode7->type)->table_size) {
7422 var10 = 0;
7423 } else {
7424 var10 = (((long)var_tclassidnode7&3)?type_info[((long)var_tclassidnode7&3)]:var_tclassidnode7->type)->type_table[cltype11] == idtype12;
7425 }
7426 }
7427 if (unlikely(!var10)) {
7428 if(catchStack.cursor >= 0){
7429 longjmp(catchStack.envs[catchStack.cursor], 1);
7430 }
7431 PRINT_ERROR("Runtime error: %s", "Assert failed");
7432 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6516);
7433 fatal_exit(1);
7434 }
7435 var13 = NEW_nitc__AQualified(&type_nitc__AQualified);
7436 {
7437 nitc__parser_prod___AQualified___init_aqualified(var13, var_listnode6, var_tclassidnode7); /* Direct call parser_prod$AQualified$init_aqualified on <var13:AQualified>*/
7438 }
7439 var_pqualifiednode4 = var13;
7440 var_tidnode8 = var_nodearraylist3;
7441 /* <var_tidnode8:nullable Object> isa nullable TId */
7442 cltype15 = type_nullable__nitc__TId.color;
7443 idtype16 = type_nullable__nitc__TId.id;
7444 if(var_tidnode8 == NULL) {
7445 var14 = 1;
7446 } else {
7447 if(cltype15 >= (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->table_size) {
7448 var14 = 0;
7449 } else {
7450 var14 = (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->type_table[cltype15] == idtype16;
7451 }
7452 }
7453 if (unlikely(!var14)) {
7454 if(catchStack.cursor >= 0){
7455 longjmp(catchStack.envs[catchStack.cursor], 1);
7456 }
7457 PRINT_ERROR("Runtime error: %s", "Assert failed");
7458 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6522);
7459 fatal_exit(1);
7460 }
7461 var17 = NEW_nitc__AQid(&type_nitc__AQid);
7462 {
7463 nitc__parser_prod___AQid___init_aqid(var17, var_pqualifiednode4, var_tidnode8); /* Direct call parser_prod$AQid$init_aqid on <var17:AQid>*/
7464 }
7465 var_pqidnode3 = var17;
7466 var_pexprsnode9 = var_nodearraylist4;
7467 /* <var_pexprsnode9:nullable Object> isa nullable AExprs */
7468 cltype19 = type_nullable__nitc__AExprs.color;
7469 idtype20 = type_nullable__nitc__AExprs.id;
7470 if(var_pexprsnode9 == NULL) {
7471 var18 = 1;
7472 } else {
7473 if(cltype19 >= (((long)var_pexprsnode9&3)?type_info[((long)var_pexprsnode9&3)]:var_pexprsnode9->type)->table_size) {
7474 var18 = 0;
7475 } else {
7476 var18 = (((long)var_pexprsnode9&3)?type_info[((long)var_pexprsnode9&3)]:var_pexprsnode9->type)->type_table[cltype19] == idtype20;
7477 }
7478 }
7479 if (unlikely(!var18)) {
7480 if(catchStack.cursor >= 0){
7481 longjmp(catchStack.envs[catchStack.cursor], 1);
7482 }
7483 PRINT_ERROR("Runtime error: %s", "Assert failed");
7484 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6528);
7485 fatal_exit(1);
7486 }
7487 var_tassignnode10 = var_nodearraylist5;
7488 /* <var_tassignnode10:nullable Object> isa nullable TAssign */
7489 cltype22 = type_nullable__nitc__TAssign.color;
7490 idtype23 = type_nullable__nitc__TAssign.id;
7491 if(var_tassignnode10 == NULL) {
7492 var21 = 1;
7493 } else {
7494 if(cltype22 >= (((long)var_tassignnode10&3)?type_info[((long)var_tassignnode10&3)]:var_tassignnode10->type)->table_size) {
7495 var21 = 0;
7496 } else {
7497 var21 = (((long)var_tassignnode10&3)?type_info[((long)var_tassignnode10&3)]:var_tassignnode10->type)->type_table[cltype22] == idtype23;
7498 }
7499 }
7500 if (unlikely(!var21)) {
7501 if(catchStack.cursor >= 0){
7502 longjmp(catchStack.envs[catchStack.cursor], 1);
7503 }
7504 PRINT_ERROR("Runtime error: %s", "Assert failed");
7505 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6530);
7506 fatal_exit(1);
7507 }
7508 var_pexprnode11 = var_nodearraylist6;
7509 /* <var_pexprnode11:nullable Object> isa nullable AExpr */
7510 cltype25 = type_nullable__nitc__AExpr.color;
7511 idtype26 = type_nullable__nitc__AExpr.id;
7512 if(var_pexprnode11 == NULL) {
7513 var24 = 1;
7514 } else {
7515 if(cltype25 >= (((long)var_pexprnode11&3)?type_info[((long)var_pexprnode11&3)]:var_pexprnode11->type)->table_size) {
7516 var24 = 0;
7517 } else {
7518 var24 = (((long)var_pexprnode11&3)?type_info[((long)var_pexprnode11&3)]:var_pexprnode11->type)->type_table[cltype25] == idtype26;
7519 }
7520 }
7521 if (unlikely(!var24)) {
7522 if(catchStack.cursor >= 0){
7523 longjmp(catchStack.envs[catchStack.cursor], 1);
7524 }
7525 PRINT_ERROR("Runtime error: %s", "Assert failed");
7526 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6532);
7527 fatal_exit(1);
7528 }
7529 var27 = NEW_nitc__ACallAssignExpr(&type_nitc__ACallAssignExpr);
7530 {
7531 nitc__parser_prod___ACallAssignExpr___init_acallassignexpr(var27, var_pexprnode2, var_pqidnode3, var_pexprsnode9, var_tassignnode10, var_pexprnode11); /* Direct call parser_prod$ACallAssignExpr$init_acallassignexpr on <var27:ACallAssignExpr>*/
7532 }
7533 var_pexprnode1 = var27;
7534 var_node_list = var_pexprnode1;
7535 var28 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction222> */
7536 {
7537 var29 = nitc___nitc__Parser___go_to(var_p, var28);
7538 }
7539 {
7540 nitc___nitc__Parser___push(var_p, var29, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
7541 }
7542 RET_LABEL:;
7543 }
7544 /* method parser$ReduceAction223$action for (self: ReduceAction223, Parser) */
7545 void nitc__parser___nitc__parser__ReduceAction223___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
7546 val* var_p /* var p: Parser */;
7547 val* var_node_list /* var node_list: nullable Object */;
7548 val* var /* : nullable Object */;
7549 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7550 val* var1 /* : nullable Object */;
7551 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7552 val* var2 /* : nullable Object */;
7553 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7554 val* var3 /* : nullable Object */;
7555 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7556 val* var4 /* : nullable Object */;
7557 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7558 val* var5 /* : AImplicitSelfExpr */;
7559 val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */;
7560 val* var6 /* : Array[Object] */;
7561 val* var_listnode6 /* var listnode6: Array[Object] */;
7562 val* var_listnode5 /* var listnode5: nullable Object */;
7563 short int var7 /* : Bool */;
7564 int cltype;
7565 int idtype;
7566 val* var8 /* : Array[Object] */;
7567 val* var_tclassidnode7 /* var tclassidnode7: nullable Object */;
7568 short int var9 /* : Bool */;
7569 int cltype10;
7570 int idtype11;
7571 val* var12 /* : AQualified */;
7572 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
7573 val* var_tidnode8 /* var tidnode8: nullable Object */;
7574 short int var13 /* : Bool */;
7575 int cltype14;
7576 int idtype15;
7577 val* var16 /* : AQid */;
7578 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
7579 val* var17 /* : Array[Object] */;
7580 val* var_listnode10 /* var listnode10: Array[Object] */;
7581 val* var18 /* : AListExprs */;
7582 val* var_pexprsnode9 /* var pexprsnode9: nullable AListExprs */;
7583 val* var_tassignnode11 /* var tassignnode11: nullable Object */;
7584 short int var19 /* : Bool */;
7585 int cltype20;
7586 int idtype21;
7587 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
7588 short int var22 /* : Bool */;
7589 int cltype23;
7590 int idtype24;
7591 val* var25 /* : ACallAssignExpr */;
7592 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
7593 long var26 /* : Int */;
7594 long var27 /* : Int */;
7595 var_p = p0;
7596 var_node_list = ((val*)NULL);
7597 {
7598 var = nitc___nitc__Parser___pop(var_p);
7599 }
7600 var_nodearraylist5 = var;
7601 {
7602 var1 = nitc___nitc__Parser___pop(var_p);
7603 }
7604 var_nodearraylist4 = var1;
7605 {
7606 var2 = nitc___nitc__Parser___pop(var_p);
7607 }
7608 var_nodearraylist3 = var2;
7609 {
7610 var3 = nitc___nitc__Parser___pop(var_p);
7611 }
7612 var_nodearraylist2 = var3;
7613 {
7614 var4 = nitc___nitc__Parser___pop(var_p);
7615 }
7616 var_nodearraylist1 = var4;
7617 var5 = NEW_nitc__AImplicitSelfExpr(&type_nitc__AImplicitSelfExpr);
7618 {
7619 nitc__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var5); /* Direct call parser_prod$AImplicitSelfExpr$init_aimplicitselfexpr on <var5:AImplicitSelfExpr>*/
7620 }
7621 var_pexprnode2 = var5;
7622 var6 = NEW_core__Array(&type_core__Array__core__Object);
7623 {
7624 core___core__Array___core__kernel__Object__init(var6); /* Direct call array$Array$init on <var6:Array[Object]>*/
7625 }
7626 var_listnode6 = var6;
7627 var_listnode5 = var_nodearraylist1;
7628 /* <var_listnode5:nullable Object> isa Array[Object] */
7629 cltype = type_core__Array__core__Object.color;
7630 idtype = type_core__Array__core__Object.id;
7631 if(var_listnode5 == NULL) {
7632 var7 = 0;
7633 } else {
7634 if(cltype >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) {
7635 var7 = 0;
7636 } else {
7637 var7 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype] == idtype;
7638 }
7639 }
7640 if (unlikely(!var7)) {
7641 if(catchStack.cursor >= 0){
7642 longjmp(catchStack.envs[catchStack.cursor], 1);
7643 }
7644 PRINT_ERROR("Runtime error: %s", "Assert failed");
7645 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6557);
7646 fatal_exit(1);
7647 }
7648 {
7649 var8 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5);
7650 }
7651 var_listnode6 = var8;
7652 var_tclassidnode7 = var_nodearraylist2;
7653 /* <var_tclassidnode7:nullable Object> isa nullable TClassid */
7654 cltype10 = type_nullable__nitc__TClassid.color;
7655 idtype11 = type_nullable__nitc__TClassid.id;
7656 if(var_tclassidnode7 == NULL) {
7657 var9 = 1;
7658 } else {
7659 if(cltype10 >= (((long)var_tclassidnode7&3)?type_info[((long)var_tclassidnode7&3)]:var_tclassidnode7->type)->table_size) {
7660 var9 = 0;
7661 } else {
7662 var9 = (((long)var_tclassidnode7&3)?type_info[((long)var_tclassidnode7&3)]:var_tclassidnode7->type)->type_table[cltype10] == idtype11;
7663 }
7664 }
7665 if (unlikely(!var9)) {
7666 if(catchStack.cursor >= 0){
7667 longjmp(catchStack.envs[catchStack.cursor], 1);
7668 }
7669 PRINT_ERROR("Runtime error: %s", "Assert failed");
7670 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6560);
7671 fatal_exit(1);
7672 }
7673 var12 = NEW_nitc__AQualified(&type_nitc__AQualified);
7674 {
7675 nitc__parser_prod___AQualified___init_aqualified(var12, var_listnode6, var_tclassidnode7); /* Direct call parser_prod$AQualified$init_aqualified on <var12:AQualified>*/
7676 }
7677 var_pqualifiednode4 = var12;
7678 var_tidnode8 = var_nodearraylist3;
7679 /* <var_tidnode8:nullable Object> isa nullable TId */
7680 cltype14 = type_nullable__nitc__TId.color;
7681 idtype15 = type_nullable__nitc__TId.id;
7682 if(var_tidnode8 == NULL) {
7683 var13 = 1;
7684 } else {
7685 if(cltype14 >= (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->table_size) {
7686 var13 = 0;
7687 } else {
7688 var13 = (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->type_table[cltype14] == idtype15;
7689 }
7690 }
7691 if (unlikely(!var13)) {
7692 if(catchStack.cursor >= 0){
7693 longjmp(catchStack.envs[catchStack.cursor], 1);
7694 }
7695 PRINT_ERROR("Runtime error: %s", "Assert failed");
7696 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6566);
7697 fatal_exit(1);
7698 }
7699 var16 = NEW_nitc__AQid(&type_nitc__AQid);
7700 {
7701 nitc__parser_prod___AQid___init_aqid(var16, var_pqualifiednode4, var_tidnode8); /* Direct call parser_prod$AQid$init_aqid on <var16:AQid>*/
7702 }
7703 var_pqidnode3 = var16;
7704 var17 = NEW_core__Array(&type_core__Array__core__Object);
7705 {
7706 core___core__Array___core__kernel__Object__init(var17); /* Direct call array$Array$init on <var17:Array[Object]>*/
7707 }
7708 var_listnode10 = var17;
7709 var18 = NEW_nitc__AListExprs(&type_nitc__AListExprs);
7710 {
7711 nitc__parser_prod___AListExprs___init_alistexprs(var18, var_listnode10); /* Direct call parser_prod$AListExprs$init_alistexprs on <var18:AListExprs>*/
7712 }
7713 var_pexprsnode9 = var18;
7714 var_tassignnode11 = var_nodearraylist4;
7715 /* <var_tassignnode11:nullable Object> isa nullable TAssign */
7716 cltype20 = type_nullable__nitc__TAssign.color;
7717 idtype21 = type_nullable__nitc__TAssign.id;
7718 if(var_tassignnode11 == NULL) {
7719 var19 = 1;
7720 } else {
7721 if(cltype20 >= (((long)var_tassignnode11&3)?type_info[((long)var_tassignnode11&3)]:var_tassignnode11->type)->table_size) {
7722 var19 = 0;
7723 } else {
7724 var19 = (((long)var_tassignnode11&3)?type_info[((long)var_tassignnode11&3)]:var_tassignnode11->type)->type_table[cltype20] == idtype21;
7725 }
7726 }
7727 if (unlikely(!var19)) {
7728 if(catchStack.cursor >= 0){
7729 longjmp(catchStack.envs[catchStack.cursor], 1);
7730 }
7731 PRINT_ERROR("Runtime error: %s", "Assert failed");
7732 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6576);
7733 fatal_exit(1);
7734 }
7735 var_pexprnode12 = var_nodearraylist5;
7736 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
7737 cltype23 = type_nullable__nitc__AExpr.color;
7738 idtype24 = type_nullable__nitc__AExpr.id;
7739 if(var_pexprnode12 == NULL) {
7740 var22 = 1;
7741 } else {
7742 if(cltype23 >= (((long)var_pexprnode12&3)?type_info[((long)var_pexprnode12&3)]:var_pexprnode12->type)->table_size) {
7743 var22 = 0;
7744 } else {
7745 var22 = (((long)var_pexprnode12&3)?type_info[((long)var_pexprnode12&3)]:var_pexprnode12->type)->type_table[cltype23] == idtype24;
7746 }
7747 }
7748 if (unlikely(!var22)) {
7749 if(catchStack.cursor >= 0){
7750 longjmp(catchStack.envs[catchStack.cursor], 1);
7751 }
7752 PRINT_ERROR("Runtime error: %s", "Assert failed");
7753 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6578);
7754 fatal_exit(1);
7755 }
7756 var25 = NEW_nitc__ACallAssignExpr(&type_nitc__ACallAssignExpr);
7757 {
7758 nitc__parser_prod___ACallAssignExpr___init_acallassignexpr(var25, var_pexprnode2, var_pqidnode3, var_pexprsnode9, var_tassignnode11, var_pexprnode12); /* Direct call parser_prod$ACallAssignExpr$init_acallassignexpr on <var25:ACallAssignExpr>*/
7759 }
7760 var_pexprnode1 = var25;
7761 var_node_list = var_pexprnode1;
7762 var26 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction223> */
7763 {
7764 var27 = nitc___nitc__Parser___go_to(var_p, var26);
7765 }
7766 {
7767 nitc___nitc__Parser___push(var_p, var27, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
7768 }
7769 RET_LABEL:;
7770 }
7771 /* method parser$ReduceAction224$action for (self: ReduceAction224, Parser) */
7772 void nitc__parser___nitc__parser__ReduceAction224___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
7773 val* var_p /* var p: Parser */;
7774 val* var_node_list /* var node_list: nullable Object */;
7775 val* var /* : nullable Object */;
7776 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7777 val* var1 /* : nullable Object */;
7778 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7779 val* var2 /* : nullable Object */;
7780 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7781 val* var3 /* : nullable Object */;
7782 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7783 val* var4 /* : nullable Object */;
7784 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7785 val* var5 /* : AImplicitSelfExpr */;
7786 val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */;
7787 val* var6 /* : Array[Object] */;
7788 val* var_listnode6 /* var listnode6: Array[Object] */;
7789 val* var_listnode5 /* var listnode5: nullable Object */;
7790 short int var7 /* : Bool */;
7791 int cltype;
7792 int idtype;
7793 val* var8 /* : Array[Object] */;
7794 val* var9 /* : AQualified */;
7795 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
7796 val* var_tidnode8 /* var tidnode8: nullable Object */;
7797 short int var10 /* : Bool */;
7798 int cltype11;
7799 int idtype12;
7800 val* var13 /* : AQid */;
7801 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
7802 val* var_pexprsnode9 /* var pexprsnode9: nullable Object */;
7803 short int var14 /* : Bool */;
7804 int cltype15;
7805 int idtype16;
7806 val* var_tassignnode10 /* var tassignnode10: nullable Object */;
7807 short int var17 /* : Bool */;
7808 int cltype18;
7809 int idtype19;
7810 val* var_pexprnode11 /* var pexprnode11: nullable Object */;
7811 short int var20 /* : Bool */;
7812 int cltype21;
7813 int idtype22;
7814 val* var23 /* : ACallAssignExpr */;
7815 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
7816 long var24 /* : Int */;
7817 long var25 /* : Int */;
7818 var_p = p0;
7819 var_node_list = ((val*)NULL);
7820 {
7821 var = nitc___nitc__Parser___pop(var_p);
7822 }
7823 var_nodearraylist5 = var;
7824 {
7825 var1 = nitc___nitc__Parser___pop(var_p);
7826 }
7827 var_nodearraylist4 = var1;
7828 {
7829 var2 = nitc___nitc__Parser___pop(var_p);
7830 }
7831 var_nodearraylist3 = var2;
7832 {
7833 var3 = nitc___nitc__Parser___pop(var_p);
7834 }
7835 var_nodearraylist2 = var3;
7836 {
7837 var4 = nitc___nitc__Parser___pop(var_p);
7838 }
7839 var_nodearraylist1 = var4;
7840 var5 = NEW_nitc__AImplicitSelfExpr(&type_nitc__AImplicitSelfExpr);
7841 {
7842 nitc__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var5); /* Direct call parser_prod$AImplicitSelfExpr$init_aimplicitselfexpr on <var5:AImplicitSelfExpr>*/
7843 }
7844 var_pexprnode2 = var5;
7845 var6 = NEW_core__Array(&type_core__Array__core__Object);
7846 {
7847 core___core__Array___core__kernel__Object__init(var6); /* Direct call array$Array$init on <var6:Array[Object]>*/
7848 }
7849 var_listnode6 = var6;
7850 var_listnode5 = var_nodearraylist1;
7851 /* <var_listnode5:nullable Object> isa Array[Object] */
7852 cltype = type_core__Array__core__Object.color;
7853 idtype = type_core__Array__core__Object.id;
7854 if(var_listnode5 == NULL) {
7855 var7 = 0;
7856 } else {
7857 if(cltype >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) {
7858 var7 = 0;
7859 } else {
7860 var7 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype] == idtype;
7861 }
7862 }
7863 if (unlikely(!var7)) {
7864 if(catchStack.cursor >= 0){
7865 longjmp(catchStack.envs[catchStack.cursor], 1);
7866 }
7867 PRINT_ERROR("Runtime error: %s", "Assert failed");
7868 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6603);
7869 fatal_exit(1);
7870 }
7871 {
7872 var8 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5);
7873 }
7874 var_listnode6 = var8;
7875 var9 = NEW_nitc__AQualified(&type_nitc__AQualified);
7876 {
7877 nitc__parser_prod___AQualified___init_aqualified(var9, var_listnode6, ((val*)NULL)); /* Direct call parser_prod$AQualified$init_aqualified on <var9:AQualified>*/
7878 }
7879 var_pqualifiednode4 = var9;
7880 var_tidnode8 = var_nodearraylist2;
7881 /* <var_tidnode8:nullable Object> isa nullable TId */
7882 cltype11 = type_nullable__nitc__TId.color;
7883 idtype12 = type_nullable__nitc__TId.id;
7884 if(var_tidnode8 == NULL) {
7885 var10 = 1;
7886 } else {
7887 if(cltype11 >= (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->table_size) {
7888 var10 = 0;
7889 } else {
7890 var10 = (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->type_table[cltype11] == idtype12;
7891 }
7892 }
7893 if (unlikely(!var10)) {
7894 if(catchStack.cursor >= 0){
7895 longjmp(catchStack.envs[catchStack.cursor], 1);
7896 }
7897 PRINT_ERROR("Runtime error: %s", "Assert failed");
7898 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6610);
7899 fatal_exit(1);
7900 }
7901 var13 = NEW_nitc__AQid(&type_nitc__AQid);
7902 {
7903 nitc__parser_prod___AQid___init_aqid(var13, var_pqualifiednode4, var_tidnode8); /* Direct call parser_prod$AQid$init_aqid on <var13:AQid>*/
7904 }
7905 var_pqidnode3 = var13;
7906 var_pexprsnode9 = var_nodearraylist3;
7907 /* <var_pexprsnode9:nullable Object> isa nullable AExprs */
7908 cltype15 = type_nullable__nitc__AExprs.color;
7909 idtype16 = type_nullable__nitc__AExprs.id;
7910 if(var_pexprsnode9 == NULL) {
7911 var14 = 1;
7912 } else {
7913 if(cltype15 >= (((long)var_pexprsnode9&3)?type_info[((long)var_pexprsnode9&3)]:var_pexprsnode9->type)->table_size) {
7914 var14 = 0;
7915 } else {
7916 var14 = (((long)var_pexprsnode9&3)?type_info[((long)var_pexprsnode9&3)]:var_pexprsnode9->type)->type_table[cltype15] == idtype16;
7917 }
7918 }
7919 if (unlikely(!var14)) {
7920 if(catchStack.cursor >= 0){
7921 longjmp(catchStack.envs[catchStack.cursor], 1);
7922 }
7923 PRINT_ERROR("Runtime error: %s", "Assert failed");
7924 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6616);
7925 fatal_exit(1);
7926 }
7927 var_tassignnode10 = var_nodearraylist4;
7928 /* <var_tassignnode10:nullable Object> isa nullable TAssign */
7929 cltype18 = type_nullable__nitc__TAssign.color;
7930 idtype19 = type_nullable__nitc__TAssign.id;
7931 if(var_tassignnode10 == NULL) {
7932 var17 = 1;
7933 } else {
7934 if(cltype18 >= (((long)var_tassignnode10&3)?type_info[((long)var_tassignnode10&3)]:var_tassignnode10->type)->table_size) {
7935 var17 = 0;
7936 } else {
7937 var17 = (((long)var_tassignnode10&3)?type_info[((long)var_tassignnode10&3)]:var_tassignnode10->type)->type_table[cltype18] == idtype19;
7938 }
7939 }
7940 if (unlikely(!var17)) {
7941 if(catchStack.cursor >= 0){
7942 longjmp(catchStack.envs[catchStack.cursor], 1);
7943 }
7944 PRINT_ERROR("Runtime error: %s", "Assert failed");
7945 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6618);
7946 fatal_exit(1);
7947 }
7948 var_pexprnode11 = var_nodearraylist5;
7949 /* <var_pexprnode11:nullable Object> isa nullable AExpr */
7950 cltype21 = type_nullable__nitc__AExpr.color;
7951 idtype22 = type_nullable__nitc__AExpr.id;
7952 if(var_pexprnode11 == NULL) {
7953 var20 = 1;
7954 } else {
7955 if(cltype21 >= (((long)var_pexprnode11&3)?type_info[((long)var_pexprnode11&3)]:var_pexprnode11->type)->table_size) {
7956 var20 = 0;
7957 } else {
7958 var20 = (((long)var_pexprnode11&3)?type_info[((long)var_pexprnode11&3)]:var_pexprnode11->type)->type_table[cltype21] == idtype22;
7959 }
7960 }
7961 if (unlikely(!var20)) {
7962 if(catchStack.cursor >= 0){
7963 longjmp(catchStack.envs[catchStack.cursor], 1);
7964 }
7965 PRINT_ERROR("Runtime error: %s", "Assert failed");
7966 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6620);
7967 fatal_exit(1);
7968 }
7969 var23 = NEW_nitc__ACallAssignExpr(&type_nitc__ACallAssignExpr);
7970 {
7971 nitc__parser_prod___ACallAssignExpr___init_acallassignexpr(var23, var_pexprnode2, var_pqidnode3, var_pexprsnode9, var_tassignnode10, var_pexprnode11); /* Direct call parser_prod$ACallAssignExpr$init_acallassignexpr on <var23:ACallAssignExpr>*/
7972 }
7973 var_pexprnode1 = var23;
7974 var_node_list = var_pexprnode1;
7975 var24 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction224> */
7976 {
7977 var25 = nitc___nitc__Parser___go_to(var_p, var24);
7978 }
7979 {
7980 nitc___nitc__Parser___push(var_p, var25, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
7981 }
7982 RET_LABEL:;
7983 }
7984 /* method parser$ReduceAction225$action for (self: ReduceAction225, Parser) */
7985 void nitc__parser___nitc__parser__ReduceAction225___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
7986 val* var_p /* var p: Parser */;
7987 val* var_node_list /* var node_list: nullable Object */;
7988 val* var /* : nullable Object */;
7989 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7990 val* var1 /* : nullable Object */;
7991 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7992 val* var2 /* : nullable Object */;
7993 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7994 val* var3 /* : nullable Object */;
7995 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7996 val* var4 /* : AImplicitSelfExpr */;
7997 val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */;
7998 val* var5 /* : Array[Object] */;
7999 val* var_listnode6 /* var listnode6: Array[Object] */;
8000 val* var_listnode5 /* var listnode5: nullable Object */;
8001 short int var6 /* : Bool */;
8002 int cltype;
8003 int idtype;
8004 val* var7 /* : Array[Object] */;
8005 val* var8 /* : AQualified */;
8006 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
8007 val* var_tidnode8 /* var tidnode8: nullable Object */;
8008 short int var9 /* : Bool */;
8009 int cltype10;
8010 int idtype11;
8011 val* var12 /* : AQid */;
8012 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
8013 val* var13 /* : Array[Object] */;
8014 val* var_listnode10 /* var listnode10: Array[Object] */;
8015 val* var14 /* : AListExprs */;
8016 val* var_pexprsnode9 /* var pexprsnode9: nullable AListExprs */;
8017 val* var_tassignnode11 /* var tassignnode11: nullable Object */;
8018 short int var15 /* : Bool */;
8019 int cltype16;
8020 int idtype17;
8021 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
8022 short int var18 /* : Bool */;
8023 int cltype19;
8024 int idtype20;
8025 val* var21 /* : ACallAssignExpr */;
8026 val* var_pexprnode1 /* var pexprnode1: nullable ACallAssignExpr */;
8027 long var22 /* : Int */;
8028 long var23 /* : Int */;
8029 var_p = p0;
8030 var_node_list = ((val*)NULL);
8031 {
8032 var = nitc___nitc__Parser___pop(var_p);
8033 }
8034 var_nodearraylist4 = var;
8035 {
8036 var1 = nitc___nitc__Parser___pop(var_p);
8037 }
8038 var_nodearraylist3 = var1;
8039 {
8040 var2 = nitc___nitc__Parser___pop(var_p);
8041 }
8042 var_nodearraylist2 = var2;
8043 {
8044 var3 = nitc___nitc__Parser___pop(var_p);
8045 }
8046 var_nodearraylist1 = var3;
8047 var4 = NEW_nitc__AImplicitSelfExpr(&type_nitc__AImplicitSelfExpr);
8048 {
8049 nitc__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var4); /* Direct call parser_prod$AImplicitSelfExpr$init_aimplicitselfexpr on <var4:AImplicitSelfExpr>*/
8050 }
8051 var_pexprnode2 = var4;
8052 var5 = NEW_core__Array(&type_core__Array__core__Object);
8053 {
8054 core___core__Array___core__kernel__Object__init(var5); /* Direct call array$Array$init on <var5:Array[Object]>*/
8055 }
8056 var_listnode6 = var5;
8057 var_listnode5 = var_nodearraylist1;
8058 /* <var_listnode5:nullable Object> isa Array[Object] */
8059 cltype = type_core__Array__core__Object.color;
8060 idtype = type_core__Array__core__Object.id;
8061 if(var_listnode5 == NULL) {
8062 var6 = 0;
8063 } else {
8064 if(cltype >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) {
8065 var6 = 0;
8066 } else {
8067 var6 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype] == idtype;
8068 }
8069 }
8070 if (unlikely(!var6)) {
8071 if(catchStack.cursor >= 0){
8072 longjmp(catchStack.envs[catchStack.cursor], 1);
8073 }
8074 PRINT_ERROR("Runtime error: %s", "Assert failed");
8075 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6644);
8076 fatal_exit(1);
8077 }
8078 {
8079 var7 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5);
8080 }
8081 var_listnode6 = var7;
8082 var8 = NEW_nitc__AQualified(&type_nitc__AQualified);
8083 {
8084 nitc__parser_prod___AQualified___init_aqualified(var8, var_listnode6, ((val*)NULL)); /* Direct call parser_prod$AQualified$init_aqualified on <var8:AQualified>*/
8085 }
8086 var_pqualifiednode4 = var8;
8087 var_tidnode8 = var_nodearraylist2;
8088 /* <var_tidnode8:nullable Object> isa nullable TId */
8089 cltype10 = type_nullable__nitc__TId.color;
8090 idtype11 = type_nullable__nitc__TId.id;
8091 if(var_tidnode8 == NULL) {
8092 var9 = 1;
8093 } else {
8094 if(cltype10 >= (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->table_size) {
8095 var9 = 0;
8096 } else {
8097 var9 = (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->type_table[cltype10] == idtype11;
8098 }
8099 }
8100 if (unlikely(!var9)) {
8101 if(catchStack.cursor >= 0){
8102 longjmp(catchStack.envs[catchStack.cursor], 1);
8103 }
8104 PRINT_ERROR("Runtime error: %s", "Assert failed");
8105 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6651);
8106 fatal_exit(1);
8107 }
8108 var12 = NEW_nitc__AQid(&type_nitc__AQid);
8109 {
8110 nitc__parser_prod___AQid___init_aqid(var12, var_pqualifiednode4, var_tidnode8); /* Direct call parser_prod$AQid$init_aqid on <var12:AQid>*/
8111 }
8112 var_pqidnode3 = var12;
8113 var13 = NEW_core__Array(&type_core__Array__core__Object);
8114 {
8115 core___core__Array___core__kernel__Object__init(var13); /* Direct call array$Array$init on <var13:Array[Object]>*/
8116 }
8117 var_listnode10 = var13;
8118 var14 = NEW_nitc__AListExprs(&type_nitc__AListExprs);
8119 {
8120 nitc__parser_prod___AListExprs___init_alistexprs(var14, var_listnode10); /* Direct call parser_prod$AListExprs$init_alistexprs on <var14:AListExprs>*/
8121 }
8122 var_pexprsnode9 = var14;
8123 var_tassignnode11 = var_nodearraylist3;
8124 /* <var_tassignnode11:nullable Object> isa nullable TAssign */
8125 cltype16 = type_nullable__nitc__TAssign.color;
8126 idtype17 = type_nullable__nitc__TAssign.id;
8127 if(var_tassignnode11 == NULL) {
8128 var15 = 1;
8129 } else {
8130 if(cltype16 >= (((long)var_tassignnode11&3)?type_info[((long)var_tassignnode11&3)]:var_tassignnode11->type)->table_size) {
8131 var15 = 0;
8132 } else {
8133 var15 = (((long)var_tassignnode11&3)?type_info[((long)var_tassignnode11&3)]:var_tassignnode11->type)->type_table[cltype16] == idtype17;
8134 }
8135 }
8136 if (unlikely(!var15)) {
8137 if(catchStack.cursor >= 0){
8138 longjmp(catchStack.envs[catchStack.cursor], 1);
8139 }
8140 PRINT_ERROR("Runtime error: %s", "Assert failed");
8141 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6661);
8142 fatal_exit(1);
8143 }
8144 var_pexprnode12 = var_nodearraylist4;
8145 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
8146 cltype19 = type_nullable__nitc__AExpr.color;
8147 idtype20 = type_nullable__nitc__AExpr.id;
8148 if(var_pexprnode12 == NULL) {
8149 var18 = 1;
8150 } else {
8151 if(cltype19 >= (((long)var_pexprnode12&3)?type_info[((long)var_pexprnode12&3)]:var_pexprnode12->type)->table_size) {
8152 var18 = 0;
8153 } else {
8154 var18 = (((long)var_pexprnode12&3)?type_info[((long)var_pexprnode12&3)]:var_pexprnode12->type)->type_table[cltype19] == idtype20;
8155 }
8156 }
8157 if (unlikely(!var18)) {
8158 if(catchStack.cursor >= 0){
8159 longjmp(catchStack.envs[catchStack.cursor], 1);
8160 }
8161 PRINT_ERROR("Runtime error: %s", "Assert failed");
8162 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6663);
8163 fatal_exit(1);
8164 }
8165 var21 = NEW_nitc__ACallAssignExpr(&type_nitc__ACallAssignExpr);
8166 {
8167 nitc__parser_prod___ACallAssignExpr___init_acallassignexpr(var21, var_pexprnode2, var_pqidnode3, var_pexprsnode9, var_tassignnode11, var_pexprnode12); /* Direct call parser_prod$ACallAssignExpr$init_acallassignexpr on <var21:ACallAssignExpr>*/
8168 }
8169 var_pexprnode1 = var21;
8170 var_node_list = var_pexprnode1;
8171 var22 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction225> */
8172 {
8173 var23 = nitc___nitc__Parser___go_to(var_p, var22);
8174 }
8175 {
8176 nitc___nitc__Parser___push(var_p, var23, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
8177 }
8178 RET_LABEL:;
8179 }
8180 /* method parser$ReduceAction226$action for (self: ReduceAction226, Parser) */
8181 void nitc__parser___nitc__parser__ReduceAction226___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
8182 val* var_p /* var p: Parser */;
8183 val* var_node_list /* var node_list: nullable Object */;
8184 val* var /* : nullable Object */;
8185 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8186 val* var1 /* : nullable Object */;
8187 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8188 val* var2 /* : nullable Object */;
8189 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8190 val* var3 /* : nullable Object */;
8191 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8192 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
8193 short int var4 /* : Bool */;
8194 int cltype;
8195 int idtype;
8196 val* var_pexprsnode3 /* var pexprsnode3: nullable Object */;
8197 short int var5 /* : Bool */;
8198 int cltype6;
8199 int idtype7;
8200 val* var_tassignnode4 /* var tassignnode4: nullable Object */;
8201 short int var8 /* : Bool */;
8202 int cltype9;
8203 int idtype10;
8204 val* var_pexprnode5 /* var pexprnode5: nullable Object */;
8205 short int var11 /* : Bool */;
8206 int cltype12;
8207 int idtype13;
8208 val* var14 /* : ABraAssignExpr */;
8209 val* var_pexprnode1 /* var pexprnode1: nullable ABraAssignExpr */;
8210 long var15 /* : Int */;
8211 long var16 /* : Int */;
8212 var_p = p0;
8213 var_node_list = ((val*)NULL);
8214 {
8215 var = nitc___nitc__Parser___pop(var_p);
8216 }
8217 var_nodearraylist4 = var;
8218 {
8219 var1 = nitc___nitc__Parser___pop(var_p);
8220 }
8221 var_nodearraylist3 = var1;
8222 {
8223 var2 = nitc___nitc__Parser___pop(var_p);
8224 }
8225 var_nodearraylist2 = var2;
8226 {
8227 var3 = nitc___nitc__Parser___pop(var_p);
8228 }
8229 var_nodearraylist1 = var3;
8230 var_pexprnode2 = var_nodearraylist1;
8231 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
8232 cltype = type_nullable__nitc__AExpr.color;
8233 idtype = type_nullable__nitc__AExpr.id;
8234 if(var_pexprnode2 == NULL) {
8235 var4 = 1;
8236 } else {
8237 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
8238 var4 = 0;
8239 } else {
8240 var4 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
8241 }
8242 }
8243 if (unlikely(!var4)) {
8244 if(catchStack.cursor >= 0){
8245 longjmp(catchStack.envs[catchStack.cursor], 1);
8246 }
8247 PRINT_ERROR("Runtime error: %s", "Assert failed");
8248 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6685);
8249 fatal_exit(1);
8250 }
8251 var_pexprsnode3 = var_nodearraylist2;
8252 /* <var_pexprsnode3:nullable Object> isa nullable AExprs */
8253 cltype6 = type_nullable__nitc__AExprs.color;
8254 idtype7 = type_nullable__nitc__AExprs.id;
8255 if(var_pexprsnode3 == NULL) {
8256 var5 = 1;
8257 } else {
8258 if(cltype6 >= (((long)var_pexprsnode3&3)?type_info[((long)var_pexprsnode3&3)]:var_pexprsnode3->type)->table_size) {
8259 var5 = 0;
8260 } else {
8261 var5 = (((long)var_pexprsnode3&3)?type_info[((long)var_pexprsnode3&3)]:var_pexprsnode3->type)->type_table[cltype6] == idtype7;
8262 }
8263 }
8264 if (unlikely(!var5)) {
8265 if(catchStack.cursor >= 0){
8266 longjmp(catchStack.envs[catchStack.cursor], 1);
8267 }
8268 PRINT_ERROR("Runtime error: %s", "Assert failed");
8269 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6687);
8270 fatal_exit(1);
8271 }
8272 var_tassignnode4 = var_nodearraylist3;
8273 /* <var_tassignnode4:nullable Object> isa nullable TAssign */
8274 cltype9 = type_nullable__nitc__TAssign.color;
8275 idtype10 = type_nullable__nitc__TAssign.id;
8276 if(var_tassignnode4 == NULL) {
8277 var8 = 1;
8278 } else {
8279 if(cltype9 >= (((long)var_tassignnode4&3)?type_info[((long)var_tassignnode4&3)]:var_tassignnode4->type)->table_size) {
8280 var8 = 0;
8281 } else {
8282 var8 = (((long)var_tassignnode4&3)?type_info[((long)var_tassignnode4&3)]:var_tassignnode4->type)->type_table[cltype9] == idtype10;
8283 }
8284 }
8285 if (unlikely(!var8)) {
8286 if(catchStack.cursor >= 0){
8287 longjmp(catchStack.envs[catchStack.cursor], 1);
8288 }
8289 PRINT_ERROR("Runtime error: %s", "Assert failed");
8290 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6689);
8291 fatal_exit(1);
8292 }
8293 var_pexprnode5 = var_nodearraylist4;
8294 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
8295 cltype12 = type_nullable__nitc__AExpr.color;
8296 idtype13 = type_nullable__nitc__AExpr.id;
8297 if(var_pexprnode5 == NULL) {
8298 var11 = 1;
8299 } else {
8300 if(cltype12 >= (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->table_size) {
8301 var11 = 0;
8302 } else {
8303 var11 = (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->type_table[cltype12] == idtype13;
8304 }
8305 }
8306 if (unlikely(!var11)) {
8307 if(catchStack.cursor >= 0){
8308 longjmp(catchStack.envs[catchStack.cursor], 1);
8309 }
8310 PRINT_ERROR("Runtime error: %s", "Assert failed");
8311 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6691);
8312 fatal_exit(1);
8313 }
8314 var14 = NEW_nitc__ABraAssignExpr(&type_nitc__ABraAssignExpr);
8315 {
8316 nitc__parser_prod___ABraAssignExpr___init_abraassignexpr(var14, var_pexprnode2, var_pexprsnode3, var_tassignnode4, var_pexprnode5); /* Direct call parser_prod$ABraAssignExpr$init_abraassignexpr on <var14:ABraAssignExpr>*/
8317 }
8318 var_pexprnode1 = var14;
8319 var_node_list = var_pexprnode1;
8320 var15 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction226> */
8321 {
8322 var16 = nitc___nitc__Parser___go_to(var_p, var15);
8323 }
8324 {
8325 nitc___nitc__Parser___push(var_p, var16, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
8326 }
8327 RET_LABEL:;
8328 }
8329 /* method parser$ReduceAction227$action for (self: ReduceAction227, Parser) */
8330 void nitc__parser___nitc__parser__ReduceAction227___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
8331 val* var_p /* var p: Parser */;
8332 val* var_node_list /* var node_list: nullable Object */;
8333 val* var /* : nullable Object */;
8334 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8335 val* var1 /* : nullable Object */;
8336 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8337 val* var2 /* : nullable Object */;
8338 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8339 val* var3 /* : nullable Object */;
8340 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8341 val* var4 /* : nullable Object */;
8342 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8343 val* var5 /* : nullable Object */;
8344 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8345 val* var6 /* : nullable Object */;
8346 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8347 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
8348 short int var7 /* : Bool */;
8349 int cltype;
8350 int idtype;
8351 val* var_tattridnode3 /* var tattridnode3: nullable Object */;
8352 short int var8 /* : Bool */;
8353 int cltype9;
8354 int idtype10;
8355 val* var_passignopnode4 /* var passignopnode4: nullable Object */;
8356 short int var11 /* : Bool */;
8357 int cltype12;
8358 int idtype13;
8359 val* var_pexprnode5 /* var pexprnode5: nullable Object */;
8360 short int var14 /* : Bool */;
8361 int cltype15;
8362 int idtype16;
8363 val* var17 /* : AAttrReassignExpr */;
8364 val* var_pexprnode1 /* var pexprnode1: nullable AAttrReassignExpr */;
8365 long var18 /* : Int */;
8366 long var19 /* : Int */;
8367 var_p = p0;
8368 var_node_list = ((val*)NULL);
8369 {
8370 var = nitc___nitc__Parser___pop(var_p);
8371 }
8372 var_nodearraylist7 = var;
8373 {
8374 var1 = nitc___nitc__Parser___pop(var_p);
8375 }
8376 var_nodearraylist6 = var1;
8377 {
8378 var2 = nitc___nitc__Parser___pop(var_p);
8379 }
8380 var_nodearraylist5 = var2;
8381 {
8382 var3 = nitc___nitc__Parser___pop(var_p);
8383 }
8384 var_nodearraylist4 = var3;
8385 {
8386 var4 = nitc___nitc__Parser___pop(var_p);
8387 }
8388 var_nodearraylist3 = var4;
8389 {
8390 var5 = nitc___nitc__Parser___pop(var_p);
8391 }
8392 var_nodearraylist2 = var5;
8393 {
8394 var6 = nitc___nitc__Parser___pop(var_p);
8395 }
8396 var_nodearraylist1 = var6;
8397 var_pexprnode2 = var_nodearraylist1;
8398 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
8399 cltype = type_nullable__nitc__AExpr.color;
8400 idtype = type_nullable__nitc__AExpr.id;
8401 if(var_pexprnode2 == NULL) {
8402 var7 = 1;
8403 } else {
8404 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
8405 var7 = 0;
8406 } else {
8407 var7 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
8408 }
8409 }
8410 if (unlikely(!var7)) {
8411 if(catchStack.cursor >= 0){
8412 longjmp(catchStack.envs[catchStack.cursor], 1);
8413 }
8414 PRINT_ERROR("Runtime error: %s", "Assert failed");
8415 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6715);
8416 fatal_exit(1);
8417 }
8418 var_tattridnode3 = var_nodearraylist5;
8419 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
8420 cltype9 = type_nullable__nitc__TAttrid.color;
8421 idtype10 = type_nullable__nitc__TAttrid.id;
8422 if(var_tattridnode3 == NULL) {
8423 var8 = 1;
8424 } else {
8425 if(cltype9 >= (((long)var_tattridnode3&3)?type_info[((long)var_tattridnode3&3)]:var_tattridnode3->type)->table_size) {
8426 var8 = 0;
8427 } else {
8428 var8 = (((long)var_tattridnode3&3)?type_info[((long)var_tattridnode3&3)]:var_tattridnode3->type)->type_table[cltype9] == idtype10;
8429 }
8430 }
8431 if (unlikely(!var8)) {
8432 if(catchStack.cursor >= 0){
8433 longjmp(catchStack.envs[catchStack.cursor], 1);
8434 }
8435 PRINT_ERROR("Runtime error: %s", "Assert failed");
8436 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6717);
8437 fatal_exit(1);
8438 }
8439 var_passignopnode4 = var_nodearraylist6;
8440 /* <var_passignopnode4:nullable Object> isa nullable AAssignOp */
8441 cltype12 = type_nullable__nitc__AAssignOp.color;
8442 idtype13 = type_nullable__nitc__AAssignOp.id;
8443 if(var_passignopnode4 == NULL) {
8444 var11 = 1;
8445 } else {
8446 if(cltype12 >= (((long)var_passignopnode4&3)?type_info[((long)var_passignopnode4&3)]:var_passignopnode4->type)->table_size) {
8447 var11 = 0;
8448 } else {
8449 var11 = (((long)var_passignopnode4&3)?type_info[((long)var_passignopnode4&3)]:var_passignopnode4->type)->type_table[cltype12] == idtype13;
8450 }
8451 }
8452 if (unlikely(!var11)) {
8453 if(catchStack.cursor >= 0){
8454 longjmp(catchStack.envs[catchStack.cursor], 1);
8455 }
8456 PRINT_ERROR("Runtime error: %s", "Assert failed");
8457 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6719);
8458 fatal_exit(1);
8459 }
8460 var_pexprnode5 = var_nodearraylist7;
8461 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
8462 cltype15 = type_nullable__nitc__AExpr.color;
8463 idtype16 = type_nullable__nitc__AExpr.id;
8464 if(var_pexprnode5 == NULL) {
8465 var14 = 1;
8466 } else {
8467 if(cltype15 >= (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->table_size) {
8468 var14 = 0;
8469 } else {
8470 var14 = (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->type_table[cltype15] == idtype16;
8471 }
8472 }
8473 if (unlikely(!var14)) {
8474 if(catchStack.cursor >= 0){
8475 longjmp(catchStack.envs[catchStack.cursor], 1);
8476 }
8477 PRINT_ERROR("Runtime error: %s", "Assert failed");
8478 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6721);
8479 fatal_exit(1);
8480 }
8481 var17 = NEW_nitc__AAttrReassignExpr(&type_nitc__AAttrReassignExpr);
8482 {
8483 nitc__parser_prod___AAttrReassignExpr___init_aattrreassignexpr(var17, var_pexprnode2, var_tattridnode3, var_passignopnode4, var_pexprnode5); /* Direct call parser_prod$AAttrReassignExpr$init_aattrreassignexpr on <var17:AAttrReassignExpr>*/
8484 }
8485 var_pexprnode1 = var17;
8486 var_node_list = var_pexprnode1;
8487 var18 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction227> */
8488 {
8489 var19 = nitc___nitc__Parser___go_to(var_p, var18);
8490 }
8491 {
8492 nitc___nitc__Parser___push(var_p, var19, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
8493 }
8494 RET_LABEL:;
8495 }
8496 /* method parser$ReduceAction228$action for (self: ReduceAction228, Parser) */
8497 void nitc__parser___nitc__parser__ReduceAction228___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
8498 val* var_p /* var p: Parser */;
8499 val* var_node_list /* var node_list: nullable Object */;
8500 val* var /* : nullable Object */;
8501 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8502 val* var1 /* : nullable Object */;
8503 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8504 val* var2 /* : nullable Object */;
8505 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8506 val* var3 /* : nullable Object */;
8507 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8508 val* var4 /* : AImplicitSelfExpr */;
8509 val* var_pexprnode2 /* var pexprnode2: nullable AImplicitSelfExpr */;
8510 val* var_tattridnode3 /* var tattridnode3: nullable Object */;
8511 short int var5 /* : Bool */;
8512 int cltype;
8513 int idtype;
8514 val* var_passignopnode4 /* var passignopnode4: nullable Object */;
8515 short int var6 /* : Bool */;
8516 int cltype7;
8517 int idtype8;
8518 val* var_pexprnode5 /* var pexprnode5: nullable Object */;
8519 short int var9 /* : Bool */;
8520 int cltype10;
8521 int idtype11;
8522 val* var12 /* : AAttrReassignExpr */;
8523 val* var_pexprnode1 /* var pexprnode1: nullable AAttrReassignExpr */;
8524 long var13 /* : Int */;
8525 long var14 /* : Int */;
8526 var_p = p0;
8527 var_node_list = ((val*)NULL);
8528 {
8529 var = nitc___nitc__Parser___pop(var_p);
8530 }
8531 var_nodearraylist4 = var;
8532 {
8533 var1 = nitc___nitc__Parser___pop(var_p);
8534 }
8535 var_nodearraylist3 = var1;
8536 {
8537 var2 = nitc___nitc__Parser___pop(var_p);
8538 }
8539 var_nodearraylist2 = var2;
8540 {
8541 var3 = nitc___nitc__Parser___pop(var_p);
8542 }
8543 var_nodearraylist1 = var3;
8544 var4 = NEW_nitc__AImplicitSelfExpr(&type_nitc__AImplicitSelfExpr);
8545 {
8546 nitc__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var4); /* Direct call parser_prod$AImplicitSelfExpr$init_aimplicitselfexpr on <var4:AImplicitSelfExpr>*/
8547 }
8548 var_pexprnode2 = var4;
8549 var_tattridnode3 = var_nodearraylist2;
8550 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
8551 cltype = type_nullable__nitc__TAttrid.color;
8552 idtype = type_nullable__nitc__TAttrid.id;
8553 if(var_tattridnode3 == NULL) {
8554 var5 = 1;
8555 } else {
8556 if(cltype >= (((long)var_tattridnode3&3)?type_info[((long)var_tattridnode3&3)]:var_tattridnode3->type)->table_size) {
8557 var5 = 0;
8558 } else {
8559 var5 = (((long)var_tattridnode3&3)?type_info[((long)var_tattridnode3&3)]:var_tattridnode3->type)->type_table[cltype] == idtype;
8560 }
8561 }
8562 if (unlikely(!var5)) {
8563 if(catchStack.cursor >= 0){
8564 longjmp(catchStack.envs[catchStack.cursor], 1);
8565 }
8566 PRINT_ERROR("Runtime error: %s", "Assert failed");
8567 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6743);
8568 fatal_exit(1);
8569 }
8570 var_passignopnode4 = var_nodearraylist3;
8571 /* <var_passignopnode4:nullable Object> isa nullable AAssignOp */
8572 cltype7 = type_nullable__nitc__AAssignOp.color;
8573 idtype8 = type_nullable__nitc__AAssignOp.id;
8574 if(var_passignopnode4 == NULL) {
8575 var6 = 1;
8576 } else {
8577 if(cltype7 >= (((long)var_passignopnode4&3)?type_info[((long)var_passignopnode4&3)]:var_passignopnode4->type)->table_size) {
8578 var6 = 0;
8579 } else {
8580 var6 = (((long)var_passignopnode4&3)?type_info[((long)var_passignopnode4&3)]:var_passignopnode4->type)->type_table[cltype7] == idtype8;
8581 }
8582 }
8583 if (unlikely(!var6)) {
8584 if(catchStack.cursor >= 0){
8585 longjmp(catchStack.envs[catchStack.cursor], 1);
8586 }
8587 PRINT_ERROR("Runtime error: %s", "Assert failed");
8588 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6745);
8589 fatal_exit(1);
8590 }
8591 var_pexprnode5 = var_nodearraylist4;
8592 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
8593 cltype10 = type_nullable__nitc__AExpr.color;
8594 idtype11 = type_nullable__nitc__AExpr.id;
8595 if(var_pexprnode5 == NULL) {
8596 var9 = 1;
8597 } else {
8598 if(cltype10 >= (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->table_size) {
8599 var9 = 0;
8600 } else {
8601 var9 = (((long)var_pexprnode5&3)?type_info[((long)var_pexprnode5&3)]:var_pexprnode5->type)->type_table[cltype10] == idtype11;
8602 }
8603 }
8604 if (unlikely(!var9)) {
8605 if(catchStack.cursor >= 0){
8606 longjmp(catchStack.envs[catchStack.cursor], 1);
8607 }
8608 PRINT_ERROR("Runtime error: %s", "Assert failed");
8609 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6747);
8610 fatal_exit(1);
8611 }
8612 var12 = NEW_nitc__AAttrReassignExpr(&type_nitc__AAttrReassignExpr);
8613 {
8614 nitc__parser_prod___AAttrReassignExpr___init_aattrreassignexpr(var12, var_pexprnode2, var_tattridnode3, var_passignopnode4, var_pexprnode5); /* Direct call parser_prod$AAttrReassignExpr$init_aattrreassignexpr on <var12:AAttrReassignExpr>*/
8615 }
8616 var_pexprnode1 = var12;
8617 var_node_list = var_pexprnode1;
8618 var13 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction228> */
8619 {
8620 var14 = nitc___nitc__Parser___go_to(var_p, var13);
8621 }
8622 {
8623 nitc___nitc__Parser___push(var_p, var14, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
8624 }
8625 RET_LABEL:;
8626 }
8627 /* method parser$ReduceAction229$action for (self: ReduceAction229, Parser) */
8628 void nitc__parser___nitc__parser__ReduceAction229___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
8629 val* var_p /* var p: Parser */;
8630 val* var_node_list /* var node_list: nullable Object */;
8631 val* var /* : nullable Object */;
8632 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8633 val* var1 /* : nullable Object */;
8634 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8635 val* var2 /* : nullable Object */;
8636 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8637 val* var3 /* : nullable Object */;
8638 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8639 val* var4 /* : nullable Object */;
8640 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8641 val* var5 /* : nullable Object */;
8642 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8643 val* var6 /* : nullable Object */;
8644 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8645 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
8646 short int var7 /* : Bool */;
8647 int cltype;
8648 int idtype;
8649 val* var_tidnode5 /* var tidnode5: nullable Object */;
8650 short int var8 /* : Bool */;
8651 int cltype9;
8652 int idtype10;
8653 val* var11 /* : AQid */;
8654 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
8655 val* var_pexprsnode6 /* var pexprsnode6: nullable Object */;
8656 short int var12 /* : Bool */;
8657 int cltype13;
8658 int idtype14;
8659 val* var_passignopnode7 /* var passignopnode7: nullable Object */;
8660 short int var15 /* : Bool */;
8661 int cltype16;
8662 int idtype17;
8663 val* var_pexprnode8 /* var pexprnode8: nullable Object */;
8664 short int var18 /* : Bool */;
8665 int cltype19;
8666 int idtype20;
8667 val* var21 /* : ACallReassignExpr */;
8668 val* var_pexprnode1 /* var pexprnode1: nullable ACallReassignExpr */;
8669 long var22 /* : Int */;
8670 long var23 /* : Int */;
8671 var_p = p0;
8672 var_node_list = ((val*)NULL);
8673 {
8674 var = nitc___nitc__Parser___pop(var_p);
8675 }
8676 var_nodearraylist7 = var;
8677 {
8678 var1 = nitc___nitc__Parser___pop(var_p);
8679 }
8680 var_nodearraylist6 = var1;
8681 {
8682 var2 = nitc___nitc__Parser___pop(var_p);
8683 }
8684 var_nodearraylist5 = var2;
8685 {
8686 var3 = nitc___nitc__Parser___pop(var_p);
8687 }
8688 var_nodearraylist4 = var3;
8689 {
8690 var4 = nitc___nitc__Parser___pop(var_p);
8691 }
8692 var_nodearraylist3 = var4;
8693 {
8694 var5 = nitc___nitc__Parser___pop(var_p);
8695 }
8696 var_nodearraylist2 = var5;
8697 {
8698 var6 = nitc___nitc__Parser___pop(var_p);
8699 }
8700 var_nodearraylist1 = var6;
8701 var_pexprnode2 = var_nodearraylist1;
8702 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
8703 cltype = type_nullable__nitc__AExpr.color;
8704 idtype = type_nullable__nitc__AExpr.id;
8705 if(var_pexprnode2 == NULL) {
8706 var7 = 1;
8707 } else {
8708 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
8709 var7 = 0;
8710 } else {
8711 var7 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
8712 }
8713 }
8714 if (unlikely(!var7)) {
8715 if(catchStack.cursor >= 0){
8716 longjmp(catchStack.envs[catchStack.cursor], 1);
8717 }
8718 PRINT_ERROR("Runtime error: %s", "Assert failed");
8719 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6771);
8720 fatal_exit(1);
8721 }
8722 var_tidnode5 = var_nodearraylist4;
8723 /* <var_tidnode5:nullable Object> isa nullable TId */
8724 cltype9 = type_nullable__nitc__TId.color;
8725 idtype10 = type_nullable__nitc__TId.id;
8726 if(var_tidnode5 == NULL) {
8727 var8 = 1;
8728 } else {
8729 if(cltype9 >= (((long)var_tidnode5&3)?type_info[((long)var_tidnode5&3)]:var_tidnode5->type)->table_size) {
8730 var8 = 0;
8731 } else {
8732 var8 = (((long)var_tidnode5&3)?type_info[((long)var_tidnode5&3)]:var_tidnode5->type)->type_table[cltype9] == idtype10;
8733 }
8734 }
8735 if (unlikely(!var8)) {
8736 if(catchStack.cursor >= 0){
8737 longjmp(catchStack.envs[catchStack.cursor], 1);
8738 }
8739 PRINT_ERROR("Runtime error: %s", "Assert failed");
8740 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6773);
8741 fatal_exit(1);
8742 }
8743 var11 = NEW_nitc__AQid(&type_nitc__AQid);
8744 {
8745 nitc__parser_prod___AQid___init_aqid(var11, ((val*)NULL), var_tidnode5); /* Direct call parser_prod$AQid$init_aqid on <var11:AQid>*/
8746 }
8747 var_pqidnode3 = var11;
8748 var_pexprsnode6 = var_nodearraylist5;
8749 /* <var_pexprsnode6:nullable Object> isa nullable AExprs */
8750 cltype13 = type_nullable__nitc__AExprs.color;
8751 idtype14 = type_nullable__nitc__AExprs.id;
8752 if(var_pexprsnode6 == NULL) {
8753 var12 = 1;
8754 } else {
8755 if(cltype13 >= (((long)var_pexprsnode6&3)?type_info[((long)var_pexprsnode6&3)]:var_pexprsnode6->type)->table_size) {
8756 var12 = 0;
8757 } else {
8758 var12 = (((long)var_pexprsnode6&3)?type_info[((long)var_pexprsnode6&3)]:var_pexprsnode6->type)->type_table[cltype13] == idtype14;
8759 }
8760 }
8761 if (unlikely(!var12)) {
8762 if(catchStack.cursor >= 0){
8763 longjmp(catchStack.envs[catchStack.cursor], 1);
8764 }
8765 PRINT_ERROR("Runtime error: %s", "Assert failed");
8766 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6779);
8767 fatal_exit(1);
8768 }
8769 var_passignopnode7 = var_nodearraylist6;
8770 /* <var_passignopnode7:nullable Object> isa nullable AAssignOp */
8771 cltype16 = type_nullable__nitc__AAssignOp.color;
8772 idtype17 = type_nullable__nitc__AAssignOp.id;
8773 if(var_passignopnode7 == NULL) {
8774 var15 = 1;
8775 } else {
8776 if(cltype16 >= (((long)var_passignopnode7&3)?type_info[((long)var_passignopnode7&3)]:var_passignopnode7->type)->table_size) {
8777 var15 = 0;
8778 } else {
8779 var15 = (((long)var_passignopnode7&3)?type_info[((long)var_passignopnode7&3)]:var_passignopnode7->type)->type_table[cltype16] == idtype17;
8780 }
8781 }
8782 if (unlikely(!var15)) {
8783 if(catchStack.cursor >= 0){
8784 longjmp(catchStack.envs[catchStack.cursor], 1);
8785 }
8786 PRINT_ERROR("Runtime error: %s", "Assert failed");
8787 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6781);
8788 fatal_exit(1);
8789 }
8790 var_pexprnode8 = var_nodearraylist7;
8791 /* <var_pexprnode8:nullable Object> isa nullable AExpr */
8792 cltype19 = type_nullable__nitc__AExpr.color;
8793 idtype20 = type_nullable__nitc__AExpr.id;
8794 if(var_pexprnode8 == NULL) {
8795 var18 = 1;
8796 } else {
8797 if(cltype19 >= (((long)var_pexprnode8&3)?type_info[((long)var_pexprnode8&3)]:var_pexprnode8->type)->table_size) {
8798 var18 = 0;
8799 } else {
8800 var18 = (((long)var_pexprnode8&3)?type_info[((long)var_pexprnode8&3)]:var_pexprnode8->type)->type_table[cltype19] == idtype20;
8801 }
8802 }
8803 if (unlikely(!var18)) {
8804 if(catchStack.cursor >= 0){
8805 longjmp(catchStack.envs[catchStack.cursor], 1);
8806 }
8807 PRINT_ERROR("Runtime error: %s", "Assert failed");
8808 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6783);
8809 fatal_exit(1);
8810 }
8811 var21 = NEW_nitc__ACallReassignExpr(&type_nitc__ACallReassignExpr);
8812 {
8813 nitc__parser_prod___ACallReassignExpr___init_acallreassignexpr(var21, var_pexprnode2, var_pqidnode3, var_pexprsnode6, var_passignopnode7, var_pexprnode8); /* Direct call parser_prod$ACallReassignExpr$init_acallreassignexpr on <var21:ACallReassignExpr>*/
8814 }
8815 var_pexprnode1 = var21;
8816 var_node_list = var_pexprnode1;
8817 var22 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction229> */
8818 {
8819 var23 = nitc___nitc__Parser___go_to(var_p, var22);
8820 }
8821 {
8822 nitc___nitc__Parser___push(var_p, var23, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
8823 }
8824 RET_LABEL:;
8825 }
8826 /* method parser$ReduceAction230$action for (self: ReduceAction230, Parser) */
8827 void nitc__parser___nitc__parser__ReduceAction230___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
8828 val* var_p /* var p: Parser */;
8829 val* var_node_list /* var node_list: nullable Object */;
8830 val* var /* : nullable Object */;
8831 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8832 val* var1 /* : nullable Object */;
8833 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8834 val* var2 /* : nullable Object */;
8835 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8836 val* var3 /* : nullable Object */;
8837 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8838 val* var4 /* : nullable Object */;
8839 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8840 val* var5 /* : nullable Object */;
8841 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8842 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
8843 short int var6 /* : Bool */;
8844 int cltype;
8845 int idtype;
8846 val* var_tidnode5 /* var tidnode5: nullable Object */;
8847 short int var7 /* : Bool */;
8848 int cltype8;
8849 int idtype9;
8850 val* var10 /* : AQid */;
8851 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
8852 val* var11 /* : Array[Object] */;
8853 val* var_listnode7 /* var listnode7: Array[Object] */;
8854 val* var12 /* : AListExprs */;
8855 val* var_pexprsnode6 /* var pexprsnode6: nullable AListExprs */;
8856 val* var_passignopnode8 /* var passignopnode8: nullable Object */;
8857 short int var13 /* : Bool */;
8858 int cltype14;
8859 int idtype15;
8860 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
8861 short int var16 /* : Bool */;
8862 int cltype17;
8863 int idtype18;
8864 val* var19 /* : ACallReassignExpr */;
8865 val* var_pexprnode1 /* var pexprnode1: nullable ACallReassignExpr */;
8866 long var20 /* : Int */;
8867 long var21 /* : Int */;
8868 var_p = p0;
8869 var_node_list = ((val*)NULL);
8870 {
8871 var = nitc___nitc__Parser___pop(var_p);
8872 }
8873 var_nodearraylist6 = var;
8874 {
8875 var1 = nitc___nitc__Parser___pop(var_p);
8876 }
8877 var_nodearraylist5 = var1;
8878 {
8879 var2 = nitc___nitc__Parser___pop(var_p);
8880 }
8881 var_nodearraylist4 = var2;
8882 {
8883 var3 = nitc___nitc__Parser___pop(var_p);
8884 }
8885 var_nodearraylist3 = var3;
8886 {
8887 var4 = nitc___nitc__Parser___pop(var_p);
8888 }
8889 var_nodearraylist2 = var4;
8890 {
8891 var5 = nitc___nitc__Parser___pop(var_p);
8892 }
8893 var_nodearraylist1 = var5;
8894 var_pexprnode2 = var_nodearraylist1;
8895 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
8896 cltype = type_nullable__nitc__AExpr.color;
8897 idtype = type_nullable__nitc__AExpr.id;
8898 if(var_pexprnode2 == NULL) {
8899 var6 = 1;
8900 } else {
8901 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
8902 var6 = 0;
8903 } else {
8904 var6 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
8905 }
8906 }
8907 if (unlikely(!var6)) {
8908 if(catchStack.cursor >= 0){
8909 longjmp(catchStack.envs[catchStack.cursor], 1);
8910 }
8911 PRINT_ERROR("Runtime error: %s", "Assert failed");
8912 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6807);
8913 fatal_exit(1);
8914 }
8915 var_tidnode5 = var_nodearraylist4;
8916 /* <var_tidnode5:nullable Object> isa nullable TId */
8917 cltype8 = type_nullable__nitc__TId.color;
8918 idtype9 = type_nullable__nitc__TId.id;
8919 if(var_tidnode5 == NULL) {
8920 var7 = 1;
8921 } else {
8922 if(cltype8 >= (((long)var_tidnode5&3)?type_info[((long)var_tidnode5&3)]:var_tidnode5->type)->table_size) {
8923 var7 = 0;
8924 } else {
8925 var7 = (((long)var_tidnode5&3)?type_info[((long)var_tidnode5&3)]:var_tidnode5->type)->type_table[cltype8] == idtype9;
8926 }
8927 }
8928 if (unlikely(!var7)) {
8929 if(catchStack.cursor >= 0){
8930 longjmp(catchStack.envs[catchStack.cursor], 1);
8931 }
8932 PRINT_ERROR("Runtime error: %s", "Assert failed");
8933 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6809);
8934 fatal_exit(1);
8935 }
8936 var10 = NEW_nitc__AQid(&type_nitc__AQid);
8937 {
8938 nitc__parser_prod___AQid___init_aqid(var10, ((val*)NULL), var_tidnode5); /* Direct call parser_prod$AQid$init_aqid on <var10:AQid>*/
8939 }
8940 var_pqidnode3 = var10;
8941 var11 = NEW_core__Array(&type_core__Array__core__Object);
8942 {
8943 core___core__Array___core__kernel__Object__init(var11); /* Direct call array$Array$init on <var11:Array[Object]>*/
8944 }
8945 var_listnode7 = var11;
8946 var12 = NEW_nitc__AListExprs(&type_nitc__AListExprs);
8947 {
8948 nitc__parser_prod___AListExprs___init_alistexprs(var12, var_listnode7); /* Direct call parser_prod$AListExprs$init_alistexprs on <var12:AListExprs>*/
8949 }
8950 var_pexprsnode6 = var12;
8951 var_passignopnode8 = var_nodearraylist5;
8952 /* <var_passignopnode8:nullable Object> isa nullable AAssignOp */
8953 cltype14 = type_nullable__nitc__AAssignOp.color;
8954 idtype15 = type_nullable__nitc__AAssignOp.id;
8955 if(var_passignopnode8 == NULL) {
8956 var13 = 1;
8957 } else {
8958 if(cltype14 >= (((long)var_passignopnode8&3)?type_info[((long)var_passignopnode8&3)]:var_passignopnode8->type)->table_size) {
8959 var13 = 0;
8960 } else {
8961 var13 = (((long)var_passignopnode8&3)?type_info[((long)var_passignopnode8&3)]:var_passignopnode8->type)->type_table[cltype14] == idtype15;
8962 }
8963 }
8964 if (unlikely(!var13)) {
8965 if(catchStack.cursor >= 0){
8966 longjmp(catchStack.envs[catchStack.cursor], 1);
8967 }
8968 PRINT_ERROR("Runtime error: %s", "Assert failed");
8969 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6819);
8970 fatal_exit(1);
8971 }
8972 var_pexprnode9 = var_nodearraylist6;
8973 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
8974 cltype17 = type_nullable__nitc__AExpr.color;
8975 idtype18 = type_nullable__nitc__AExpr.id;
8976 if(var_pexprnode9 == NULL) {
8977 var16 = 1;
8978 } else {
8979 if(cltype17 >= (((long)var_pexprnode9&3)?type_info[((long)var_pexprnode9&3)]:var_pexprnode9->type)->table_size) {
8980 var16 = 0;
8981 } else {
8982 var16 = (((long)var_pexprnode9&3)?type_info[((long)var_pexprnode9&3)]:var_pexprnode9->type)->type_table[cltype17] == idtype18;
8983 }
8984 }
8985 if (unlikely(!var16)) {
8986 if(catchStack.cursor >= 0){
8987 longjmp(catchStack.envs[catchStack.cursor], 1);
8988 }
8989 PRINT_ERROR("Runtime error: %s", "Assert failed");
8990 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6821);
8991 fatal_exit(1);
8992 }
8993 var19 = NEW_nitc__ACallReassignExpr(&type_nitc__ACallReassignExpr);
8994 {
8995 nitc__parser_prod___ACallReassignExpr___init_acallreassignexpr(var19, var_pexprnode2, var_pqidnode3, var_pexprsnode6, var_passignopnode8, var_pexprnode9); /* Direct call parser_prod$ACallReassignExpr$init_acallreassignexpr on <var19:ACallReassignExpr>*/
8996 }
8997 var_pexprnode1 = var19;
8998 var_node_list = var_pexprnode1;
8999 var20 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction230> */
9000 {
9001 var21 = nitc___nitc__Parser___go_to(var_p, var20);
9002 }
9003 {
9004 nitc___nitc__Parser___push(var_p, var21, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
9005 }
9006 RET_LABEL:;
9007 }
9008 /* method parser$ReduceAction231$action for (self: ReduceAction231, Parser) */
9009 void nitc__parser___nitc__parser__ReduceAction231___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
9010 val* var_p /* var p: Parser */;
9011 val* var_node_list /* var node_list: nullable Object */;
9012 val* var /* : nullable Object */;
9013 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9014 val* var1 /* : nullable Object */;
9015 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9016 val* var2 /* : nullable Object */;
9017 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9018 val* var3 /* : nullable Object */;
9019 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9020 val* var4 /* : nullable Object */;
9021 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9022 val* var5 /* : nullable Object */;
9023 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9024 val* var6 /* : nullable Object */;
9025 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9026 val* var7 /* : nullable Object */;
9027 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9028 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
9029 short int var8 /* : Bool */;
9030 int cltype;
9031 int idtype;
9032 val* var9 /* : Array[Object] */;
9033 val* var_listnode5 /* var listnode5: Array[Object] */;
9034 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9035 short int var10 /* : Bool */;
9036 int cltype11;
9037 int idtype12;
9038 val* var13 /* : AQualified */;
9039 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
9040 val* var_tidnode7 /* var tidnode7: nullable Object */;
9041 short int var14 /* : Bool */;
9042 int cltype15;
9043 int idtype16;
9044 val* var17 /* : AQid */;
9045 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
9046 val* var_pexprsnode8 /* var pexprsnode8: nullable Object */;
9047 short int var18 /* : Bool */;
9048 int cltype19;
9049 int idtype20;
9050 val* var_passignopnode9 /* var passignopnode9: nullable Object */;
9051 short int var21 /* : Bool */;
9052 int cltype22;
9053 int idtype23;
9054 val* var_pexprnode10 /* var pexprnode10: nullable Object */;
9055 short int var24 /* : Bool */;
9056 int cltype25;
9057 int idtype26;
9058 val* var27 /* : ACallReassignExpr */;
9059 val* var_pexprnode1 /* var pexprnode1: nullable ACallReassignExpr */;
9060 long var28 /* : Int */;
9061 long var29 /* : Int */;
9062 var_p = p0;
9063 var_node_list = ((val*)NULL);
9064 {
9065 var = nitc___nitc__Parser___pop(var_p);
9066 }
9067 var_nodearraylist8 = var;
9068 {
9069 var1 = nitc___nitc__Parser___pop(var_p);
9070 }
9071 var_nodearraylist7 = var1;
9072 {
9073 var2 = nitc___nitc__Parser___pop(var_p);
9074 }
9075 var_nodearraylist6 = var2;
9076 {
9077 var3 = nitc___nitc__Parser___pop(var_p);
9078 }
9079 var_nodearraylist5 = var3;
9080 {
9081 var4 = nitc___nitc__Parser___pop(var_p);
9082 }
9083 var_nodearraylist4 = var4;
9084 {
9085 var5 = nitc___nitc__Parser___pop(var_p);
9086 }
9087 var_nodearraylist3 = var5;
9088 {
9089 var6 = nitc___nitc__Parser___pop(var_p);
9090 }
9091 var_nodearraylist2 = var6;
9092 {
9093 var7 = nitc___nitc__Parser___pop(var_p);
9094 }
9095 var_nodearraylist1 = var7;
9096 var_pexprnode2 = var_nodearraylist1;
9097 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
9098 cltype = type_nullable__nitc__AExpr.color;
9099 idtype = type_nullable__nitc__AExpr.id;
9100 if(var_pexprnode2 == NULL) {
9101 var8 = 1;
9102 } else {
9103 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
9104 var8 = 0;
9105 } else {
9106 var8 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
9107 }
9108 }
9109 if (unlikely(!var8)) {
9110 if(catchStack.cursor >= 0){
9111 longjmp(catchStack.envs[catchStack.cursor], 1);
9112 }
9113 PRINT_ERROR("Runtime error: %s", "Assert failed");
9114 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6847);
9115 fatal_exit(1);
9116 }
9117 var9 = NEW_core__Array(&type_core__Array__core__Object);
9118 {
9119 core___core__Array___core__kernel__Object__init(var9); /* Direct call array$Array$init on <var9:Array[Object]>*/
9120 }
9121 var_listnode5 = var9;
9122 var_tclassidnode6 = var_nodearraylist4;
9123 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9124 cltype11 = type_nullable__nitc__TClassid.color;
9125 idtype12 = type_nullable__nitc__TClassid.id;
9126 if(var_tclassidnode6 == NULL) {
9127 var10 = 1;
9128 } else {
9129 if(cltype11 >= (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->table_size) {
9130 var10 = 0;
9131 } else {
9132 var10 = (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->type_table[cltype11] == idtype12;
9133 }
9134 }
9135 if (unlikely(!var10)) {
9136 if(catchStack.cursor >= 0){
9137 longjmp(catchStack.envs[catchStack.cursor], 1);
9138 }
9139 PRINT_ERROR("Runtime error: %s", "Assert failed");
9140 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6850);
9141 fatal_exit(1);
9142 }
9143 var13 = NEW_nitc__AQualified(&type_nitc__AQualified);
9144 {
9145 nitc__parser_prod___AQualified___init_aqualified(var13, var_listnode5, var_tclassidnode6); /* Direct call parser_prod$AQualified$init_aqualified on <var13:AQualified>*/
9146 }
9147 var_pqualifiednode4 = var13;
9148 var_tidnode7 = var_nodearraylist5;
9149 /* <var_tidnode7:nullable Object> isa nullable TId */
9150 cltype15 = type_nullable__nitc__TId.color;
9151 idtype16 = type_nullable__nitc__TId.id;
9152 if(var_tidnode7 == NULL) {
9153 var14 = 1;
9154 } else {
9155 if(cltype15 >= (((long)var_tidnode7&3)?type_info[((long)var_tidnode7&3)]:var_tidnode7->type)->table_size) {
9156 var14 = 0;
9157 } else {
9158 var14 = (((long)var_tidnode7&3)?type_info[((long)var_tidnode7&3)]:var_tidnode7->type)->type_table[cltype15] == idtype16;
9159 }
9160 }
9161 if (unlikely(!var14)) {
9162 if(catchStack.cursor >= 0){
9163 longjmp(catchStack.envs[catchStack.cursor], 1);
9164 }
9165 PRINT_ERROR("Runtime error: %s", "Assert failed");
9166 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6856);
9167 fatal_exit(1);
9168 }
9169 var17 = NEW_nitc__AQid(&type_nitc__AQid);
9170 {
9171 nitc__parser_prod___AQid___init_aqid(var17, var_pqualifiednode4, var_tidnode7); /* Direct call parser_prod$AQid$init_aqid on <var17:AQid>*/
9172 }
9173 var_pqidnode3 = var17;
9174 var_pexprsnode8 = var_nodearraylist6;
9175 /* <var_pexprsnode8:nullable Object> isa nullable AExprs */
9176 cltype19 = type_nullable__nitc__AExprs.color;
9177 idtype20 = type_nullable__nitc__AExprs.id;
9178 if(var_pexprsnode8 == NULL) {
9179 var18 = 1;
9180 } else {
9181 if(cltype19 >= (((long)var_pexprsnode8&3)?type_info[((long)var_pexprsnode8&3)]:var_pexprsnode8->type)->table_size) {
9182 var18 = 0;
9183 } else {
9184 var18 = (((long)var_pexprsnode8&3)?type_info[((long)var_pexprsnode8&3)]:var_pexprsnode8->type)->type_table[cltype19] == idtype20;
9185 }
9186 }
9187 if (unlikely(!var18)) {
9188 if(catchStack.cursor >= 0){
9189 longjmp(catchStack.envs[catchStack.cursor], 1);
9190 }
9191 PRINT_ERROR("Runtime error: %s", "Assert failed");
9192 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6862);
9193 fatal_exit(1);
9194 }
9195 var_passignopnode9 = var_nodearraylist7;
9196 /* <var_passignopnode9:nullable Object> isa nullable AAssignOp */
9197 cltype22 = type_nullable__nitc__AAssignOp.color;
9198 idtype23 = type_nullable__nitc__AAssignOp.id;
9199 if(var_passignopnode9 == NULL) {
9200 var21 = 1;
9201 } else {
9202 if(cltype22 >= (((long)var_passignopnode9&3)?type_info[((long)var_passignopnode9&3)]:var_passignopnode9->type)->table_size) {
9203 var21 = 0;
9204 } else {
9205 var21 = (((long)var_passignopnode9&3)?type_info[((long)var_passignopnode9&3)]:var_passignopnode9->type)->type_table[cltype22] == idtype23;
9206 }
9207 }
9208 if (unlikely(!var21)) {
9209 if(catchStack.cursor >= 0){
9210 longjmp(catchStack.envs[catchStack.cursor], 1);
9211 }
9212 PRINT_ERROR("Runtime error: %s", "Assert failed");
9213 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6864);
9214 fatal_exit(1);
9215 }
9216 var_pexprnode10 = var_nodearraylist8;
9217 /* <var_pexprnode10:nullable Object> isa nullable AExpr */
9218 cltype25 = type_nullable__nitc__AExpr.color;
9219 idtype26 = type_nullable__nitc__AExpr.id;
9220 if(var_pexprnode10 == NULL) {
9221 var24 = 1;
9222 } else {
9223 if(cltype25 >= (((long)var_pexprnode10&3)?type_info[((long)var_pexprnode10&3)]:var_pexprnode10->type)->table_size) {
9224 var24 = 0;
9225 } else {
9226 var24 = (((long)var_pexprnode10&3)?type_info[((long)var_pexprnode10&3)]:var_pexprnode10->type)->type_table[cltype25] == idtype26;
9227 }
9228 }
9229 if (unlikely(!var24)) {
9230 if(catchStack.cursor >= 0){
9231 longjmp(catchStack.envs[catchStack.cursor], 1);
9232 }
9233 PRINT_ERROR("Runtime error: %s", "Assert failed");
9234 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6866);
9235 fatal_exit(1);
9236 }
9237 var27 = NEW_nitc__ACallReassignExpr(&type_nitc__ACallReassignExpr);
9238 {
9239 nitc__parser_prod___ACallReassignExpr___init_acallreassignexpr(var27, var_pexprnode2, var_pqidnode3, var_pexprsnode8, var_passignopnode9, var_pexprnode10); /* Direct call parser_prod$ACallReassignExpr$init_acallreassignexpr on <var27:ACallReassignExpr>*/
9240 }
9241 var_pexprnode1 = var27;
9242 var_node_list = var_pexprnode1;
9243 var28 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction231> */
9244 {
9245 var29 = nitc___nitc__Parser___go_to(var_p, var28);
9246 }
9247 {
9248 nitc___nitc__Parser___push(var_p, var29, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
9249 }
9250 RET_LABEL:;
9251 }
9252 /* method parser$ReduceAction232$action for (self: ReduceAction232, Parser) */
9253 void nitc__parser___nitc__parser__ReduceAction232___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
9254 val* var_p /* var p: Parser */;
9255 val* var_node_list /* var node_list: nullable Object */;
9256 val* var /* : nullable Object */;
9257 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9258 val* var1 /* : nullable Object */;
9259 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9260 val* var2 /* : nullable Object */;
9261 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9262 val* var3 /* : nullable Object */;
9263 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9264 val* var4 /* : nullable Object */;
9265 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9266 val* var5 /* : nullable Object */;
9267 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9268 val* var6 /* : nullable Object */;
9269 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9270 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
9271 short int var7 /* : Bool */;
9272 int cltype;
9273 int idtype;
9274 val* var8 /* : Array[Object] */;
9275 val* var_listnode5 /* var listnode5: Array[Object] */;
9276 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9277 short int var9 /* : Bool */;
9278 int cltype10;
9279 int idtype11;
9280 val* var12 /* : AQualified */;
9281 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
9282 val* var_tidnode7 /* var tidnode7: nullable Object */;
9283 short int var13 /* : Bool */;
9284 int cltype14;
9285 int idtype15;
9286 val* var16 /* : AQid */;
9287 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
9288 val* var17 /* : Array[Object] */;
9289 val* var_listnode9 /* var listnode9: Array[Object] */;
9290 val* var18 /* : AListExprs */;
9291 val* var_pexprsnode8 /* var pexprsnode8: nullable AListExprs */;
9292 val* var_passignopnode10 /* var passignopnode10: nullable Object */;
9293 short int var19 /* : Bool */;
9294 int cltype20;
9295 int idtype21;
9296 val* var_pexprnode11 /* var pexprnode11: nullable Object */;
9297 short int var22 /* : Bool */;
9298 int cltype23;
9299 int idtype24;
9300 val* var25 /* : ACallReassignExpr */;
9301 val* var_pexprnode1 /* var pexprnode1: nullable ACallReassignExpr */;
9302 long var26 /* : Int */;
9303 long var27 /* : Int */;
9304 var_p = p0;
9305 var_node_list = ((val*)NULL);
9306 {
9307 var = nitc___nitc__Parser___pop(var_p);
9308 }
9309 var_nodearraylist7 = var;
9310 {
9311 var1 = nitc___nitc__Parser___pop(var_p);
9312 }
9313 var_nodearraylist6 = var1;
9314 {
9315 var2 = nitc___nitc__Parser___pop(var_p);
9316 }
9317 var_nodearraylist5 = var2;
9318 {
9319 var3 = nitc___nitc__Parser___pop(var_p);
9320 }
9321 var_nodearraylist4 = var3;
9322 {
9323 var4 = nitc___nitc__Parser___pop(var_p);
9324 }
9325 var_nodearraylist3 = var4;
9326 {
9327 var5 = nitc___nitc__Parser___pop(var_p);
9328 }
9329 var_nodearraylist2 = var5;
9330 {
9331 var6 = nitc___nitc__Parser___pop(var_p);
9332 }
9333 var_nodearraylist1 = var6;
9334 var_pexprnode2 = var_nodearraylist1;
9335 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
9336 cltype = type_nullable__nitc__AExpr.color;
9337 idtype = type_nullable__nitc__AExpr.id;
9338 if(var_pexprnode2 == NULL) {
9339 var7 = 1;
9340 } else {
9341 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
9342 var7 = 0;
9343 } else {
9344 var7 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
9345 }
9346 }
9347 if (unlikely(!var7)) {
9348 if(catchStack.cursor >= 0){
9349 longjmp(catchStack.envs[catchStack.cursor], 1);
9350 }
9351 PRINT_ERROR("Runtime error: %s", "Assert failed");
9352 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6891);
9353 fatal_exit(1);
9354 }
9355 var8 = NEW_core__Array(&type_core__Array__core__Object);
9356 {
9357 core___core__Array___core__kernel__Object__init(var8); /* Direct call array$Array$init on <var8:Array[Object]>*/
9358 }
9359 var_listnode5 = var8;
9360 var_tclassidnode6 = var_nodearraylist4;
9361 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9362 cltype10 = type_nullable__nitc__TClassid.color;
9363 idtype11 = type_nullable__nitc__TClassid.id;
9364 if(var_tclassidnode6 == NULL) {
9365 var9 = 1;
9366 } else {
9367 if(cltype10 >= (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->table_size) {
9368 var9 = 0;
9369 } else {
9370 var9 = (((long)var_tclassidnode6&3)?type_info[((long)var_tclassidnode6&3)]:var_tclassidnode6->type)->type_table[cltype10] == idtype11;
9371 }
9372 }
9373 if (unlikely(!var9)) {
9374 if(catchStack.cursor >= 0){
9375 longjmp(catchStack.envs[catchStack.cursor], 1);
9376 }
9377 PRINT_ERROR("Runtime error: %s", "Assert failed");
9378 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6894);
9379 fatal_exit(1);
9380 }
9381 var12 = NEW_nitc__AQualified(&type_nitc__AQualified);
9382 {
9383 nitc__parser_prod___AQualified___init_aqualified(var12, var_listnode5, var_tclassidnode6); /* Direct call parser_prod$AQualified$init_aqualified on <var12:AQualified>*/
9384 }
9385 var_pqualifiednode4 = var12;
9386 var_tidnode7 = var_nodearraylist5;
9387 /* <var_tidnode7:nullable Object> isa nullable TId */
9388 cltype14 = type_nullable__nitc__TId.color;
9389 idtype15 = type_nullable__nitc__TId.id;
9390 if(var_tidnode7 == NULL) {
9391 var13 = 1;
9392 } else {
9393 if(cltype14 >= (((long)var_tidnode7&3)?type_info[((long)var_tidnode7&3)]:var_tidnode7->type)->table_size) {
9394 var13 = 0;
9395 } else {
9396 var13 = (((long)var_tidnode7&3)?type_info[((long)var_tidnode7&3)]:var_tidnode7->type)->type_table[cltype14] == idtype15;
9397 }
9398 }
9399 if (unlikely(!var13)) {
9400 if(catchStack.cursor >= 0){
9401 longjmp(catchStack.envs[catchStack.cursor], 1);
9402 }
9403 PRINT_ERROR("Runtime error: %s", "Assert failed");
9404 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6900);
9405 fatal_exit(1);
9406 }
9407 var16 = NEW_nitc__AQid(&type_nitc__AQid);
9408 {
9409 nitc__parser_prod___AQid___init_aqid(var16, var_pqualifiednode4, var_tidnode7); /* Direct call parser_prod$AQid$init_aqid on <var16:AQid>*/
9410 }
9411 var_pqidnode3 = var16;
9412 var17 = NEW_core__Array(&type_core__Array__core__Object);
9413 {
9414 core___core__Array___core__kernel__Object__init(var17); /* Direct call array$Array$init on <var17:Array[Object]>*/
9415 }
9416 var_listnode9 = var17;
9417 var18 = NEW_nitc__AListExprs(&type_nitc__AListExprs);
9418 {
9419 nitc__parser_prod___AListExprs___init_alistexprs(var18, var_listnode9); /* Direct call parser_prod$AListExprs$init_alistexprs on <var18:AListExprs>*/
9420 }
9421 var_pexprsnode8 = var18;
9422 var_passignopnode10 = var_nodearraylist6;
9423 /* <var_passignopnode10:nullable Object> isa nullable AAssignOp */
9424 cltype20 = type_nullable__nitc__AAssignOp.color;
9425 idtype21 = type_nullable__nitc__AAssignOp.id;
9426 if(var_passignopnode10 == NULL) {
9427 var19 = 1;
9428 } else {
9429 if(cltype20 >= (((long)var_passignopnode10&3)?type_info[((long)var_passignopnode10&3)]:var_passignopnode10->type)->table_size) {
9430 var19 = 0;
9431 } else {
9432 var19 = (((long)var_passignopnode10&3)?type_info[((long)var_passignopnode10&3)]:var_passignopnode10->type)->type_table[cltype20] == idtype21;
9433 }
9434 }
9435 if (unlikely(!var19)) {
9436 if(catchStack.cursor >= 0){
9437 longjmp(catchStack.envs[catchStack.cursor], 1);
9438 }
9439 PRINT_ERROR("Runtime error: %s", "Assert failed");
9440 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6910);
9441 fatal_exit(1);
9442 }
9443 var_pexprnode11 = var_nodearraylist7;
9444 /* <var_pexprnode11:nullable Object> isa nullable AExpr */
9445 cltype23 = type_nullable__nitc__AExpr.color;
9446 idtype24 = type_nullable__nitc__AExpr.id;
9447 if(var_pexprnode11 == NULL) {
9448 var22 = 1;
9449 } else {
9450 if(cltype23 >= (((long)var_pexprnode11&3)?type_info[((long)var_pexprnode11&3)]:var_pexprnode11->type)->table_size) {
9451 var22 = 0;
9452 } else {
9453 var22 = (((long)var_pexprnode11&3)?type_info[((long)var_pexprnode11&3)]:var_pexprnode11->type)->type_table[cltype23] == idtype24;
9454 }
9455 }
9456 if (unlikely(!var22)) {
9457 if(catchStack.cursor >= 0){
9458 longjmp(catchStack.envs[catchStack.cursor], 1);
9459 }
9460 PRINT_ERROR("Runtime error: %s", "Assert failed");
9461 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6912);
9462 fatal_exit(1);
9463 }
9464 var25 = NEW_nitc__ACallReassignExpr(&type_nitc__ACallReassignExpr);
9465 {
9466 nitc__parser_prod___ACallReassignExpr___init_acallreassignexpr(var25, var_pexprnode2, var_pqidnode3, var_pexprsnode8, var_passignopnode10, var_pexprnode11); /* Direct call parser_prod$ACallReassignExpr$init_acallreassignexpr on <var25:ACallReassignExpr>*/
9467 }
9468 var_pexprnode1 = var25;
9469 var_node_list = var_pexprnode1;
9470 var26 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction232> */
9471 {
9472 var27 = nitc___nitc__Parser___go_to(var_p, var26);
9473 }
9474 {
9475 nitc___nitc__Parser___push(var_p, var27, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
9476 }
9477 RET_LABEL:;
9478 }
9479 /* method parser$ReduceAction233$action for (self: ReduceAction233, Parser) */
9480 void nitc__parser___nitc__parser__ReduceAction233___nitc__parser_work__ReduceAction__action(val* self, val* p0) {
9481 val* var_p /* var p: Parser */;
9482 val* var_node_list /* var node_list: nullable Object */;
9483 val* var /* : nullable Object */;
9484 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9485 val* var1 /* : nullable Object */;
9486 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9487 val* var2 /* : nullable Object */;
9488 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9489 val* var3 /* : nullable Object */;
9490 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9491 val* var4 /* : nullable Object */;
9492 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9493 val* var5 /* : nullable Object */;
9494 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9495 val* var6 /* : nullable Object */;
9496 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9497 val* var7 /* : nullable Object */;
9498 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9499 val* var8 /* : nullable Object */;
9500 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9501 val* var_pexprnode2 /* var pexprnode2: nullable Object */;
9502 short int var9 /* : Bool */;
9503 int cltype;
9504 int idtype;
9505 val* var10 /* : Array[Object] */;
9506 val* var_listnode6 /* var listnode6: Array[Object] */;
9507 val* var_listnode5 /* var listnode5: nullable Object */;
9508 short int var11 /* : Bool */;
9509 int cltype12;
9510 int idtype13;
9511 val* var14 /* : Array[Object] */;
9512 val* var_tclassidnode7 /* var tclassidnode7: nullable Object */;
9513 short int var15 /* : Bool */;
9514 int cltype16;
9515 int idtype17;
9516 val* var18 /* : AQualified */;
9517 val* var_pqualifiednode4 /* var pqualifiednode4: nullable AQualified */;
9518 val* var_tidnode8 /* var tidnode8: nullable Object */;
9519 short int var19 /* : Bool */;
9520 int cltype20;
9521 int idtype21;
9522 val* var22 /* : AQid */;
9523 val* var_pqidnode3 /* var pqidnode3: nullable AQid */;
9524 val* var_pexprsnode9 /* var pexprsnode9: nullable Object */;
9525 short int var23 /* : Bool */;
9526 int cltype24;
9527 int idtype25;
9528 val* var_passignopnode10 /* var passignopnode10: nullable Object */;
9529 short int var26 /* : Bool */;
9530 int cltype27;
9531 int idtype28;
9532 val* var_pexprnode11 /* var pexprnode11: nullable Object */;
9533 short int var29 /* : Bool */;
9534 int cltype30;
9535 int idtype31;
9536 val* var32 /* : ACallReassignExpr */;
9537 val* var_pexprnode1 /* var pexprnode1: nullable ACallReassignExpr */;
9538 long var33 /* : Int */;
9539 long var34 /* : Int */;
9540 var_p = p0;
9541 var_node_list = ((val*)NULL);
9542 {
9543 var = nitc___nitc__Parser___pop(var_p);
9544 }
9545 var_nodearraylist9 = var;
9546 {
9547 var1 = nitc___nitc__Parser___pop(var_p);
9548 }
9549 var_nodearraylist8 = var1;
9550 {
9551 var2 = nitc___nitc__Parser___pop(var_p);
9552 }
9553 var_nodearraylist7 = var2;
9554 {
9555 var3 = nitc___nitc__Parser___pop(var_p);
9556 }
9557 var_nodearraylist6 = var3;
9558 {
9559 var4 = nitc___nitc__Parser___pop(var_p);
9560 }
9561 var_nodearraylist5 = var4;
9562 {
9563 var5 = nitc___nitc__Parser___pop(var_p);
9564 }
9565 var_nodearraylist4 = var5;
9566 {
9567 var6 = nitc___nitc__Parser___pop(var_p);
9568 }
9569 var_nodearraylist3 = var6;
9570 {
9571 var7 = nitc___nitc__Parser___pop(var_p);
9572 }
9573 var_nodearraylist2 = var7;
9574 {
9575 var8 = nitc___nitc__Parser___pop(var_p);
9576 }
9577 var_nodearraylist1 = var8;
9578 var_pexprnode2 = var_nodearraylist1;
9579 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
9580 cltype = type_nullable__nitc__AExpr.color;
9581 idtype = type_nullable__nitc__AExpr.id;
9582 if(var_pexprnode2 == NULL) {
9583 var9 = 1;
9584 } else {
9585 if(cltype >= (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->table_size) {
9586 var9 = 0;
9587 } else {
9588 var9 = (((long)var_pexprnode2&3)?type_info[((long)var_pexprnode2&3)]:var_pexprnode2->type)->type_table[cltype] == idtype;
9589 }
9590 }
9591 if (unlikely(!var9)) {
9592 if(catchStack.cursor >= 0){
9593 longjmp(catchStack.envs[catchStack.cursor], 1);
9594 }
9595 PRINT_ERROR("Runtime error: %s", "Assert failed");
9596 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6939);
9597 fatal_exit(1);
9598 }
9599 var10 = NEW_core__Array(&type_core__Array__core__Object);
9600 {
9601 core___core__Array___core__kernel__Object__init(var10); /* Direct call array$Array$init on <var10:Array[Object]>*/
9602 }
9603 var_listnode6 = var10;
9604 var_listnode5 = var_nodearraylist4;
9605 /* <var_listnode5:nullable Object> isa Array[Object] */
9606 cltype12 = type_core__Array__core__Object.color;
9607 idtype13 = type_core__Array__core__Object.id;
9608 if(var_listnode5 == NULL) {
9609 var11 = 0;
9610 } else {
9611 if(cltype12 >= (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->table_size) {
9612 var11 = 0;
9613 } else {
9614 var11 = (((long)var_listnode5&3)?type_info[((long)var_listnode5&3)]:var_listnode5->type)->type_table[cltype12] == idtype13;
9615 }
9616 }
9617 if (unlikely(!var11)) {
9618 if(catchStack.cursor >= 0){
9619 longjmp(catchStack.envs[catchStack.cursor], 1);
9620 }
9621 PRINT_ERROR("Runtime error: %s", "Assert failed");
9622 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6942);
9623 fatal_exit(1);
9624 }
9625 {
9626 var14 = nitc__parser_work___nitc__parser_work__ReduceAction___concat(self, var_listnode6, var_listnode5);
9627 }
9628 var_listnode6 = var14;
9629 var_tclassidnode7 = var_nodearraylist5;
9630 /* <var_tclassidnode7:nullable Object> isa nullable TClassid */
9631 cltype16 = type_nullable__nitc__TClassid.color;
9632 idtype17 = type_nullable__nitc__TClassid.id;
9633 if(var_tclassidnode7 == NULL) {
9634 var15 = 1;
9635 } else {
9636 if(cltype16 >= (((long)var_tclassidnode7&3)?type_info[((long)var_tclassidnode7&3)]:var_tclassidnode7->type)->table_size) {
9637 var15 = 0;
9638 } else {
9639 var15 = (((long)var_tclassidnode7&3)?type_info[((long)var_tclassidnode7&3)]:var_tclassidnode7->type)->type_table[cltype16] == idtype17;
9640 }
9641 }
9642 if (unlikely(!var15)) {
9643 if(catchStack.cursor >= 0){
9644 longjmp(catchStack.envs[catchStack.cursor], 1);
9645 }
9646 PRINT_ERROR("Runtime error: %s", "Assert failed");
9647 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6945);
9648 fatal_exit(1);
9649 }
9650 var18 = NEW_nitc__AQualified(&type_nitc__AQualified);
9651 {
9652 nitc__parser_prod___AQualified___init_aqualified(var18, var_listnode6, var_tclassidnode7); /* Direct call parser_prod$AQualified$init_aqualified on <var18:AQualified>*/
9653 }
9654 var_pqualifiednode4 = var18;
9655 var_tidnode8 = var_nodearraylist6;
9656 /* <var_tidnode8:nullable Object> isa nullable TId */
9657 cltype20 = type_nullable__nitc__TId.color;
9658 idtype21 = type_nullable__nitc__TId.id;
9659 if(var_tidnode8 == NULL) {
9660 var19 = 1;
9661 } else {
9662 if(cltype20 >= (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->table_size) {
9663 var19 = 0;
9664 } else {
9665 var19 = (((long)var_tidnode8&3)?type_info[((long)var_tidnode8&3)]:var_tidnode8->type)->type_table[cltype20] == idtype21;
9666 }
9667 }
9668 if (unlikely(!var19)) {
9669 if(catchStack.cursor >= 0){
9670 longjmp(catchStack.envs[catchStack.cursor], 1);
9671 }
9672 PRINT_ERROR("Runtime error: %s", "Assert failed");
9673 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6951);
9674 fatal_exit(1);
9675 }
9676 var22 = NEW_nitc__AQid(&type_nitc__AQid);
9677 {
9678 nitc__parser_prod___AQid___init_aqid(var22, var_pqualifiednode4, var_tidnode8); /* Direct call parser_prod$AQid$init_aqid on <var22:AQid>*/
9679 }
9680 var_pqidnode3 = var22;
9681 var_pexprsnode9 = var_nodearraylist7;
9682 /* <var_pexprsnode9:nullable Object> isa nullable AExprs */
9683 cltype24 = type_nullable__nitc__AExprs.color;
9684 idtype25 = type_nullable__nitc__AExprs.id;
9685 if(var_pexprsnode9 == NULL) {
9686 var23 = 1;
9687 } else {
9688 if(cltype24 >= (((long)var_pexprsnode9&3)?type_info[((long)var_pexprsnode9&3)]:var_pexprsnode9->type)->table_size) {
9689 var23 = 0;
9690 } else {
9691 var23 = (((long)var_pexprsnode9&3)?type_info[((long)var_pexprsnode9&3)]:var_pexprsnode9->type)->type_table[cltype24] == idtype25;
9692 }
9693 }
9694 if (unlikely(!var23)) {
9695 if(catchStack.cursor >= 0){
9696 longjmp(catchStack.envs[catchStack.cursor], 1);
9697 }
9698 PRINT_ERROR("Runtime error: %s", "Assert failed");
9699 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6957);
9700 fatal_exit(1);
9701 }
9702 var_passignopnode10 = var_nodearraylist8;
9703 /* <var_passignopnode10:nullable Object> isa nullable AAssignOp */
9704 cltype27 = type_nullable__nitc__AAssignOp.color;
9705 idtype28 = type_nullable__nitc__AAssignOp.id;
9706 if(var_passignopnode10 == NULL) {
9707 var26 = 1;
9708 } else {
9709 if(cltype27 >= (((long)var_passignopnode10&3)?type_info[((long)var_passignopnode10&3)]:var_passignopnode10->type)->table_size) {
9710 var26 = 0;
9711 } else {
9712 var26 = (((long)var_passignopnode10&3)?type_info[((long)var_passignopnode10&3)]:var_passignopnode10->type)->type_table[cltype27] == idtype28;
9713 }
9714 }
9715 if (unlikely(!var26)) {
9716 if(catchStack.cursor >= 0){
9717 longjmp(catchStack.envs[catchStack.cursor], 1);
9718 }
9719 PRINT_ERROR("Runtime error: %s", "Assert failed");
9720 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6959);
9721 fatal_exit(1);
9722 }
9723 var_pexprnode11 = var_nodearraylist9;
9724 /* <var_pexprnode11:nullable Object> isa nullable AExpr */
9725 cltype30 = type_nullable__nitc__AExpr.color;
9726 idtype31 = type_nullable__nitc__AExpr.id;
9727 if(var_pexprnode11 == NULL) {
9728 var29 = 1;
9729 } else {
9730 if(cltype30 >= (((long)var_pexprnode11&3)?type_info[((long)var_pexprnode11&3)]:var_pexprnode11->type)->table_size) {
9731 var29 = 0;
9732 } else {
9733 var29 = (((long)var_pexprnode11&3)?type_info[((long)var_pexprnode11&3)]:var_pexprnode11->type)->type_table[cltype30] == idtype31;
9734 }
9735 }
9736 if (unlikely(!var29)) {
9737 if(catchStack.cursor >= 0){
9738 longjmp(catchStack.envs[catchStack.cursor], 1);
9739 }
9740 PRINT_ERROR("Runtime error: %s", "Assert failed");
9741 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser, 6961);
9742 fatal_exit(1);
9743 }
9744 var32 = NEW_nitc__ACallReassignExpr(&type_nitc__ACallReassignExpr);
9745 {
9746 nitc__parser_prod___ACallReassignExpr___init_acallreassignexpr(var32, var_pexprnode2, var_pqidnode3, var_pexprsnode9, var_passignopnode10, var_pexprnode11); /* Direct call parser_prod$ACallReassignExpr$init_acallreassignexpr on <var32:ACallReassignExpr>*/
9747 }
9748 var_pexprnode1 = var32;
9749 var_node_list = var_pexprnode1;
9750 var33 = self->attrs[COLOR_nitc__parser_work__ReduceAction___goto].l; /* _goto on <self:ReduceAction233> */
9751 {
9752 var34 = nitc___nitc__Parser___go_to(var_p, var33);
9753 }
9754 {
9755 nitc___nitc__Parser___push(var_p, var34, var_node_list); /* Direct call parser_work$Parser$push on <var_p:Parser>*/
9756 }
9757 RET_LABEL:;
9758 }