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