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