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