nitdoc: make base64 JS module require.js compatible
[nit.git] / c_src / parser.sep.10.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction362#action for (self: ReduceAction362, Parser) */
3 void parser__ReduceAction362__action(val* self, val* p0) {
4 val* var_p /* var p: Parser */;
5 val* var /* : null */;
6 val* var_node_list /* var node_list: nullable Object */;
7 val* var1 /* : nullable Object */;
8 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
19 val* var7 /* : nullable Object */;
20 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
21 val* var8 /* : nullable Object */;
22 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
23 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
24 short int var9 /* : Bool */;
25 int cltype;
26 int idtype;
27 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
28 short int var10 /* : Bool */;
29 int cltype11;
30 int idtype12;
31 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
32 short int var13 /* : Bool */;
33 int cltype14;
34 int idtype15;
35 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
36 short int var16 /* : Bool */;
37 int cltype17;
38 int idtype18;
39 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
40 short int var19 /* : Bool */;
41 int cltype20;
42 int idtype21;
43 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
44 short int var22 /* : Bool */;
45 int cltype23;
46 int idtype24;
47 val* var25 /* : AExternMethPropdef */;
48 val* var26 /* : null */;
49 val* var27 /* : null */;
50 val* var28 /* : null */;
51 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
52 long var29 /* : Int */;
53 long var30 /* : Int */;
54 var_p = p0;
55 var = NULL;
56 var_node_list = var;
57 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
58 var_nodearraylist8 = var1;
59 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
60 var_nodearraylist7 = var2;
61 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
62 var_nodearraylist6 = var3;
63 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
64 var_nodearraylist5 = var4;
65 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
66 var_nodearraylist4 = var5;
67 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
68 var_nodearraylist3 = var6;
69 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
70 var_nodearraylist2 = var7;
71 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
72 var_nodearraylist1 = var8;
73 var_pdocnode2 = var_nodearraylist1;
74 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
75 cltype = type_nullable_parser_nodes__ADoc.color;
76 idtype = type_nullable_parser_nodes__ADoc.id;
77 if(var_pdocnode2 == NULL) {
78 var9 = 1;
79 } else {
80 if(cltype >= var_pdocnode2->type->table_size) {
81 var9 = 0;
82 } else {
83 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
84 }
85 }
86 if (!var9) {
87 fprintf(stderr, "Runtime error: %s", "Assert failed");
88 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16199);
89 exit(1);
90 }
91 var_tkwredefnode3 = var_nodearraylist2;
92 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
93 cltype11 = type_nullable_parser_nodes__TKwredef.color;
94 idtype12 = type_nullable_parser_nodes__TKwredef.id;
95 if(var_tkwredefnode3 == NULL) {
96 var10 = 1;
97 } else {
98 if(cltype11 >= var_tkwredefnode3->type->table_size) {
99 var10 = 0;
100 } else {
101 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
102 }
103 }
104 if (!var10) {
105 fprintf(stderr, "Runtime error: %s", "Assert failed");
106 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16201);
107 exit(1);
108 }
109 var_pvisibilitynode4 = var_nodearraylist3;
110 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
111 cltype14 = type_nullable_parser_nodes__AVisibility.color;
112 idtype15 = type_nullable_parser_nodes__AVisibility.id;
113 if(var_pvisibilitynode4 == NULL) {
114 var13 = 1;
115 } else {
116 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
117 var13 = 0;
118 } else {
119 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
120 }
121 }
122 if (!var13) {
123 fprintf(stderr, "Runtime error: %s", "Assert failed");
124 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16203);
125 exit(1);
126 }
127 var_tkwmethnode5 = var_nodearraylist4;
128 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
129 cltype17 = type_nullable_parser_nodes__TKwmeth.color;
130 idtype18 = type_nullable_parser_nodes__TKwmeth.id;
131 if(var_tkwmethnode5 == NULL) {
132 var16 = 1;
133 } else {
134 if(cltype17 >= var_tkwmethnode5->type->table_size) {
135 var16 = 0;
136 } else {
137 var16 = var_tkwmethnode5->type->type_table[cltype17] == idtype18;
138 }
139 }
140 if (!var16) {
141 fprintf(stderr, "Runtime error: %s", "Assert failed");
142 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16205);
143 exit(1);
144 }
145 var_pmethidnode6 = var_nodearraylist5;
146 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
147 cltype20 = type_nullable_parser_nodes__AMethid.color;
148 idtype21 = type_nullable_parser_nodes__AMethid.id;
149 if(var_pmethidnode6 == NULL) {
150 var19 = 1;
151 } else {
152 if(cltype20 >= var_pmethidnode6->type->table_size) {
153 var19 = 0;
154 } else {
155 var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
156 }
157 }
158 if (!var19) {
159 fprintf(stderr, "Runtime error: %s", "Assert failed");
160 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16207);
161 exit(1);
162 }
163 var_psignaturenode7 = var_nodearraylist6;
164 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
165 cltype23 = type_nullable_parser_nodes__ASignature.color;
166 idtype24 = type_nullable_parser_nodes__ASignature.id;
167 if(var_psignaturenode7 == NULL) {
168 var22 = 1;
169 } else {
170 if(cltype23 >= var_psignaturenode7->type->table_size) {
171 var22 = 0;
172 } else {
173 var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
174 }
175 }
176 if (!var22) {
177 fprintf(stderr, "Runtime error: %s", "Assert failed");
178 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16209);
179 exit(1);
180 }
181 var25 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
182 var26 = NULL;
183 var27 = NULL;
184 var28 = NULL;
185 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var26, var27, var28) /* init_aexternmethpropdef on <var25:AExternMethPropdef>*/;
186 CHECK_NEW_parser_nodes__AExternMethPropdef(var25);
187 var_ppropdefnode1 = var25;
188 var_node_list = var_ppropdefnode1;
189 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction362> */
190 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
191 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
192 RET_LABEL:;
193 }
194 /* method parser#ReduceAction362#action for (self: Object, Parser) */
195 void VIRTUAL_parser__ReduceAction362__action(val* self, val* p0) {
196 parser__ReduceAction362__action(self, p0);
197 RET_LABEL:;
198 }
199 /* method parser#ReduceAction363#action for (self: ReduceAction363, Parser) */
200 void parser__ReduceAction363__action(val* self, val* p0) {
201 val* var_p /* var p: Parser */;
202 val* var /* : null */;
203 val* var_node_list /* var node_list: nullable Object */;
204 val* var1 /* : nullable Object */;
205 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
206 val* var2 /* : nullable Object */;
207 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
208 val* var3 /* : nullable Object */;
209 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
210 val* var4 /* : nullable Object */;
211 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
212 val* var5 /* : nullable Object */;
213 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
214 val* var6 /* : nullable Object */;
215 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
216 val* var7 /* : nullable Object */;
217 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
218 val* var8 /* : nullable Object */;
219 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
220 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
221 short int var9 /* : Bool */;
222 int cltype;
223 int idtype;
224 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
225 short int var10 /* : Bool */;
226 int cltype11;
227 int idtype12;
228 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
229 short int var13 /* : Bool */;
230 int cltype14;
231 int idtype15;
232 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
233 short int var16 /* : Bool */;
234 int cltype17;
235 int idtype18;
236 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
237 short int var19 /* : Bool */;
238 int cltype20;
239 int idtype21;
240 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
241 short int var22 /* : Bool */;
242 int cltype23;
243 int idtype24;
244 val* var25 /* : AExternMethPropdef */;
245 val* var26 /* : null */;
246 val* var27 /* : null */;
247 val* var28 /* : null */;
248 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
249 long var29 /* : Int */;
250 long var30 /* : Int */;
251 var_p = p0;
252 var = NULL;
253 var_node_list = var;
254 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
255 var_nodearraylist8 = var1;
256 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
257 var_nodearraylist7 = var2;
258 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
259 var_nodearraylist6 = var3;
260 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
261 var_nodearraylist5 = var4;
262 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
263 var_nodearraylist4 = var5;
264 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
265 var_nodearraylist3 = var6;
266 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
267 var_nodearraylist2 = var7;
268 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
269 var_nodearraylist1 = var8;
270 var_pdocnode2 = var_nodearraylist1;
271 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
272 cltype = type_nullable_parser_nodes__ADoc.color;
273 idtype = type_nullable_parser_nodes__ADoc.id;
274 if(var_pdocnode2 == NULL) {
275 var9 = 1;
276 } else {
277 if(cltype >= var_pdocnode2->type->table_size) {
278 var9 = 0;
279 } else {
280 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
281 }
282 }
283 if (!var9) {
284 fprintf(stderr, "Runtime error: %s", "Assert failed");
285 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16239);
286 exit(1);
287 }
288 var_pvisibilitynode4 = var_nodearraylist2;
289 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
290 cltype11 = type_nullable_parser_nodes__AVisibility.color;
291 idtype12 = type_nullable_parser_nodes__AVisibility.id;
292 if(var_pvisibilitynode4 == NULL) {
293 var10 = 1;
294 } else {
295 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
296 var10 = 0;
297 } else {
298 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
299 }
300 }
301 if (!var10) {
302 fprintf(stderr, "Runtime error: %s", "Assert failed");
303 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16241);
304 exit(1);
305 }
306 var_tkwmethnode5 = var_nodearraylist3;
307 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
308 cltype14 = type_nullable_parser_nodes__TKwmeth.color;
309 idtype15 = type_nullable_parser_nodes__TKwmeth.id;
310 if(var_tkwmethnode5 == NULL) {
311 var13 = 1;
312 } else {
313 if(cltype14 >= var_tkwmethnode5->type->table_size) {
314 var13 = 0;
315 } else {
316 var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15;
317 }
318 }
319 if (!var13) {
320 fprintf(stderr, "Runtime error: %s", "Assert failed");
321 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16243);
322 exit(1);
323 }
324 var_pmethidnode6 = var_nodearraylist4;
325 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
326 cltype17 = type_nullable_parser_nodes__AMethid.color;
327 idtype18 = type_nullable_parser_nodes__AMethid.id;
328 if(var_pmethidnode6 == NULL) {
329 var16 = 1;
330 } else {
331 if(cltype17 >= var_pmethidnode6->type->table_size) {
332 var16 = 0;
333 } else {
334 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
335 }
336 }
337 if (!var16) {
338 fprintf(stderr, "Runtime error: %s", "Assert failed");
339 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16245);
340 exit(1);
341 }
342 var_psignaturenode7 = var_nodearraylist5;
343 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
344 cltype20 = type_nullable_parser_nodes__ASignature.color;
345 idtype21 = type_nullable_parser_nodes__ASignature.id;
346 if(var_psignaturenode7 == NULL) {
347 var19 = 1;
348 } else {
349 if(cltype20 >= var_psignaturenode7->type->table_size) {
350 var19 = 0;
351 } else {
352 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
353 }
354 }
355 if (!var19) {
356 fprintf(stderr, "Runtime error: %s", "Assert failed");
357 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16247);
358 exit(1);
359 }
360 var_tstringnode8 = var_nodearraylist8;
361 /* <var_tstringnode8:nullable Object> isa nullable TString */
362 cltype23 = type_nullable_parser_nodes__TString.color;
363 idtype24 = type_nullable_parser_nodes__TString.id;
364 if(var_tstringnode8 == NULL) {
365 var22 = 1;
366 } else {
367 if(cltype23 >= var_tstringnode8->type->table_size) {
368 var22 = 0;
369 } else {
370 var22 = var_tstringnode8->type->type_table[cltype23] == idtype24;
371 }
372 }
373 if (!var22) {
374 fprintf(stderr, "Runtime error: %s", "Assert failed");
375 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16249);
376 exit(1);
377 }
378 var25 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
379 var26 = NULL;
380 var27 = NULL;
381 var28 = NULL;
382 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var27, var28) /* init_aexternmethpropdef on <var25:AExternMethPropdef>*/;
383 CHECK_NEW_parser_nodes__AExternMethPropdef(var25);
384 var_ppropdefnode1 = var25;
385 var_node_list = var_ppropdefnode1;
386 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction363> */
387 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
388 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
389 RET_LABEL:;
390 }
391 /* method parser#ReduceAction363#action for (self: Object, Parser) */
392 void VIRTUAL_parser__ReduceAction363__action(val* self, val* p0) {
393 parser__ReduceAction363__action(self, p0);
394 RET_LABEL:;
395 }
396 /* method parser#ReduceAction364#action for (self: ReduceAction364, Parser) */
397 void parser__ReduceAction364__action(val* self, val* p0) {
398 val* var_p /* var p: Parser */;
399 val* var /* : null */;
400 val* var_node_list /* var node_list: nullable Object */;
401 val* var1 /* : nullable Object */;
402 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
403 val* var2 /* : nullable Object */;
404 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
405 val* var3 /* : nullable Object */;
406 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
407 val* var4 /* : nullable Object */;
408 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
409 val* var5 /* : nullable Object */;
410 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
411 val* var6 /* : nullable Object */;
412 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
413 val* var7 /* : nullable Object */;
414 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
415 val* var8 /* : nullable Object */;
416 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
417 val* var9 /* : nullable Object */;
418 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
419 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
420 short int var10 /* : Bool */;
421 int cltype;
422 int idtype;
423 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
424 short int var11 /* : Bool */;
425 int cltype12;
426 int idtype13;
427 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
428 short int var14 /* : Bool */;
429 int cltype15;
430 int idtype16;
431 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
432 short int var17 /* : Bool */;
433 int cltype18;
434 int idtype19;
435 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
436 short int var20 /* : Bool */;
437 int cltype21;
438 int idtype22;
439 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
440 short int var23 /* : Bool */;
441 int cltype24;
442 int idtype25;
443 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
444 short int var26 /* : Bool */;
445 int cltype27;
446 int idtype28;
447 val* var29 /* : AExternMethPropdef */;
448 val* var30 /* : null */;
449 val* var31 /* : null */;
450 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
451 long var32 /* : Int */;
452 long var33 /* : Int */;
453 var_p = p0;
454 var = NULL;
455 var_node_list = var;
456 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
457 var_nodearraylist9 = var1;
458 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
459 var_nodearraylist8 = var2;
460 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
461 var_nodearraylist7 = var3;
462 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
463 var_nodearraylist6 = var4;
464 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
465 var_nodearraylist5 = var5;
466 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
467 var_nodearraylist4 = var6;
468 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
469 var_nodearraylist3 = var7;
470 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
471 var_nodearraylist2 = var8;
472 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
473 var_nodearraylist1 = var9;
474 var_pdocnode2 = var_nodearraylist1;
475 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
476 cltype = type_nullable_parser_nodes__ADoc.color;
477 idtype = type_nullable_parser_nodes__ADoc.id;
478 if(var_pdocnode2 == NULL) {
479 var10 = 1;
480 } else {
481 if(cltype >= var_pdocnode2->type->table_size) {
482 var10 = 0;
483 } else {
484 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
485 }
486 }
487 if (!var10) {
488 fprintf(stderr, "Runtime error: %s", "Assert failed");
489 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16280);
490 exit(1);
491 }
492 var_tkwredefnode3 = var_nodearraylist2;
493 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
494 cltype12 = type_nullable_parser_nodes__TKwredef.color;
495 idtype13 = type_nullable_parser_nodes__TKwredef.id;
496 if(var_tkwredefnode3 == NULL) {
497 var11 = 1;
498 } else {
499 if(cltype12 >= var_tkwredefnode3->type->table_size) {
500 var11 = 0;
501 } else {
502 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
503 }
504 }
505 if (!var11) {
506 fprintf(stderr, "Runtime error: %s", "Assert failed");
507 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16282);
508 exit(1);
509 }
510 var_pvisibilitynode4 = var_nodearraylist3;
511 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
512 cltype15 = type_nullable_parser_nodes__AVisibility.color;
513 idtype16 = type_nullable_parser_nodes__AVisibility.id;
514 if(var_pvisibilitynode4 == NULL) {
515 var14 = 1;
516 } else {
517 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
518 var14 = 0;
519 } else {
520 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
521 }
522 }
523 if (!var14) {
524 fprintf(stderr, "Runtime error: %s", "Assert failed");
525 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16284);
526 exit(1);
527 }
528 var_tkwmethnode5 = var_nodearraylist4;
529 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
530 cltype18 = type_nullable_parser_nodes__TKwmeth.color;
531 idtype19 = type_nullable_parser_nodes__TKwmeth.id;
532 if(var_tkwmethnode5 == NULL) {
533 var17 = 1;
534 } else {
535 if(cltype18 >= var_tkwmethnode5->type->table_size) {
536 var17 = 0;
537 } else {
538 var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19;
539 }
540 }
541 if (!var17) {
542 fprintf(stderr, "Runtime error: %s", "Assert failed");
543 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16286);
544 exit(1);
545 }
546 var_pmethidnode6 = var_nodearraylist5;
547 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
548 cltype21 = type_nullable_parser_nodes__AMethid.color;
549 idtype22 = type_nullable_parser_nodes__AMethid.id;
550 if(var_pmethidnode6 == NULL) {
551 var20 = 1;
552 } else {
553 if(cltype21 >= var_pmethidnode6->type->table_size) {
554 var20 = 0;
555 } else {
556 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
557 }
558 }
559 if (!var20) {
560 fprintf(stderr, "Runtime error: %s", "Assert failed");
561 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16288);
562 exit(1);
563 }
564 var_psignaturenode7 = var_nodearraylist6;
565 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
566 cltype24 = type_nullable_parser_nodes__ASignature.color;
567 idtype25 = type_nullable_parser_nodes__ASignature.id;
568 if(var_psignaturenode7 == NULL) {
569 var23 = 1;
570 } else {
571 if(cltype24 >= var_psignaturenode7->type->table_size) {
572 var23 = 0;
573 } else {
574 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
575 }
576 }
577 if (!var23) {
578 fprintf(stderr, "Runtime error: %s", "Assert failed");
579 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16290);
580 exit(1);
581 }
582 var_tstringnode8 = var_nodearraylist9;
583 /* <var_tstringnode8:nullable Object> isa nullable TString */
584 cltype27 = type_nullable_parser_nodes__TString.color;
585 idtype28 = type_nullable_parser_nodes__TString.id;
586 if(var_tstringnode8 == NULL) {
587 var26 = 1;
588 } else {
589 if(cltype27 >= var_tstringnode8->type->table_size) {
590 var26 = 0;
591 } else {
592 var26 = var_tstringnode8->type->type_table[cltype27] == idtype28;
593 }
594 }
595 if (!var26) {
596 fprintf(stderr, "Runtime error: %s", "Assert failed");
597 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16292);
598 exit(1);
599 }
600 var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
601 var30 = NULL;
602 var31 = NULL;
603 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var30, var31) /* init_aexternmethpropdef on <var29:AExternMethPropdef>*/;
604 CHECK_NEW_parser_nodes__AExternMethPropdef(var29);
605 var_ppropdefnode1 = var29;
606 var_node_list = var_ppropdefnode1;
607 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction364> */
608 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
609 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
610 RET_LABEL:;
611 }
612 /* method parser#ReduceAction364#action for (self: Object, Parser) */
613 void VIRTUAL_parser__ReduceAction364__action(val* self, val* p0) {
614 parser__ReduceAction364__action(self, p0);
615 RET_LABEL:;
616 }
617 /* method parser#ReduceAction365#action for (self: ReduceAction365, Parser) */
618 void parser__ReduceAction365__action(val* self, val* p0) {
619 val* var_p /* var p: Parser */;
620 val* var /* : null */;
621 val* var_node_list /* var node_list: nullable Object */;
622 val* var1 /* : nullable Object */;
623 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
624 val* var2 /* : nullable Object */;
625 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
626 val* var3 /* : nullable Object */;
627 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
628 val* var4 /* : nullable Object */;
629 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
630 val* var5 /* : nullable Object */;
631 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
632 val* var6 /* : nullable Object */;
633 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
634 val* var7 /* : nullable Object */;
635 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
636 val* var8 /* : nullable Object */;
637 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
638 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
639 short int var9 /* : Bool */;
640 int cltype;
641 int idtype;
642 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
643 short int var10 /* : Bool */;
644 int cltype11;
645 int idtype12;
646 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
647 short int var13 /* : Bool */;
648 int cltype14;
649 int idtype15;
650 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
651 short int var16 /* : Bool */;
652 int cltype17;
653 int idtype18;
654 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
655 short int var19 /* : Bool */;
656 int cltype20;
657 int idtype21;
658 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
659 short int var22 /* : Bool */;
660 int cltype23;
661 int idtype24;
662 val* var25 /* : AExternMethPropdef */;
663 val* var26 /* : null */;
664 val* var27 /* : null */;
665 val* var28 /* : null */;
666 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
667 long var29 /* : Int */;
668 long var30 /* : Int */;
669 var_p = p0;
670 var = NULL;
671 var_node_list = var;
672 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
673 var_nodearraylist8 = var1;
674 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
675 var_nodearraylist7 = var2;
676 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
677 var_nodearraylist6 = var3;
678 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
679 var_nodearraylist5 = var4;
680 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
681 var_nodearraylist4 = var5;
682 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
683 var_nodearraylist3 = var6;
684 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
685 var_nodearraylist2 = var7;
686 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
687 var_nodearraylist1 = var8;
688 var_pdocnode2 = var_nodearraylist1;
689 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
690 cltype = type_nullable_parser_nodes__ADoc.color;
691 idtype = type_nullable_parser_nodes__ADoc.id;
692 if(var_pdocnode2 == NULL) {
693 var9 = 1;
694 } else {
695 if(cltype >= var_pdocnode2->type->table_size) {
696 var9 = 0;
697 } else {
698 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
699 }
700 }
701 if (!var9) {
702 fprintf(stderr, "Runtime error: %s", "Assert failed");
703 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16322);
704 exit(1);
705 }
706 var_pvisibilitynode4 = var_nodearraylist2;
707 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
708 cltype11 = type_nullable_parser_nodes__AVisibility.color;
709 idtype12 = type_nullable_parser_nodes__AVisibility.id;
710 if(var_pvisibilitynode4 == NULL) {
711 var10 = 1;
712 } else {
713 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
714 var10 = 0;
715 } else {
716 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
717 }
718 }
719 if (!var10) {
720 fprintf(stderr, "Runtime error: %s", "Assert failed");
721 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16324);
722 exit(1);
723 }
724 var_tkwmethnode5 = var_nodearraylist3;
725 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
726 cltype14 = type_nullable_parser_nodes__TKwmeth.color;
727 idtype15 = type_nullable_parser_nodes__TKwmeth.id;
728 if(var_tkwmethnode5 == NULL) {
729 var13 = 1;
730 } else {
731 if(cltype14 >= var_tkwmethnode5->type->table_size) {
732 var13 = 0;
733 } else {
734 var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15;
735 }
736 }
737 if (!var13) {
738 fprintf(stderr, "Runtime error: %s", "Assert failed");
739 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16326);
740 exit(1);
741 }
742 var_pmethidnode6 = var_nodearraylist4;
743 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
744 cltype17 = type_nullable_parser_nodes__AMethid.color;
745 idtype18 = type_nullable_parser_nodes__AMethid.id;
746 if(var_pmethidnode6 == NULL) {
747 var16 = 1;
748 } else {
749 if(cltype17 >= var_pmethidnode6->type->table_size) {
750 var16 = 0;
751 } else {
752 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
753 }
754 }
755 if (!var16) {
756 fprintf(stderr, "Runtime error: %s", "Assert failed");
757 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16328);
758 exit(1);
759 }
760 var_psignaturenode7 = var_nodearraylist5;
761 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
762 cltype20 = type_nullable_parser_nodes__ASignature.color;
763 idtype21 = type_nullable_parser_nodes__ASignature.id;
764 if(var_psignaturenode7 == NULL) {
765 var19 = 1;
766 } else {
767 if(cltype20 >= var_psignaturenode7->type->table_size) {
768 var19 = 0;
769 } else {
770 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
771 }
772 }
773 if (!var19) {
774 fprintf(stderr, "Runtime error: %s", "Assert failed");
775 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16330);
776 exit(1);
777 }
778 var_pexterncallsnode9 = var_nodearraylist8;
779 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
780 cltype23 = type_nullable_parser_nodes__AExternCalls.color;
781 idtype24 = type_nullable_parser_nodes__AExternCalls.id;
782 if(var_pexterncallsnode9 == NULL) {
783 var22 = 1;
784 } else {
785 if(cltype23 >= var_pexterncallsnode9->type->table_size) {
786 var22 = 0;
787 } else {
788 var22 = var_pexterncallsnode9->type->type_table[cltype23] == idtype24;
789 }
790 }
791 if (!var22) {
792 fprintf(stderr, "Runtime error: %s", "Assert failed");
793 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16332);
794 exit(1);
795 }
796 var25 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
797 var26 = NULL;
798 var27 = NULL;
799 var28 = NULL;
800 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var27, var_pexterncallsnode9, var28) /* init_aexternmethpropdef on <var25:AExternMethPropdef>*/;
801 CHECK_NEW_parser_nodes__AExternMethPropdef(var25);
802 var_ppropdefnode1 = var25;
803 var_node_list = var_ppropdefnode1;
804 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction365> */
805 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
806 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
807 RET_LABEL:;
808 }
809 /* method parser#ReduceAction365#action for (self: Object, Parser) */
810 void VIRTUAL_parser__ReduceAction365__action(val* self, val* p0) {
811 parser__ReduceAction365__action(self, p0);
812 RET_LABEL:;
813 }
814 /* method parser#ReduceAction366#action for (self: ReduceAction366, Parser) */
815 void parser__ReduceAction366__action(val* self, val* p0) {
816 val* var_p /* var p: Parser */;
817 val* var /* : null */;
818 val* var_node_list /* var node_list: nullable Object */;
819 val* var1 /* : nullable Object */;
820 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
821 val* var2 /* : nullable Object */;
822 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
823 val* var3 /* : nullable Object */;
824 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
825 val* var4 /* : nullable Object */;
826 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
827 val* var5 /* : nullable Object */;
828 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
829 val* var6 /* : nullable Object */;
830 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
831 val* var7 /* : nullable Object */;
832 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
833 val* var8 /* : nullable Object */;
834 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
835 val* var9 /* : nullable Object */;
836 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
837 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
838 short int var10 /* : Bool */;
839 int cltype;
840 int idtype;
841 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
842 short int var11 /* : Bool */;
843 int cltype12;
844 int idtype13;
845 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
846 short int var14 /* : Bool */;
847 int cltype15;
848 int idtype16;
849 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
850 short int var17 /* : Bool */;
851 int cltype18;
852 int idtype19;
853 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
854 short int var20 /* : Bool */;
855 int cltype21;
856 int idtype22;
857 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
858 short int var23 /* : Bool */;
859 int cltype24;
860 int idtype25;
861 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
862 short int var26 /* : Bool */;
863 int cltype27;
864 int idtype28;
865 val* var29 /* : AExternMethPropdef */;
866 val* var30 /* : null */;
867 val* var31 /* : null */;
868 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
869 long var32 /* : Int */;
870 long var33 /* : Int */;
871 var_p = p0;
872 var = NULL;
873 var_node_list = var;
874 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
875 var_nodearraylist9 = var1;
876 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
877 var_nodearraylist8 = var2;
878 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
879 var_nodearraylist7 = var3;
880 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
881 var_nodearraylist6 = var4;
882 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
883 var_nodearraylist5 = var5;
884 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
885 var_nodearraylist4 = var6;
886 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
887 var_nodearraylist3 = var7;
888 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
889 var_nodearraylist2 = var8;
890 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
891 var_nodearraylist1 = var9;
892 var_pdocnode2 = var_nodearraylist1;
893 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
894 cltype = type_nullable_parser_nodes__ADoc.color;
895 idtype = type_nullable_parser_nodes__ADoc.id;
896 if(var_pdocnode2 == NULL) {
897 var10 = 1;
898 } else {
899 if(cltype >= var_pdocnode2->type->table_size) {
900 var10 = 0;
901 } else {
902 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
903 }
904 }
905 if (!var10) {
906 fprintf(stderr, "Runtime error: %s", "Assert failed");
907 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16363);
908 exit(1);
909 }
910 var_tkwredefnode3 = var_nodearraylist2;
911 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
912 cltype12 = type_nullable_parser_nodes__TKwredef.color;
913 idtype13 = type_nullable_parser_nodes__TKwredef.id;
914 if(var_tkwredefnode3 == NULL) {
915 var11 = 1;
916 } else {
917 if(cltype12 >= var_tkwredefnode3->type->table_size) {
918 var11 = 0;
919 } else {
920 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
921 }
922 }
923 if (!var11) {
924 fprintf(stderr, "Runtime error: %s", "Assert failed");
925 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16365);
926 exit(1);
927 }
928 var_pvisibilitynode4 = var_nodearraylist3;
929 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
930 cltype15 = type_nullable_parser_nodes__AVisibility.color;
931 idtype16 = type_nullable_parser_nodes__AVisibility.id;
932 if(var_pvisibilitynode4 == NULL) {
933 var14 = 1;
934 } else {
935 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
936 var14 = 0;
937 } else {
938 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
939 }
940 }
941 if (!var14) {
942 fprintf(stderr, "Runtime error: %s", "Assert failed");
943 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16367);
944 exit(1);
945 }
946 var_tkwmethnode5 = var_nodearraylist4;
947 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
948 cltype18 = type_nullable_parser_nodes__TKwmeth.color;
949 idtype19 = type_nullable_parser_nodes__TKwmeth.id;
950 if(var_tkwmethnode5 == NULL) {
951 var17 = 1;
952 } else {
953 if(cltype18 >= var_tkwmethnode5->type->table_size) {
954 var17 = 0;
955 } else {
956 var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19;
957 }
958 }
959 if (!var17) {
960 fprintf(stderr, "Runtime error: %s", "Assert failed");
961 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16369);
962 exit(1);
963 }
964 var_pmethidnode6 = var_nodearraylist5;
965 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
966 cltype21 = type_nullable_parser_nodes__AMethid.color;
967 idtype22 = type_nullable_parser_nodes__AMethid.id;
968 if(var_pmethidnode6 == NULL) {
969 var20 = 1;
970 } else {
971 if(cltype21 >= var_pmethidnode6->type->table_size) {
972 var20 = 0;
973 } else {
974 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
975 }
976 }
977 if (!var20) {
978 fprintf(stderr, "Runtime error: %s", "Assert failed");
979 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16371);
980 exit(1);
981 }
982 var_psignaturenode7 = var_nodearraylist6;
983 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
984 cltype24 = type_nullable_parser_nodes__ASignature.color;
985 idtype25 = type_nullable_parser_nodes__ASignature.id;
986 if(var_psignaturenode7 == NULL) {
987 var23 = 1;
988 } else {
989 if(cltype24 >= var_psignaturenode7->type->table_size) {
990 var23 = 0;
991 } else {
992 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
993 }
994 }
995 if (!var23) {
996 fprintf(stderr, "Runtime error: %s", "Assert failed");
997 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16373);
998 exit(1);
999 }
1000 var_pexterncallsnode9 = var_nodearraylist9;
1001 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
1002 cltype27 = type_nullable_parser_nodes__AExternCalls.color;
1003 idtype28 = type_nullable_parser_nodes__AExternCalls.id;
1004 if(var_pexterncallsnode9 == NULL) {
1005 var26 = 1;
1006 } else {
1007 if(cltype27 >= var_pexterncallsnode9->type->table_size) {
1008 var26 = 0;
1009 } else {
1010 var26 = var_pexterncallsnode9->type->type_table[cltype27] == idtype28;
1011 }
1012 }
1013 if (!var26) {
1014 fprintf(stderr, "Runtime error: %s", "Assert failed");
1015 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16375);
1016 exit(1);
1017 }
1018 var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
1019 var30 = NULL;
1020 var31 = NULL;
1021 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var30, var_pexterncallsnode9, var31) /* init_aexternmethpropdef on <var29:AExternMethPropdef>*/;
1022 CHECK_NEW_parser_nodes__AExternMethPropdef(var29);
1023 var_ppropdefnode1 = var29;
1024 var_node_list = var_ppropdefnode1;
1025 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction366> */
1026 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
1027 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
1028 RET_LABEL:;
1029 }
1030 /* method parser#ReduceAction366#action for (self: Object, Parser) */
1031 void VIRTUAL_parser__ReduceAction366__action(val* self, val* p0) {
1032 parser__ReduceAction366__action(self, p0);
1033 RET_LABEL:;
1034 }
1035 /* method parser#ReduceAction367#action for (self: ReduceAction367, Parser) */
1036 void parser__ReduceAction367__action(val* self, val* p0) {
1037 val* var_p /* var p: Parser */;
1038 val* var /* : null */;
1039 val* var_node_list /* var node_list: nullable Object */;
1040 val* var1 /* : nullable Object */;
1041 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1042 val* var2 /* : nullable Object */;
1043 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1044 val* var3 /* : nullable Object */;
1045 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1046 val* var4 /* : nullable Object */;
1047 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1048 val* var5 /* : nullable Object */;
1049 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1050 val* var6 /* : nullable Object */;
1051 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1052 val* var7 /* : nullable Object */;
1053 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1054 val* var8 /* : nullable Object */;
1055 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1056 val* var9 /* : nullable Object */;
1057 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1058 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1059 short int var10 /* : Bool */;
1060 int cltype;
1061 int idtype;
1062 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1063 short int var11 /* : Bool */;
1064 int cltype12;
1065 int idtype13;
1066 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
1067 short int var14 /* : Bool */;
1068 int cltype15;
1069 int idtype16;
1070 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
1071 short int var17 /* : Bool */;
1072 int cltype18;
1073 int idtype19;
1074 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
1075 short int var20 /* : Bool */;
1076 int cltype21;
1077 int idtype22;
1078 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
1079 short int var23 /* : Bool */;
1080 int cltype24;
1081 int idtype25;
1082 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
1083 short int var26 /* : Bool */;
1084 int cltype27;
1085 int idtype28;
1086 val* var29 /* : AExternMethPropdef */;
1087 val* var30 /* : null */;
1088 val* var31 /* : null */;
1089 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
1090 long var32 /* : Int */;
1091 long var33 /* : Int */;
1092 var_p = p0;
1093 var = NULL;
1094 var_node_list = var;
1095 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1096 var_nodearraylist9 = var1;
1097 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1098 var_nodearraylist8 = var2;
1099 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1100 var_nodearraylist7 = var3;
1101 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1102 var_nodearraylist6 = var4;
1103 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1104 var_nodearraylist5 = var5;
1105 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1106 var_nodearraylist4 = var6;
1107 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1108 var_nodearraylist3 = var7;
1109 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1110 var_nodearraylist2 = var8;
1111 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1112 var_nodearraylist1 = var9;
1113 var_pdocnode2 = var_nodearraylist1;
1114 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1115 cltype = type_nullable_parser_nodes__ADoc.color;
1116 idtype = type_nullable_parser_nodes__ADoc.id;
1117 if(var_pdocnode2 == NULL) {
1118 var10 = 1;
1119 } else {
1120 if(cltype >= var_pdocnode2->type->table_size) {
1121 var10 = 0;
1122 } else {
1123 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
1124 }
1125 }
1126 if (!var10) {
1127 fprintf(stderr, "Runtime error: %s", "Assert failed");
1128 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16406);
1129 exit(1);
1130 }
1131 var_pvisibilitynode4 = var_nodearraylist2;
1132 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1133 cltype12 = type_nullable_parser_nodes__AVisibility.color;
1134 idtype13 = type_nullable_parser_nodes__AVisibility.id;
1135 if(var_pvisibilitynode4 == NULL) {
1136 var11 = 1;
1137 } else {
1138 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
1139 var11 = 0;
1140 } else {
1141 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
1142 }
1143 }
1144 if (!var11) {
1145 fprintf(stderr, "Runtime error: %s", "Assert failed");
1146 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16408);
1147 exit(1);
1148 }
1149 var_tkwmethnode5 = var_nodearraylist3;
1150 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
1151 cltype15 = type_nullable_parser_nodes__TKwmeth.color;
1152 idtype16 = type_nullable_parser_nodes__TKwmeth.id;
1153 if(var_tkwmethnode5 == NULL) {
1154 var14 = 1;
1155 } else {
1156 if(cltype15 >= var_tkwmethnode5->type->table_size) {
1157 var14 = 0;
1158 } else {
1159 var14 = var_tkwmethnode5->type->type_table[cltype15] == idtype16;
1160 }
1161 }
1162 if (!var14) {
1163 fprintf(stderr, "Runtime error: %s", "Assert failed");
1164 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16410);
1165 exit(1);
1166 }
1167 var_pmethidnode6 = var_nodearraylist4;
1168 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
1169 cltype18 = type_nullable_parser_nodes__AMethid.color;
1170 idtype19 = type_nullable_parser_nodes__AMethid.id;
1171 if(var_pmethidnode6 == NULL) {
1172 var17 = 1;
1173 } else {
1174 if(cltype18 >= var_pmethidnode6->type->table_size) {
1175 var17 = 0;
1176 } else {
1177 var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
1178 }
1179 }
1180 if (!var17) {
1181 fprintf(stderr, "Runtime error: %s", "Assert failed");
1182 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16412);
1183 exit(1);
1184 }
1185 var_psignaturenode7 = var_nodearraylist5;
1186 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1187 cltype21 = type_nullable_parser_nodes__ASignature.color;
1188 idtype22 = type_nullable_parser_nodes__ASignature.id;
1189 if(var_psignaturenode7 == NULL) {
1190 var20 = 1;
1191 } else {
1192 if(cltype21 >= var_psignaturenode7->type->table_size) {
1193 var20 = 0;
1194 } else {
1195 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
1196 }
1197 }
1198 if (!var20) {
1199 fprintf(stderr, "Runtime error: %s", "Assert failed");
1200 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16414);
1201 exit(1);
1202 }
1203 var_tstringnode8 = var_nodearraylist8;
1204 /* <var_tstringnode8:nullable Object> isa nullable TString */
1205 cltype24 = type_nullable_parser_nodes__TString.color;
1206 idtype25 = type_nullable_parser_nodes__TString.id;
1207 if(var_tstringnode8 == NULL) {
1208 var23 = 1;
1209 } else {
1210 if(cltype24 >= var_tstringnode8->type->table_size) {
1211 var23 = 0;
1212 } else {
1213 var23 = var_tstringnode8->type->type_table[cltype24] == idtype25;
1214 }
1215 }
1216 if (!var23) {
1217 fprintf(stderr, "Runtime error: %s", "Assert failed");
1218 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16416);
1219 exit(1);
1220 }
1221 var_pexterncallsnode9 = var_nodearraylist9;
1222 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
1223 cltype27 = type_nullable_parser_nodes__AExternCalls.color;
1224 idtype28 = type_nullable_parser_nodes__AExternCalls.id;
1225 if(var_pexterncallsnode9 == NULL) {
1226 var26 = 1;
1227 } else {
1228 if(cltype27 >= var_pexterncallsnode9->type->table_size) {
1229 var26 = 0;
1230 } else {
1231 var26 = var_pexterncallsnode9->type->type_table[cltype27] == idtype28;
1232 }
1233 }
1234 if (!var26) {
1235 fprintf(stderr, "Runtime error: %s", "Assert failed");
1236 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16418);
1237 exit(1);
1238 }
1239 var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
1240 var30 = NULL;
1241 var31 = NULL;
1242 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var31) /* init_aexternmethpropdef on <var29:AExternMethPropdef>*/;
1243 CHECK_NEW_parser_nodes__AExternMethPropdef(var29);
1244 var_ppropdefnode1 = var29;
1245 var_node_list = var_ppropdefnode1;
1246 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction367> */
1247 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
1248 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
1249 RET_LABEL:;
1250 }
1251 /* method parser#ReduceAction367#action for (self: Object, Parser) */
1252 void VIRTUAL_parser__ReduceAction367__action(val* self, val* p0) {
1253 parser__ReduceAction367__action(self, p0);
1254 RET_LABEL:;
1255 }
1256 /* method parser#ReduceAction368#action for (self: ReduceAction368, Parser) */
1257 void parser__ReduceAction368__action(val* self, val* p0) {
1258 val* var_p /* var p: Parser */;
1259 val* var /* : null */;
1260 val* var_node_list /* var node_list: nullable Object */;
1261 val* var1 /* : nullable Object */;
1262 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1263 val* var2 /* : nullable Object */;
1264 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1265 val* var3 /* : nullable Object */;
1266 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1267 val* var4 /* : nullable Object */;
1268 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1269 val* var5 /* : nullable Object */;
1270 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1271 val* var6 /* : nullable Object */;
1272 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1273 val* var7 /* : nullable Object */;
1274 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1275 val* var8 /* : nullable Object */;
1276 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1277 val* var9 /* : nullable Object */;
1278 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1279 val* var10 /* : nullable Object */;
1280 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1281 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1282 short int var11 /* : Bool */;
1283 int cltype;
1284 int idtype;
1285 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1286 short int var12 /* : Bool */;
1287 int cltype13;
1288 int idtype14;
1289 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1290 short int var15 /* : Bool */;
1291 int cltype16;
1292 int idtype17;
1293 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
1294 short int var18 /* : Bool */;
1295 int cltype19;
1296 int idtype20;
1297 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
1298 short int var21 /* : Bool */;
1299 int cltype22;
1300 int idtype23;
1301 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
1302 short int var24 /* : Bool */;
1303 int cltype25;
1304 int idtype26;
1305 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
1306 short int var27 /* : Bool */;
1307 int cltype28;
1308 int idtype29;
1309 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
1310 short int var30 /* : Bool */;
1311 int cltype31;
1312 int idtype32;
1313 val* var33 /* : AExternMethPropdef */;
1314 val* var34 /* : null */;
1315 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
1316 long var35 /* : Int */;
1317 long var36 /* : Int */;
1318 var_p = p0;
1319 var = NULL;
1320 var_node_list = var;
1321 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1322 var_nodearraylist10 = var1;
1323 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1324 var_nodearraylist9 = var2;
1325 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1326 var_nodearraylist8 = var3;
1327 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1328 var_nodearraylist7 = var4;
1329 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1330 var_nodearraylist6 = var5;
1331 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1332 var_nodearraylist5 = var6;
1333 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1334 var_nodearraylist4 = var7;
1335 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1336 var_nodearraylist3 = var8;
1337 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1338 var_nodearraylist2 = var9;
1339 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1340 var_nodearraylist1 = var10;
1341 var_pdocnode2 = var_nodearraylist1;
1342 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1343 cltype = type_nullable_parser_nodes__ADoc.color;
1344 idtype = type_nullable_parser_nodes__ADoc.id;
1345 if(var_pdocnode2 == NULL) {
1346 var11 = 1;
1347 } else {
1348 if(cltype >= var_pdocnode2->type->table_size) {
1349 var11 = 0;
1350 } else {
1351 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
1352 }
1353 }
1354 if (!var11) {
1355 fprintf(stderr, "Runtime error: %s", "Assert failed");
1356 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16450);
1357 exit(1);
1358 }
1359 var_tkwredefnode3 = var_nodearraylist2;
1360 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1361 cltype13 = type_nullable_parser_nodes__TKwredef.color;
1362 idtype14 = type_nullable_parser_nodes__TKwredef.id;
1363 if(var_tkwredefnode3 == NULL) {
1364 var12 = 1;
1365 } else {
1366 if(cltype13 >= var_tkwredefnode3->type->table_size) {
1367 var12 = 0;
1368 } else {
1369 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
1370 }
1371 }
1372 if (!var12) {
1373 fprintf(stderr, "Runtime error: %s", "Assert failed");
1374 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16452);
1375 exit(1);
1376 }
1377 var_pvisibilitynode4 = var_nodearraylist3;
1378 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1379 cltype16 = type_nullable_parser_nodes__AVisibility.color;
1380 idtype17 = type_nullable_parser_nodes__AVisibility.id;
1381 if(var_pvisibilitynode4 == NULL) {
1382 var15 = 1;
1383 } else {
1384 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
1385 var15 = 0;
1386 } else {
1387 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
1388 }
1389 }
1390 if (!var15) {
1391 fprintf(stderr, "Runtime error: %s", "Assert failed");
1392 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16454);
1393 exit(1);
1394 }
1395 var_tkwmethnode5 = var_nodearraylist4;
1396 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
1397 cltype19 = type_nullable_parser_nodes__TKwmeth.color;
1398 idtype20 = type_nullable_parser_nodes__TKwmeth.id;
1399 if(var_tkwmethnode5 == NULL) {
1400 var18 = 1;
1401 } else {
1402 if(cltype19 >= var_tkwmethnode5->type->table_size) {
1403 var18 = 0;
1404 } else {
1405 var18 = var_tkwmethnode5->type->type_table[cltype19] == idtype20;
1406 }
1407 }
1408 if (!var18) {
1409 fprintf(stderr, "Runtime error: %s", "Assert failed");
1410 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16456);
1411 exit(1);
1412 }
1413 var_pmethidnode6 = var_nodearraylist5;
1414 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
1415 cltype22 = type_nullable_parser_nodes__AMethid.color;
1416 idtype23 = type_nullable_parser_nodes__AMethid.id;
1417 if(var_pmethidnode6 == NULL) {
1418 var21 = 1;
1419 } else {
1420 if(cltype22 >= var_pmethidnode6->type->table_size) {
1421 var21 = 0;
1422 } else {
1423 var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
1424 }
1425 }
1426 if (!var21) {
1427 fprintf(stderr, "Runtime error: %s", "Assert failed");
1428 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16458);
1429 exit(1);
1430 }
1431 var_psignaturenode7 = var_nodearraylist6;
1432 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1433 cltype25 = type_nullable_parser_nodes__ASignature.color;
1434 idtype26 = type_nullable_parser_nodes__ASignature.id;
1435 if(var_psignaturenode7 == NULL) {
1436 var24 = 1;
1437 } else {
1438 if(cltype25 >= var_psignaturenode7->type->table_size) {
1439 var24 = 0;
1440 } else {
1441 var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
1442 }
1443 }
1444 if (!var24) {
1445 fprintf(stderr, "Runtime error: %s", "Assert failed");
1446 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16460);
1447 exit(1);
1448 }
1449 var_tstringnode8 = var_nodearraylist9;
1450 /* <var_tstringnode8:nullable Object> isa nullable TString */
1451 cltype28 = type_nullable_parser_nodes__TString.color;
1452 idtype29 = type_nullable_parser_nodes__TString.id;
1453 if(var_tstringnode8 == NULL) {
1454 var27 = 1;
1455 } else {
1456 if(cltype28 >= var_tstringnode8->type->table_size) {
1457 var27 = 0;
1458 } else {
1459 var27 = var_tstringnode8->type->type_table[cltype28] == idtype29;
1460 }
1461 }
1462 if (!var27) {
1463 fprintf(stderr, "Runtime error: %s", "Assert failed");
1464 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16462);
1465 exit(1);
1466 }
1467 var_pexterncallsnode9 = var_nodearraylist10;
1468 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
1469 cltype31 = type_nullable_parser_nodes__AExternCalls.color;
1470 idtype32 = type_nullable_parser_nodes__AExternCalls.id;
1471 if(var_pexterncallsnode9 == NULL) {
1472 var30 = 1;
1473 } else {
1474 if(cltype31 >= var_pexterncallsnode9->type->table_size) {
1475 var30 = 0;
1476 } else {
1477 var30 = var_pexterncallsnode9->type->type_table[cltype31] == idtype32;
1478 }
1479 }
1480 if (!var30) {
1481 fprintf(stderr, "Runtime error: %s", "Assert failed");
1482 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16464);
1483 exit(1);
1484 }
1485 var33 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
1486 var34 = NULL;
1487 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var34) /* init_aexternmethpropdef on <var33:AExternMethPropdef>*/;
1488 CHECK_NEW_parser_nodes__AExternMethPropdef(var33);
1489 var_ppropdefnode1 = var33;
1490 var_node_list = var_ppropdefnode1;
1491 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction368> */
1492 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
1493 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
1494 RET_LABEL:;
1495 }
1496 /* method parser#ReduceAction368#action for (self: Object, Parser) */
1497 void VIRTUAL_parser__ReduceAction368__action(val* self, val* p0) {
1498 parser__ReduceAction368__action(self, p0);
1499 RET_LABEL:;
1500 }
1501 /* method parser#ReduceAction369#action for (self: ReduceAction369, Parser) */
1502 void parser__ReduceAction369__action(val* self, val* p0) {
1503 val* var_p /* var p: Parser */;
1504 val* var /* : null */;
1505 val* var_node_list /* var node_list: nullable Object */;
1506 val* var1 /* : nullable Object */;
1507 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1508 val* var2 /* : nullable Object */;
1509 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1510 val* var3 /* : nullable Object */;
1511 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1512 val* var4 /* : nullable Object */;
1513 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1514 val* var5 /* : nullable Object */;
1515 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1516 val* var6 /* : nullable Object */;
1517 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1518 val* var7 /* : nullable Object */;
1519 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1520 val* var8 /* : nullable Object */;
1521 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1522 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1523 short int var9 /* : Bool */;
1524 int cltype;
1525 int idtype;
1526 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1527 short int var10 /* : Bool */;
1528 int cltype11;
1529 int idtype12;
1530 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
1531 short int var13 /* : Bool */;
1532 int cltype14;
1533 int idtype15;
1534 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
1535 short int var16 /* : Bool */;
1536 int cltype17;
1537 int idtype18;
1538 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
1539 short int var19 /* : Bool */;
1540 int cltype20;
1541 int idtype21;
1542 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1543 short int var22 /* : Bool */;
1544 int cltype23;
1545 int idtype24;
1546 val* var25 /* : AExternMethPropdef */;
1547 val* var26 /* : null */;
1548 val* var27 /* : null */;
1549 val* var28 /* : null */;
1550 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
1551 long var29 /* : Int */;
1552 long var30 /* : Int */;
1553 var_p = p0;
1554 var = NULL;
1555 var_node_list = var;
1556 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1557 var_nodearraylist8 = var1;
1558 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1559 var_nodearraylist7 = var2;
1560 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1561 var_nodearraylist6 = var3;
1562 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1563 var_nodearraylist5 = var4;
1564 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1565 var_nodearraylist4 = var5;
1566 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1567 var_nodearraylist3 = var6;
1568 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1569 var_nodearraylist2 = var7;
1570 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1571 var_nodearraylist1 = var8;
1572 var_pdocnode2 = var_nodearraylist1;
1573 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1574 cltype = type_nullable_parser_nodes__ADoc.color;
1575 idtype = type_nullable_parser_nodes__ADoc.id;
1576 if(var_pdocnode2 == NULL) {
1577 var9 = 1;
1578 } else {
1579 if(cltype >= var_pdocnode2->type->table_size) {
1580 var9 = 0;
1581 } else {
1582 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
1583 }
1584 }
1585 if (!var9) {
1586 fprintf(stderr, "Runtime error: %s", "Assert failed");
1587 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16494);
1588 exit(1);
1589 }
1590 var_pvisibilitynode4 = var_nodearraylist2;
1591 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1592 cltype11 = type_nullable_parser_nodes__AVisibility.color;
1593 idtype12 = type_nullable_parser_nodes__AVisibility.id;
1594 if(var_pvisibilitynode4 == NULL) {
1595 var10 = 1;
1596 } else {
1597 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
1598 var10 = 0;
1599 } else {
1600 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
1601 }
1602 }
1603 if (!var10) {
1604 fprintf(stderr, "Runtime error: %s", "Assert failed");
1605 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16496);
1606 exit(1);
1607 }
1608 var_tkwmethnode5 = var_nodearraylist3;
1609 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
1610 cltype14 = type_nullable_parser_nodes__TKwmeth.color;
1611 idtype15 = type_nullable_parser_nodes__TKwmeth.id;
1612 if(var_tkwmethnode5 == NULL) {
1613 var13 = 1;
1614 } else {
1615 if(cltype14 >= var_tkwmethnode5->type->table_size) {
1616 var13 = 0;
1617 } else {
1618 var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15;
1619 }
1620 }
1621 if (!var13) {
1622 fprintf(stderr, "Runtime error: %s", "Assert failed");
1623 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16498);
1624 exit(1);
1625 }
1626 var_pmethidnode6 = var_nodearraylist4;
1627 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
1628 cltype17 = type_nullable_parser_nodes__AMethid.color;
1629 idtype18 = type_nullable_parser_nodes__AMethid.id;
1630 if(var_pmethidnode6 == NULL) {
1631 var16 = 1;
1632 } else {
1633 if(cltype17 >= var_pmethidnode6->type->table_size) {
1634 var16 = 0;
1635 } else {
1636 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
1637 }
1638 }
1639 if (!var16) {
1640 fprintf(stderr, "Runtime error: %s", "Assert failed");
1641 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16500);
1642 exit(1);
1643 }
1644 var_psignaturenode7 = var_nodearraylist5;
1645 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1646 cltype20 = type_nullable_parser_nodes__ASignature.color;
1647 idtype21 = type_nullable_parser_nodes__ASignature.id;
1648 if(var_psignaturenode7 == NULL) {
1649 var19 = 1;
1650 } else {
1651 if(cltype20 >= var_psignaturenode7->type->table_size) {
1652 var19 = 0;
1653 } else {
1654 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
1655 }
1656 }
1657 if (!var19) {
1658 fprintf(stderr, "Runtime error: %s", "Assert failed");
1659 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16502);
1660 exit(1);
1661 }
1662 var_pexterncodeblocknode10 = var_nodearraylist8;
1663 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1664 cltype23 = type_nullable_parser_nodes__AExternCodeBlock.color;
1665 idtype24 = type_nullable_parser_nodes__AExternCodeBlock.id;
1666 if(var_pexterncodeblocknode10 == NULL) {
1667 var22 = 1;
1668 } else {
1669 if(cltype23 >= var_pexterncodeblocknode10->type->table_size) {
1670 var22 = 0;
1671 } else {
1672 var22 = var_pexterncodeblocknode10->type->type_table[cltype23] == idtype24;
1673 }
1674 }
1675 if (!var22) {
1676 fprintf(stderr, "Runtime error: %s", "Assert failed");
1677 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16504);
1678 exit(1);
1679 }
1680 var25 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
1681 var26 = NULL;
1682 var27 = NULL;
1683 var28 = NULL;
1684 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var27, var28, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var25:AExternMethPropdef>*/;
1685 CHECK_NEW_parser_nodes__AExternMethPropdef(var25);
1686 var_ppropdefnode1 = var25;
1687 var_node_list = var_ppropdefnode1;
1688 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction369> */
1689 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
1690 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
1691 RET_LABEL:;
1692 }
1693 /* method parser#ReduceAction369#action for (self: Object, Parser) */
1694 void VIRTUAL_parser__ReduceAction369__action(val* self, val* p0) {
1695 parser__ReduceAction369__action(self, p0);
1696 RET_LABEL:;
1697 }
1698 /* method parser#ReduceAction370#action for (self: ReduceAction370, Parser) */
1699 void parser__ReduceAction370__action(val* self, val* p0) {
1700 val* var_p /* var p: Parser */;
1701 val* var /* : null */;
1702 val* var_node_list /* var node_list: nullable Object */;
1703 val* var1 /* : nullable Object */;
1704 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1705 val* var2 /* : nullable Object */;
1706 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1707 val* var3 /* : nullable Object */;
1708 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1709 val* var4 /* : nullable Object */;
1710 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1711 val* var5 /* : nullable Object */;
1712 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1713 val* var6 /* : nullable Object */;
1714 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1715 val* var7 /* : nullable Object */;
1716 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1717 val* var8 /* : nullable Object */;
1718 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1719 val* var9 /* : nullable Object */;
1720 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1721 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1722 short int var10 /* : Bool */;
1723 int cltype;
1724 int idtype;
1725 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1726 short int var11 /* : Bool */;
1727 int cltype12;
1728 int idtype13;
1729 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1730 short int var14 /* : Bool */;
1731 int cltype15;
1732 int idtype16;
1733 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
1734 short int var17 /* : Bool */;
1735 int cltype18;
1736 int idtype19;
1737 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
1738 short int var20 /* : Bool */;
1739 int cltype21;
1740 int idtype22;
1741 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
1742 short int var23 /* : Bool */;
1743 int cltype24;
1744 int idtype25;
1745 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1746 short int var26 /* : Bool */;
1747 int cltype27;
1748 int idtype28;
1749 val* var29 /* : AExternMethPropdef */;
1750 val* var30 /* : null */;
1751 val* var31 /* : null */;
1752 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
1753 long var32 /* : Int */;
1754 long var33 /* : Int */;
1755 var_p = p0;
1756 var = NULL;
1757 var_node_list = var;
1758 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1759 var_nodearraylist9 = var1;
1760 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1761 var_nodearraylist8 = var2;
1762 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1763 var_nodearraylist7 = var3;
1764 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1765 var_nodearraylist6 = var4;
1766 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1767 var_nodearraylist5 = var5;
1768 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1769 var_nodearraylist4 = var6;
1770 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1771 var_nodearraylist3 = var7;
1772 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1773 var_nodearraylist2 = var8;
1774 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1775 var_nodearraylist1 = var9;
1776 var_pdocnode2 = var_nodearraylist1;
1777 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1778 cltype = type_nullable_parser_nodes__ADoc.color;
1779 idtype = type_nullable_parser_nodes__ADoc.id;
1780 if(var_pdocnode2 == NULL) {
1781 var10 = 1;
1782 } else {
1783 if(cltype >= var_pdocnode2->type->table_size) {
1784 var10 = 0;
1785 } else {
1786 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
1787 }
1788 }
1789 if (!var10) {
1790 fprintf(stderr, "Runtime error: %s", "Assert failed");
1791 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16535);
1792 exit(1);
1793 }
1794 var_tkwredefnode3 = var_nodearraylist2;
1795 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1796 cltype12 = type_nullable_parser_nodes__TKwredef.color;
1797 idtype13 = type_nullable_parser_nodes__TKwredef.id;
1798 if(var_tkwredefnode3 == NULL) {
1799 var11 = 1;
1800 } else {
1801 if(cltype12 >= var_tkwredefnode3->type->table_size) {
1802 var11 = 0;
1803 } else {
1804 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
1805 }
1806 }
1807 if (!var11) {
1808 fprintf(stderr, "Runtime error: %s", "Assert failed");
1809 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16537);
1810 exit(1);
1811 }
1812 var_pvisibilitynode4 = var_nodearraylist3;
1813 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1814 cltype15 = type_nullable_parser_nodes__AVisibility.color;
1815 idtype16 = type_nullable_parser_nodes__AVisibility.id;
1816 if(var_pvisibilitynode4 == NULL) {
1817 var14 = 1;
1818 } else {
1819 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
1820 var14 = 0;
1821 } else {
1822 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
1823 }
1824 }
1825 if (!var14) {
1826 fprintf(stderr, "Runtime error: %s", "Assert failed");
1827 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16539);
1828 exit(1);
1829 }
1830 var_tkwmethnode5 = var_nodearraylist4;
1831 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
1832 cltype18 = type_nullable_parser_nodes__TKwmeth.color;
1833 idtype19 = type_nullable_parser_nodes__TKwmeth.id;
1834 if(var_tkwmethnode5 == NULL) {
1835 var17 = 1;
1836 } else {
1837 if(cltype18 >= var_tkwmethnode5->type->table_size) {
1838 var17 = 0;
1839 } else {
1840 var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19;
1841 }
1842 }
1843 if (!var17) {
1844 fprintf(stderr, "Runtime error: %s", "Assert failed");
1845 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16541);
1846 exit(1);
1847 }
1848 var_pmethidnode6 = var_nodearraylist5;
1849 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
1850 cltype21 = type_nullable_parser_nodes__AMethid.color;
1851 idtype22 = type_nullable_parser_nodes__AMethid.id;
1852 if(var_pmethidnode6 == NULL) {
1853 var20 = 1;
1854 } else {
1855 if(cltype21 >= var_pmethidnode6->type->table_size) {
1856 var20 = 0;
1857 } else {
1858 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
1859 }
1860 }
1861 if (!var20) {
1862 fprintf(stderr, "Runtime error: %s", "Assert failed");
1863 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16543);
1864 exit(1);
1865 }
1866 var_psignaturenode7 = var_nodearraylist6;
1867 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1868 cltype24 = type_nullable_parser_nodes__ASignature.color;
1869 idtype25 = type_nullable_parser_nodes__ASignature.id;
1870 if(var_psignaturenode7 == NULL) {
1871 var23 = 1;
1872 } else {
1873 if(cltype24 >= var_psignaturenode7->type->table_size) {
1874 var23 = 0;
1875 } else {
1876 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
1877 }
1878 }
1879 if (!var23) {
1880 fprintf(stderr, "Runtime error: %s", "Assert failed");
1881 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16545);
1882 exit(1);
1883 }
1884 var_pexterncodeblocknode10 = var_nodearraylist9;
1885 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1886 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
1887 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
1888 if(var_pexterncodeblocknode10 == NULL) {
1889 var26 = 1;
1890 } else {
1891 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
1892 var26 = 0;
1893 } else {
1894 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
1895 }
1896 }
1897 if (!var26) {
1898 fprintf(stderr, "Runtime error: %s", "Assert failed");
1899 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16547);
1900 exit(1);
1901 }
1902 var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
1903 var30 = NULL;
1904 var31 = NULL;
1905 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var30, var31, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var29:AExternMethPropdef>*/;
1906 CHECK_NEW_parser_nodes__AExternMethPropdef(var29);
1907 var_ppropdefnode1 = var29;
1908 var_node_list = var_ppropdefnode1;
1909 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction370> */
1910 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
1911 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
1912 RET_LABEL:;
1913 }
1914 /* method parser#ReduceAction370#action for (self: Object, Parser) */
1915 void VIRTUAL_parser__ReduceAction370__action(val* self, val* p0) {
1916 parser__ReduceAction370__action(self, p0);
1917 RET_LABEL:;
1918 }
1919 /* method parser#ReduceAction371#action for (self: ReduceAction371, Parser) */
1920 void parser__ReduceAction371__action(val* self, val* p0) {
1921 val* var_p /* var p: Parser */;
1922 val* var /* : null */;
1923 val* var_node_list /* var node_list: nullable Object */;
1924 val* var1 /* : nullable Object */;
1925 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1926 val* var2 /* : nullable Object */;
1927 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1928 val* var3 /* : nullable Object */;
1929 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1930 val* var4 /* : nullable Object */;
1931 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1932 val* var5 /* : nullable Object */;
1933 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1934 val* var6 /* : nullable Object */;
1935 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1936 val* var7 /* : nullable Object */;
1937 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1938 val* var8 /* : nullable Object */;
1939 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1940 val* var9 /* : nullable Object */;
1941 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1942 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1943 short int var10 /* : Bool */;
1944 int cltype;
1945 int idtype;
1946 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1947 short int var11 /* : Bool */;
1948 int cltype12;
1949 int idtype13;
1950 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
1951 short int var14 /* : Bool */;
1952 int cltype15;
1953 int idtype16;
1954 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
1955 short int var17 /* : Bool */;
1956 int cltype18;
1957 int idtype19;
1958 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
1959 short int var20 /* : Bool */;
1960 int cltype21;
1961 int idtype22;
1962 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
1963 short int var23 /* : Bool */;
1964 int cltype24;
1965 int idtype25;
1966 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1967 short int var26 /* : Bool */;
1968 int cltype27;
1969 int idtype28;
1970 val* var29 /* : AExternMethPropdef */;
1971 val* var30 /* : null */;
1972 val* var31 /* : null */;
1973 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
1974 long var32 /* : Int */;
1975 long var33 /* : Int */;
1976 var_p = p0;
1977 var = NULL;
1978 var_node_list = var;
1979 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1980 var_nodearraylist9 = var1;
1981 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1982 var_nodearraylist8 = var2;
1983 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1984 var_nodearraylist7 = var3;
1985 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1986 var_nodearraylist6 = var4;
1987 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1988 var_nodearraylist5 = var5;
1989 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1990 var_nodearraylist4 = var6;
1991 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1992 var_nodearraylist3 = var7;
1993 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1994 var_nodearraylist2 = var8;
1995 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1996 var_nodearraylist1 = var9;
1997 var_pdocnode2 = var_nodearraylist1;
1998 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1999 cltype = type_nullable_parser_nodes__ADoc.color;
2000 idtype = type_nullable_parser_nodes__ADoc.id;
2001 if(var_pdocnode2 == NULL) {
2002 var10 = 1;
2003 } else {
2004 if(cltype >= var_pdocnode2->type->table_size) {
2005 var10 = 0;
2006 } else {
2007 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
2008 }
2009 }
2010 if (!var10) {
2011 fprintf(stderr, "Runtime error: %s", "Assert failed");
2012 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16578);
2013 exit(1);
2014 }
2015 var_pvisibilitynode4 = var_nodearraylist2;
2016 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2017 cltype12 = type_nullable_parser_nodes__AVisibility.color;
2018 idtype13 = type_nullable_parser_nodes__AVisibility.id;
2019 if(var_pvisibilitynode4 == NULL) {
2020 var11 = 1;
2021 } else {
2022 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
2023 var11 = 0;
2024 } else {
2025 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
2026 }
2027 }
2028 if (!var11) {
2029 fprintf(stderr, "Runtime error: %s", "Assert failed");
2030 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16580);
2031 exit(1);
2032 }
2033 var_tkwmethnode5 = var_nodearraylist3;
2034 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
2035 cltype15 = type_nullable_parser_nodes__TKwmeth.color;
2036 idtype16 = type_nullable_parser_nodes__TKwmeth.id;
2037 if(var_tkwmethnode5 == NULL) {
2038 var14 = 1;
2039 } else {
2040 if(cltype15 >= var_tkwmethnode5->type->table_size) {
2041 var14 = 0;
2042 } else {
2043 var14 = var_tkwmethnode5->type->type_table[cltype15] == idtype16;
2044 }
2045 }
2046 if (!var14) {
2047 fprintf(stderr, "Runtime error: %s", "Assert failed");
2048 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16582);
2049 exit(1);
2050 }
2051 var_pmethidnode6 = var_nodearraylist4;
2052 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
2053 cltype18 = type_nullable_parser_nodes__AMethid.color;
2054 idtype19 = type_nullable_parser_nodes__AMethid.id;
2055 if(var_pmethidnode6 == NULL) {
2056 var17 = 1;
2057 } else {
2058 if(cltype18 >= var_pmethidnode6->type->table_size) {
2059 var17 = 0;
2060 } else {
2061 var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
2062 }
2063 }
2064 if (!var17) {
2065 fprintf(stderr, "Runtime error: %s", "Assert failed");
2066 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16584);
2067 exit(1);
2068 }
2069 var_psignaturenode7 = var_nodearraylist5;
2070 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2071 cltype21 = type_nullable_parser_nodes__ASignature.color;
2072 idtype22 = type_nullable_parser_nodes__ASignature.id;
2073 if(var_psignaturenode7 == NULL) {
2074 var20 = 1;
2075 } else {
2076 if(cltype21 >= var_psignaturenode7->type->table_size) {
2077 var20 = 0;
2078 } else {
2079 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
2080 }
2081 }
2082 if (!var20) {
2083 fprintf(stderr, "Runtime error: %s", "Assert failed");
2084 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16586);
2085 exit(1);
2086 }
2087 var_tstringnode8 = var_nodearraylist8;
2088 /* <var_tstringnode8:nullable Object> isa nullable TString */
2089 cltype24 = type_nullable_parser_nodes__TString.color;
2090 idtype25 = type_nullable_parser_nodes__TString.id;
2091 if(var_tstringnode8 == NULL) {
2092 var23 = 1;
2093 } else {
2094 if(cltype24 >= var_tstringnode8->type->table_size) {
2095 var23 = 0;
2096 } else {
2097 var23 = var_tstringnode8->type->type_table[cltype24] == idtype25;
2098 }
2099 }
2100 if (!var23) {
2101 fprintf(stderr, "Runtime error: %s", "Assert failed");
2102 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16588);
2103 exit(1);
2104 }
2105 var_pexterncodeblocknode10 = var_nodearraylist9;
2106 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
2107 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
2108 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
2109 if(var_pexterncodeblocknode10 == NULL) {
2110 var26 = 1;
2111 } else {
2112 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
2113 var26 = 0;
2114 } else {
2115 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
2116 }
2117 }
2118 if (!var26) {
2119 fprintf(stderr, "Runtime error: %s", "Assert failed");
2120 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16590);
2121 exit(1);
2122 }
2123 var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
2124 var30 = NULL;
2125 var31 = NULL;
2126 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var31, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var29:AExternMethPropdef>*/;
2127 CHECK_NEW_parser_nodes__AExternMethPropdef(var29);
2128 var_ppropdefnode1 = var29;
2129 var_node_list = var_ppropdefnode1;
2130 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction371> */
2131 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
2132 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
2133 RET_LABEL:;
2134 }
2135 /* method parser#ReduceAction371#action for (self: Object, Parser) */
2136 void VIRTUAL_parser__ReduceAction371__action(val* self, val* p0) {
2137 parser__ReduceAction371__action(self, p0);
2138 RET_LABEL:;
2139 }
2140 /* method parser#ReduceAction372#action for (self: ReduceAction372, Parser) */
2141 void parser__ReduceAction372__action(val* self, val* p0) {
2142 val* var_p /* var p: Parser */;
2143 val* var /* : null */;
2144 val* var_node_list /* var node_list: nullable Object */;
2145 val* var1 /* : nullable Object */;
2146 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2147 val* var2 /* : nullable Object */;
2148 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2149 val* var3 /* : nullable Object */;
2150 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2151 val* var4 /* : nullable Object */;
2152 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2153 val* var5 /* : nullable Object */;
2154 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2155 val* var6 /* : nullable Object */;
2156 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2157 val* var7 /* : nullable Object */;
2158 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2159 val* var8 /* : nullable Object */;
2160 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2161 val* var9 /* : nullable Object */;
2162 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2163 val* var10 /* : nullable Object */;
2164 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2165 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2166 short int var11 /* : Bool */;
2167 int cltype;
2168 int idtype;
2169 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2170 short int var12 /* : Bool */;
2171 int cltype13;
2172 int idtype14;
2173 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2174 short int var15 /* : Bool */;
2175 int cltype16;
2176 int idtype17;
2177 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
2178 short int var18 /* : Bool */;
2179 int cltype19;
2180 int idtype20;
2181 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
2182 short int var21 /* : Bool */;
2183 int cltype22;
2184 int idtype23;
2185 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
2186 short int var24 /* : Bool */;
2187 int cltype25;
2188 int idtype26;
2189 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
2190 short int var27 /* : Bool */;
2191 int cltype28;
2192 int idtype29;
2193 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
2194 short int var30 /* : Bool */;
2195 int cltype31;
2196 int idtype32;
2197 val* var33 /* : AExternMethPropdef */;
2198 val* var34 /* : null */;
2199 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
2200 long var35 /* : Int */;
2201 long var36 /* : Int */;
2202 var_p = p0;
2203 var = NULL;
2204 var_node_list = var;
2205 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2206 var_nodearraylist10 = var1;
2207 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2208 var_nodearraylist9 = var2;
2209 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2210 var_nodearraylist8 = var3;
2211 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2212 var_nodearraylist7 = var4;
2213 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2214 var_nodearraylist6 = var5;
2215 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2216 var_nodearraylist5 = var6;
2217 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2218 var_nodearraylist4 = var7;
2219 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2220 var_nodearraylist3 = var8;
2221 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2222 var_nodearraylist2 = var9;
2223 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2224 var_nodearraylist1 = var10;
2225 var_pdocnode2 = var_nodearraylist1;
2226 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2227 cltype = type_nullable_parser_nodes__ADoc.color;
2228 idtype = type_nullable_parser_nodes__ADoc.id;
2229 if(var_pdocnode2 == NULL) {
2230 var11 = 1;
2231 } else {
2232 if(cltype >= var_pdocnode2->type->table_size) {
2233 var11 = 0;
2234 } else {
2235 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
2236 }
2237 }
2238 if (!var11) {
2239 fprintf(stderr, "Runtime error: %s", "Assert failed");
2240 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16622);
2241 exit(1);
2242 }
2243 var_tkwredefnode3 = var_nodearraylist2;
2244 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2245 cltype13 = type_nullable_parser_nodes__TKwredef.color;
2246 idtype14 = type_nullable_parser_nodes__TKwredef.id;
2247 if(var_tkwredefnode3 == NULL) {
2248 var12 = 1;
2249 } else {
2250 if(cltype13 >= var_tkwredefnode3->type->table_size) {
2251 var12 = 0;
2252 } else {
2253 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
2254 }
2255 }
2256 if (!var12) {
2257 fprintf(stderr, "Runtime error: %s", "Assert failed");
2258 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16624);
2259 exit(1);
2260 }
2261 var_pvisibilitynode4 = var_nodearraylist3;
2262 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2263 cltype16 = type_nullable_parser_nodes__AVisibility.color;
2264 idtype17 = type_nullable_parser_nodes__AVisibility.id;
2265 if(var_pvisibilitynode4 == NULL) {
2266 var15 = 1;
2267 } else {
2268 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
2269 var15 = 0;
2270 } else {
2271 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
2272 }
2273 }
2274 if (!var15) {
2275 fprintf(stderr, "Runtime error: %s", "Assert failed");
2276 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16626);
2277 exit(1);
2278 }
2279 var_tkwmethnode5 = var_nodearraylist4;
2280 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
2281 cltype19 = type_nullable_parser_nodes__TKwmeth.color;
2282 idtype20 = type_nullable_parser_nodes__TKwmeth.id;
2283 if(var_tkwmethnode5 == NULL) {
2284 var18 = 1;
2285 } else {
2286 if(cltype19 >= var_tkwmethnode5->type->table_size) {
2287 var18 = 0;
2288 } else {
2289 var18 = var_tkwmethnode5->type->type_table[cltype19] == idtype20;
2290 }
2291 }
2292 if (!var18) {
2293 fprintf(stderr, "Runtime error: %s", "Assert failed");
2294 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16628);
2295 exit(1);
2296 }
2297 var_pmethidnode6 = var_nodearraylist5;
2298 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
2299 cltype22 = type_nullable_parser_nodes__AMethid.color;
2300 idtype23 = type_nullable_parser_nodes__AMethid.id;
2301 if(var_pmethidnode6 == NULL) {
2302 var21 = 1;
2303 } else {
2304 if(cltype22 >= var_pmethidnode6->type->table_size) {
2305 var21 = 0;
2306 } else {
2307 var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
2308 }
2309 }
2310 if (!var21) {
2311 fprintf(stderr, "Runtime error: %s", "Assert failed");
2312 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16630);
2313 exit(1);
2314 }
2315 var_psignaturenode7 = var_nodearraylist6;
2316 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2317 cltype25 = type_nullable_parser_nodes__ASignature.color;
2318 idtype26 = type_nullable_parser_nodes__ASignature.id;
2319 if(var_psignaturenode7 == NULL) {
2320 var24 = 1;
2321 } else {
2322 if(cltype25 >= var_psignaturenode7->type->table_size) {
2323 var24 = 0;
2324 } else {
2325 var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
2326 }
2327 }
2328 if (!var24) {
2329 fprintf(stderr, "Runtime error: %s", "Assert failed");
2330 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16632);
2331 exit(1);
2332 }
2333 var_tstringnode8 = var_nodearraylist9;
2334 /* <var_tstringnode8:nullable Object> isa nullable TString */
2335 cltype28 = type_nullable_parser_nodes__TString.color;
2336 idtype29 = type_nullable_parser_nodes__TString.id;
2337 if(var_tstringnode8 == NULL) {
2338 var27 = 1;
2339 } else {
2340 if(cltype28 >= var_tstringnode8->type->table_size) {
2341 var27 = 0;
2342 } else {
2343 var27 = var_tstringnode8->type->type_table[cltype28] == idtype29;
2344 }
2345 }
2346 if (!var27) {
2347 fprintf(stderr, "Runtime error: %s", "Assert failed");
2348 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16634);
2349 exit(1);
2350 }
2351 var_pexterncodeblocknode10 = var_nodearraylist10;
2352 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
2353 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
2354 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
2355 if(var_pexterncodeblocknode10 == NULL) {
2356 var30 = 1;
2357 } else {
2358 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
2359 var30 = 0;
2360 } else {
2361 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
2362 }
2363 }
2364 if (!var30) {
2365 fprintf(stderr, "Runtime error: %s", "Assert failed");
2366 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16636);
2367 exit(1);
2368 }
2369 var33 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
2370 var34 = NULL;
2371 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var34, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var33:AExternMethPropdef>*/;
2372 CHECK_NEW_parser_nodes__AExternMethPropdef(var33);
2373 var_ppropdefnode1 = var33;
2374 var_node_list = var_ppropdefnode1;
2375 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction372> */
2376 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
2377 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
2378 RET_LABEL:;
2379 }
2380 /* method parser#ReduceAction372#action for (self: Object, Parser) */
2381 void VIRTUAL_parser__ReduceAction372__action(val* self, val* p0) {
2382 parser__ReduceAction372__action(self, p0);
2383 RET_LABEL:;
2384 }
2385 /* method parser#ReduceAction373#action for (self: ReduceAction373, Parser) */
2386 void parser__ReduceAction373__action(val* self, val* p0) {
2387 val* var_p /* var p: Parser */;
2388 val* var /* : null */;
2389 val* var_node_list /* var node_list: nullable Object */;
2390 val* var1 /* : nullable Object */;
2391 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2392 val* var2 /* : nullable Object */;
2393 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2394 val* var3 /* : nullable Object */;
2395 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2396 val* var4 /* : nullable Object */;
2397 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2398 val* var5 /* : nullable Object */;
2399 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2400 val* var6 /* : nullable Object */;
2401 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2402 val* var7 /* : nullable Object */;
2403 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2404 val* var8 /* : nullable Object */;
2405 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2406 val* var9 /* : nullable Object */;
2407 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2408 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2409 short int var10 /* : Bool */;
2410 int cltype;
2411 int idtype;
2412 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2413 short int var11 /* : Bool */;
2414 int cltype12;
2415 int idtype13;
2416 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
2417 short int var14 /* : Bool */;
2418 int cltype15;
2419 int idtype16;
2420 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
2421 short int var17 /* : Bool */;
2422 int cltype18;
2423 int idtype19;
2424 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
2425 short int var20 /* : Bool */;
2426 int cltype21;
2427 int idtype22;
2428 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
2429 short int var23 /* : Bool */;
2430 int cltype24;
2431 int idtype25;
2432 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
2433 short int var26 /* : Bool */;
2434 int cltype27;
2435 int idtype28;
2436 val* var29 /* : AExternMethPropdef */;
2437 val* var30 /* : null */;
2438 val* var31 /* : null */;
2439 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
2440 long var32 /* : Int */;
2441 long var33 /* : Int */;
2442 var_p = p0;
2443 var = NULL;
2444 var_node_list = var;
2445 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2446 var_nodearraylist9 = var1;
2447 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2448 var_nodearraylist8 = var2;
2449 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2450 var_nodearraylist7 = var3;
2451 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2452 var_nodearraylist6 = var4;
2453 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2454 var_nodearraylist5 = var5;
2455 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2456 var_nodearraylist4 = var6;
2457 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2458 var_nodearraylist3 = var7;
2459 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2460 var_nodearraylist2 = var8;
2461 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2462 var_nodearraylist1 = var9;
2463 var_pdocnode2 = var_nodearraylist1;
2464 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2465 cltype = type_nullable_parser_nodes__ADoc.color;
2466 idtype = type_nullable_parser_nodes__ADoc.id;
2467 if(var_pdocnode2 == NULL) {
2468 var10 = 1;
2469 } else {
2470 if(cltype >= var_pdocnode2->type->table_size) {
2471 var10 = 0;
2472 } else {
2473 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
2474 }
2475 }
2476 if (!var10) {
2477 fprintf(stderr, "Runtime error: %s", "Assert failed");
2478 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16667);
2479 exit(1);
2480 }
2481 var_pvisibilitynode4 = var_nodearraylist2;
2482 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2483 cltype12 = type_nullable_parser_nodes__AVisibility.color;
2484 idtype13 = type_nullable_parser_nodes__AVisibility.id;
2485 if(var_pvisibilitynode4 == NULL) {
2486 var11 = 1;
2487 } else {
2488 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
2489 var11 = 0;
2490 } else {
2491 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
2492 }
2493 }
2494 if (!var11) {
2495 fprintf(stderr, "Runtime error: %s", "Assert failed");
2496 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16669);
2497 exit(1);
2498 }
2499 var_tkwmethnode5 = var_nodearraylist3;
2500 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
2501 cltype15 = type_nullable_parser_nodes__TKwmeth.color;
2502 idtype16 = type_nullable_parser_nodes__TKwmeth.id;
2503 if(var_tkwmethnode5 == NULL) {
2504 var14 = 1;
2505 } else {
2506 if(cltype15 >= var_tkwmethnode5->type->table_size) {
2507 var14 = 0;
2508 } else {
2509 var14 = var_tkwmethnode5->type->type_table[cltype15] == idtype16;
2510 }
2511 }
2512 if (!var14) {
2513 fprintf(stderr, "Runtime error: %s", "Assert failed");
2514 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16671);
2515 exit(1);
2516 }
2517 var_pmethidnode6 = var_nodearraylist4;
2518 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
2519 cltype18 = type_nullable_parser_nodes__AMethid.color;
2520 idtype19 = type_nullable_parser_nodes__AMethid.id;
2521 if(var_pmethidnode6 == NULL) {
2522 var17 = 1;
2523 } else {
2524 if(cltype18 >= var_pmethidnode6->type->table_size) {
2525 var17 = 0;
2526 } else {
2527 var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
2528 }
2529 }
2530 if (!var17) {
2531 fprintf(stderr, "Runtime error: %s", "Assert failed");
2532 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16673);
2533 exit(1);
2534 }
2535 var_psignaturenode7 = var_nodearraylist5;
2536 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2537 cltype21 = type_nullable_parser_nodes__ASignature.color;
2538 idtype22 = type_nullable_parser_nodes__ASignature.id;
2539 if(var_psignaturenode7 == NULL) {
2540 var20 = 1;
2541 } else {
2542 if(cltype21 >= var_psignaturenode7->type->table_size) {
2543 var20 = 0;
2544 } else {
2545 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
2546 }
2547 }
2548 if (!var20) {
2549 fprintf(stderr, "Runtime error: %s", "Assert failed");
2550 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16675);
2551 exit(1);
2552 }
2553 var_pexterncallsnode9 = var_nodearraylist8;
2554 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
2555 cltype24 = type_nullable_parser_nodes__AExternCalls.color;
2556 idtype25 = type_nullable_parser_nodes__AExternCalls.id;
2557 if(var_pexterncallsnode9 == NULL) {
2558 var23 = 1;
2559 } else {
2560 if(cltype24 >= var_pexterncallsnode9->type->table_size) {
2561 var23 = 0;
2562 } else {
2563 var23 = var_pexterncallsnode9->type->type_table[cltype24] == idtype25;
2564 }
2565 }
2566 if (!var23) {
2567 fprintf(stderr, "Runtime error: %s", "Assert failed");
2568 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16677);
2569 exit(1);
2570 }
2571 var_pexterncodeblocknode10 = var_nodearraylist9;
2572 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
2573 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
2574 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
2575 if(var_pexterncodeblocknode10 == NULL) {
2576 var26 = 1;
2577 } else {
2578 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
2579 var26 = 0;
2580 } else {
2581 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
2582 }
2583 }
2584 if (!var26) {
2585 fprintf(stderr, "Runtime error: %s", "Assert failed");
2586 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16679);
2587 exit(1);
2588 }
2589 var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
2590 var30 = NULL;
2591 var31 = NULL;
2592 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var31, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var29:AExternMethPropdef>*/;
2593 CHECK_NEW_parser_nodes__AExternMethPropdef(var29);
2594 var_ppropdefnode1 = var29;
2595 var_node_list = var_ppropdefnode1;
2596 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction373> */
2597 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
2598 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
2599 RET_LABEL:;
2600 }
2601 /* method parser#ReduceAction373#action for (self: Object, Parser) */
2602 void VIRTUAL_parser__ReduceAction373__action(val* self, val* p0) {
2603 parser__ReduceAction373__action(self, p0);
2604 RET_LABEL:;
2605 }
2606 /* method parser#ReduceAction374#action for (self: ReduceAction374, Parser) */
2607 void parser__ReduceAction374__action(val* self, val* p0) {
2608 val* var_p /* var p: Parser */;
2609 val* var /* : null */;
2610 val* var_node_list /* var node_list: nullable Object */;
2611 val* var1 /* : nullable Object */;
2612 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2613 val* var2 /* : nullable Object */;
2614 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2615 val* var3 /* : nullable Object */;
2616 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2617 val* var4 /* : nullable Object */;
2618 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2619 val* var5 /* : nullable Object */;
2620 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2621 val* var6 /* : nullable Object */;
2622 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2623 val* var7 /* : nullable Object */;
2624 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2625 val* var8 /* : nullable Object */;
2626 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2627 val* var9 /* : nullable Object */;
2628 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2629 val* var10 /* : nullable Object */;
2630 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2631 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2632 short int var11 /* : Bool */;
2633 int cltype;
2634 int idtype;
2635 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2636 short int var12 /* : Bool */;
2637 int cltype13;
2638 int idtype14;
2639 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2640 short int var15 /* : Bool */;
2641 int cltype16;
2642 int idtype17;
2643 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
2644 short int var18 /* : Bool */;
2645 int cltype19;
2646 int idtype20;
2647 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
2648 short int var21 /* : Bool */;
2649 int cltype22;
2650 int idtype23;
2651 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
2652 short int var24 /* : Bool */;
2653 int cltype25;
2654 int idtype26;
2655 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
2656 short int var27 /* : Bool */;
2657 int cltype28;
2658 int idtype29;
2659 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
2660 short int var30 /* : Bool */;
2661 int cltype31;
2662 int idtype32;
2663 val* var33 /* : AExternMethPropdef */;
2664 val* var34 /* : null */;
2665 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
2666 long var35 /* : Int */;
2667 long var36 /* : Int */;
2668 var_p = p0;
2669 var = NULL;
2670 var_node_list = var;
2671 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2672 var_nodearraylist10 = var1;
2673 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2674 var_nodearraylist9 = var2;
2675 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2676 var_nodearraylist8 = var3;
2677 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2678 var_nodearraylist7 = var4;
2679 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2680 var_nodearraylist6 = var5;
2681 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2682 var_nodearraylist5 = var6;
2683 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2684 var_nodearraylist4 = var7;
2685 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2686 var_nodearraylist3 = var8;
2687 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2688 var_nodearraylist2 = var9;
2689 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2690 var_nodearraylist1 = var10;
2691 var_pdocnode2 = var_nodearraylist1;
2692 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2693 cltype = type_nullable_parser_nodes__ADoc.color;
2694 idtype = type_nullable_parser_nodes__ADoc.id;
2695 if(var_pdocnode2 == NULL) {
2696 var11 = 1;
2697 } else {
2698 if(cltype >= var_pdocnode2->type->table_size) {
2699 var11 = 0;
2700 } else {
2701 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
2702 }
2703 }
2704 if (!var11) {
2705 fprintf(stderr, "Runtime error: %s", "Assert failed");
2706 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16711);
2707 exit(1);
2708 }
2709 var_tkwredefnode3 = var_nodearraylist2;
2710 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2711 cltype13 = type_nullable_parser_nodes__TKwredef.color;
2712 idtype14 = type_nullable_parser_nodes__TKwredef.id;
2713 if(var_tkwredefnode3 == NULL) {
2714 var12 = 1;
2715 } else {
2716 if(cltype13 >= var_tkwredefnode3->type->table_size) {
2717 var12 = 0;
2718 } else {
2719 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
2720 }
2721 }
2722 if (!var12) {
2723 fprintf(stderr, "Runtime error: %s", "Assert failed");
2724 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16713);
2725 exit(1);
2726 }
2727 var_pvisibilitynode4 = var_nodearraylist3;
2728 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2729 cltype16 = type_nullable_parser_nodes__AVisibility.color;
2730 idtype17 = type_nullable_parser_nodes__AVisibility.id;
2731 if(var_pvisibilitynode4 == NULL) {
2732 var15 = 1;
2733 } else {
2734 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
2735 var15 = 0;
2736 } else {
2737 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
2738 }
2739 }
2740 if (!var15) {
2741 fprintf(stderr, "Runtime error: %s", "Assert failed");
2742 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16715);
2743 exit(1);
2744 }
2745 var_tkwmethnode5 = var_nodearraylist4;
2746 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
2747 cltype19 = type_nullable_parser_nodes__TKwmeth.color;
2748 idtype20 = type_nullable_parser_nodes__TKwmeth.id;
2749 if(var_tkwmethnode5 == NULL) {
2750 var18 = 1;
2751 } else {
2752 if(cltype19 >= var_tkwmethnode5->type->table_size) {
2753 var18 = 0;
2754 } else {
2755 var18 = var_tkwmethnode5->type->type_table[cltype19] == idtype20;
2756 }
2757 }
2758 if (!var18) {
2759 fprintf(stderr, "Runtime error: %s", "Assert failed");
2760 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16717);
2761 exit(1);
2762 }
2763 var_pmethidnode6 = var_nodearraylist5;
2764 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
2765 cltype22 = type_nullable_parser_nodes__AMethid.color;
2766 idtype23 = type_nullable_parser_nodes__AMethid.id;
2767 if(var_pmethidnode6 == NULL) {
2768 var21 = 1;
2769 } else {
2770 if(cltype22 >= var_pmethidnode6->type->table_size) {
2771 var21 = 0;
2772 } else {
2773 var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
2774 }
2775 }
2776 if (!var21) {
2777 fprintf(stderr, "Runtime error: %s", "Assert failed");
2778 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16719);
2779 exit(1);
2780 }
2781 var_psignaturenode7 = var_nodearraylist6;
2782 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2783 cltype25 = type_nullable_parser_nodes__ASignature.color;
2784 idtype26 = type_nullable_parser_nodes__ASignature.id;
2785 if(var_psignaturenode7 == NULL) {
2786 var24 = 1;
2787 } else {
2788 if(cltype25 >= var_psignaturenode7->type->table_size) {
2789 var24 = 0;
2790 } else {
2791 var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
2792 }
2793 }
2794 if (!var24) {
2795 fprintf(stderr, "Runtime error: %s", "Assert failed");
2796 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16721);
2797 exit(1);
2798 }
2799 var_pexterncallsnode9 = var_nodearraylist9;
2800 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
2801 cltype28 = type_nullable_parser_nodes__AExternCalls.color;
2802 idtype29 = type_nullable_parser_nodes__AExternCalls.id;
2803 if(var_pexterncallsnode9 == NULL) {
2804 var27 = 1;
2805 } else {
2806 if(cltype28 >= var_pexterncallsnode9->type->table_size) {
2807 var27 = 0;
2808 } else {
2809 var27 = var_pexterncallsnode9->type->type_table[cltype28] == idtype29;
2810 }
2811 }
2812 if (!var27) {
2813 fprintf(stderr, "Runtime error: %s", "Assert failed");
2814 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16723);
2815 exit(1);
2816 }
2817 var_pexterncodeblocknode10 = var_nodearraylist10;
2818 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
2819 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
2820 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
2821 if(var_pexterncodeblocknode10 == NULL) {
2822 var30 = 1;
2823 } else {
2824 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
2825 var30 = 0;
2826 } else {
2827 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
2828 }
2829 }
2830 if (!var30) {
2831 fprintf(stderr, "Runtime error: %s", "Assert failed");
2832 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16725);
2833 exit(1);
2834 }
2835 var33 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
2836 var34 = NULL;
2837 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var34, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var33:AExternMethPropdef>*/;
2838 CHECK_NEW_parser_nodes__AExternMethPropdef(var33);
2839 var_ppropdefnode1 = var33;
2840 var_node_list = var_ppropdefnode1;
2841 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction374> */
2842 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
2843 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
2844 RET_LABEL:;
2845 }
2846 /* method parser#ReduceAction374#action for (self: Object, Parser) */
2847 void VIRTUAL_parser__ReduceAction374__action(val* self, val* p0) {
2848 parser__ReduceAction374__action(self, p0);
2849 RET_LABEL:;
2850 }
2851 /* method parser#ReduceAction375#action for (self: ReduceAction375, Parser) */
2852 void parser__ReduceAction375__action(val* self, val* p0) {
2853 val* var_p /* var p: Parser */;
2854 val* var /* : null */;
2855 val* var_node_list /* var node_list: nullable Object */;
2856 val* var1 /* : nullable Object */;
2857 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2858 val* var2 /* : nullable Object */;
2859 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2860 val* var3 /* : nullable Object */;
2861 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2862 val* var4 /* : nullable Object */;
2863 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2864 val* var5 /* : nullable Object */;
2865 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2866 val* var6 /* : nullable Object */;
2867 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2868 val* var7 /* : nullable Object */;
2869 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2870 val* var8 /* : nullable Object */;
2871 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2872 val* var9 /* : nullable Object */;
2873 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2874 val* var10 /* : nullable Object */;
2875 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2876 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2877 short int var11 /* : Bool */;
2878 int cltype;
2879 int idtype;
2880 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2881 short int var12 /* : Bool */;
2882 int cltype13;
2883 int idtype14;
2884 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
2885 short int var15 /* : Bool */;
2886 int cltype16;
2887 int idtype17;
2888 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
2889 short int var18 /* : Bool */;
2890 int cltype19;
2891 int idtype20;
2892 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
2893 short int var21 /* : Bool */;
2894 int cltype22;
2895 int idtype23;
2896 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
2897 short int var24 /* : Bool */;
2898 int cltype25;
2899 int idtype26;
2900 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
2901 short int var27 /* : Bool */;
2902 int cltype28;
2903 int idtype29;
2904 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
2905 short int var30 /* : Bool */;
2906 int cltype31;
2907 int idtype32;
2908 val* var33 /* : AExternMethPropdef */;
2909 val* var34 /* : null */;
2910 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
2911 long var35 /* : Int */;
2912 long var36 /* : Int */;
2913 var_p = p0;
2914 var = NULL;
2915 var_node_list = var;
2916 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2917 var_nodearraylist10 = var1;
2918 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2919 var_nodearraylist9 = var2;
2920 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2921 var_nodearraylist8 = var3;
2922 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2923 var_nodearraylist7 = var4;
2924 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2925 var_nodearraylist6 = var5;
2926 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2927 var_nodearraylist5 = var6;
2928 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2929 var_nodearraylist4 = var7;
2930 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2931 var_nodearraylist3 = var8;
2932 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2933 var_nodearraylist2 = var9;
2934 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2935 var_nodearraylist1 = var10;
2936 var_pdocnode2 = var_nodearraylist1;
2937 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2938 cltype = type_nullable_parser_nodes__ADoc.color;
2939 idtype = type_nullable_parser_nodes__ADoc.id;
2940 if(var_pdocnode2 == NULL) {
2941 var11 = 1;
2942 } else {
2943 if(cltype >= var_pdocnode2->type->table_size) {
2944 var11 = 0;
2945 } else {
2946 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
2947 }
2948 }
2949 if (!var11) {
2950 fprintf(stderr, "Runtime error: %s", "Assert failed");
2951 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16757);
2952 exit(1);
2953 }
2954 var_pvisibilitynode4 = var_nodearraylist2;
2955 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2956 cltype13 = type_nullable_parser_nodes__AVisibility.color;
2957 idtype14 = type_nullable_parser_nodes__AVisibility.id;
2958 if(var_pvisibilitynode4 == NULL) {
2959 var12 = 1;
2960 } else {
2961 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
2962 var12 = 0;
2963 } else {
2964 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
2965 }
2966 }
2967 if (!var12) {
2968 fprintf(stderr, "Runtime error: %s", "Assert failed");
2969 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16759);
2970 exit(1);
2971 }
2972 var_tkwmethnode5 = var_nodearraylist3;
2973 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
2974 cltype16 = type_nullable_parser_nodes__TKwmeth.color;
2975 idtype17 = type_nullable_parser_nodes__TKwmeth.id;
2976 if(var_tkwmethnode5 == NULL) {
2977 var15 = 1;
2978 } else {
2979 if(cltype16 >= var_tkwmethnode5->type->table_size) {
2980 var15 = 0;
2981 } else {
2982 var15 = var_tkwmethnode5->type->type_table[cltype16] == idtype17;
2983 }
2984 }
2985 if (!var15) {
2986 fprintf(stderr, "Runtime error: %s", "Assert failed");
2987 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16761);
2988 exit(1);
2989 }
2990 var_pmethidnode6 = var_nodearraylist4;
2991 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
2992 cltype19 = type_nullable_parser_nodes__AMethid.color;
2993 idtype20 = type_nullable_parser_nodes__AMethid.id;
2994 if(var_pmethidnode6 == NULL) {
2995 var18 = 1;
2996 } else {
2997 if(cltype19 >= var_pmethidnode6->type->table_size) {
2998 var18 = 0;
2999 } else {
3000 var18 = var_pmethidnode6->type->type_table[cltype19] == idtype20;
3001 }
3002 }
3003 if (!var18) {
3004 fprintf(stderr, "Runtime error: %s", "Assert failed");
3005 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16763);
3006 exit(1);
3007 }
3008 var_psignaturenode7 = var_nodearraylist5;
3009 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
3010 cltype22 = type_nullable_parser_nodes__ASignature.color;
3011 idtype23 = type_nullable_parser_nodes__ASignature.id;
3012 if(var_psignaturenode7 == NULL) {
3013 var21 = 1;
3014 } else {
3015 if(cltype22 >= var_psignaturenode7->type->table_size) {
3016 var21 = 0;
3017 } else {
3018 var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23;
3019 }
3020 }
3021 if (!var21) {
3022 fprintf(stderr, "Runtime error: %s", "Assert failed");
3023 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16765);
3024 exit(1);
3025 }
3026 var_tstringnode8 = var_nodearraylist8;
3027 /* <var_tstringnode8:nullable Object> isa nullable TString */
3028 cltype25 = type_nullable_parser_nodes__TString.color;
3029 idtype26 = type_nullable_parser_nodes__TString.id;
3030 if(var_tstringnode8 == NULL) {
3031 var24 = 1;
3032 } else {
3033 if(cltype25 >= var_tstringnode8->type->table_size) {
3034 var24 = 0;
3035 } else {
3036 var24 = var_tstringnode8->type->type_table[cltype25] == idtype26;
3037 }
3038 }
3039 if (!var24) {
3040 fprintf(stderr, "Runtime error: %s", "Assert failed");
3041 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16767);
3042 exit(1);
3043 }
3044 var_pexterncallsnode9 = var_nodearraylist9;
3045 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
3046 cltype28 = type_nullable_parser_nodes__AExternCalls.color;
3047 idtype29 = type_nullable_parser_nodes__AExternCalls.id;
3048 if(var_pexterncallsnode9 == NULL) {
3049 var27 = 1;
3050 } else {
3051 if(cltype28 >= var_pexterncallsnode9->type->table_size) {
3052 var27 = 0;
3053 } else {
3054 var27 = var_pexterncallsnode9->type->type_table[cltype28] == idtype29;
3055 }
3056 }
3057 if (!var27) {
3058 fprintf(stderr, "Runtime error: %s", "Assert failed");
3059 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16769);
3060 exit(1);
3061 }
3062 var_pexterncodeblocknode10 = var_nodearraylist10;
3063 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
3064 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
3065 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
3066 if(var_pexterncodeblocknode10 == NULL) {
3067 var30 = 1;
3068 } else {
3069 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
3070 var30 = 0;
3071 } else {
3072 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
3073 }
3074 }
3075 if (!var30) {
3076 fprintf(stderr, "Runtime error: %s", "Assert failed");
3077 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16771);
3078 exit(1);
3079 }
3080 var33 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
3081 var34 = NULL;
3082 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var33, var_pdocnode2, var34, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var33:AExternMethPropdef>*/;
3083 CHECK_NEW_parser_nodes__AExternMethPropdef(var33);
3084 var_ppropdefnode1 = var33;
3085 var_node_list = var_ppropdefnode1;
3086 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction375> */
3087 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
3088 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
3089 RET_LABEL:;
3090 }
3091 /* method parser#ReduceAction375#action for (self: Object, Parser) */
3092 void VIRTUAL_parser__ReduceAction375__action(val* self, val* p0) {
3093 parser__ReduceAction375__action(self, p0);
3094 RET_LABEL:;
3095 }
3096 /* method parser#ReduceAction376#action for (self: ReduceAction376, Parser) */
3097 void parser__ReduceAction376__action(val* self, val* p0) {
3098 val* var_p /* var p: Parser */;
3099 val* var /* : null */;
3100 val* var_node_list /* var node_list: nullable Object */;
3101 val* var1 /* : nullable Object */;
3102 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3103 val* var2 /* : nullable Object */;
3104 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3105 val* var3 /* : nullable Object */;
3106 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3107 val* var4 /* : nullable Object */;
3108 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3109 val* var5 /* : nullable Object */;
3110 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3111 val* var6 /* : nullable Object */;
3112 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3113 val* var7 /* : nullable Object */;
3114 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3115 val* var8 /* : nullable Object */;
3116 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3117 val* var9 /* : nullable Object */;
3118 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3119 val* var10 /* : nullable Object */;
3120 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3121 val* var11 /* : nullable Object */;
3122 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3123 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3124 short int var12 /* : Bool */;
3125 int cltype;
3126 int idtype;
3127 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3128 short int var13 /* : Bool */;
3129 int cltype14;
3130 int idtype15;
3131 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3132 short int var16 /* : Bool */;
3133 int cltype17;
3134 int idtype18;
3135 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
3136 short int var19 /* : Bool */;
3137 int cltype20;
3138 int idtype21;
3139 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
3140 short int var22 /* : Bool */;
3141 int cltype23;
3142 int idtype24;
3143 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
3144 short int var25 /* : Bool */;
3145 int cltype26;
3146 int idtype27;
3147 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
3148 short int var28 /* : Bool */;
3149 int cltype29;
3150 int idtype30;
3151 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
3152 short int var31 /* : Bool */;
3153 int cltype32;
3154 int idtype33;
3155 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
3156 short int var34 /* : Bool */;
3157 int cltype35;
3158 int idtype36;
3159 val* var37 /* : AExternMethPropdef */;
3160 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
3161 long var38 /* : Int */;
3162 long var39 /* : Int */;
3163 var_p = p0;
3164 var = NULL;
3165 var_node_list = var;
3166 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3167 var_nodearraylist11 = var1;
3168 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3169 var_nodearraylist10 = var2;
3170 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3171 var_nodearraylist9 = var3;
3172 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3173 var_nodearraylist8 = var4;
3174 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3175 var_nodearraylist7 = var5;
3176 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3177 var_nodearraylist6 = var6;
3178 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3179 var_nodearraylist5 = var7;
3180 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3181 var_nodearraylist4 = var8;
3182 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3183 var_nodearraylist3 = var9;
3184 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3185 var_nodearraylist2 = var10;
3186 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3187 var_nodearraylist1 = var11;
3188 var_pdocnode2 = var_nodearraylist1;
3189 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3190 cltype = type_nullable_parser_nodes__ADoc.color;
3191 idtype = type_nullable_parser_nodes__ADoc.id;
3192 if(var_pdocnode2 == NULL) {
3193 var12 = 1;
3194 } else {
3195 if(cltype >= var_pdocnode2->type->table_size) {
3196 var12 = 0;
3197 } else {
3198 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
3199 }
3200 }
3201 if (!var12) {
3202 fprintf(stderr, "Runtime error: %s", "Assert failed");
3203 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16804);
3204 exit(1);
3205 }
3206 var_tkwredefnode3 = var_nodearraylist2;
3207 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3208 cltype14 = type_nullable_parser_nodes__TKwredef.color;
3209 idtype15 = type_nullable_parser_nodes__TKwredef.id;
3210 if(var_tkwredefnode3 == NULL) {
3211 var13 = 1;
3212 } else {
3213 if(cltype14 >= var_tkwredefnode3->type->table_size) {
3214 var13 = 0;
3215 } else {
3216 var13 = var_tkwredefnode3->type->type_table[cltype14] == idtype15;
3217 }
3218 }
3219 if (!var13) {
3220 fprintf(stderr, "Runtime error: %s", "Assert failed");
3221 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16806);
3222 exit(1);
3223 }
3224 var_pvisibilitynode4 = var_nodearraylist3;
3225 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3226 cltype17 = type_nullable_parser_nodes__AVisibility.color;
3227 idtype18 = type_nullable_parser_nodes__AVisibility.id;
3228 if(var_pvisibilitynode4 == NULL) {
3229 var16 = 1;
3230 } else {
3231 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
3232 var16 = 0;
3233 } else {
3234 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
3235 }
3236 }
3237 if (!var16) {
3238 fprintf(stderr, "Runtime error: %s", "Assert failed");
3239 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16808);
3240 exit(1);
3241 }
3242 var_tkwmethnode5 = var_nodearraylist4;
3243 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
3244 cltype20 = type_nullable_parser_nodes__TKwmeth.color;
3245 idtype21 = type_nullable_parser_nodes__TKwmeth.id;
3246 if(var_tkwmethnode5 == NULL) {
3247 var19 = 1;
3248 } else {
3249 if(cltype20 >= var_tkwmethnode5->type->table_size) {
3250 var19 = 0;
3251 } else {
3252 var19 = var_tkwmethnode5->type->type_table[cltype20] == idtype21;
3253 }
3254 }
3255 if (!var19) {
3256 fprintf(stderr, "Runtime error: %s", "Assert failed");
3257 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16810);
3258 exit(1);
3259 }
3260 var_pmethidnode6 = var_nodearraylist5;
3261 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
3262 cltype23 = type_nullable_parser_nodes__AMethid.color;
3263 idtype24 = type_nullable_parser_nodes__AMethid.id;
3264 if(var_pmethidnode6 == NULL) {
3265 var22 = 1;
3266 } else {
3267 if(cltype23 >= var_pmethidnode6->type->table_size) {
3268 var22 = 0;
3269 } else {
3270 var22 = var_pmethidnode6->type->type_table[cltype23] == idtype24;
3271 }
3272 }
3273 if (!var22) {
3274 fprintf(stderr, "Runtime error: %s", "Assert failed");
3275 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16812);
3276 exit(1);
3277 }
3278 var_psignaturenode7 = var_nodearraylist6;
3279 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
3280 cltype26 = type_nullable_parser_nodes__ASignature.color;
3281 idtype27 = type_nullable_parser_nodes__ASignature.id;
3282 if(var_psignaturenode7 == NULL) {
3283 var25 = 1;
3284 } else {
3285 if(cltype26 >= var_psignaturenode7->type->table_size) {
3286 var25 = 0;
3287 } else {
3288 var25 = var_psignaturenode7->type->type_table[cltype26] == idtype27;
3289 }
3290 }
3291 if (!var25) {
3292 fprintf(stderr, "Runtime error: %s", "Assert failed");
3293 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16814);
3294 exit(1);
3295 }
3296 var_tstringnode8 = var_nodearraylist9;
3297 /* <var_tstringnode8:nullable Object> isa nullable TString */
3298 cltype29 = type_nullable_parser_nodes__TString.color;
3299 idtype30 = type_nullable_parser_nodes__TString.id;
3300 if(var_tstringnode8 == NULL) {
3301 var28 = 1;
3302 } else {
3303 if(cltype29 >= var_tstringnode8->type->table_size) {
3304 var28 = 0;
3305 } else {
3306 var28 = var_tstringnode8->type->type_table[cltype29] == idtype30;
3307 }
3308 }
3309 if (!var28) {
3310 fprintf(stderr, "Runtime error: %s", "Assert failed");
3311 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16816);
3312 exit(1);
3313 }
3314 var_pexterncallsnode9 = var_nodearraylist10;
3315 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
3316 cltype32 = type_nullable_parser_nodes__AExternCalls.color;
3317 idtype33 = type_nullable_parser_nodes__AExternCalls.id;
3318 if(var_pexterncallsnode9 == NULL) {
3319 var31 = 1;
3320 } else {
3321 if(cltype32 >= var_pexterncallsnode9->type->table_size) {
3322 var31 = 0;
3323 } else {
3324 var31 = var_pexterncallsnode9->type->type_table[cltype32] == idtype33;
3325 }
3326 }
3327 if (!var31) {
3328 fprintf(stderr, "Runtime error: %s", "Assert failed");
3329 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16818);
3330 exit(1);
3331 }
3332 var_pexterncodeblocknode10 = var_nodearraylist11;
3333 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
3334 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
3335 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
3336 if(var_pexterncodeblocknode10 == NULL) {
3337 var34 = 1;
3338 } else {
3339 if(cltype35 >= var_pexterncodeblocknode10->type->table_size) {
3340 var34 = 0;
3341 } else {
3342 var34 = var_pexterncodeblocknode10->type->type_table[cltype35] == idtype36;
3343 }
3344 }
3345 if (!var34) {
3346 fprintf(stderr, "Runtime error: %s", "Assert failed");
3347 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16820);
3348 exit(1);
3349 }
3350 var37 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
3351 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var37, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var37:AExternMethPropdef>*/;
3352 CHECK_NEW_parser_nodes__AExternMethPropdef(var37);
3353 var_ppropdefnode1 = var37;
3354 var_node_list = var_ppropdefnode1;
3355 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction376> */
3356 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
3357 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
3358 RET_LABEL:;
3359 }
3360 /* method parser#ReduceAction376#action for (self: Object, Parser) */
3361 void VIRTUAL_parser__ReduceAction376__action(val* self, val* p0) {
3362 parser__ReduceAction376__action(self, p0);
3363 RET_LABEL:;
3364 }
3365 /* method parser#ReduceAction377#action for (self: ReduceAction377, Parser) */
3366 void parser__ReduceAction377__action(val* self, val* p0) {
3367 val* var_p /* var p: Parser */;
3368 val* var /* : null */;
3369 val* var_node_list /* var node_list: nullable Object */;
3370 val* var1 /* : nullable Object */;
3371 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3372 val* var2 /* : nullable Object */;
3373 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3374 val* var3 /* : nullable Object */;
3375 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3376 val* var4 /* : nullable Object */;
3377 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3378 val* var5 /* : nullable Object */;
3379 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3380 val* var6 /* : nullable Object */;
3381 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3382 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3383 short int var7 /* : Bool */;
3384 int cltype;
3385 int idtype;
3386 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3387 short int var8 /* : Bool */;
3388 int cltype9;
3389 int idtype10;
3390 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
3391 short int var11 /* : Bool */;
3392 int cltype12;
3393 int idtype13;
3394 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
3395 short int var14 /* : Bool */;
3396 int cltype15;
3397 int idtype16;
3398 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
3399 short int var17 /* : Bool */;
3400 int cltype18;
3401 int idtype19;
3402 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
3403 short int var20 /* : Bool */;
3404 int cltype21;
3405 int idtype22;
3406 val* var23 /* : AExternMethPropdef */;
3407 val* var24 /* : null */;
3408 val* var25 /* : null */;
3409 val* var26 /* : null */;
3410 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
3411 long var27 /* : Int */;
3412 long var28 /* : Int */;
3413 var_p = p0;
3414 var = NULL;
3415 var_node_list = var;
3416 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3417 var_nodearraylist6 = var1;
3418 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3419 var_nodearraylist5 = var2;
3420 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3421 var_nodearraylist4 = var3;
3422 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3423 var_nodearraylist3 = var4;
3424 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3425 var_nodearraylist2 = var5;
3426 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3427 var_nodearraylist1 = var6;
3428 var_pdocnode2 = var_nodearraylist1;
3429 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3430 cltype = type_nullable_parser_nodes__ADoc.color;
3431 idtype = type_nullable_parser_nodes__ADoc.id;
3432 if(var_pdocnode2 == NULL) {
3433 var7 = 1;
3434 } else {
3435 if(cltype >= var_pdocnode2->type->table_size) {
3436 var7 = 0;
3437 } else {
3438 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
3439 }
3440 }
3441 if (!var7) {
3442 fprintf(stderr, "Runtime error: %s", "Assert failed");
3443 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16848);
3444 exit(1);
3445 }
3446 var_pvisibilitynode4 = var_nodearraylist2;
3447 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3448 cltype9 = type_nullable_parser_nodes__AVisibility.color;
3449 idtype10 = type_nullable_parser_nodes__AVisibility.id;
3450 if(var_pvisibilitynode4 == NULL) {
3451 var8 = 1;
3452 } else {
3453 if(cltype9 >= var_pvisibilitynode4->type->table_size) {
3454 var8 = 0;
3455 } else {
3456 var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
3457 }
3458 }
3459 if (!var8) {
3460 fprintf(stderr, "Runtime error: %s", "Assert failed");
3461 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16850);
3462 exit(1);
3463 }
3464 var_tkwmethnode5 = var_nodearraylist3;
3465 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
3466 cltype12 = type_nullable_parser_nodes__TKwmeth.color;
3467 idtype13 = type_nullable_parser_nodes__TKwmeth.id;
3468 if(var_tkwmethnode5 == NULL) {
3469 var11 = 1;
3470 } else {
3471 if(cltype12 >= var_tkwmethnode5->type->table_size) {
3472 var11 = 0;
3473 } else {
3474 var11 = var_tkwmethnode5->type->type_table[cltype12] == idtype13;
3475 }
3476 }
3477 if (!var11) {
3478 fprintf(stderr, "Runtime error: %s", "Assert failed");
3479 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16852);
3480 exit(1);
3481 }
3482 var_pmethidnode6 = var_nodearraylist4;
3483 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
3484 cltype15 = type_nullable_parser_nodes__AMethid.color;
3485 idtype16 = type_nullable_parser_nodes__AMethid.id;
3486 if(var_pmethidnode6 == NULL) {
3487 var14 = 1;
3488 } else {
3489 if(cltype15 >= var_pmethidnode6->type->table_size) {
3490 var14 = 0;
3491 } else {
3492 var14 = var_pmethidnode6->type->type_table[cltype15] == idtype16;
3493 }
3494 }
3495 if (!var14) {
3496 fprintf(stderr, "Runtime error: %s", "Assert failed");
3497 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16854);
3498 exit(1);
3499 }
3500 var_psignaturenode7 = var_nodearraylist5;
3501 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
3502 cltype18 = type_nullable_parser_nodes__ASignature.color;
3503 idtype19 = type_nullable_parser_nodes__ASignature.id;
3504 if(var_psignaturenode7 == NULL) {
3505 var17 = 1;
3506 } else {
3507 if(cltype18 >= var_psignaturenode7->type->table_size) {
3508 var17 = 0;
3509 } else {
3510 var17 = var_psignaturenode7->type->type_table[cltype18] == idtype19;
3511 }
3512 }
3513 if (!var17) {
3514 fprintf(stderr, "Runtime error: %s", "Assert failed");
3515 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16856);
3516 exit(1);
3517 }
3518 var_pexterncodeblocknode10 = var_nodearraylist6;
3519 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
3520 cltype21 = type_nullable_parser_nodes__AExternCodeBlock.color;
3521 idtype22 = type_nullable_parser_nodes__AExternCodeBlock.id;
3522 if(var_pexterncodeblocknode10 == NULL) {
3523 var20 = 1;
3524 } else {
3525 if(cltype21 >= var_pexterncodeblocknode10->type->table_size) {
3526 var20 = 0;
3527 } else {
3528 var20 = var_pexterncodeblocknode10->type->type_table[cltype21] == idtype22;
3529 }
3530 }
3531 if (!var20) {
3532 fprintf(stderr, "Runtime error: %s", "Assert failed");
3533 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16858);
3534 exit(1);
3535 }
3536 var23 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
3537 var24 = NULL;
3538 var25 = NULL;
3539 var26 = NULL;
3540 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var23, var_pdocnode2, var24, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var25, var26, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var23:AExternMethPropdef>*/;
3541 CHECK_NEW_parser_nodes__AExternMethPropdef(var23);
3542 var_ppropdefnode1 = var23;
3543 var_node_list = var_ppropdefnode1;
3544 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction377> */
3545 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
3546 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
3547 RET_LABEL:;
3548 }
3549 /* method parser#ReduceAction377#action for (self: Object, Parser) */
3550 void VIRTUAL_parser__ReduceAction377__action(val* self, val* p0) {
3551 parser__ReduceAction377__action(self, p0);
3552 RET_LABEL:;
3553 }
3554 /* method parser#ReduceAction378#action for (self: ReduceAction378, Parser) */
3555 void parser__ReduceAction378__action(val* self, val* p0) {
3556 val* var_p /* var p: Parser */;
3557 val* var /* : null */;
3558 val* var_node_list /* var node_list: nullable Object */;
3559 val* var1 /* : nullable Object */;
3560 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3561 val* var2 /* : nullable Object */;
3562 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3563 val* var3 /* : nullable Object */;
3564 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3565 val* var4 /* : nullable Object */;
3566 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3567 val* var5 /* : nullable Object */;
3568 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3569 val* var6 /* : nullable Object */;
3570 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3571 val* var7 /* : nullable Object */;
3572 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3573 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3574 short int var8 /* : Bool */;
3575 int cltype;
3576 int idtype;
3577 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3578 short int var9 /* : Bool */;
3579 int cltype10;
3580 int idtype11;
3581 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3582 short int var12 /* : Bool */;
3583 int cltype13;
3584 int idtype14;
3585 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
3586 short int var15 /* : Bool */;
3587 int cltype16;
3588 int idtype17;
3589 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
3590 short int var18 /* : Bool */;
3591 int cltype19;
3592 int idtype20;
3593 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
3594 short int var21 /* : Bool */;
3595 int cltype22;
3596 int idtype23;
3597 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
3598 short int var24 /* : Bool */;
3599 int cltype25;
3600 int idtype26;
3601 val* var27 /* : AExternMethPropdef */;
3602 val* var28 /* : null */;
3603 val* var29 /* : null */;
3604 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
3605 long var30 /* : Int */;
3606 long var31 /* : Int */;
3607 var_p = p0;
3608 var = NULL;
3609 var_node_list = var;
3610 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3611 var_nodearraylist7 = var1;
3612 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3613 var_nodearraylist6 = var2;
3614 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3615 var_nodearraylist5 = var3;
3616 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3617 var_nodearraylist4 = var4;
3618 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3619 var_nodearraylist3 = var5;
3620 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3621 var_nodearraylist2 = var6;
3622 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3623 var_nodearraylist1 = var7;
3624 var_pdocnode2 = var_nodearraylist1;
3625 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3626 cltype = type_nullable_parser_nodes__ADoc.color;
3627 idtype = type_nullable_parser_nodes__ADoc.id;
3628 if(var_pdocnode2 == NULL) {
3629 var8 = 1;
3630 } else {
3631 if(cltype >= var_pdocnode2->type->table_size) {
3632 var8 = 0;
3633 } else {
3634 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
3635 }
3636 }
3637 if (!var8) {
3638 fprintf(stderr, "Runtime error: %s", "Assert failed");
3639 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16887);
3640 exit(1);
3641 }
3642 var_tkwredefnode3 = var_nodearraylist2;
3643 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3644 cltype10 = type_nullable_parser_nodes__TKwredef.color;
3645 idtype11 = type_nullable_parser_nodes__TKwredef.id;
3646 if(var_tkwredefnode3 == NULL) {
3647 var9 = 1;
3648 } else {
3649 if(cltype10 >= var_tkwredefnode3->type->table_size) {
3650 var9 = 0;
3651 } else {
3652 var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
3653 }
3654 }
3655 if (!var9) {
3656 fprintf(stderr, "Runtime error: %s", "Assert failed");
3657 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16889);
3658 exit(1);
3659 }
3660 var_pvisibilitynode4 = var_nodearraylist3;
3661 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3662 cltype13 = type_nullable_parser_nodes__AVisibility.color;
3663 idtype14 = type_nullable_parser_nodes__AVisibility.id;
3664 if(var_pvisibilitynode4 == NULL) {
3665 var12 = 1;
3666 } else {
3667 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
3668 var12 = 0;
3669 } else {
3670 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
3671 }
3672 }
3673 if (!var12) {
3674 fprintf(stderr, "Runtime error: %s", "Assert failed");
3675 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16891);
3676 exit(1);
3677 }
3678 var_tkwmethnode5 = var_nodearraylist4;
3679 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
3680 cltype16 = type_nullable_parser_nodes__TKwmeth.color;
3681 idtype17 = type_nullable_parser_nodes__TKwmeth.id;
3682 if(var_tkwmethnode5 == NULL) {
3683 var15 = 1;
3684 } else {
3685 if(cltype16 >= var_tkwmethnode5->type->table_size) {
3686 var15 = 0;
3687 } else {
3688 var15 = var_tkwmethnode5->type->type_table[cltype16] == idtype17;
3689 }
3690 }
3691 if (!var15) {
3692 fprintf(stderr, "Runtime error: %s", "Assert failed");
3693 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16893);
3694 exit(1);
3695 }
3696 var_pmethidnode6 = var_nodearraylist5;
3697 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
3698 cltype19 = type_nullable_parser_nodes__AMethid.color;
3699 idtype20 = type_nullable_parser_nodes__AMethid.id;
3700 if(var_pmethidnode6 == NULL) {
3701 var18 = 1;
3702 } else {
3703 if(cltype19 >= var_pmethidnode6->type->table_size) {
3704 var18 = 0;
3705 } else {
3706 var18 = var_pmethidnode6->type->type_table[cltype19] == idtype20;
3707 }
3708 }
3709 if (!var18) {
3710 fprintf(stderr, "Runtime error: %s", "Assert failed");
3711 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16895);
3712 exit(1);
3713 }
3714 var_psignaturenode7 = var_nodearraylist6;
3715 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
3716 cltype22 = type_nullable_parser_nodes__ASignature.color;
3717 idtype23 = type_nullable_parser_nodes__ASignature.id;
3718 if(var_psignaturenode7 == NULL) {
3719 var21 = 1;
3720 } else {
3721 if(cltype22 >= var_psignaturenode7->type->table_size) {
3722 var21 = 0;
3723 } else {
3724 var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23;
3725 }
3726 }
3727 if (!var21) {
3728 fprintf(stderr, "Runtime error: %s", "Assert failed");
3729 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16897);
3730 exit(1);
3731 }
3732 var_pexterncodeblocknode10 = var_nodearraylist7;
3733 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
3734 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
3735 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
3736 if(var_pexterncodeblocknode10 == NULL) {
3737 var24 = 1;
3738 } else {
3739 if(cltype25 >= var_pexterncodeblocknode10->type->table_size) {
3740 var24 = 0;
3741 } else {
3742 var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
3743 }
3744 }
3745 if (!var24) {
3746 fprintf(stderr, "Runtime error: %s", "Assert failed");
3747 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16899);
3748 exit(1);
3749 }
3750 var27 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
3751 var28 = NULL;
3752 var29 = NULL;
3753 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var28, var29, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var27:AExternMethPropdef>*/;
3754 CHECK_NEW_parser_nodes__AExternMethPropdef(var27);
3755 var_ppropdefnode1 = var27;
3756 var_node_list = var_ppropdefnode1;
3757 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction378> */
3758 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
3759 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
3760 RET_LABEL:;
3761 }
3762 /* method parser#ReduceAction378#action for (self: Object, Parser) */
3763 void VIRTUAL_parser__ReduceAction378__action(val* self, val* p0) {
3764 parser__ReduceAction378__action(self, p0);
3765 RET_LABEL:;
3766 }
3767 /* method parser#ReduceAction379#action for (self: ReduceAction379, Parser) */
3768 void parser__ReduceAction379__action(val* self, val* p0) {
3769 val* var_p /* var p: Parser */;
3770 val* var /* : null */;
3771 val* var_node_list /* var node_list: nullable Object */;
3772 val* var1 /* : nullable Object */;
3773 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3774 val* var2 /* : nullable Object */;
3775 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3776 val* var3 /* : nullable Object */;
3777 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3778 val* var4 /* : nullable Object */;
3779 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3780 val* var5 /* : nullable Object */;
3781 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3782 val* var6 /* : nullable Object */;
3783 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3784 val* var7 /* : nullable Object */;
3785 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3786 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3787 short int var8 /* : Bool */;
3788 int cltype;
3789 int idtype;
3790 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3791 short int var9 /* : Bool */;
3792 int cltype10;
3793 int idtype11;
3794 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
3795 short int var12 /* : Bool */;
3796 int cltype13;
3797 int idtype14;
3798 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
3799 short int var15 /* : Bool */;
3800 int cltype16;
3801 int idtype17;
3802 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
3803 short int var18 /* : Bool */;
3804 int cltype19;
3805 int idtype20;
3806 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
3807 short int var21 /* : Bool */;
3808 int cltype22;
3809 int idtype23;
3810 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
3811 short int var24 /* : Bool */;
3812 int cltype25;
3813 int idtype26;
3814 val* var27 /* : AExternMethPropdef */;
3815 val* var28 /* : null */;
3816 val* var29 /* : null */;
3817 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
3818 long var30 /* : Int */;
3819 long var31 /* : Int */;
3820 var_p = p0;
3821 var = NULL;
3822 var_node_list = var;
3823 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3824 var_nodearraylist7 = var1;
3825 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3826 var_nodearraylist6 = var2;
3827 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3828 var_nodearraylist5 = var3;
3829 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3830 var_nodearraylist4 = var4;
3831 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3832 var_nodearraylist3 = var5;
3833 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3834 var_nodearraylist2 = var6;
3835 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3836 var_nodearraylist1 = var7;
3837 var_pdocnode2 = var_nodearraylist1;
3838 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3839 cltype = type_nullable_parser_nodes__ADoc.color;
3840 idtype = type_nullable_parser_nodes__ADoc.id;
3841 if(var_pdocnode2 == NULL) {
3842 var8 = 1;
3843 } else {
3844 if(cltype >= var_pdocnode2->type->table_size) {
3845 var8 = 0;
3846 } else {
3847 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
3848 }
3849 }
3850 if (!var8) {
3851 fprintf(stderr, "Runtime error: %s", "Assert failed");
3852 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16928);
3853 exit(1);
3854 }
3855 var_pvisibilitynode4 = var_nodearraylist2;
3856 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3857 cltype10 = type_nullable_parser_nodes__AVisibility.color;
3858 idtype11 = type_nullable_parser_nodes__AVisibility.id;
3859 if(var_pvisibilitynode4 == NULL) {
3860 var9 = 1;
3861 } else {
3862 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
3863 var9 = 0;
3864 } else {
3865 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
3866 }
3867 }
3868 if (!var9) {
3869 fprintf(stderr, "Runtime error: %s", "Assert failed");
3870 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16930);
3871 exit(1);
3872 }
3873 var_tkwmethnode5 = var_nodearraylist3;
3874 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
3875 cltype13 = type_nullable_parser_nodes__TKwmeth.color;
3876 idtype14 = type_nullable_parser_nodes__TKwmeth.id;
3877 if(var_tkwmethnode5 == NULL) {
3878 var12 = 1;
3879 } else {
3880 if(cltype13 >= var_tkwmethnode5->type->table_size) {
3881 var12 = 0;
3882 } else {
3883 var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14;
3884 }
3885 }
3886 if (!var12) {
3887 fprintf(stderr, "Runtime error: %s", "Assert failed");
3888 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16932);
3889 exit(1);
3890 }
3891 var_pmethidnode6 = var_nodearraylist4;
3892 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
3893 cltype16 = type_nullable_parser_nodes__AMethid.color;
3894 idtype17 = type_nullable_parser_nodes__AMethid.id;
3895 if(var_pmethidnode6 == NULL) {
3896 var15 = 1;
3897 } else {
3898 if(cltype16 >= var_pmethidnode6->type->table_size) {
3899 var15 = 0;
3900 } else {
3901 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
3902 }
3903 }
3904 if (!var15) {
3905 fprintf(stderr, "Runtime error: %s", "Assert failed");
3906 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16934);
3907 exit(1);
3908 }
3909 var_psignaturenode7 = var_nodearraylist5;
3910 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
3911 cltype19 = type_nullable_parser_nodes__ASignature.color;
3912 idtype20 = type_nullable_parser_nodes__ASignature.id;
3913 if(var_psignaturenode7 == NULL) {
3914 var18 = 1;
3915 } else {
3916 if(cltype19 >= var_psignaturenode7->type->table_size) {
3917 var18 = 0;
3918 } else {
3919 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
3920 }
3921 }
3922 if (!var18) {
3923 fprintf(stderr, "Runtime error: %s", "Assert failed");
3924 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16936);
3925 exit(1);
3926 }
3927 var_pexterncallsnode9 = var_nodearraylist6;
3928 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
3929 cltype22 = type_nullable_parser_nodes__AExternCalls.color;
3930 idtype23 = type_nullable_parser_nodes__AExternCalls.id;
3931 if(var_pexterncallsnode9 == NULL) {
3932 var21 = 1;
3933 } else {
3934 if(cltype22 >= var_pexterncallsnode9->type->table_size) {
3935 var21 = 0;
3936 } else {
3937 var21 = var_pexterncallsnode9->type->type_table[cltype22] == idtype23;
3938 }
3939 }
3940 if (!var21) {
3941 fprintf(stderr, "Runtime error: %s", "Assert failed");
3942 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16938);
3943 exit(1);
3944 }
3945 var_pexterncodeblocknode10 = var_nodearraylist7;
3946 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
3947 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
3948 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
3949 if(var_pexterncodeblocknode10 == NULL) {
3950 var24 = 1;
3951 } else {
3952 if(cltype25 >= var_pexterncodeblocknode10->type->table_size) {
3953 var24 = 0;
3954 } else {
3955 var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
3956 }
3957 }
3958 if (!var24) {
3959 fprintf(stderr, "Runtime error: %s", "Assert failed");
3960 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16940);
3961 exit(1);
3962 }
3963 var27 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
3964 var28 = NULL;
3965 var29 = NULL;
3966 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var27, var_pdocnode2, var28, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var29, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var27:AExternMethPropdef>*/;
3967 CHECK_NEW_parser_nodes__AExternMethPropdef(var27);
3968 var_ppropdefnode1 = var27;
3969 var_node_list = var_ppropdefnode1;
3970 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction379> */
3971 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
3972 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
3973 RET_LABEL:;
3974 }
3975 /* method parser#ReduceAction379#action for (self: Object, Parser) */
3976 void VIRTUAL_parser__ReduceAction379__action(val* self, val* p0) {
3977 parser__ReduceAction379__action(self, p0);
3978 RET_LABEL:;
3979 }
3980 /* method parser#ReduceAction380#action for (self: ReduceAction380, Parser) */
3981 void parser__ReduceAction380__action(val* self, val* p0) {
3982 val* var_p /* var p: Parser */;
3983 val* var /* : null */;
3984 val* var_node_list /* var node_list: nullable Object */;
3985 val* var1 /* : nullable Object */;
3986 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3987 val* var2 /* : nullable Object */;
3988 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3989 val* var3 /* : nullable Object */;
3990 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3991 val* var4 /* : nullable Object */;
3992 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3993 val* var5 /* : nullable Object */;
3994 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3995 val* var6 /* : nullable Object */;
3996 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3997 val* var7 /* : nullable Object */;
3998 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3999 val* var8 /* : nullable Object */;
4000 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4001 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4002 short int var9 /* : Bool */;
4003 int cltype;
4004 int idtype;
4005 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4006 short int var10 /* : Bool */;
4007 int cltype11;
4008 int idtype12;
4009 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4010 short int var13 /* : Bool */;
4011 int cltype14;
4012 int idtype15;
4013 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
4014 short int var16 /* : Bool */;
4015 int cltype17;
4016 int idtype18;
4017 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
4018 short int var19 /* : Bool */;
4019 int cltype20;
4020 int idtype21;
4021 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
4022 short int var22 /* : Bool */;
4023 int cltype23;
4024 int idtype24;
4025 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
4026 short int var25 /* : Bool */;
4027 int cltype26;
4028 int idtype27;
4029 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
4030 short int var28 /* : Bool */;
4031 int cltype29;
4032 int idtype30;
4033 val* var31 /* : AExternMethPropdef */;
4034 val* var32 /* : null */;
4035 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
4036 long var33 /* : Int */;
4037 long var34 /* : Int */;
4038 var_p = p0;
4039 var = NULL;
4040 var_node_list = var;
4041 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4042 var_nodearraylist8 = var1;
4043 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4044 var_nodearraylist7 = var2;
4045 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4046 var_nodearraylist6 = var3;
4047 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4048 var_nodearraylist5 = var4;
4049 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4050 var_nodearraylist4 = var5;
4051 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4052 var_nodearraylist3 = var6;
4053 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4054 var_nodearraylist2 = var7;
4055 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4056 var_nodearraylist1 = var8;
4057 var_pdocnode2 = var_nodearraylist1;
4058 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4059 cltype = type_nullable_parser_nodes__ADoc.color;
4060 idtype = type_nullable_parser_nodes__ADoc.id;
4061 if(var_pdocnode2 == NULL) {
4062 var9 = 1;
4063 } else {
4064 if(cltype >= var_pdocnode2->type->table_size) {
4065 var9 = 0;
4066 } else {
4067 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
4068 }
4069 }
4070 if (!var9) {
4071 fprintf(stderr, "Runtime error: %s", "Assert failed");
4072 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16970);
4073 exit(1);
4074 }
4075 var_tkwredefnode3 = var_nodearraylist2;
4076 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4077 cltype11 = type_nullable_parser_nodes__TKwredef.color;
4078 idtype12 = type_nullable_parser_nodes__TKwredef.id;
4079 if(var_tkwredefnode3 == NULL) {
4080 var10 = 1;
4081 } else {
4082 if(cltype11 >= var_tkwredefnode3->type->table_size) {
4083 var10 = 0;
4084 } else {
4085 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
4086 }
4087 }
4088 if (!var10) {
4089 fprintf(stderr, "Runtime error: %s", "Assert failed");
4090 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16972);
4091 exit(1);
4092 }
4093 var_pvisibilitynode4 = var_nodearraylist3;
4094 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4095 cltype14 = type_nullable_parser_nodes__AVisibility.color;
4096 idtype15 = type_nullable_parser_nodes__AVisibility.id;
4097 if(var_pvisibilitynode4 == NULL) {
4098 var13 = 1;
4099 } else {
4100 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
4101 var13 = 0;
4102 } else {
4103 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
4104 }
4105 }
4106 if (!var13) {
4107 fprintf(stderr, "Runtime error: %s", "Assert failed");
4108 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16974);
4109 exit(1);
4110 }
4111 var_tkwmethnode5 = var_nodearraylist4;
4112 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
4113 cltype17 = type_nullable_parser_nodes__TKwmeth.color;
4114 idtype18 = type_nullable_parser_nodes__TKwmeth.id;
4115 if(var_tkwmethnode5 == NULL) {
4116 var16 = 1;
4117 } else {
4118 if(cltype17 >= var_tkwmethnode5->type->table_size) {
4119 var16 = 0;
4120 } else {
4121 var16 = var_tkwmethnode5->type->type_table[cltype17] == idtype18;
4122 }
4123 }
4124 if (!var16) {
4125 fprintf(stderr, "Runtime error: %s", "Assert failed");
4126 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16976);
4127 exit(1);
4128 }
4129 var_pmethidnode6 = var_nodearraylist5;
4130 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
4131 cltype20 = type_nullable_parser_nodes__AMethid.color;
4132 idtype21 = type_nullable_parser_nodes__AMethid.id;
4133 if(var_pmethidnode6 == NULL) {
4134 var19 = 1;
4135 } else {
4136 if(cltype20 >= var_pmethidnode6->type->table_size) {
4137 var19 = 0;
4138 } else {
4139 var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
4140 }
4141 }
4142 if (!var19) {
4143 fprintf(stderr, "Runtime error: %s", "Assert failed");
4144 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16978);
4145 exit(1);
4146 }
4147 var_psignaturenode7 = var_nodearraylist6;
4148 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
4149 cltype23 = type_nullable_parser_nodes__ASignature.color;
4150 idtype24 = type_nullable_parser_nodes__ASignature.id;
4151 if(var_psignaturenode7 == NULL) {
4152 var22 = 1;
4153 } else {
4154 if(cltype23 >= var_psignaturenode7->type->table_size) {
4155 var22 = 0;
4156 } else {
4157 var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
4158 }
4159 }
4160 if (!var22) {
4161 fprintf(stderr, "Runtime error: %s", "Assert failed");
4162 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16980);
4163 exit(1);
4164 }
4165 var_pexterncallsnode9 = var_nodearraylist7;
4166 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
4167 cltype26 = type_nullable_parser_nodes__AExternCalls.color;
4168 idtype27 = type_nullable_parser_nodes__AExternCalls.id;
4169 if(var_pexterncallsnode9 == NULL) {
4170 var25 = 1;
4171 } else {
4172 if(cltype26 >= var_pexterncallsnode9->type->table_size) {
4173 var25 = 0;
4174 } else {
4175 var25 = var_pexterncallsnode9->type->type_table[cltype26] == idtype27;
4176 }
4177 }
4178 if (!var25) {
4179 fprintf(stderr, "Runtime error: %s", "Assert failed");
4180 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16982);
4181 exit(1);
4182 }
4183 var_pexterncodeblocknode10 = var_nodearraylist8;
4184 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
4185 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
4186 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
4187 if(var_pexterncodeblocknode10 == NULL) {
4188 var28 = 1;
4189 } else {
4190 if(cltype29 >= var_pexterncodeblocknode10->type->table_size) {
4191 var28 = 0;
4192 } else {
4193 var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30;
4194 }
4195 }
4196 if (!var28) {
4197 fprintf(stderr, "Runtime error: %s", "Assert failed");
4198 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16984);
4199 exit(1);
4200 }
4201 var31 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
4202 var32 = NULL;
4203 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var31, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var32, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var31:AExternMethPropdef>*/;
4204 CHECK_NEW_parser_nodes__AExternMethPropdef(var31);
4205 var_ppropdefnode1 = var31;
4206 var_node_list = var_ppropdefnode1;
4207 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction380> */
4208 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
4209 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
4210 RET_LABEL:;
4211 }
4212 /* method parser#ReduceAction380#action for (self: Object, Parser) */
4213 void VIRTUAL_parser__ReduceAction380__action(val* self, val* p0) {
4214 parser__ReduceAction380__action(self, p0);
4215 RET_LABEL:;
4216 }
4217 /* method parser#ReduceAction381#action for (self: ReduceAction381, Parser) */
4218 void parser__ReduceAction381__action(val* self, val* p0) {
4219 val* var_p /* var p: Parser */;
4220 val* var /* : null */;
4221 val* var_node_list /* var node_list: nullable Object */;
4222 val* var1 /* : nullable Object */;
4223 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4224 val* var2 /* : nullable Object */;
4225 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4226 val* var3 /* : nullable Object */;
4227 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4228 val* var4 /* : nullable Object */;
4229 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4230 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4231 short int var5 /* : Bool */;
4232 int cltype;
4233 int idtype;
4234 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4235 short int var6 /* : Bool */;
4236 int cltype7;
4237 int idtype8;
4238 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4239 short int var9 /* : Bool */;
4240 int cltype10;
4241 int idtype11;
4242 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
4243 short int var12 /* : Bool */;
4244 int cltype13;
4245 int idtype14;
4246 val* var15 /* : AAttrPropdef */;
4247 val* var16 /* : null */;
4248 val* var17 /* : null */;
4249 val* var18 /* : null */;
4250 val* var19 /* : null */;
4251 val* var20 /* : null */;
4252 val* var21 /* : null */;
4253 val* var22 /* : null */;
4254 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4255 long var23 /* : Int */;
4256 long var24 /* : Int */;
4257 var_p = p0;
4258 var = NULL;
4259 var_node_list = var;
4260 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4261 var_nodearraylist4 = var1;
4262 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4263 var_nodearraylist3 = var2;
4264 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4265 var_nodearraylist2 = var3;
4266 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4267 var_nodearraylist1 = var4;
4268 var_pdocnode2 = var_nodearraylist1;
4269 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4270 cltype = type_nullable_parser_nodes__ADoc.color;
4271 idtype = type_nullable_parser_nodes__ADoc.id;
4272 if(var_pdocnode2 == NULL) {
4273 var5 = 1;
4274 } else {
4275 if(cltype >= var_pdocnode2->type->table_size) {
4276 var5 = 0;
4277 } else {
4278 var5 = var_pdocnode2->type->type_table[cltype] == idtype;
4279 }
4280 }
4281 if (!var5) {
4282 fprintf(stderr, "Runtime error: %s", "Assert failed");
4283 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17010);
4284 exit(1);
4285 }
4286 var_pvisibilitynode6 = var_nodearraylist2;
4287 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4288 cltype7 = type_nullable_parser_nodes__AVisibility.color;
4289 idtype8 = type_nullable_parser_nodes__AVisibility.id;
4290 if(var_pvisibilitynode6 == NULL) {
4291 var6 = 1;
4292 } else {
4293 if(cltype7 >= var_pvisibilitynode6->type->table_size) {
4294 var6 = 0;
4295 } else {
4296 var6 = var_pvisibilitynode6->type->type_table[cltype7] == idtype8;
4297 }
4298 }
4299 if (!var6) {
4300 fprintf(stderr, "Runtime error: %s", "Assert failed");
4301 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17012);
4302 exit(1);
4303 }
4304 var_tkwvarnode7 = var_nodearraylist3;
4305 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4306 cltype10 = type_nullable_parser_nodes__TKwvar.color;
4307 idtype11 = type_nullable_parser_nodes__TKwvar.id;
4308 if(var_tkwvarnode7 == NULL) {
4309 var9 = 1;
4310 } else {
4311 if(cltype10 >= var_tkwvarnode7->type->table_size) {
4312 var9 = 0;
4313 } else {
4314 var9 = var_tkwvarnode7->type->type_table[cltype10] == idtype11;
4315 }
4316 }
4317 if (!var9) {
4318 fprintf(stderr, "Runtime error: %s", "Assert failed");
4319 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17014);
4320 exit(1);
4321 }
4322 var_tattridnode8 = var_nodearraylist4;
4323 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
4324 cltype13 = type_nullable_parser_nodes__TAttrid.color;
4325 idtype14 = type_nullable_parser_nodes__TAttrid.id;
4326 if(var_tattridnode8 == NULL) {
4327 var12 = 1;
4328 } else {
4329 if(cltype13 >= var_tattridnode8->type->table_size) {
4330 var12 = 0;
4331 } else {
4332 var12 = var_tattridnode8->type->type_table[cltype13] == idtype14;
4333 }
4334 }
4335 if (!var12) {
4336 fprintf(stderr, "Runtime error: %s", "Assert failed");
4337 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17016);
4338 exit(1);
4339 }
4340 var15 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4341 var16 = NULL;
4342 var17 = NULL;
4343 var18 = NULL;
4344 var19 = NULL;
4345 var20 = NULL;
4346 var21 = NULL;
4347 var22 = NULL;
4348 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var15->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var15, var_pdocnode2, var16, var17, var18, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var19, var20, var21, var22) /* init_aattrpropdef on <var15:AAttrPropdef>*/;
4349 CHECK_NEW_parser_nodes__AAttrPropdef(var15);
4350 var_ppropdefnode1 = var15;
4351 var_node_list = var_ppropdefnode1;
4352 var23 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction381> */
4353 var24 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var23) /* go_to on <var_p:Parser>*/;
4354 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var24, var_node_list) /* push on <var_p:Parser>*/;
4355 RET_LABEL:;
4356 }
4357 /* method parser#ReduceAction381#action for (self: Object, Parser) */
4358 void VIRTUAL_parser__ReduceAction381__action(val* self, val* p0) {
4359 parser__ReduceAction381__action(self, p0);
4360 RET_LABEL:;
4361 }
4362 /* method parser#ReduceAction382#action for (self: ReduceAction382, Parser) */
4363 void parser__ReduceAction382__action(val* self, val* p0) {
4364 val* var_p /* var p: Parser */;
4365 val* var /* : null */;
4366 val* var_node_list /* var node_list: nullable Object */;
4367 val* var1 /* : nullable Object */;
4368 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4369 val* var2 /* : nullable Object */;
4370 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4371 val* var3 /* : nullable Object */;
4372 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4373 val* var4 /* : nullable Object */;
4374 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4375 val* var5 /* : nullable Object */;
4376 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4377 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4378 short int var6 /* : Bool */;
4379 int cltype;
4380 int idtype;
4381 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
4382 short int var7 /* : Bool */;
4383 int cltype8;
4384 int idtype9;
4385 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4386 short int var10 /* : Bool */;
4387 int cltype11;
4388 int idtype12;
4389 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4390 short int var13 /* : Bool */;
4391 int cltype14;
4392 int idtype15;
4393 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
4394 short int var16 /* : Bool */;
4395 int cltype17;
4396 int idtype18;
4397 val* var19 /* : AAttrPropdef */;
4398 val* var20 /* : null */;
4399 val* var21 /* : null */;
4400 val* var22 /* : null */;
4401 val* var23 /* : null */;
4402 val* var24 /* : null */;
4403 val* var25 /* : null */;
4404 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4405 long var26 /* : Int */;
4406 long var27 /* : Int */;
4407 var_p = p0;
4408 var = NULL;
4409 var_node_list = var;
4410 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4411 var_nodearraylist5 = var1;
4412 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4413 var_nodearraylist4 = var2;
4414 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4415 var_nodearraylist3 = var3;
4416 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4417 var_nodearraylist2 = var4;
4418 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4419 var_nodearraylist1 = var5;
4420 var_pdocnode2 = var_nodearraylist1;
4421 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4422 cltype = type_nullable_parser_nodes__ADoc.color;
4423 idtype = type_nullable_parser_nodes__ADoc.id;
4424 if(var_pdocnode2 == NULL) {
4425 var6 = 1;
4426 } else {
4427 if(cltype >= var_pdocnode2->type->table_size) {
4428 var6 = 0;
4429 } else {
4430 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
4431 }
4432 }
4433 if (!var6) {
4434 fprintf(stderr, "Runtime error: %s", "Assert failed");
4435 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17045);
4436 exit(1);
4437 }
4438 var_tkwredefnode5 = var_nodearraylist2;
4439 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
4440 cltype8 = type_nullable_parser_nodes__TKwredef.color;
4441 idtype9 = type_nullable_parser_nodes__TKwredef.id;
4442 if(var_tkwredefnode5 == NULL) {
4443 var7 = 1;
4444 } else {
4445 if(cltype8 >= var_tkwredefnode5->type->table_size) {
4446 var7 = 0;
4447 } else {
4448 var7 = var_tkwredefnode5->type->type_table[cltype8] == idtype9;
4449 }
4450 }
4451 if (!var7) {
4452 fprintf(stderr, "Runtime error: %s", "Assert failed");
4453 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17047);
4454 exit(1);
4455 }
4456 var_pvisibilitynode6 = var_nodearraylist3;
4457 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4458 cltype11 = type_nullable_parser_nodes__AVisibility.color;
4459 idtype12 = type_nullable_parser_nodes__AVisibility.id;
4460 if(var_pvisibilitynode6 == NULL) {
4461 var10 = 1;
4462 } else {
4463 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
4464 var10 = 0;
4465 } else {
4466 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
4467 }
4468 }
4469 if (!var10) {
4470 fprintf(stderr, "Runtime error: %s", "Assert failed");
4471 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17049);
4472 exit(1);
4473 }
4474 var_tkwvarnode7 = var_nodearraylist4;
4475 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4476 cltype14 = type_nullable_parser_nodes__TKwvar.color;
4477 idtype15 = type_nullable_parser_nodes__TKwvar.id;
4478 if(var_tkwvarnode7 == NULL) {
4479 var13 = 1;
4480 } else {
4481 if(cltype14 >= var_tkwvarnode7->type->table_size) {
4482 var13 = 0;
4483 } else {
4484 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
4485 }
4486 }
4487 if (!var13) {
4488 fprintf(stderr, "Runtime error: %s", "Assert failed");
4489 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17051);
4490 exit(1);
4491 }
4492 var_tattridnode8 = var_nodearraylist5;
4493 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
4494 cltype17 = type_nullable_parser_nodes__TAttrid.color;
4495 idtype18 = type_nullable_parser_nodes__TAttrid.id;
4496 if(var_tattridnode8 == NULL) {
4497 var16 = 1;
4498 } else {
4499 if(cltype17 >= var_tattridnode8->type->table_size) {
4500 var16 = 0;
4501 } else {
4502 var16 = var_tattridnode8->type->type_table[cltype17] == idtype18;
4503 }
4504 }
4505 if (!var16) {
4506 fprintf(stderr, "Runtime error: %s", "Assert failed");
4507 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17053);
4508 exit(1);
4509 }
4510 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4511 var20 = NULL;
4512 var21 = NULL;
4513 var22 = NULL;
4514 var23 = NULL;
4515 var24 = NULL;
4516 var25 = NULL;
4517 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var20, var21, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var22, var23, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
4518 CHECK_NEW_parser_nodes__AAttrPropdef(var19);
4519 var_ppropdefnode1 = var19;
4520 var_node_list = var_ppropdefnode1;
4521 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction382> */
4522 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
4523 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
4524 RET_LABEL:;
4525 }
4526 /* method parser#ReduceAction382#action for (self: Object, Parser) */
4527 void VIRTUAL_parser__ReduceAction382__action(val* self, val* p0) {
4528 parser__ReduceAction382__action(self, p0);
4529 RET_LABEL:;
4530 }
4531 /* method parser#ReduceAction383#action for (self: ReduceAction383, Parser) */
4532 void parser__ReduceAction383__action(val* self, val* p0) {
4533 val* var_p /* var p: Parser */;
4534 val* var /* : null */;
4535 val* var_node_list /* var node_list: nullable Object */;
4536 val* var1 /* : nullable Object */;
4537 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4538 val* var2 /* : nullable Object */;
4539 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4540 val* var3 /* : nullable Object */;
4541 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4542 val* var4 /* : nullable Object */;
4543 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4544 val* var5 /* : nullable Object */;
4545 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4546 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4547 short int var6 /* : Bool */;
4548 int cltype;
4549 int idtype;
4550 val* var_pablenode3 /* var pablenode3: nullable Object */;
4551 short int var7 /* : Bool */;
4552 int cltype8;
4553 int idtype9;
4554 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4555 short int var10 /* : Bool */;
4556 int cltype11;
4557 int idtype12;
4558 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4559 short int var13 /* : Bool */;
4560 int cltype14;
4561 int idtype15;
4562 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
4563 short int var16 /* : Bool */;
4564 int cltype17;
4565 int idtype18;
4566 val* var19 /* : AAttrPropdef */;
4567 val* var20 /* : null */;
4568 val* var21 /* : null */;
4569 val* var22 /* : null */;
4570 val* var23 /* : null */;
4571 val* var24 /* : null */;
4572 val* var25 /* : null */;
4573 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4574 long var26 /* : Int */;
4575 long var27 /* : Int */;
4576 var_p = p0;
4577 var = NULL;
4578 var_node_list = var;
4579 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4580 var_nodearraylist5 = var1;
4581 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4582 var_nodearraylist4 = var2;
4583 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4584 var_nodearraylist3 = var3;
4585 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4586 var_nodearraylist2 = var4;
4587 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4588 var_nodearraylist1 = var5;
4589 var_pdocnode2 = var_nodearraylist1;
4590 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4591 cltype = type_nullable_parser_nodes__ADoc.color;
4592 idtype = type_nullable_parser_nodes__ADoc.id;
4593 if(var_pdocnode2 == NULL) {
4594 var6 = 1;
4595 } else {
4596 if(cltype >= var_pdocnode2->type->table_size) {
4597 var6 = 0;
4598 } else {
4599 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
4600 }
4601 }
4602 if (!var6) {
4603 fprintf(stderr, "Runtime error: %s", "Assert failed");
4604 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17082);
4605 exit(1);
4606 }
4607 var_pablenode3 = var_nodearraylist2;
4608 /* <var_pablenode3:nullable Object> isa nullable AAble */
4609 cltype8 = type_nullable_parser_nodes__AAble.color;
4610 idtype9 = type_nullable_parser_nodes__AAble.id;
4611 if(var_pablenode3 == NULL) {
4612 var7 = 1;
4613 } else {
4614 if(cltype8 >= var_pablenode3->type->table_size) {
4615 var7 = 0;
4616 } else {
4617 var7 = var_pablenode3->type->type_table[cltype8] == idtype9;
4618 }
4619 }
4620 if (!var7) {
4621 fprintf(stderr, "Runtime error: %s", "Assert failed");
4622 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17084);
4623 exit(1);
4624 }
4625 var_pvisibilitynode6 = var_nodearraylist3;
4626 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4627 cltype11 = type_nullable_parser_nodes__AVisibility.color;
4628 idtype12 = type_nullable_parser_nodes__AVisibility.id;
4629 if(var_pvisibilitynode6 == NULL) {
4630 var10 = 1;
4631 } else {
4632 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
4633 var10 = 0;
4634 } else {
4635 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
4636 }
4637 }
4638 if (!var10) {
4639 fprintf(stderr, "Runtime error: %s", "Assert failed");
4640 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17086);
4641 exit(1);
4642 }
4643 var_tkwvarnode7 = var_nodearraylist4;
4644 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4645 cltype14 = type_nullable_parser_nodes__TKwvar.color;
4646 idtype15 = type_nullable_parser_nodes__TKwvar.id;
4647 if(var_tkwvarnode7 == NULL) {
4648 var13 = 1;
4649 } else {
4650 if(cltype14 >= var_tkwvarnode7->type->table_size) {
4651 var13 = 0;
4652 } else {
4653 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
4654 }
4655 }
4656 if (!var13) {
4657 fprintf(stderr, "Runtime error: %s", "Assert failed");
4658 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17088);
4659 exit(1);
4660 }
4661 var_tattridnode8 = var_nodearraylist5;
4662 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
4663 cltype17 = type_nullable_parser_nodes__TAttrid.color;
4664 idtype18 = type_nullable_parser_nodes__TAttrid.id;
4665 if(var_tattridnode8 == NULL) {
4666 var16 = 1;
4667 } else {
4668 if(cltype17 >= var_tattridnode8->type->table_size) {
4669 var16 = 0;
4670 } else {
4671 var16 = var_tattridnode8->type->type_table[cltype17] == idtype18;
4672 }
4673 }
4674 if (!var16) {
4675 fprintf(stderr, "Runtime error: %s", "Assert failed");
4676 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17090);
4677 exit(1);
4678 }
4679 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4680 var20 = NULL;
4681 var21 = NULL;
4682 var22 = NULL;
4683 var23 = NULL;
4684 var24 = NULL;
4685 var25 = NULL;
4686 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var_pablenode3, var20, var21, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var22, var23, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
4687 CHECK_NEW_parser_nodes__AAttrPropdef(var19);
4688 var_ppropdefnode1 = var19;
4689 var_node_list = var_ppropdefnode1;
4690 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction383> */
4691 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
4692 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
4693 RET_LABEL:;
4694 }
4695 /* method parser#ReduceAction383#action for (self: Object, Parser) */
4696 void VIRTUAL_parser__ReduceAction383__action(val* self, val* p0) {
4697 parser__ReduceAction383__action(self, p0);
4698 RET_LABEL:;
4699 }
4700 /* method parser#ReduceAction384#action for (self: ReduceAction384, Parser) */
4701 void parser__ReduceAction384__action(val* self, val* p0) {
4702 val* var_p /* var p: Parser */;
4703 val* var /* : null */;
4704 val* var_node_list /* var node_list: nullable Object */;
4705 val* var1 /* : nullable Object */;
4706 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4707 val* var2 /* : nullable Object */;
4708 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4709 val* var3 /* : nullable Object */;
4710 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4711 val* var4 /* : nullable Object */;
4712 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4713 val* var5 /* : nullable Object */;
4714 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4715 val* var6 /* : nullable Object */;
4716 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4717 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4718 short int var7 /* : Bool */;
4719 int cltype;
4720 int idtype;
4721 val* var_pablenode3 /* var pablenode3: nullable Object */;
4722 short int var8 /* : Bool */;
4723 int cltype9;
4724 int idtype10;
4725 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
4726 short int var11 /* : Bool */;
4727 int cltype12;
4728 int idtype13;
4729 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4730 short int var14 /* : Bool */;
4731 int cltype15;
4732 int idtype16;
4733 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4734 short int var17 /* : Bool */;
4735 int cltype18;
4736 int idtype19;
4737 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
4738 short int var20 /* : Bool */;
4739 int cltype21;
4740 int idtype22;
4741 val* var23 /* : AAttrPropdef */;
4742 val* var24 /* : null */;
4743 val* var25 /* : null */;
4744 val* var26 /* : null */;
4745 val* var27 /* : null */;
4746 val* var28 /* : null */;
4747 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4748 long var29 /* : Int */;
4749 long var30 /* : Int */;
4750 var_p = p0;
4751 var = NULL;
4752 var_node_list = var;
4753 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4754 var_nodearraylist6 = var1;
4755 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4756 var_nodearraylist5 = var2;
4757 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4758 var_nodearraylist4 = var3;
4759 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4760 var_nodearraylist3 = var4;
4761 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4762 var_nodearraylist2 = var5;
4763 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4764 var_nodearraylist1 = var6;
4765 var_pdocnode2 = var_nodearraylist1;
4766 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4767 cltype = type_nullable_parser_nodes__ADoc.color;
4768 idtype = type_nullable_parser_nodes__ADoc.id;
4769 if(var_pdocnode2 == NULL) {
4770 var7 = 1;
4771 } else {
4772 if(cltype >= var_pdocnode2->type->table_size) {
4773 var7 = 0;
4774 } else {
4775 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
4776 }
4777 }
4778 if (!var7) {
4779 fprintf(stderr, "Runtime error: %s", "Assert failed");
4780 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17120);
4781 exit(1);
4782 }
4783 var_pablenode3 = var_nodearraylist2;
4784 /* <var_pablenode3:nullable Object> isa nullable AAble */
4785 cltype9 = type_nullable_parser_nodes__AAble.color;
4786 idtype10 = type_nullable_parser_nodes__AAble.id;
4787 if(var_pablenode3 == NULL) {
4788 var8 = 1;
4789 } else {
4790 if(cltype9 >= var_pablenode3->type->table_size) {
4791 var8 = 0;
4792 } else {
4793 var8 = var_pablenode3->type->type_table[cltype9] == idtype10;
4794 }
4795 }
4796 if (!var8) {
4797 fprintf(stderr, "Runtime error: %s", "Assert failed");
4798 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17122);
4799 exit(1);
4800 }
4801 var_tkwredefnode5 = var_nodearraylist3;
4802 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
4803 cltype12 = type_nullable_parser_nodes__TKwredef.color;
4804 idtype13 = type_nullable_parser_nodes__TKwredef.id;
4805 if(var_tkwredefnode5 == NULL) {
4806 var11 = 1;
4807 } else {
4808 if(cltype12 >= var_tkwredefnode5->type->table_size) {
4809 var11 = 0;
4810 } else {
4811 var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
4812 }
4813 }
4814 if (!var11) {
4815 fprintf(stderr, "Runtime error: %s", "Assert failed");
4816 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17124);
4817 exit(1);
4818 }
4819 var_pvisibilitynode6 = var_nodearraylist4;
4820 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4821 cltype15 = type_nullable_parser_nodes__AVisibility.color;
4822 idtype16 = type_nullable_parser_nodes__AVisibility.id;
4823 if(var_pvisibilitynode6 == NULL) {
4824 var14 = 1;
4825 } else {
4826 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
4827 var14 = 0;
4828 } else {
4829 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
4830 }
4831 }
4832 if (!var14) {
4833 fprintf(stderr, "Runtime error: %s", "Assert failed");
4834 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17126);
4835 exit(1);
4836 }
4837 var_tkwvarnode7 = var_nodearraylist5;
4838 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4839 cltype18 = type_nullable_parser_nodes__TKwvar.color;
4840 idtype19 = type_nullable_parser_nodes__TKwvar.id;
4841 if(var_tkwvarnode7 == NULL) {
4842 var17 = 1;
4843 } else {
4844 if(cltype18 >= var_tkwvarnode7->type->table_size) {
4845 var17 = 0;
4846 } else {
4847 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
4848 }
4849 }
4850 if (!var17) {
4851 fprintf(stderr, "Runtime error: %s", "Assert failed");
4852 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17128);
4853 exit(1);
4854 }
4855 var_tattridnode8 = var_nodearraylist6;
4856 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
4857 cltype21 = type_nullable_parser_nodes__TAttrid.color;
4858 idtype22 = type_nullable_parser_nodes__TAttrid.id;
4859 if(var_tattridnode8 == NULL) {
4860 var20 = 1;
4861 } else {
4862 if(cltype21 >= var_tattridnode8->type->table_size) {
4863 var20 = 0;
4864 } else {
4865 var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
4866 }
4867 }
4868 if (!var20) {
4869 fprintf(stderr, "Runtime error: %s", "Assert failed");
4870 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17130);
4871 exit(1);
4872 }
4873 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4874 var24 = NULL;
4875 var25 = NULL;
4876 var26 = NULL;
4877 var27 = NULL;
4878 var28 = NULL;
4879 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var_pablenode3, var24, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var25, var26, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
4880 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
4881 var_ppropdefnode1 = var23;
4882 var_node_list = var_ppropdefnode1;
4883 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction384> */
4884 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
4885 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
4886 RET_LABEL:;
4887 }
4888 /* method parser#ReduceAction384#action for (self: Object, Parser) */
4889 void VIRTUAL_parser__ReduceAction384__action(val* self, val* p0) {
4890 parser__ReduceAction384__action(self, p0);
4891 RET_LABEL:;
4892 }
4893 /* method parser#ReduceAction385#action for (self: ReduceAction385, Parser) */
4894 void parser__ReduceAction385__action(val* self, val* p0) {
4895 val* var_p /* var p: Parser */;
4896 val* var /* : null */;
4897 val* var_node_list /* var node_list: nullable Object */;
4898 val* var1 /* : nullable Object */;
4899 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4900 val* var2 /* : nullable Object */;
4901 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4902 val* var3 /* : nullable Object */;
4903 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4904 val* var4 /* : nullable Object */;
4905 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4906 val* var5 /* : nullable Object */;
4907 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4908 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4909 short int var6 /* : Bool */;
4910 int cltype;
4911 int idtype;
4912 val* var_pablenode4 /* var pablenode4: nullable Object */;
4913 short int var7 /* : Bool */;
4914 int cltype8;
4915 int idtype9;
4916 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4917 short int var10 /* : Bool */;
4918 int cltype11;
4919 int idtype12;
4920 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4921 short int var13 /* : Bool */;
4922 int cltype14;
4923 int idtype15;
4924 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
4925 short int var16 /* : Bool */;
4926 int cltype17;
4927 int idtype18;
4928 val* var19 /* : AAttrPropdef */;
4929 val* var20 /* : null */;
4930 val* var21 /* : null */;
4931 val* var22 /* : null */;
4932 val* var23 /* : null */;
4933 val* var24 /* : null */;
4934 val* var25 /* : null */;
4935 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4936 long var26 /* : Int */;
4937 long var27 /* : Int */;
4938 var_p = p0;
4939 var = NULL;
4940 var_node_list = var;
4941 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4942 var_nodearraylist5 = var1;
4943 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4944 var_nodearraylist4 = var2;
4945 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4946 var_nodearraylist3 = var3;
4947 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4948 var_nodearraylist2 = var4;
4949 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4950 var_nodearraylist1 = var5;
4951 var_pdocnode2 = var_nodearraylist1;
4952 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4953 cltype = type_nullable_parser_nodes__ADoc.color;
4954 idtype = type_nullable_parser_nodes__ADoc.id;
4955 if(var_pdocnode2 == NULL) {
4956 var6 = 1;
4957 } else {
4958 if(cltype >= var_pdocnode2->type->table_size) {
4959 var6 = 0;
4960 } else {
4961 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
4962 }
4963 }
4964 if (!var6) {
4965 fprintf(stderr, "Runtime error: %s", "Assert failed");
4966 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17159);
4967 exit(1);
4968 }
4969 var_pablenode4 = var_nodearraylist2;
4970 /* <var_pablenode4:nullable Object> isa nullable AAble */
4971 cltype8 = type_nullable_parser_nodes__AAble.color;
4972 idtype9 = type_nullable_parser_nodes__AAble.id;
4973 if(var_pablenode4 == NULL) {
4974 var7 = 1;
4975 } else {
4976 if(cltype8 >= var_pablenode4->type->table_size) {
4977 var7 = 0;
4978 } else {
4979 var7 = var_pablenode4->type->type_table[cltype8] == idtype9;
4980 }
4981 }
4982 if (!var7) {
4983 fprintf(stderr, "Runtime error: %s", "Assert failed");
4984 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17161);
4985 exit(1);
4986 }
4987 var_pvisibilitynode6 = var_nodearraylist3;
4988 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4989 cltype11 = type_nullable_parser_nodes__AVisibility.color;
4990 idtype12 = type_nullable_parser_nodes__AVisibility.id;
4991 if(var_pvisibilitynode6 == NULL) {
4992 var10 = 1;
4993 } else {
4994 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
4995 var10 = 0;
4996 } else {
4997 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
4998 }
4999 }
5000 if (!var10) {
5001 fprintf(stderr, "Runtime error: %s", "Assert failed");
5002 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17163);
5003 exit(1);
5004 }
5005 var_tkwvarnode7 = var_nodearraylist4;
5006 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5007 cltype14 = type_nullable_parser_nodes__TKwvar.color;
5008 idtype15 = type_nullable_parser_nodes__TKwvar.id;
5009 if(var_tkwvarnode7 == NULL) {
5010 var13 = 1;
5011 } else {
5012 if(cltype14 >= var_tkwvarnode7->type->table_size) {
5013 var13 = 0;
5014 } else {
5015 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
5016 }
5017 }
5018 if (!var13) {
5019 fprintf(stderr, "Runtime error: %s", "Assert failed");
5020 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17165);
5021 exit(1);
5022 }
5023 var_tattridnode8 = var_nodearraylist5;
5024 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
5025 cltype17 = type_nullable_parser_nodes__TAttrid.color;
5026 idtype18 = type_nullable_parser_nodes__TAttrid.id;
5027 if(var_tattridnode8 == NULL) {
5028 var16 = 1;
5029 } else {
5030 if(cltype17 >= var_tattridnode8->type->table_size) {
5031 var16 = 0;
5032 } else {
5033 var16 = var_tattridnode8->type->type_table[cltype17] == idtype18;
5034 }
5035 }
5036 if (!var16) {
5037 fprintf(stderr, "Runtime error: %s", "Assert failed");
5038 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17167);
5039 exit(1);
5040 }
5041 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5042 var20 = NULL;
5043 var21 = NULL;
5044 var22 = NULL;
5045 var23 = NULL;
5046 var24 = NULL;
5047 var25 = NULL;
5048 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var20, var_pablenode4, var21, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var22, var23, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
5049 CHECK_NEW_parser_nodes__AAttrPropdef(var19);
5050 var_ppropdefnode1 = var19;
5051 var_node_list = var_ppropdefnode1;
5052 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction385> */
5053 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
5054 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
5055 RET_LABEL:;
5056 }
5057 /* method parser#ReduceAction385#action for (self: Object, Parser) */
5058 void VIRTUAL_parser__ReduceAction385__action(val* self, val* p0) {
5059 parser__ReduceAction385__action(self, p0);
5060 RET_LABEL:;
5061 }
5062 /* method parser#ReduceAction386#action for (self: ReduceAction386, Parser) */
5063 void parser__ReduceAction386__action(val* self, val* p0) {
5064 val* var_p /* var p: Parser */;
5065 val* var /* : null */;
5066 val* var_node_list /* var node_list: nullable Object */;
5067 val* var1 /* : nullable Object */;
5068 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5069 val* var2 /* : nullable Object */;
5070 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5071 val* var3 /* : nullable Object */;
5072 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5073 val* var4 /* : nullable Object */;
5074 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5075 val* var5 /* : nullable Object */;
5076 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5077 val* var6 /* : nullable Object */;
5078 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5079 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5080 short int var7 /* : Bool */;
5081 int cltype;
5082 int idtype;
5083 val* var_pablenode4 /* var pablenode4: nullable Object */;
5084 short int var8 /* : Bool */;
5085 int cltype9;
5086 int idtype10;
5087 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
5088 short int var11 /* : Bool */;
5089 int cltype12;
5090 int idtype13;
5091 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5092 short int var14 /* : Bool */;
5093 int cltype15;
5094 int idtype16;
5095 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5096 short int var17 /* : Bool */;
5097 int cltype18;
5098 int idtype19;
5099 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
5100 short int var20 /* : Bool */;
5101 int cltype21;
5102 int idtype22;
5103 val* var23 /* : AAttrPropdef */;
5104 val* var24 /* : null */;
5105 val* var25 /* : null */;
5106 val* var26 /* : null */;
5107 val* var27 /* : null */;
5108 val* var28 /* : null */;
5109 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5110 long var29 /* : Int */;
5111 long var30 /* : Int */;
5112 var_p = p0;
5113 var = NULL;
5114 var_node_list = var;
5115 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5116 var_nodearraylist6 = var1;
5117 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5118 var_nodearraylist5 = var2;
5119 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5120 var_nodearraylist4 = var3;
5121 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5122 var_nodearraylist3 = var4;
5123 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5124 var_nodearraylist2 = var5;
5125 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5126 var_nodearraylist1 = var6;
5127 var_pdocnode2 = var_nodearraylist1;
5128 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5129 cltype = type_nullable_parser_nodes__ADoc.color;
5130 idtype = type_nullable_parser_nodes__ADoc.id;
5131 if(var_pdocnode2 == NULL) {
5132 var7 = 1;
5133 } else {
5134 if(cltype >= var_pdocnode2->type->table_size) {
5135 var7 = 0;
5136 } else {
5137 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
5138 }
5139 }
5140 if (!var7) {
5141 fprintf(stderr, "Runtime error: %s", "Assert failed");
5142 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17197);
5143 exit(1);
5144 }
5145 var_pablenode4 = var_nodearraylist2;
5146 /* <var_pablenode4:nullable Object> isa nullable AAble */
5147 cltype9 = type_nullable_parser_nodes__AAble.color;
5148 idtype10 = type_nullable_parser_nodes__AAble.id;
5149 if(var_pablenode4 == NULL) {
5150 var8 = 1;
5151 } else {
5152 if(cltype9 >= var_pablenode4->type->table_size) {
5153 var8 = 0;
5154 } else {
5155 var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
5156 }
5157 }
5158 if (!var8) {
5159 fprintf(stderr, "Runtime error: %s", "Assert failed");
5160 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17199);
5161 exit(1);
5162 }
5163 var_tkwredefnode5 = var_nodearraylist3;
5164 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
5165 cltype12 = type_nullable_parser_nodes__TKwredef.color;
5166 idtype13 = type_nullable_parser_nodes__TKwredef.id;
5167 if(var_tkwredefnode5 == NULL) {
5168 var11 = 1;
5169 } else {
5170 if(cltype12 >= var_tkwredefnode5->type->table_size) {
5171 var11 = 0;
5172 } else {
5173 var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
5174 }
5175 }
5176 if (!var11) {
5177 fprintf(stderr, "Runtime error: %s", "Assert failed");
5178 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17201);
5179 exit(1);
5180 }
5181 var_pvisibilitynode6 = var_nodearraylist4;
5182 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5183 cltype15 = type_nullable_parser_nodes__AVisibility.color;
5184 idtype16 = type_nullable_parser_nodes__AVisibility.id;
5185 if(var_pvisibilitynode6 == NULL) {
5186 var14 = 1;
5187 } else {
5188 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
5189 var14 = 0;
5190 } else {
5191 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
5192 }
5193 }
5194 if (!var14) {
5195 fprintf(stderr, "Runtime error: %s", "Assert failed");
5196 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17203);
5197 exit(1);
5198 }
5199 var_tkwvarnode7 = var_nodearraylist5;
5200 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5201 cltype18 = type_nullable_parser_nodes__TKwvar.color;
5202 idtype19 = type_nullable_parser_nodes__TKwvar.id;
5203 if(var_tkwvarnode7 == NULL) {
5204 var17 = 1;
5205 } else {
5206 if(cltype18 >= var_tkwvarnode7->type->table_size) {
5207 var17 = 0;
5208 } else {
5209 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
5210 }
5211 }
5212 if (!var17) {
5213 fprintf(stderr, "Runtime error: %s", "Assert failed");
5214 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17205);
5215 exit(1);
5216 }
5217 var_tattridnode8 = var_nodearraylist6;
5218 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
5219 cltype21 = type_nullable_parser_nodes__TAttrid.color;
5220 idtype22 = type_nullable_parser_nodes__TAttrid.id;
5221 if(var_tattridnode8 == NULL) {
5222 var20 = 1;
5223 } else {
5224 if(cltype21 >= var_tattridnode8->type->table_size) {
5225 var20 = 0;
5226 } else {
5227 var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
5228 }
5229 }
5230 if (!var20) {
5231 fprintf(stderr, "Runtime error: %s", "Assert failed");
5232 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17207);
5233 exit(1);
5234 }
5235 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5236 var24 = NULL;
5237 var25 = NULL;
5238 var26 = NULL;
5239 var27 = NULL;
5240 var28 = NULL;
5241 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var25, var26, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
5242 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
5243 var_ppropdefnode1 = var23;
5244 var_node_list = var_ppropdefnode1;
5245 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction386> */
5246 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
5247 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
5248 RET_LABEL:;
5249 }
5250 /* method parser#ReduceAction386#action for (self: Object, Parser) */
5251 void VIRTUAL_parser__ReduceAction386__action(val* self, val* p0) {
5252 parser__ReduceAction386__action(self, p0);
5253 RET_LABEL:;
5254 }
5255 /* method parser#ReduceAction387#action for (self: ReduceAction387, Parser) */
5256 void parser__ReduceAction387__action(val* self, val* p0) {
5257 val* var_p /* var p: Parser */;
5258 val* var /* : null */;
5259 val* var_node_list /* var node_list: nullable Object */;
5260 val* var1 /* : nullable Object */;
5261 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5262 val* var2 /* : nullable Object */;
5263 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5264 val* var3 /* : nullable Object */;
5265 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5266 val* var4 /* : nullable Object */;
5267 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5268 val* var5 /* : nullable Object */;
5269 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5270 val* var6 /* : nullable Object */;
5271 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5272 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5273 short int var7 /* : Bool */;
5274 int cltype;
5275 int idtype;
5276 val* var_pablenode3 /* var pablenode3: nullable Object */;
5277 short int var8 /* : Bool */;
5278 int cltype9;
5279 int idtype10;
5280 val* var_pablenode4 /* var pablenode4: nullable Object */;
5281 short int var11 /* : Bool */;
5282 int cltype12;
5283 int idtype13;
5284 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5285 short int var14 /* : Bool */;
5286 int cltype15;
5287 int idtype16;
5288 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5289 short int var17 /* : Bool */;
5290 int cltype18;
5291 int idtype19;
5292 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
5293 short int var20 /* : Bool */;
5294 int cltype21;
5295 int idtype22;
5296 val* var23 /* : AAttrPropdef */;
5297 val* var24 /* : null */;
5298 val* var25 /* : null */;
5299 val* var26 /* : null */;
5300 val* var27 /* : null */;
5301 val* var28 /* : null */;
5302 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5303 long var29 /* : Int */;
5304 long var30 /* : Int */;
5305 var_p = p0;
5306 var = NULL;
5307 var_node_list = var;
5308 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5309 var_nodearraylist6 = var1;
5310 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5311 var_nodearraylist5 = var2;
5312 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5313 var_nodearraylist4 = var3;
5314 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5315 var_nodearraylist3 = var4;
5316 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5317 var_nodearraylist2 = var5;
5318 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5319 var_nodearraylist1 = var6;
5320 var_pdocnode2 = var_nodearraylist1;
5321 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5322 cltype = type_nullable_parser_nodes__ADoc.color;
5323 idtype = type_nullable_parser_nodes__ADoc.id;
5324 if(var_pdocnode2 == NULL) {
5325 var7 = 1;
5326 } else {
5327 if(cltype >= var_pdocnode2->type->table_size) {
5328 var7 = 0;
5329 } else {
5330 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
5331 }
5332 }
5333 if (!var7) {
5334 fprintf(stderr, "Runtime error: %s", "Assert failed");
5335 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17237);
5336 exit(1);
5337 }
5338 var_pablenode3 = var_nodearraylist2;
5339 /* <var_pablenode3:nullable Object> isa nullable AAble */
5340 cltype9 = type_nullable_parser_nodes__AAble.color;
5341 idtype10 = type_nullable_parser_nodes__AAble.id;
5342 if(var_pablenode3 == NULL) {
5343 var8 = 1;
5344 } else {
5345 if(cltype9 >= var_pablenode3->type->table_size) {
5346 var8 = 0;
5347 } else {
5348 var8 = var_pablenode3->type->type_table[cltype9] == idtype10;
5349 }
5350 }
5351 if (!var8) {
5352 fprintf(stderr, "Runtime error: %s", "Assert failed");
5353 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17239);
5354 exit(1);
5355 }
5356 var_pablenode4 = var_nodearraylist3;
5357 /* <var_pablenode4:nullable Object> isa nullable AAble */
5358 cltype12 = type_nullable_parser_nodes__AAble.color;
5359 idtype13 = type_nullable_parser_nodes__AAble.id;
5360 if(var_pablenode4 == NULL) {
5361 var11 = 1;
5362 } else {
5363 if(cltype12 >= var_pablenode4->type->table_size) {
5364 var11 = 0;
5365 } else {
5366 var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
5367 }
5368 }
5369 if (!var11) {
5370 fprintf(stderr, "Runtime error: %s", "Assert failed");
5371 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17241);
5372 exit(1);
5373 }
5374 var_pvisibilitynode6 = var_nodearraylist4;
5375 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5376 cltype15 = type_nullable_parser_nodes__AVisibility.color;
5377 idtype16 = type_nullable_parser_nodes__AVisibility.id;
5378 if(var_pvisibilitynode6 == NULL) {
5379 var14 = 1;
5380 } else {
5381 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
5382 var14 = 0;
5383 } else {
5384 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
5385 }
5386 }
5387 if (!var14) {
5388 fprintf(stderr, "Runtime error: %s", "Assert failed");
5389 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17243);
5390 exit(1);
5391 }
5392 var_tkwvarnode7 = var_nodearraylist5;
5393 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5394 cltype18 = type_nullable_parser_nodes__TKwvar.color;
5395 idtype19 = type_nullable_parser_nodes__TKwvar.id;
5396 if(var_tkwvarnode7 == NULL) {
5397 var17 = 1;
5398 } else {
5399 if(cltype18 >= var_tkwvarnode7->type->table_size) {
5400 var17 = 0;
5401 } else {
5402 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
5403 }
5404 }
5405 if (!var17) {
5406 fprintf(stderr, "Runtime error: %s", "Assert failed");
5407 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17245);
5408 exit(1);
5409 }
5410 var_tattridnode8 = var_nodearraylist6;
5411 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
5412 cltype21 = type_nullable_parser_nodes__TAttrid.color;
5413 idtype22 = type_nullable_parser_nodes__TAttrid.id;
5414 if(var_tattridnode8 == NULL) {
5415 var20 = 1;
5416 } else {
5417 if(cltype21 >= var_tattridnode8->type->table_size) {
5418 var20 = 0;
5419 } else {
5420 var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
5421 }
5422 }
5423 if (!var20) {
5424 fprintf(stderr, "Runtime error: %s", "Assert failed");
5425 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17247);
5426 exit(1);
5427 }
5428 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5429 var24 = NULL;
5430 var25 = NULL;
5431 var26 = NULL;
5432 var27 = NULL;
5433 var28 = NULL;
5434 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var_pablenode3, var_pablenode4, var24, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var25, var26, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
5435 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
5436 var_ppropdefnode1 = var23;
5437 var_node_list = var_ppropdefnode1;
5438 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction387> */
5439 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
5440 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
5441 RET_LABEL:;
5442 }
5443 /* method parser#ReduceAction387#action for (self: Object, Parser) */
5444 void VIRTUAL_parser__ReduceAction387__action(val* self, val* p0) {
5445 parser__ReduceAction387__action(self, p0);
5446 RET_LABEL:;
5447 }
5448 /* method parser#ReduceAction388#action for (self: ReduceAction388, Parser) */
5449 void parser__ReduceAction388__action(val* self, val* p0) {
5450 val* var_p /* var p: Parser */;
5451 val* var /* : null */;
5452 val* var_node_list /* var node_list: nullable Object */;
5453 val* var1 /* : nullable Object */;
5454 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5455 val* var2 /* : nullable Object */;
5456 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5457 val* var3 /* : nullable Object */;
5458 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5459 val* var4 /* : nullable Object */;
5460 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5461 val* var5 /* : nullable Object */;
5462 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5463 val* var6 /* : nullable Object */;
5464 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5465 val* var7 /* : nullable Object */;
5466 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5467 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5468 short int var8 /* : Bool */;
5469 int cltype;
5470 int idtype;
5471 val* var_pablenode3 /* var pablenode3: nullable Object */;
5472 short int var9 /* : Bool */;
5473 int cltype10;
5474 int idtype11;
5475 val* var_pablenode4 /* var pablenode4: nullable Object */;
5476 short int var12 /* : Bool */;
5477 int cltype13;
5478 int idtype14;
5479 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
5480 short int var15 /* : Bool */;
5481 int cltype16;
5482 int idtype17;
5483 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5484 short int var18 /* : Bool */;
5485 int cltype19;
5486 int idtype20;
5487 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5488 short int var21 /* : Bool */;
5489 int cltype22;
5490 int idtype23;
5491 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
5492 short int var24 /* : Bool */;
5493 int cltype25;
5494 int idtype26;
5495 val* var27 /* : AAttrPropdef */;
5496 val* var28 /* : null */;
5497 val* var29 /* : null */;
5498 val* var30 /* : null */;
5499 val* var31 /* : null */;
5500 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5501 long var32 /* : Int */;
5502 long var33 /* : Int */;
5503 var_p = p0;
5504 var = NULL;
5505 var_node_list = var;
5506 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5507 var_nodearraylist7 = var1;
5508 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5509 var_nodearraylist6 = var2;
5510 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5511 var_nodearraylist5 = var3;
5512 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5513 var_nodearraylist4 = var4;
5514 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5515 var_nodearraylist3 = var5;
5516 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5517 var_nodearraylist2 = var6;
5518 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5519 var_nodearraylist1 = var7;
5520 var_pdocnode2 = var_nodearraylist1;
5521 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5522 cltype = type_nullable_parser_nodes__ADoc.color;
5523 idtype = type_nullable_parser_nodes__ADoc.id;
5524 if(var_pdocnode2 == NULL) {
5525 var8 = 1;
5526 } else {
5527 if(cltype >= var_pdocnode2->type->table_size) {
5528 var8 = 0;
5529 } else {
5530 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
5531 }
5532 }
5533 if (!var8) {
5534 fprintf(stderr, "Runtime error: %s", "Assert failed");
5535 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17278);
5536 exit(1);
5537 }
5538 var_pablenode3 = var_nodearraylist2;
5539 /* <var_pablenode3:nullable Object> isa nullable AAble */
5540 cltype10 = type_nullable_parser_nodes__AAble.color;
5541 idtype11 = type_nullable_parser_nodes__AAble.id;
5542 if(var_pablenode3 == NULL) {
5543 var9 = 1;
5544 } else {
5545 if(cltype10 >= var_pablenode3->type->table_size) {
5546 var9 = 0;
5547 } else {
5548 var9 = var_pablenode3->type->type_table[cltype10] == idtype11;
5549 }
5550 }
5551 if (!var9) {
5552 fprintf(stderr, "Runtime error: %s", "Assert failed");
5553 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17280);
5554 exit(1);
5555 }
5556 var_pablenode4 = var_nodearraylist3;
5557 /* <var_pablenode4:nullable Object> isa nullable AAble */
5558 cltype13 = type_nullable_parser_nodes__AAble.color;
5559 idtype14 = type_nullable_parser_nodes__AAble.id;
5560 if(var_pablenode4 == NULL) {
5561 var12 = 1;
5562 } else {
5563 if(cltype13 >= var_pablenode4->type->table_size) {
5564 var12 = 0;
5565 } else {
5566 var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
5567 }
5568 }
5569 if (!var12) {
5570 fprintf(stderr, "Runtime error: %s", "Assert failed");
5571 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17282);
5572 exit(1);
5573 }
5574 var_tkwredefnode5 = var_nodearraylist4;
5575 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
5576 cltype16 = type_nullable_parser_nodes__TKwredef.color;
5577 idtype17 = type_nullable_parser_nodes__TKwredef.id;
5578 if(var_tkwredefnode5 == NULL) {
5579 var15 = 1;
5580 } else {
5581 if(cltype16 >= var_tkwredefnode5->type->table_size) {
5582 var15 = 0;
5583 } else {
5584 var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
5585 }
5586 }
5587 if (!var15) {
5588 fprintf(stderr, "Runtime error: %s", "Assert failed");
5589 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17284);
5590 exit(1);
5591 }
5592 var_pvisibilitynode6 = var_nodearraylist5;
5593 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5594 cltype19 = type_nullable_parser_nodes__AVisibility.color;
5595 idtype20 = type_nullable_parser_nodes__AVisibility.id;
5596 if(var_pvisibilitynode6 == NULL) {
5597 var18 = 1;
5598 } else {
5599 if(cltype19 >= var_pvisibilitynode6->type->table_size) {
5600 var18 = 0;
5601 } else {
5602 var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
5603 }
5604 }
5605 if (!var18) {
5606 fprintf(stderr, "Runtime error: %s", "Assert failed");
5607 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17286);
5608 exit(1);
5609 }
5610 var_tkwvarnode7 = var_nodearraylist6;
5611 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5612 cltype22 = type_nullable_parser_nodes__TKwvar.color;
5613 idtype23 = type_nullable_parser_nodes__TKwvar.id;
5614 if(var_tkwvarnode7 == NULL) {
5615 var21 = 1;
5616 } else {
5617 if(cltype22 >= var_tkwvarnode7->type->table_size) {
5618 var21 = 0;
5619 } else {
5620 var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
5621 }
5622 }
5623 if (!var21) {
5624 fprintf(stderr, "Runtime error: %s", "Assert failed");
5625 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17288);
5626 exit(1);
5627 }
5628 var_tattridnode8 = var_nodearraylist7;
5629 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
5630 cltype25 = type_nullable_parser_nodes__TAttrid.color;
5631 idtype26 = type_nullable_parser_nodes__TAttrid.id;
5632 if(var_tattridnode8 == NULL) {
5633 var24 = 1;
5634 } else {
5635 if(cltype25 >= var_tattridnode8->type->table_size) {
5636 var24 = 0;
5637 } else {
5638 var24 = var_tattridnode8->type->type_table[cltype25] == idtype26;
5639 }
5640 }
5641 if (!var24) {
5642 fprintf(stderr, "Runtime error: %s", "Assert failed");
5643 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17290);
5644 exit(1);
5645 }
5646 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5647 var28 = NULL;
5648 var29 = NULL;
5649 var30 = NULL;
5650 var31 = NULL;
5651 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var_pablenode3, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var28, var29, var30, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
5652 CHECK_NEW_parser_nodes__AAttrPropdef(var27);
5653 var_ppropdefnode1 = var27;
5654 var_node_list = var_ppropdefnode1;
5655 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction388> */
5656 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
5657 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
5658 RET_LABEL:;
5659 }
5660 /* method parser#ReduceAction388#action for (self: Object, Parser) */
5661 void VIRTUAL_parser__ReduceAction388__action(val* self, val* p0) {
5662 parser__ReduceAction388__action(self, p0);
5663 RET_LABEL:;
5664 }
5665 /* method parser#ReduceAction389#action for (self: ReduceAction389, Parser) */
5666 void parser__ReduceAction389__action(val* self, val* p0) {
5667 val* var_p /* var p: Parser */;
5668 val* var /* : null */;
5669 val* var_node_list /* var node_list: nullable Object */;
5670 val* var1 /* : nullable Object */;
5671 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5672 val* var2 /* : nullable Object */;
5673 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5674 val* var3 /* : nullable Object */;
5675 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5676 val* var4 /* : nullable Object */;
5677 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5678 val* var5 /* : nullable Object */;
5679 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5680 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5681 short int var6 /* : Bool */;
5682 int cltype;
5683 int idtype;
5684 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5685 short int var7 /* : Bool */;
5686 int cltype8;
5687 int idtype9;
5688 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5689 short int var10 /* : Bool */;
5690 int cltype11;
5691 int idtype12;
5692 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
5693 short int var13 /* : Bool */;
5694 int cltype14;
5695 int idtype15;
5696 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
5697 short int var16 /* : Bool */;
5698 int cltype17;
5699 int idtype18;
5700 val* var19 /* : AAttrPropdef */;
5701 val* var20 /* : null */;
5702 val* var21 /* : null */;
5703 val* var22 /* : null */;
5704 val* var23 /* : null */;
5705 val* var24 /* : null */;
5706 val* var25 /* : null */;
5707 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5708 long var26 /* : Int */;
5709 long var27 /* : Int */;
5710 var_p = p0;
5711 var = NULL;
5712 var_node_list = var;
5713 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5714 var_nodearraylist5 = var1;
5715 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5716 var_nodearraylist4 = var2;
5717 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5718 var_nodearraylist3 = var3;
5719 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5720 var_nodearraylist2 = var4;
5721 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5722 var_nodearraylist1 = var5;
5723 var_pdocnode2 = var_nodearraylist1;
5724 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5725 cltype = type_nullable_parser_nodes__ADoc.color;
5726 idtype = type_nullable_parser_nodes__ADoc.id;
5727 if(var_pdocnode2 == NULL) {
5728 var6 = 1;
5729 } else {
5730 if(cltype >= var_pdocnode2->type->table_size) {
5731 var6 = 0;
5732 } else {
5733 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
5734 }
5735 }
5736 if (!var6) {
5737 fprintf(stderr, "Runtime error: %s", "Assert failed");
5738 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17319);
5739 exit(1);
5740 }
5741 var_pvisibilitynode6 = var_nodearraylist2;
5742 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5743 cltype8 = type_nullable_parser_nodes__AVisibility.color;
5744 idtype9 = type_nullable_parser_nodes__AVisibility.id;
5745 if(var_pvisibilitynode6 == NULL) {
5746 var7 = 1;
5747 } else {
5748 if(cltype8 >= var_pvisibilitynode6->type->table_size) {
5749 var7 = 0;
5750 } else {
5751 var7 = var_pvisibilitynode6->type->type_table[cltype8] == idtype9;
5752 }
5753 }
5754 if (!var7) {
5755 fprintf(stderr, "Runtime error: %s", "Assert failed");
5756 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17321);
5757 exit(1);
5758 }
5759 var_tkwvarnode7 = var_nodearraylist3;
5760 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5761 cltype11 = type_nullable_parser_nodes__TKwvar.color;
5762 idtype12 = type_nullable_parser_nodes__TKwvar.id;
5763 if(var_tkwvarnode7 == NULL) {
5764 var10 = 1;
5765 } else {
5766 if(cltype11 >= var_tkwvarnode7->type->table_size) {
5767 var10 = 0;
5768 } else {
5769 var10 = var_tkwvarnode7->type->type_table[cltype11] == idtype12;
5770 }
5771 }
5772 if (!var10) {
5773 fprintf(stderr, "Runtime error: %s", "Assert failed");
5774 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17323);
5775 exit(1);
5776 }
5777 var_tattridnode8 = var_nodearraylist4;
5778 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
5779 cltype14 = type_nullable_parser_nodes__TAttrid.color;
5780 idtype15 = type_nullable_parser_nodes__TAttrid.id;
5781 if(var_tattridnode8 == NULL) {
5782 var13 = 1;
5783 } else {
5784 if(cltype14 >= var_tattridnode8->type->table_size) {
5785 var13 = 0;
5786 } else {
5787 var13 = var_tattridnode8->type->type_table[cltype14] == idtype15;
5788 }
5789 }
5790 if (!var13) {
5791 fprintf(stderr, "Runtime error: %s", "Assert failed");
5792 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17325);
5793 exit(1);
5794 }
5795 var_ptypenode10 = var_nodearraylist5;
5796 /* <var_ptypenode10:nullable Object> isa nullable AType */
5797 cltype17 = type_nullable_parser_nodes__AType.color;
5798 idtype18 = type_nullable_parser_nodes__AType.id;
5799 if(var_ptypenode10 == NULL) {
5800 var16 = 1;
5801 } else {
5802 if(cltype17 >= var_ptypenode10->type->table_size) {
5803 var16 = 0;
5804 } else {
5805 var16 = var_ptypenode10->type->type_table[cltype17] == idtype18;
5806 }
5807 }
5808 if (!var16) {
5809 fprintf(stderr, "Runtime error: %s", "Assert failed");
5810 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17327);
5811 exit(1);
5812 }
5813 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5814 var20 = NULL;
5815 var21 = NULL;
5816 var22 = NULL;
5817 var23 = NULL;
5818 var24 = NULL;
5819 var25 = NULL;
5820 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var20, var21, var22, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var23, var_ptypenode10, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
5821 CHECK_NEW_parser_nodes__AAttrPropdef(var19);
5822 var_ppropdefnode1 = var19;
5823 var_node_list = var_ppropdefnode1;
5824 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction389> */
5825 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
5826 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
5827 RET_LABEL:;
5828 }
5829 /* method parser#ReduceAction389#action for (self: Object, Parser) */
5830 void VIRTUAL_parser__ReduceAction389__action(val* self, val* p0) {
5831 parser__ReduceAction389__action(self, p0);
5832 RET_LABEL:;
5833 }
5834 /* method parser#ReduceAction390#action for (self: ReduceAction390, Parser) */
5835 void parser__ReduceAction390__action(val* self, val* p0) {
5836 val* var_p /* var p: Parser */;
5837 val* var /* : null */;
5838 val* var_node_list /* var node_list: nullable Object */;
5839 val* var1 /* : nullable Object */;
5840 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5841 val* var2 /* : nullable Object */;
5842 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5843 val* var3 /* : nullable Object */;
5844 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5845 val* var4 /* : nullable Object */;
5846 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5847 val* var5 /* : nullable Object */;
5848 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5849 val* var6 /* : nullable Object */;
5850 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5851 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5852 short int var7 /* : Bool */;
5853 int cltype;
5854 int idtype;
5855 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
5856 short int var8 /* : Bool */;
5857 int cltype9;
5858 int idtype10;
5859 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5860 short int var11 /* : Bool */;
5861 int cltype12;
5862 int idtype13;
5863 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5864 short int var14 /* : Bool */;
5865 int cltype15;
5866 int idtype16;
5867 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
5868 short int var17 /* : Bool */;
5869 int cltype18;
5870 int idtype19;
5871 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
5872 short int var20 /* : Bool */;
5873 int cltype21;
5874 int idtype22;
5875 val* var23 /* : AAttrPropdef */;
5876 val* var24 /* : null */;
5877 val* var25 /* : null */;
5878 val* var26 /* : null */;
5879 val* var27 /* : null */;
5880 val* var28 /* : null */;
5881 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5882 long var29 /* : Int */;
5883 long var30 /* : Int */;
5884 var_p = p0;
5885 var = NULL;
5886 var_node_list = var;
5887 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5888 var_nodearraylist6 = var1;
5889 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5890 var_nodearraylist5 = var2;
5891 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5892 var_nodearraylist4 = var3;
5893 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5894 var_nodearraylist3 = var4;
5895 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5896 var_nodearraylist2 = var5;
5897 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5898 var_nodearraylist1 = var6;
5899 var_pdocnode2 = var_nodearraylist1;
5900 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5901 cltype = type_nullable_parser_nodes__ADoc.color;
5902 idtype = type_nullable_parser_nodes__ADoc.id;
5903 if(var_pdocnode2 == NULL) {
5904 var7 = 1;
5905 } else {
5906 if(cltype >= var_pdocnode2->type->table_size) {
5907 var7 = 0;
5908 } else {
5909 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
5910 }
5911 }
5912 if (!var7) {
5913 fprintf(stderr, "Runtime error: %s", "Assert failed");
5914 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17357);
5915 exit(1);
5916 }
5917 var_tkwredefnode5 = var_nodearraylist2;
5918 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
5919 cltype9 = type_nullable_parser_nodes__TKwredef.color;
5920 idtype10 = type_nullable_parser_nodes__TKwredef.id;
5921 if(var_tkwredefnode5 == NULL) {
5922 var8 = 1;
5923 } else {
5924 if(cltype9 >= var_tkwredefnode5->type->table_size) {
5925 var8 = 0;
5926 } else {
5927 var8 = var_tkwredefnode5->type->type_table[cltype9] == idtype10;
5928 }
5929 }
5930 if (!var8) {
5931 fprintf(stderr, "Runtime error: %s", "Assert failed");
5932 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17359);
5933 exit(1);
5934 }
5935 var_pvisibilitynode6 = var_nodearraylist3;
5936 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5937 cltype12 = type_nullable_parser_nodes__AVisibility.color;
5938 idtype13 = type_nullable_parser_nodes__AVisibility.id;
5939 if(var_pvisibilitynode6 == NULL) {
5940 var11 = 1;
5941 } else {
5942 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
5943 var11 = 0;
5944 } else {
5945 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
5946 }
5947 }
5948 if (!var11) {
5949 fprintf(stderr, "Runtime error: %s", "Assert failed");
5950 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17361);
5951 exit(1);
5952 }
5953 var_tkwvarnode7 = var_nodearraylist4;
5954 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5955 cltype15 = type_nullable_parser_nodes__TKwvar.color;
5956 idtype16 = type_nullable_parser_nodes__TKwvar.id;
5957 if(var_tkwvarnode7 == NULL) {
5958 var14 = 1;
5959 } else {
5960 if(cltype15 >= var_tkwvarnode7->type->table_size) {
5961 var14 = 0;
5962 } else {
5963 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
5964 }
5965 }
5966 if (!var14) {
5967 fprintf(stderr, "Runtime error: %s", "Assert failed");
5968 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17363);
5969 exit(1);
5970 }
5971 var_tattridnode8 = var_nodearraylist5;
5972 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
5973 cltype18 = type_nullable_parser_nodes__TAttrid.color;
5974 idtype19 = type_nullable_parser_nodes__TAttrid.id;
5975 if(var_tattridnode8 == NULL) {
5976 var17 = 1;
5977 } else {
5978 if(cltype18 >= var_tattridnode8->type->table_size) {
5979 var17 = 0;
5980 } else {
5981 var17 = var_tattridnode8->type->type_table[cltype18] == idtype19;
5982 }
5983 }
5984 if (!var17) {
5985 fprintf(stderr, "Runtime error: %s", "Assert failed");
5986 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17365);
5987 exit(1);
5988 }
5989 var_ptypenode10 = var_nodearraylist6;
5990 /* <var_ptypenode10:nullable Object> isa nullable AType */
5991 cltype21 = type_nullable_parser_nodes__AType.color;
5992 idtype22 = type_nullable_parser_nodes__AType.id;
5993 if(var_ptypenode10 == NULL) {
5994 var20 = 1;
5995 } else {
5996 if(cltype21 >= var_ptypenode10->type->table_size) {
5997 var20 = 0;
5998 } else {
5999 var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
6000 }
6001 }
6002 if (!var20) {
6003 fprintf(stderr, "Runtime error: %s", "Assert failed");
6004 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17367);
6005 exit(1);
6006 }
6007 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
6008 var24 = NULL;
6009 var25 = NULL;
6010 var26 = NULL;
6011 var27 = NULL;
6012 var28 = NULL;
6013 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var25, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var26, var_ptypenode10, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
6014 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
6015 var_ppropdefnode1 = var23;
6016 var_node_list = var_ppropdefnode1;
6017 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction390> */
6018 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
6019 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
6020 RET_LABEL:;
6021 }
6022 /* method parser#ReduceAction390#action for (self: Object, Parser) */
6023 void VIRTUAL_parser__ReduceAction390__action(val* self, val* p0) {
6024 parser__ReduceAction390__action(self, p0);
6025 RET_LABEL:;
6026 }
6027 /* method parser#ReduceAction391#action for (self: ReduceAction391, Parser) */
6028 void parser__ReduceAction391__action(val* self, val* p0) {
6029 val* var_p /* var p: Parser */;
6030 val* var /* : null */;
6031 val* var_node_list /* var node_list: nullable Object */;
6032 val* var1 /* : nullable Object */;
6033 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6034 val* var2 /* : nullable Object */;
6035 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6036 val* var3 /* : nullable Object */;
6037 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6038 val* var4 /* : nullable Object */;
6039 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6040 val* var5 /* : nullable Object */;
6041 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6042 val* var6 /* : nullable Object */;
6043 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6044 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6045 short int var7 /* : Bool */;
6046 int cltype;
6047 int idtype;
6048 val* var_pablenode3 /* var pablenode3: nullable Object */;
6049 short int var8 /* : Bool */;
6050 int cltype9;
6051 int idtype10;
6052 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
6053 short int var11 /* : Bool */;
6054 int cltype12;
6055 int idtype13;
6056 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
6057 short int var14 /* : Bool */;
6058 int cltype15;
6059 int idtype16;
6060 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
6061 short int var17 /* : Bool */;
6062 int cltype18;
6063 int idtype19;
6064 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
6065 short int var20 /* : Bool */;
6066 int cltype21;
6067 int idtype22;
6068 val* var23 /* : AAttrPropdef */;
6069 val* var24 /* : null */;
6070 val* var25 /* : null */;
6071 val* var26 /* : null */;
6072 val* var27 /* : null */;
6073 val* var28 /* : null */;
6074 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6075 long var29 /* : Int */;
6076 long var30 /* : Int */;
6077 var_p = p0;
6078 var = NULL;
6079 var_node_list = var;
6080 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6081 var_nodearraylist6 = var1;
6082 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6083 var_nodearraylist5 = var2;
6084 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6085 var_nodearraylist4 = var3;
6086 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6087 var_nodearraylist3 = var4;
6088 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6089 var_nodearraylist2 = var5;
6090 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6091 var_nodearraylist1 = var6;
6092 var_pdocnode2 = var_nodearraylist1;
6093 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6094 cltype = type_nullable_parser_nodes__ADoc.color;
6095 idtype = type_nullable_parser_nodes__ADoc.id;
6096 if(var_pdocnode2 == NULL) {
6097 var7 = 1;
6098 } else {
6099 if(cltype >= var_pdocnode2->type->table_size) {
6100 var7 = 0;
6101 } else {
6102 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
6103 }
6104 }
6105 if (!var7) {
6106 fprintf(stderr, "Runtime error: %s", "Assert failed");
6107 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17397);
6108 exit(1);
6109 }
6110 var_pablenode3 = var_nodearraylist2;
6111 /* <var_pablenode3:nullable Object> isa nullable AAble */
6112 cltype9 = type_nullable_parser_nodes__AAble.color;
6113 idtype10 = type_nullable_parser_nodes__AAble.id;
6114 if(var_pablenode3 == NULL) {
6115 var8 = 1;
6116 } else {
6117 if(cltype9 >= var_pablenode3->type->table_size) {
6118 var8 = 0;
6119 } else {
6120 var8 = var_pablenode3->type->type_table[cltype9] == idtype10;
6121 }
6122 }
6123 if (!var8) {
6124 fprintf(stderr, "Runtime error: %s", "Assert failed");
6125 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17399);
6126 exit(1);
6127 }
6128 var_pvisibilitynode6 = var_nodearraylist3;
6129 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
6130 cltype12 = type_nullable_parser_nodes__AVisibility.color;
6131 idtype13 = type_nullable_parser_nodes__AVisibility.id;
6132 if(var_pvisibilitynode6 == NULL) {
6133 var11 = 1;
6134 } else {
6135 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
6136 var11 = 0;
6137 } else {
6138 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
6139 }
6140 }
6141 if (!var11) {
6142 fprintf(stderr, "Runtime error: %s", "Assert failed");
6143 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17401);
6144 exit(1);
6145 }
6146 var_tkwvarnode7 = var_nodearraylist4;
6147 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
6148 cltype15 = type_nullable_parser_nodes__TKwvar.color;
6149 idtype16 = type_nullable_parser_nodes__TKwvar.id;
6150 if(var_tkwvarnode7 == NULL) {
6151 var14 = 1;
6152 } else {
6153 if(cltype15 >= var_tkwvarnode7->type->table_size) {
6154 var14 = 0;
6155 } else {
6156 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
6157 }
6158 }
6159 if (!var14) {
6160 fprintf(stderr, "Runtime error: %s", "Assert failed");
6161 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17403);
6162 exit(1);
6163 }
6164 var_tattridnode8 = var_nodearraylist5;
6165 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
6166 cltype18 = type_nullable_parser_nodes__TAttrid.color;
6167 idtype19 = type_nullable_parser_nodes__TAttrid.id;
6168 if(var_tattridnode8 == NULL) {
6169 var17 = 1;
6170 } else {
6171 if(cltype18 >= var_tattridnode8->type->table_size) {
6172 var17 = 0;
6173 } else {
6174 var17 = var_tattridnode8->type->type_table[cltype18] == idtype19;
6175 }
6176 }
6177 if (!var17) {
6178 fprintf(stderr, "Runtime error: %s", "Assert failed");
6179 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17405);
6180 exit(1);
6181 }
6182 var_ptypenode10 = var_nodearraylist6;
6183 /* <var_ptypenode10:nullable Object> isa nullable AType */
6184 cltype21 = type_nullable_parser_nodes__AType.color;
6185 idtype22 = type_nullable_parser_nodes__AType.id;
6186 if(var_ptypenode10 == NULL) {
6187 var20 = 1;
6188 } else {
6189 if(cltype21 >= var_ptypenode10->type->table_size) {
6190 var20 = 0;
6191 } else {
6192 var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
6193 }
6194 }
6195 if (!var20) {
6196 fprintf(stderr, "Runtime error: %s", "Assert failed");
6197 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17407);
6198 exit(1);
6199 }
6200 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
6201 var24 = NULL;
6202 var25 = NULL;
6203 var26 = NULL;
6204 var27 = NULL;
6205 var28 = NULL;
6206 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var_pablenode3, var24, var25, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var26, var_ptypenode10, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
6207 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
6208 var_ppropdefnode1 = var23;
6209 var_node_list = var_ppropdefnode1;
6210 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction391> */
6211 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
6212 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
6213 RET_LABEL:;
6214 }
6215 /* method parser#ReduceAction391#action for (self: Object, Parser) */
6216 void VIRTUAL_parser__ReduceAction391__action(val* self, val* p0) {
6217 parser__ReduceAction391__action(self, p0);
6218 RET_LABEL:;
6219 }
6220 /* method parser#ReduceAction392#action for (self: ReduceAction392, Parser) */
6221 void parser__ReduceAction392__action(val* self, val* p0) {
6222 val* var_p /* var p: Parser */;
6223 val* var /* : null */;
6224 val* var_node_list /* var node_list: nullable Object */;
6225 val* var1 /* : nullable Object */;
6226 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6227 val* var2 /* : nullable Object */;
6228 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6229 val* var3 /* : nullable Object */;
6230 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6231 val* var4 /* : nullable Object */;
6232 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6233 val* var5 /* : nullable Object */;
6234 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6235 val* var6 /* : nullable Object */;
6236 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6237 val* var7 /* : nullable Object */;
6238 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6239 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6240 short int var8 /* : Bool */;
6241 int cltype;
6242 int idtype;
6243 val* var_pablenode3 /* var pablenode3: nullable Object */;
6244 short int var9 /* : Bool */;
6245 int cltype10;
6246 int idtype11;
6247 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
6248 short int var12 /* : Bool */;
6249 int cltype13;
6250 int idtype14;
6251 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
6252 short int var15 /* : Bool */;
6253 int cltype16;
6254 int idtype17;
6255 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
6256 short int var18 /* : Bool */;
6257 int cltype19;
6258 int idtype20;
6259 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
6260 short int var21 /* : Bool */;
6261 int cltype22;
6262 int idtype23;
6263 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
6264 short int var24 /* : Bool */;
6265 int cltype25;
6266 int idtype26;
6267 val* var27 /* : AAttrPropdef */;
6268 val* var28 /* : null */;
6269 val* var29 /* : null */;
6270 val* var30 /* : null */;
6271 val* var31 /* : null */;
6272 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6273 long var32 /* : Int */;
6274 long var33 /* : Int */;
6275 var_p = p0;
6276 var = NULL;
6277 var_node_list = var;
6278 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6279 var_nodearraylist7 = var1;
6280 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6281 var_nodearraylist6 = var2;
6282 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6283 var_nodearraylist5 = var3;
6284 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6285 var_nodearraylist4 = var4;
6286 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6287 var_nodearraylist3 = var5;
6288 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6289 var_nodearraylist2 = var6;
6290 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6291 var_nodearraylist1 = var7;
6292 var_pdocnode2 = var_nodearraylist1;
6293 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6294 cltype = type_nullable_parser_nodes__ADoc.color;
6295 idtype = type_nullable_parser_nodes__ADoc.id;
6296 if(var_pdocnode2 == NULL) {
6297 var8 = 1;
6298 } else {
6299 if(cltype >= var_pdocnode2->type->table_size) {
6300 var8 = 0;
6301 } else {
6302 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
6303 }
6304 }
6305 if (!var8) {
6306 fprintf(stderr, "Runtime error: %s", "Assert failed");
6307 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17438);
6308 exit(1);
6309 }
6310 var_pablenode3 = var_nodearraylist2;
6311 /* <var_pablenode3:nullable Object> isa nullable AAble */
6312 cltype10 = type_nullable_parser_nodes__AAble.color;
6313 idtype11 = type_nullable_parser_nodes__AAble.id;
6314 if(var_pablenode3 == NULL) {
6315 var9 = 1;
6316 } else {
6317 if(cltype10 >= var_pablenode3->type->table_size) {
6318 var9 = 0;
6319 } else {
6320 var9 = var_pablenode3->type->type_table[cltype10] == idtype11;
6321 }
6322 }
6323 if (!var9) {
6324 fprintf(stderr, "Runtime error: %s", "Assert failed");
6325 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17440);
6326 exit(1);
6327 }
6328 var_tkwredefnode5 = var_nodearraylist3;
6329 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
6330 cltype13 = type_nullable_parser_nodes__TKwredef.color;
6331 idtype14 = type_nullable_parser_nodes__TKwredef.id;
6332 if(var_tkwredefnode5 == NULL) {
6333 var12 = 1;
6334 } else {
6335 if(cltype13 >= var_tkwredefnode5->type->table_size) {
6336 var12 = 0;
6337 } else {
6338 var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
6339 }
6340 }
6341 if (!var12) {
6342 fprintf(stderr, "Runtime error: %s", "Assert failed");
6343 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17442);
6344 exit(1);
6345 }
6346 var_pvisibilitynode6 = var_nodearraylist4;
6347 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
6348 cltype16 = type_nullable_parser_nodes__AVisibility.color;
6349 idtype17 = type_nullable_parser_nodes__AVisibility.id;
6350 if(var_pvisibilitynode6 == NULL) {
6351 var15 = 1;
6352 } else {
6353 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
6354 var15 = 0;
6355 } else {
6356 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
6357 }
6358 }
6359 if (!var15) {
6360 fprintf(stderr, "Runtime error: %s", "Assert failed");
6361 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17444);
6362 exit(1);
6363 }
6364 var_tkwvarnode7 = var_nodearraylist5;
6365 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
6366 cltype19 = type_nullable_parser_nodes__TKwvar.color;
6367 idtype20 = type_nullable_parser_nodes__TKwvar.id;
6368 if(var_tkwvarnode7 == NULL) {
6369 var18 = 1;
6370 } else {
6371 if(cltype19 >= var_tkwvarnode7->type->table_size) {
6372 var18 = 0;
6373 } else {
6374 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
6375 }
6376 }
6377 if (!var18) {
6378 fprintf(stderr, "Runtime error: %s", "Assert failed");
6379 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17446);
6380 exit(1);
6381 }
6382 var_tattridnode8 = var_nodearraylist6;
6383 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
6384 cltype22 = type_nullable_parser_nodes__TAttrid.color;
6385 idtype23 = type_nullable_parser_nodes__TAttrid.id;
6386 if(var_tattridnode8 == NULL) {
6387 var21 = 1;
6388 } else {
6389 if(cltype22 >= var_tattridnode8->type->table_size) {
6390 var21 = 0;
6391 } else {
6392 var21 = var_tattridnode8->type->type_table[cltype22] == idtype23;
6393 }
6394 }
6395 if (!var21) {
6396 fprintf(stderr, "Runtime error: %s", "Assert failed");
6397 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17448);
6398 exit(1);
6399 }
6400 var_ptypenode10 = var_nodearraylist7;
6401 /* <var_ptypenode10:nullable Object> isa nullable AType */
6402 cltype25 = type_nullable_parser_nodes__AType.color;
6403 idtype26 = type_nullable_parser_nodes__AType.id;
6404 if(var_ptypenode10 == NULL) {
6405 var24 = 1;
6406 } else {
6407 if(cltype25 >= var_ptypenode10->type->table_size) {
6408 var24 = 0;
6409 } else {
6410 var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
6411 }
6412 }
6413 if (!var24) {
6414 fprintf(stderr, "Runtime error: %s", "Assert failed");
6415 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17450);
6416 exit(1);
6417 }
6418 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
6419 var28 = NULL;
6420 var29 = NULL;
6421 var30 = NULL;
6422 var31 = NULL;
6423 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var_pablenode3, var28, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var29, var_ptypenode10, var30, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
6424 CHECK_NEW_parser_nodes__AAttrPropdef(var27);
6425 var_ppropdefnode1 = var27;
6426 var_node_list = var_ppropdefnode1;
6427 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction392> */
6428 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
6429 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
6430 RET_LABEL:;
6431 }
6432 /* method parser#ReduceAction392#action for (self: Object, Parser) */
6433 void VIRTUAL_parser__ReduceAction392__action(val* self, val* p0) {
6434 parser__ReduceAction392__action(self, p0);
6435 RET_LABEL:;
6436 }
6437 /* method parser#ReduceAction393#action for (self: ReduceAction393, Parser) */
6438 void parser__ReduceAction393__action(val* self, val* p0) {
6439 val* var_p /* var p: Parser */;
6440 val* var /* : null */;
6441 val* var_node_list /* var node_list: nullable Object */;
6442 val* var1 /* : nullable Object */;
6443 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6444 val* var2 /* : nullable Object */;
6445 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6446 val* var3 /* : nullable Object */;
6447 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6448 val* var4 /* : nullable Object */;
6449 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6450 val* var5 /* : nullable Object */;
6451 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6452 val* var6 /* : nullable Object */;
6453 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6454 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6455 short int var7 /* : Bool */;
6456 int cltype;
6457 int idtype;
6458 val* var_pablenode4 /* var pablenode4: nullable Object */;
6459 short int var8 /* : Bool */;
6460 int cltype9;
6461 int idtype10;
6462 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
6463 short int var11 /* : Bool */;
6464 int cltype12;
6465 int idtype13;
6466 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
6467 short int var14 /* : Bool */;
6468 int cltype15;
6469 int idtype16;
6470 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
6471 short int var17 /* : Bool */;
6472 int cltype18;
6473 int idtype19;
6474 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
6475 short int var20 /* : Bool */;
6476 int cltype21;
6477 int idtype22;
6478 val* var23 /* : AAttrPropdef */;
6479 val* var24 /* : null */;
6480 val* var25 /* : null */;
6481 val* var26 /* : null */;
6482 val* var27 /* : null */;
6483 val* var28 /* : null */;
6484 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6485 long var29 /* : Int */;
6486 long var30 /* : Int */;
6487 var_p = p0;
6488 var = NULL;
6489 var_node_list = var;
6490 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6491 var_nodearraylist6 = var1;
6492 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6493 var_nodearraylist5 = var2;
6494 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6495 var_nodearraylist4 = var3;
6496 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6497 var_nodearraylist3 = var4;
6498 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6499 var_nodearraylist2 = var5;
6500 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6501 var_nodearraylist1 = var6;
6502 var_pdocnode2 = var_nodearraylist1;
6503 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6504 cltype = type_nullable_parser_nodes__ADoc.color;
6505 idtype = type_nullable_parser_nodes__ADoc.id;
6506 if(var_pdocnode2 == NULL) {
6507 var7 = 1;
6508 } else {
6509 if(cltype >= var_pdocnode2->type->table_size) {
6510 var7 = 0;
6511 } else {
6512 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
6513 }
6514 }
6515 if (!var7) {
6516 fprintf(stderr, "Runtime error: %s", "Assert failed");
6517 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17480);
6518 exit(1);
6519 }
6520 var_pablenode4 = var_nodearraylist2;
6521 /* <var_pablenode4:nullable Object> isa nullable AAble */
6522 cltype9 = type_nullable_parser_nodes__AAble.color;
6523 idtype10 = type_nullable_parser_nodes__AAble.id;
6524 if(var_pablenode4 == NULL) {
6525 var8 = 1;
6526 } else {
6527 if(cltype9 >= var_pablenode4->type->table_size) {
6528 var8 = 0;
6529 } else {
6530 var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
6531 }
6532 }
6533 if (!var8) {
6534 fprintf(stderr, "Runtime error: %s", "Assert failed");
6535 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17482);
6536 exit(1);
6537 }
6538 var_pvisibilitynode6 = var_nodearraylist3;
6539 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
6540 cltype12 = type_nullable_parser_nodes__AVisibility.color;
6541 idtype13 = type_nullable_parser_nodes__AVisibility.id;
6542 if(var_pvisibilitynode6 == NULL) {
6543 var11 = 1;
6544 } else {
6545 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
6546 var11 = 0;
6547 } else {
6548 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
6549 }
6550 }
6551 if (!var11) {
6552 fprintf(stderr, "Runtime error: %s", "Assert failed");
6553 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17484);
6554 exit(1);
6555 }
6556 var_tkwvarnode7 = var_nodearraylist4;
6557 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
6558 cltype15 = type_nullable_parser_nodes__TKwvar.color;
6559 idtype16 = type_nullable_parser_nodes__TKwvar.id;
6560 if(var_tkwvarnode7 == NULL) {
6561 var14 = 1;
6562 } else {
6563 if(cltype15 >= var_tkwvarnode7->type->table_size) {
6564 var14 = 0;
6565 } else {
6566 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
6567 }
6568 }
6569 if (!var14) {
6570 fprintf(stderr, "Runtime error: %s", "Assert failed");
6571 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17486);
6572 exit(1);
6573 }
6574 var_tattridnode8 = var_nodearraylist5;
6575 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
6576 cltype18 = type_nullable_parser_nodes__TAttrid.color;
6577 idtype19 = type_nullable_parser_nodes__TAttrid.id;
6578 if(var_tattridnode8 == NULL) {
6579 var17 = 1;
6580 } else {
6581 if(cltype18 >= var_tattridnode8->type->table_size) {
6582 var17 = 0;
6583 } else {
6584 var17 = var_tattridnode8->type->type_table[cltype18] == idtype19;
6585 }
6586 }
6587 if (!var17) {
6588 fprintf(stderr, "Runtime error: %s", "Assert failed");
6589 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17488);
6590 exit(1);
6591 }
6592 var_ptypenode10 = var_nodearraylist6;
6593 /* <var_ptypenode10:nullable Object> isa nullable AType */
6594 cltype21 = type_nullable_parser_nodes__AType.color;
6595 idtype22 = type_nullable_parser_nodes__AType.id;
6596 if(var_ptypenode10 == NULL) {
6597 var20 = 1;
6598 } else {
6599 if(cltype21 >= var_ptypenode10->type->table_size) {
6600 var20 = 0;
6601 } else {
6602 var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
6603 }
6604 }
6605 if (!var20) {
6606 fprintf(stderr, "Runtime error: %s", "Assert failed");
6607 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17490);
6608 exit(1);
6609 }
6610 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
6611 var24 = NULL;
6612 var25 = NULL;
6613 var26 = NULL;
6614 var27 = NULL;
6615 var28 = NULL;
6616 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var_pablenode4, var25, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var26, var_ptypenode10, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
6617 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
6618 var_ppropdefnode1 = var23;
6619 var_node_list = var_ppropdefnode1;
6620 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction393> */
6621 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
6622 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
6623 RET_LABEL:;
6624 }
6625 /* method parser#ReduceAction393#action for (self: Object, Parser) */
6626 void VIRTUAL_parser__ReduceAction393__action(val* self, val* p0) {
6627 parser__ReduceAction393__action(self, p0);
6628 RET_LABEL:;
6629 }
6630 /* method parser#ReduceAction394#action for (self: ReduceAction394, Parser) */
6631 void parser__ReduceAction394__action(val* self, val* p0) {
6632 val* var_p /* var p: Parser */;
6633 val* var /* : null */;
6634 val* var_node_list /* var node_list: nullable Object */;
6635 val* var1 /* : nullable Object */;
6636 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6637 val* var2 /* : nullable Object */;
6638 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6639 val* var3 /* : nullable Object */;
6640 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6641 val* var4 /* : nullable Object */;
6642 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6643 val* var5 /* : nullable Object */;
6644 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6645 val* var6 /* : nullable Object */;
6646 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6647 val* var7 /* : nullable Object */;
6648 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6649 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6650 short int var8 /* : Bool */;
6651 int cltype;
6652 int idtype;
6653 val* var_pablenode4 /* var pablenode4: nullable Object */;
6654 short int var9 /* : Bool */;
6655 int cltype10;
6656 int idtype11;
6657 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
6658 short int var12 /* : Bool */;
6659 int cltype13;
6660 int idtype14;
6661 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
6662 short int var15 /* : Bool */;
6663 int cltype16;
6664 int idtype17;
6665 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
6666 short int var18 /* : Bool */;
6667 int cltype19;
6668 int idtype20;
6669 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
6670 short int var21 /* : Bool */;
6671 int cltype22;
6672 int idtype23;
6673 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
6674 short int var24 /* : Bool */;
6675 int cltype25;
6676 int idtype26;
6677 val* var27 /* : AAttrPropdef */;
6678 val* var28 /* : null */;
6679 val* var29 /* : null */;
6680 val* var30 /* : null */;
6681 val* var31 /* : null */;
6682 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6683 long var32 /* : Int */;
6684 long var33 /* : Int */;
6685 var_p = p0;
6686 var = NULL;
6687 var_node_list = var;
6688 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6689 var_nodearraylist7 = var1;
6690 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6691 var_nodearraylist6 = var2;
6692 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6693 var_nodearraylist5 = var3;
6694 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6695 var_nodearraylist4 = var4;
6696 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6697 var_nodearraylist3 = var5;
6698 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6699 var_nodearraylist2 = var6;
6700 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6701 var_nodearraylist1 = var7;
6702 var_pdocnode2 = var_nodearraylist1;
6703 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6704 cltype = type_nullable_parser_nodes__ADoc.color;
6705 idtype = type_nullable_parser_nodes__ADoc.id;
6706 if(var_pdocnode2 == NULL) {
6707 var8 = 1;
6708 } else {
6709 if(cltype >= var_pdocnode2->type->table_size) {
6710 var8 = 0;
6711 } else {
6712 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
6713 }
6714 }
6715 if (!var8) {
6716 fprintf(stderr, "Runtime error: %s", "Assert failed");
6717 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17521);
6718 exit(1);
6719 }
6720 var_pablenode4 = var_nodearraylist2;
6721 /* <var_pablenode4:nullable Object> isa nullable AAble */
6722 cltype10 = type_nullable_parser_nodes__AAble.color;
6723 idtype11 = type_nullable_parser_nodes__AAble.id;
6724 if(var_pablenode4 == NULL) {
6725 var9 = 1;
6726 } else {
6727 if(cltype10 >= var_pablenode4->type->table_size) {
6728 var9 = 0;
6729 } else {
6730 var9 = var_pablenode4->type->type_table[cltype10] == idtype11;
6731 }
6732 }
6733 if (!var9) {
6734 fprintf(stderr, "Runtime error: %s", "Assert failed");
6735 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17523);
6736 exit(1);
6737 }
6738 var_tkwredefnode5 = var_nodearraylist3;
6739 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
6740 cltype13 = type_nullable_parser_nodes__TKwredef.color;
6741 idtype14 = type_nullable_parser_nodes__TKwredef.id;
6742 if(var_tkwredefnode5 == NULL) {
6743 var12 = 1;
6744 } else {
6745 if(cltype13 >= var_tkwredefnode5->type->table_size) {
6746 var12 = 0;
6747 } else {
6748 var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
6749 }
6750 }
6751 if (!var12) {
6752 fprintf(stderr, "Runtime error: %s", "Assert failed");
6753 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17525);
6754 exit(1);
6755 }
6756 var_pvisibilitynode6 = var_nodearraylist4;
6757 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
6758 cltype16 = type_nullable_parser_nodes__AVisibility.color;
6759 idtype17 = type_nullable_parser_nodes__AVisibility.id;
6760 if(var_pvisibilitynode6 == NULL) {
6761 var15 = 1;
6762 } else {
6763 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
6764 var15 = 0;
6765 } else {
6766 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
6767 }
6768 }
6769 if (!var15) {
6770 fprintf(stderr, "Runtime error: %s", "Assert failed");
6771 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17527);
6772 exit(1);
6773 }
6774 var_tkwvarnode7 = var_nodearraylist5;
6775 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
6776 cltype19 = type_nullable_parser_nodes__TKwvar.color;
6777 idtype20 = type_nullable_parser_nodes__TKwvar.id;
6778 if(var_tkwvarnode7 == NULL) {
6779 var18 = 1;
6780 } else {
6781 if(cltype19 >= var_tkwvarnode7->type->table_size) {
6782 var18 = 0;
6783 } else {
6784 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
6785 }
6786 }
6787 if (!var18) {
6788 fprintf(stderr, "Runtime error: %s", "Assert failed");
6789 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17529);
6790 exit(1);
6791 }
6792 var_tattridnode8 = var_nodearraylist6;
6793 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
6794 cltype22 = type_nullable_parser_nodes__TAttrid.color;
6795 idtype23 = type_nullable_parser_nodes__TAttrid.id;
6796 if(var_tattridnode8 == NULL) {
6797 var21 = 1;
6798 } else {
6799 if(cltype22 >= var_tattridnode8->type->table_size) {
6800 var21 = 0;
6801 } else {
6802 var21 = var_tattridnode8->type->type_table[cltype22] == idtype23;
6803 }
6804 }
6805 if (!var21) {
6806 fprintf(stderr, "Runtime error: %s", "Assert failed");
6807 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17531);
6808 exit(1);
6809 }
6810 var_ptypenode10 = var_nodearraylist7;
6811 /* <var_ptypenode10:nullable Object> isa nullable AType */
6812 cltype25 = type_nullable_parser_nodes__AType.color;
6813 idtype26 = type_nullable_parser_nodes__AType.id;
6814 if(var_ptypenode10 == NULL) {
6815 var24 = 1;
6816 } else {
6817 if(cltype25 >= var_ptypenode10->type->table_size) {
6818 var24 = 0;
6819 } else {
6820 var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
6821 }
6822 }
6823 if (!var24) {
6824 fprintf(stderr, "Runtime error: %s", "Assert failed");
6825 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17533);
6826 exit(1);
6827 }
6828 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
6829 var28 = NULL;
6830 var29 = NULL;
6831 var30 = NULL;
6832 var31 = NULL;
6833 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var28, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var29, var_ptypenode10, var30, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
6834 CHECK_NEW_parser_nodes__AAttrPropdef(var27);
6835 var_ppropdefnode1 = var27;
6836 var_node_list = var_ppropdefnode1;
6837 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction394> */
6838 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
6839 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
6840 RET_LABEL:;
6841 }
6842 /* method parser#ReduceAction394#action for (self: Object, Parser) */
6843 void VIRTUAL_parser__ReduceAction394__action(val* self, val* p0) {
6844 parser__ReduceAction394__action(self, p0);
6845 RET_LABEL:;
6846 }
6847 /* method parser#ReduceAction395#action for (self: ReduceAction395, Parser) */
6848 void parser__ReduceAction395__action(val* self, val* p0) {
6849 val* var_p /* var p: Parser */;
6850 val* var /* : null */;
6851 val* var_node_list /* var node_list: nullable Object */;
6852 val* var1 /* : nullable Object */;
6853 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6854 val* var2 /* : nullable Object */;
6855 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6856 val* var3 /* : nullable Object */;
6857 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6858 val* var4 /* : nullable Object */;
6859 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6860 val* var5 /* : nullable Object */;
6861 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6862 val* var6 /* : nullable Object */;
6863 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6864 val* var7 /* : nullable Object */;
6865 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6866 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6867 short int var8 /* : Bool */;
6868 int cltype;
6869 int idtype;
6870 val* var_pablenode3 /* var pablenode3: nullable Object */;
6871 short int var9 /* : Bool */;
6872 int cltype10;
6873 int idtype11;
6874 val* var_pablenode4 /* var pablenode4: nullable Object */;
6875 short int var12 /* : Bool */;
6876 int cltype13;
6877 int idtype14;
6878 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
6879 short int var15 /* : Bool */;
6880 int cltype16;
6881 int idtype17;
6882 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
6883 short int var18 /* : Bool */;
6884 int cltype19;
6885 int idtype20;
6886 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
6887 short int var21 /* : Bool */;
6888 int cltype22;
6889 int idtype23;
6890 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
6891 short int var24 /* : Bool */;
6892 int cltype25;
6893 int idtype26;
6894 val* var27 /* : AAttrPropdef */;
6895 val* var28 /* : null */;
6896 val* var29 /* : null */;
6897 val* var30 /* : null */;
6898 val* var31 /* : null */;
6899 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6900 long var32 /* : Int */;
6901 long var33 /* : Int */;
6902 var_p = p0;
6903 var = NULL;
6904 var_node_list = var;
6905 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6906 var_nodearraylist7 = var1;
6907 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6908 var_nodearraylist6 = var2;
6909 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6910 var_nodearraylist5 = var3;
6911 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6912 var_nodearraylist4 = var4;
6913 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6914 var_nodearraylist3 = var5;
6915 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6916 var_nodearraylist2 = var6;
6917 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6918 var_nodearraylist1 = var7;
6919 var_pdocnode2 = var_nodearraylist1;
6920 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6921 cltype = type_nullable_parser_nodes__ADoc.color;
6922 idtype = type_nullable_parser_nodes__ADoc.id;
6923 if(var_pdocnode2 == NULL) {
6924 var8 = 1;
6925 } else {
6926 if(cltype >= var_pdocnode2->type->table_size) {
6927 var8 = 0;
6928 } else {
6929 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
6930 }
6931 }
6932 if (!var8) {
6933 fprintf(stderr, "Runtime error: %s", "Assert failed");
6934 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17564);
6935 exit(1);
6936 }
6937 var_pablenode3 = var_nodearraylist2;
6938 /* <var_pablenode3:nullable Object> isa nullable AAble */
6939 cltype10 = type_nullable_parser_nodes__AAble.color;
6940 idtype11 = type_nullable_parser_nodes__AAble.id;
6941 if(var_pablenode3 == NULL) {
6942 var9 = 1;
6943 } else {
6944 if(cltype10 >= var_pablenode3->type->table_size) {
6945 var9 = 0;
6946 } else {
6947 var9 = var_pablenode3->type->type_table[cltype10] == idtype11;
6948 }
6949 }
6950 if (!var9) {
6951 fprintf(stderr, "Runtime error: %s", "Assert failed");
6952 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17566);
6953 exit(1);
6954 }
6955 var_pablenode4 = var_nodearraylist3;
6956 /* <var_pablenode4:nullable Object> isa nullable AAble */
6957 cltype13 = type_nullable_parser_nodes__AAble.color;
6958 idtype14 = type_nullable_parser_nodes__AAble.id;
6959 if(var_pablenode4 == NULL) {
6960 var12 = 1;
6961 } else {
6962 if(cltype13 >= var_pablenode4->type->table_size) {
6963 var12 = 0;
6964 } else {
6965 var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
6966 }
6967 }
6968 if (!var12) {
6969 fprintf(stderr, "Runtime error: %s", "Assert failed");
6970 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17568);
6971 exit(1);
6972 }
6973 var_pvisibilitynode6 = var_nodearraylist4;
6974 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
6975 cltype16 = type_nullable_parser_nodes__AVisibility.color;
6976 idtype17 = type_nullable_parser_nodes__AVisibility.id;
6977 if(var_pvisibilitynode6 == NULL) {
6978 var15 = 1;
6979 } else {
6980 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
6981 var15 = 0;
6982 } else {
6983 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
6984 }
6985 }
6986 if (!var15) {
6987 fprintf(stderr, "Runtime error: %s", "Assert failed");
6988 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17570);
6989 exit(1);
6990 }
6991 var_tkwvarnode7 = var_nodearraylist5;
6992 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
6993 cltype19 = type_nullable_parser_nodes__TKwvar.color;
6994 idtype20 = type_nullable_parser_nodes__TKwvar.id;
6995 if(var_tkwvarnode7 == NULL) {
6996 var18 = 1;
6997 } else {
6998 if(cltype19 >= var_tkwvarnode7->type->table_size) {
6999 var18 = 0;
7000 } else {
7001 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
7002 }
7003 }
7004 if (!var18) {
7005 fprintf(stderr, "Runtime error: %s", "Assert failed");
7006 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17572);
7007 exit(1);
7008 }
7009 var_tattridnode8 = var_nodearraylist6;
7010 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
7011 cltype22 = type_nullable_parser_nodes__TAttrid.color;
7012 idtype23 = type_nullable_parser_nodes__TAttrid.id;
7013 if(var_tattridnode8 == NULL) {
7014 var21 = 1;
7015 } else {
7016 if(cltype22 >= var_tattridnode8->type->table_size) {
7017 var21 = 0;
7018 } else {
7019 var21 = var_tattridnode8->type->type_table[cltype22] == idtype23;
7020 }
7021 }
7022 if (!var21) {
7023 fprintf(stderr, "Runtime error: %s", "Assert failed");
7024 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17574);
7025 exit(1);
7026 }
7027 var_ptypenode10 = var_nodearraylist7;
7028 /* <var_ptypenode10:nullable Object> isa nullable AType */
7029 cltype25 = type_nullable_parser_nodes__AType.color;
7030 idtype26 = type_nullable_parser_nodes__AType.id;
7031 if(var_ptypenode10 == NULL) {
7032 var24 = 1;
7033 } else {
7034 if(cltype25 >= var_ptypenode10->type->table_size) {
7035 var24 = 0;
7036 } else {
7037 var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
7038 }
7039 }
7040 if (!var24) {
7041 fprintf(stderr, "Runtime error: %s", "Assert failed");
7042 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17576);
7043 exit(1);
7044 }
7045 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
7046 var28 = NULL;
7047 var29 = NULL;
7048 var30 = NULL;
7049 var31 = NULL;
7050 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var_pablenode3, var_pablenode4, var28, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var29, var_ptypenode10, var30, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
7051 CHECK_NEW_parser_nodes__AAttrPropdef(var27);
7052 var_ppropdefnode1 = var27;
7053 var_node_list = var_ppropdefnode1;
7054 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction395> */
7055 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
7056 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
7057 RET_LABEL:;
7058 }
7059 /* method parser#ReduceAction395#action for (self: Object, Parser) */
7060 void VIRTUAL_parser__ReduceAction395__action(val* self, val* p0) {
7061 parser__ReduceAction395__action(self, p0);
7062 RET_LABEL:;
7063 }
7064 /* method parser#ReduceAction396#action for (self: ReduceAction396, Parser) */
7065 void parser__ReduceAction396__action(val* self, val* p0) {
7066 val* var_p /* var p: Parser */;
7067 val* var /* : null */;
7068 val* var_node_list /* var node_list: nullable Object */;
7069 val* var1 /* : nullable Object */;
7070 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7071 val* var2 /* : nullable Object */;
7072 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7073 val* var3 /* : nullable Object */;
7074 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7075 val* var4 /* : nullable Object */;
7076 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7077 val* var5 /* : nullable Object */;
7078 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7079 val* var6 /* : nullable Object */;
7080 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7081 val* var7 /* : nullable Object */;
7082 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7083 val* var8 /* : nullable Object */;
7084 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7085 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7086 short int var9 /* : Bool */;
7087 int cltype;
7088 int idtype;
7089 val* var_pablenode3 /* var pablenode3: nullable Object */;
7090 short int var10 /* : Bool */;
7091 int cltype11;
7092 int idtype12;
7093 val* var_pablenode4 /* var pablenode4: nullable Object */;
7094 short int var13 /* : Bool */;
7095 int cltype14;
7096 int idtype15;
7097 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
7098 short int var16 /* : Bool */;
7099 int cltype17;
7100 int idtype18;
7101 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
7102 short int var19 /* : Bool */;
7103 int cltype20;
7104 int idtype21;
7105 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
7106 short int var22 /* : Bool */;
7107 int cltype23;
7108 int idtype24;
7109 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
7110 short int var25 /* : Bool */;
7111 int cltype26;
7112 int idtype27;
7113 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
7114 short int var28 /* : Bool */;
7115 int cltype29;
7116 int idtype30;
7117 val* var31 /* : AAttrPropdef */;
7118 val* var32 /* : null */;
7119 val* var33 /* : null */;
7120 val* var34 /* : null */;
7121 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
7122 long var35 /* : Int */;
7123 long var36 /* : Int */;
7124 var_p = p0;
7125 var = NULL;
7126 var_node_list = var;
7127 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7128 var_nodearraylist8 = var1;
7129 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7130 var_nodearraylist7 = var2;
7131 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7132 var_nodearraylist6 = var3;
7133 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7134 var_nodearraylist5 = var4;
7135 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7136 var_nodearraylist4 = var5;
7137 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7138 var_nodearraylist3 = var6;
7139 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7140 var_nodearraylist2 = var7;
7141 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7142 var_nodearraylist1 = var8;
7143 var_pdocnode2 = var_nodearraylist1;
7144 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7145 cltype = type_nullable_parser_nodes__ADoc.color;
7146 idtype = type_nullable_parser_nodes__ADoc.id;
7147 if(var_pdocnode2 == NULL) {
7148 var9 = 1;
7149 } else {
7150 if(cltype >= var_pdocnode2->type->table_size) {
7151 var9 = 0;
7152 } else {
7153 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
7154 }
7155 }
7156 if (!var9) {
7157 fprintf(stderr, "Runtime error: %s", "Assert failed");
7158 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17608);
7159 exit(1);
7160 }
7161 var_pablenode3 = var_nodearraylist2;
7162 /* <var_pablenode3:nullable Object> isa nullable AAble */
7163 cltype11 = type_nullable_parser_nodes__AAble.color;
7164 idtype12 = type_nullable_parser_nodes__AAble.id;
7165 if(var_pablenode3 == NULL) {
7166 var10 = 1;
7167 } else {
7168 if(cltype11 >= var_pablenode3->type->table_size) {
7169 var10 = 0;
7170 } else {
7171 var10 = var_pablenode3->type->type_table[cltype11] == idtype12;
7172 }
7173 }
7174 if (!var10) {
7175 fprintf(stderr, "Runtime error: %s", "Assert failed");
7176 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17610);
7177 exit(1);
7178 }
7179 var_pablenode4 = var_nodearraylist3;
7180 /* <var_pablenode4:nullable Object> isa nullable AAble */
7181 cltype14 = type_nullable_parser_nodes__AAble.color;
7182 idtype15 = type_nullable_parser_nodes__AAble.id;
7183 if(var_pablenode4 == NULL) {
7184 var13 = 1;
7185 } else {
7186 if(cltype14 >= var_pablenode4->type->table_size) {
7187 var13 = 0;
7188 } else {
7189 var13 = var_pablenode4->type->type_table[cltype14] == idtype15;
7190 }
7191 }
7192 if (!var13) {
7193 fprintf(stderr, "Runtime error: %s", "Assert failed");
7194 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17612);
7195 exit(1);
7196 }
7197 var_tkwredefnode5 = var_nodearraylist4;
7198 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
7199 cltype17 = type_nullable_parser_nodes__TKwredef.color;
7200 idtype18 = type_nullable_parser_nodes__TKwredef.id;
7201 if(var_tkwredefnode5 == NULL) {
7202 var16 = 1;
7203 } else {
7204 if(cltype17 >= var_tkwredefnode5->type->table_size) {
7205 var16 = 0;
7206 } else {
7207 var16 = var_tkwredefnode5->type->type_table[cltype17] == idtype18;
7208 }
7209 }
7210 if (!var16) {
7211 fprintf(stderr, "Runtime error: %s", "Assert failed");
7212 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17614);
7213 exit(1);
7214 }
7215 var_pvisibilitynode6 = var_nodearraylist5;
7216 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
7217 cltype20 = type_nullable_parser_nodes__AVisibility.color;
7218 idtype21 = type_nullable_parser_nodes__AVisibility.id;
7219 if(var_pvisibilitynode6 == NULL) {
7220 var19 = 1;
7221 } else {
7222 if(cltype20 >= var_pvisibilitynode6->type->table_size) {
7223 var19 = 0;
7224 } else {
7225 var19 = var_pvisibilitynode6->type->type_table[cltype20] == idtype21;
7226 }
7227 }
7228 if (!var19) {
7229 fprintf(stderr, "Runtime error: %s", "Assert failed");
7230 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17616);
7231 exit(1);
7232 }
7233 var_tkwvarnode7 = var_nodearraylist6;
7234 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
7235 cltype23 = type_nullable_parser_nodes__TKwvar.color;
7236 idtype24 = type_nullable_parser_nodes__TKwvar.id;
7237 if(var_tkwvarnode7 == NULL) {
7238 var22 = 1;
7239 } else {
7240 if(cltype23 >= var_tkwvarnode7->type->table_size) {
7241 var22 = 0;
7242 } else {
7243 var22 = var_tkwvarnode7->type->type_table[cltype23] == idtype24;
7244 }
7245 }
7246 if (!var22) {
7247 fprintf(stderr, "Runtime error: %s", "Assert failed");
7248 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17618);
7249 exit(1);
7250 }
7251 var_tattridnode8 = var_nodearraylist7;
7252 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
7253 cltype26 = type_nullable_parser_nodes__TAttrid.color;
7254 idtype27 = type_nullable_parser_nodes__TAttrid.id;
7255 if(var_tattridnode8 == NULL) {
7256 var25 = 1;
7257 } else {
7258 if(cltype26 >= var_tattridnode8->type->table_size) {
7259 var25 = 0;
7260 } else {
7261 var25 = var_tattridnode8->type->type_table[cltype26] == idtype27;
7262 }
7263 }
7264 if (!var25) {
7265 fprintf(stderr, "Runtime error: %s", "Assert failed");
7266 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17620);
7267 exit(1);
7268 }
7269 var_ptypenode10 = var_nodearraylist8;
7270 /* <var_ptypenode10:nullable Object> isa nullable AType */
7271 cltype29 = type_nullable_parser_nodes__AType.color;
7272 idtype30 = type_nullable_parser_nodes__AType.id;
7273 if(var_ptypenode10 == NULL) {
7274 var28 = 1;
7275 } else {
7276 if(cltype29 >= var_ptypenode10->type->table_size) {
7277 var28 = 0;
7278 } else {
7279 var28 = var_ptypenode10->type->type_table[cltype29] == idtype30;
7280 }
7281 }
7282 if (!var28) {
7283 fprintf(stderr, "Runtime error: %s", "Assert failed");
7284 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17622);
7285 exit(1);
7286 }
7287 var31 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
7288 var32 = NULL;
7289 var33 = NULL;
7290 var34 = NULL;
7291 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var31, var_pdocnode2, var_pablenode3, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var32, var_ptypenode10, var33, var34) /* init_aattrpropdef on <var31:AAttrPropdef>*/;
7292 CHECK_NEW_parser_nodes__AAttrPropdef(var31);
7293 var_ppropdefnode1 = var31;
7294 var_node_list = var_ppropdefnode1;
7295 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction396> */
7296 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
7297 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
7298 RET_LABEL:;
7299 }
7300 /* method parser#ReduceAction396#action for (self: Object, Parser) */
7301 void VIRTUAL_parser__ReduceAction396__action(val* self, val* p0) {
7302 parser__ReduceAction396__action(self, p0);
7303 RET_LABEL:;
7304 }
7305 /* method parser#ReduceAction397#action for (self: ReduceAction397, Parser) */
7306 void parser__ReduceAction397__action(val* self, val* p0) {
7307 val* var_p /* var p: Parser */;
7308 val* var /* : null */;
7309 val* var_node_list /* var node_list: nullable Object */;
7310 val* var1 /* : nullable Object */;
7311 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7312 val* var2 /* : nullable Object */;
7313 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7314 val* var3 /* : nullable Object */;
7315 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7316 val* var4 /* : nullable Object */;
7317 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7318 val* var5 /* : nullable Object */;
7319 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7320 val* var6 /* : nullable Object */;
7321 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7322 val* var7 /* : nullable Object */;
7323 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7324 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7325 short int var8 /* : Bool */;
7326 int cltype;
7327 int idtype;
7328 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
7329 short int var9 /* : Bool */;
7330 int cltype10;
7331 int idtype11;
7332 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
7333 short int var12 /* : Bool */;
7334 int cltype13;
7335 int idtype14;
7336 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
7337 short int var15 /* : Bool */;
7338 int cltype16;
7339 int idtype17;
7340 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
7341 short int var18 /* : Bool */;
7342 int cltype19;
7343 int idtype20;
7344 val* var21 /* : AAttrPropdef */;
7345 val* var22 /* : null */;
7346 val* var23 /* : null */;
7347 val* var24 /* : null */;
7348 val* var25 /* : null */;
7349 val* var26 /* : null */;
7350 val* var27 /* : null */;
7351 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
7352 long var28 /* : Int */;
7353 long var29 /* : Int */;
7354 var_p = p0;
7355 var = NULL;
7356 var_node_list = var;
7357 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7358 var_nodearraylist7 = var1;
7359 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7360 var_nodearraylist6 = var2;
7361 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7362 var_nodearraylist5 = var3;
7363 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7364 var_nodearraylist4 = var4;
7365 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7366 var_nodearraylist3 = var5;
7367 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7368 var_nodearraylist2 = var6;
7369 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7370 var_nodearraylist1 = var7;
7371 var_pdocnode2 = var_nodearraylist1;
7372 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7373 cltype = type_nullable_parser_nodes__ADoc.color;
7374 idtype = type_nullable_parser_nodes__ADoc.id;
7375 if(var_pdocnode2 == NULL) {
7376 var8 = 1;
7377 } else {
7378 if(cltype >= var_pdocnode2->type->table_size) {
7379 var8 = 0;
7380 } else {
7381 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
7382 }
7383 }
7384 if (!var8) {
7385 fprintf(stderr, "Runtime error: %s", "Assert failed");
7386 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17653);
7387 exit(1);
7388 }
7389 var_pvisibilitynode6 = var_nodearraylist2;
7390 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
7391 cltype10 = type_nullable_parser_nodes__AVisibility.color;
7392 idtype11 = type_nullable_parser_nodes__AVisibility.id;
7393 if(var_pvisibilitynode6 == NULL) {
7394 var9 = 1;
7395 } else {
7396 if(cltype10 >= var_pvisibilitynode6->type->table_size) {
7397 var9 = 0;
7398 } else {
7399 var9 = var_pvisibilitynode6->type->type_table[cltype10] == idtype11;
7400 }
7401 }
7402 if (!var9) {
7403 fprintf(stderr, "Runtime error: %s", "Assert failed");
7404 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17655);
7405 exit(1);
7406 }
7407 var_tkwvarnode7 = var_nodearraylist3;
7408 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
7409 cltype13 = type_nullable_parser_nodes__TKwvar.color;
7410 idtype14 = type_nullable_parser_nodes__TKwvar.id;
7411 if(var_tkwvarnode7 == NULL) {
7412 var12 = 1;
7413 } else {
7414 if(cltype13 >= var_tkwvarnode7->type->table_size) {
7415 var12 = 0;
7416 } else {
7417 var12 = var_tkwvarnode7->type->type_table[cltype13] == idtype14;
7418 }
7419 }
7420 if (!var12) {
7421 fprintf(stderr, "Runtime error: %s", "Assert failed");
7422 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17657);
7423 exit(1);
7424 }
7425 var_tattridnode8 = var_nodearraylist4;
7426 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
7427 cltype16 = type_nullable_parser_nodes__TAttrid.color;
7428 idtype17 = type_nullable_parser_nodes__TAttrid.id;
7429 if(var_tattridnode8 == NULL) {
7430 var15 = 1;
7431 } else {
7432 if(cltype16 >= var_tattridnode8->type->table_size) {
7433 var15 = 0;
7434 } else {
7435 var15 = var_tattridnode8->type->type_table[cltype16] == idtype17;
7436 }
7437 }
7438 if (!var15) {
7439 fprintf(stderr, "Runtime error: %s", "Assert failed");
7440 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17659);
7441 exit(1);
7442 }
7443 var_pexprnode12 = var_nodearraylist7;
7444 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
7445 cltype19 = type_nullable_parser_nodes__AExpr.color;
7446 idtype20 = type_nullable_parser_nodes__AExpr.id;
7447 if(var_pexprnode12 == NULL) {
7448 var18 = 1;
7449 } else {
7450 if(cltype19 >= var_pexprnode12->type->table_size) {
7451 var18 = 0;
7452 } else {
7453 var18 = var_pexprnode12->type->type_table[cltype19] == idtype20;
7454 }
7455 }
7456 if (!var18) {
7457 fprintf(stderr, "Runtime error: %s", "Assert failed");
7458 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17661);
7459 exit(1);
7460 }
7461 var21 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
7462 var22 = NULL;
7463 var23 = NULL;
7464 var24 = NULL;
7465 var25 = NULL;
7466 var26 = NULL;
7467 var27 = NULL;
7468 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var21, var_pdocnode2, var22, var23, var24, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var25, var26, var27, var_pexprnode12) /* init_aattrpropdef on <var21:AAttrPropdef>*/;
7469 CHECK_NEW_parser_nodes__AAttrPropdef(var21);
7470 var_ppropdefnode1 = var21;
7471 var_node_list = var_ppropdefnode1;
7472 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction397> */
7473 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
7474 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
7475 RET_LABEL:;
7476 }
7477 /* method parser#ReduceAction397#action for (self: Object, Parser) */
7478 void VIRTUAL_parser__ReduceAction397__action(val* self, val* p0) {
7479 parser__ReduceAction397__action(self, p0);
7480 RET_LABEL:;
7481 }
7482 /* method parser#ReduceAction398#action for (self: ReduceAction398, Parser) */
7483 void parser__ReduceAction398__action(val* self, val* p0) {
7484 val* var_p /* var p: Parser */;
7485 val* var /* : null */;
7486 val* var_node_list /* var node_list: nullable Object */;
7487 val* var1 /* : nullable Object */;
7488 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7489 val* var2 /* : nullable Object */;
7490 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7491 val* var3 /* : nullable Object */;
7492 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7493 val* var4 /* : nullable Object */;
7494 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7495 val* var5 /* : nullable Object */;
7496 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7497 val* var6 /* : nullable Object */;
7498 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7499 val* var7 /* : nullable Object */;
7500 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7501 val* var8 /* : nullable Object */;
7502 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7503 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7504 short int var9 /* : Bool */;
7505 int cltype;
7506 int idtype;
7507 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
7508 short int var10 /* : Bool */;
7509 int cltype11;
7510 int idtype12;
7511 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
7512 short int var13 /* : Bool */;
7513 int cltype14;
7514 int idtype15;
7515 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
7516 short int var16 /* : Bool */;
7517 int cltype17;
7518 int idtype18;
7519 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
7520 short int var19 /* : Bool */;
7521 int cltype20;
7522 int idtype21;
7523 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
7524 short int var22 /* : Bool */;
7525 int cltype23;
7526 int idtype24;
7527 val* var25 /* : AAttrPropdef */;
7528 val* var26 /* : null */;
7529 val* var27 /* : null */;
7530 val* var28 /* : null */;
7531 val* var29 /* : null */;
7532 val* var30 /* : null */;
7533 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
7534 long var31 /* : Int */;
7535 long var32 /* : Int */;
7536 var_p = p0;
7537 var = NULL;
7538 var_node_list = var;
7539 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7540 var_nodearraylist8 = var1;
7541 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7542 var_nodearraylist7 = var2;
7543 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7544 var_nodearraylist6 = var3;
7545 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7546 var_nodearraylist5 = var4;
7547 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7548 var_nodearraylist4 = var5;
7549 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7550 var_nodearraylist3 = var6;
7551 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7552 var_nodearraylist2 = var7;
7553 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7554 var_nodearraylist1 = var8;
7555 var_pdocnode2 = var_nodearraylist1;
7556 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7557 cltype = type_nullable_parser_nodes__ADoc.color;
7558 idtype = type_nullable_parser_nodes__ADoc.id;
7559 if(var_pdocnode2 == NULL) {
7560 var9 = 1;
7561 } else {
7562 if(cltype >= var_pdocnode2->type->table_size) {
7563 var9 = 0;
7564 } else {
7565 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
7566 }
7567 }
7568 if (!var9) {
7569 fprintf(stderr, "Runtime error: %s", "Assert failed");
7570 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17693);
7571 exit(1);
7572 }
7573 var_tkwredefnode5 = var_nodearraylist2;
7574 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
7575 cltype11 = type_nullable_parser_nodes__TKwredef.color;
7576 idtype12 = type_nullable_parser_nodes__TKwredef.id;
7577 if(var_tkwredefnode5 == NULL) {
7578 var10 = 1;
7579 } else {
7580 if(cltype11 >= var_tkwredefnode5->type->table_size) {
7581 var10 = 0;
7582 } else {
7583 var10 = var_tkwredefnode5->type->type_table[cltype11] == idtype12;
7584 }
7585 }
7586 if (!var10) {
7587 fprintf(stderr, "Runtime error: %s", "Assert failed");
7588 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17695);
7589 exit(1);
7590 }
7591 var_pvisibilitynode6 = var_nodearraylist3;
7592 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
7593 cltype14 = type_nullable_parser_nodes__AVisibility.color;
7594 idtype15 = type_nullable_parser_nodes__AVisibility.id;
7595 if(var_pvisibilitynode6 == NULL) {
7596 var13 = 1;
7597 } else {
7598 if(cltype14 >= var_pvisibilitynode6->type->table_size) {
7599 var13 = 0;
7600 } else {
7601 var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
7602 }
7603 }
7604 if (!var13) {
7605 fprintf(stderr, "Runtime error: %s", "Assert failed");
7606 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17697);
7607 exit(1);
7608 }
7609 var_tkwvarnode7 = var_nodearraylist4;
7610 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
7611 cltype17 = type_nullable_parser_nodes__TKwvar.color;
7612 idtype18 = type_nullable_parser_nodes__TKwvar.id;
7613 if(var_tkwvarnode7 == NULL) {
7614 var16 = 1;
7615 } else {
7616 if(cltype17 >= var_tkwvarnode7->type->table_size) {
7617 var16 = 0;
7618 } else {
7619 var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
7620 }
7621 }
7622 if (!var16) {
7623 fprintf(stderr, "Runtime error: %s", "Assert failed");
7624 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17699);
7625 exit(1);
7626 }
7627 var_tattridnode8 = var_nodearraylist5;
7628 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
7629 cltype20 = type_nullable_parser_nodes__TAttrid.color;
7630 idtype21 = type_nullable_parser_nodes__TAttrid.id;
7631 if(var_tattridnode8 == NULL) {
7632 var19 = 1;
7633 } else {
7634 if(cltype20 >= var_tattridnode8->type->table_size) {
7635 var19 = 0;
7636 } else {
7637 var19 = var_tattridnode8->type->type_table[cltype20] == idtype21;
7638 }
7639 }
7640 if (!var19) {
7641 fprintf(stderr, "Runtime error: %s", "Assert failed");
7642 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17701);
7643 exit(1);
7644 }
7645 var_pexprnode12 = var_nodearraylist8;
7646 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
7647 cltype23 = type_nullable_parser_nodes__AExpr.color;
7648 idtype24 = type_nullable_parser_nodes__AExpr.id;
7649 if(var_pexprnode12 == NULL) {
7650 var22 = 1;
7651 } else {
7652 if(cltype23 >= var_pexprnode12->type->table_size) {
7653 var22 = 0;
7654 } else {
7655 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
7656 }
7657 }
7658 if (!var22) {
7659 fprintf(stderr, "Runtime error: %s", "Assert failed");
7660 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17703);
7661 exit(1);
7662 }
7663 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
7664 var26 = NULL;
7665 var27 = NULL;
7666 var28 = NULL;
7667 var29 = NULL;
7668 var30 = NULL;
7669 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var26, var27, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var28, var29, var30, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
7670 CHECK_NEW_parser_nodes__AAttrPropdef(var25);
7671 var_ppropdefnode1 = var25;
7672 var_node_list = var_ppropdefnode1;
7673 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction398> */
7674 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
7675 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
7676 RET_LABEL:;
7677 }
7678 /* method parser#ReduceAction398#action for (self: Object, Parser) */
7679 void VIRTUAL_parser__ReduceAction398__action(val* self, val* p0) {
7680 parser__ReduceAction398__action(self, p0);
7681 RET_LABEL:;
7682 }
7683 /* method parser#ReduceAction399#action for (self: ReduceAction399, Parser) */
7684 void parser__ReduceAction399__action(val* self, val* p0) {
7685 val* var_p /* var p: Parser */;
7686 val* var /* : null */;
7687 val* var_node_list /* var node_list: nullable Object */;
7688 val* var1 /* : nullable Object */;
7689 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7690 val* var2 /* : nullable Object */;
7691 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7692 val* var3 /* : nullable Object */;
7693 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7694 val* var4 /* : nullable Object */;
7695 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7696 val* var5 /* : nullable Object */;
7697 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7698 val* var6 /* : nullable Object */;
7699 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7700 val* var7 /* : nullable Object */;
7701 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7702 val* var8 /* : nullable Object */;
7703 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7704 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7705 short int var9 /* : Bool */;
7706 int cltype;
7707 int idtype;
7708 val* var_pablenode3 /* var pablenode3: nullable Object */;
7709 short int var10 /* : Bool */;
7710 int cltype11;
7711 int idtype12;
7712 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
7713 short int var13 /* : Bool */;
7714 int cltype14;
7715 int idtype15;
7716 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
7717 short int var16 /* : Bool */;
7718 int cltype17;
7719 int idtype18;
7720 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
7721 short int var19 /* : Bool */;
7722 int cltype20;
7723 int idtype21;
7724 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
7725 short int var22 /* : Bool */;
7726 int cltype23;
7727 int idtype24;
7728 val* var25 /* : AAttrPropdef */;
7729 val* var26 /* : null */;
7730 val* var27 /* : null */;
7731 val* var28 /* : null */;
7732 val* var29 /* : null */;
7733 val* var30 /* : null */;
7734 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
7735 long var31 /* : Int */;
7736 long var32 /* : Int */;
7737 var_p = p0;
7738 var = NULL;
7739 var_node_list = var;
7740 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7741 var_nodearraylist8 = var1;
7742 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7743 var_nodearraylist7 = var2;
7744 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7745 var_nodearraylist6 = var3;
7746 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7747 var_nodearraylist5 = var4;
7748 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7749 var_nodearraylist4 = var5;
7750 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7751 var_nodearraylist3 = var6;
7752 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7753 var_nodearraylist2 = var7;
7754 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7755 var_nodearraylist1 = var8;
7756 var_pdocnode2 = var_nodearraylist1;
7757 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7758 cltype = type_nullable_parser_nodes__ADoc.color;
7759 idtype = type_nullable_parser_nodes__ADoc.id;
7760 if(var_pdocnode2 == NULL) {
7761 var9 = 1;
7762 } else {
7763 if(cltype >= var_pdocnode2->type->table_size) {
7764 var9 = 0;
7765 } else {
7766 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
7767 }
7768 }
7769 if (!var9) {
7770 fprintf(stderr, "Runtime error: %s", "Assert failed");
7771 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17735);
7772 exit(1);
7773 }
7774 var_pablenode3 = var_nodearraylist2;
7775 /* <var_pablenode3:nullable Object> isa nullable AAble */
7776 cltype11 = type_nullable_parser_nodes__AAble.color;
7777 idtype12 = type_nullable_parser_nodes__AAble.id;
7778 if(var_pablenode3 == NULL) {
7779 var10 = 1;
7780 } else {
7781 if(cltype11 >= var_pablenode3->type->table_size) {
7782 var10 = 0;
7783 } else {
7784 var10 = var_pablenode3->type->type_table[cltype11] == idtype12;
7785 }
7786 }
7787 if (!var10) {
7788 fprintf(stderr, "Runtime error: %s", "Assert failed");
7789 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17737);
7790 exit(1);
7791 }
7792 var_pvisibilitynode6 = var_nodearraylist3;
7793 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
7794 cltype14 = type_nullable_parser_nodes__AVisibility.color;
7795 idtype15 = type_nullable_parser_nodes__AVisibility.id;
7796 if(var_pvisibilitynode6 == NULL) {
7797 var13 = 1;
7798 } else {
7799 if(cltype14 >= var_pvisibilitynode6->type->table_size) {
7800 var13 = 0;
7801 } else {
7802 var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
7803 }
7804 }
7805 if (!var13) {
7806 fprintf(stderr, "Runtime error: %s", "Assert failed");
7807 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17739);
7808 exit(1);
7809 }
7810 var_tkwvarnode7 = var_nodearraylist4;
7811 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
7812 cltype17 = type_nullable_parser_nodes__TKwvar.color;
7813 idtype18 = type_nullable_parser_nodes__TKwvar.id;
7814 if(var_tkwvarnode7 == NULL) {
7815 var16 = 1;
7816 } else {
7817 if(cltype17 >= var_tkwvarnode7->type->table_size) {
7818 var16 = 0;
7819 } else {
7820 var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
7821 }
7822 }
7823 if (!var16) {
7824 fprintf(stderr, "Runtime error: %s", "Assert failed");
7825 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17741);
7826 exit(1);
7827 }
7828 var_tattridnode8 = var_nodearraylist5;
7829 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
7830 cltype20 = type_nullable_parser_nodes__TAttrid.color;
7831 idtype21 = type_nullable_parser_nodes__TAttrid.id;
7832 if(var_tattridnode8 == NULL) {
7833 var19 = 1;
7834 } else {
7835 if(cltype20 >= var_tattridnode8->type->table_size) {
7836 var19 = 0;
7837 } else {
7838 var19 = var_tattridnode8->type->type_table[cltype20] == idtype21;
7839 }
7840 }
7841 if (!var19) {
7842 fprintf(stderr, "Runtime error: %s", "Assert failed");
7843 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17743);
7844 exit(1);
7845 }
7846 var_pexprnode12 = var_nodearraylist8;
7847 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
7848 cltype23 = type_nullable_parser_nodes__AExpr.color;
7849 idtype24 = type_nullable_parser_nodes__AExpr.id;
7850 if(var_pexprnode12 == NULL) {
7851 var22 = 1;
7852 } else {
7853 if(cltype23 >= var_pexprnode12->type->table_size) {
7854 var22 = 0;
7855 } else {
7856 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
7857 }
7858 }
7859 if (!var22) {
7860 fprintf(stderr, "Runtime error: %s", "Assert failed");
7861 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17745);
7862 exit(1);
7863 }
7864 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
7865 var26 = NULL;
7866 var27 = NULL;
7867 var28 = NULL;
7868 var29 = NULL;
7869 var30 = NULL;
7870 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var_pablenode3, var26, var27, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var28, var29, var30, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
7871 CHECK_NEW_parser_nodes__AAttrPropdef(var25);
7872 var_ppropdefnode1 = var25;
7873 var_node_list = var_ppropdefnode1;
7874 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction399> */
7875 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
7876 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
7877 RET_LABEL:;
7878 }
7879 /* method parser#ReduceAction399#action for (self: Object, Parser) */
7880 void VIRTUAL_parser__ReduceAction399__action(val* self, val* p0) {
7881 parser__ReduceAction399__action(self, p0);
7882 RET_LABEL:;
7883 }
7884 /* method parser#ReduceAction400#action for (self: ReduceAction400, Parser) */
7885 void parser__ReduceAction400__action(val* self, val* p0) {
7886 val* var_p /* var p: Parser */;
7887 val* var /* : null */;
7888 val* var_node_list /* var node_list: nullable Object */;
7889 val* var1 /* : nullable Object */;
7890 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7891 val* var2 /* : nullable Object */;
7892 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7893 val* var3 /* : nullable Object */;
7894 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7895 val* var4 /* : nullable Object */;
7896 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7897 val* var5 /* : nullable Object */;
7898 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7899 val* var6 /* : nullable Object */;
7900 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7901 val* var7 /* : nullable Object */;
7902 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7903 val* var8 /* : nullable Object */;
7904 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7905 val* var9 /* : nullable Object */;
7906 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7907 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7908 short int var10 /* : Bool */;
7909 int cltype;
7910 int idtype;
7911 val* var_pablenode3 /* var pablenode3: nullable Object */;
7912 short int var11 /* : Bool */;
7913 int cltype12;
7914 int idtype13;
7915 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
7916 short int var14 /* : Bool */;
7917 int cltype15;
7918 int idtype16;
7919 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
7920 short int var17 /* : Bool */;
7921 int cltype18;
7922 int idtype19;
7923 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
7924 short int var20 /* : Bool */;
7925 int cltype21;
7926 int idtype22;
7927 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
7928 short int var23 /* : Bool */;
7929 int cltype24;
7930 int idtype25;
7931 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
7932 short int var26 /* : Bool */;
7933 int cltype27;
7934 int idtype28;
7935 val* var29 /* : AAttrPropdef */;
7936 val* var30 /* : null */;
7937 val* var31 /* : null */;
7938 val* var32 /* : null */;
7939 val* var33 /* : null */;
7940 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
7941 long var34 /* : Int */;
7942 long var35 /* : Int */;
7943 var_p = p0;
7944 var = NULL;
7945 var_node_list = var;
7946 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7947 var_nodearraylist9 = var1;
7948 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7949 var_nodearraylist8 = var2;
7950 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7951 var_nodearraylist7 = var3;
7952 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7953 var_nodearraylist6 = var4;
7954 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7955 var_nodearraylist5 = var5;
7956 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7957 var_nodearraylist4 = var6;
7958 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7959 var_nodearraylist3 = var7;
7960 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7961 var_nodearraylist2 = var8;
7962 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7963 var_nodearraylist1 = var9;
7964 var_pdocnode2 = var_nodearraylist1;
7965 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7966 cltype = type_nullable_parser_nodes__ADoc.color;
7967 idtype = type_nullable_parser_nodes__ADoc.id;
7968 if(var_pdocnode2 == NULL) {
7969 var10 = 1;
7970 } else {
7971 if(cltype >= var_pdocnode2->type->table_size) {
7972 var10 = 0;
7973 } else {
7974 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
7975 }
7976 }
7977 if (!var10) {
7978 fprintf(stderr, "Runtime error: %s", "Assert failed");
7979 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17778);
7980 exit(1);
7981 }
7982 var_pablenode3 = var_nodearraylist2;
7983 /* <var_pablenode3:nullable Object> isa nullable AAble */
7984 cltype12 = type_nullable_parser_nodes__AAble.color;
7985 idtype13 = type_nullable_parser_nodes__AAble.id;
7986 if(var_pablenode3 == NULL) {
7987 var11 = 1;
7988 } else {
7989 if(cltype12 >= var_pablenode3->type->table_size) {
7990 var11 = 0;
7991 } else {
7992 var11 = var_pablenode3->type->type_table[cltype12] == idtype13;
7993 }
7994 }
7995 if (!var11) {
7996 fprintf(stderr, "Runtime error: %s", "Assert failed");
7997 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17780);
7998 exit(1);
7999 }
8000 var_tkwredefnode5 = var_nodearraylist3;
8001 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
8002 cltype15 = type_nullable_parser_nodes__TKwredef.color;
8003 idtype16 = type_nullable_parser_nodes__TKwredef.id;
8004 if(var_tkwredefnode5 == NULL) {
8005 var14 = 1;
8006 } else {
8007 if(cltype15 >= var_tkwredefnode5->type->table_size) {
8008 var14 = 0;
8009 } else {
8010 var14 = var_tkwredefnode5->type->type_table[cltype15] == idtype16;
8011 }
8012 }
8013 if (!var14) {
8014 fprintf(stderr, "Runtime error: %s", "Assert failed");
8015 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17782);
8016 exit(1);
8017 }
8018 var_pvisibilitynode6 = var_nodearraylist4;
8019 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
8020 cltype18 = type_nullable_parser_nodes__AVisibility.color;
8021 idtype19 = type_nullable_parser_nodes__AVisibility.id;
8022 if(var_pvisibilitynode6 == NULL) {
8023 var17 = 1;
8024 } else {
8025 if(cltype18 >= var_pvisibilitynode6->type->table_size) {
8026 var17 = 0;
8027 } else {
8028 var17 = var_pvisibilitynode6->type->type_table[cltype18] == idtype19;
8029 }
8030 }
8031 if (!var17) {
8032 fprintf(stderr, "Runtime error: %s", "Assert failed");
8033 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17784);
8034 exit(1);
8035 }
8036 var_tkwvarnode7 = var_nodearraylist5;
8037 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
8038 cltype21 = type_nullable_parser_nodes__TKwvar.color;
8039 idtype22 = type_nullable_parser_nodes__TKwvar.id;
8040 if(var_tkwvarnode7 == NULL) {
8041 var20 = 1;
8042 } else {
8043 if(cltype21 >= var_tkwvarnode7->type->table_size) {
8044 var20 = 0;
8045 } else {
8046 var20 = var_tkwvarnode7->type->type_table[cltype21] == idtype22;
8047 }
8048 }
8049 if (!var20) {
8050 fprintf(stderr, "Runtime error: %s", "Assert failed");
8051 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17786);
8052 exit(1);
8053 }
8054 var_tattridnode8 = var_nodearraylist6;
8055 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
8056 cltype24 = type_nullable_parser_nodes__TAttrid.color;
8057 idtype25 = type_nullable_parser_nodes__TAttrid.id;
8058 if(var_tattridnode8 == NULL) {
8059 var23 = 1;
8060 } else {
8061 if(cltype24 >= var_tattridnode8->type->table_size) {
8062 var23 = 0;
8063 } else {
8064 var23 = var_tattridnode8->type->type_table[cltype24] == idtype25;
8065 }
8066 }
8067 if (!var23) {
8068 fprintf(stderr, "Runtime error: %s", "Assert failed");
8069 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17788);
8070 exit(1);
8071 }
8072 var_pexprnode12 = var_nodearraylist9;
8073 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
8074 cltype27 = type_nullable_parser_nodes__AExpr.color;
8075 idtype28 = type_nullable_parser_nodes__AExpr.id;
8076 if(var_pexprnode12 == NULL) {
8077 var26 = 1;
8078 } else {
8079 if(cltype27 >= var_pexprnode12->type->table_size) {
8080 var26 = 0;
8081 } else {
8082 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
8083 }
8084 }
8085 if (!var26) {
8086 fprintf(stderr, "Runtime error: %s", "Assert failed");
8087 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17790);
8088 exit(1);
8089 }
8090 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
8091 var30 = NULL;
8092 var31 = NULL;
8093 var32 = NULL;
8094 var33 = NULL;
8095 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var_pablenode3, var30, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var31, var32, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
8096 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
8097 var_ppropdefnode1 = var29;
8098 var_node_list = var_ppropdefnode1;
8099 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction400> */
8100 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
8101 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
8102 RET_LABEL:;
8103 }
8104 /* method parser#ReduceAction400#action for (self: Object, Parser) */
8105 void VIRTUAL_parser__ReduceAction400__action(val* self, val* p0) {
8106 parser__ReduceAction400__action(self, p0);
8107 RET_LABEL:;
8108 }
8109 /* method parser#ReduceAction401#action for (self: ReduceAction401, Parser) */
8110 void parser__ReduceAction401__action(val* self, val* p0) {
8111 val* var_p /* var p: Parser */;
8112 val* var /* : null */;
8113 val* var_node_list /* var node_list: nullable Object */;
8114 val* var1 /* : nullable Object */;
8115 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8116 val* var2 /* : nullable Object */;
8117 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8118 val* var3 /* : nullable Object */;
8119 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8120 val* var4 /* : nullable Object */;
8121 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8122 val* var5 /* : nullable Object */;
8123 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8124 val* var6 /* : nullable Object */;
8125 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8126 val* var7 /* : nullable Object */;
8127 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8128 val* var8 /* : nullable Object */;
8129 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8130 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8131 short int var9 /* : Bool */;
8132 int cltype;
8133 int idtype;
8134 val* var_pablenode4 /* var pablenode4: nullable Object */;
8135 short int var10 /* : Bool */;
8136 int cltype11;
8137 int idtype12;
8138 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
8139 short int var13 /* : Bool */;
8140 int cltype14;
8141 int idtype15;
8142 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
8143 short int var16 /* : Bool */;
8144 int cltype17;
8145 int idtype18;
8146 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
8147 short int var19 /* : Bool */;
8148 int cltype20;
8149 int idtype21;
8150 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
8151 short int var22 /* : Bool */;
8152 int cltype23;
8153 int idtype24;
8154 val* var25 /* : AAttrPropdef */;
8155 val* var26 /* : null */;
8156 val* var27 /* : null */;
8157 val* var28 /* : null */;
8158 val* var29 /* : null */;
8159 val* var30 /* : null */;
8160 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
8161 long var31 /* : Int */;
8162 long var32 /* : Int */;
8163 var_p = p0;
8164 var = NULL;
8165 var_node_list = var;
8166 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8167 var_nodearraylist8 = var1;
8168 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8169 var_nodearraylist7 = var2;
8170 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8171 var_nodearraylist6 = var3;
8172 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8173 var_nodearraylist5 = var4;
8174 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8175 var_nodearraylist4 = var5;
8176 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8177 var_nodearraylist3 = var6;
8178 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8179 var_nodearraylist2 = var7;
8180 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8181 var_nodearraylist1 = var8;
8182 var_pdocnode2 = var_nodearraylist1;
8183 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8184 cltype = type_nullable_parser_nodes__ADoc.color;
8185 idtype = type_nullable_parser_nodes__ADoc.id;
8186 if(var_pdocnode2 == NULL) {
8187 var9 = 1;
8188 } else {
8189 if(cltype >= var_pdocnode2->type->table_size) {
8190 var9 = 0;
8191 } else {
8192 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
8193 }
8194 }
8195 if (!var9) {
8196 fprintf(stderr, "Runtime error: %s", "Assert failed");
8197 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17822);
8198 exit(1);
8199 }
8200 var_pablenode4 = var_nodearraylist2;
8201 /* <var_pablenode4:nullable Object> isa nullable AAble */
8202 cltype11 = type_nullable_parser_nodes__AAble.color;
8203 idtype12 = type_nullable_parser_nodes__AAble.id;
8204 if(var_pablenode4 == NULL) {
8205 var10 = 1;
8206 } else {
8207 if(cltype11 >= var_pablenode4->type->table_size) {
8208 var10 = 0;
8209 } else {
8210 var10 = var_pablenode4->type->type_table[cltype11] == idtype12;
8211 }
8212 }
8213 if (!var10) {
8214 fprintf(stderr, "Runtime error: %s", "Assert failed");
8215 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17824);
8216 exit(1);
8217 }
8218 var_pvisibilitynode6 = var_nodearraylist3;
8219 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
8220 cltype14 = type_nullable_parser_nodes__AVisibility.color;
8221 idtype15 = type_nullable_parser_nodes__AVisibility.id;
8222 if(var_pvisibilitynode6 == NULL) {
8223 var13 = 1;
8224 } else {
8225 if(cltype14 >= var_pvisibilitynode6->type->table_size) {
8226 var13 = 0;
8227 } else {
8228 var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
8229 }
8230 }
8231 if (!var13) {
8232 fprintf(stderr, "Runtime error: %s", "Assert failed");
8233 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17826);
8234 exit(1);
8235 }
8236 var_tkwvarnode7 = var_nodearraylist4;
8237 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
8238 cltype17 = type_nullable_parser_nodes__TKwvar.color;
8239 idtype18 = type_nullable_parser_nodes__TKwvar.id;
8240 if(var_tkwvarnode7 == NULL) {
8241 var16 = 1;
8242 } else {
8243 if(cltype17 >= var_tkwvarnode7->type->table_size) {
8244 var16 = 0;
8245 } else {
8246 var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
8247 }
8248 }
8249 if (!var16) {
8250 fprintf(stderr, "Runtime error: %s", "Assert failed");
8251 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17828);
8252 exit(1);
8253 }
8254 var_tattridnode8 = var_nodearraylist5;
8255 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
8256 cltype20 = type_nullable_parser_nodes__TAttrid.color;
8257 idtype21 = type_nullable_parser_nodes__TAttrid.id;
8258 if(var_tattridnode8 == NULL) {
8259 var19 = 1;
8260 } else {
8261 if(cltype20 >= var_tattridnode8->type->table_size) {
8262 var19 = 0;
8263 } else {
8264 var19 = var_tattridnode8->type->type_table[cltype20] == idtype21;
8265 }
8266 }
8267 if (!var19) {
8268 fprintf(stderr, "Runtime error: %s", "Assert failed");
8269 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17830);
8270 exit(1);
8271 }
8272 var_pexprnode12 = var_nodearraylist8;
8273 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
8274 cltype23 = type_nullable_parser_nodes__AExpr.color;
8275 idtype24 = type_nullable_parser_nodes__AExpr.id;
8276 if(var_pexprnode12 == NULL) {
8277 var22 = 1;
8278 } else {
8279 if(cltype23 >= var_pexprnode12->type->table_size) {
8280 var22 = 0;
8281 } else {
8282 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
8283 }
8284 }
8285 if (!var22) {
8286 fprintf(stderr, "Runtime error: %s", "Assert failed");
8287 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17832);
8288 exit(1);
8289 }
8290 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
8291 var26 = NULL;
8292 var27 = NULL;
8293 var28 = NULL;
8294 var29 = NULL;
8295 var30 = NULL;
8296 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var26, var_pablenode4, var27, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var28, var29, var30, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
8297 CHECK_NEW_parser_nodes__AAttrPropdef(var25);
8298 var_ppropdefnode1 = var25;
8299 var_node_list = var_ppropdefnode1;
8300 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction401> */
8301 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
8302 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
8303 RET_LABEL:;
8304 }
8305 /* method parser#ReduceAction401#action for (self: Object, Parser) */
8306 void VIRTUAL_parser__ReduceAction401__action(val* self, val* p0) {
8307 parser__ReduceAction401__action(self, p0);
8308 RET_LABEL:;
8309 }
8310 /* method parser#ReduceAction402#action for (self: ReduceAction402, Parser) */
8311 void parser__ReduceAction402__action(val* self, val* p0) {
8312 val* var_p /* var p: Parser */;
8313 val* var /* : null */;
8314 val* var_node_list /* var node_list: nullable Object */;
8315 val* var1 /* : nullable Object */;
8316 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8317 val* var2 /* : nullable Object */;
8318 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8319 val* var3 /* : nullable Object */;
8320 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8321 val* var4 /* : nullable Object */;
8322 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8323 val* var5 /* : nullable Object */;
8324 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8325 val* var6 /* : nullable Object */;
8326 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8327 val* var7 /* : nullable Object */;
8328 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8329 val* var8 /* : nullable Object */;
8330 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8331 val* var9 /* : nullable Object */;
8332 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8333 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8334 short int var10 /* : Bool */;
8335 int cltype;
8336 int idtype;
8337 val* var_pablenode4 /* var pablenode4: nullable Object */;
8338 short int var11 /* : Bool */;
8339 int cltype12;
8340 int idtype13;
8341 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
8342 short int var14 /* : Bool */;
8343 int cltype15;
8344 int idtype16;
8345 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
8346 short int var17 /* : Bool */;
8347 int cltype18;
8348 int idtype19;
8349 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
8350 short int var20 /* : Bool */;
8351 int cltype21;
8352 int idtype22;
8353 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
8354 short int var23 /* : Bool */;
8355 int cltype24;
8356 int idtype25;
8357 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
8358 short int var26 /* : Bool */;
8359 int cltype27;
8360 int idtype28;
8361 val* var29 /* : AAttrPropdef */;
8362 val* var30 /* : null */;
8363 val* var31 /* : null */;
8364 val* var32 /* : null */;
8365 val* var33 /* : null */;
8366 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
8367 long var34 /* : Int */;
8368 long var35 /* : Int */;
8369 var_p = p0;
8370 var = NULL;
8371 var_node_list = var;
8372 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8373 var_nodearraylist9 = var1;
8374 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8375 var_nodearraylist8 = var2;
8376 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8377 var_nodearraylist7 = var3;
8378 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8379 var_nodearraylist6 = var4;
8380 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8381 var_nodearraylist5 = var5;
8382 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8383 var_nodearraylist4 = var6;
8384 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8385 var_nodearraylist3 = var7;
8386 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8387 var_nodearraylist2 = var8;
8388 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8389 var_nodearraylist1 = var9;
8390 var_pdocnode2 = var_nodearraylist1;
8391 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8392 cltype = type_nullable_parser_nodes__ADoc.color;
8393 idtype = type_nullable_parser_nodes__ADoc.id;
8394 if(var_pdocnode2 == NULL) {
8395 var10 = 1;
8396 } else {
8397 if(cltype >= var_pdocnode2->type->table_size) {
8398 var10 = 0;
8399 } else {
8400 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
8401 }
8402 }
8403 if (!var10) {
8404 fprintf(stderr, "Runtime error: %s", "Assert failed");
8405 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17865);
8406 exit(1);
8407 }
8408 var_pablenode4 = var_nodearraylist2;
8409 /* <var_pablenode4:nullable Object> isa nullable AAble */
8410 cltype12 = type_nullable_parser_nodes__AAble.color;
8411 idtype13 = type_nullable_parser_nodes__AAble.id;
8412 if(var_pablenode4 == NULL) {
8413 var11 = 1;
8414 } else {
8415 if(cltype12 >= var_pablenode4->type->table_size) {
8416 var11 = 0;
8417 } else {
8418 var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
8419 }
8420 }
8421 if (!var11) {
8422 fprintf(stderr, "Runtime error: %s", "Assert failed");
8423 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17867);
8424 exit(1);
8425 }
8426 var_tkwredefnode5 = var_nodearraylist3;
8427 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
8428 cltype15 = type_nullable_parser_nodes__TKwredef.color;
8429 idtype16 = type_nullable_parser_nodes__TKwredef.id;
8430 if(var_tkwredefnode5 == NULL) {
8431 var14 = 1;
8432 } else {
8433 if(cltype15 >= var_tkwredefnode5->type->table_size) {
8434 var14 = 0;
8435 } else {
8436 var14 = var_tkwredefnode5->type->type_table[cltype15] == idtype16;
8437 }
8438 }
8439 if (!var14) {
8440 fprintf(stderr, "Runtime error: %s", "Assert failed");
8441 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17869);
8442 exit(1);
8443 }
8444 var_pvisibilitynode6 = var_nodearraylist4;
8445 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
8446 cltype18 = type_nullable_parser_nodes__AVisibility.color;
8447 idtype19 = type_nullable_parser_nodes__AVisibility.id;
8448 if(var_pvisibilitynode6 == NULL) {
8449 var17 = 1;
8450 } else {
8451 if(cltype18 >= var_pvisibilitynode6->type->table_size) {
8452 var17 = 0;
8453 } else {
8454 var17 = var_pvisibilitynode6->type->type_table[cltype18] == idtype19;
8455 }
8456 }
8457 if (!var17) {
8458 fprintf(stderr, "Runtime error: %s", "Assert failed");
8459 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17871);
8460 exit(1);
8461 }
8462 var_tkwvarnode7 = var_nodearraylist5;
8463 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
8464 cltype21 = type_nullable_parser_nodes__TKwvar.color;
8465 idtype22 = type_nullable_parser_nodes__TKwvar.id;
8466 if(var_tkwvarnode7 == NULL) {
8467 var20 = 1;
8468 } else {
8469 if(cltype21 >= var_tkwvarnode7->type->table_size) {
8470 var20 = 0;
8471 } else {
8472 var20 = var_tkwvarnode7->type->type_table[cltype21] == idtype22;
8473 }
8474 }
8475 if (!var20) {
8476 fprintf(stderr, "Runtime error: %s", "Assert failed");
8477 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17873);
8478 exit(1);
8479 }
8480 var_tattridnode8 = var_nodearraylist6;
8481 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
8482 cltype24 = type_nullable_parser_nodes__TAttrid.color;
8483 idtype25 = type_nullable_parser_nodes__TAttrid.id;
8484 if(var_tattridnode8 == NULL) {
8485 var23 = 1;
8486 } else {
8487 if(cltype24 >= var_tattridnode8->type->table_size) {
8488 var23 = 0;
8489 } else {
8490 var23 = var_tattridnode8->type->type_table[cltype24] == idtype25;
8491 }
8492 }
8493 if (!var23) {
8494 fprintf(stderr, "Runtime error: %s", "Assert failed");
8495 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17875);
8496 exit(1);
8497 }
8498 var_pexprnode12 = var_nodearraylist9;
8499 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
8500 cltype27 = type_nullable_parser_nodes__AExpr.color;
8501 idtype28 = type_nullable_parser_nodes__AExpr.id;
8502 if(var_pexprnode12 == NULL) {
8503 var26 = 1;
8504 } else {
8505 if(cltype27 >= var_pexprnode12->type->table_size) {
8506 var26 = 0;
8507 } else {
8508 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
8509 }
8510 }
8511 if (!var26) {
8512 fprintf(stderr, "Runtime error: %s", "Assert failed");
8513 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17877);
8514 exit(1);
8515 }
8516 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
8517 var30 = NULL;
8518 var31 = NULL;
8519 var32 = NULL;
8520 var33 = NULL;
8521 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var31, var32, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
8522 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
8523 var_ppropdefnode1 = var29;
8524 var_node_list = var_ppropdefnode1;
8525 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction402> */
8526 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
8527 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
8528 RET_LABEL:;
8529 }
8530 /* method parser#ReduceAction402#action for (self: Object, Parser) */
8531 void VIRTUAL_parser__ReduceAction402__action(val* self, val* p0) {
8532 parser__ReduceAction402__action(self, p0);
8533 RET_LABEL:;
8534 }
8535 /* method parser#ReduceAction403#action for (self: ReduceAction403, Parser) */
8536 void parser__ReduceAction403__action(val* self, val* p0) {
8537 val* var_p /* var p: Parser */;
8538 val* var /* : null */;
8539 val* var_node_list /* var node_list: nullable Object */;
8540 val* var1 /* : nullable Object */;
8541 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8542 val* var2 /* : nullable Object */;
8543 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8544 val* var3 /* : nullable Object */;
8545 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8546 val* var4 /* : nullable Object */;
8547 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8548 val* var5 /* : nullable Object */;
8549 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8550 val* var6 /* : nullable Object */;
8551 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8552 val* var7 /* : nullable Object */;
8553 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8554 val* var8 /* : nullable Object */;
8555 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8556 val* var9 /* : nullable Object */;
8557 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8558 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8559 short int var10 /* : Bool */;
8560 int cltype;
8561 int idtype;
8562 val* var_pablenode3 /* var pablenode3: nullable Object */;
8563 short int var11 /* : Bool */;
8564 int cltype12;
8565 int idtype13;
8566 val* var_pablenode4 /* var pablenode4: nullable Object */;
8567 short int var14 /* : Bool */;
8568 int cltype15;
8569 int idtype16;
8570 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
8571 short int var17 /* : Bool */;
8572 int cltype18;
8573 int idtype19;
8574 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
8575 short int var20 /* : Bool */;
8576 int cltype21;
8577 int idtype22;
8578 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
8579 short int var23 /* : Bool */;
8580 int cltype24;
8581 int idtype25;
8582 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
8583 short int var26 /* : Bool */;
8584 int cltype27;
8585 int idtype28;
8586 val* var29 /* : AAttrPropdef */;
8587 val* var30 /* : null */;
8588 val* var31 /* : null */;
8589 val* var32 /* : null */;
8590 val* var33 /* : null */;
8591 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
8592 long var34 /* : Int */;
8593 long var35 /* : Int */;
8594 var_p = p0;
8595 var = NULL;
8596 var_node_list = var;
8597 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8598 var_nodearraylist9 = var1;
8599 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8600 var_nodearraylist8 = var2;
8601 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8602 var_nodearraylist7 = var3;
8603 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8604 var_nodearraylist6 = var4;
8605 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8606 var_nodearraylist5 = var5;
8607 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8608 var_nodearraylist4 = var6;
8609 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8610 var_nodearraylist3 = var7;
8611 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8612 var_nodearraylist2 = var8;
8613 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8614 var_nodearraylist1 = var9;
8615 var_pdocnode2 = var_nodearraylist1;
8616 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8617 cltype = type_nullable_parser_nodes__ADoc.color;
8618 idtype = type_nullable_parser_nodes__ADoc.id;
8619 if(var_pdocnode2 == NULL) {
8620 var10 = 1;
8621 } else {
8622 if(cltype >= var_pdocnode2->type->table_size) {
8623 var10 = 0;
8624 } else {
8625 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
8626 }
8627 }
8628 if (!var10) {
8629 fprintf(stderr, "Runtime error: %s", "Assert failed");
8630 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17910);
8631 exit(1);
8632 }
8633 var_pablenode3 = var_nodearraylist2;
8634 /* <var_pablenode3:nullable Object> isa nullable AAble */
8635 cltype12 = type_nullable_parser_nodes__AAble.color;
8636 idtype13 = type_nullable_parser_nodes__AAble.id;
8637 if(var_pablenode3 == NULL) {
8638 var11 = 1;
8639 } else {
8640 if(cltype12 >= var_pablenode3->type->table_size) {
8641 var11 = 0;
8642 } else {
8643 var11 = var_pablenode3->type->type_table[cltype12] == idtype13;
8644 }
8645 }
8646 if (!var11) {
8647 fprintf(stderr, "Runtime error: %s", "Assert failed");
8648 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17912);
8649 exit(1);
8650 }
8651 var_pablenode4 = var_nodearraylist3;
8652 /* <var_pablenode4:nullable Object> isa nullable AAble */
8653 cltype15 = type_nullable_parser_nodes__AAble.color;
8654 idtype16 = type_nullable_parser_nodes__AAble.id;
8655 if(var_pablenode4 == NULL) {
8656 var14 = 1;
8657 } else {
8658 if(cltype15 >= var_pablenode4->type->table_size) {
8659 var14 = 0;
8660 } else {
8661 var14 = var_pablenode4->type->type_table[cltype15] == idtype16;
8662 }
8663 }
8664 if (!var14) {
8665 fprintf(stderr, "Runtime error: %s", "Assert failed");
8666 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17914);
8667 exit(1);
8668 }
8669 var_pvisibilitynode6 = var_nodearraylist4;
8670 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
8671 cltype18 = type_nullable_parser_nodes__AVisibility.color;
8672 idtype19 = type_nullable_parser_nodes__AVisibility.id;
8673 if(var_pvisibilitynode6 == NULL) {
8674 var17 = 1;
8675 } else {
8676 if(cltype18 >= var_pvisibilitynode6->type->table_size) {
8677 var17 = 0;
8678 } else {
8679 var17 = var_pvisibilitynode6->type->type_table[cltype18] == idtype19;
8680 }
8681 }
8682 if (!var17) {
8683 fprintf(stderr, "Runtime error: %s", "Assert failed");
8684 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17916);
8685 exit(1);
8686 }
8687 var_tkwvarnode7 = var_nodearraylist5;
8688 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
8689 cltype21 = type_nullable_parser_nodes__TKwvar.color;
8690 idtype22 = type_nullable_parser_nodes__TKwvar.id;
8691 if(var_tkwvarnode7 == NULL) {
8692 var20 = 1;
8693 } else {
8694 if(cltype21 >= var_tkwvarnode7->type->table_size) {
8695 var20 = 0;
8696 } else {
8697 var20 = var_tkwvarnode7->type->type_table[cltype21] == idtype22;
8698 }
8699 }
8700 if (!var20) {
8701 fprintf(stderr, "Runtime error: %s", "Assert failed");
8702 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17918);
8703 exit(1);
8704 }
8705 var_tattridnode8 = var_nodearraylist6;
8706 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
8707 cltype24 = type_nullable_parser_nodes__TAttrid.color;
8708 idtype25 = type_nullable_parser_nodes__TAttrid.id;
8709 if(var_tattridnode8 == NULL) {
8710 var23 = 1;
8711 } else {
8712 if(cltype24 >= var_tattridnode8->type->table_size) {
8713 var23 = 0;
8714 } else {
8715 var23 = var_tattridnode8->type->type_table[cltype24] == idtype25;
8716 }
8717 }
8718 if (!var23) {
8719 fprintf(stderr, "Runtime error: %s", "Assert failed");
8720 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17920);
8721 exit(1);
8722 }
8723 var_pexprnode12 = var_nodearraylist9;
8724 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
8725 cltype27 = type_nullable_parser_nodes__AExpr.color;
8726 idtype28 = type_nullable_parser_nodes__AExpr.id;
8727 if(var_pexprnode12 == NULL) {
8728 var26 = 1;
8729 } else {
8730 if(cltype27 >= var_pexprnode12->type->table_size) {
8731 var26 = 0;
8732 } else {
8733 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
8734 }
8735 }
8736 if (!var26) {
8737 fprintf(stderr, "Runtime error: %s", "Assert failed");
8738 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17922);
8739 exit(1);
8740 }
8741 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
8742 var30 = NULL;
8743 var31 = NULL;
8744 var32 = NULL;
8745 var33 = NULL;
8746 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var_pablenode3, var_pablenode4, var30, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var31, var32, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
8747 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
8748 var_ppropdefnode1 = var29;
8749 var_node_list = var_ppropdefnode1;
8750 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction403> */
8751 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
8752 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
8753 RET_LABEL:;
8754 }
8755 /* method parser#ReduceAction403#action for (self: Object, Parser) */
8756 void VIRTUAL_parser__ReduceAction403__action(val* self, val* p0) {
8757 parser__ReduceAction403__action(self, p0);
8758 RET_LABEL:;
8759 }
8760 /* method parser#ReduceAction404#action for (self: ReduceAction404, Parser) */
8761 void parser__ReduceAction404__action(val* self, val* p0) {
8762 val* var_p /* var p: Parser */;
8763 val* var /* : null */;
8764 val* var_node_list /* var node_list: nullable Object */;
8765 val* var1 /* : nullable Object */;
8766 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8767 val* var2 /* : nullable Object */;
8768 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8769 val* var3 /* : nullable Object */;
8770 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8771 val* var4 /* : nullable Object */;
8772 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8773 val* var5 /* : nullable Object */;
8774 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8775 val* var6 /* : nullable Object */;
8776 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8777 val* var7 /* : nullable Object */;
8778 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8779 val* var8 /* : nullable Object */;
8780 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8781 val* var9 /* : nullable Object */;
8782 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8783 val* var10 /* : nullable Object */;
8784 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8785 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8786 short int var11 /* : Bool */;
8787 int cltype;
8788 int idtype;
8789 val* var_pablenode3 /* var pablenode3: nullable Object */;
8790 short int var12 /* : Bool */;
8791 int cltype13;
8792 int idtype14;
8793 val* var_pablenode4 /* var pablenode4: nullable Object */;
8794 short int var15 /* : Bool */;
8795 int cltype16;
8796 int idtype17;
8797 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
8798 short int var18 /* : Bool */;
8799 int cltype19;
8800 int idtype20;
8801 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
8802 short int var21 /* : Bool */;
8803 int cltype22;
8804 int idtype23;
8805 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
8806 short int var24 /* : Bool */;
8807 int cltype25;
8808 int idtype26;
8809 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
8810 short int var27 /* : Bool */;
8811 int cltype28;
8812 int idtype29;
8813 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
8814 short int var30 /* : Bool */;
8815 int cltype31;
8816 int idtype32;
8817 val* var33 /* : AAttrPropdef */;
8818 val* var34 /* : null */;
8819 val* var35 /* : null */;
8820 val* var36 /* : null */;
8821 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
8822 long var37 /* : Int */;
8823 long var38 /* : Int */;
8824 var_p = p0;
8825 var = NULL;
8826 var_node_list = var;
8827 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8828 var_nodearraylist10 = var1;
8829 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8830 var_nodearraylist9 = var2;
8831 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8832 var_nodearraylist8 = var3;
8833 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8834 var_nodearraylist7 = var4;
8835 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8836 var_nodearraylist6 = var5;
8837 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8838 var_nodearraylist5 = var6;
8839 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8840 var_nodearraylist4 = var7;
8841 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8842 var_nodearraylist3 = var8;
8843 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8844 var_nodearraylist2 = var9;
8845 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8846 var_nodearraylist1 = var10;
8847 var_pdocnode2 = var_nodearraylist1;
8848 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8849 cltype = type_nullable_parser_nodes__ADoc.color;
8850 idtype = type_nullable_parser_nodes__ADoc.id;
8851 if(var_pdocnode2 == NULL) {
8852 var11 = 1;
8853 } else {
8854 if(cltype >= var_pdocnode2->type->table_size) {
8855 var11 = 0;
8856 } else {
8857 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
8858 }
8859 }
8860 if (!var11) {
8861 fprintf(stderr, "Runtime error: %s", "Assert failed");
8862 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17956);
8863 exit(1);
8864 }
8865 var_pablenode3 = var_nodearraylist2;
8866 /* <var_pablenode3:nullable Object> isa nullable AAble */
8867 cltype13 = type_nullable_parser_nodes__AAble.color;
8868 idtype14 = type_nullable_parser_nodes__AAble.id;
8869 if(var_pablenode3 == NULL) {
8870 var12 = 1;
8871 } else {
8872 if(cltype13 >= var_pablenode3->type->table_size) {
8873 var12 = 0;
8874 } else {
8875 var12 = var_pablenode3->type->type_table[cltype13] == idtype14;
8876 }
8877 }
8878 if (!var12) {
8879 fprintf(stderr, "Runtime error: %s", "Assert failed");
8880 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17958);
8881 exit(1);
8882 }
8883 var_pablenode4 = var_nodearraylist3;
8884 /* <var_pablenode4:nullable Object> isa nullable AAble */
8885 cltype16 = type_nullable_parser_nodes__AAble.color;
8886 idtype17 = type_nullable_parser_nodes__AAble.id;
8887 if(var_pablenode4 == NULL) {
8888 var15 = 1;
8889 } else {
8890 if(cltype16 >= var_pablenode4->type->table_size) {
8891 var15 = 0;
8892 } else {
8893 var15 = var_pablenode4->type->type_table[cltype16] == idtype17;
8894 }
8895 }
8896 if (!var15) {
8897 fprintf(stderr, "Runtime error: %s", "Assert failed");
8898 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17960);
8899 exit(1);
8900 }
8901 var_tkwredefnode5 = var_nodearraylist4;
8902 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
8903 cltype19 = type_nullable_parser_nodes__TKwredef.color;
8904 idtype20 = type_nullable_parser_nodes__TKwredef.id;
8905 if(var_tkwredefnode5 == NULL) {
8906 var18 = 1;
8907 } else {
8908 if(cltype19 >= var_tkwredefnode5->type->table_size) {
8909 var18 = 0;
8910 } else {
8911 var18 = var_tkwredefnode5->type->type_table[cltype19] == idtype20;
8912 }
8913 }
8914 if (!var18) {
8915 fprintf(stderr, "Runtime error: %s", "Assert failed");
8916 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17962);
8917 exit(1);
8918 }
8919 var_pvisibilitynode6 = var_nodearraylist5;
8920 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
8921 cltype22 = type_nullable_parser_nodes__AVisibility.color;
8922 idtype23 = type_nullable_parser_nodes__AVisibility.id;
8923 if(var_pvisibilitynode6 == NULL) {
8924 var21 = 1;
8925 } else {
8926 if(cltype22 >= var_pvisibilitynode6->type->table_size) {
8927 var21 = 0;
8928 } else {
8929 var21 = var_pvisibilitynode6->type->type_table[cltype22] == idtype23;
8930 }
8931 }
8932 if (!var21) {
8933 fprintf(stderr, "Runtime error: %s", "Assert failed");
8934 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17964);
8935 exit(1);
8936 }
8937 var_tkwvarnode7 = var_nodearraylist6;
8938 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
8939 cltype25 = type_nullable_parser_nodes__TKwvar.color;
8940 idtype26 = type_nullable_parser_nodes__TKwvar.id;
8941 if(var_tkwvarnode7 == NULL) {
8942 var24 = 1;
8943 } else {
8944 if(cltype25 >= var_tkwvarnode7->type->table_size) {
8945 var24 = 0;
8946 } else {
8947 var24 = var_tkwvarnode7->type->type_table[cltype25] == idtype26;
8948 }
8949 }
8950 if (!var24) {
8951 fprintf(stderr, "Runtime error: %s", "Assert failed");
8952 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17966);
8953 exit(1);
8954 }
8955 var_tattridnode8 = var_nodearraylist7;
8956 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
8957 cltype28 = type_nullable_parser_nodes__TAttrid.color;
8958 idtype29 = type_nullable_parser_nodes__TAttrid.id;
8959 if(var_tattridnode8 == NULL) {
8960 var27 = 1;
8961 } else {
8962 if(cltype28 >= var_tattridnode8->type->table_size) {
8963 var27 = 0;
8964 } else {
8965 var27 = var_tattridnode8->type->type_table[cltype28] == idtype29;
8966 }
8967 }
8968 if (!var27) {
8969 fprintf(stderr, "Runtime error: %s", "Assert failed");
8970 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17968);
8971 exit(1);
8972 }
8973 var_pexprnode12 = var_nodearraylist10;
8974 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
8975 cltype31 = type_nullable_parser_nodes__AExpr.color;
8976 idtype32 = type_nullable_parser_nodes__AExpr.id;
8977 if(var_pexprnode12 == NULL) {
8978 var30 = 1;
8979 } else {
8980 if(cltype31 >= var_pexprnode12->type->table_size) {
8981 var30 = 0;
8982 } else {
8983 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
8984 }
8985 }
8986 if (!var30) {
8987 fprintf(stderr, "Runtime error: %s", "Assert failed");
8988 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17970);
8989 exit(1);
8990 }
8991 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
8992 var34 = NULL;
8993 var35 = NULL;
8994 var36 = NULL;
8995 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var33, var_pdocnode2, var_pablenode3, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var34, var35, var36, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
8996 CHECK_NEW_parser_nodes__AAttrPropdef(var33);
8997 var_ppropdefnode1 = var33;
8998 var_node_list = var_ppropdefnode1;
8999 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction404> */
9000 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
9001 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
9002 RET_LABEL:;
9003 }
9004 /* method parser#ReduceAction404#action for (self: Object, Parser) */
9005 void VIRTUAL_parser__ReduceAction404__action(val* self, val* p0) {
9006 parser__ReduceAction404__action(self, p0);
9007 RET_LABEL:;
9008 }
9009 /* method parser#ReduceAction405#action for (self: ReduceAction405, Parser) */
9010 void parser__ReduceAction405__action(val* self, val* p0) {
9011 val* var_p /* var p: Parser */;
9012 val* var /* : null */;
9013 val* var_node_list /* var node_list: nullable Object */;
9014 val* var1 /* : nullable Object */;
9015 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9016 val* var2 /* : nullable Object */;
9017 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9018 val* var3 /* : nullable Object */;
9019 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9020 val* var4 /* : nullable Object */;
9021 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9022 val* var5 /* : nullable Object */;
9023 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9024 val* var6 /* : nullable Object */;
9025 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9026 val* var7 /* : nullable Object */;
9027 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9028 val* var8 /* : nullable Object */;
9029 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9030 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9031 short int var9 /* : Bool */;
9032 int cltype;
9033 int idtype;
9034 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
9035 short int var10 /* : Bool */;
9036 int cltype11;
9037 int idtype12;
9038 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
9039 short int var13 /* : Bool */;
9040 int cltype14;
9041 int idtype15;
9042 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
9043 short int var16 /* : Bool */;
9044 int cltype17;
9045 int idtype18;
9046 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
9047 short int var19 /* : Bool */;
9048 int cltype20;
9049 int idtype21;
9050 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
9051 short int var22 /* : Bool */;
9052 int cltype23;
9053 int idtype24;
9054 val* var25 /* : AAttrPropdef */;
9055 val* var26 /* : null */;
9056 val* var27 /* : null */;
9057 val* var28 /* : null */;
9058 val* var29 /* : null */;
9059 val* var30 /* : null */;
9060 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
9061 long var31 /* : Int */;
9062 long var32 /* : Int */;
9063 var_p = p0;
9064 var = NULL;
9065 var_node_list = var;
9066 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9067 var_nodearraylist8 = var1;
9068 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9069 var_nodearraylist7 = var2;
9070 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9071 var_nodearraylist6 = var3;
9072 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9073 var_nodearraylist5 = var4;
9074 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9075 var_nodearraylist4 = var5;
9076 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9077 var_nodearraylist3 = var6;
9078 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9079 var_nodearraylist2 = var7;
9080 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9081 var_nodearraylist1 = var8;
9082 var_pdocnode2 = var_nodearraylist1;
9083 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9084 cltype = type_nullable_parser_nodes__ADoc.color;
9085 idtype = type_nullable_parser_nodes__ADoc.id;
9086 if(var_pdocnode2 == NULL) {
9087 var9 = 1;
9088 } else {
9089 if(cltype >= var_pdocnode2->type->table_size) {
9090 var9 = 0;
9091 } else {
9092 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
9093 }
9094 }
9095 if (!var9) {
9096 fprintf(stderr, "Runtime error: %s", "Assert failed");
9097 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18002);
9098 exit(1);
9099 }
9100 var_pvisibilitynode6 = var_nodearraylist2;
9101 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
9102 cltype11 = type_nullable_parser_nodes__AVisibility.color;
9103 idtype12 = type_nullable_parser_nodes__AVisibility.id;
9104 if(var_pvisibilitynode6 == NULL) {
9105 var10 = 1;
9106 } else {
9107 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
9108 var10 = 0;
9109 } else {
9110 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
9111 }
9112 }
9113 if (!var10) {
9114 fprintf(stderr, "Runtime error: %s", "Assert failed");
9115 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18004);
9116 exit(1);
9117 }
9118 var_tkwvarnode7 = var_nodearraylist3;
9119 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
9120 cltype14 = type_nullable_parser_nodes__TKwvar.color;
9121 idtype15 = type_nullable_parser_nodes__TKwvar.id;
9122 if(var_tkwvarnode7 == NULL) {
9123 var13 = 1;
9124 } else {
9125 if(cltype14 >= var_tkwvarnode7->type->table_size) {
9126 var13 = 0;
9127 } else {
9128 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
9129 }
9130 }
9131 if (!var13) {
9132 fprintf(stderr, "Runtime error: %s", "Assert failed");
9133 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18006);
9134 exit(1);
9135 }
9136 var_tattridnode8 = var_nodearraylist4;
9137 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
9138 cltype17 = type_nullable_parser_nodes__TAttrid.color;
9139 idtype18 = type_nullable_parser_nodes__TAttrid.id;
9140 if(var_tattridnode8 == NULL) {
9141 var16 = 1;
9142 } else {
9143 if(cltype17 >= var_tattridnode8->type->table_size) {
9144 var16 = 0;
9145 } else {
9146 var16 = var_tattridnode8->type->type_table[cltype17] == idtype18;
9147 }
9148 }
9149 if (!var16) {
9150 fprintf(stderr, "Runtime error: %s", "Assert failed");
9151 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18008);
9152 exit(1);
9153 }
9154 var_ptypenode10 = var_nodearraylist5;
9155 /* <var_ptypenode10:nullable Object> isa nullable AType */
9156 cltype20 = type_nullable_parser_nodes__AType.color;
9157 idtype21 = type_nullable_parser_nodes__AType.id;
9158 if(var_ptypenode10 == NULL) {
9159 var19 = 1;
9160 } else {
9161 if(cltype20 >= var_ptypenode10->type->table_size) {
9162 var19 = 0;
9163 } else {
9164 var19 = var_ptypenode10->type->type_table[cltype20] == idtype21;
9165 }
9166 }
9167 if (!var19) {
9168 fprintf(stderr, "Runtime error: %s", "Assert failed");
9169 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18010);
9170 exit(1);
9171 }
9172 var_pexprnode12 = var_nodearraylist8;
9173 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
9174 cltype23 = type_nullable_parser_nodes__AExpr.color;
9175 idtype24 = type_nullable_parser_nodes__AExpr.id;
9176 if(var_pexprnode12 == NULL) {
9177 var22 = 1;
9178 } else {
9179 if(cltype23 >= var_pexprnode12->type->table_size) {
9180 var22 = 0;
9181 } else {
9182 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
9183 }
9184 }
9185 if (!var22) {
9186 fprintf(stderr, "Runtime error: %s", "Assert failed");
9187 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18012);
9188 exit(1);
9189 }
9190 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
9191 var26 = NULL;
9192 var27 = NULL;
9193 var28 = NULL;
9194 var29 = NULL;
9195 var30 = NULL;
9196 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var26, var27, var28, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var29, var_ptypenode10, var30, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
9197 CHECK_NEW_parser_nodes__AAttrPropdef(var25);
9198 var_ppropdefnode1 = var25;
9199 var_node_list = var_ppropdefnode1;
9200 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction405> */
9201 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
9202 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
9203 RET_LABEL:;
9204 }
9205 /* method parser#ReduceAction405#action for (self: Object, Parser) */
9206 void VIRTUAL_parser__ReduceAction405__action(val* self, val* p0) {
9207 parser__ReduceAction405__action(self, p0);
9208 RET_LABEL:;
9209 }
9210 /* method parser#ReduceAction406#action for (self: ReduceAction406, Parser) */
9211 void parser__ReduceAction406__action(val* self, val* p0) {
9212 val* var_p /* var p: Parser */;
9213 val* var /* : null */;
9214 val* var_node_list /* var node_list: nullable Object */;
9215 val* var1 /* : nullable Object */;
9216 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9217 val* var2 /* : nullable Object */;
9218 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9219 val* var3 /* : nullable Object */;
9220 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9221 val* var4 /* : nullable Object */;
9222 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9223 val* var5 /* : nullable Object */;
9224 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9225 val* var6 /* : nullable Object */;
9226 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9227 val* var7 /* : nullable Object */;
9228 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9229 val* var8 /* : nullable Object */;
9230 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9231 val* var9 /* : nullable Object */;
9232 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9233 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9234 short int var10 /* : Bool */;
9235 int cltype;
9236 int idtype;
9237 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
9238 short int var11 /* : Bool */;
9239 int cltype12;
9240 int idtype13;
9241 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
9242 short int var14 /* : Bool */;
9243 int cltype15;
9244 int idtype16;
9245 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
9246 short int var17 /* : Bool */;
9247 int cltype18;
9248 int idtype19;
9249 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
9250 short int var20 /* : Bool */;
9251 int cltype21;
9252 int idtype22;
9253 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
9254 short int var23 /* : Bool */;
9255 int cltype24;
9256 int idtype25;
9257 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
9258 short int var26 /* : Bool */;
9259 int cltype27;
9260 int idtype28;
9261 val* var29 /* : AAttrPropdef */;
9262 val* var30 /* : null */;
9263 val* var31 /* : null */;
9264 val* var32 /* : null */;
9265 val* var33 /* : null */;
9266 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
9267 long var34 /* : Int */;
9268 long var35 /* : Int */;
9269 var_p = p0;
9270 var = NULL;
9271 var_node_list = var;
9272 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9273 var_nodearraylist9 = var1;
9274 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9275 var_nodearraylist8 = var2;
9276 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9277 var_nodearraylist7 = var3;
9278 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9279 var_nodearraylist6 = var4;
9280 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9281 var_nodearraylist5 = var5;
9282 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9283 var_nodearraylist4 = var6;
9284 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9285 var_nodearraylist3 = var7;
9286 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9287 var_nodearraylist2 = var8;
9288 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9289 var_nodearraylist1 = var9;
9290 var_pdocnode2 = var_nodearraylist1;
9291 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9292 cltype = type_nullable_parser_nodes__ADoc.color;
9293 idtype = type_nullable_parser_nodes__ADoc.id;
9294 if(var_pdocnode2 == NULL) {
9295 var10 = 1;
9296 } else {
9297 if(cltype >= var_pdocnode2->type->table_size) {
9298 var10 = 0;
9299 } else {
9300 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
9301 }
9302 }
9303 if (!var10) {
9304 fprintf(stderr, "Runtime error: %s", "Assert failed");
9305 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18045);
9306 exit(1);
9307 }
9308 var_tkwredefnode5 = var_nodearraylist2;
9309 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
9310 cltype12 = type_nullable_parser_nodes__TKwredef.color;
9311 idtype13 = type_nullable_parser_nodes__TKwredef.id;
9312 if(var_tkwredefnode5 == NULL) {
9313 var11 = 1;
9314 } else {
9315 if(cltype12 >= var_tkwredefnode5->type->table_size) {
9316 var11 = 0;
9317 } else {
9318 var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
9319 }
9320 }
9321 if (!var11) {
9322 fprintf(stderr, "Runtime error: %s", "Assert failed");
9323 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18047);
9324 exit(1);
9325 }
9326 var_pvisibilitynode6 = var_nodearraylist3;
9327 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
9328 cltype15 = type_nullable_parser_nodes__AVisibility.color;
9329 idtype16 = type_nullable_parser_nodes__AVisibility.id;
9330 if(var_pvisibilitynode6 == NULL) {
9331 var14 = 1;
9332 } else {
9333 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
9334 var14 = 0;
9335 } else {
9336 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
9337 }
9338 }
9339 if (!var14) {
9340 fprintf(stderr, "Runtime error: %s", "Assert failed");
9341 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18049);
9342 exit(1);
9343 }
9344 var_tkwvarnode7 = var_nodearraylist4;
9345 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
9346 cltype18 = type_nullable_parser_nodes__TKwvar.color;
9347 idtype19 = type_nullable_parser_nodes__TKwvar.id;
9348 if(var_tkwvarnode7 == NULL) {
9349 var17 = 1;
9350 } else {
9351 if(cltype18 >= var_tkwvarnode7->type->table_size) {
9352 var17 = 0;
9353 } else {
9354 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
9355 }
9356 }
9357 if (!var17) {
9358 fprintf(stderr, "Runtime error: %s", "Assert failed");
9359 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18051);
9360 exit(1);
9361 }
9362 var_tattridnode8 = var_nodearraylist5;
9363 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
9364 cltype21 = type_nullable_parser_nodes__TAttrid.color;
9365 idtype22 = type_nullable_parser_nodes__TAttrid.id;
9366 if(var_tattridnode8 == NULL) {
9367 var20 = 1;
9368 } else {
9369 if(cltype21 >= var_tattridnode8->type->table_size) {
9370 var20 = 0;
9371 } else {
9372 var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
9373 }
9374 }
9375 if (!var20) {
9376 fprintf(stderr, "Runtime error: %s", "Assert failed");
9377 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18053);
9378 exit(1);
9379 }
9380 var_ptypenode10 = var_nodearraylist6;
9381 /* <var_ptypenode10:nullable Object> isa nullable AType */
9382 cltype24 = type_nullable_parser_nodes__AType.color;
9383 idtype25 = type_nullable_parser_nodes__AType.id;
9384 if(var_ptypenode10 == NULL) {
9385 var23 = 1;
9386 } else {
9387 if(cltype24 >= var_ptypenode10->type->table_size) {
9388 var23 = 0;
9389 } else {
9390 var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
9391 }
9392 }
9393 if (!var23) {
9394 fprintf(stderr, "Runtime error: %s", "Assert failed");
9395 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18055);
9396 exit(1);
9397 }
9398 var_pexprnode12 = var_nodearraylist9;
9399 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
9400 cltype27 = type_nullable_parser_nodes__AExpr.color;
9401 idtype28 = type_nullable_parser_nodes__AExpr.id;
9402 if(var_pexprnode12 == NULL) {
9403 var26 = 1;
9404 } else {
9405 if(cltype27 >= var_pexprnode12->type->table_size) {
9406 var26 = 0;
9407 } else {
9408 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
9409 }
9410 }
9411 if (!var26) {
9412 fprintf(stderr, "Runtime error: %s", "Assert failed");
9413 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18057);
9414 exit(1);
9415 }
9416 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
9417 var30 = NULL;
9418 var31 = NULL;
9419 var32 = NULL;
9420 var33 = NULL;
9421 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var31, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var32, var_ptypenode10, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
9422 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
9423 var_ppropdefnode1 = var29;
9424 var_node_list = var_ppropdefnode1;
9425 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction406> */
9426 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
9427 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
9428 RET_LABEL:;
9429 }
9430 /* method parser#ReduceAction406#action for (self: Object, Parser) */
9431 void VIRTUAL_parser__ReduceAction406__action(val* self, val* p0) {
9432 parser__ReduceAction406__action(self, p0);
9433 RET_LABEL:;
9434 }
9435 /* method parser#ReduceAction407#action for (self: ReduceAction407, Parser) */
9436 void parser__ReduceAction407__action(val* self, val* p0) {
9437 val* var_p /* var p: Parser */;
9438 val* var /* : null */;
9439 val* var_node_list /* var node_list: nullable Object */;
9440 val* var1 /* : nullable Object */;
9441 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9442 val* var2 /* : nullable Object */;
9443 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9444 val* var3 /* : nullable Object */;
9445 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9446 val* var4 /* : nullable Object */;
9447 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9448 val* var5 /* : nullable Object */;
9449 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9450 val* var6 /* : nullable Object */;
9451 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9452 val* var7 /* : nullable Object */;
9453 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9454 val* var8 /* : nullable Object */;
9455 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9456 val* var9 /* : nullable Object */;
9457 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9458 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9459 short int var10 /* : Bool */;
9460 int cltype;
9461 int idtype;
9462 val* var_pablenode3 /* var pablenode3: nullable Object */;
9463 short int var11 /* : Bool */;
9464 int cltype12;
9465 int idtype13;
9466 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
9467 short int var14 /* : Bool */;
9468 int cltype15;
9469 int idtype16;
9470 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
9471 short int var17 /* : Bool */;
9472 int cltype18;
9473 int idtype19;
9474 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
9475 short int var20 /* : Bool */;
9476 int cltype21;
9477 int idtype22;
9478 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
9479 short int var23 /* : Bool */;
9480 int cltype24;
9481 int idtype25;
9482 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
9483 short int var26 /* : Bool */;
9484 int cltype27;
9485 int idtype28;
9486 val* var29 /* : AAttrPropdef */;
9487 val* var30 /* : null */;
9488 val* var31 /* : null */;
9489 val* var32 /* : null */;
9490 val* var33 /* : null */;
9491 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
9492 long var34 /* : Int */;
9493 long var35 /* : Int */;
9494 var_p = p0;
9495 var = NULL;
9496 var_node_list = var;
9497 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9498 var_nodearraylist9 = var1;
9499 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9500 var_nodearraylist8 = var2;
9501 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9502 var_nodearraylist7 = var3;
9503 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9504 var_nodearraylist6 = var4;
9505 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9506 var_nodearraylist5 = var5;
9507 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9508 var_nodearraylist4 = var6;
9509 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9510 var_nodearraylist3 = var7;
9511 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9512 var_nodearraylist2 = var8;
9513 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9514 var_nodearraylist1 = var9;
9515 var_pdocnode2 = var_nodearraylist1;
9516 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9517 cltype = type_nullable_parser_nodes__ADoc.color;
9518 idtype = type_nullable_parser_nodes__ADoc.id;
9519 if(var_pdocnode2 == NULL) {
9520 var10 = 1;
9521 } else {
9522 if(cltype >= var_pdocnode2->type->table_size) {
9523 var10 = 0;
9524 } else {
9525 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
9526 }
9527 }
9528 if (!var10) {
9529 fprintf(stderr, "Runtime error: %s", "Assert failed");
9530 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18090);
9531 exit(1);
9532 }
9533 var_pablenode3 = var_nodearraylist2;
9534 /* <var_pablenode3:nullable Object> isa nullable AAble */
9535 cltype12 = type_nullable_parser_nodes__AAble.color;
9536 idtype13 = type_nullable_parser_nodes__AAble.id;
9537 if(var_pablenode3 == NULL) {
9538 var11 = 1;
9539 } else {
9540 if(cltype12 >= var_pablenode3->type->table_size) {
9541 var11 = 0;
9542 } else {
9543 var11 = var_pablenode3->type->type_table[cltype12] == idtype13;
9544 }
9545 }
9546 if (!var11) {
9547 fprintf(stderr, "Runtime error: %s", "Assert failed");
9548 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18092);
9549 exit(1);
9550 }
9551 var_pvisibilitynode6 = var_nodearraylist3;
9552 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
9553 cltype15 = type_nullable_parser_nodes__AVisibility.color;
9554 idtype16 = type_nullable_parser_nodes__AVisibility.id;
9555 if(var_pvisibilitynode6 == NULL) {
9556 var14 = 1;
9557 } else {
9558 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
9559 var14 = 0;
9560 } else {
9561 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
9562 }
9563 }
9564 if (!var14) {
9565 fprintf(stderr, "Runtime error: %s", "Assert failed");
9566 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18094);
9567 exit(1);
9568 }
9569 var_tkwvarnode7 = var_nodearraylist4;
9570 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
9571 cltype18 = type_nullable_parser_nodes__TKwvar.color;
9572 idtype19 = type_nullable_parser_nodes__TKwvar.id;
9573 if(var_tkwvarnode7 == NULL) {
9574 var17 = 1;
9575 } else {
9576 if(cltype18 >= var_tkwvarnode7->type->table_size) {
9577 var17 = 0;
9578 } else {
9579 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
9580 }
9581 }
9582 if (!var17) {
9583 fprintf(stderr, "Runtime error: %s", "Assert failed");
9584 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18096);
9585 exit(1);
9586 }
9587 var_tattridnode8 = var_nodearraylist5;
9588 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
9589 cltype21 = type_nullable_parser_nodes__TAttrid.color;
9590 idtype22 = type_nullable_parser_nodes__TAttrid.id;
9591 if(var_tattridnode8 == NULL) {
9592 var20 = 1;
9593 } else {
9594 if(cltype21 >= var_tattridnode8->type->table_size) {
9595 var20 = 0;
9596 } else {
9597 var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
9598 }
9599 }
9600 if (!var20) {
9601 fprintf(stderr, "Runtime error: %s", "Assert failed");
9602 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18098);
9603 exit(1);
9604 }
9605 var_ptypenode10 = var_nodearraylist6;
9606 /* <var_ptypenode10:nullable Object> isa nullable AType */
9607 cltype24 = type_nullable_parser_nodes__AType.color;
9608 idtype25 = type_nullable_parser_nodes__AType.id;
9609 if(var_ptypenode10 == NULL) {
9610 var23 = 1;
9611 } else {
9612 if(cltype24 >= var_ptypenode10->type->table_size) {
9613 var23 = 0;
9614 } else {
9615 var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
9616 }
9617 }
9618 if (!var23) {
9619 fprintf(stderr, "Runtime error: %s", "Assert failed");
9620 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18100);
9621 exit(1);
9622 }
9623 var_pexprnode12 = var_nodearraylist9;
9624 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
9625 cltype27 = type_nullable_parser_nodes__AExpr.color;
9626 idtype28 = type_nullable_parser_nodes__AExpr.id;
9627 if(var_pexprnode12 == NULL) {
9628 var26 = 1;
9629 } else {
9630 if(cltype27 >= var_pexprnode12->type->table_size) {
9631 var26 = 0;
9632 } else {
9633 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
9634 }
9635 }
9636 if (!var26) {
9637 fprintf(stderr, "Runtime error: %s", "Assert failed");
9638 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18102);
9639 exit(1);
9640 }
9641 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
9642 var30 = NULL;
9643 var31 = NULL;
9644 var32 = NULL;
9645 var33 = NULL;
9646 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var_pablenode3, var30, var31, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var32, var_ptypenode10, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
9647 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
9648 var_ppropdefnode1 = var29;
9649 var_node_list = var_ppropdefnode1;
9650 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction407> */
9651 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
9652 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
9653 RET_LABEL:;
9654 }
9655 /* method parser#ReduceAction407#action for (self: Object, Parser) */
9656 void VIRTUAL_parser__ReduceAction407__action(val* self, val* p0) {
9657 parser__ReduceAction407__action(self, p0);
9658 RET_LABEL:;
9659 }
9660 /* method parser#ReduceAction408#action for (self: ReduceAction408, Parser) */
9661 void parser__ReduceAction408__action(val* self, val* p0) {
9662 val* var_p /* var p: Parser */;
9663 val* var /* : null */;
9664 val* var_node_list /* var node_list: nullable Object */;
9665 val* var1 /* : nullable Object */;
9666 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9667 val* var2 /* : nullable Object */;
9668 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9669 val* var3 /* : nullable Object */;
9670 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9671 val* var4 /* : nullable Object */;
9672 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9673 val* var5 /* : nullable Object */;
9674 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9675 val* var6 /* : nullable Object */;
9676 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9677 val* var7 /* : nullable Object */;
9678 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9679 val* var8 /* : nullable Object */;
9680 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9681 val* var9 /* : nullable Object */;
9682 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9683 val* var10 /* : nullable Object */;
9684 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9685 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9686 short int var11 /* : Bool */;
9687 int cltype;
9688 int idtype;
9689 val* var_pablenode3 /* var pablenode3: nullable Object */;
9690 short int var12 /* : Bool */;
9691 int cltype13;
9692 int idtype14;
9693 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
9694 short int var15 /* : Bool */;
9695 int cltype16;
9696 int idtype17;
9697 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
9698 short int var18 /* : Bool */;
9699 int cltype19;
9700 int idtype20;
9701 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
9702 short int var21 /* : Bool */;
9703 int cltype22;
9704 int idtype23;
9705 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
9706 short int var24 /* : Bool */;
9707 int cltype25;
9708 int idtype26;
9709 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
9710 short int var27 /* : Bool */;
9711 int cltype28;
9712 int idtype29;
9713 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
9714 short int var30 /* : Bool */;
9715 int cltype31;
9716 int idtype32;
9717 val* var33 /* : AAttrPropdef */;
9718 val* var34 /* : null */;
9719 val* var35 /* : null */;
9720 val* var36 /* : null */;
9721 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
9722 long var37 /* : Int */;
9723 long var38 /* : Int */;
9724 var_p = p0;
9725 var = NULL;
9726 var_node_list = var;
9727 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9728 var_nodearraylist10 = var1;
9729 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9730 var_nodearraylist9 = var2;
9731 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9732 var_nodearraylist8 = var3;
9733 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9734 var_nodearraylist7 = var4;
9735 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9736 var_nodearraylist6 = var5;
9737 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9738 var_nodearraylist5 = var6;
9739 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9740 var_nodearraylist4 = var7;
9741 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9742 var_nodearraylist3 = var8;
9743 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9744 var_nodearraylist2 = var9;
9745 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9746 var_nodearraylist1 = var10;
9747 var_pdocnode2 = var_nodearraylist1;
9748 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9749 cltype = type_nullable_parser_nodes__ADoc.color;
9750 idtype = type_nullable_parser_nodes__ADoc.id;
9751 if(var_pdocnode2 == NULL) {
9752 var11 = 1;
9753 } else {
9754 if(cltype >= var_pdocnode2->type->table_size) {
9755 var11 = 0;
9756 } else {
9757 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
9758 }
9759 }
9760 if (!var11) {
9761 fprintf(stderr, "Runtime error: %s", "Assert failed");
9762 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18136);
9763 exit(1);
9764 }
9765 var_pablenode3 = var_nodearraylist2;
9766 /* <var_pablenode3:nullable Object> isa nullable AAble */
9767 cltype13 = type_nullable_parser_nodes__AAble.color;
9768 idtype14 = type_nullable_parser_nodes__AAble.id;
9769 if(var_pablenode3 == NULL) {
9770 var12 = 1;
9771 } else {
9772 if(cltype13 >= var_pablenode3->type->table_size) {
9773 var12 = 0;
9774 } else {
9775 var12 = var_pablenode3->type->type_table[cltype13] == idtype14;
9776 }
9777 }
9778 if (!var12) {
9779 fprintf(stderr, "Runtime error: %s", "Assert failed");
9780 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18138);
9781 exit(1);
9782 }
9783 var_tkwredefnode5 = var_nodearraylist3;
9784 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
9785 cltype16 = type_nullable_parser_nodes__TKwredef.color;
9786 idtype17 = type_nullable_parser_nodes__TKwredef.id;
9787 if(var_tkwredefnode5 == NULL) {
9788 var15 = 1;
9789 } else {
9790 if(cltype16 >= var_tkwredefnode5->type->table_size) {
9791 var15 = 0;
9792 } else {
9793 var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
9794 }
9795 }
9796 if (!var15) {
9797 fprintf(stderr, "Runtime error: %s", "Assert failed");
9798 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18140);
9799 exit(1);
9800 }
9801 var_pvisibilitynode6 = var_nodearraylist4;
9802 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
9803 cltype19 = type_nullable_parser_nodes__AVisibility.color;
9804 idtype20 = type_nullable_parser_nodes__AVisibility.id;
9805 if(var_pvisibilitynode6 == NULL) {
9806 var18 = 1;
9807 } else {
9808 if(cltype19 >= var_pvisibilitynode6->type->table_size) {
9809 var18 = 0;
9810 } else {
9811 var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
9812 }
9813 }
9814 if (!var18) {
9815 fprintf(stderr, "Runtime error: %s", "Assert failed");
9816 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18142);
9817 exit(1);
9818 }
9819 var_tkwvarnode7 = var_nodearraylist5;
9820 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
9821 cltype22 = type_nullable_parser_nodes__TKwvar.color;
9822 idtype23 = type_nullable_parser_nodes__TKwvar.id;
9823 if(var_tkwvarnode7 == NULL) {
9824 var21 = 1;
9825 } else {
9826 if(cltype22 >= var_tkwvarnode7->type->table_size) {
9827 var21 = 0;
9828 } else {
9829 var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
9830 }
9831 }
9832 if (!var21) {
9833 fprintf(stderr, "Runtime error: %s", "Assert failed");
9834 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18144);
9835 exit(1);
9836 }
9837 var_tattridnode8 = var_nodearraylist6;
9838 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
9839 cltype25 = type_nullable_parser_nodes__TAttrid.color;
9840 idtype26 = type_nullable_parser_nodes__TAttrid.id;
9841 if(var_tattridnode8 == NULL) {
9842 var24 = 1;
9843 } else {
9844 if(cltype25 >= var_tattridnode8->type->table_size) {
9845 var24 = 0;
9846 } else {
9847 var24 = var_tattridnode8->type->type_table[cltype25] == idtype26;
9848 }
9849 }
9850 if (!var24) {
9851 fprintf(stderr, "Runtime error: %s", "Assert failed");
9852 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18146);
9853 exit(1);
9854 }
9855 var_ptypenode10 = var_nodearraylist7;
9856 /* <var_ptypenode10:nullable Object> isa nullable AType */
9857 cltype28 = type_nullable_parser_nodes__AType.color;
9858 idtype29 = type_nullable_parser_nodes__AType.id;
9859 if(var_ptypenode10 == NULL) {
9860 var27 = 1;
9861 } else {
9862 if(cltype28 >= var_ptypenode10->type->table_size) {
9863 var27 = 0;
9864 } else {
9865 var27 = var_ptypenode10->type->type_table[cltype28] == idtype29;
9866 }
9867 }
9868 if (!var27) {
9869 fprintf(stderr, "Runtime error: %s", "Assert failed");
9870 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18148);
9871 exit(1);
9872 }
9873 var_pexprnode12 = var_nodearraylist10;
9874 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
9875 cltype31 = type_nullable_parser_nodes__AExpr.color;
9876 idtype32 = type_nullable_parser_nodes__AExpr.id;
9877 if(var_pexprnode12 == NULL) {
9878 var30 = 1;
9879 } else {
9880 if(cltype31 >= var_pexprnode12->type->table_size) {
9881 var30 = 0;
9882 } else {
9883 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
9884 }
9885 }
9886 if (!var30) {
9887 fprintf(stderr, "Runtime error: %s", "Assert failed");
9888 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18150);
9889 exit(1);
9890 }
9891 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
9892 var34 = NULL;
9893 var35 = NULL;
9894 var36 = NULL;
9895 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var33, var_pdocnode2, var_pablenode3, var34, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var35, var_ptypenode10, var36, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
9896 CHECK_NEW_parser_nodes__AAttrPropdef(var33);
9897 var_ppropdefnode1 = var33;
9898 var_node_list = var_ppropdefnode1;
9899 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction408> */
9900 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
9901 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
9902 RET_LABEL:;
9903 }
9904 /* method parser#ReduceAction408#action for (self: Object, Parser) */
9905 void VIRTUAL_parser__ReduceAction408__action(val* self, val* p0) {
9906 parser__ReduceAction408__action(self, p0);
9907 RET_LABEL:;
9908 }