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