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