c_src: update Makefile to compile on MacOSX
[nit.git] / c_src / parser.sep.10.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction370#action for (self: ReduceAction370, Parser) */
3 void parser__ReduceAction370__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_nodearraylist9 /* var nodearraylist9: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
19 val* var7 /* : nullable Object */;
20 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
21 val* var8 /* : nullable Object */;
22 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
23 val* var9 /* : nullable Object */;
24 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
25 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
26 short int var10 /* : Bool */;
27 int cltype;
28 int idtype;
29 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
30 short int var11 /* : Bool */;
31 int cltype12;
32 int idtype13;
33 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
34 short int var14 /* : Bool */;
35 int cltype15;
36 int idtype16;
37 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
38 short int var17 /* : Bool */;
39 int cltype18;
40 int idtype19;
41 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
42 short int var20 /* : Bool */;
43 int cltype21;
44 int idtype22;
45 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
46 short int var23 /* : Bool */;
47 int cltype24;
48 int idtype25;
49 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
50 short int var26 /* : Bool */;
51 int cltype27;
52 int idtype28;
53 val* var29 /* : AExternMethPropdef */;
54 val* var30 /* : null */;
55 val* var31 /* : null */;
56 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
57 long var32 /* : Int */;
58 long var33 /* : Int */;
59 var_p = p0;
60 var = NULL;
61 var_node_list = var;
62 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
63 var_nodearraylist9 = var1;
64 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
65 var_nodearraylist8 = var2;
66 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
67 var_nodearraylist7 = var3;
68 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
69 var_nodearraylist6 = var4;
70 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
71 var_nodearraylist5 = var5;
72 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
73 var_nodearraylist4 = var6;
74 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
75 var_nodearraylist3 = var7;
76 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
77 var_nodearraylist2 = var8;
78 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
79 var_nodearraylist1 = var9;
80 var_pdocnode2 = var_nodearraylist1;
81 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
82 cltype = type_nullable_parser_nodes__ADoc.color;
83 idtype = type_nullable_parser_nodes__ADoc.id;
84 if(var_pdocnode2 == NULL) {
85 var10 = 1;
86 } else {
87 if(cltype >= var_pdocnode2->type->table_size) {
88 var10 = 0;
89 } else {
90 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
91 }
92 }
93 if (!var10) {
94 fprintf(stderr, "Runtime error: %s", "Assert failed");
95 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16523);
96 show_backtrace(1);
97 }
98 var_tkwredefnode3 = var_nodearraylist2;
99 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
100 cltype12 = type_nullable_parser_nodes__TKwredef.color;
101 idtype13 = type_nullable_parser_nodes__TKwredef.id;
102 if(var_tkwredefnode3 == NULL) {
103 var11 = 1;
104 } else {
105 if(cltype12 >= var_tkwredefnode3->type->table_size) {
106 var11 = 0;
107 } else {
108 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
109 }
110 }
111 if (!var11) {
112 fprintf(stderr, "Runtime error: %s", "Assert failed");
113 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16525);
114 show_backtrace(1);
115 }
116 var_pvisibilitynode4 = var_nodearraylist3;
117 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
118 cltype15 = type_nullable_parser_nodes__AVisibility.color;
119 idtype16 = type_nullable_parser_nodes__AVisibility.id;
120 if(var_pvisibilitynode4 == NULL) {
121 var14 = 1;
122 } else {
123 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
124 var14 = 0;
125 } else {
126 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
127 }
128 }
129 if (!var14) {
130 fprintf(stderr, "Runtime error: %s", "Assert failed");
131 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16527);
132 show_backtrace(1);
133 }
134 var_tkwmethnode5 = var_nodearraylist4;
135 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
136 cltype18 = type_nullable_parser_nodes__TKwmeth.color;
137 idtype19 = type_nullable_parser_nodes__TKwmeth.id;
138 if(var_tkwmethnode5 == NULL) {
139 var17 = 1;
140 } else {
141 if(cltype18 >= var_tkwmethnode5->type->table_size) {
142 var17 = 0;
143 } else {
144 var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19;
145 }
146 }
147 if (!var17) {
148 fprintf(stderr, "Runtime error: %s", "Assert failed");
149 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16529);
150 show_backtrace(1);
151 }
152 var_pmethidnode6 = var_nodearraylist5;
153 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
154 cltype21 = type_nullable_parser_nodes__AMethid.color;
155 idtype22 = type_nullable_parser_nodes__AMethid.id;
156 if(var_pmethidnode6 == NULL) {
157 var20 = 1;
158 } else {
159 if(cltype21 >= var_pmethidnode6->type->table_size) {
160 var20 = 0;
161 } else {
162 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
163 }
164 }
165 if (!var20) {
166 fprintf(stderr, "Runtime error: %s", "Assert failed");
167 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16531);
168 show_backtrace(1);
169 }
170 var_psignaturenode7 = var_nodearraylist6;
171 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
172 cltype24 = type_nullable_parser_nodes__ASignature.color;
173 idtype25 = type_nullable_parser_nodes__ASignature.id;
174 if(var_psignaturenode7 == NULL) {
175 var23 = 1;
176 } else {
177 if(cltype24 >= var_psignaturenode7->type->table_size) {
178 var23 = 0;
179 } else {
180 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
181 }
182 }
183 if (!var23) {
184 fprintf(stderr, "Runtime error: %s", "Assert failed");
185 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16533);
186 show_backtrace(1);
187 }
188 var_pexterncodeblocknode10 = var_nodearraylist9;
189 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
190 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
191 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
192 if(var_pexterncodeblocknode10 == NULL) {
193 var26 = 1;
194 } else {
195 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
196 var26 = 0;
197 } else {
198 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
199 }
200 }
201 if (!var26) {
202 fprintf(stderr, "Runtime error: %s", "Assert failed");
203 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16535);
204 show_backtrace(1);
205 }
206 var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
207 var30 = NULL;
208 var31 = NULL;
209 ((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>*/;
210 var_ppropdefnode1 = var29;
211 var_node_list = var_ppropdefnode1;
212 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction370> */
213 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
214 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
215 RET_LABEL:;
216 }
217 /* method parser#ReduceAction370#action for (self: Object, Parser) */
218 void VIRTUAL_parser__ReduceAction370__action(val* self, val* p0) {
219 parser__ReduceAction370__action(self, p0);
220 RET_LABEL:;
221 }
222 /* method parser#ReduceAction371#action for (self: ReduceAction371, Parser) */
223 void parser__ReduceAction371__action(val* self, val* p0) {
224 val* var_p /* var p: Parser */;
225 val* var /* : null */;
226 val* var_node_list /* var node_list: nullable Object */;
227 val* var1 /* : nullable Object */;
228 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
229 val* var2 /* : nullable Object */;
230 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
231 val* var3 /* : nullable Object */;
232 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
233 val* var4 /* : nullable Object */;
234 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
235 val* var5 /* : nullable Object */;
236 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
237 val* var6 /* : nullable Object */;
238 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
239 val* var7 /* : nullable Object */;
240 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
241 val* var8 /* : nullable Object */;
242 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
243 val* var9 /* : nullable Object */;
244 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
245 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
246 short int var10 /* : Bool */;
247 int cltype;
248 int idtype;
249 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
250 short int var11 /* : Bool */;
251 int cltype12;
252 int idtype13;
253 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
254 short int var14 /* : Bool */;
255 int cltype15;
256 int idtype16;
257 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
258 short int var17 /* : Bool */;
259 int cltype18;
260 int idtype19;
261 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
262 short int var20 /* : Bool */;
263 int cltype21;
264 int idtype22;
265 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
266 short int var23 /* : Bool */;
267 int cltype24;
268 int idtype25;
269 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
270 short int var26 /* : Bool */;
271 int cltype27;
272 int idtype28;
273 val* var29 /* : AExternMethPropdef */;
274 val* var30 /* : null */;
275 val* var31 /* : null */;
276 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
277 long var32 /* : Int */;
278 long var33 /* : Int */;
279 var_p = p0;
280 var = NULL;
281 var_node_list = var;
282 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
283 var_nodearraylist9 = var1;
284 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
285 var_nodearraylist8 = var2;
286 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
287 var_nodearraylist7 = var3;
288 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
289 var_nodearraylist6 = var4;
290 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
291 var_nodearraylist5 = var5;
292 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
293 var_nodearraylist4 = var6;
294 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
295 var_nodearraylist3 = var7;
296 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
297 var_nodearraylist2 = var8;
298 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
299 var_nodearraylist1 = var9;
300 var_pdocnode2 = var_nodearraylist1;
301 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
302 cltype = type_nullable_parser_nodes__ADoc.color;
303 idtype = type_nullable_parser_nodes__ADoc.id;
304 if(var_pdocnode2 == NULL) {
305 var10 = 1;
306 } else {
307 if(cltype >= var_pdocnode2->type->table_size) {
308 var10 = 0;
309 } else {
310 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
311 }
312 }
313 if (!var10) {
314 fprintf(stderr, "Runtime error: %s", "Assert failed");
315 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16566);
316 show_backtrace(1);
317 }
318 var_pvisibilitynode4 = var_nodearraylist2;
319 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
320 cltype12 = type_nullable_parser_nodes__AVisibility.color;
321 idtype13 = type_nullable_parser_nodes__AVisibility.id;
322 if(var_pvisibilitynode4 == NULL) {
323 var11 = 1;
324 } else {
325 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
326 var11 = 0;
327 } else {
328 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
329 }
330 }
331 if (!var11) {
332 fprintf(stderr, "Runtime error: %s", "Assert failed");
333 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16568);
334 show_backtrace(1);
335 }
336 var_tkwmethnode5 = var_nodearraylist3;
337 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
338 cltype15 = type_nullable_parser_nodes__TKwmeth.color;
339 idtype16 = type_nullable_parser_nodes__TKwmeth.id;
340 if(var_tkwmethnode5 == NULL) {
341 var14 = 1;
342 } else {
343 if(cltype15 >= var_tkwmethnode5->type->table_size) {
344 var14 = 0;
345 } else {
346 var14 = var_tkwmethnode5->type->type_table[cltype15] == idtype16;
347 }
348 }
349 if (!var14) {
350 fprintf(stderr, "Runtime error: %s", "Assert failed");
351 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16570);
352 show_backtrace(1);
353 }
354 var_pmethidnode6 = var_nodearraylist4;
355 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
356 cltype18 = type_nullable_parser_nodes__AMethid.color;
357 idtype19 = type_nullable_parser_nodes__AMethid.id;
358 if(var_pmethidnode6 == NULL) {
359 var17 = 1;
360 } else {
361 if(cltype18 >= var_pmethidnode6->type->table_size) {
362 var17 = 0;
363 } else {
364 var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
365 }
366 }
367 if (!var17) {
368 fprintf(stderr, "Runtime error: %s", "Assert failed");
369 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16572);
370 show_backtrace(1);
371 }
372 var_psignaturenode7 = var_nodearraylist5;
373 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
374 cltype21 = type_nullable_parser_nodes__ASignature.color;
375 idtype22 = type_nullable_parser_nodes__ASignature.id;
376 if(var_psignaturenode7 == NULL) {
377 var20 = 1;
378 } else {
379 if(cltype21 >= var_psignaturenode7->type->table_size) {
380 var20 = 0;
381 } else {
382 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
383 }
384 }
385 if (!var20) {
386 fprintf(stderr, "Runtime error: %s", "Assert failed");
387 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16574);
388 show_backtrace(1);
389 }
390 var_tstringnode8 = var_nodearraylist8;
391 /* <var_tstringnode8:nullable Object> isa nullable TString */
392 cltype24 = type_nullable_parser_nodes__TString.color;
393 idtype25 = type_nullable_parser_nodes__TString.id;
394 if(var_tstringnode8 == NULL) {
395 var23 = 1;
396 } else {
397 if(cltype24 >= var_tstringnode8->type->table_size) {
398 var23 = 0;
399 } else {
400 var23 = var_tstringnode8->type->type_table[cltype24] == idtype25;
401 }
402 }
403 if (!var23) {
404 fprintf(stderr, "Runtime error: %s", "Assert failed");
405 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16576);
406 show_backtrace(1);
407 }
408 var_pexterncodeblocknode10 = var_nodearraylist9;
409 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
410 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
411 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
412 if(var_pexterncodeblocknode10 == NULL) {
413 var26 = 1;
414 } else {
415 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
416 var26 = 0;
417 } else {
418 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
419 }
420 }
421 if (!var26) {
422 fprintf(stderr, "Runtime error: %s", "Assert failed");
423 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16578);
424 show_backtrace(1);
425 }
426 var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
427 var30 = NULL;
428 var31 = NULL;
429 ((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>*/;
430 var_ppropdefnode1 = var29;
431 var_node_list = var_ppropdefnode1;
432 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction371> */
433 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
434 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
435 RET_LABEL:;
436 }
437 /* method parser#ReduceAction371#action for (self: Object, Parser) */
438 void VIRTUAL_parser__ReduceAction371__action(val* self, val* p0) {
439 parser__ReduceAction371__action(self, p0);
440 RET_LABEL:;
441 }
442 /* method parser#ReduceAction372#action for (self: ReduceAction372, Parser) */
443 void parser__ReduceAction372__action(val* self, val* p0) {
444 val* var_p /* var p: Parser */;
445 val* var /* : null */;
446 val* var_node_list /* var node_list: nullable Object */;
447 val* var1 /* : nullable Object */;
448 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
449 val* var2 /* : nullable Object */;
450 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
451 val* var3 /* : nullable Object */;
452 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
453 val* var4 /* : nullable Object */;
454 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
455 val* var5 /* : nullable Object */;
456 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
457 val* var6 /* : nullable Object */;
458 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
459 val* var7 /* : nullable Object */;
460 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
461 val* var8 /* : nullable Object */;
462 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
463 val* var9 /* : nullable Object */;
464 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
465 val* var10 /* : nullable Object */;
466 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
467 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
468 short int var11 /* : Bool */;
469 int cltype;
470 int idtype;
471 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
472 short int var12 /* : Bool */;
473 int cltype13;
474 int idtype14;
475 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
476 short int var15 /* : Bool */;
477 int cltype16;
478 int idtype17;
479 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
480 short int var18 /* : Bool */;
481 int cltype19;
482 int idtype20;
483 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
484 short int var21 /* : Bool */;
485 int cltype22;
486 int idtype23;
487 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
488 short int var24 /* : Bool */;
489 int cltype25;
490 int idtype26;
491 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
492 short int var27 /* : Bool */;
493 int cltype28;
494 int idtype29;
495 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
496 short int var30 /* : Bool */;
497 int cltype31;
498 int idtype32;
499 val* var33 /* : AExternMethPropdef */;
500 val* var34 /* : null */;
501 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
502 long var35 /* : Int */;
503 long var36 /* : Int */;
504 var_p = p0;
505 var = NULL;
506 var_node_list = var;
507 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
508 var_nodearraylist10 = var1;
509 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
510 var_nodearraylist9 = var2;
511 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
512 var_nodearraylist8 = var3;
513 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
514 var_nodearraylist7 = var4;
515 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
516 var_nodearraylist6 = var5;
517 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
518 var_nodearraylist5 = var6;
519 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
520 var_nodearraylist4 = var7;
521 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
522 var_nodearraylist3 = var8;
523 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
524 var_nodearraylist2 = var9;
525 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
526 var_nodearraylist1 = var10;
527 var_pdocnode2 = var_nodearraylist1;
528 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
529 cltype = type_nullable_parser_nodes__ADoc.color;
530 idtype = type_nullable_parser_nodes__ADoc.id;
531 if(var_pdocnode2 == NULL) {
532 var11 = 1;
533 } else {
534 if(cltype >= var_pdocnode2->type->table_size) {
535 var11 = 0;
536 } else {
537 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
538 }
539 }
540 if (!var11) {
541 fprintf(stderr, "Runtime error: %s", "Assert failed");
542 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16610);
543 show_backtrace(1);
544 }
545 var_tkwredefnode3 = var_nodearraylist2;
546 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
547 cltype13 = type_nullable_parser_nodes__TKwredef.color;
548 idtype14 = type_nullable_parser_nodes__TKwredef.id;
549 if(var_tkwredefnode3 == NULL) {
550 var12 = 1;
551 } else {
552 if(cltype13 >= var_tkwredefnode3->type->table_size) {
553 var12 = 0;
554 } else {
555 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
556 }
557 }
558 if (!var12) {
559 fprintf(stderr, "Runtime error: %s", "Assert failed");
560 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16612);
561 show_backtrace(1);
562 }
563 var_pvisibilitynode4 = var_nodearraylist3;
564 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
565 cltype16 = type_nullable_parser_nodes__AVisibility.color;
566 idtype17 = type_nullable_parser_nodes__AVisibility.id;
567 if(var_pvisibilitynode4 == NULL) {
568 var15 = 1;
569 } else {
570 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
571 var15 = 0;
572 } else {
573 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
574 }
575 }
576 if (!var15) {
577 fprintf(stderr, "Runtime error: %s", "Assert failed");
578 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16614);
579 show_backtrace(1);
580 }
581 var_tkwmethnode5 = var_nodearraylist4;
582 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
583 cltype19 = type_nullable_parser_nodes__TKwmeth.color;
584 idtype20 = type_nullable_parser_nodes__TKwmeth.id;
585 if(var_tkwmethnode5 == NULL) {
586 var18 = 1;
587 } else {
588 if(cltype19 >= var_tkwmethnode5->type->table_size) {
589 var18 = 0;
590 } else {
591 var18 = var_tkwmethnode5->type->type_table[cltype19] == idtype20;
592 }
593 }
594 if (!var18) {
595 fprintf(stderr, "Runtime error: %s", "Assert failed");
596 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16616);
597 show_backtrace(1);
598 }
599 var_pmethidnode6 = var_nodearraylist5;
600 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
601 cltype22 = type_nullable_parser_nodes__AMethid.color;
602 idtype23 = type_nullable_parser_nodes__AMethid.id;
603 if(var_pmethidnode6 == NULL) {
604 var21 = 1;
605 } else {
606 if(cltype22 >= var_pmethidnode6->type->table_size) {
607 var21 = 0;
608 } else {
609 var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
610 }
611 }
612 if (!var21) {
613 fprintf(stderr, "Runtime error: %s", "Assert failed");
614 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16618);
615 show_backtrace(1);
616 }
617 var_psignaturenode7 = var_nodearraylist6;
618 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
619 cltype25 = type_nullable_parser_nodes__ASignature.color;
620 idtype26 = type_nullable_parser_nodes__ASignature.id;
621 if(var_psignaturenode7 == NULL) {
622 var24 = 1;
623 } else {
624 if(cltype25 >= var_psignaturenode7->type->table_size) {
625 var24 = 0;
626 } else {
627 var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
628 }
629 }
630 if (!var24) {
631 fprintf(stderr, "Runtime error: %s", "Assert failed");
632 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16620);
633 show_backtrace(1);
634 }
635 var_tstringnode8 = var_nodearraylist9;
636 /* <var_tstringnode8:nullable Object> isa nullable TString */
637 cltype28 = type_nullable_parser_nodes__TString.color;
638 idtype29 = type_nullable_parser_nodes__TString.id;
639 if(var_tstringnode8 == NULL) {
640 var27 = 1;
641 } else {
642 if(cltype28 >= var_tstringnode8->type->table_size) {
643 var27 = 0;
644 } else {
645 var27 = var_tstringnode8->type->type_table[cltype28] == idtype29;
646 }
647 }
648 if (!var27) {
649 fprintf(stderr, "Runtime error: %s", "Assert failed");
650 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16622);
651 show_backtrace(1);
652 }
653 var_pexterncodeblocknode10 = var_nodearraylist10;
654 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
655 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
656 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
657 if(var_pexterncodeblocknode10 == NULL) {
658 var30 = 1;
659 } else {
660 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
661 var30 = 0;
662 } else {
663 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
664 }
665 }
666 if (!var30) {
667 fprintf(stderr, "Runtime error: %s", "Assert failed");
668 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16624);
669 show_backtrace(1);
670 }
671 var33 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
672 var34 = NULL;
673 ((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>*/;
674 var_ppropdefnode1 = var33;
675 var_node_list = var_ppropdefnode1;
676 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction372> */
677 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
678 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
679 RET_LABEL:;
680 }
681 /* method parser#ReduceAction372#action for (self: Object, Parser) */
682 void VIRTUAL_parser__ReduceAction372__action(val* self, val* p0) {
683 parser__ReduceAction372__action(self, p0);
684 RET_LABEL:;
685 }
686 /* method parser#ReduceAction373#action for (self: ReduceAction373, Parser) */
687 void parser__ReduceAction373__action(val* self, val* p0) {
688 val* var_p /* var p: Parser */;
689 val* var /* : null */;
690 val* var_node_list /* var node_list: nullable Object */;
691 val* var1 /* : nullable Object */;
692 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
693 val* var2 /* : nullable Object */;
694 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
695 val* var3 /* : nullable Object */;
696 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
697 val* var4 /* : nullable Object */;
698 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
699 val* var5 /* : nullable Object */;
700 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
701 val* var6 /* : nullable Object */;
702 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
703 val* var7 /* : nullable Object */;
704 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
705 val* var8 /* : nullable Object */;
706 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
707 val* var9 /* : nullable Object */;
708 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
709 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
710 short int var10 /* : Bool */;
711 int cltype;
712 int idtype;
713 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
714 short int var11 /* : Bool */;
715 int cltype12;
716 int idtype13;
717 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
718 short int var14 /* : Bool */;
719 int cltype15;
720 int idtype16;
721 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
722 short int var17 /* : Bool */;
723 int cltype18;
724 int idtype19;
725 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
726 short int var20 /* : Bool */;
727 int cltype21;
728 int idtype22;
729 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
730 short int var23 /* : Bool */;
731 int cltype24;
732 int idtype25;
733 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
734 short int var26 /* : Bool */;
735 int cltype27;
736 int idtype28;
737 val* var29 /* : AExternMethPropdef */;
738 val* var30 /* : null */;
739 val* var31 /* : null */;
740 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
741 long var32 /* : Int */;
742 long var33 /* : Int */;
743 var_p = p0;
744 var = NULL;
745 var_node_list = var;
746 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
747 var_nodearraylist9 = var1;
748 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
749 var_nodearraylist8 = var2;
750 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
751 var_nodearraylist7 = var3;
752 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
753 var_nodearraylist6 = var4;
754 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
755 var_nodearraylist5 = var5;
756 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
757 var_nodearraylist4 = var6;
758 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
759 var_nodearraylist3 = var7;
760 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
761 var_nodearraylist2 = var8;
762 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
763 var_nodearraylist1 = var9;
764 var_pdocnode2 = var_nodearraylist1;
765 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
766 cltype = type_nullable_parser_nodes__ADoc.color;
767 idtype = type_nullable_parser_nodes__ADoc.id;
768 if(var_pdocnode2 == NULL) {
769 var10 = 1;
770 } else {
771 if(cltype >= var_pdocnode2->type->table_size) {
772 var10 = 0;
773 } else {
774 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
775 }
776 }
777 if (!var10) {
778 fprintf(stderr, "Runtime error: %s", "Assert failed");
779 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16655);
780 show_backtrace(1);
781 }
782 var_pvisibilitynode4 = var_nodearraylist2;
783 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
784 cltype12 = type_nullable_parser_nodes__AVisibility.color;
785 idtype13 = type_nullable_parser_nodes__AVisibility.id;
786 if(var_pvisibilitynode4 == NULL) {
787 var11 = 1;
788 } else {
789 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
790 var11 = 0;
791 } else {
792 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
793 }
794 }
795 if (!var11) {
796 fprintf(stderr, "Runtime error: %s", "Assert failed");
797 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16657);
798 show_backtrace(1);
799 }
800 var_tkwmethnode5 = var_nodearraylist3;
801 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
802 cltype15 = type_nullable_parser_nodes__TKwmeth.color;
803 idtype16 = type_nullable_parser_nodes__TKwmeth.id;
804 if(var_tkwmethnode5 == NULL) {
805 var14 = 1;
806 } else {
807 if(cltype15 >= var_tkwmethnode5->type->table_size) {
808 var14 = 0;
809 } else {
810 var14 = var_tkwmethnode5->type->type_table[cltype15] == idtype16;
811 }
812 }
813 if (!var14) {
814 fprintf(stderr, "Runtime error: %s", "Assert failed");
815 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16659);
816 show_backtrace(1);
817 }
818 var_pmethidnode6 = var_nodearraylist4;
819 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
820 cltype18 = type_nullable_parser_nodes__AMethid.color;
821 idtype19 = type_nullable_parser_nodes__AMethid.id;
822 if(var_pmethidnode6 == NULL) {
823 var17 = 1;
824 } else {
825 if(cltype18 >= var_pmethidnode6->type->table_size) {
826 var17 = 0;
827 } else {
828 var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
829 }
830 }
831 if (!var17) {
832 fprintf(stderr, "Runtime error: %s", "Assert failed");
833 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16661);
834 show_backtrace(1);
835 }
836 var_psignaturenode7 = var_nodearraylist5;
837 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
838 cltype21 = type_nullable_parser_nodes__ASignature.color;
839 idtype22 = type_nullable_parser_nodes__ASignature.id;
840 if(var_psignaturenode7 == NULL) {
841 var20 = 1;
842 } else {
843 if(cltype21 >= var_psignaturenode7->type->table_size) {
844 var20 = 0;
845 } else {
846 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
847 }
848 }
849 if (!var20) {
850 fprintf(stderr, "Runtime error: %s", "Assert failed");
851 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16663);
852 show_backtrace(1);
853 }
854 var_pexterncallsnode9 = var_nodearraylist8;
855 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
856 cltype24 = type_nullable_parser_nodes__AExternCalls.color;
857 idtype25 = type_nullable_parser_nodes__AExternCalls.id;
858 if(var_pexterncallsnode9 == NULL) {
859 var23 = 1;
860 } else {
861 if(cltype24 >= var_pexterncallsnode9->type->table_size) {
862 var23 = 0;
863 } else {
864 var23 = var_pexterncallsnode9->type->type_table[cltype24] == idtype25;
865 }
866 }
867 if (!var23) {
868 fprintf(stderr, "Runtime error: %s", "Assert failed");
869 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16665);
870 show_backtrace(1);
871 }
872 var_pexterncodeblocknode10 = var_nodearraylist9;
873 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
874 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
875 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
876 if(var_pexterncodeblocknode10 == NULL) {
877 var26 = 1;
878 } else {
879 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
880 var26 = 0;
881 } else {
882 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
883 }
884 }
885 if (!var26) {
886 fprintf(stderr, "Runtime error: %s", "Assert failed");
887 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16667);
888 show_backtrace(1);
889 }
890 var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
891 var30 = NULL;
892 var31 = NULL;
893 ((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>*/;
894 var_ppropdefnode1 = var29;
895 var_node_list = var_ppropdefnode1;
896 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction373> */
897 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
898 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
899 RET_LABEL:;
900 }
901 /* method parser#ReduceAction373#action for (self: Object, Parser) */
902 void VIRTUAL_parser__ReduceAction373__action(val* self, val* p0) {
903 parser__ReduceAction373__action(self, p0);
904 RET_LABEL:;
905 }
906 /* method parser#ReduceAction374#action for (self: ReduceAction374, Parser) */
907 void parser__ReduceAction374__action(val* self, val* p0) {
908 val* var_p /* var p: Parser */;
909 val* var /* : null */;
910 val* var_node_list /* var node_list: nullable Object */;
911 val* var1 /* : nullable Object */;
912 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
913 val* var2 /* : nullable Object */;
914 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
915 val* var3 /* : nullable Object */;
916 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
917 val* var4 /* : nullable Object */;
918 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
919 val* var5 /* : nullable Object */;
920 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
921 val* var6 /* : nullable Object */;
922 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
923 val* var7 /* : nullable Object */;
924 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
925 val* var8 /* : nullable Object */;
926 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
927 val* var9 /* : nullable Object */;
928 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
929 val* var10 /* : nullable Object */;
930 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
931 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
932 short int var11 /* : Bool */;
933 int cltype;
934 int idtype;
935 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
936 short int var12 /* : Bool */;
937 int cltype13;
938 int idtype14;
939 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
940 short int var15 /* : Bool */;
941 int cltype16;
942 int idtype17;
943 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
944 short int var18 /* : Bool */;
945 int cltype19;
946 int idtype20;
947 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
948 short int var21 /* : Bool */;
949 int cltype22;
950 int idtype23;
951 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
952 short int var24 /* : Bool */;
953 int cltype25;
954 int idtype26;
955 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
956 short int var27 /* : Bool */;
957 int cltype28;
958 int idtype29;
959 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
960 short int var30 /* : Bool */;
961 int cltype31;
962 int idtype32;
963 val* var33 /* : AExternMethPropdef */;
964 val* var34 /* : null */;
965 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
966 long var35 /* : Int */;
967 long var36 /* : Int */;
968 var_p = p0;
969 var = NULL;
970 var_node_list = var;
971 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
972 var_nodearraylist10 = var1;
973 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
974 var_nodearraylist9 = var2;
975 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
976 var_nodearraylist8 = var3;
977 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
978 var_nodearraylist7 = var4;
979 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
980 var_nodearraylist6 = var5;
981 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
982 var_nodearraylist5 = var6;
983 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
984 var_nodearraylist4 = var7;
985 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
986 var_nodearraylist3 = var8;
987 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
988 var_nodearraylist2 = var9;
989 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
990 var_nodearraylist1 = var10;
991 var_pdocnode2 = var_nodearraylist1;
992 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
993 cltype = type_nullable_parser_nodes__ADoc.color;
994 idtype = type_nullable_parser_nodes__ADoc.id;
995 if(var_pdocnode2 == NULL) {
996 var11 = 1;
997 } else {
998 if(cltype >= var_pdocnode2->type->table_size) {
999 var11 = 0;
1000 } else {
1001 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
1002 }
1003 }
1004 if (!var11) {
1005 fprintf(stderr, "Runtime error: %s", "Assert failed");
1006 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16699);
1007 show_backtrace(1);
1008 }
1009 var_tkwredefnode3 = var_nodearraylist2;
1010 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1011 cltype13 = type_nullable_parser_nodes__TKwredef.color;
1012 idtype14 = type_nullable_parser_nodes__TKwredef.id;
1013 if(var_tkwredefnode3 == NULL) {
1014 var12 = 1;
1015 } else {
1016 if(cltype13 >= var_tkwredefnode3->type->table_size) {
1017 var12 = 0;
1018 } else {
1019 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
1020 }
1021 }
1022 if (!var12) {
1023 fprintf(stderr, "Runtime error: %s", "Assert failed");
1024 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16701);
1025 show_backtrace(1);
1026 }
1027 var_pvisibilitynode4 = var_nodearraylist3;
1028 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1029 cltype16 = type_nullable_parser_nodes__AVisibility.color;
1030 idtype17 = type_nullable_parser_nodes__AVisibility.id;
1031 if(var_pvisibilitynode4 == NULL) {
1032 var15 = 1;
1033 } else {
1034 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
1035 var15 = 0;
1036 } else {
1037 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
1038 }
1039 }
1040 if (!var15) {
1041 fprintf(stderr, "Runtime error: %s", "Assert failed");
1042 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16703);
1043 show_backtrace(1);
1044 }
1045 var_tkwmethnode5 = var_nodearraylist4;
1046 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
1047 cltype19 = type_nullable_parser_nodes__TKwmeth.color;
1048 idtype20 = type_nullable_parser_nodes__TKwmeth.id;
1049 if(var_tkwmethnode5 == NULL) {
1050 var18 = 1;
1051 } else {
1052 if(cltype19 >= var_tkwmethnode5->type->table_size) {
1053 var18 = 0;
1054 } else {
1055 var18 = var_tkwmethnode5->type->type_table[cltype19] == idtype20;
1056 }
1057 }
1058 if (!var18) {
1059 fprintf(stderr, "Runtime error: %s", "Assert failed");
1060 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16705);
1061 show_backtrace(1);
1062 }
1063 var_pmethidnode6 = var_nodearraylist5;
1064 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
1065 cltype22 = type_nullable_parser_nodes__AMethid.color;
1066 idtype23 = type_nullable_parser_nodes__AMethid.id;
1067 if(var_pmethidnode6 == NULL) {
1068 var21 = 1;
1069 } else {
1070 if(cltype22 >= var_pmethidnode6->type->table_size) {
1071 var21 = 0;
1072 } else {
1073 var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
1074 }
1075 }
1076 if (!var21) {
1077 fprintf(stderr, "Runtime error: %s", "Assert failed");
1078 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16707);
1079 show_backtrace(1);
1080 }
1081 var_psignaturenode7 = var_nodearraylist6;
1082 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1083 cltype25 = type_nullable_parser_nodes__ASignature.color;
1084 idtype26 = type_nullable_parser_nodes__ASignature.id;
1085 if(var_psignaturenode7 == NULL) {
1086 var24 = 1;
1087 } else {
1088 if(cltype25 >= var_psignaturenode7->type->table_size) {
1089 var24 = 0;
1090 } else {
1091 var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
1092 }
1093 }
1094 if (!var24) {
1095 fprintf(stderr, "Runtime error: %s", "Assert failed");
1096 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16709);
1097 show_backtrace(1);
1098 }
1099 var_pexterncallsnode9 = var_nodearraylist9;
1100 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
1101 cltype28 = type_nullable_parser_nodes__AExternCalls.color;
1102 idtype29 = type_nullable_parser_nodes__AExternCalls.id;
1103 if(var_pexterncallsnode9 == NULL) {
1104 var27 = 1;
1105 } else {
1106 if(cltype28 >= var_pexterncallsnode9->type->table_size) {
1107 var27 = 0;
1108 } else {
1109 var27 = var_pexterncallsnode9->type->type_table[cltype28] == idtype29;
1110 }
1111 }
1112 if (!var27) {
1113 fprintf(stderr, "Runtime error: %s", "Assert failed");
1114 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16711);
1115 show_backtrace(1);
1116 }
1117 var_pexterncodeblocknode10 = var_nodearraylist10;
1118 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1119 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
1120 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
1121 if(var_pexterncodeblocknode10 == NULL) {
1122 var30 = 1;
1123 } else {
1124 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
1125 var30 = 0;
1126 } else {
1127 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
1128 }
1129 }
1130 if (!var30) {
1131 fprintf(stderr, "Runtime error: %s", "Assert failed");
1132 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16713);
1133 show_backtrace(1);
1134 }
1135 var33 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
1136 var34 = NULL;
1137 ((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>*/;
1138 var_ppropdefnode1 = var33;
1139 var_node_list = var_ppropdefnode1;
1140 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction374> */
1141 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
1142 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
1143 RET_LABEL:;
1144 }
1145 /* method parser#ReduceAction374#action for (self: Object, Parser) */
1146 void VIRTUAL_parser__ReduceAction374__action(val* self, val* p0) {
1147 parser__ReduceAction374__action(self, p0);
1148 RET_LABEL:;
1149 }
1150 /* method parser#ReduceAction375#action for (self: ReduceAction375, Parser) */
1151 void parser__ReduceAction375__action(val* self, val* p0) {
1152 val* var_p /* var p: Parser */;
1153 val* var /* : null */;
1154 val* var_node_list /* var node_list: nullable Object */;
1155 val* var1 /* : nullable Object */;
1156 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1157 val* var2 /* : nullable Object */;
1158 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1159 val* var3 /* : nullable Object */;
1160 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1161 val* var4 /* : nullable Object */;
1162 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1163 val* var5 /* : nullable Object */;
1164 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1165 val* var6 /* : nullable Object */;
1166 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1167 val* var7 /* : nullable Object */;
1168 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1169 val* var8 /* : nullable Object */;
1170 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1171 val* var9 /* : nullable Object */;
1172 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1173 val* var10 /* : nullable Object */;
1174 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1175 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1176 short int var11 /* : Bool */;
1177 int cltype;
1178 int idtype;
1179 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1180 short int var12 /* : Bool */;
1181 int cltype13;
1182 int idtype14;
1183 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
1184 short int var15 /* : Bool */;
1185 int cltype16;
1186 int idtype17;
1187 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
1188 short int var18 /* : Bool */;
1189 int cltype19;
1190 int idtype20;
1191 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
1192 short int var21 /* : Bool */;
1193 int cltype22;
1194 int idtype23;
1195 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
1196 short int var24 /* : Bool */;
1197 int cltype25;
1198 int idtype26;
1199 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
1200 short int var27 /* : Bool */;
1201 int cltype28;
1202 int idtype29;
1203 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1204 short int var30 /* : Bool */;
1205 int cltype31;
1206 int idtype32;
1207 val* var33 /* : AExternMethPropdef */;
1208 val* var34 /* : null */;
1209 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
1210 long var35 /* : Int */;
1211 long var36 /* : Int */;
1212 var_p = p0;
1213 var = NULL;
1214 var_node_list = var;
1215 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1216 var_nodearraylist10 = var1;
1217 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1218 var_nodearraylist9 = var2;
1219 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1220 var_nodearraylist8 = var3;
1221 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1222 var_nodearraylist7 = var4;
1223 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1224 var_nodearraylist6 = var5;
1225 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1226 var_nodearraylist5 = var6;
1227 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1228 var_nodearraylist4 = var7;
1229 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1230 var_nodearraylist3 = var8;
1231 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1232 var_nodearraylist2 = var9;
1233 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1234 var_nodearraylist1 = var10;
1235 var_pdocnode2 = var_nodearraylist1;
1236 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1237 cltype = type_nullable_parser_nodes__ADoc.color;
1238 idtype = type_nullable_parser_nodes__ADoc.id;
1239 if(var_pdocnode2 == NULL) {
1240 var11 = 1;
1241 } else {
1242 if(cltype >= var_pdocnode2->type->table_size) {
1243 var11 = 0;
1244 } else {
1245 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
1246 }
1247 }
1248 if (!var11) {
1249 fprintf(stderr, "Runtime error: %s", "Assert failed");
1250 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16745);
1251 show_backtrace(1);
1252 }
1253 var_pvisibilitynode4 = var_nodearraylist2;
1254 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1255 cltype13 = type_nullable_parser_nodes__AVisibility.color;
1256 idtype14 = type_nullable_parser_nodes__AVisibility.id;
1257 if(var_pvisibilitynode4 == NULL) {
1258 var12 = 1;
1259 } else {
1260 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
1261 var12 = 0;
1262 } else {
1263 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
1264 }
1265 }
1266 if (!var12) {
1267 fprintf(stderr, "Runtime error: %s", "Assert failed");
1268 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16747);
1269 show_backtrace(1);
1270 }
1271 var_tkwmethnode5 = var_nodearraylist3;
1272 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
1273 cltype16 = type_nullable_parser_nodes__TKwmeth.color;
1274 idtype17 = type_nullable_parser_nodes__TKwmeth.id;
1275 if(var_tkwmethnode5 == NULL) {
1276 var15 = 1;
1277 } else {
1278 if(cltype16 >= var_tkwmethnode5->type->table_size) {
1279 var15 = 0;
1280 } else {
1281 var15 = var_tkwmethnode5->type->type_table[cltype16] == idtype17;
1282 }
1283 }
1284 if (!var15) {
1285 fprintf(stderr, "Runtime error: %s", "Assert failed");
1286 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16749);
1287 show_backtrace(1);
1288 }
1289 var_pmethidnode6 = var_nodearraylist4;
1290 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
1291 cltype19 = type_nullable_parser_nodes__AMethid.color;
1292 idtype20 = type_nullable_parser_nodes__AMethid.id;
1293 if(var_pmethidnode6 == NULL) {
1294 var18 = 1;
1295 } else {
1296 if(cltype19 >= var_pmethidnode6->type->table_size) {
1297 var18 = 0;
1298 } else {
1299 var18 = var_pmethidnode6->type->type_table[cltype19] == idtype20;
1300 }
1301 }
1302 if (!var18) {
1303 fprintf(stderr, "Runtime error: %s", "Assert failed");
1304 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16751);
1305 show_backtrace(1);
1306 }
1307 var_psignaturenode7 = var_nodearraylist5;
1308 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1309 cltype22 = type_nullable_parser_nodes__ASignature.color;
1310 idtype23 = type_nullable_parser_nodes__ASignature.id;
1311 if(var_psignaturenode7 == NULL) {
1312 var21 = 1;
1313 } else {
1314 if(cltype22 >= var_psignaturenode7->type->table_size) {
1315 var21 = 0;
1316 } else {
1317 var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23;
1318 }
1319 }
1320 if (!var21) {
1321 fprintf(stderr, "Runtime error: %s", "Assert failed");
1322 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16753);
1323 show_backtrace(1);
1324 }
1325 var_tstringnode8 = var_nodearraylist8;
1326 /* <var_tstringnode8:nullable Object> isa nullable TString */
1327 cltype25 = type_nullable_parser_nodes__TString.color;
1328 idtype26 = type_nullable_parser_nodes__TString.id;
1329 if(var_tstringnode8 == NULL) {
1330 var24 = 1;
1331 } else {
1332 if(cltype25 >= var_tstringnode8->type->table_size) {
1333 var24 = 0;
1334 } else {
1335 var24 = var_tstringnode8->type->type_table[cltype25] == idtype26;
1336 }
1337 }
1338 if (!var24) {
1339 fprintf(stderr, "Runtime error: %s", "Assert failed");
1340 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16755);
1341 show_backtrace(1);
1342 }
1343 var_pexterncallsnode9 = var_nodearraylist9;
1344 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
1345 cltype28 = type_nullable_parser_nodes__AExternCalls.color;
1346 idtype29 = type_nullable_parser_nodes__AExternCalls.id;
1347 if(var_pexterncallsnode9 == NULL) {
1348 var27 = 1;
1349 } else {
1350 if(cltype28 >= var_pexterncallsnode9->type->table_size) {
1351 var27 = 0;
1352 } else {
1353 var27 = var_pexterncallsnode9->type->type_table[cltype28] == idtype29;
1354 }
1355 }
1356 if (!var27) {
1357 fprintf(stderr, "Runtime error: %s", "Assert failed");
1358 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16757);
1359 show_backtrace(1);
1360 }
1361 var_pexterncodeblocknode10 = var_nodearraylist10;
1362 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1363 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
1364 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
1365 if(var_pexterncodeblocknode10 == NULL) {
1366 var30 = 1;
1367 } else {
1368 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
1369 var30 = 0;
1370 } else {
1371 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
1372 }
1373 }
1374 if (!var30) {
1375 fprintf(stderr, "Runtime error: %s", "Assert failed");
1376 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16759);
1377 show_backtrace(1);
1378 }
1379 var33 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
1380 var34 = NULL;
1381 ((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>*/;
1382 var_ppropdefnode1 = var33;
1383 var_node_list = var_ppropdefnode1;
1384 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction375> */
1385 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
1386 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
1387 RET_LABEL:;
1388 }
1389 /* method parser#ReduceAction375#action for (self: Object, Parser) */
1390 void VIRTUAL_parser__ReduceAction375__action(val* self, val* p0) {
1391 parser__ReduceAction375__action(self, p0);
1392 RET_LABEL:;
1393 }
1394 /* method parser#ReduceAction376#action for (self: ReduceAction376, Parser) */
1395 void parser__ReduceAction376__action(val* self, val* p0) {
1396 val* var_p /* var p: Parser */;
1397 val* var /* : null */;
1398 val* var_node_list /* var node_list: nullable Object */;
1399 val* var1 /* : nullable Object */;
1400 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1401 val* var2 /* : nullable Object */;
1402 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1403 val* var3 /* : nullable Object */;
1404 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1405 val* var4 /* : nullable Object */;
1406 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1407 val* var5 /* : nullable Object */;
1408 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1409 val* var6 /* : nullable Object */;
1410 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1411 val* var7 /* : nullable Object */;
1412 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1413 val* var8 /* : nullable Object */;
1414 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1415 val* var9 /* : nullable Object */;
1416 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1417 val* var10 /* : nullable Object */;
1418 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1419 val* var11 /* : nullable Object */;
1420 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1421 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1422 short int var12 /* : Bool */;
1423 int cltype;
1424 int idtype;
1425 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1426 short int var13 /* : Bool */;
1427 int cltype14;
1428 int idtype15;
1429 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1430 short int var16 /* : Bool */;
1431 int cltype17;
1432 int idtype18;
1433 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
1434 short int var19 /* : Bool */;
1435 int cltype20;
1436 int idtype21;
1437 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
1438 short int var22 /* : Bool */;
1439 int cltype23;
1440 int idtype24;
1441 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
1442 short int var25 /* : Bool */;
1443 int cltype26;
1444 int idtype27;
1445 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
1446 short int var28 /* : Bool */;
1447 int cltype29;
1448 int idtype30;
1449 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
1450 short int var31 /* : Bool */;
1451 int cltype32;
1452 int idtype33;
1453 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1454 short int var34 /* : Bool */;
1455 int cltype35;
1456 int idtype36;
1457 val* var37 /* : AExternMethPropdef */;
1458 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
1459 long var38 /* : Int */;
1460 long var39 /* : Int */;
1461 var_p = p0;
1462 var = NULL;
1463 var_node_list = var;
1464 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1465 var_nodearraylist11 = var1;
1466 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1467 var_nodearraylist10 = var2;
1468 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1469 var_nodearraylist9 = var3;
1470 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1471 var_nodearraylist8 = var4;
1472 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1473 var_nodearraylist7 = var5;
1474 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1475 var_nodearraylist6 = var6;
1476 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1477 var_nodearraylist5 = var7;
1478 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1479 var_nodearraylist4 = var8;
1480 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1481 var_nodearraylist3 = var9;
1482 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1483 var_nodearraylist2 = var10;
1484 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1485 var_nodearraylist1 = var11;
1486 var_pdocnode2 = var_nodearraylist1;
1487 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1488 cltype = type_nullable_parser_nodes__ADoc.color;
1489 idtype = type_nullable_parser_nodes__ADoc.id;
1490 if(var_pdocnode2 == NULL) {
1491 var12 = 1;
1492 } else {
1493 if(cltype >= var_pdocnode2->type->table_size) {
1494 var12 = 0;
1495 } else {
1496 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
1497 }
1498 }
1499 if (!var12) {
1500 fprintf(stderr, "Runtime error: %s", "Assert failed");
1501 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16792);
1502 show_backtrace(1);
1503 }
1504 var_tkwredefnode3 = var_nodearraylist2;
1505 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1506 cltype14 = type_nullable_parser_nodes__TKwredef.color;
1507 idtype15 = type_nullable_parser_nodes__TKwredef.id;
1508 if(var_tkwredefnode3 == NULL) {
1509 var13 = 1;
1510 } else {
1511 if(cltype14 >= var_tkwredefnode3->type->table_size) {
1512 var13 = 0;
1513 } else {
1514 var13 = var_tkwredefnode3->type->type_table[cltype14] == idtype15;
1515 }
1516 }
1517 if (!var13) {
1518 fprintf(stderr, "Runtime error: %s", "Assert failed");
1519 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16794);
1520 show_backtrace(1);
1521 }
1522 var_pvisibilitynode4 = var_nodearraylist3;
1523 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1524 cltype17 = type_nullable_parser_nodes__AVisibility.color;
1525 idtype18 = type_nullable_parser_nodes__AVisibility.id;
1526 if(var_pvisibilitynode4 == NULL) {
1527 var16 = 1;
1528 } else {
1529 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
1530 var16 = 0;
1531 } else {
1532 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
1533 }
1534 }
1535 if (!var16) {
1536 fprintf(stderr, "Runtime error: %s", "Assert failed");
1537 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16796);
1538 show_backtrace(1);
1539 }
1540 var_tkwmethnode5 = var_nodearraylist4;
1541 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
1542 cltype20 = type_nullable_parser_nodes__TKwmeth.color;
1543 idtype21 = type_nullable_parser_nodes__TKwmeth.id;
1544 if(var_tkwmethnode5 == NULL) {
1545 var19 = 1;
1546 } else {
1547 if(cltype20 >= var_tkwmethnode5->type->table_size) {
1548 var19 = 0;
1549 } else {
1550 var19 = var_tkwmethnode5->type->type_table[cltype20] == idtype21;
1551 }
1552 }
1553 if (!var19) {
1554 fprintf(stderr, "Runtime error: %s", "Assert failed");
1555 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16798);
1556 show_backtrace(1);
1557 }
1558 var_pmethidnode6 = var_nodearraylist5;
1559 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
1560 cltype23 = type_nullable_parser_nodes__AMethid.color;
1561 idtype24 = type_nullable_parser_nodes__AMethid.id;
1562 if(var_pmethidnode6 == NULL) {
1563 var22 = 1;
1564 } else {
1565 if(cltype23 >= var_pmethidnode6->type->table_size) {
1566 var22 = 0;
1567 } else {
1568 var22 = var_pmethidnode6->type->type_table[cltype23] == idtype24;
1569 }
1570 }
1571 if (!var22) {
1572 fprintf(stderr, "Runtime error: %s", "Assert failed");
1573 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16800);
1574 show_backtrace(1);
1575 }
1576 var_psignaturenode7 = var_nodearraylist6;
1577 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1578 cltype26 = type_nullable_parser_nodes__ASignature.color;
1579 idtype27 = type_nullable_parser_nodes__ASignature.id;
1580 if(var_psignaturenode7 == NULL) {
1581 var25 = 1;
1582 } else {
1583 if(cltype26 >= var_psignaturenode7->type->table_size) {
1584 var25 = 0;
1585 } else {
1586 var25 = var_psignaturenode7->type->type_table[cltype26] == idtype27;
1587 }
1588 }
1589 if (!var25) {
1590 fprintf(stderr, "Runtime error: %s", "Assert failed");
1591 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16802);
1592 show_backtrace(1);
1593 }
1594 var_tstringnode8 = var_nodearraylist9;
1595 /* <var_tstringnode8:nullable Object> isa nullable TString */
1596 cltype29 = type_nullable_parser_nodes__TString.color;
1597 idtype30 = type_nullable_parser_nodes__TString.id;
1598 if(var_tstringnode8 == NULL) {
1599 var28 = 1;
1600 } else {
1601 if(cltype29 >= var_tstringnode8->type->table_size) {
1602 var28 = 0;
1603 } else {
1604 var28 = var_tstringnode8->type->type_table[cltype29] == idtype30;
1605 }
1606 }
1607 if (!var28) {
1608 fprintf(stderr, "Runtime error: %s", "Assert failed");
1609 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16804);
1610 show_backtrace(1);
1611 }
1612 var_pexterncallsnode9 = var_nodearraylist10;
1613 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
1614 cltype32 = type_nullable_parser_nodes__AExternCalls.color;
1615 idtype33 = type_nullable_parser_nodes__AExternCalls.id;
1616 if(var_pexterncallsnode9 == NULL) {
1617 var31 = 1;
1618 } else {
1619 if(cltype32 >= var_pexterncallsnode9->type->table_size) {
1620 var31 = 0;
1621 } else {
1622 var31 = var_pexterncallsnode9->type->type_table[cltype32] == idtype33;
1623 }
1624 }
1625 if (!var31) {
1626 fprintf(stderr, "Runtime error: %s", "Assert failed");
1627 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16806);
1628 show_backtrace(1);
1629 }
1630 var_pexterncodeblocknode10 = var_nodearraylist11;
1631 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1632 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
1633 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
1634 if(var_pexterncodeblocknode10 == NULL) {
1635 var34 = 1;
1636 } else {
1637 if(cltype35 >= var_pexterncodeblocknode10->type->table_size) {
1638 var34 = 0;
1639 } else {
1640 var34 = var_pexterncodeblocknode10->type->type_table[cltype35] == idtype36;
1641 }
1642 }
1643 if (!var34) {
1644 fprintf(stderr, "Runtime error: %s", "Assert failed");
1645 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16808);
1646 show_backtrace(1);
1647 }
1648 var37 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
1649 ((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>*/;
1650 var_ppropdefnode1 = var37;
1651 var_node_list = var_ppropdefnode1;
1652 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction376> */
1653 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
1654 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
1655 RET_LABEL:;
1656 }
1657 /* method parser#ReduceAction376#action for (self: Object, Parser) */
1658 void VIRTUAL_parser__ReduceAction376__action(val* self, val* p0) {
1659 parser__ReduceAction376__action(self, p0);
1660 RET_LABEL:;
1661 }
1662 /* method parser#ReduceAction377#action for (self: ReduceAction377, Parser) */
1663 void parser__ReduceAction377__action(val* self, val* p0) {
1664 val* var_p /* var p: Parser */;
1665 val* var /* : null */;
1666 val* var_node_list /* var node_list: nullable Object */;
1667 val* var1 /* : nullable Object */;
1668 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1669 val* var2 /* : nullable Object */;
1670 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1671 val* var3 /* : nullable Object */;
1672 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1673 val* var4 /* : nullable Object */;
1674 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1675 val* var5 /* : nullable Object */;
1676 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1677 val* var6 /* : nullable Object */;
1678 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1679 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1680 short int var7 /* : Bool */;
1681 int cltype;
1682 int idtype;
1683 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1684 short int var8 /* : Bool */;
1685 int cltype9;
1686 int idtype10;
1687 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
1688 short int var11 /* : Bool */;
1689 int cltype12;
1690 int idtype13;
1691 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
1692 short int var14 /* : Bool */;
1693 int cltype15;
1694 int idtype16;
1695 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
1696 short int var17 /* : Bool */;
1697 int cltype18;
1698 int idtype19;
1699 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1700 short int var20 /* : Bool */;
1701 int cltype21;
1702 int idtype22;
1703 val* var23 /* : AExternMethPropdef */;
1704 val* var24 /* : null */;
1705 val* var25 /* : null */;
1706 val* var26 /* : null */;
1707 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
1708 long var27 /* : Int */;
1709 long var28 /* : Int */;
1710 var_p = p0;
1711 var = NULL;
1712 var_node_list = var;
1713 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1714 var_nodearraylist6 = var1;
1715 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1716 var_nodearraylist5 = var2;
1717 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1718 var_nodearraylist4 = var3;
1719 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1720 var_nodearraylist3 = var4;
1721 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1722 var_nodearraylist2 = var5;
1723 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1724 var_nodearraylist1 = var6;
1725 var_pdocnode2 = var_nodearraylist1;
1726 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1727 cltype = type_nullable_parser_nodes__ADoc.color;
1728 idtype = type_nullable_parser_nodes__ADoc.id;
1729 if(var_pdocnode2 == NULL) {
1730 var7 = 1;
1731 } else {
1732 if(cltype >= var_pdocnode2->type->table_size) {
1733 var7 = 0;
1734 } else {
1735 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
1736 }
1737 }
1738 if (!var7) {
1739 fprintf(stderr, "Runtime error: %s", "Assert failed");
1740 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16836);
1741 show_backtrace(1);
1742 }
1743 var_pvisibilitynode4 = var_nodearraylist2;
1744 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1745 cltype9 = type_nullable_parser_nodes__AVisibility.color;
1746 idtype10 = type_nullable_parser_nodes__AVisibility.id;
1747 if(var_pvisibilitynode4 == NULL) {
1748 var8 = 1;
1749 } else {
1750 if(cltype9 >= var_pvisibilitynode4->type->table_size) {
1751 var8 = 0;
1752 } else {
1753 var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
1754 }
1755 }
1756 if (!var8) {
1757 fprintf(stderr, "Runtime error: %s", "Assert failed");
1758 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16838);
1759 show_backtrace(1);
1760 }
1761 var_tkwmethnode5 = var_nodearraylist3;
1762 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
1763 cltype12 = type_nullable_parser_nodes__TKwmeth.color;
1764 idtype13 = type_nullable_parser_nodes__TKwmeth.id;
1765 if(var_tkwmethnode5 == NULL) {
1766 var11 = 1;
1767 } else {
1768 if(cltype12 >= var_tkwmethnode5->type->table_size) {
1769 var11 = 0;
1770 } else {
1771 var11 = var_tkwmethnode5->type->type_table[cltype12] == idtype13;
1772 }
1773 }
1774 if (!var11) {
1775 fprintf(stderr, "Runtime error: %s", "Assert failed");
1776 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16840);
1777 show_backtrace(1);
1778 }
1779 var_pmethidnode6 = var_nodearraylist4;
1780 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
1781 cltype15 = type_nullable_parser_nodes__AMethid.color;
1782 idtype16 = type_nullable_parser_nodes__AMethid.id;
1783 if(var_pmethidnode6 == NULL) {
1784 var14 = 1;
1785 } else {
1786 if(cltype15 >= var_pmethidnode6->type->table_size) {
1787 var14 = 0;
1788 } else {
1789 var14 = var_pmethidnode6->type->type_table[cltype15] == idtype16;
1790 }
1791 }
1792 if (!var14) {
1793 fprintf(stderr, "Runtime error: %s", "Assert failed");
1794 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16842);
1795 show_backtrace(1);
1796 }
1797 var_psignaturenode7 = var_nodearraylist5;
1798 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1799 cltype18 = type_nullable_parser_nodes__ASignature.color;
1800 idtype19 = type_nullable_parser_nodes__ASignature.id;
1801 if(var_psignaturenode7 == NULL) {
1802 var17 = 1;
1803 } else {
1804 if(cltype18 >= var_psignaturenode7->type->table_size) {
1805 var17 = 0;
1806 } else {
1807 var17 = var_psignaturenode7->type->type_table[cltype18] == idtype19;
1808 }
1809 }
1810 if (!var17) {
1811 fprintf(stderr, "Runtime error: %s", "Assert failed");
1812 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16844);
1813 show_backtrace(1);
1814 }
1815 var_pexterncodeblocknode10 = var_nodearraylist6;
1816 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1817 cltype21 = type_nullable_parser_nodes__AExternCodeBlock.color;
1818 idtype22 = type_nullable_parser_nodes__AExternCodeBlock.id;
1819 if(var_pexterncodeblocknode10 == NULL) {
1820 var20 = 1;
1821 } else {
1822 if(cltype21 >= var_pexterncodeblocknode10->type->table_size) {
1823 var20 = 0;
1824 } else {
1825 var20 = var_pexterncodeblocknode10->type->type_table[cltype21] == idtype22;
1826 }
1827 }
1828 if (!var20) {
1829 fprintf(stderr, "Runtime error: %s", "Assert failed");
1830 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16846);
1831 show_backtrace(1);
1832 }
1833 var23 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
1834 var24 = NULL;
1835 var25 = NULL;
1836 var26 = NULL;
1837 ((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>*/;
1838 var_ppropdefnode1 = var23;
1839 var_node_list = var_ppropdefnode1;
1840 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction377> */
1841 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
1842 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
1843 RET_LABEL:;
1844 }
1845 /* method parser#ReduceAction377#action for (self: Object, Parser) */
1846 void VIRTUAL_parser__ReduceAction377__action(val* self, val* p0) {
1847 parser__ReduceAction377__action(self, p0);
1848 RET_LABEL:;
1849 }
1850 /* method parser#ReduceAction378#action for (self: ReduceAction378, Parser) */
1851 void parser__ReduceAction378__action(val* self, val* p0) {
1852 val* var_p /* var p: Parser */;
1853 val* var /* : null */;
1854 val* var_node_list /* var node_list: nullable Object */;
1855 val* var1 /* : nullable Object */;
1856 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1857 val* var2 /* : nullable Object */;
1858 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1859 val* var3 /* : nullable Object */;
1860 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1861 val* var4 /* : nullable Object */;
1862 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1863 val* var5 /* : nullable Object */;
1864 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1865 val* var6 /* : nullable Object */;
1866 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1867 val* var7 /* : nullable Object */;
1868 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1869 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1870 short int var8 /* : Bool */;
1871 int cltype;
1872 int idtype;
1873 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1874 short int var9 /* : Bool */;
1875 int cltype10;
1876 int idtype11;
1877 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1878 short int var12 /* : Bool */;
1879 int cltype13;
1880 int idtype14;
1881 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
1882 short int var15 /* : Bool */;
1883 int cltype16;
1884 int idtype17;
1885 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
1886 short int var18 /* : Bool */;
1887 int cltype19;
1888 int idtype20;
1889 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
1890 short int var21 /* : Bool */;
1891 int cltype22;
1892 int idtype23;
1893 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1894 short int var24 /* : Bool */;
1895 int cltype25;
1896 int idtype26;
1897 val* var27 /* : AExternMethPropdef */;
1898 val* var28 /* : null */;
1899 val* var29 /* : null */;
1900 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
1901 long var30 /* : Int */;
1902 long var31 /* : Int */;
1903 var_p = p0;
1904 var = NULL;
1905 var_node_list = var;
1906 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1907 var_nodearraylist7 = var1;
1908 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1909 var_nodearraylist6 = var2;
1910 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1911 var_nodearraylist5 = var3;
1912 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1913 var_nodearraylist4 = var4;
1914 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1915 var_nodearraylist3 = var5;
1916 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1917 var_nodearraylist2 = var6;
1918 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1919 var_nodearraylist1 = var7;
1920 var_pdocnode2 = var_nodearraylist1;
1921 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1922 cltype = type_nullable_parser_nodes__ADoc.color;
1923 idtype = type_nullable_parser_nodes__ADoc.id;
1924 if(var_pdocnode2 == NULL) {
1925 var8 = 1;
1926 } else {
1927 if(cltype >= var_pdocnode2->type->table_size) {
1928 var8 = 0;
1929 } else {
1930 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
1931 }
1932 }
1933 if (!var8) {
1934 fprintf(stderr, "Runtime error: %s", "Assert failed");
1935 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16875);
1936 show_backtrace(1);
1937 }
1938 var_tkwredefnode3 = var_nodearraylist2;
1939 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1940 cltype10 = type_nullable_parser_nodes__TKwredef.color;
1941 idtype11 = type_nullable_parser_nodes__TKwredef.id;
1942 if(var_tkwredefnode3 == NULL) {
1943 var9 = 1;
1944 } else {
1945 if(cltype10 >= var_tkwredefnode3->type->table_size) {
1946 var9 = 0;
1947 } else {
1948 var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
1949 }
1950 }
1951 if (!var9) {
1952 fprintf(stderr, "Runtime error: %s", "Assert failed");
1953 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16877);
1954 show_backtrace(1);
1955 }
1956 var_pvisibilitynode4 = var_nodearraylist3;
1957 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1958 cltype13 = type_nullable_parser_nodes__AVisibility.color;
1959 idtype14 = type_nullable_parser_nodes__AVisibility.id;
1960 if(var_pvisibilitynode4 == NULL) {
1961 var12 = 1;
1962 } else {
1963 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
1964 var12 = 0;
1965 } else {
1966 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
1967 }
1968 }
1969 if (!var12) {
1970 fprintf(stderr, "Runtime error: %s", "Assert failed");
1971 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16879);
1972 show_backtrace(1);
1973 }
1974 var_tkwmethnode5 = var_nodearraylist4;
1975 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
1976 cltype16 = type_nullable_parser_nodes__TKwmeth.color;
1977 idtype17 = type_nullable_parser_nodes__TKwmeth.id;
1978 if(var_tkwmethnode5 == NULL) {
1979 var15 = 1;
1980 } else {
1981 if(cltype16 >= var_tkwmethnode5->type->table_size) {
1982 var15 = 0;
1983 } else {
1984 var15 = var_tkwmethnode5->type->type_table[cltype16] == idtype17;
1985 }
1986 }
1987 if (!var15) {
1988 fprintf(stderr, "Runtime error: %s", "Assert failed");
1989 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16881);
1990 show_backtrace(1);
1991 }
1992 var_pmethidnode6 = var_nodearraylist5;
1993 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
1994 cltype19 = type_nullable_parser_nodes__AMethid.color;
1995 idtype20 = type_nullable_parser_nodes__AMethid.id;
1996 if(var_pmethidnode6 == NULL) {
1997 var18 = 1;
1998 } else {
1999 if(cltype19 >= var_pmethidnode6->type->table_size) {
2000 var18 = 0;
2001 } else {
2002 var18 = var_pmethidnode6->type->type_table[cltype19] == idtype20;
2003 }
2004 }
2005 if (!var18) {
2006 fprintf(stderr, "Runtime error: %s", "Assert failed");
2007 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16883);
2008 show_backtrace(1);
2009 }
2010 var_psignaturenode7 = var_nodearraylist6;
2011 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2012 cltype22 = type_nullable_parser_nodes__ASignature.color;
2013 idtype23 = type_nullable_parser_nodes__ASignature.id;
2014 if(var_psignaturenode7 == NULL) {
2015 var21 = 1;
2016 } else {
2017 if(cltype22 >= var_psignaturenode7->type->table_size) {
2018 var21 = 0;
2019 } else {
2020 var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23;
2021 }
2022 }
2023 if (!var21) {
2024 fprintf(stderr, "Runtime error: %s", "Assert failed");
2025 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16885);
2026 show_backtrace(1);
2027 }
2028 var_pexterncodeblocknode10 = var_nodearraylist7;
2029 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
2030 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
2031 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
2032 if(var_pexterncodeblocknode10 == NULL) {
2033 var24 = 1;
2034 } else {
2035 if(cltype25 >= var_pexterncodeblocknode10->type->table_size) {
2036 var24 = 0;
2037 } else {
2038 var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
2039 }
2040 }
2041 if (!var24) {
2042 fprintf(stderr, "Runtime error: %s", "Assert failed");
2043 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16887);
2044 show_backtrace(1);
2045 }
2046 var27 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
2047 var28 = NULL;
2048 var29 = NULL;
2049 ((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>*/;
2050 var_ppropdefnode1 = var27;
2051 var_node_list = var_ppropdefnode1;
2052 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction378> */
2053 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
2054 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
2055 RET_LABEL:;
2056 }
2057 /* method parser#ReduceAction378#action for (self: Object, Parser) */
2058 void VIRTUAL_parser__ReduceAction378__action(val* self, val* p0) {
2059 parser__ReduceAction378__action(self, p0);
2060 RET_LABEL:;
2061 }
2062 /* method parser#ReduceAction379#action for (self: ReduceAction379, Parser) */
2063 void parser__ReduceAction379__action(val* self, val* p0) {
2064 val* var_p /* var p: Parser */;
2065 val* var /* : null */;
2066 val* var_node_list /* var node_list: nullable Object */;
2067 val* var1 /* : nullable Object */;
2068 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2069 val* var2 /* : nullable Object */;
2070 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2071 val* var3 /* : nullable Object */;
2072 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2073 val* var4 /* : nullable Object */;
2074 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2075 val* var5 /* : nullable Object */;
2076 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2077 val* var6 /* : nullable Object */;
2078 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2079 val* var7 /* : nullable Object */;
2080 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2081 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2082 short int var8 /* : Bool */;
2083 int cltype;
2084 int idtype;
2085 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2086 short int var9 /* : Bool */;
2087 int cltype10;
2088 int idtype11;
2089 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
2090 short int var12 /* : Bool */;
2091 int cltype13;
2092 int idtype14;
2093 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
2094 short int var15 /* : Bool */;
2095 int cltype16;
2096 int idtype17;
2097 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
2098 short int var18 /* : Bool */;
2099 int cltype19;
2100 int idtype20;
2101 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
2102 short int var21 /* : Bool */;
2103 int cltype22;
2104 int idtype23;
2105 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
2106 short int var24 /* : Bool */;
2107 int cltype25;
2108 int idtype26;
2109 val* var27 /* : AExternMethPropdef */;
2110 val* var28 /* : null */;
2111 val* var29 /* : null */;
2112 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
2113 long var30 /* : Int */;
2114 long var31 /* : Int */;
2115 var_p = p0;
2116 var = NULL;
2117 var_node_list = var;
2118 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2119 var_nodearraylist7 = var1;
2120 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2121 var_nodearraylist6 = var2;
2122 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2123 var_nodearraylist5 = var3;
2124 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2125 var_nodearraylist4 = var4;
2126 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2127 var_nodearraylist3 = var5;
2128 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2129 var_nodearraylist2 = var6;
2130 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2131 var_nodearraylist1 = var7;
2132 var_pdocnode2 = var_nodearraylist1;
2133 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2134 cltype = type_nullable_parser_nodes__ADoc.color;
2135 idtype = type_nullable_parser_nodes__ADoc.id;
2136 if(var_pdocnode2 == NULL) {
2137 var8 = 1;
2138 } else {
2139 if(cltype >= var_pdocnode2->type->table_size) {
2140 var8 = 0;
2141 } else {
2142 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
2143 }
2144 }
2145 if (!var8) {
2146 fprintf(stderr, "Runtime error: %s", "Assert failed");
2147 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16916);
2148 show_backtrace(1);
2149 }
2150 var_pvisibilitynode4 = var_nodearraylist2;
2151 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2152 cltype10 = type_nullable_parser_nodes__AVisibility.color;
2153 idtype11 = type_nullable_parser_nodes__AVisibility.id;
2154 if(var_pvisibilitynode4 == NULL) {
2155 var9 = 1;
2156 } else {
2157 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
2158 var9 = 0;
2159 } else {
2160 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
2161 }
2162 }
2163 if (!var9) {
2164 fprintf(stderr, "Runtime error: %s", "Assert failed");
2165 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16918);
2166 show_backtrace(1);
2167 }
2168 var_tkwmethnode5 = var_nodearraylist3;
2169 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
2170 cltype13 = type_nullable_parser_nodes__TKwmeth.color;
2171 idtype14 = type_nullable_parser_nodes__TKwmeth.id;
2172 if(var_tkwmethnode5 == NULL) {
2173 var12 = 1;
2174 } else {
2175 if(cltype13 >= var_tkwmethnode5->type->table_size) {
2176 var12 = 0;
2177 } else {
2178 var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14;
2179 }
2180 }
2181 if (!var12) {
2182 fprintf(stderr, "Runtime error: %s", "Assert failed");
2183 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16920);
2184 show_backtrace(1);
2185 }
2186 var_pmethidnode6 = var_nodearraylist4;
2187 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
2188 cltype16 = type_nullable_parser_nodes__AMethid.color;
2189 idtype17 = type_nullable_parser_nodes__AMethid.id;
2190 if(var_pmethidnode6 == NULL) {
2191 var15 = 1;
2192 } else {
2193 if(cltype16 >= var_pmethidnode6->type->table_size) {
2194 var15 = 0;
2195 } else {
2196 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
2197 }
2198 }
2199 if (!var15) {
2200 fprintf(stderr, "Runtime error: %s", "Assert failed");
2201 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16922);
2202 show_backtrace(1);
2203 }
2204 var_psignaturenode7 = var_nodearraylist5;
2205 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2206 cltype19 = type_nullable_parser_nodes__ASignature.color;
2207 idtype20 = type_nullable_parser_nodes__ASignature.id;
2208 if(var_psignaturenode7 == NULL) {
2209 var18 = 1;
2210 } else {
2211 if(cltype19 >= var_psignaturenode7->type->table_size) {
2212 var18 = 0;
2213 } else {
2214 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
2215 }
2216 }
2217 if (!var18) {
2218 fprintf(stderr, "Runtime error: %s", "Assert failed");
2219 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16924);
2220 show_backtrace(1);
2221 }
2222 var_pexterncallsnode9 = var_nodearraylist6;
2223 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
2224 cltype22 = type_nullable_parser_nodes__AExternCalls.color;
2225 idtype23 = type_nullable_parser_nodes__AExternCalls.id;
2226 if(var_pexterncallsnode9 == NULL) {
2227 var21 = 1;
2228 } else {
2229 if(cltype22 >= var_pexterncallsnode9->type->table_size) {
2230 var21 = 0;
2231 } else {
2232 var21 = var_pexterncallsnode9->type->type_table[cltype22] == idtype23;
2233 }
2234 }
2235 if (!var21) {
2236 fprintf(stderr, "Runtime error: %s", "Assert failed");
2237 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16926);
2238 show_backtrace(1);
2239 }
2240 var_pexterncodeblocknode10 = var_nodearraylist7;
2241 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
2242 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
2243 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
2244 if(var_pexterncodeblocknode10 == NULL) {
2245 var24 = 1;
2246 } else {
2247 if(cltype25 >= var_pexterncodeblocknode10->type->table_size) {
2248 var24 = 0;
2249 } else {
2250 var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
2251 }
2252 }
2253 if (!var24) {
2254 fprintf(stderr, "Runtime error: %s", "Assert failed");
2255 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16928);
2256 show_backtrace(1);
2257 }
2258 var27 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
2259 var28 = NULL;
2260 var29 = NULL;
2261 ((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>*/;
2262 var_ppropdefnode1 = var27;
2263 var_node_list = var_ppropdefnode1;
2264 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction379> */
2265 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
2266 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
2267 RET_LABEL:;
2268 }
2269 /* method parser#ReduceAction379#action for (self: Object, Parser) */
2270 void VIRTUAL_parser__ReduceAction379__action(val* self, val* p0) {
2271 parser__ReduceAction379__action(self, p0);
2272 RET_LABEL:;
2273 }
2274 /* method parser#ReduceAction380#action for (self: ReduceAction380, Parser) */
2275 void parser__ReduceAction380__action(val* self, val* p0) {
2276 val* var_p /* var p: Parser */;
2277 val* var /* : null */;
2278 val* var_node_list /* var node_list: nullable Object */;
2279 val* var1 /* : nullable Object */;
2280 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2281 val* var2 /* : nullable Object */;
2282 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2283 val* var3 /* : nullable Object */;
2284 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2285 val* var4 /* : nullable Object */;
2286 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2287 val* var5 /* : nullable Object */;
2288 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2289 val* var6 /* : nullable Object */;
2290 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2291 val* var7 /* : nullable Object */;
2292 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2293 val* var8 /* : nullable Object */;
2294 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2295 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2296 short int var9 /* : Bool */;
2297 int cltype;
2298 int idtype;
2299 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2300 short int var10 /* : Bool */;
2301 int cltype11;
2302 int idtype12;
2303 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2304 short int var13 /* : Bool */;
2305 int cltype14;
2306 int idtype15;
2307 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
2308 short int var16 /* : Bool */;
2309 int cltype17;
2310 int idtype18;
2311 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
2312 short int var19 /* : Bool */;
2313 int cltype20;
2314 int idtype21;
2315 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
2316 short int var22 /* : Bool */;
2317 int cltype23;
2318 int idtype24;
2319 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
2320 short int var25 /* : Bool */;
2321 int cltype26;
2322 int idtype27;
2323 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
2324 short int var28 /* : Bool */;
2325 int cltype29;
2326 int idtype30;
2327 val* var31 /* : AExternMethPropdef */;
2328 val* var32 /* : null */;
2329 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
2330 long var33 /* : Int */;
2331 long var34 /* : Int */;
2332 var_p = p0;
2333 var = NULL;
2334 var_node_list = var;
2335 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2336 var_nodearraylist8 = var1;
2337 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2338 var_nodearraylist7 = var2;
2339 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2340 var_nodearraylist6 = var3;
2341 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2342 var_nodearraylist5 = var4;
2343 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2344 var_nodearraylist4 = var5;
2345 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2346 var_nodearraylist3 = var6;
2347 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2348 var_nodearraylist2 = var7;
2349 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2350 var_nodearraylist1 = var8;
2351 var_pdocnode2 = var_nodearraylist1;
2352 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2353 cltype = type_nullable_parser_nodes__ADoc.color;
2354 idtype = type_nullable_parser_nodes__ADoc.id;
2355 if(var_pdocnode2 == NULL) {
2356 var9 = 1;
2357 } else {
2358 if(cltype >= var_pdocnode2->type->table_size) {
2359 var9 = 0;
2360 } else {
2361 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
2362 }
2363 }
2364 if (!var9) {
2365 fprintf(stderr, "Runtime error: %s", "Assert failed");
2366 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16958);
2367 show_backtrace(1);
2368 }
2369 var_tkwredefnode3 = var_nodearraylist2;
2370 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2371 cltype11 = type_nullable_parser_nodes__TKwredef.color;
2372 idtype12 = type_nullable_parser_nodes__TKwredef.id;
2373 if(var_tkwredefnode3 == NULL) {
2374 var10 = 1;
2375 } else {
2376 if(cltype11 >= var_tkwredefnode3->type->table_size) {
2377 var10 = 0;
2378 } else {
2379 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
2380 }
2381 }
2382 if (!var10) {
2383 fprintf(stderr, "Runtime error: %s", "Assert failed");
2384 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16960);
2385 show_backtrace(1);
2386 }
2387 var_pvisibilitynode4 = var_nodearraylist3;
2388 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2389 cltype14 = type_nullable_parser_nodes__AVisibility.color;
2390 idtype15 = type_nullable_parser_nodes__AVisibility.id;
2391 if(var_pvisibilitynode4 == NULL) {
2392 var13 = 1;
2393 } else {
2394 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
2395 var13 = 0;
2396 } else {
2397 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
2398 }
2399 }
2400 if (!var13) {
2401 fprintf(stderr, "Runtime error: %s", "Assert failed");
2402 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16962);
2403 show_backtrace(1);
2404 }
2405 var_tkwmethnode5 = var_nodearraylist4;
2406 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
2407 cltype17 = type_nullable_parser_nodes__TKwmeth.color;
2408 idtype18 = type_nullable_parser_nodes__TKwmeth.id;
2409 if(var_tkwmethnode5 == NULL) {
2410 var16 = 1;
2411 } else {
2412 if(cltype17 >= var_tkwmethnode5->type->table_size) {
2413 var16 = 0;
2414 } else {
2415 var16 = var_tkwmethnode5->type->type_table[cltype17] == idtype18;
2416 }
2417 }
2418 if (!var16) {
2419 fprintf(stderr, "Runtime error: %s", "Assert failed");
2420 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16964);
2421 show_backtrace(1);
2422 }
2423 var_pmethidnode6 = var_nodearraylist5;
2424 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
2425 cltype20 = type_nullable_parser_nodes__AMethid.color;
2426 idtype21 = type_nullable_parser_nodes__AMethid.id;
2427 if(var_pmethidnode6 == NULL) {
2428 var19 = 1;
2429 } else {
2430 if(cltype20 >= var_pmethidnode6->type->table_size) {
2431 var19 = 0;
2432 } else {
2433 var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
2434 }
2435 }
2436 if (!var19) {
2437 fprintf(stderr, "Runtime error: %s", "Assert failed");
2438 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16966);
2439 show_backtrace(1);
2440 }
2441 var_psignaturenode7 = var_nodearraylist6;
2442 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2443 cltype23 = type_nullable_parser_nodes__ASignature.color;
2444 idtype24 = type_nullable_parser_nodes__ASignature.id;
2445 if(var_psignaturenode7 == NULL) {
2446 var22 = 1;
2447 } else {
2448 if(cltype23 >= var_psignaturenode7->type->table_size) {
2449 var22 = 0;
2450 } else {
2451 var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
2452 }
2453 }
2454 if (!var22) {
2455 fprintf(stderr, "Runtime error: %s", "Assert failed");
2456 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16968);
2457 show_backtrace(1);
2458 }
2459 var_pexterncallsnode9 = var_nodearraylist7;
2460 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
2461 cltype26 = type_nullable_parser_nodes__AExternCalls.color;
2462 idtype27 = type_nullable_parser_nodes__AExternCalls.id;
2463 if(var_pexterncallsnode9 == NULL) {
2464 var25 = 1;
2465 } else {
2466 if(cltype26 >= var_pexterncallsnode9->type->table_size) {
2467 var25 = 0;
2468 } else {
2469 var25 = var_pexterncallsnode9->type->type_table[cltype26] == idtype27;
2470 }
2471 }
2472 if (!var25) {
2473 fprintf(stderr, "Runtime error: %s", "Assert failed");
2474 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16970);
2475 show_backtrace(1);
2476 }
2477 var_pexterncodeblocknode10 = var_nodearraylist8;
2478 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
2479 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
2480 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
2481 if(var_pexterncodeblocknode10 == NULL) {
2482 var28 = 1;
2483 } else {
2484 if(cltype29 >= var_pexterncodeblocknode10->type->table_size) {
2485 var28 = 0;
2486 } else {
2487 var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30;
2488 }
2489 }
2490 if (!var28) {
2491 fprintf(stderr, "Runtime error: %s", "Assert failed");
2492 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16972);
2493 show_backtrace(1);
2494 }
2495 var31 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
2496 var32 = NULL;
2497 ((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>*/;
2498 var_ppropdefnode1 = var31;
2499 var_node_list = var_ppropdefnode1;
2500 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction380> */
2501 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
2502 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
2503 RET_LABEL:;
2504 }
2505 /* method parser#ReduceAction380#action for (self: Object, Parser) */
2506 void VIRTUAL_parser__ReduceAction380__action(val* self, val* p0) {
2507 parser__ReduceAction380__action(self, p0);
2508 RET_LABEL:;
2509 }
2510 /* method parser#ReduceAction381#action for (self: ReduceAction381, Parser) */
2511 void parser__ReduceAction381__action(val* self, val* p0) {
2512 val* var_p /* var p: Parser */;
2513 val* var /* : null */;
2514 val* var_node_list /* var node_list: nullable Object */;
2515 val* var1 /* : nullable Object */;
2516 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2517 val* var2 /* : nullable Object */;
2518 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2519 val* var3 /* : nullable Object */;
2520 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2521 val* var4 /* : nullable Object */;
2522 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2523 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2524 short int var5 /* : Bool */;
2525 int cltype;
2526 int idtype;
2527 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2528 short int var6 /* : Bool */;
2529 int cltype7;
2530 int idtype8;
2531 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2532 short int var9 /* : Bool */;
2533 int cltype10;
2534 int idtype11;
2535 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
2536 short int var12 /* : Bool */;
2537 int cltype13;
2538 int idtype14;
2539 val* var15 /* : AAttrPropdef */;
2540 val* var16 /* : null */;
2541 val* var17 /* : null */;
2542 val* var18 /* : null */;
2543 val* var19 /* : null */;
2544 val* var20 /* : null */;
2545 val* var21 /* : null */;
2546 val* var22 /* : null */;
2547 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2548 long var23 /* : Int */;
2549 long var24 /* : Int */;
2550 var_p = p0;
2551 var = NULL;
2552 var_node_list = var;
2553 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2554 var_nodearraylist4 = var1;
2555 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2556 var_nodearraylist3 = var2;
2557 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2558 var_nodearraylist2 = var3;
2559 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2560 var_nodearraylist1 = var4;
2561 var_pdocnode2 = var_nodearraylist1;
2562 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2563 cltype = type_nullable_parser_nodes__ADoc.color;
2564 idtype = type_nullable_parser_nodes__ADoc.id;
2565 if(var_pdocnode2 == NULL) {
2566 var5 = 1;
2567 } else {
2568 if(cltype >= var_pdocnode2->type->table_size) {
2569 var5 = 0;
2570 } else {
2571 var5 = var_pdocnode2->type->type_table[cltype] == idtype;
2572 }
2573 }
2574 if (!var5) {
2575 fprintf(stderr, "Runtime error: %s", "Assert failed");
2576 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16998);
2577 show_backtrace(1);
2578 }
2579 var_pvisibilitynode6 = var_nodearraylist2;
2580 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2581 cltype7 = type_nullable_parser_nodes__AVisibility.color;
2582 idtype8 = type_nullable_parser_nodes__AVisibility.id;
2583 if(var_pvisibilitynode6 == NULL) {
2584 var6 = 1;
2585 } else {
2586 if(cltype7 >= var_pvisibilitynode6->type->table_size) {
2587 var6 = 0;
2588 } else {
2589 var6 = var_pvisibilitynode6->type->type_table[cltype7] == idtype8;
2590 }
2591 }
2592 if (!var6) {
2593 fprintf(stderr, "Runtime error: %s", "Assert failed");
2594 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17000);
2595 show_backtrace(1);
2596 }
2597 var_tkwvarnode7 = var_nodearraylist3;
2598 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2599 cltype10 = type_nullable_parser_nodes__TKwvar.color;
2600 idtype11 = type_nullable_parser_nodes__TKwvar.id;
2601 if(var_tkwvarnode7 == NULL) {
2602 var9 = 1;
2603 } else {
2604 if(cltype10 >= var_tkwvarnode7->type->table_size) {
2605 var9 = 0;
2606 } else {
2607 var9 = var_tkwvarnode7->type->type_table[cltype10] == idtype11;
2608 }
2609 }
2610 if (!var9) {
2611 fprintf(stderr, "Runtime error: %s", "Assert failed");
2612 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17002);
2613 show_backtrace(1);
2614 }
2615 var_tattridnode8 = var_nodearraylist4;
2616 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
2617 cltype13 = type_nullable_parser_nodes__TAttrid.color;
2618 idtype14 = type_nullable_parser_nodes__TAttrid.id;
2619 if(var_tattridnode8 == NULL) {
2620 var12 = 1;
2621 } else {
2622 if(cltype13 >= var_tattridnode8->type->table_size) {
2623 var12 = 0;
2624 } else {
2625 var12 = var_tattridnode8->type->type_table[cltype13] == idtype14;
2626 }
2627 }
2628 if (!var12) {
2629 fprintf(stderr, "Runtime error: %s", "Assert failed");
2630 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17004);
2631 show_backtrace(1);
2632 }
2633 var15 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2634 var16 = NULL;
2635 var17 = NULL;
2636 var18 = NULL;
2637 var19 = NULL;
2638 var20 = NULL;
2639 var21 = NULL;
2640 var22 = NULL;
2641 ((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>*/;
2642 var_ppropdefnode1 = var15;
2643 var_node_list = var_ppropdefnode1;
2644 var23 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction381> */
2645 var24 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var23) /* go_to on <var_p:Parser>*/;
2646 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var24, var_node_list) /* push on <var_p:Parser>*/;
2647 RET_LABEL:;
2648 }
2649 /* method parser#ReduceAction381#action for (self: Object, Parser) */
2650 void VIRTUAL_parser__ReduceAction381__action(val* self, val* p0) {
2651 parser__ReduceAction381__action(self, p0);
2652 RET_LABEL:;
2653 }
2654 /* method parser#ReduceAction382#action for (self: ReduceAction382, Parser) */
2655 void parser__ReduceAction382__action(val* self, val* p0) {
2656 val* var_p /* var p: Parser */;
2657 val* var /* : null */;
2658 val* var_node_list /* var node_list: nullable Object */;
2659 val* var1 /* : nullable Object */;
2660 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2661 val* var2 /* : nullable Object */;
2662 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2663 val* var3 /* : nullable Object */;
2664 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2665 val* var4 /* : nullable Object */;
2666 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2667 val* var5 /* : nullable Object */;
2668 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2669 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2670 short int var6 /* : Bool */;
2671 int cltype;
2672 int idtype;
2673 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
2674 short int var7 /* : Bool */;
2675 int cltype8;
2676 int idtype9;
2677 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2678 short int var10 /* : Bool */;
2679 int cltype11;
2680 int idtype12;
2681 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2682 short int var13 /* : Bool */;
2683 int cltype14;
2684 int idtype15;
2685 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
2686 short int var16 /* : Bool */;
2687 int cltype17;
2688 int idtype18;
2689 val* var19 /* : AAttrPropdef */;
2690 val* var20 /* : null */;
2691 val* var21 /* : null */;
2692 val* var22 /* : null */;
2693 val* var23 /* : null */;
2694 val* var24 /* : null */;
2695 val* var25 /* : null */;
2696 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2697 long var26 /* : Int */;
2698 long var27 /* : Int */;
2699 var_p = p0;
2700 var = NULL;
2701 var_node_list = var;
2702 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2703 var_nodearraylist5 = var1;
2704 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2705 var_nodearraylist4 = var2;
2706 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2707 var_nodearraylist3 = var3;
2708 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2709 var_nodearraylist2 = var4;
2710 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2711 var_nodearraylist1 = var5;
2712 var_pdocnode2 = var_nodearraylist1;
2713 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2714 cltype = type_nullable_parser_nodes__ADoc.color;
2715 idtype = type_nullable_parser_nodes__ADoc.id;
2716 if(var_pdocnode2 == NULL) {
2717 var6 = 1;
2718 } else {
2719 if(cltype >= var_pdocnode2->type->table_size) {
2720 var6 = 0;
2721 } else {
2722 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
2723 }
2724 }
2725 if (!var6) {
2726 fprintf(stderr, "Runtime error: %s", "Assert failed");
2727 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17033);
2728 show_backtrace(1);
2729 }
2730 var_tkwredefnode5 = var_nodearraylist2;
2731 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
2732 cltype8 = type_nullable_parser_nodes__TKwredef.color;
2733 idtype9 = type_nullable_parser_nodes__TKwredef.id;
2734 if(var_tkwredefnode5 == NULL) {
2735 var7 = 1;
2736 } else {
2737 if(cltype8 >= var_tkwredefnode5->type->table_size) {
2738 var7 = 0;
2739 } else {
2740 var7 = var_tkwredefnode5->type->type_table[cltype8] == idtype9;
2741 }
2742 }
2743 if (!var7) {
2744 fprintf(stderr, "Runtime error: %s", "Assert failed");
2745 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17035);
2746 show_backtrace(1);
2747 }
2748 var_pvisibilitynode6 = var_nodearraylist3;
2749 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2750 cltype11 = type_nullable_parser_nodes__AVisibility.color;
2751 idtype12 = type_nullable_parser_nodes__AVisibility.id;
2752 if(var_pvisibilitynode6 == NULL) {
2753 var10 = 1;
2754 } else {
2755 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
2756 var10 = 0;
2757 } else {
2758 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
2759 }
2760 }
2761 if (!var10) {
2762 fprintf(stderr, "Runtime error: %s", "Assert failed");
2763 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17037);
2764 show_backtrace(1);
2765 }
2766 var_tkwvarnode7 = var_nodearraylist4;
2767 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2768 cltype14 = type_nullable_parser_nodes__TKwvar.color;
2769 idtype15 = type_nullable_parser_nodes__TKwvar.id;
2770 if(var_tkwvarnode7 == NULL) {
2771 var13 = 1;
2772 } else {
2773 if(cltype14 >= var_tkwvarnode7->type->table_size) {
2774 var13 = 0;
2775 } else {
2776 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
2777 }
2778 }
2779 if (!var13) {
2780 fprintf(stderr, "Runtime error: %s", "Assert failed");
2781 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17039);
2782 show_backtrace(1);
2783 }
2784 var_tattridnode8 = var_nodearraylist5;
2785 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
2786 cltype17 = type_nullable_parser_nodes__TAttrid.color;
2787 idtype18 = type_nullable_parser_nodes__TAttrid.id;
2788 if(var_tattridnode8 == NULL) {
2789 var16 = 1;
2790 } else {
2791 if(cltype17 >= var_tattridnode8->type->table_size) {
2792 var16 = 0;
2793 } else {
2794 var16 = var_tattridnode8->type->type_table[cltype17] == idtype18;
2795 }
2796 }
2797 if (!var16) {
2798 fprintf(stderr, "Runtime error: %s", "Assert failed");
2799 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17041);
2800 show_backtrace(1);
2801 }
2802 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2803 var20 = NULL;
2804 var21 = NULL;
2805 var22 = NULL;
2806 var23 = NULL;
2807 var24 = NULL;
2808 var25 = NULL;
2809 ((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>*/;
2810 var_ppropdefnode1 = var19;
2811 var_node_list = var_ppropdefnode1;
2812 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction382> */
2813 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
2814 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
2815 RET_LABEL:;
2816 }
2817 /* method parser#ReduceAction382#action for (self: Object, Parser) */
2818 void VIRTUAL_parser__ReduceAction382__action(val* self, val* p0) {
2819 parser__ReduceAction382__action(self, p0);
2820 RET_LABEL:;
2821 }
2822 /* method parser#ReduceAction383#action for (self: ReduceAction383, Parser) */
2823 void parser__ReduceAction383__action(val* self, val* p0) {
2824 val* var_p /* var p: Parser */;
2825 val* var /* : null */;
2826 val* var_node_list /* var node_list: nullable Object */;
2827 val* var1 /* : nullable Object */;
2828 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2829 val* var2 /* : nullable Object */;
2830 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2831 val* var3 /* : nullable Object */;
2832 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2833 val* var4 /* : nullable Object */;
2834 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2835 val* var5 /* : nullable Object */;
2836 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2837 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2838 short int var6 /* : Bool */;
2839 int cltype;
2840 int idtype;
2841 val* var_pablenode3 /* var pablenode3: nullable Object */;
2842 short int var7 /* : Bool */;
2843 int cltype8;
2844 int idtype9;
2845 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2846 short int var10 /* : Bool */;
2847 int cltype11;
2848 int idtype12;
2849 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2850 short int var13 /* : Bool */;
2851 int cltype14;
2852 int idtype15;
2853 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
2854 short int var16 /* : Bool */;
2855 int cltype17;
2856 int idtype18;
2857 val* var19 /* : AAttrPropdef */;
2858 val* var20 /* : null */;
2859 val* var21 /* : null */;
2860 val* var22 /* : null */;
2861 val* var23 /* : null */;
2862 val* var24 /* : null */;
2863 val* var25 /* : null */;
2864 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2865 long var26 /* : Int */;
2866 long var27 /* : Int */;
2867 var_p = p0;
2868 var = NULL;
2869 var_node_list = var;
2870 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2871 var_nodearraylist5 = var1;
2872 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2873 var_nodearraylist4 = var2;
2874 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2875 var_nodearraylist3 = var3;
2876 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2877 var_nodearraylist2 = var4;
2878 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2879 var_nodearraylist1 = var5;
2880 var_pdocnode2 = var_nodearraylist1;
2881 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2882 cltype = type_nullable_parser_nodes__ADoc.color;
2883 idtype = type_nullable_parser_nodes__ADoc.id;
2884 if(var_pdocnode2 == NULL) {
2885 var6 = 1;
2886 } else {
2887 if(cltype >= var_pdocnode2->type->table_size) {
2888 var6 = 0;
2889 } else {
2890 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
2891 }
2892 }
2893 if (!var6) {
2894 fprintf(stderr, "Runtime error: %s", "Assert failed");
2895 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17070);
2896 show_backtrace(1);
2897 }
2898 var_pablenode3 = var_nodearraylist2;
2899 /* <var_pablenode3:nullable Object> isa nullable AAble */
2900 cltype8 = type_nullable_parser_nodes__AAble.color;
2901 idtype9 = type_nullable_parser_nodes__AAble.id;
2902 if(var_pablenode3 == NULL) {
2903 var7 = 1;
2904 } else {
2905 if(cltype8 >= var_pablenode3->type->table_size) {
2906 var7 = 0;
2907 } else {
2908 var7 = var_pablenode3->type->type_table[cltype8] == idtype9;
2909 }
2910 }
2911 if (!var7) {
2912 fprintf(stderr, "Runtime error: %s", "Assert failed");
2913 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17072);
2914 show_backtrace(1);
2915 }
2916 var_pvisibilitynode6 = var_nodearraylist3;
2917 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2918 cltype11 = type_nullable_parser_nodes__AVisibility.color;
2919 idtype12 = type_nullable_parser_nodes__AVisibility.id;
2920 if(var_pvisibilitynode6 == NULL) {
2921 var10 = 1;
2922 } else {
2923 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
2924 var10 = 0;
2925 } else {
2926 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
2927 }
2928 }
2929 if (!var10) {
2930 fprintf(stderr, "Runtime error: %s", "Assert failed");
2931 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17074);
2932 show_backtrace(1);
2933 }
2934 var_tkwvarnode7 = var_nodearraylist4;
2935 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2936 cltype14 = type_nullable_parser_nodes__TKwvar.color;
2937 idtype15 = type_nullable_parser_nodes__TKwvar.id;
2938 if(var_tkwvarnode7 == NULL) {
2939 var13 = 1;
2940 } else {
2941 if(cltype14 >= var_tkwvarnode7->type->table_size) {
2942 var13 = 0;
2943 } else {
2944 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
2945 }
2946 }
2947 if (!var13) {
2948 fprintf(stderr, "Runtime error: %s", "Assert failed");
2949 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17076);
2950 show_backtrace(1);
2951 }
2952 var_tattridnode8 = var_nodearraylist5;
2953 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
2954 cltype17 = type_nullable_parser_nodes__TAttrid.color;
2955 idtype18 = type_nullable_parser_nodes__TAttrid.id;
2956 if(var_tattridnode8 == NULL) {
2957 var16 = 1;
2958 } else {
2959 if(cltype17 >= var_tattridnode8->type->table_size) {
2960 var16 = 0;
2961 } else {
2962 var16 = var_tattridnode8->type->type_table[cltype17] == idtype18;
2963 }
2964 }
2965 if (!var16) {
2966 fprintf(stderr, "Runtime error: %s", "Assert failed");
2967 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17078);
2968 show_backtrace(1);
2969 }
2970 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2971 var20 = NULL;
2972 var21 = NULL;
2973 var22 = NULL;
2974 var23 = NULL;
2975 var24 = NULL;
2976 var25 = NULL;
2977 ((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>*/;
2978 var_ppropdefnode1 = var19;
2979 var_node_list = var_ppropdefnode1;
2980 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction383> */
2981 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
2982 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
2983 RET_LABEL:;
2984 }
2985 /* method parser#ReduceAction383#action for (self: Object, Parser) */
2986 void VIRTUAL_parser__ReduceAction383__action(val* self, val* p0) {
2987 parser__ReduceAction383__action(self, p0);
2988 RET_LABEL:;
2989 }
2990 /* method parser#ReduceAction384#action for (self: ReduceAction384, Parser) */
2991 void parser__ReduceAction384__action(val* self, val* p0) {
2992 val* var_p /* var p: Parser */;
2993 val* var /* : null */;
2994 val* var_node_list /* var node_list: nullable Object */;
2995 val* var1 /* : nullable Object */;
2996 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2997 val* var2 /* : nullable Object */;
2998 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2999 val* var3 /* : nullable Object */;
3000 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3001 val* var4 /* : nullable Object */;
3002 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3003 val* var5 /* : nullable Object */;
3004 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3005 val* var6 /* : nullable Object */;
3006 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3007 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3008 short int var7 /* : Bool */;
3009 int cltype;
3010 int idtype;
3011 val* var_pablenode3 /* var pablenode3: nullable Object */;
3012 short int var8 /* : Bool */;
3013 int cltype9;
3014 int idtype10;
3015 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
3016 short int var11 /* : Bool */;
3017 int cltype12;
3018 int idtype13;
3019 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3020 short int var14 /* : Bool */;
3021 int cltype15;
3022 int idtype16;
3023 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3024 short int var17 /* : Bool */;
3025 int cltype18;
3026 int idtype19;
3027 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
3028 short int var20 /* : Bool */;
3029 int cltype21;
3030 int idtype22;
3031 val* var23 /* : AAttrPropdef */;
3032 val* var24 /* : null */;
3033 val* var25 /* : null */;
3034 val* var26 /* : null */;
3035 val* var27 /* : null */;
3036 val* var28 /* : null */;
3037 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3038 long var29 /* : Int */;
3039 long var30 /* : Int */;
3040 var_p = p0;
3041 var = NULL;
3042 var_node_list = var;
3043 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3044 var_nodearraylist6 = var1;
3045 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3046 var_nodearraylist5 = var2;
3047 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3048 var_nodearraylist4 = var3;
3049 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3050 var_nodearraylist3 = var4;
3051 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3052 var_nodearraylist2 = var5;
3053 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3054 var_nodearraylist1 = var6;
3055 var_pdocnode2 = var_nodearraylist1;
3056 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3057 cltype = type_nullable_parser_nodes__ADoc.color;
3058 idtype = type_nullable_parser_nodes__ADoc.id;
3059 if(var_pdocnode2 == NULL) {
3060 var7 = 1;
3061 } else {
3062 if(cltype >= var_pdocnode2->type->table_size) {
3063 var7 = 0;
3064 } else {
3065 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
3066 }
3067 }
3068 if (!var7) {
3069 fprintf(stderr, "Runtime error: %s", "Assert failed");
3070 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17108);
3071 show_backtrace(1);
3072 }
3073 var_pablenode3 = var_nodearraylist2;
3074 /* <var_pablenode3:nullable Object> isa nullable AAble */
3075 cltype9 = type_nullable_parser_nodes__AAble.color;
3076 idtype10 = type_nullable_parser_nodes__AAble.id;
3077 if(var_pablenode3 == NULL) {
3078 var8 = 1;
3079 } else {
3080 if(cltype9 >= var_pablenode3->type->table_size) {
3081 var8 = 0;
3082 } else {
3083 var8 = var_pablenode3->type->type_table[cltype9] == idtype10;
3084 }
3085 }
3086 if (!var8) {
3087 fprintf(stderr, "Runtime error: %s", "Assert failed");
3088 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17110);
3089 show_backtrace(1);
3090 }
3091 var_tkwredefnode5 = var_nodearraylist3;
3092 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
3093 cltype12 = type_nullable_parser_nodes__TKwredef.color;
3094 idtype13 = type_nullable_parser_nodes__TKwredef.id;
3095 if(var_tkwredefnode5 == NULL) {
3096 var11 = 1;
3097 } else {
3098 if(cltype12 >= var_tkwredefnode5->type->table_size) {
3099 var11 = 0;
3100 } else {
3101 var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
3102 }
3103 }
3104 if (!var11) {
3105 fprintf(stderr, "Runtime error: %s", "Assert failed");
3106 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17112);
3107 show_backtrace(1);
3108 }
3109 var_pvisibilitynode6 = var_nodearraylist4;
3110 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3111 cltype15 = type_nullable_parser_nodes__AVisibility.color;
3112 idtype16 = type_nullable_parser_nodes__AVisibility.id;
3113 if(var_pvisibilitynode6 == NULL) {
3114 var14 = 1;
3115 } else {
3116 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
3117 var14 = 0;
3118 } else {
3119 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
3120 }
3121 }
3122 if (!var14) {
3123 fprintf(stderr, "Runtime error: %s", "Assert failed");
3124 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17114);
3125 show_backtrace(1);
3126 }
3127 var_tkwvarnode7 = var_nodearraylist5;
3128 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3129 cltype18 = type_nullable_parser_nodes__TKwvar.color;
3130 idtype19 = type_nullable_parser_nodes__TKwvar.id;
3131 if(var_tkwvarnode7 == NULL) {
3132 var17 = 1;
3133 } else {
3134 if(cltype18 >= var_tkwvarnode7->type->table_size) {
3135 var17 = 0;
3136 } else {
3137 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
3138 }
3139 }
3140 if (!var17) {
3141 fprintf(stderr, "Runtime error: %s", "Assert failed");
3142 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17116);
3143 show_backtrace(1);
3144 }
3145 var_tattridnode8 = var_nodearraylist6;
3146 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
3147 cltype21 = type_nullable_parser_nodes__TAttrid.color;
3148 idtype22 = type_nullable_parser_nodes__TAttrid.id;
3149 if(var_tattridnode8 == NULL) {
3150 var20 = 1;
3151 } else {
3152 if(cltype21 >= var_tattridnode8->type->table_size) {
3153 var20 = 0;
3154 } else {
3155 var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
3156 }
3157 }
3158 if (!var20) {
3159 fprintf(stderr, "Runtime error: %s", "Assert failed");
3160 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17118);
3161 show_backtrace(1);
3162 }
3163 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3164 var24 = NULL;
3165 var25 = NULL;
3166 var26 = NULL;
3167 var27 = NULL;
3168 var28 = NULL;
3169 ((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>*/;
3170 var_ppropdefnode1 = var23;
3171 var_node_list = var_ppropdefnode1;
3172 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction384> */
3173 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
3174 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
3175 RET_LABEL:;
3176 }
3177 /* method parser#ReduceAction384#action for (self: Object, Parser) */
3178 void VIRTUAL_parser__ReduceAction384__action(val* self, val* p0) {
3179 parser__ReduceAction384__action(self, p0);
3180 RET_LABEL:;
3181 }
3182 /* method parser#ReduceAction385#action for (self: ReduceAction385, Parser) */
3183 void parser__ReduceAction385__action(val* self, val* p0) {
3184 val* var_p /* var p: Parser */;
3185 val* var /* : null */;
3186 val* var_node_list /* var node_list: nullable Object */;
3187 val* var1 /* : nullable Object */;
3188 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3189 val* var2 /* : nullable Object */;
3190 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3191 val* var3 /* : nullable Object */;
3192 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3193 val* var4 /* : nullable Object */;
3194 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3195 val* var5 /* : nullable Object */;
3196 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3197 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3198 short int var6 /* : Bool */;
3199 int cltype;
3200 int idtype;
3201 val* var_pablenode4 /* var pablenode4: nullable Object */;
3202 short int var7 /* : Bool */;
3203 int cltype8;
3204 int idtype9;
3205 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3206 short int var10 /* : Bool */;
3207 int cltype11;
3208 int idtype12;
3209 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3210 short int var13 /* : Bool */;
3211 int cltype14;
3212 int idtype15;
3213 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
3214 short int var16 /* : Bool */;
3215 int cltype17;
3216 int idtype18;
3217 val* var19 /* : AAttrPropdef */;
3218 val* var20 /* : null */;
3219 val* var21 /* : null */;
3220 val* var22 /* : null */;
3221 val* var23 /* : null */;
3222 val* var24 /* : null */;
3223 val* var25 /* : null */;
3224 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3225 long var26 /* : Int */;
3226 long var27 /* : Int */;
3227 var_p = p0;
3228 var = NULL;
3229 var_node_list = var;
3230 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3231 var_nodearraylist5 = var1;
3232 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3233 var_nodearraylist4 = var2;
3234 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3235 var_nodearraylist3 = var3;
3236 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3237 var_nodearraylist2 = var4;
3238 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3239 var_nodearraylist1 = var5;
3240 var_pdocnode2 = var_nodearraylist1;
3241 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3242 cltype = type_nullable_parser_nodes__ADoc.color;
3243 idtype = type_nullable_parser_nodes__ADoc.id;
3244 if(var_pdocnode2 == NULL) {
3245 var6 = 1;
3246 } else {
3247 if(cltype >= var_pdocnode2->type->table_size) {
3248 var6 = 0;
3249 } else {
3250 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
3251 }
3252 }
3253 if (!var6) {
3254 fprintf(stderr, "Runtime error: %s", "Assert failed");
3255 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17147);
3256 show_backtrace(1);
3257 }
3258 var_pablenode4 = var_nodearraylist2;
3259 /* <var_pablenode4:nullable Object> isa nullable AAble */
3260 cltype8 = type_nullable_parser_nodes__AAble.color;
3261 idtype9 = type_nullable_parser_nodes__AAble.id;
3262 if(var_pablenode4 == NULL) {
3263 var7 = 1;
3264 } else {
3265 if(cltype8 >= var_pablenode4->type->table_size) {
3266 var7 = 0;
3267 } else {
3268 var7 = var_pablenode4->type->type_table[cltype8] == idtype9;
3269 }
3270 }
3271 if (!var7) {
3272 fprintf(stderr, "Runtime error: %s", "Assert failed");
3273 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17149);
3274 show_backtrace(1);
3275 }
3276 var_pvisibilitynode6 = var_nodearraylist3;
3277 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3278 cltype11 = type_nullable_parser_nodes__AVisibility.color;
3279 idtype12 = type_nullable_parser_nodes__AVisibility.id;
3280 if(var_pvisibilitynode6 == NULL) {
3281 var10 = 1;
3282 } else {
3283 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
3284 var10 = 0;
3285 } else {
3286 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
3287 }
3288 }
3289 if (!var10) {
3290 fprintf(stderr, "Runtime error: %s", "Assert failed");
3291 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17151);
3292 show_backtrace(1);
3293 }
3294 var_tkwvarnode7 = var_nodearraylist4;
3295 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3296 cltype14 = type_nullable_parser_nodes__TKwvar.color;
3297 idtype15 = type_nullable_parser_nodes__TKwvar.id;
3298 if(var_tkwvarnode7 == NULL) {
3299 var13 = 1;
3300 } else {
3301 if(cltype14 >= var_tkwvarnode7->type->table_size) {
3302 var13 = 0;
3303 } else {
3304 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
3305 }
3306 }
3307 if (!var13) {
3308 fprintf(stderr, "Runtime error: %s", "Assert failed");
3309 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17153);
3310 show_backtrace(1);
3311 }
3312 var_tattridnode8 = var_nodearraylist5;
3313 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
3314 cltype17 = type_nullable_parser_nodes__TAttrid.color;
3315 idtype18 = type_nullable_parser_nodes__TAttrid.id;
3316 if(var_tattridnode8 == NULL) {
3317 var16 = 1;
3318 } else {
3319 if(cltype17 >= var_tattridnode8->type->table_size) {
3320 var16 = 0;
3321 } else {
3322 var16 = var_tattridnode8->type->type_table[cltype17] == idtype18;
3323 }
3324 }
3325 if (!var16) {
3326 fprintf(stderr, "Runtime error: %s", "Assert failed");
3327 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17155);
3328 show_backtrace(1);
3329 }
3330 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3331 var20 = NULL;
3332 var21 = NULL;
3333 var22 = NULL;
3334 var23 = NULL;
3335 var24 = NULL;
3336 var25 = NULL;
3337 ((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>*/;
3338 var_ppropdefnode1 = var19;
3339 var_node_list = var_ppropdefnode1;
3340 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction385> */
3341 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
3342 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
3343 RET_LABEL:;
3344 }
3345 /* method parser#ReduceAction385#action for (self: Object, Parser) */
3346 void VIRTUAL_parser__ReduceAction385__action(val* self, val* p0) {
3347 parser__ReduceAction385__action(self, p0);
3348 RET_LABEL:;
3349 }
3350 /* method parser#ReduceAction386#action for (self: ReduceAction386, Parser) */
3351 void parser__ReduceAction386__action(val* self, val* p0) {
3352 val* var_p /* var p: Parser */;
3353 val* var /* : null */;
3354 val* var_node_list /* var node_list: nullable Object */;
3355 val* var1 /* : nullable Object */;
3356 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3357 val* var2 /* : nullable Object */;
3358 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3359 val* var3 /* : nullable Object */;
3360 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3361 val* var4 /* : nullable Object */;
3362 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3363 val* var5 /* : nullable Object */;
3364 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3365 val* var6 /* : nullable Object */;
3366 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3367 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3368 short int var7 /* : Bool */;
3369 int cltype;
3370 int idtype;
3371 val* var_pablenode4 /* var pablenode4: nullable Object */;
3372 short int var8 /* : Bool */;
3373 int cltype9;
3374 int idtype10;
3375 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
3376 short int var11 /* : Bool */;
3377 int cltype12;
3378 int idtype13;
3379 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3380 short int var14 /* : Bool */;
3381 int cltype15;
3382 int idtype16;
3383 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3384 short int var17 /* : Bool */;
3385 int cltype18;
3386 int idtype19;
3387 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
3388 short int var20 /* : Bool */;
3389 int cltype21;
3390 int idtype22;
3391 val* var23 /* : AAttrPropdef */;
3392 val* var24 /* : null */;
3393 val* var25 /* : null */;
3394 val* var26 /* : null */;
3395 val* var27 /* : null */;
3396 val* var28 /* : null */;
3397 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3398 long var29 /* : Int */;
3399 long var30 /* : Int */;
3400 var_p = p0;
3401 var = NULL;
3402 var_node_list = var;
3403 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3404 var_nodearraylist6 = var1;
3405 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3406 var_nodearraylist5 = var2;
3407 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3408 var_nodearraylist4 = var3;
3409 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3410 var_nodearraylist3 = var4;
3411 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3412 var_nodearraylist2 = var5;
3413 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3414 var_nodearraylist1 = var6;
3415 var_pdocnode2 = var_nodearraylist1;
3416 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3417 cltype = type_nullable_parser_nodes__ADoc.color;
3418 idtype = type_nullable_parser_nodes__ADoc.id;
3419 if(var_pdocnode2 == NULL) {
3420 var7 = 1;
3421 } else {
3422 if(cltype >= var_pdocnode2->type->table_size) {
3423 var7 = 0;
3424 } else {
3425 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
3426 }
3427 }
3428 if (!var7) {
3429 fprintf(stderr, "Runtime error: %s", "Assert failed");
3430 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17185);
3431 show_backtrace(1);
3432 }
3433 var_pablenode4 = var_nodearraylist2;
3434 /* <var_pablenode4:nullable Object> isa nullable AAble */
3435 cltype9 = type_nullable_parser_nodes__AAble.color;
3436 idtype10 = type_nullable_parser_nodes__AAble.id;
3437 if(var_pablenode4 == NULL) {
3438 var8 = 1;
3439 } else {
3440 if(cltype9 >= var_pablenode4->type->table_size) {
3441 var8 = 0;
3442 } else {
3443 var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
3444 }
3445 }
3446 if (!var8) {
3447 fprintf(stderr, "Runtime error: %s", "Assert failed");
3448 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17187);
3449 show_backtrace(1);
3450 }
3451 var_tkwredefnode5 = var_nodearraylist3;
3452 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
3453 cltype12 = type_nullable_parser_nodes__TKwredef.color;
3454 idtype13 = type_nullable_parser_nodes__TKwredef.id;
3455 if(var_tkwredefnode5 == NULL) {
3456 var11 = 1;
3457 } else {
3458 if(cltype12 >= var_tkwredefnode5->type->table_size) {
3459 var11 = 0;
3460 } else {
3461 var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
3462 }
3463 }
3464 if (!var11) {
3465 fprintf(stderr, "Runtime error: %s", "Assert failed");
3466 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17189);
3467 show_backtrace(1);
3468 }
3469 var_pvisibilitynode6 = var_nodearraylist4;
3470 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3471 cltype15 = type_nullable_parser_nodes__AVisibility.color;
3472 idtype16 = type_nullable_parser_nodes__AVisibility.id;
3473 if(var_pvisibilitynode6 == NULL) {
3474 var14 = 1;
3475 } else {
3476 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
3477 var14 = 0;
3478 } else {
3479 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
3480 }
3481 }
3482 if (!var14) {
3483 fprintf(stderr, "Runtime error: %s", "Assert failed");
3484 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17191);
3485 show_backtrace(1);
3486 }
3487 var_tkwvarnode7 = var_nodearraylist5;
3488 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3489 cltype18 = type_nullable_parser_nodes__TKwvar.color;
3490 idtype19 = type_nullable_parser_nodes__TKwvar.id;
3491 if(var_tkwvarnode7 == NULL) {
3492 var17 = 1;
3493 } else {
3494 if(cltype18 >= var_tkwvarnode7->type->table_size) {
3495 var17 = 0;
3496 } else {
3497 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
3498 }
3499 }
3500 if (!var17) {
3501 fprintf(stderr, "Runtime error: %s", "Assert failed");
3502 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17193);
3503 show_backtrace(1);
3504 }
3505 var_tattridnode8 = var_nodearraylist6;
3506 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
3507 cltype21 = type_nullable_parser_nodes__TAttrid.color;
3508 idtype22 = type_nullable_parser_nodes__TAttrid.id;
3509 if(var_tattridnode8 == NULL) {
3510 var20 = 1;
3511 } else {
3512 if(cltype21 >= var_tattridnode8->type->table_size) {
3513 var20 = 0;
3514 } else {
3515 var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
3516 }
3517 }
3518 if (!var20) {
3519 fprintf(stderr, "Runtime error: %s", "Assert failed");
3520 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17195);
3521 show_backtrace(1);
3522 }
3523 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3524 var24 = NULL;
3525 var25 = NULL;
3526 var26 = NULL;
3527 var27 = NULL;
3528 var28 = NULL;
3529 ((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>*/;
3530 var_ppropdefnode1 = var23;
3531 var_node_list = var_ppropdefnode1;
3532 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction386> */
3533 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
3534 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
3535 RET_LABEL:;
3536 }
3537 /* method parser#ReduceAction386#action for (self: Object, Parser) */
3538 void VIRTUAL_parser__ReduceAction386__action(val* self, val* p0) {
3539 parser__ReduceAction386__action(self, p0);
3540 RET_LABEL:;
3541 }
3542 /* method parser#ReduceAction387#action for (self: ReduceAction387, Parser) */
3543 void parser__ReduceAction387__action(val* self, val* p0) {
3544 val* var_p /* var p: Parser */;
3545 val* var /* : null */;
3546 val* var_node_list /* var node_list: nullable Object */;
3547 val* var1 /* : nullable Object */;
3548 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3549 val* var2 /* : nullable Object */;
3550 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3551 val* var3 /* : nullable Object */;
3552 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3553 val* var4 /* : nullable Object */;
3554 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3555 val* var5 /* : nullable Object */;
3556 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3557 val* var6 /* : nullable Object */;
3558 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3559 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3560 short int var7 /* : Bool */;
3561 int cltype;
3562 int idtype;
3563 val* var_pablenode3 /* var pablenode3: nullable Object */;
3564 short int var8 /* : Bool */;
3565 int cltype9;
3566 int idtype10;
3567 val* var_pablenode4 /* var pablenode4: nullable Object */;
3568 short int var11 /* : Bool */;
3569 int cltype12;
3570 int idtype13;
3571 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3572 short int var14 /* : Bool */;
3573 int cltype15;
3574 int idtype16;
3575 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3576 short int var17 /* : Bool */;
3577 int cltype18;
3578 int idtype19;
3579 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
3580 short int var20 /* : Bool */;
3581 int cltype21;
3582 int idtype22;
3583 val* var23 /* : AAttrPropdef */;
3584 val* var24 /* : null */;
3585 val* var25 /* : null */;
3586 val* var26 /* : null */;
3587 val* var27 /* : null */;
3588 val* var28 /* : null */;
3589 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3590 long var29 /* : Int */;
3591 long var30 /* : Int */;
3592 var_p = p0;
3593 var = NULL;
3594 var_node_list = var;
3595 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3596 var_nodearraylist6 = var1;
3597 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3598 var_nodearraylist5 = var2;
3599 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3600 var_nodearraylist4 = var3;
3601 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3602 var_nodearraylist3 = var4;
3603 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3604 var_nodearraylist2 = var5;
3605 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3606 var_nodearraylist1 = var6;
3607 var_pdocnode2 = var_nodearraylist1;
3608 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3609 cltype = type_nullable_parser_nodes__ADoc.color;
3610 idtype = type_nullable_parser_nodes__ADoc.id;
3611 if(var_pdocnode2 == NULL) {
3612 var7 = 1;
3613 } else {
3614 if(cltype >= var_pdocnode2->type->table_size) {
3615 var7 = 0;
3616 } else {
3617 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
3618 }
3619 }
3620 if (!var7) {
3621 fprintf(stderr, "Runtime error: %s", "Assert failed");
3622 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17225);
3623 show_backtrace(1);
3624 }
3625 var_pablenode3 = var_nodearraylist2;
3626 /* <var_pablenode3:nullable Object> isa nullable AAble */
3627 cltype9 = type_nullable_parser_nodes__AAble.color;
3628 idtype10 = type_nullable_parser_nodes__AAble.id;
3629 if(var_pablenode3 == NULL) {
3630 var8 = 1;
3631 } else {
3632 if(cltype9 >= var_pablenode3->type->table_size) {
3633 var8 = 0;
3634 } else {
3635 var8 = var_pablenode3->type->type_table[cltype9] == idtype10;
3636 }
3637 }
3638 if (!var8) {
3639 fprintf(stderr, "Runtime error: %s", "Assert failed");
3640 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17227);
3641 show_backtrace(1);
3642 }
3643 var_pablenode4 = var_nodearraylist3;
3644 /* <var_pablenode4:nullable Object> isa nullable AAble */
3645 cltype12 = type_nullable_parser_nodes__AAble.color;
3646 idtype13 = type_nullable_parser_nodes__AAble.id;
3647 if(var_pablenode4 == NULL) {
3648 var11 = 1;
3649 } else {
3650 if(cltype12 >= var_pablenode4->type->table_size) {
3651 var11 = 0;
3652 } else {
3653 var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
3654 }
3655 }
3656 if (!var11) {
3657 fprintf(stderr, "Runtime error: %s", "Assert failed");
3658 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17229);
3659 show_backtrace(1);
3660 }
3661 var_pvisibilitynode6 = var_nodearraylist4;
3662 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3663 cltype15 = type_nullable_parser_nodes__AVisibility.color;
3664 idtype16 = type_nullable_parser_nodes__AVisibility.id;
3665 if(var_pvisibilitynode6 == NULL) {
3666 var14 = 1;
3667 } else {
3668 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
3669 var14 = 0;
3670 } else {
3671 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
3672 }
3673 }
3674 if (!var14) {
3675 fprintf(stderr, "Runtime error: %s", "Assert failed");
3676 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17231);
3677 show_backtrace(1);
3678 }
3679 var_tkwvarnode7 = var_nodearraylist5;
3680 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3681 cltype18 = type_nullable_parser_nodes__TKwvar.color;
3682 idtype19 = type_nullable_parser_nodes__TKwvar.id;
3683 if(var_tkwvarnode7 == NULL) {
3684 var17 = 1;
3685 } else {
3686 if(cltype18 >= var_tkwvarnode7->type->table_size) {
3687 var17 = 0;
3688 } else {
3689 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
3690 }
3691 }
3692 if (!var17) {
3693 fprintf(stderr, "Runtime error: %s", "Assert failed");
3694 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17233);
3695 show_backtrace(1);
3696 }
3697 var_tattridnode8 = var_nodearraylist6;
3698 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
3699 cltype21 = type_nullable_parser_nodes__TAttrid.color;
3700 idtype22 = type_nullable_parser_nodes__TAttrid.id;
3701 if(var_tattridnode8 == NULL) {
3702 var20 = 1;
3703 } else {
3704 if(cltype21 >= var_tattridnode8->type->table_size) {
3705 var20 = 0;
3706 } else {
3707 var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
3708 }
3709 }
3710 if (!var20) {
3711 fprintf(stderr, "Runtime error: %s", "Assert failed");
3712 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17235);
3713 show_backtrace(1);
3714 }
3715 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3716 var24 = NULL;
3717 var25 = NULL;
3718 var26 = NULL;
3719 var27 = NULL;
3720 var28 = NULL;
3721 ((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>*/;
3722 var_ppropdefnode1 = var23;
3723 var_node_list = var_ppropdefnode1;
3724 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction387> */
3725 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
3726 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
3727 RET_LABEL:;
3728 }
3729 /* method parser#ReduceAction387#action for (self: Object, Parser) */
3730 void VIRTUAL_parser__ReduceAction387__action(val* self, val* p0) {
3731 parser__ReduceAction387__action(self, p0);
3732 RET_LABEL:;
3733 }
3734 /* method parser#ReduceAction388#action for (self: ReduceAction388, Parser) */
3735 void parser__ReduceAction388__action(val* self, val* p0) {
3736 val* var_p /* var p: Parser */;
3737 val* var /* : null */;
3738 val* var_node_list /* var node_list: nullable Object */;
3739 val* var1 /* : nullable Object */;
3740 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3741 val* var2 /* : nullable Object */;
3742 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3743 val* var3 /* : nullable Object */;
3744 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3745 val* var4 /* : nullable Object */;
3746 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3747 val* var5 /* : nullable Object */;
3748 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3749 val* var6 /* : nullable Object */;
3750 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3751 val* var7 /* : nullable Object */;
3752 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3753 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3754 short int var8 /* : Bool */;
3755 int cltype;
3756 int idtype;
3757 val* var_pablenode3 /* var pablenode3: nullable Object */;
3758 short int var9 /* : Bool */;
3759 int cltype10;
3760 int idtype11;
3761 val* var_pablenode4 /* var pablenode4: nullable Object */;
3762 short int var12 /* : Bool */;
3763 int cltype13;
3764 int idtype14;
3765 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
3766 short int var15 /* : Bool */;
3767 int cltype16;
3768 int idtype17;
3769 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3770 short int var18 /* : Bool */;
3771 int cltype19;
3772 int idtype20;
3773 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3774 short int var21 /* : Bool */;
3775 int cltype22;
3776 int idtype23;
3777 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
3778 short int var24 /* : Bool */;
3779 int cltype25;
3780 int idtype26;
3781 val* var27 /* : AAttrPropdef */;
3782 val* var28 /* : null */;
3783 val* var29 /* : null */;
3784 val* var30 /* : null */;
3785 val* var31 /* : null */;
3786 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3787 long var32 /* : Int */;
3788 long var33 /* : Int */;
3789 var_p = p0;
3790 var = NULL;
3791 var_node_list = var;
3792 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3793 var_nodearraylist7 = var1;
3794 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3795 var_nodearraylist6 = var2;
3796 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3797 var_nodearraylist5 = var3;
3798 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3799 var_nodearraylist4 = var4;
3800 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3801 var_nodearraylist3 = var5;
3802 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3803 var_nodearraylist2 = var6;
3804 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3805 var_nodearraylist1 = var7;
3806 var_pdocnode2 = var_nodearraylist1;
3807 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3808 cltype = type_nullable_parser_nodes__ADoc.color;
3809 idtype = type_nullable_parser_nodes__ADoc.id;
3810 if(var_pdocnode2 == NULL) {
3811 var8 = 1;
3812 } else {
3813 if(cltype >= var_pdocnode2->type->table_size) {
3814 var8 = 0;
3815 } else {
3816 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
3817 }
3818 }
3819 if (!var8) {
3820 fprintf(stderr, "Runtime error: %s", "Assert failed");
3821 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17266);
3822 show_backtrace(1);
3823 }
3824 var_pablenode3 = var_nodearraylist2;
3825 /* <var_pablenode3:nullable Object> isa nullable AAble */
3826 cltype10 = type_nullable_parser_nodes__AAble.color;
3827 idtype11 = type_nullable_parser_nodes__AAble.id;
3828 if(var_pablenode3 == NULL) {
3829 var9 = 1;
3830 } else {
3831 if(cltype10 >= var_pablenode3->type->table_size) {
3832 var9 = 0;
3833 } else {
3834 var9 = var_pablenode3->type->type_table[cltype10] == idtype11;
3835 }
3836 }
3837 if (!var9) {
3838 fprintf(stderr, "Runtime error: %s", "Assert failed");
3839 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17268);
3840 show_backtrace(1);
3841 }
3842 var_pablenode4 = var_nodearraylist3;
3843 /* <var_pablenode4:nullable Object> isa nullable AAble */
3844 cltype13 = type_nullable_parser_nodes__AAble.color;
3845 idtype14 = type_nullable_parser_nodes__AAble.id;
3846 if(var_pablenode4 == NULL) {
3847 var12 = 1;
3848 } else {
3849 if(cltype13 >= var_pablenode4->type->table_size) {
3850 var12 = 0;
3851 } else {
3852 var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
3853 }
3854 }
3855 if (!var12) {
3856 fprintf(stderr, "Runtime error: %s", "Assert failed");
3857 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17270);
3858 show_backtrace(1);
3859 }
3860 var_tkwredefnode5 = var_nodearraylist4;
3861 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
3862 cltype16 = type_nullable_parser_nodes__TKwredef.color;
3863 idtype17 = type_nullable_parser_nodes__TKwredef.id;
3864 if(var_tkwredefnode5 == NULL) {
3865 var15 = 1;
3866 } else {
3867 if(cltype16 >= var_tkwredefnode5->type->table_size) {
3868 var15 = 0;
3869 } else {
3870 var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
3871 }
3872 }
3873 if (!var15) {
3874 fprintf(stderr, "Runtime error: %s", "Assert failed");
3875 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17272);
3876 show_backtrace(1);
3877 }
3878 var_pvisibilitynode6 = var_nodearraylist5;
3879 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3880 cltype19 = type_nullable_parser_nodes__AVisibility.color;
3881 idtype20 = type_nullable_parser_nodes__AVisibility.id;
3882 if(var_pvisibilitynode6 == NULL) {
3883 var18 = 1;
3884 } else {
3885 if(cltype19 >= var_pvisibilitynode6->type->table_size) {
3886 var18 = 0;
3887 } else {
3888 var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
3889 }
3890 }
3891 if (!var18) {
3892 fprintf(stderr, "Runtime error: %s", "Assert failed");
3893 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17274);
3894 show_backtrace(1);
3895 }
3896 var_tkwvarnode7 = var_nodearraylist6;
3897 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3898 cltype22 = type_nullable_parser_nodes__TKwvar.color;
3899 idtype23 = type_nullable_parser_nodes__TKwvar.id;
3900 if(var_tkwvarnode7 == NULL) {
3901 var21 = 1;
3902 } else {
3903 if(cltype22 >= var_tkwvarnode7->type->table_size) {
3904 var21 = 0;
3905 } else {
3906 var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
3907 }
3908 }
3909 if (!var21) {
3910 fprintf(stderr, "Runtime error: %s", "Assert failed");
3911 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17276);
3912 show_backtrace(1);
3913 }
3914 var_tattridnode8 = var_nodearraylist7;
3915 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
3916 cltype25 = type_nullable_parser_nodes__TAttrid.color;
3917 idtype26 = type_nullable_parser_nodes__TAttrid.id;
3918 if(var_tattridnode8 == NULL) {
3919 var24 = 1;
3920 } else {
3921 if(cltype25 >= var_tattridnode8->type->table_size) {
3922 var24 = 0;
3923 } else {
3924 var24 = var_tattridnode8->type->type_table[cltype25] == idtype26;
3925 }
3926 }
3927 if (!var24) {
3928 fprintf(stderr, "Runtime error: %s", "Assert failed");
3929 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17278);
3930 show_backtrace(1);
3931 }
3932 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3933 var28 = NULL;
3934 var29 = NULL;
3935 var30 = NULL;
3936 var31 = NULL;
3937 ((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>*/;
3938 var_ppropdefnode1 = var27;
3939 var_node_list = var_ppropdefnode1;
3940 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction388> */
3941 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
3942 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
3943 RET_LABEL:;
3944 }
3945 /* method parser#ReduceAction388#action for (self: Object, Parser) */
3946 void VIRTUAL_parser__ReduceAction388__action(val* self, val* p0) {
3947 parser__ReduceAction388__action(self, p0);
3948 RET_LABEL:;
3949 }
3950 /* method parser#ReduceAction389#action for (self: ReduceAction389, Parser) */
3951 void parser__ReduceAction389__action(val* self, val* p0) {
3952 val* var_p /* var p: Parser */;
3953 val* var /* : null */;
3954 val* var_node_list /* var node_list: nullable Object */;
3955 val* var1 /* : nullable Object */;
3956 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3957 val* var2 /* : nullable Object */;
3958 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3959 val* var3 /* : nullable Object */;
3960 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3961 val* var4 /* : nullable Object */;
3962 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3963 val* var5 /* : nullable Object */;
3964 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3965 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3966 short int var6 /* : Bool */;
3967 int cltype;
3968 int idtype;
3969 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3970 short int var7 /* : Bool */;
3971 int cltype8;
3972 int idtype9;
3973 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3974 short int var10 /* : Bool */;
3975 int cltype11;
3976 int idtype12;
3977 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
3978 short int var13 /* : Bool */;
3979 int cltype14;
3980 int idtype15;
3981 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
3982 short int var16 /* : Bool */;
3983 int cltype17;
3984 int idtype18;
3985 val* var19 /* : AAttrPropdef */;
3986 val* var20 /* : null */;
3987 val* var21 /* : null */;
3988 val* var22 /* : null */;
3989 val* var23 /* : null */;
3990 val* var24 /* : null */;
3991 val* var25 /* : null */;
3992 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3993 long var26 /* : Int */;
3994 long var27 /* : Int */;
3995 var_p = p0;
3996 var = NULL;
3997 var_node_list = var;
3998 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3999 var_nodearraylist5 = var1;
4000 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4001 var_nodearraylist4 = var2;
4002 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4003 var_nodearraylist3 = var3;
4004 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4005 var_nodearraylist2 = var4;
4006 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4007 var_nodearraylist1 = var5;
4008 var_pdocnode2 = var_nodearraylist1;
4009 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4010 cltype = type_nullable_parser_nodes__ADoc.color;
4011 idtype = type_nullable_parser_nodes__ADoc.id;
4012 if(var_pdocnode2 == NULL) {
4013 var6 = 1;
4014 } else {
4015 if(cltype >= var_pdocnode2->type->table_size) {
4016 var6 = 0;
4017 } else {
4018 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
4019 }
4020 }
4021 if (!var6) {
4022 fprintf(stderr, "Runtime error: %s", "Assert failed");
4023 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17307);
4024 show_backtrace(1);
4025 }
4026 var_pvisibilitynode6 = var_nodearraylist2;
4027 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4028 cltype8 = type_nullable_parser_nodes__AVisibility.color;
4029 idtype9 = type_nullable_parser_nodes__AVisibility.id;
4030 if(var_pvisibilitynode6 == NULL) {
4031 var7 = 1;
4032 } else {
4033 if(cltype8 >= var_pvisibilitynode6->type->table_size) {
4034 var7 = 0;
4035 } else {
4036 var7 = var_pvisibilitynode6->type->type_table[cltype8] == idtype9;
4037 }
4038 }
4039 if (!var7) {
4040 fprintf(stderr, "Runtime error: %s", "Assert failed");
4041 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17309);
4042 show_backtrace(1);
4043 }
4044 var_tkwvarnode7 = var_nodearraylist3;
4045 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4046 cltype11 = type_nullable_parser_nodes__TKwvar.color;
4047 idtype12 = type_nullable_parser_nodes__TKwvar.id;
4048 if(var_tkwvarnode7 == NULL) {
4049 var10 = 1;
4050 } else {
4051 if(cltype11 >= var_tkwvarnode7->type->table_size) {
4052 var10 = 0;
4053 } else {
4054 var10 = var_tkwvarnode7->type->type_table[cltype11] == idtype12;
4055 }
4056 }
4057 if (!var10) {
4058 fprintf(stderr, "Runtime error: %s", "Assert failed");
4059 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17311);
4060 show_backtrace(1);
4061 }
4062 var_tattridnode8 = var_nodearraylist4;
4063 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
4064 cltype14 = type_nullable_parser_nodes__TAttrid.color;
4065 idtype15 = type_nullable_parser_nodes__TAttrid.id;
4066 if(var_tattridnode8 == NULL) {
4067 var13 = 1;
4068 } else {
4069 if(cltype14 >= var_tattridnode8->type->table_size) {
4070 var13 = 0;
4071 } else {
4072 var13 = var_tattridnode8->type->type_table[cltype14] == idtype15;
4073 }
4074 }
4075 if (!var13) {
4076 fprintf(stderr, "Runtime error: %s", "Assert failed");
4077 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17313);
4078 show_backtrace(1);
4079 }
4080 var_ptypenode10 = var_nodearraylist5;
4081 /* <var_ptypenode10:nullable Object> isa nullable AType */
4082 cltype17 = type_nullable_parser_nodes__AType.color;
4083 idtype18 = type_nullable_parser_nodes__AType.id;
4084 if(var_ptypenode10 == NULL) {
4085 var16 = 1;
4086 } else {
4087 if(cltype17 >= var_ptypenode10->type->table_size) {
4088 var16 = 0;
4089 } else {
4090 var16 = var_ptypenode10->type->type_table[cltype17] == idtype18;
4091 }
4092 }
4093 if (!var16) {
4094 fprintf(stderr, "Runtime error: %s", "Assert failed");
4095 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17315);
4096 show_backtrace(1);
4097 }
4098 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4099 var20 = NULL;
4100 var21 = NULL;
4101 var22 = NULL;
4102 var23 = NULL;
4103 var24 = NULL;
4104 var25 = NULL;
4105 ((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>*/;
4106 var_ppropdefnode1 = var19;
4107 var_node_list = var_ppropdefnode1;
4108 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction389> */
4109 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
4110 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
4111 RET_LABEL:;
4112 }
4113 /* method parser#ReduceAction389#action for (self: Object, Parser) */
4114 void VIRTUAL_parser__ReduceAction389__action(val* self, val* p0) {
4115 parser__ReduceAction389__action(self, p0);
4116 RET_LABEL:;
4117 }
4118 /* method parser#ReduceAction390#action for (self: ReduceAction390, Parser) */
4119 void parser__ReduceAction390__action(val* self, val* p0) {
4120 val* var_p /* var p: Parser */;
4121 val* var /* : null */;
4122 val* var_node_list /* var node_list: nullable Object */;
4123 val* var1 /* : nullable Object */;
4124 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4125 val* var2 /* : nullable Object */;
4126 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4127 val* var3 /* : nullable Object */;
4128 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4129 val* var4 /* : nullable Object */;
4130 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4131 val* var5 /* : nullable Object */;
4132 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4133 val* var6 /* : nullable Object */;
4134 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4135 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4136 short int var7 /* : Bool */;
4137 int cltype;
4138 int idtype;
4139 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
4140 short int var8 /* : Bool */;
4141 int cltype9;
4142 int idtype10;
4143 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4144 short int var11 /* : Bool */;
4145 int cltype12;
4146 int idtype13;
4147 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4148 short int var14 /* : Bool */;
4149 int cltype15;
4150 int idtype16;
4151 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
4152 short int var17 /* : Bool */;
4153 int cltype18;
4154 int idtype19;
4155 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
4156 short int var20 /* : Bool */;
4157 int cltype21;
4158 int idtype22;
4159 val* var23 /* : AAttrPropdef */;
4160 val* var24 /* : null */;
4161 val* var25 /* : null */;
4162 val* var26 /* : null */;
4163 val* var27 /* : null */;
4164 val* var28 /* : null */;
4165 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4166 long var29 /* : Int */;
4167 long var30 /* : Int */;
4168 var_p = p0;
4169 var = NULL;
4170 var_node_list = var;
4171 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4172 var_nodearraylist6 = var1;
4173 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4174 var_nodearraylist5 = var2;
4175 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4176 var_nodearraylist4 = var3;
4177 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4178 var_nodearraylist3 = var4;
4179 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4180 var_nodearraylist2 = var5;
4181 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4182 var_nodearraylist1 = var6;
4183 var_pdocnode2 = var_nodearraylist1;
4184 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4185 cltype = type_nullable_parser_nodes__ADoc.color;
4186 idtype = type_nullable_parser_nodes__ADoc.id;
4187 if(var_pdocnode2 == NULL) {
4188 var7 = 1;
4189 } else {
4190 if(cltype >= var_pdocnode2->type->table_size) {
4191 var7 = 0;
4192 } else {
4193 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
4194 }
4195 }
4196 if (!var7) {
4197 fprintf(stderr, "Runtime error: %s", "Assert failed");
4198 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17345);
4199 show_backtrace(1);
4200 }
4201 var_tkwredefnode5 = var_nodearraylist2;
4202 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
4203 cltype9 = type_nullable_parser_nodes__TKwredef.color;
4204 idtype10 = type_nullable_parser_nodes__TKwredef.id;
4205 if(var_tkwredefnode5 == NULL) {
4206 var8 = 1;
4207 } else {
4208 if(cltype9 >= var_tkwredefnode5->type->table_size) {
4209 var8 = 0;
4210 } else {
4211 var8 = var_tkwredefnode5->type->type_table[cltype9] == idtype10;
4212 }
4213 }
4214 if (!var8) {
4215 fprintf(stderr, "Runtime error: %s", "Assert failed");
4216 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17347);
4217 show_backtrace(1);
4218 }
4219 var_pvisibilitynode6 = var_nodearraylist3;
4220 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4221 cltype12 = type_nullable_parser_nodes__AVisibility.color;
4222 idtype13 = type_nullable_parser_nodes__AVisibility.id;
4223 if(var_pvisibilitynode6 == NULL) {
4224 var11 = 1;
4225 } else {
4226 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
4227 var11 = 0;
4228 } else {
4229 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
4230 }
4231 }
4232 if (!var11) {
4233 fprintf(stderr, "Runtime error: %s", "Assert failed");
4234 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17349);
4235 show_backtrace(1);
4236 }
4237 var_tkwvarnode7 = var_nodearraylist4;
4238 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4239 cltype15 = type_nullable_parser_nodes__TKwvar.color;
4240 idtype16 = type_nullable_parser_nodes__TKwvar.id;
4241 if(var_tkwvarnode7 == NULL) {
4242 var14 = 1;
4243 } else {
4244 if(cltype15 >= var_tkwvarnode7->type->table_size) {
4245 var14 = 0;
4246 } else {
4247 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
4248 }
4249 }
4250 if (!var14) {
4251 fprintf(stderr, "Runtime error: %s", "Assert failed");
4252 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17351);
4253 show_backtrace(1);
4254 }
4255 var_tattridnode8 = var_nodearraylist5;
4256 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
4257 cltype18 = type_nullable_parser_nodes__TAttrid.color;
4258 idtype19 = type_nullable_parser_nodes__TAttrid.id;
4259 if(var_tattridnode8 == NULL) {
4260 var17 = 1;
4261 } else {
4262 if(cltype18 >= var_tattridnode8->type->table_size) {
4263 var17 = 0;
4264 } else {
4265 var17 = var_tattridnode8->type->type_table[cltype18] == idtype19;
4266 }
4267 }
4268 if (!var17) {
4269 fprintf(stderr, "Runtime error: %s", "Assert failed");
4270 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17353);
4271 show_backtrace(1);
4272 }
4273 var_ptypenode10 = var_nodearraylist6;
4274 /* <var_ptypenode10:nullable Object> isa nullable AType */
4275 cltype21 = type_nullable_parser_nodes__AType.color;
4276 idtype22 = type_nullable_parser_nodes__AType.id;
4277 if(var_ptypenode10 == NULL) {
4278 var20 = 1;
4279 } else {
4280 if(cltype21 >= var_ptypenode10->type->table_size) {
4281 var20 = 0;
4282 } else {
4283 var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
4284 }
4285 }
4286 if (!var20) {
4287 fprintf(stderr, "Runtime error: %s", "Assert failed");
4288 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17355);
4289 show_backtrace(1);
4290 }
4291 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4292 var24 = NULL;
4293 var25 = NULL;
4294 var26 = NULL;
4295 var27 = NULL;
4296 var28 = NULL;
4297 ((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>*/;
4298 var_ppropdefnode1 = var23;
4299 var_node_list = var_ppropdefnode1;
4300 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction390> */
4301 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
4302 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
4303 RET_LABEL:;
4304 }
4305 /* method parser#ReduceAction390#action for (self: Object, Parser) */
4306 void VIRTUAL_parser__ReduceAction390__action(val* self, val* p0) {
4307 parser__ReduceAction390__action(self, p0);
4308 RET_LABEL:;
4309 }
4310 /* method parser#ReduceAction391#action for (self: ReduceAction391, Parser) */
4311 void parser__ReduceAction391__action(val* self, val* p0) {
4312 val* var_p /* var p: Parser */;
4313 val* var /* : null */;
4314 val* var_node_list /* var node_list: nullable Object */;
4315 val* var1 /* : nullable Object */;
4316 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4317 val* var2 /* : nullable Object */;
4318 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4319 val* var3 /* : nullable Object */;
4320 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4321 val* var4 /* : nullable Object */;
4322 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4323 val* var5 /* : nullable Object */;
4324 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4325 val* var6 /* : nullable Object */;
4326 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4327 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4328 short int var7 /* : Bool */;
4329 int cltype;
4330 int idtype;
4331 val* var_pablenode3 /* var pablenode3: nullable Object */;
4332 short int var8 /* : Bool */;
4333 int cltype9;
4334 int idtype10;
4335 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4336 short int var11 /* : Bool */;
4337 int cltype12;
4338 int idtype13;
4339 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4340 short int var14 /* : Bool */;
4341 int cltype15;
4342 int idtype16;
4343 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
4344 short int var17 /* : Bool */;
4345 int cltype18;
4346 int idtype19;
4347 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
4348 short int var20 /* : Bool */;
4349 int cltype21;
4350 int idtype22;
4351 val* var23 /* : AAttrPropdef */;
4352 val* var24 /* : null */;
4353 val* var25 /* : null */;
4354 val* var26 /* : null */;
4355 val* var27 /* : null */;
4356 val* var28 /* : null */;
4357 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4358 long var29 /* : Int */;
4359 long var30 /* : Int */;
4360 var_p = p0;
4361 var = NULL;
4362 var_node_list = var;
4363 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4364 var_nodearraylist6 = var1;
4365 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4366 var_nodearraylist5 = var2;
4367 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4368 var_nodearraylist4 = var3;
4369 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4370 var_nodearraylist3 = var4;
4371 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4372 var_nodearraylist2 = var5;
4373 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4374 var_nodearraylist1 = var6;
4375 var_pdocnode2 = var_nodearraylist1;
4376 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4377 cltype = type_nullable_parser_nodes__ADoc.color;
4378 idtype = type_nullable_parser_nodes__ADoc.id;
4379 if(var_pdocnode2 == NULL) {
4380 var7 = 1;
4381 } else {
4382 if(cltype >= var_pdocnode2->type->table_size) {
4383 var7 = 0;
4384 } else {
4385 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
4386 }
4387 }
4388 if (!var7) {
4389 fprintf(stderr, "Runtime error: %s", "Assert failed");
4390 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17385);
4391 show_backtrace(1);
4392 }
4393 var_pablenode3 = var_nodearraylist2;
4394 /* <var_pablenode3:nullable Object> isa nullable AAble */
4395 cltype9 = type_nullable_parser_nodes__AAble.color;
4396 idtype10 = type_nullable_parser_nodes__AAble.id;
4397 if(var_pablenode3 == NULL) {
4398 var8 = 1;
4399 } else {
4400 if(cltype9 >= var_pablenode3->type->table_size) {
4401 var8 = 0;
4402 } else {
4403 var8 = var_pablenode3->type->type_table[cltype9] == idtype10;
4404 }
4405 }
4406 if (!var8) {
4407 fprintf(stderr, "Runtime error: %s", "Assert failed");
4408 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17387);
4409 show_backtrace(1);
4410 }
4411 var_pvisibilitynode6 = var_nodearraylist3;
4412 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4413 cltype12 = type_nullable_parser_nodes__AVisibility.color;
4414 idtype13 = type_nullable_parser_nodes__AVisibility.id;
4415 if(var_pvisibilitynode6 == NULL) {
4416 var11 = 1;
4417 } else {
4418 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
4419 var11 = 0;
4420 } else {
4421 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
4422 }
4423 }
4424 if (!var11) {
4425 fprintf(stderr, "Runtime error: %s", "Assert failed");
4426 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17389);
4427 show_backtrace(1);
4428 }
4429 var_tkwvarnode7 = var_nodearraylist4;
4430 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4431 cltype15 = type_nullable_parser_nodes__TKwvar.color;
4432 idtype16 = type_nullable_parser_nodes__TKwvar.id;
4433 if(var_tkwvarnode7 == NULL) {
4434 var14 = 1;
4435 } else {
4436 if(cltype15 >= var_tkwvarnode7->type->table_size) {
4437 var14 = 0;
4438 } else {
4439 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
4440 }
4441 }
4442 if (!var14) {
4443 fprintf(stderr, "Runtime error: %s", "Assert failed");
4444 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17391);
4445 show_backtrace(1);
4446 }
4447 var_tattridnode8 = var_nodearraylist5;
4448 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
4449 cltype18 = type_nullable_parser_nodes__TAttrid.color;
4450 idtype19 = type_nullable_parser_nodes__TAttrid.id;
4451 if(var_tattridnode8 == NULL) {
4452 var17 = 1;
4453 } else {
4454 if(cltype18 >= var_tattridnode8->type->table_size) {
4455 var17 = 0;
4456 } else {
4457 var17 = var_tattridnode8->type->type_table[cltype18] == idtype19;
4458 }
4459 }
4460 if (!var17) {
4461 fprintf(stderr, "Runtime error: %s", "Assert failed");
4462 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17393);
4463 show_backtrace(1);
4464 }
4465 var_ptypenode10 = var_nodearraylist6;
4466 /* <var_ptypenode10:nullable Object> isa nullable AType */
4467 cltype21 = type_nullable_parser_nodes__AType.color;
4468 idtype22 = type_nullable_parser_nodes__AType.id;
4469 if(var_ptypenode10 == NULL) {
4470 var20 = 1;
4471 } else {
4472 if(cltype21 >= var_ptypenode10->type->table_size) {
4473 var20 = 0;
4474 } else {
4475 var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
4476 }
4477 }
4478 if (!var20) {
4479 fprintf(stderr, "Runtime error: %s", "Assert failed");
4480 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17395);
4481 show_backtrace(1);
4482 }
4483 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4484 var24 = NULL;
4485 var25 = NULL;
4486 var26 = NULL;
4487 var27 = NULL;
4488 var28 = NULL;
4489 ((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>*/;
4490 var_ppropdefnode1 = var23;
4491 var_node_list = var_ppropdefnode1;
4492 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction391> */
4493 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
4494 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
4495 RET_LABEL:;
4496 }
4497 /* method parser#ReduceAction391#action for (self: Object, Parser) */
4498 void VIRTUAL_parser__ReduceAction391__action(val* self, val* p0) {
4499 parser__ReduceAction391__action(self, p0);
4500 RET_LABEL:;
4501 }
4502 /* method parser#ReduceAction392#action for (self: ReduceAction392, Parser) */
4503 void parser__ReduceAction392__action(val* self, val* p0) {
4504 val* var_p /* var p: Parser */;
4505 val* var /* : null */;
4506 val* var_node_list /* var node_list: nullable Object */;
4507 val* var1 /* : nullable Object */;
4508 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4509 val* var2 /* : nullable Object */;
4510 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4511 val* var3 /* : nullable Object */;
4512 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4513 val* var4 /* : nullable Object */;
4514 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4515 val* var5 /* : nullable Object */;
4516 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4517 val* var6 /* : nullable Object */;
4518 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4519 val* var7 /* : nullable Object */;
4520 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4521 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4522 short int var8 /* : Bool */;
4523 int cltype;
4524 int idtype;
4525 val* var_pablenode3 /* var pablenode3: nullable Object */;
4526 short int var9 /* : Bool */;
4527 int cltype10;
4528 int idtype11;
4529 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
4530 short int var12 /* : Bool */;
4531 int cltype13;
4532 int idtype14;
4533 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4534 short int var15 /* : Bool */;
4535 int cltype16;
4536 int idtype17;
4537 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4538 short int var18 /* : Bool */;
4539 int cltype19;
4540 int idtype20;
4541 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
4542 short int var21 /* : Bool */;
4543 int cltype22;
4544 int idtype23;
4545 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
4546 short int var24 /* : Bool */;
4547 int cltype25;
4548 int idtype26;
4549 val* var27 /* : AAttrPropdef */;
4550 val* var28 /* : null */;
4551 val* var29 /* : null */;
4552 val* var30 /* : null */;
4553 val* var31 /* : null */;
4554 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4555 long var32 /* : Int */;
4556 long var33 /* : Int */;
4557 var_p = p0;
4558 var = NULL;
4559 var_node_list = var;
4560 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4561 var_nodearraylist7 = var1;
4562 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4563 var_nodearraylist6 = var2;
4564 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4565 var_nodearraylist5 = var3;
4566 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4567 var_nodearraylist4 = var4;
4568 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4569 var_nodearraylist3 = var5;
4570 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4571 var_nodearraylist2 = var6;
4572 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4573 var_nodearraylist1 = var7;
4574 var_pdocnode2 = var_nodearraylist1;
4575 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4576 cltype = type_nullable_parser_nodes__ADoc.color;
4577 idtype = type_nullable_parser_nodes__ADoc.id;
4578 if(var_pdocnode2 == NULL) {
4579 var8 = 1;
4580 } else {
4581 if(cltype >= var_pdocnode2->type->table_size) {
4582 var8 = 0;
4583 } else {
4584 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
4585 }
4586 }
4587 if (!var8) {
4588 fprintf(stderr, "Runtime error: %s", "Assert failed");
4589 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17426);
4590 show_backtrace(1);
4591 }
4592 var_pablenode3 = var_nodearraylist2;
4593 /* <var_pablenode3:nullable Object> isa nullable AAble */
4594 cltype10 = type_nullable_parser_nodes__AAble.color;
4595 idtype11 = type_nullable_parser_nodes__AAble.id;
4596 if(var_pablenode3 == NULL) {
4597 var9 = 1;
4598 } else {
4599 if(cltype10 >= var_pablenode3->type->table_size) {
4600 var9 = 0;
4601 } else {
4602 var9 = var_pablenode3->type->type_table[cltype10] == idtype11;
4603 }
4604 }
4605 if (!var9) {
4606 fprintf(stderr, "Runtime error: %s", "Assert failed");
4607 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17428);
4608 show_backtrace(1);
4609 }
4610 var_tkwredefnode5 = var_nodearraylist3;
4611 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
4612 cltype13 = type_nullable_parser_nodes__TKwredef.color;
4613 idtype14 = type_nullable_parser_nodes__TKwredef.id;
4614 if(var_tkwredefnode5 == NULL) {
4615 var12 = 1;
4616 } else {
4617 if(cltype13 >= var_tkwredefnode5->type->table_size) {
4618 var12 = 0;
4619 } else {
4620 var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
4621 }
4622 }
4623 if (!var12) {
4624 fprintf(stderr, "Runtime error: %s", "Assert failed");
4625 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17430);
4626 show_backtrace(1);
4627 }
4628 var_pvisibilitynode6 = var_nodearraylist4;
4629 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4630 cltype16 = type_nullable_parser_nodes__AVisibility.color;
4631 idtype17 = type_nullable_parser_nodes__AVisibility.id;
4632 if(var_pvisibilitynode6 == NULL) {
4633 var15 = 1;
4634 } else {
4635 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
4636 var15 = 0;
4637 } else {
4638 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
4639 }
4640 }
4641 if (!var15) {
4642 fprintf(stderr, "Runtime error: %s", "Assert failed");
4643 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17432);
4644 show_backtrace(1);
4645 }
4646 var_tkwvarnode7 = var_nodearraylist5;
4647 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4648 cltype19 = type_nullable_parser_nodes__TKwvar.color;
4649 idtype20 = type_nullable_parser_nodes__TKwvar.id;
4650 if(var_tkwvarnode7 == NULL) {
4651 var18 = 1;
4652 } else {
4653 if(cltype19 >= var_tkwvarnode7->type->table_size) {
4654 var18 = 0;
4655 } else {
4656 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
4657 }
4658 }
4659 if (!var18) {
4660 fprintf(stderr, "Runtime error: %s", "Assert failed");
4661 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17434);
4662 show_backtrace(1);
4663 }
4664 var_tattridnode8 = var_nodearraylist6;
4665 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
4666 cltype22 = type_nullable_parser_nodes__TAttrid.color;
4667 idtype23 = type_nullable_parser_nodes__TAttrid.id;
4668 if(var_tattridnode8 == NULL) {
4669 var21 = 1;
4670 } else {
4671 if(cltype22 >= var_tattridnode8->type->table_size) {
4672 var21 = 0;
4673 } else {
4674 var21 = var_tattridnode8->type->type_table[cltype22] == idtype23;
4675 }
4676 }
4677 if (!var21) {
4678 fprintf(stderr, "Runtime error: %s", "Assert failed");
4679 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17436);
4680 show_backtrace(1);
4681 }
4682 var_ptypenode10 = var_nodearraylist7;
4683 /* <var_ptypenode10:nullable Object> isa nullable AType */
4684 cltype25 = type_nullable_parser_nodes__AType.color;
4685 idtype26 = type_nullable_parser_nodes__AType.id;
4686 if(var_ptypenode10 == NULL) {
4687 var24 = 1;
4688 } else {
4689 if(cltype25 >= var_ptypenode10->type->table_size) {
4690 var24 = 0;
4691 } else {
4692 var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
4693 }
4694 }
4695 if (!var24) {
4696 fprintf(stderr, "Runtime error: %s", "Assert failed");
4697 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17438);
4698 show_backtrace(1);
4699 }
4700 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4701 var28 = NULL;
4702 var29 = NULL;
4703 var30 = NULL;
4704 var31 = NULL;
4705 ((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>*/;
4706 var_ppropdefnode1 = var27;
4707 var_node_list = var_ppropdefnode1;
4708 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction392> */
4709 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
4710 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
4711 RET_LABEL:;
4712 }
4713 /* method parser#ReduceAction392#action for (self: Object, Parser) */
4714 void VIRTUAL_parser__ReduceAction392__action(val* self, val* p0) {
4715 parser__ReduceAction392__action(self, p0);
4716 RET_LABEL:;
4717 }
4718 /* method parser#ReduceAction393#action for (self: ReduceAction393, Parser) */
4719 void parser__ReduceAction393__action(val* self, val* p0) {
4720 val* var_p /* var p: Parser */;
4721 val* var /* : null */;
4722 val* var_node_list /* var node_list: nullable Object */;
4723 val* var1 /* : nullable Object */;
4724 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4725 val* var2 /* : nullable Object */;
4726 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4727 val* var3 /* : nullable Object */;
4728 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4729 val* var4 /* : nullable Object */;
4730 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4731 val* var5 /* : nullable Object */;
4732 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4733 val* var6 /* : nullable Object */;
4734 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4735 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4736 short int var7 /* : Bool */;
4737 int cltype;
4738 int idtype;
4739 val* var_pablenode4 /* var pablenode4: nullable Object */;
4740 short int var8 /* : Bool */;
4741 int cltype9;
4742 int idtype10;
4743 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4744 short int var11 /* : Bool */;
4745 int cltype12;
4746 int idtype13;
4747 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4748 short int var14 /* : Bool */;
4749 int cltype15;
4750 int idtype16;
4751 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
4752 short int var17 /* : Bool */;
4753 int cltype18;
4754 int idtype19;
4755 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
4756 short int var20 /* : Bool */;
4757 int cltype21;
4758 int idtype22;
4759 val* var23 /* : AAttrPropdef */;
4760 val* var24 /* : null */;
4761 val* var25 /* : null */;
4762 val* var26 /* : null */;
4763 val* var27 /* : null */;
4764 val* var28 /* : null */;
4765 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4766 long var29 /* : Int */;
4767 long var30 /* : Int */;
4768 var_p = p0;
4769 var = NULL;
4770 var_node_list = var;
4771 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4772 var_nodearraylist6 = var1;
4773 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4774 var_nodearraylist5 = var2;
4775 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4776 var_nodearraylist4 = var3;
4777 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4778 var_nodearraylist3 = var4;
4779 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4780 var_nodearraylist2 = var5;
4781 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4782 var_nodearraylist1 = var6;
4783 var_pdocnode2 = var_nodearraylist1;
4784 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4785 cltype = type_nullable_parser_nodes__ADoc.color;
4786 idtype = type_nullable_parser_nodes__ADoc.id;
4787 if(var_pdocnode2 == NULL) {
4788 var7 = 1;
4789 } else {
4790 if(cltype >= var_pdocnode2->type->table_size) {
4791 var7 = 0;
4792 } else {
4793 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
4794 }
4795 }
4796 if (!var7) {
4797 fprintf(stderr, "Runtime error: %s", "Assert failed");
4798 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17468);
4799 show_backtrace(1);
4800 }
4801 var_pablenode4 = var_nodearraylist2;
4802 /* <var_pablenode4:nullable Object> isa nullable AAble */
4803 cltype9 = type_nullable_parser_nodes__AAble.color;
4804 idtype10 = type_nullable_parser_nodes__AAble.id;
4805 if(var_pablenode4 == NULL) {
4806 var8 = 1;
4807 } else {
4808 if(cltype9 >= var_pablenode4->type->table_size) {
4809 var8 = 0;
4810 } else {
4811 var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
4812 }
4813 }
4814 if (!var8) {
4815 fprintf(stderr, "Runtime error: %s", "Assert failed");
4816 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17470);
4817 show_backtrace(1);
4818 }
4819 var_pvisibilitynode6 = var_nodearraylist3;
4820 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4821 cltype12 = type_nullable_parser_nodes__AVisibility.color;
4822 idtype13 = type_nullable_parser_nodes__AVisibility.id;
4823 if(var_pvisibilitynode6 == NULL) {
4824 var11 = 1;
4825 } else {
4826 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
4827 var11 = 0;
4828 } else {
4829 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
4830 }
4831 }
4832 if (!var11) {
4833 fprintf(stderr, "Runtime error: %s", "Assert failed");
4834 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17472);
4835 show_backtrace(1);
4836 }
4837 var_tkwvarnode7 = var_nodearraylist4;
4838 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4839 cltype15 = type_nullable_parser_nodes__TKwvar.color;
4840 idtype16 = type_nullable_parser_nodes__TKwvar.id;
4841 if(var_tkwvarnode7 == NULL) {
4842 var14 = 1;
4843 } else {
4844 if(cltype15 >= var_tkwvarnode7->type->table_size) {
4845 var14 = 0;
4846 } else {
4847 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
4848 }
4849 }
4850 if (!var14) {
4851 fprintf(stderr, "Runtime error: %s", "Assert failed");
4852 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17474);
4853 show_backtrace(1);
4854 }
4855 var_tattridnode8 = var_nodearraylist5;
4856 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
4857 cltype18 = type_nullable_parser_nodes__TAttrid.color;
4858 idtype19 = type_nullable_parser_nodes__TAttrid.id;
4859 if(var_tattridnode8 == NULL) {
4860 var17 = 1;
4861 } else {
4862 if(cltype18 >= var_tattridnode8->type->table_size) {
4863 var17 = 0;
4864 } else {
4865 var17 = var_tattridnode8->type->type_table[cltype18] == idtype19;
4866 }
4867 }
4868 if (!var17) {
4869 fprintf(stderr, "Runtime error: %s", "Assert failed");
4870 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17476);
4871 show_backtrace(1);
4872 }
4873 var_ptypenode10 = var_nodearraylist6;
4874 /* <var_ptypenode10:nullable Object> isa nullable AType */
4875 cltype21 = type_nullable_parser_nodes__AType.color;
4876 idtype22 = type_nullable_parser_nodes__AType.id;
4877 if(var_ptypenode10 == NULL) {
4878 var20 = 1;
4879 } else {
4880 if(cltype21 >= var_ptypenode10->type->table_size) {
4881 var20 = 0;
4882 } else {
4883 var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
4884 }
4885 }
4886 if (!var20) {
4887 fprintf(stderr, "Runtime error: %s", "Assert failed");
4888 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17478);
4889 show_backtrace(1);
4890 }
4891 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4892 var24 = NULL;
4893 var25 = NULL;
4894 var26 = NULL;
4895 var27 = NULL;
4896 var28 = NULL;
4897 ((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>*/;
4898 var_ppropdefnode1 = var23;
4899 var_node_list = var_ppropdefnode1;
4900 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction393> */
4901 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
4902 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
4903 RET_LABEL:;
4904 }
4905 /* method parser#ReduceAction393#action for (self: Object, Parser) */
4906 void VIRTUAL_parser__ReduceAction393__action(val* self, val* p0) {
4907 parser__ReduceAction393__action(self, p0);
4908 RET_LABEL:;
4909 }
4910 /* method parser#ReduceAction394#action for (self: ReduceAction394, Parser) */
4911 void parser__ReduceAction394__action(val* self, val* p0) {
4912 val* var_p /* var p: Parser */;
4913 val* var /* : null */;
4914 val* var_node_list /* var node_list: nullable Object */;
4915 val* var1 /* : nullable Object */;
4916 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4917 val* var2 /* : nullable Object */;
4918 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4919 val* var3 /* : nullable Object */;
4920 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4921 val* var4 /* : nullable Object */;
4922 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4923 val* var5 /* : nullable Object */;
4924 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4925 val* var6 /* : nullable Object */;
4926 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4927 val* var7 /* : nullable Object */;
4928 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4929 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4930 short int var8 /* : Bool */;
4931 int cltype;
4932 int idtype;
4933 val* var_pablenode4 /* var pablenode4: nullable Object */;
4934 short int var9 /* : Bool */;
4935 int cltype10;
4936 int idtype11;
4937 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
4938 short int var12 /* : Bool */;
4939 int cltype13;
4940 int idtype14;
4941 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4942 short int var15 /* : Bool */;
4943 int cltype16;
4944 int idtype17;
4945 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4946 short int var18 /* : Bool */;
4947 int cltype19;
4948 int idtype20;
4949 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
4950 short int var21 /* : Bool */;
4951 int cltype22;
4952 int idtype23;
4953 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
4954 short int var24 /* : Bool */;
4955 int cltype25;
4956 int idtype26;
4957 val* var27 /* : AAttrPropdef */;
4958 val* var28 /* : null */;
4959 val* var29 /* : null */;
4960 val* var30 /* : null */;
4961 val* var31 /* : null */;
4962 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4963 long var32 /* : Int */;
4964 long var33 /* : Int */;
4965 var_p = p0;
4966 var = NULL;
4967 var_node_list = var;
4968 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4969 var_nodearraylist7 = var1;
4970 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4971 var_nodearraylist6 = var2;
4972 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4973 var_nodearraylist5 = var3;
4974 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4975 var_nodearraylist4 = var4;
4976 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4977 var_nodearraylist3 = var5;
4978 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4979 var_nodearraylist2 = var6;
4980 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4981 var_nodearraylist1 = var7;
4982 var_pdocnode2 = var_nodearraylist1;
4983 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4984 cltype = type_nullable_parser_nodes__ADoc.color;
4985 idtype = type_nullable_parser_nodes__ADoc.id;
4986 if(var_pdocnode2 == NULL) {
4987 var8 = 1;
4988 } else {
4989 if(cltype >= var_pdocnode2->type->table_size) {
4990 var8 = 0;
4991 } else {
4992 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
4993 }
4994 }
4995 if (!var8) {
4996 fprintf(stderr, "Runtime error: %s", "Assert failed");
4997 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17509);
4998 show_backtrace(1);
4999 }
5000 var_pablenode4 = var_nodearraylist2;
5001 /* <var_pablenode4:nullable Object> isa nullable AAble */
5002 cltype10 = type_nullable_parser_nodes__AAble.color;
5003 idtype11 = type_nullable_parser_nodes__AAble.id;
5004 if(var_pablenode4 == NULL) {
5005 var9 = 1;
5006 } else {
5007 if(cltype10 >= var_pablenode4->type->table_size) {
5008 var9 = 0;
5009 } else {
5010 var9 = var_pablenode4->type->type_table[cltype10] == idtype11;
5011 }
5012 }
5013 if (!var9) {
5014 fprintf(stderr, "Runtime error: %s", "Assert failed");
5015 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17511);
5016 show_backtrace(1);
5017 }
5018 var_tkwredefnode5 = var_nodearraylist3;
5019 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
5020 cltype13 = type_nullable_parser_nodes__TKwredef.color;
5021 idtype14 = type_nullable_parser_nodes__TKwredef.id;
5022 if(var_tkwredefnode5 == NULL) {
5023 var12 = 1;
5024 } else {
5025 if(cltype13 >= var_tkwredefnode5->type->table_size) {
5026 var12 = 0;
5027 } else {
5028 var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
5029 }
5030 }
5031 if (!var12) {
5032 fprintf(stderr, "Runtime error: %s", "Assert failed");
5033 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17513);
5034 show_backtrace(1);
5035 }
5036 var_pvisibilitynode6 = var_nodearraylist4;
5037 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5038 cltype16 = type_nullable_parser_nodes__AVisibility.color;
5039 idtype17 = type_nullable_parser_nodes__AVisibility.id;
5040 if(var_pvisibilitynode6 == NULL) {
5041 var15 = 1;
5042 } else {
5043 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
5044 var15 = 0;
5045 } else {
5046 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
5047 }
5048 }
5049 if (!var15) {
5050 fprintf(stderr, "Runtime error: %s", "Assert failed");
5051 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17515);
5052 show_backtrace(1);
5053 }
5054 var_tkwvarnode7 = var_nodearraylist5;
5055 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5056 cltype19 = type_nullable_parser_nodes__TKwvar.color;
5057 idtype20 = type_nullable_parser_nodes__TKwvar.id;
5058 if(var_tkwvarnode7 == NULL) {
5059 var18 = 1;
5060 } else {
5061 if(cltype19 >= var_tkwvarnode7->type->table_size) {
5062 var18 = 0;
5063 } else {
5064 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
5065 }
5066 }
5067 if (!var18) {
5068 fprintf(stderr, "Runtime error: %s", "Assert failed");
5069 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17517);
5070 show_backtrace(1);
5071 }
5072 var_tattridnode8 = var_nodearraylist6;
5073 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
5074 cltype22 = type_nullable_parser_nodes__TAttrid.color;
5075 idtype23 = type_nullable_parser_nodes__TAttrid.id;
5076 if(var_tattridnode8 == NULL) {
5077 var21 = 1;
5078 } else {
5079 if(cltype22 >= var_tattridnode8->type->table_size) {
5080 var21 = 0;
5081 } else {
5082 var21 = var_tattridnode8->type->type_table[cltype22] == idtype23;
5083 }
5084 }
5085 if (!var21) {
5086 fprintf(stderr, "Runtime error: %s", "Assert failed");
5087 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17519);
5088 show_backtrace(1);
5089 }
5090 var_ptypenode10 = var_nodearraylist7;
5091 /* <var_ptypenode10:nullable Object> isa nullable AType */
5092 cltype25 = type_nullable_parser_nodes__AType.color;
5093 idtype26 = type_nullable_parser_nodes__AType.id;
5094 if(var_ptypenode10 == NULL) {
5095 var24 = 1;
5096 } else {
5097 if(cltype25 >= var_ptypenode10->type->table_size) {
5098 var24 = 0;
5099 } else {
5100 var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
5101 }
5102 }
5103 if (!var24) {
5104 fprintf(stderr, "Runtime error: %s", "Assert failed");
5105 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17521);
5106 show_backtrace(1);
5107 }
5108 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5109 var28 = NULL;
5110 var29 = NULL;
5111 var30 = NULL;
5112 var31 = NULL;
5113 ((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>*/;
5114 var_ppropdefnode1 = var27;
5115 var_node_list = var_ppropdefnode1;
5116 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction394> */
5117 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
5118 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
5119 RET_LABEL:;
5120 }
5121 /* method parser#ReduceAction394#action for (self: Object, Parser) */
5122 void VIRTUAL_parser__ReduceAction394__action(val* self, val* p0) {
5123 parser__ReduceAction394__action(self, p0);
5124 RET_LABEL:;
5125 }
5126 /* method parser#ReduceAction395#action for (self: ReduceAction395, Parser) */
5127 void parser__ReduceAction395__action(val* self, val* p0) {
5128 val* var_p /* var p: Parser */;
5129 val* var /* : null */;
5130 val* var_node_list /* var node_list: nullable Object */;
5131 val* var1 /* : nullable Object */;
5132 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5133 val* var2 /* : nullable Object */;
5134 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5135 val* var3 /* : nullable Object */;
5136 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5137 val* var4 /* : nullable Object */;
5138 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5139 val* var5 /* : nullable Object */;
5140 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5141 val* var6 /* : nullable Object */;
5142 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5143 val* var7 /* : nullable Object */;
5144 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5145 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5146 short int var8 /* : Bool */;
5147 int cltype;
5148 int idtype;
5149 val* var_pablenode3 /* var pablenode3: nullable Object */;
5150 short int var9 /* : Bool */;
5151 int cltype10;
5152 int idtype11;
5153 val* var_pablenode4 /* var pablenode4: nullable Object */;
5154 short int var12 /* : Bool */;
5155 int cltype13;
5156 int idtype14;
5157 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5158 short int var15 /* : Bool */;
5159 int cltype16;
5160 int idtype17;
5161 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5162 short int var18 /* : Bool */;
5163 int cltype19;
5164 int idtype20;
5165 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
5166 short int var21 /* : Bool */;
5167 int cltype22;
5168 int idtype23;
5169 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
5170 short int var24 /* : Bool */;
5171 int cltype25;
5172 int idtype26;
5173 val* var27 /* : AAttrPropdef */;
5174 val* var28 /* : null */;
5175 val* var29 /* : null */;
5176 val* var30 /* : null */;
5177 val* var31 /* : null */;
5178 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5179 long var32 /* : Int */;
5180 long var33 /* : Int */;
5181 var_p = p0;
5182 var = NULL;
5183 var_node_list = var;
5184 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5185 var_nodearraylist7 = var1;
5186 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5187 var_nodearraylist6 = var2;
5188 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5189 var_nodearraylist5 = var3;
5190 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5191 var_nodearraylist4 = var4;
5192 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5193 var_nodearraylist3 = var5;
5194 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5195 var_nodearraylist2 = var6;
5196 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5197 var_nodearraylist1 = var7;
5198 var_pdocnode2 = var_nodearraylist1;
5199 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5200 cltype = type_nullable_parser_nodes__ADoc.color;
5201 idtype = type_nullable_parser_nodes__ADoc.id;
5202 if(var_pdocnode2 == NULL) {
5203 var8 = 1;
5204 } else {
5205 if(cltype >= var_pdocnode2->type->table_size) {
5206 var8 = 0;
5207 } else {
5208 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
5209 }
5210 }
5211 if (!var8) {
5212 fprintf(stderr, "Runtime error: %s", "Assert failed");
5213 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17552);
5214 show_backtrace(1);
5215 }
5216 var_pablenode3 = var_nodearraylist2;
5217 /* <var_pablenode3:nullable Object> isa nullable AAble */
5218 cltype10 = type_nullable_parser_nodes__AAble.color;
5219 idtype11 = type_nullable_parser_nodes__AAble.id;
5220 if(var_pablenode3 == NULL) {
5221 var9 = 1;
5222 } else {
5223 if(cltype10 >= var_pablenode3->type->table_size) {
5224 var9 = 0;
5225 } else {
5226 var9 = var_pablenode3->type->type_table[cltype10] == idtype11;
5227 }
5228 }
5229 if (!var9) {
5230 fprintf(stderr, "Runtime error: %s", "Assert failed");
5231 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17554);
5232 show_backtrace(1);
5233 }
5234 var_pablenode4 = var_nodearraylist3;
5235 /* <var_pablenode4:nullable Object> isa nullable AAble */
5236 cltype13 = type_nullable_parser_nodes__AAble.color;
5237 idtype14 = type_nullable_parser_nodes__AAble.id;
5238 if(var_pablenode4 == NULL) {
5239 var12 = 1;
5240 } else {
5241 if(cltype13 >= var_pablenode4->type->table_size) {
5242 var12 = 0;
5243 } else {
5244 var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
5245 }
5246 }
5247 if (!var12) {
5248 fprintf(stderr, "Runtime error: %s", "Assert failed");
5249 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17556);
5250 show_backtrace(1);
5251 }
5252 var_pvisibilitynode6 = var_nodearraylist4;
5253 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5254 cltype16 = type_nullable_parser_nodes__AVisibility.color;
5255 idtype17 = type_nullable_parser_nodes__AVisibility.id;
5256 if(var_pvisibilitynode6 == NULL) {
5257 var15 = 1;
5258 } else {
5259 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
5260 var15 = 0;
5261 } else {
5262 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
5263 }
5264 }
5265 if (!var15) {
5266 fprintf(stderr, "Runtime error: %s", "Assert failed");
5267 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17558);
5268 show_backtrace(1);
5269 }
5270 var_tkwvarnode7 = var_nodearraylist5;
5271 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5272 cltype19 = type_nullable_parser_nodes__TKwvar.color;
5273 idtype20 = type_nullable_parser_nodes__TKwvar.id;
5274 if(var_tkwvarnode7 == NULL) {
5275 var18 = 1;
5276 } else {
5277 if(cltype19 >= var_tkwvarnode7->type->table_size) {
5278 var18 = 0;
5279 } else {
5280 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
5281 }
5282 }
5283 if (!var18) {
5284 fprintf(stderr, "Runtime error: %s", "Assert failed");
5285 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17560);
5286 show_backtrace(1);
5287 }
5288 var_tattridnode8 = var_nodearraylist6;
5289 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
5290 cltype22 = type_nullable_parser_nodes__TAttrid.color;
5291 idtype23 = type_nullable_parser_nodes__TAttrid.id;
5292 if(var_tattridnode8 == NULL) {
5293 var21 = 1;
5294 } else {
5295 if(cltype22 >= var_tattridnode8->type->table_size) {
5296 var21 = 0;
5297 } else {
5298 var21 = var_tattridnode8->type->type_table[cltype22] == idtype23;
5299 }
5300 }
5301 if (!var21) {
5302 fprintf(stderr, "Runtime error: %s", "Assert failed");
5303 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17562);
5304 show_backtrace(1);
5305 }
5306 var_ptypenode10 = var_nodearraylist7;
5307 /* <var_ptypenode10:nullable Object> isa nullable AType */
5308 cltype25 = type_nullable_parser_nodes__AType.color;
5309 idtype26 = type_nullable_parser_nodes__AType.id;
5310 if(var_ptypenode10 == NULL) {
5311 var24 = 1;
5312 } else {
5313 if(cltype25 >= var_ptypenode10->type->table_size) {
5314 var24 = 0;
5315 } else {
5316 var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
5317 }
5318 }
5319 if (!var24) {
5320 fprintf(stderr, "Runtime error: %s", "Assert failed");
5321 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17564);
5322 show_backtrace(1);
5323 }
5324 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5325 var28 = NULL;
5326 var29 = NULL;
5327 var30 = NULL;
5328 var31 = NULL;
5329 ((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>*/;
5330 var_ppropdefnode1 = var27;
5331 var_node_list = var_ppropdefnode1;
5332 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction395> */
5333 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
5334 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
5335 RET_LABEL:;
5336 }
5337 /* method parser#ReduceAction395#action for (self: Object, Parser) */
5338 void VIRTUAL_parser__ReduceAction395__action(val* self, val* p0) {
5339 parser__ReduceAction395__action(self, p0);
5340 RET_LABEL:;
5341 }
5342 /* method parser#ReduceAction396#action for (self: ReduceAction396, Parser) */
5343 void parser__ReduceAction396__action(val* self, val* p0) {
5344 val* var_p /* var p: Parser */;
5345 val* var /* : null */;
5346 val* var_node_list /* var node_list: nullable Object */;
5347 val* var1 /* : nullable Object */;
5348 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5349 val* var2 /* : nullable Object */;
5350 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5351 val* var3 /* : nullable Object */;
5352 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5353 val* var4 /* : nullable Object */;
5354 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5355 val* var5 /* : nullable Object */;
5356 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5357 val* var6 /* : nullable Object */;
5358 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5359 val* var7 /* : nullable Object */;
5360 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5361 val* var8 /* : nullable Object */;
5362 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5363 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5364 short int var9 /* : Bool */;
5365 int cltype;
5366 int idtype;
5367 val* var_pablenode3 /* var pablenode3: nullable Object */;
5368 short int var10 /* : Bool */;
5369 int cltype11;
5370 int idtype12;
5371 val* var_pablenode4 /* var pablenode4: nullable Object */;
5372 short int var13 /* : Bool */;
5373 int cltype14;
5374 int idtype15;
5375 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
5376 short int var16 /* : Bool */;
5377 int cltype17;
5378 int idtype18;
5379 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5380 short int var19 /* : Bool */;
5381 int cltype20;
5382 int idtype21;
5383 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5384 short int var22 /* : Bool */;
5385 int cltype23;
5386 int idtype24;
5387 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
5388 short int var25 /* : Bool */;
5389 int cltype26;
5390 int idtype27;
5391 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
5392 short int var28 /* : Bool */;
5393 int cltype29;
5394 int idtype30;
5395 val* var31 /* : AAttrPropdef */;
5396 val* var32 /* : null */;
5397 val* var33 /* : null */;
5398 val* var34 /* : null */;
5399 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5400 long var35 /* : Int */;
5401 long var36 /* : Int */;
5402 var_p = p0;
5403 var = NULL;
5404 var_node_list = var;
5405 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5406 var_nodearraylist8 = var1;
5407 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5408 var_nodearraylist7 = var2;
5409 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5410 var_nodearraylist6 = var3;
5411 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5412 var_nodearraylist5 = var4;
5413 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5414 var_nodearraylist4 = var5;
5415 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5416 var_nodearraylist3 = var6;
5417 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5418 var_nodearraylist2 = var7;
5419 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5420 var_nodearraylist1 = var8;
5421 var_pdocnode2 = var_nodearraylist1;
5422 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5423 cltype = type_nullable_parser_nodes__ADoc.color;
5424 idtype = type_nullable_parser_nodes__ADoc.id;
5425 if(var_pdocnode2 == NULL) {
5426 var9 = 1;
5427 } else {
5428 if(cltype >= var_pdocnode2->type->table_size) {
5429 var9 = 0;
5430 } else {
5431 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
5432 }
5433 }
5434 if (!var9) {
5435 fprintf(stderr, "Runtime error: %s", "Assert failed");
5436 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17596);
5437 show_backtrace(1);
5438 }
5439 var_pablenode3 = var_nodearraylist2;
5440 /* <var_pablenode3:nullable Object> isa nullable AAble */
5441 cltype11 = type_nullable_parser_nodes__AAble.color;
5442 idtype12 = type_nullable_parser_nodes__AAble.id;
5443 if(var_pablenode3 == NULL) {
5444 var10 = 1;
5445 } else {
5446 if(cltype11 >= var_pablenode3->type->table_size) {
5447 var10 = 0;
5448 } else {
5449 var10 = var_pablenode3->type->type_table[cltype11] == idtype12;
5450 }
5451 }
5452 if (!var10) {
5453 fprintf(stderr, "Runtime error: %s", "Assert failed");
5454 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17598);
5455 show_backtrace(1);
5456 }
5457 var_pablenode4 = var_nodearraylist3;
5458 /* <var_pablenode4:nullable Object> isa nullable AAble */
5459 cltype14 = type_nullable_parser_nodes__AAble.color;
5460 idtype15 = type_nullable_parser_nodes__AAble.id;
5461 if(var_pablenode4 == NULL) {
5462 var13 = 1;
5463 } else {
5464 if(cltype14 >= var_pablenode4->type->table_size) {
5465 var13 = 0;
5466 } else {
5467 var13 = var_pablenode4->type->type_table[cltype14] == idtype15;
5468 }
5469 }
5470 if (!var13) {
5471 fprintf(stderr, "Runtime error: %s", "Assert failed");
5472 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17600);
5473 show_backtrace(1);
5474 }
5475 var_tkwredefnode5 = var_nodearraylist4;
5476 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
5477 cltype17 = type_nullable_parser_nodes__TKwredef.color;
5478 idtype18 = type_nullable_parser_nodes__TKwredef.id;
5479 if(var_tkwredefnode5 == NULL) {
5480 var16 = 1;
5481 } else {
5482 if(cltype17 >= var_tkwredefnode5->type->table_size) {
5483 var16 = 0;
5484 } else {
5485 var16 = var_tkwredefnode5->type->type_table[cltype17] == idtype18;
5486 }
5487 }
5488 if (!var16) {
5489 fprintf(stderr, "Runtime error: %s", "Assert failed");
5490 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17602);
5491 show_backtrace(1);
5492 }
5493 var_pvisibilitynode6 = var_nodearraylist5;
5494 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5495 cltype20 = type_nullable_parser_nodes__AVisibility.color;
5496 idtype21 = type_nullable_parser_nodes__AVisibility.id;
5497 if(var_pvisibilitynode6 == NULL) {
5498 var19 = 1;
5499 } else {
5500 if(cltype20 >= var_pvisibilitynode6->type->table_size) {
5501 var19 = 0;
5502 } else {
5503 var19 = var_pvisibilitynode6->type->type_table[cltype20] == idtype21;
5504 }
5505 }
5506 if (!var19) {
5507 fprintf(stderr, "Runtime error: %s", "Assert failed");
5508 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17604);
5509 show_backtrace(1);
5510 }
5511 var_tkwvarnode7 = var_nodearraylist6;
5512 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5513 cltype23 = type_nullable_parser_nodes__TKwvar.color;
5514 idtype24 = type_nullable_parser_nodes__TKwvar.id;
5515 if(var_tkwvarnode7 == NULL) {
5516 var22 = 1;
5517 } else {
5518 if(cltype23 >= var_tkwvarnode7->type->table_size) {
5519 var22 = 0;
5520 } else {
5521 var22 = var_tkwvarnode7->type->type_table[cltype23] == idtype24;
5522 }
5523 }
5524 if (!var22) {
5525 fprintf(stderr, "Runtime error: %s", "Assert failed");
5526 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17606);
5527 show_backtrace(1);
5528 }
5529 var_tattridnode8 = var_nodearraylist7;
5530 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
5531 cltype26 = type_nullable_parser_nodes__TAttrid.color;
5532 idtype27 = type_nullable_parser_nodes__TAttrid.id;
5533 if(var_tattridnode8 == NULL) {
5534 var25 = 1;
5535 } else {
5536 if(cltype26 >= var_tattridnode8->type->table_size) {
5537 var25 = 0;
5538 } else {
5539 var25 = var_tattridnode8->type->type_table[cltype26] == idtype27;
5540 }
5541 }
5542 if (!var25) {
5543 fprintf(stderr, "Runtime error: %s", "Assert failed");
5544 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17608);
5545 show_backtrace(1);
5546 }
5547 var_ptypenode10 = var_nodearraylist8;
5548 /* <var_ptypenode10:nullable Object> isa nullable AType */
5549 cltype29 = type_nullable_parser_nodes__AType.color;
5550 idtype30 = type_nullable_parser_nodes__AType.id;
5551 if(var_ptypenode10 == NULL) {
5552 var28 = 1;
5553 } else {
5554 if(cltype29 >= var_ptypenode10->type->table_size) {
5555 var28 = 0;
5556 } else {
5557 var28 = var_ptypenode10->type->type_table[cltype29] == idtype30;
5558 }
5559 }
5560 if (!var28) {
5561 fprintf(stderr, "Runtime error: %s", "Assert failed");
5562 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17610);
5563 show_backtrace(1);
5564 }
5565 var31 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5566 var32 = NULL;
5567 var33 = NULL;
5568 var34 = NULL;
5569 ((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>*/;
5570 var_ppropdefnode1 = var31;
5571 var_node_list = var_ppropdefnode1;
5572 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction396> */
5573 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
5574 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
5575 RET_LABEL:;
5576 }
5577 /* method parser#ReduceAction396#action for (self: Object, Parser) */
5578 void VIRTUAL_parser__ReduceAction396__action(val* self, val* p0) {
5579 parser__ReduceAction396__action(self, p0);
5580 RET_LABEL:;
5581 }
5582 /* method parser#ReduceAction397#action for (self: ReduceAction397, Parser) */
5583 void parser__ReduceAction397__action(val* self, val* p0) {
5584 val* var_p /* var p: Parser */;
5585 val* var /* : null */;
5586 val* var_node_list /* var node_list: nullable Object */;
5587 val* var1 /* : nullable Object */;
5588 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5589 val* var2 /* : nullable Object */;
5590 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5591 val* var3 /* : nullable Object */;
5592 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5593 val* var4 /* : nullable Object */;
5594 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5595 val* var5 /* : nullable Object */;
5596 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5597 val* var6 /* : nullable Object */;
5598 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5599 val* var7 /* : nullable Object */;
5600 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5601 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5602 short int var8 /* : Bool */;
5603 int cltype;
5604 int idtype;
5605 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5606 short int var9 /* : Bool */;
5607 int cltype10;
5608 int idtype11;
5609 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5610 short int var12 /* : Bool */;
5611 int cltype13;
5612 int idtype14;
5613 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
5614 short int var15 /* : Bool */;
5615 int cltype16;
5616 int idtype17;
5617 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
5618 short int var18 /* : Bool */;
5619 int cltype19;
5620 int idtype20;
5621 val* var21 /* : AAttrPropdef */;
5622 val* var22 /* : null */;
5623 val* var23 /* : null */;
5624 val* var24 /* : null */;
5625 val* var25 /* : null */;
5626 val* var26 /* : null */;
5627 val* var27 /* : null */;
5628 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5629 long var28 /* : Int */;
5630 long var29 /* : Int */;
5631 var_p = p0;
5632 var = NULL;
5633 var_node_list = var;
5634 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5635 var_nodearraylist7 = var1;
5636 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5637 var_nodearraylist6 = var2;
5638 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5639 var_nodearraylist5 = var3;
5640 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5641 var_nodearraylist4 = var4;
5642 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5643 var_nodearraylist3 = var5;
5644 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5645 var_nodearraylist2 = var6;
5646 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5647 var_nodearraylist1 = var7;
5648 var_pdocnode2 = var_nodearraylist1;
5649 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5650 cltype = type_nullable_parser_nodes__ADoc.color;
5651 idtype = type_nullable_parser_nodes__ADoc.id;
5652 if(var_pdocnode2 == NULL) {
5653 var8 = 1;
5654 } else {
5655 if(cltype >= var_pdocnode2->type->table_size) {
5656 var8 = 0;
5657 } else {
5658 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
5659 }
5660 }
5661 if (!var8) {
5662 fprintf(stderr, "Runtime error: %s", "Assert failed");
5663 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17641);
5664 show_backtrace(1);
5665 }
5666 var_pvisibilitynode6 = var_nodearraylist2;
5667 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5668 cltype10 = type_nullable_parser_nodes__AVisibility.color;
5669 idtype11 = type_nullable_parser_nodes__AVisibility.id;
5670 if(var_pvisibilitynode6 == NULL) {
5671 var9 = 1;
5672 } else {
5673 if(cltype10 >= var_pvisibilitynode6->type->table_size) {
5674 var9 = 0;
5675 } else {
5676 var9 = var_pvisibilitynode6->type->type_table[cltype10] == idtype11;
5677 }
5678 }
5679 if (!var9) {
5680 fprintf(stderr, "Runtime error: %s", "Assert failed");
5681 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17643);
5682 show_backtrace(1);
5683 }
5684 var_tkwvarnode7 = var_nodearraylist3;
5685 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5686 cltype13 = type_nullable_parser_nodes__TKwvar.color;
5687 idtype14 = type_nullable_parser_nodes__TKwvar.id;
5688 if(var_tkwvarnode7 == NULL) {
5689 var12 = 1;
5690 } else {
5691 if(cltype13 >= var_tkwvarnode7->type->table_size) {
5692 var12 = 0;
5693 } else {
5694 var12 = var_tkwvarnode7->type->type_table[cltype13] == idtype14;
5695 }
5696 }
5697 if (!var12) {
5698 fprintf(stderr, "Runtime error: %s", "Assert failed");
5699 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17645);
5700 show_backtrace(1);
5701 }
5702 var_tattridnode8 = var_nodearraylist4;
5703 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
5704 cltype16 = type_nullable_parser_nodes__TAttrid.color;
5705 idtype17 = type_nullable_parser_nodes__TAttrid.id;
5706 if(var_tattridnode8 == NULL) {
5707 var15 = 1;
5708 } else {
5709 if(cltype16 >= var_tattridnode8->type->table_size) {
5710 var15 = 0;
5711 } else {
5712 var15 = var_tattridnode8->type->type_table[cltype16] == idtype17;
5713 }
5714 }
5715 if (!var15) {
5716 fprintf(stderr, "Runtime error: %s", "Assert failed");
5717 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17647);
5718 show_backtrace(1);
5719 }
5720 var_pexprnode12 = var_nodearraylist7;
5721 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
5722 cltype19 = type_nullable_parser_nodes__AExpr.color;
5723 idtype20 = type_nullable_parser_nodes__AExpr.id;
5724 if(var_pexprnode12 == NULL) {
5725 var18 = 1;
5726 } else {
5727 if(cltype19 >= var_pexprnode12->type->table_size) {
5728 var18 = 0;
5729 } else {
5730 var18 = var_pexprnode12->type->type_table[cltype19] == idtype20;
5731 }
5732 }
5733 if (!var18) {
5734 fprintf(stderr, "Runtime error: %s", "Assert failed");
5735 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17649);
5736 show_backtrace(1);
5737 }
5738 var21 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5739 var22 = NULL;
5740 var23 = NULL;
5741 var24 = NULL;
5742 var25 = NULL;
5743 var26 = NULL;
5744 var27 = NULL;
5745 ((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>*/;
5746 var_ppropdefnode1 = var21;
5747 var_node_list = var_ppropdefnode1;
5748 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction397> */
5749 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
5750 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
5751 RET_LABEL:;
5752 }
5753 /* method parser#ReduceAction397#action for (self: Object, Parser) */
5754 void VIRTUAL_parser__ReduceAction397__action(val* self, val* p0) {
5755 parser__ReduceAction397__action(self, p0);
5756 RET_LABEL:;
5757 }
5758 /* method parser#ReduceAction398#action for (self: ReduceAction398, Parser) */
5759 void parser__ReduceAction398__action(val* self, val* p0) {
5760 val* var_p /* var p: Parser */;
5761 val* var /* : null */;
5762 val* var_node_list /* var node_list: nullable Object */;
5763 val* var1 /* : nullable Object */;
5764 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5765 val* var2 /* : nullable Object */;
5766 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5767 val* var3 /* : nullable Object */;
5768 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5769 val* var4 /* : nullable Object */;
5770 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5771 val* var5 /* : nullable Object */;
5772 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5773 val* var6 /* : nullable Object */;
5774 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5775 val* var7 /* : nullable Object */;
5776 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5777 val* var8 /* : nullable Object */;
5778 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5779 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5780 short int var9 /* : Bool */;
5781 int cltype;
5782 int idtype;
5783 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
5784 short int var10 /* : Bool */;
5785 int cltype11;
5786 int idtype12;
5787 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5788 short int var13 /* : Bool */;
5789 int cltype14;
5790 int idtype15;
5791 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5792 short int var16 /* : Bool */;
5793 int cltype17;
5794 int idtype18;
5795 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
5796 short int var19 /* : Bool */;
5797 int cltype20;
5798 int idtype21;
5799 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
5800 short int var22 /* : Bool */;
5801 int cltype23;
5802 int idtype24;
5803 val* var25 /* : AAttrPropdef */;
5804 val* var26 /* : null */;
5805 val* var27 /* : null */;
5806 val* var28 /* : null */;
5807 val* var29 /* : null */;
5808 val* var30 /* : null */;
5809 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5810 long var31 /* : Int */;
5811 long var32 /* : Int */;
5812 var_p = p0;
5813 var = NULL;
5814 var_node_list = var;
5815 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5816 var_nodearraylist8 = var1;
5817 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5818 var_nodearraylist7 = var2;
5819 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5820 var_nodearraylist6 = var3;
5821 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5822 var_nodearraylist5 = var4;
5823 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5824 var_nodearraylist4 = var5;
5825 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5826 var_nodearraylist3 = var6;
5827 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5828 var_nodearraylist2 = var7;
5829 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5830 var_nodearraylist1 = var8;
5831 var_pdocnode2 = var_nodearraylist1;
5832 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5833 cltype = type_nullable_parser_nodes__ADoc.color;
5834 idtype = type_nullable_parser_nodes__ADoc.id;
5835 if(var_pdocnode2 == NULL) {
5836 var9 = 1;
5837 } else {
5838 if(cltype >= var_pdocnode2->type->table_size) {
5839 var9 = 0;
5840 } else {
5841 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
5842 }
5843 }
5844 if (!var9) {
5845 fprintf(stderr, "Runtime error: %s", "Assert failed");
5846 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17681);
5847 show_backtrace(1);
5848 }
5849 var_tkwredefnode5 = var_nodearraylist2;
5850 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
5851 cltype11 = type_nullable_parser_nodes__TKwredef.color;
5852 idtype12 = type_nullable_parser_nodes__TKwredef.id;
5853 if(var_tkwredefnode5 == NULL) {
5854 var10 = 1;
5855 } else {
5856 if(cltype11 >= var_tkwredefnode5->type->table_size) {
5857 var10 = 0;
5858 } else {
5859 var10 = var_tkwredefnode5->type->type_table[cltype11] == idtype12;
5860 }
5861 }
5862 if (!var10) {
5863 fprintf(stderr, "Runtime error: %s", "Assert failed");
5864 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17683);
5865 show_backtrace(1);
5866 }
5867 var_pvisibilitynode6 = var_nodearraylist3;
5868 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5869 cltype14 = type_nullable_parser_nodes__AVisibility.color;
5870 idtype15 = type_nullable_parser_nodes__AVisibility.id;
5871 if(var_pvisibilitynode6 == NULL) {
5872 var13 = 1;
5873 } else {
5874 if(cltype14 >= var_pvisibilitynode6->type->table_size) {
5875 var13 = 0;
5876 } else {
5877 var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
5878 }
5879 }
5880 if (!var13) {
5881 fprintf(stderr, "Runtime error: %s", "Assert failed");
5882 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17685);
5883 show_backtrace(1);
5884 }
5885 var_tkwvarnode7 = var_nodearraylist4;
5886 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5887 cltype17 = type_nullable_parser_nodes__TKwvar.color;
5888 idtype18 = type_nullable_parser_nodes__TKwvar.id;
5889 if(var_tkwvarnode7 == NULL) {
5890 var16 = 1;
5891 } else {
5892 if(cltype17 >= var_tkwvarnode7->type->table_size) {
5893 var16 = 0;
5894 } else {
5895 var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
5896 }
5897 }
5898 if (!var16) {
5899 fprintf(stderr, "Runtime error: %s", "Assert failed");
5900 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17687);
5901 show_backtrace(1);
5902 }
5903 var_tattridnode8 = var_nodearraylist5;
5904 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
5905 cltype20 = type_nullable_parser_nodes__TAttrid.color;
5906 idtype21 = type_nullable_parser_nodes__TAttrid.id;
5907 if(var_tattridnode8 == NULL) {
5908 var19 = 1;
5909 } else {
5910 if(cltype20 >= var_tattridnode8->type->table_size) {
5911 var19 = 0;
5912 } else {
5913 var19 = var_tattridnode8->type->type_table[cltype20] == idtype21;
5914 }
5915 }
5916 if (!var19) {
5917 fprintf(stderr, "Runtime error: %s", "Assert failed");
5918 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17689);
5919 show_backtrace(1);
5920 }
5921 var_pexprnode12 = var_nodearraylist8;
5922 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
5923 cltype23 = type_nullable_parser_nodes__AExpr.color;
5924 idtype24 = type_nullable_parser_nodes__AExpr.id;
5925 if(var_pexprnode12 == NULL) {
5926 var22 = 1;
5927 } else {
5928 if(cltype23 >= var_pexprnode12->type->table_size) {
5929 var22 = 0;
5930 } else {
5931 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
5932 }
5933 }
5934 if (!var22) {
5935 fprintf(stderr, "Runtime error: %s", "Assert failed");
5936 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17691);
5937 show_backtrace(1);
5938 }
5939 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5940 var26 = NULL;
5941 var27 = NULL;
5942 var28 = NULL;
5943 var29 = NULL;
5944 var30 = NULL;
5945 ((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>*/;
5946 var_ppropdefnode1 = var25;
5947 var_node_list = var_ppropdefnode1;
5948 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction398> */
5949 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
5950 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
5951 RET_LABEL:;
5952 }
5953 /* method parser#ReduceAction398#action for (self: Object, Parser) */
5954 void VIRTUAL_parser__ReduceAction398__action(val* self, val* p0) {
5955 parser__ReduceAction398__action(self, p0);
5956 RET_LABEL:;
5957 }
5958 /* method parser#ReduceAction399#action for (self: ReduceAction399, Parser) */
5959 void parser__ReduceAction399__action(val* self, val* p0) {
5960 val* var_p /* var p: Parser */;
5961 val* var /* : null */;
5962 val* var_node_list /* var node_list: nullable Object */;
5963 val* var1 /* : nullable Object */;
5964 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5965 val* var2 /* : nullable Object */;
5966 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5967 val* var3 /* : nullable Object */;
5968 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5969 val* var4 /* : nullable Object */;
5970 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5971 val* var5 /* : nullable Object */;
5972 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5973 val* var6 /* : nullable Object */;
5974 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5975 val* var7 /* : nullable Object */;
5976 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5977 val* var8 /* : nullable Object */;
5978 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5979 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5980 short int var9 /* : Bool */;
5981 int cltype;
5982 int idtype;
5983 val* var_pablenode3 /* var pablenode3: nullable Object */;
5984 short int var10 /* : Bool */;
5985 int cltype11;
5986 int idtype12;
5987 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5988 short int var13 /* : Bool */;
5989 int cltype14;
5990 int idtype15;
5991 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5992 short int var16 /* : Bool */;
5993 int cltype17;
5994 int idtype18;
5995 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
5996 short int var19 /* : Bool */;
5997 int cltype20;
5998 int idtype21;
5999 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
6000 short int var22 /* : Bool */;
6001 int cltype23;
6002 int idtype24;
6003 val* var25 /* : AAttrPropdef */;
6004 val* var26 /* : null */;
6005 val* var27 /* : null */;
6006 val* var28 /* : null */;
6007 val* var29 /* : null */;
6008 val* var30 /* : null */;
6009 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6010 long var31 /* : Int */;
6011 long var32 /* : Int */;
6012 var_p = p0;
6013 var = NULL;
6014 var_node_list = var;
6015 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6016 var_nodearraylist8 = var1;
6017 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6018 var_nodearraylist7 = var2;
6019 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6020 var_nodearraylist6 = var3;
6021 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6022 var_nodearraylist5 = var4;
6023 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6024 var_nodearraylist4 = var5;
6025 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6026 var_nodearraylist3 = var6;
6027 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6028 var_nodearraylist2 = var7;
6029 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6030 var_nodearraylist1 = var8;
6031 var_pdocnode2 = var_nodearraylist1;
6032 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6033 cltype = type_nullable_parser_nodes__ADoc.color;
6034 idtype = type_nullable_parser_nodes__ADoc.id;
6035 if(var_pdocnode2 == NULL) {
6036 var9 = 1;
6037 } else {
6038 if(cltype >= var_pdocnode2->type->table_size) {
6039 var9 = 0;
6040 } else {
6041 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
6042 }
6043 }
6044 if (!var9) {
6045 fprintf(stderr, "Runtime error: %s", "Assert failed");
6046 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17723);
6047 show_backtrace(1);
6048 }
6049 var_pablenode3 = var_nodearraylist2;
6050 /* <var_pablenode3:nullable Object> isa nullable AAble */
6051 cltype11 = type_nullable_parser_nodes__AAble.color;
6052 idtype12 = type_nullable_parser_nodes__AAble.id;
6053 if(var_pablenode3 == NULL) {
6054 var10 = 1;
6055 } else {
6056 if(cltype11 >= var_pablenode3->type->table_size) {
6057 var10 = 0;
6058 } else {
6059 var10 = var_pablenode3->type->type_table[cltype11] == idtype12;
6060 }
6061 }
6062 if (!var10) {
6063 fprintf(stderr, "Runtime error: %s", "Assert failed");
6064 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17725);
6065 show_backtrace(1);
6066 }
6067 var_pvisibilitynode6 = var_nodearraylist3;
6068 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
6069 cltype14 = type_nullable_parser_nodes__AVisibility.color;
6070 idtype15 = type_nullable_parser_nodes__AVisibility.id;
6071 if(var_pvisibilitynode6 == NULL) {
6072 var13 = 1;
6073 } else {
6074 if(cltype14 >= var_pvisibilitynode6->type->table_size) {
6075 var13 = 0;
6076 } else {
6077 var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
6078 }
6079 }
6080 if (!var13) {
6081 fprintf(stderr, "Runtime error: %s", "Assert failed");
6082 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17727);
6083 show_backtrace(1);
6084 }
6085 var_tkwvarnode7 = var_nodearraylist4;
6086 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
6087 cltype17 = type_nullable_parser_nodes__TKwvar.color;
6088 idtype18 = type_nullable_parser_nodes__TKwvar.id;
6089 if(var_tkwvarnode7 == NULL) {
6090 var16 = 1;
6091 } else {
6092 if(cltype17 >= var_tkwvarnode7->type->table_size) {
6093 var16 = 0;
6094 } else {
6095 var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
6096 }
6097 }
6098 if (!var16) {
6099 fprintf(stderr, "Runtime error: %s", "Assert failed");
6100 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17729);
6101 show_backtrace(1);
6102 }
6103 var_tattridnode8 = var_nodearraylist5;
6104 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
6105 cltype20 = type_nullable_parser_nodes__TAttrid.color;
6106 idtype21 = type_nullable_parser_nodes__TAttrid.id;
6107 if(var_tattridnode8 == NULL) {
6108 var19 = 1;
6109 } else {
6110 if(cltype20 >= var_tattridnode8->type->table_size) {
6111 var19 = 0;
6112 } else {
6113 var19 = var_tattridnode8->type->type_table[cltype20] == idtype21;
6114 }
6115 }
6116 if (!var19) {
6117 fprintf(stderr, "Runtime error: %s", "Assert failed");
6118 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17731);
6119 show_backtrace(1);
6120 }
6121 var_pexprnode12 = var_nodearraylist8;
6122 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
6123 cltype23 = type_nullable_parser_nodes__AExpr.color;
6124 idtype24 = type_nullable_parser_nodes__AExpr.id;
6125 if(var_pexprnode12 == NULL) {
6126 var22 = 1;
6127 } else {
6128 if(cltype23 >= var_pexprnode12->type->table_size) {
6129 var22 = 0;
6130 } else {
6131 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
6132 }
6133 }
6134 if (!var22) {
6135 fprintf(stderr, "Runtime error: %s", "Assert failed");
6136 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17733);
6137 show_backtrace(1);
6138 }
6139 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
6140 var26 = NULL;
6141 var27 = NULL;
6142 var28 = NULL;
6143 var29 = NULL;
6144 var30 = NULL;
6145 ((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>*/;
6146 var_ppropdefnode1 = var25;
6147 var_node_list = var_ppropdefnode1;
6148 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction399> */
6149 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
6150 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
6151 RET_LABEL:;
6152 }
6153 /* method parser#ReduceAction399#action for (self: Object, Parser) */
6154 void VIRTUAL_parser__ReduceAction399__action(val* self, val* p0) {
6155 parser__ReduceAction399__action(self, p0);
6156 RET_LABEL:;
6157 }
6158 /* method parser#ReduceAction400#action for (self: ReduceAction400, Parser) */
6159 void parser__ReduceAction400__action(val* self, val* p0) {
6160 val* var_p /* var p: Parser */;
6161 val* var /* : null */;
6162 val* var_node_list /* var node_list: nullable Object */;
6163 val* var1 /* : nullable Object */;
6164 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6165 val* var2 /* : nullable Object */;
6166 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6167 val* var3 /* : nullable Object */;
6168 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6169 val* var4 /* : nullable Object */;
6170 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6171 val* var5 /* : nullable Object */;
6172 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6173 val* var6 /* : nullable Object */;
6174 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6175 val* var7 /* : nullable Object */;
6176 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6177 val* var8 /* : nullable Object */;
6178 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6179 val* var9 /* : nullable Object */;
6180 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6181 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6182 short int var10 /* : Bool */;
6183 int cltype;
6184 int idtype;
6185 val* var_pablenode3 /* var pablenode3: nullable Object */;
6186 short int var11 /* : Bool */;
6187 int cltype12;
6188 int idtype13;
6189 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
6190 short int var14 /* : Bool */;
6191 int cltype15;
6192 int idtype16;
6193 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
6194 short int var17 /* : Bool */;
6195 int cltype18;
6196 int idtype19;
6197 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
6198 short int var20 /* : Bool */;
6199 int cltype21;
6200 int idtype22;
6201 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
6202 short int var23 /* : Bool */;
6203 int cltype24;
6204 int idtype25;
6205 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
6206 short int var26 /* : Bool */;
6207 int cltype27;
6208 int idtype28;
6209 val* var29 /* : AAttrPropdef */;
6210 val* var30 /* : null */;
6211 val* var31 /* : null */;
6212 val* var32 /* : null */;
6213 val* var33 /* : null */;
6214 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6215 long var34 /* : Int */;
6216 long var35 /* : Int */;
6217 var_p = p0;
6218 var = NULL;
6219 var_node_list = var;
6220 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6221 var_nodearraylist9 = var1;
6222 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6223 var_nodearraylist8 = var2;
6224 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6225 var_nodearraylist7 = var3;
6226 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6227 var_nodearraylist6 = var4;
6228 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6229 var_nodearraylist5 = var5;
6230 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6231 var_nodearraylist4 = var6;
6232 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6233 var_nodearraylist3 = var7;
6234 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6235 var_nodearraylist2 = var8;
6236 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6237 var_nodearraylist1 = var9;
6238 var_pdocnode2 = var_nodearraylist1;
6239 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6240 cltype = type_nullable_parser_nodes__ADoc.color;
6241 idtype = type_nullable_parser_nodes__ADoc.id;
6242 if(var_pdocnode2 == NULL) {
6243 var10 = 1;
6244 } else {
6245 if(cltype >= var_pdocnode2->type->table_size) {
6246 var10 = 0;
6247 } else {
6248 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
6249 }
6250 }
6251 if (!var10) {
6252 fprintf(stderr, "Runtime error: %s", "Assert failed");
6253 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17766);
6254 show_backtrace(1);
6255 }
6256 var_pablenode3 = var_nodearraylist2;
6257 /* <var_pablenode3:nullable Object> isa nullable AAble */
6258 cltype12 = type_nullable_parser_nodes__AAble.color;
6259 idtype13 = type_nullable_parser_nodes__AAble.id;
6260 if(var_pablenode3 == NULL) {
6261 var11 = 1;
6262 } else {
6263 if(cltype12 >= var_pablenode3->type->table_size) {
6264 var11 = 0;
6265 } else {
6266 var11 = var_pablenode3->type->type_table[cltype12] == idtype13;
6267 }
6268 }
6269 if (!var11) {
6270 fprintf(stderr, "Runtime error: %s", "Assert failed");
6271 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17768);
6272 show_backtrace(1);
6273 }
6274 var_tkwredefnode5 = var_nodearraylist3;
6275 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
6276 cltype15 = type_nullable_parser_nodes__TKwredef.color;
6277 idtype16 = type_nullable_parser_nodes__TKwredef.id;
6278 if(var_tkwredefnode5 == NULL) {
6279 var14 = 1;
6280 } else {
6281 if(cltype15 >= var_tkwredefnode5->type->table_size) {
6282 var14 = 0;
6283 } else {
6284 var14 = var_tkwredefnode5->type->type_table[cltype15] == idtype16;
6285 }
6286 }
6287 if (!var14) {
6288 fprintf(stderr, "Runtime error: %s", "Assert failed");
6289 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17770);
6290 show_backtrace(1);
6291 }
6292 var_pvisibilitynode6 = var_nodearraylist4;
6293 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
6294 cltype18 = type_nullable_parser_nodes__AVisibility.color;
6295 idtype19 = type_nullable_parser_nodes__AVisibility.id;
6296 if(var_pvisibilitynode6 == NULL) {
6297 var17 = 1;
6298 } else {
6299 if(cltype18 >= var_pvisibilitynode6->type->table_size) {
6300 var17 = 0;
6301 } else {
6302 var17 = var_pvisibilitynode6->type->type_table[cltype18] == idtype19;
6303 }
6304 }
6305 if (!var17) {
6306 fprintf(stderr, "Runtime error: %s", "Assert failed");
6307 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17772);
6308 show_backtrace(1);
6309 }
6310 var_tkwvarnode7 = var_nodearraylist5;
6311 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
6312 cltype21 = type_nullable_parser_nodes__TKwvar.color;
6313 idtype22 = type_nullable_parser_nodes__TKwvar.id;
6314 if(var_tkwvarnode7 == NULL) {
6315 var20 = 1;
6316 } else {
6317 if(cltype21 >= var_tkwvarnode7->type->table_size) {
6318 var20 = 0;
6319 } else {
6320 var20 = var_tkwvarnode7->type->type_table[cltype21] == idtype22;
6321 }
6322 }
6323 if (!var20) {
6324 fprintf(stderr, "Runtime error: %s", "Assert failed");
6325 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17774);
6326 show_backtrace(1);
6327 }
6328 var_tattridnode8 = var_nodearraylist6;
6329 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
6330 cltype24 = type_nullable_parser_nodes__TAttrid.color;
6331 idtype25 = type_nullable_parser_nodes__TAttrid.id;
6332 if(var_tattridnode8 == NULL) {
6333 var23 = 1;
6334 } else {
6335 if(cltype24 >= var_tattridnode8->type->table_size) {
6336 var23 = 0;
6337 } else {
6338 var23 = var_tattridnode8->type->type_table[cltype24] == idtype25;
6339 }
6340 }
6341 if (!var23) {
6342 fprintf(stderr, "Runtime error: %s", "Assert failed");
6343 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17776);
6344 show_backtrace(1);
6345 }
6346 var_pexprnode12 = var_nodearraylist9;
6347 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
6348 cltype27 = type_nullable_parser_nodes__AExpr.color;
6349 idtype28 = type_nullable_parser_nodes__AExpr.id;
6350 if(var_pexprnode12 == NULL) {
6351 var26 = 1;
6352 } else {
6353 if(cltype27 >= var_pexprnode12->type->table_size) {
6354 var26 = 0;
6355 } else {
6356 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
6357 }
6358 }
6359 if (!var26) {
6360 fprintf(stderr, "Runtime error: %s", "Assert failed");
6361 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17778);
6362 show_backtrace(1);
6363 }
6364 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
6365 var30 = NULL;
6366 var31 = NULL;
6367 var32 = NULL;
6368 var33 = NULL;
6369 ((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>*/;
6370 var_ppropdefnode1 = var29;
6371 var_node_list = var_ppropdefnode1;
6372 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction400> */
6373 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
6374 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
6375 RET_LABEL:;
6376 }
6377 /* method parser#ReduceAction400#action for (self: Object, Parser) */
6378 void VIRTUAL_parser__ReduceAction400__action(val* self, val* p0) {
6379 parser__ReduceAction400__action(self, p0);
6380 RET_LABEL:;
6381 }
6382 /* method parser#ReduceAction401#action for (self: ReduceAction401, Parser) */
6383 void parser__ReduceAction401__action(val* self, val* p0) {
6384 val* var_p /* var p: Parser */;
6385 val* var /* : null */;
6386 val* var_node_list /* var node_list: nullable Object */;
6387 val* var1 /* : nullable Object */;
6388 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6389 val* var2 /* : nullable Object */;
6390 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6391 val* var3 /* : nullable Object */;
6392 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6393 val* var4 /* : nullable Object */;
6394 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6395 val* var5 /* : nullable Object */;
6396 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6397 val* var6 /* : nullable Object */;
6398 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6399 val* var7 /* : nullable Object */;
6400 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6401 val* var8 /* : nullable Object */;
6402 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6403 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6404 short int var9 /* : Bool */;
6405 int cltype;
6406 int idtype;
6407 val* var_pablenode4 /* var pablenode4: nullable Object */;
6408 short int var10 /* : Bool */;
6409 int cltype11;
6410 int idtype12;
6411 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
6412 short int var13 /* : Bool */;
6413 int cltype14;
6414 int idtype15;
6415 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
6416 short int var16 /* : Bool */;
6417 int cltype17;
6418 int idtype18;
6419 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
6420 short int var19 /* : Bool */;
6421 int cltype20;
6422 int idtype21;
6423 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
6424 short int var22 /* : Bool */;
6425 int cltype23;
6426 int idtype24;
6427 val* var25 /* : AAttrPropdef */;
6428 val* var26 /* : null */;
6429 val* var27 /* : null */;
6430 val* var28 /* : null */;
6431 val* var29 /* : null */;
6432 val* var30 /* : null */;
6433 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6434 long var31 /* : Int */;
6435 long var32 /* : Int */;
6436 var_p = p0;
6437 var = NULL;
6438 var_node_list = var;
6439 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6440 var_nodearraylist8 = var1;
6441 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6442 var_nodearraylist7 = var2;
6443 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6444 var_nodearraylist6 = var3;
6445 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6446 var_nodearraylist5 = var4;
6447 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6448 var_nodearraylist4 = var5;
6449 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6450 var_nodearraylist3 = var6;
6451 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6452 var_nodearraylist2 = var7;
6453 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6454 var_nodearraylist1 = var8;
6455 var_pdocnode2 = var_nodearraylist1;
6456 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6457 cltype = type_nullable_parser_nodes__ADoc.color;
6458 idtype = type_nullable_parser_nodes__ADoc.id;
6459 if(var_pdocnode2 == NULL) {
6460 var9 = 1;
6461 } else {
6462 if(cltype >= var_pdocnode2->type->table_size) {
6463 var9 = 0;
6464 } else {
6465 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
6466 }
6467 }
6468 if (!var9) {
6469 fprintf(stderr, "Runtime error: %s", "Assert failed");
6470 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17810);
6471 show_backtrace(1);
6472 }
6473 var_pablenode4 = var_nodearraylist2;
6474 /* <var_pablenode4:nullable Object> isa nullable AAble */
6475 cltype11 = type_nullable_parser_nodes__AAble.color;
6476 idtype12 = type_nullable_parser_nodes__AAble.id;
6477 if(var_pablenode4 == NULL) {
6478 var10 = 1;
6479 } else {
6480 if(cltype11 >= var_pablenode4->type->table_size) {
6481 var10 = 0;
6482 } else {
6483 var10 = var_pablenode4->type->type_table[cltype11] == idtype12;
6484 }
6485 }
6486 if (!var10) {
6487 fprintf(stderr, "Runtime error: %s", "Assert failed");
6488 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17812);
6489 show_backtrace(1);
6490 }
6491 var_pvisibilitynode6 = var_nodearraylist3;
6492 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
6493 cltype14 = type_nullable_parser_nodes__AVisibility.color;
6494 idtype15 = type_nullable_parser_nodes__AVisibility.id;
6495 if(var_pvisibilitynode6 == NULL) {
6496 var13 = 1;
6497 } else {
6498 if(cltype14 >= var_pvisibilitynode6->type->table_size) {
6499 var13 = 0;
6500 } else {
6501 var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
6502 }
6503 }
6504 if (!var13) {
6505 fprintf(stderr, "Runtime error: %s", "Assert failed");
6506 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17814);
6507 show_backtrace(1);
6508 }
6509 var_tkwvarnode7 = var_nodearraylist4;
6510 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
6511 cltype17 = type_nullable_parser_nodes__TKwvar.color;
6512 idtype18 = type_nullable_parser_nodes__TKwvar.id;
6513 if(var_tkwvarnode7 == NULL) {
6514 var16 = 1;
6515 } else {
6516 if(cltype17 >= var_tkwvarnode7->type->table_size) {
6517 var16 = 0;
6518 } else {
6519 var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
6520 }
6521 }
6522 if (!var16) {
6523 fprintf(stderr, "Runtime error: %s", "Assert failed");
6524 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17816);
6525 show_backtrace(1);
6526 }
6527 var_tattridnode8 = var_nodearraylist5;
6528 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
6529 cltype20 = type_nullable_parser_nodes__TAttrid.color;
6530 idtype21 = type_nullable_parser_nodes__TAttrid.id;
6531 if(var_tattridnode8 == NULL) {
6532 var19 = 1;
6533 } else {
6534 if(cltype20 >= var_tattridnode8->type->table_size) {
6535 var19 = 0;
6536 } else {
6537 var19 = var_tattridnode8->type->type_table[cltype20] == idtype21;
6538 }
6539 }
6540 if (!var19) {
6541 fprintf(stderr, "Runtime error: %s", "Assert failed");
6542 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17818);
6543 show_backtrace(1);
6544 }
6545 var_pexprnode12 = var_nodearraylist8;
6546 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
6547 cltype23 = type_nullable_parser_nodes__AExpr.color;
6548 idtype24 = type_nullable_parser_nodes__AExpr.id;
6549 if(var_pexprnode12 == NULL) {
6550 var22 = 1;
6551 } else {
6552 if(cltype23 >= var_pexprnode12->type->table_size) {
6553 var22 = 0;
6554 } else {
6555 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
6556 }
6557 }
6558 if (!var22) {
6559 fprintf(stderr, "Runtime error: %s", "Assert failed");
6560 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17820);
6561 show_backtrace(1);
6562 }
6563 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
6564 var26 = NULL;
6565 var27 = NULL;
6566 var28 = NULL;
6567 var29 = NULL;
6568 var30 = NULL;
6569 ((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>*/;
6570 var_ppropdefnode1 = var25;
6571 var_node_list = var_ppropdefnode1;
6572 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction401> */
6573 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
6574 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
6575 RET_LABEL:;
6576 }
6577 /* method parser#ReduceAction401#action for (self: Object, Parser) */
6578 void VIRTUAL_parser__ReduceAction401__action(val* self, val* p0) {
6579 parser__ReduceAction401__action(self, p0);
6580 RET_LABEL:;
6581 }
6582 /* method parser#ReduceAction402#action for (self: ReduceAction402, Parser) */
6583 void parser__ReduceAction402__action(val* self, val* p0) {
6584 val* var_p /* var p: Parser */;
6585 val* var /* : null */;
6586 val* var_node_list /* var node_list: nullable Object */;
6587 val* var1 /* : nullable Object */;
6588 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6589 val* var2 /* : nullable Object */;
6590 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6591 val* var3 /* : nullable Object */;
6592 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6593 val* var4 /* : nullable Object */;
6594 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6595 val* var5 /* : nullable Object */;
6596 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6597 val* var6 /* : nullable Object */;
6598 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6599 val* var7 /* : nullable Object */;
6600 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6601 val* var8 /* : nullable Object */;
6602 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6603 val* var9 /* : nullable Object */;
6604 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6605 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6606 short int var10 /* : Bool */;
6607 int cltype;
6608 int idtype;
6609 val* var_pablenode4 /* var pablenode4: nullable Object */;
6610 short int var11 /* : Bool */;
6611 int cltype12;
6612 int idtype13;
6613 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
6614 short int var14 /* : Bool */;
6615 int cltype15;
6616 int idtype16;
6617 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
6618 short int var17 /* : Bool */;
6619 int cltype18;
6620 int idtype19;
6621 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
6622 short int var20 /* : Bool */;
6623 int cltype21;
6624 int idtype22;
6625 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
6626 short int var23 /* : Bool */;
6627 int cltype24;
6628 int idtype25;
6629 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
6630 short int var26 /* : Bool */;
6631 int cltype27;
6632 int idtype28;
6633 val* var29 /* : AAttrPropdef */;
6634 val* var30 /* : null */;
6635 val* var31 /* : null */;
6636 val* var32 /* : null */;
6637 val* var33 /* : null */;
6638 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6639 long var34 /* : Int */;
6640 long var35 /* : Int */;
6641 var_p = p0;
6642 var = NULL;
6643 var_node_list = var;
6644 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6645 var_nodearraylist9 = var1;
6646 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6647 var_nodearraylist8 = var2;
6648 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6649 var_nodearraylist7 = var3;
6650 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6651 var_nodearraylist6 = var4;
6652 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6653 var_nodearraylist5 = var5;
6654 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6655 var_nodearraylist4 = var6;
6656 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6657 var_nodearraylist3 = var7;
6658 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6659 var_nodearraylist2 = var8;
6660 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6661 var_nodearraylist1 = var9;
6662 var_pdocnode2 = var_nodearraylist1;
6663 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6664 cltype = type_nullable_parser_nodes__ADoc.color;
6665 idtype = type_nullable_parser_nodes__ADoc.id;
6666 if(var_pdocnode2 == NULL) {
6667 var10 = 1;
6668 } else {
6669 if(cltype >= var_pdocnode2->type->table_size) {
6670 var10 = 0;
6671 } else {
6672 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
6673 }
6674 }
6675 if (!var10) {
6676 fprintf(stderr, "Runtime error: %s", "Assert failed");
6677 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17853);
6678 show_backtrace(1);
6679 }
6680 var_pablenode4 = var_nodearraylist2;
6681 /* <var_pablenode4:nullable Object> isa nullable AAble */
6682 cltype12 = type_nullable_parser_nodes__AAble.color;
6683 idtype13 = type_nullable_parser_nodes__AAble.id;
6684 if(var_pablenode4 == NULL) {
6685 var11 = 1;
6686 } else {
6687 if(cltype12 >= var_pablenode4->type->table_size) {
6688 var11 = 0;
6689 } else {
6690 var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
6691 }
6692 }
6693 if (!var11) {
6694 fprintf(stderr, "Runtime error: %s", "Assert failed");
6695 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17855);
6696 show_backtrace(1);
6697 }
6698 var_tkwredefnode5 = var_nodearraylist3;
6699 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
6700 cltype15 = type_nullable_parser_nodes__TKwredef.color;
6701 idtype16 = type_nullable_parser_nodes__TKwredef.id;
6702 if(var_tkwredefnode5 == NULL) {
6703 var14 = 1;
6704 } else {
6705 if(cltype15 >= var_tkwredefnode5->type->table_size) {
6706 var14 = 0;
6707 } else {
6708 var14 = var_tkwredefnode5->type->type_table[cltype15] == idtype16;
6709 }
6710 }
6711 if (!var14) {
6712 fprintf(stderr, "Runtime error: %s", "Assert failed");
6713 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17857);
6714 show_backtrace(1);
6715 }
6716 var_pvisibilitynode6 = var_nodearraylist4;
6717 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
6718 cltype18 = type_nullable_parser_nodes__AVisibility.color;
6719 idtype19 = type_nullable_parser_nodes__AVisibility.id;
6720 if(var_pvisibilitynode6 == NULL) {
6721 var17 = 1;
6722 } else {
6723 if(cltype18 >= var_pvisibilitynode6->type->table_size) {
6724 var17 = 0;
6725 } else {
6726 var17 = var_pvisibilitynode6->type->type_table[cltype18] == idtype19;
6727 }
6728 }
6729 if (!var17) {
6730 fprintf(stderr, "Runtime error: %s", "Assert failed");
6731 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17859);
6732 show_backtrace(1);
6733 }
6734 var_tkwvarnode7 = var_nodearraylist5;
6735 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
6736 cltype21 = type_nullable_parser_nodes__TKwvar.color;
6737 idtype22 = type_nullable_parser_nodes__TKwvar.id;
6738 if(var_tkwvarnode7 == NULL) {
6739 var20 = 1;
6740 } else {
6741 if(cltype21 >= var_tkwvarnode7->type->table_size) {
6742 var20 = 0;
6743 } else {
6744 var20 = var_tkwvarnode7->type->type_table[cltype21] == idtype22;
6745 }
6746 }
6747 if (!var20) {
6748 fprintf(stderr, "Runtime error: %s", "Assert failed");
6749 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17861);
6750 show_backtrace(1);
6751 }
6752 var_tattridnode8 = var_nodearraylist6;
6753 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
6754 cltype24 = type_nullable_parser_nodes__TAttrid.color;
6755 idtype25 = type_nullable_parser_nodes__TAttrid.id;
6756 if(var_tattridnode8 == NULL) {
6757 var23 = 1;
6758 } else {
6759 if(cltype24 >= var_tattridnode8->type->table_size) {
6760 var23 = 0;
6761 } else {
6762 var23 = var_tattridnode8->type->type_table[cltype24] == idtype25;
6763 }
6764 }
6765 if (!var23) {
6766 fprintf(stderr, "Runtime error: %s", "Assert failed");
6767 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17863);
6768 show_backtrace(1);
6769 }
6770 var_pexprnode12 = var_nodearraylist9;
6771 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
6772 cltype27 = type_nullable_parser_nodes__AExpr.color;
6773 idtype28 = type_nullable_parser_nodes__AExpr.id;
6774 if(var_pexprnode12 == NULL) {
6775 var26 = 1;
6776 } else {
6777 if(cltype27 >= var_pexprnode12->type->table_size) {
6778 var26 = 0;
6779 } else {
6780 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
6781 }
6782 }
6783 if (!var26) {
6784 fprintf(stderr, "Runtime error: %s", "Assert failed");
6785 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17865);
6786 show_backtrace(1);
6787 }
6788 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
6789 var30 = NULL;
6790 var31 = NULL;
6791 var32 = NULL;
6792 var33 = NULL;
6793 ((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>*/;
6794 var_ppropdefnode1 = var29;
6795 var_node_list = var_ppropdefnode1;
6796 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction402> */
6797 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
6798 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
6799 RET_LABEL:;
6800 }
6801 /* method parser#ReduceAction402#action for (self: Object, Parser) */
6802 void VIRTUAL_parser__ReduceAction402__action(val* self, val* p0) {
6803 parser__ReduceAction402__action(self, p0);
6804 RET_LABEL:;
6805 }
6806 /* method parser#ReduceAction403#action for (self: ReduceAction403, Parser) */
6807 void parser__ReduceAction403__action(val* self, val* p0) {
6808 val* var_p /* var p: Parser */;
6809 val* var /* : null */;
6810 val* var_node_list /* var node_list: nullable Object */;
6811 val* var1 /* : nullable Object */;
6812 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6813 val* var2 /* : nullable Object */;
6814 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6815 val* var3 /* : nullable Object */;
6816 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6817 val* var4 /* : nullable Object */;
6818 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6819 val* var5 /* : nullable Object */;
6820 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6821 val* var6 /* : nullable Object */;
6822 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6823 val* var7 /* : nullable Object */;
6824 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6825 val* var8 /* : nullable Object */;
6826 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6827 val* var9 /* : nullable Object */;
6828 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6829 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6830 short int var10 /* : Bool */;
6831 int cltype;
6832 int idtype;
6833 val* var_pablenode3 /* var pablenode3: nullable Object */;
6834 short int var11 /* : Bool */;
6835 int cltype12;
6836 int idtype13;
6837 val* var_pablenode4 /* var pablenode4: nullable Object */;
6838 short int var14 /* : Bool */;
6839 int cltype15;
6840 int idtype16;
6841 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
6842 short int var17 /* : Bool */;
6843 int cltype18;
6844 int idtype19;
6845 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
6846 short int var20 /* : Bool */;
6847 int cltype21;
6848 int idtype22;
6849 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
6850 short int var23 /* : Bool */;
6851 int cltype24;
6852 int idtype25;
6853 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
6854 short int var26 /* : Bool */;
6855 int cltype27;
6856 int idtype28;
6857 val* var29 /* : AAttrPropdef */;
6858 val* var30 /* : null */;
6859 val* var31 /* : null */;
6860 val* var32 /* : null */;
6861 val* var33 /* : null */;
6862 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6863 long var34 /* : Int */;
6864 long var35 /* : Int */;
6865 var_p = p0;
6866 var = NULL;
6867 var_node_list = var;
6868 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6869 var_nodearraylist9 = var1;
6870 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6871 var_nodearraylist8 = var2;
6872 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6873 var_nodearraylist7 = var3;
6874 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6875 var_nodearraylist6 = var4;
6876 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6877 var_nodearraylist5 = var5;
6878 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6879 var_nodearraylist4 = var6;
6880 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6881 var_nodearraylist3 = var7;
6882 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6883 var_nodearraylist2 = var8;
6884 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6885 var_nodearraylist1 = var9;
6886 var_pdocnode2 = var_nodearraylist1;
6887 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6888 cltype = type_nullable_parser_nodes__ADoc.color;
6889 idtype = type_nullable_parser_nodes__ADoc.id;
6890 if(var_pdocnode2 == NULL) {
6891 var10 = 1;
6892 } else {
6893 if(cltype >= var_pdocnode2->type->table_size) {
6894 var10 = 0;
6895 } else {
6896 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
6897 }
6898 }
6899 if (!var10) {
6900 fprintf(stderr, "Runtime error: %s", "Assert failed");
6901 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17898);
6902 show_backtrace(1);
6903 }
6904 var_pablenode3 = var_nodearraylist2;
6905 /* <var_pablenode3:nullable Object> isa nullable AAble */
6906 cltype12 = type_nullable_parser_nodes__AAble.color;
6907 idtype13 = type_nullable_parser_nodes__AAble.id;
6908 if(var_pablenode3 == NULL) {
6909 var11 = 1;
6910 } else {
6911 if(cltype12 >= var_pablenode3->type->table_size) {
6912 var11 = 0;
6913 } else {
6914 var11 = var_pablenode3->type->type_table[cltype12] == idtype13;
6915 }
6916 }
6917 if (!var11) {
6918 fprintf(stderr, "Runtime error: %s", "Assert failed");
6919 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17900);
6920 show_backtrace(1);
6921 }
6922 var_pablenode4 = var_nodearraylist3;
6923 /* <var_pablenode4:nullable Object> isa nullable AAble */
6924 cltype15 = type_nullable_parser_nodes__AAble.color;
6925 idtype16 = type_nullable_parser_nodes__AAble.id;
6926 if(var_pablenode4 == NULL) {
6927 var14 = 1;
6928 } else {
6929 if(cltype15 >= var_pablenode4->type->table_size) {
6930 var14 = 0;
6931 } else {
6932 var14 = var_pablenode4->type->type_table[cltype15] == idtype16;
6933 }
6934 }
6935 if (!var14) {
6936 fprintf(stderr, "Runtime error: %s", "Assert failed");
6937 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17902);
6938 show_backtrace(1);
6939 }
6940 var_pvisibilitynode6 = var_nodearraylist4;
6941 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
6942 cltype18 = type_nullable_parser_nodes__AVisibility.color;
6943 idtype19 = type_nullable_parser_nodes__AVisibility.id;
6944 if(var_pvisibilitynode6 == NULL) {
6945 var17 = 1;
6946 } else {
6947 if(cltype18 >= var_pvisibilitynode6->type->table_size) {
6948 var17 = 0;
6949 } else {
6950 var17 = var_pvisibilitynode6->type->type_table[cltype18] == idtype19;
6951 }
6952 }
6953 if (!var17) {
6954 fprintf(stderr, "Runtime error: %s", "Assert failed");
6955 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17904);
6956 show_backtrace(1);
6957 }
6958 var_tkwvarnode7 = var_nodearraylist5;
6959 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
6960 cltype21 = type_nullable_parser_nodes__TKwvar.color;
6961 idtype22 = type_nullable_parser_nodes__TKwvar.id;
6962 if(var_tkwvarnode7 == NULL) {
6963 var20 = 1;
6964 } else {
6965 if(cltype21 >= var_tkwvarnode7->type->table_size) {
6966 var20 = 0;
6967 } else {
6968 var20 = var_tkwvarnode7->type->type_table[cltype21] == idtype22;
6969 }
6970 }
6971 if (!var20) {
6972 fprintf(stderr, "Runtime error: %s", "Assert failed");
6973 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17906);
6974 show_backtrace(1);
6975 }
6976 var_tattridnode8 = var_nodearraylist6;
6977 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
6978 cltype24 = type_nullable_parser_nodes__TAttrid.color;
6979 idtype25 = type_nullable_parser_nodes__TAttrid.id;
6980 if(var_tattridnode8 == NULL) {
6981 var23 = 1;
6982 } else {
6983 if(cltype24 >= var_tattridnode8->type->table_size) {
6984 var23 = 0;
6985 } else {
6986 var23 = var_tattridnode8->type->type_table[cltype24] == idtype25;
6987 }
6988 }
6989 if (!var23) {
6990 fprintf(stderr, "Runtime error: %s", "Assert failed");
6991 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17908);
6992 show_backtrace(1);
6993 }
6994 var_pexprnode12 = var_nodearraylist9;
6995 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
6996 cltype27 = type_nullable_parser_nodes__AExpr.color;
6997 idtype28 = type_nullable_parser_nodes__AExpr.id;
6998 if(var_pexprnode12 == NULL) {
6999 var26 = 1;
7000 } else {
7001 if(cltype27 >= var_pexprnode12->type->table_size) {
7002 var26 = 0;
7003 } else {
7004 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
7005 }
7006 }
7007 if (!var26) {
7008 fprintf(stderr, "Runtime error: %s", "Assert failed");
7009 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17910);
7010 show_backtrace(1);
7011 }
7012 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
7013 var30 = NULL;
7014 var31 = NULL;
7015 var32 = NULL;
7016 var33 = NULL;
7017 ((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>*/;
7018 var_ppropdefnode1 = var29;
7019 var_node_list = var_ppropdefnode1;
7020 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction403> */
7021 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
7022 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
7023 RET_LABEL:;
7024 }
7025 /* method parser#ReduceAction403#action for (self: Object, Parser) */
7026 void VIRTUAL_parser__ReduceAction403__action(val* self, val* p0) {
7027 parser__ReduceAction403__action(self, p0);
7028 RET_LABEL:;
7029 }
7030 /* method parser#ReduceAction404#action for (self: ReduceAction404, Parser) */
7031 void parser__ReduceAction404__action(val* self, val* p0) {
7032 val* var_p /* var p: Parser */;
7033 val* var /* : null */;
7034 val* var_node_list /* var node_list: nullable Object */;
7035 val* var1 /* : nullable Object */;
7036 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7037 val* var2 /* : nullable Object */;
7038 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7039 val* var3 /* : nullable Object */;
7040 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7041 val* var4 /* : nullable Object */;
7042 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7043 val* var5 /* : nullable Object */;
7044 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7045 val* var6 /* : nullable Object */;
7046 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7047 val* var7 /* : nullable Object */;
7048 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7049 val* var8 /* : nullable Object */;
7050 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7051 val* var9 /* : nullable Object */;
7052 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7053 val* var10 /* : nullable Object */;
7054 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7055 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7056 short int var11 /* : Bool */;
7057 int cltype;
7058 int idtype;
7059 val* var_pablenode3 /* var pablenode3: nullable Object */;
7060 short int var12 /* : Bool */;
7061 int cltype13;
7062 int idtype14;
7063 val* var_pablenode4 /* var pablenode4: nullable Object */;
7064 short int var15 /* : Bool */;
7065 int cltype16;
7066 int idtype17;
7067 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
7068 short int var18 /* : Bool */;
7069 int cltype19;
7070 int idtype20;
7071 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
7072 short int var21 /* : Bool */;
7073 int cltype22;
7074 int idtype23;
7075 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
7076 short int var24 /* : Bool */;
7077 int cltype25;
7078 int idtype26;
7079 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
7080 short int var27 /* : Bool */;
7081 int cltype28;
7082 int idtype29;
7083 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
7084 short int var30 /* : Bool */;
7085 int cltype31;
7086 int idtype32;
7087 val* var33 /* : AAttrPropdef */;
7088 val* var34 /* : null */;
7089 val* var35 /* : null */;
7090 val* var36 /* : null */;
7091 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
7092 long var37 /* : Int */;
7093 long var38 /* : Int */;
7094 var_p = p0;
7095 var = NULL;
7096 var_node_list = var;
7097 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7098 var_nodearraylist10 = var1;
7099 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7100 var_nodearraylist9 = var2;
7101 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7102 var_nodearraylist8 = var3;
7103 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7104 var_nodearraylist7 = var4;
7105 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7106 var_nodearraylist6 = var5;
7107 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7108 var_nodearraylist5 = var6;
7109 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7110 var_nodearraylist4 = var7;
7111 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7112 var_nodearraylist3 = var8;
7113 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7114 var_nodearraylist2 = var9;
7115 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7116 var_nodearraylist1 = var10;
7117 var_pdocnode2 = var_nodearraylist1;
7118 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7119 cltype = type_nullable_parser_nodes__ADoc.color;
7120 idtype = type_nullable_parser_nodes__ADoc.id;
7121 if(var_pdocnode2 == NULL) {
7122 var11 = 1;
7123 } else {
7124 if(cltype >= var_pdocnode2->type->table_size) {
7125 var11 = 0;
7126 } else {
7127 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
7128 }
7129 }
7130 if (!var11) {
7131 fprintf(stderr, "Runtime error: %s", "Assert failed");
7132 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17944);
7133 show_backtrace(1);
7134 }
7135 var_pablenode3 = var_nodearraylist2;
7136 /* <var_pablenode3:nullable Object> isa nullable AAble */
7137 cltype13 = type_nullable_parser_nodes__AAble.color;
7138 idtype14 = type_nullable_parser_nodes__AAble.id;
7139 if(var_pablenode3 == NULL) {
7140 var12 = 1;
7141 } else {
7142 if(cltype13 >= var_pablenode3->type->table_size) {
7143 var12 = 0;
7144 } else {
7145 var12 = var_pablenode3->type->type_table[cltype13] == idtype14;
7146 }
7147 }
7148 if (!var12) {
7149 fprintf(stderr, "Runtime error: %s", "Assert failed");
7150 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17946);
7151 show_backtrace(1);
7152 }
7153 var_pablenode4 = var_nodearraylist3;
7154 /* <var_pablenode4:nullable Object> isa nullable AAble */
7155 cltype16 = type_nullable_parser_nodes__AAble.color;
7156 idtype17 = type_nullable_parser_nodes__AAble.id;
7157 if(var_pablenode4 == NULL) {
7158 var15 = 1;
7159 } else {
7160 if(cltype16 >= var_pablenode4->type->table_size) {
7161 var15 = 0;
7162 } else {
7163 var15 = var_pablenode4->type->type_table[cltype16] == idtype17;
7164 }
7165 }
7166 if (!var15) {
7167 fprintf(stderr, "Runtime error: %s", "Assert failed");
7168 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17948);
7169 show_backtrace(1);
7170 }
7171 var_tkwredefnode5 = var_nodearraylist4;
7172 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
7173 cltype19 = type_nullable_parser_nodes__TKwredef.color;
7174 idtype20 = type_nullable_parser_nodes__TKwredef.id;
7175 if(var_tkwredefnode5 == NULL) {
7176 var18 = 1;
7177 } else {
7178 if(cltype19 >= var_tkwredefnode5->type->table_size) {
7179 var18 = 0;
7180 } else {
7181 var18 = var_tkwredefnode5->type->type_table[cltype19] == idtype20;
7182 }
7183 }
7184 if (!var18) {
7185 fprintf(stderr, "Runtime error: %s", "Assert failed");
7186 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17950);
7187 show_backtrace(1);
7188 }
7189 var_pvisibilitynode6 = var_nodearraylist5;
7190 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
7191 cltype22 = type_nullable_parser_nodes__AVisibility.color;
7192 idtype23 = type_nullable_parser_nodes__AVisibility.id;
7193 if(var_pvisibilitynode6 == NULL) {
7194 var21 = 1;
7195 } else {
7196 if(cltype22 >= var_pvisibilitynode6->type->table_size) {
7197 var21 = 0;
7198 } else {
7199 var21 = var_pvisibilitynode6->type->type_table[cltype22] == idtype23;
7200 }
7201 }
7202 if (!var21) {
7203 fprintf(stderr, "Runtime error: %s", "Assert failed");
7204 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17952);
7205 show_backtrace(1);
7206 }
7207 var_tkwvarnode7 = var_nodearraylist6;
7208 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
7209 cltype25 = type_nullable_parser_nodes__TKwvar.color;
7210 idtype26 = type_nullable_parser_nodes__TKwvar.id;
7211 if(var_tkwvarnode7 == NULL) {
7212 var24 = 1;
7213 } else {
7214 if(cltype25 >= var_tkwvarnode7->type->table_size) {
7215 var24 = 0;
7216 } else {
7217 var24 = var_tkwvarnode7->type->type_table[cltype25] == idtype26;
7218 }
7219 }
7220 if (!var24) {
7221 fprintf(stderr, "Runtime error: %s", "Assert failed");
7222 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17954);
7223 show_backtrace(1);
7224 }
7225 var_tattridnode8 = var_nodearraylist7;
7226 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
7227 cltype28 = type_nullable_parser_nodes__TAttrid.color;
7228 idtype29 = type_nullable_parser_nodes__TAttrid.id;
7229 if(var_tattridnode8 == NULL) {
7230 var27 = 1;
7231 } else {
7232 if(cltype28 >= var_tattridnode8->type->table_size) {
7233 var27 = 0;
7234 } else {
7235 var27 = var_tattridnode8->type->type_table[cltype28] == idtype29;
7236 }
7237 }
7238 if (!var27) {
7239 fprintf(stderr, "Runtime error: %s", "Assert failed");
7240 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17956);
7241 show_backtrace(1);
7242 }
7243 var_pexprnode12 = var_nodearraylist10;
7244 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
7245 cltype31 = type_nullable_parser_nodes__AExpr.color;
7246 idtype32 = type_nullable_parser_nodes__AExpr.id;
7247 if(var_pexprnode12 == NULL) {
7248 var30 = 1;
7249 } else {
7250 if(cltype31 >= var_pexprnode12->type->table_size) {
7251 var30 = 0;
7252 } else {
7253 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
7254 }
7255 }
7256 if (!var30) {
7257 fprintf(stderr, "Runtime error: %s", "Assert failed");
7258 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17958);
7259 show_backtrace(1);
7260 }
7261 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
7262 var34 = NULL;
7263 var35 = NULL;
7264 var36 = NULL;
7265 ((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>*/;
7266 var_ppropdefnode1 = var33;
7267 var_node_list = var_ppropdefnode1;
7268 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction404> */
7269 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
7270 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
7271 RET_LABEL:;
7272 }
7273 /* method parser#ReduceAction404#action for (self: Object, Parser) */
7274 void VIRTUAL_parser__ReduceAction404__action(val* self, val* p0) {
7275 parser__ReduceAction404__action(self, p0);
7276 RET_LABEL:;
7277 }
7278 /* method parser#ReduceAction405#action for (self: ReduceAction405, Parser) */
7279 void parser__ReduceAction405__action(val* self, val* p0) {
7280 val* var_p /* var p: Parser */;
7281 val* var /* : null */;
7282 val* var_node_list /* var node_list: nullable Object */;
7283 val* var1 /* : nullable Object */;
7284 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7285 val* var2 /* : nullable Object */;
7286 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7287 val* var3 /* : nullable Object */;
7288 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7289 val* var4 /* : nullable Object */;
7290 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7291 val* var5 /* : nullable Object */;
7292 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7293 val* var6 /* : nullable Object */;
7294 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7295 val* var7 /* : nullable Object */;
7296 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7297 val* var8 /* : nullable Object */;
7298 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7299 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7300 short int var9 /* : Bool */;
7301 int cltype;
7302 int idtype;
7303 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
7304 short int var10 /* : Bool */;
7305 int cltype11;
7306 int idtype12;
7307 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
7308 short int var13 /* : Bool */;
7309 int cltype14;
7310 int idtype15;
7311 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
7312 short int var16 /* : Bool */;
7313 int cltype17;
7314 int idtype18;
7315 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
7316 short int var19 /* : Bool */;
7317 int cltype20;
7318 int idtype21;
7319 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
7320 short int var22 /* : Bool */;
7321 int cltype23;
7322 int idtype24;
7323 val* var25 /* : AAttrPropdef */;
7324 val* var26 /* : null */;
7325 val* var27 /* : null */;
7326 val* var28 /* : null */;
7327 val* var29 /* : null */;
7328 val* var30 /* : null */;
7329 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
7330 long var31 /* : Int */;
7331 long var32 /* : Int */;
7332 var_p = p0;
7333 var = NULL;
7334 var_node_list = var;
7335 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7336 var_nodearraylist8 = var1;
7337 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7338 var_nodearraylist7 = var2;
7339 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7340 var_nodearraylist6 = var3;
7341 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7342 var_nodearraylist5 = var4;
7343 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7344 var_nodearraylist4 = var5;
7345 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7346 var_nodearraylist3 = var6;
7347 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7348 var_nodearraylist2 = var7;
7349 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7350 var_nodearraylist1 = var8;
7351 var_pdocnode2 = var_nodearraylist1;
7352 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7353 cltype = type_nullable_parser_nodes__ADoc.color;
7354 idtype = type_nullable_parser_nodes__ADoc.id;
7355 if(var_pdocnode2 == NULL) {
7356 var9 = 1;
7357 } else {
7358 if(cltype >= var_pdocnode2->type->table_size) {
7359 var9 = 0;
7360 } else {
7361 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
7362 }
7363 }
7364 if (!var9) {
7365 fprintf(stderr, "Runtime error: %s", "Assert failed");
7366 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17990);
7367 show_backtrace(1);
7368 }
7369 var_pvisibilitynode6 = var_nodearraylist2;
7370 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
7371 cltype11 = type_nullable_parser_nodes__AVisibility.color;
7372 idtype12 = type_nullable_parser_nodes__AVisibility.id;
7373 if(var_pvisibilitynode6 == NULL) {
7374 var10 = 1;
7375 } else {
7376 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
7377 var10 = 0;
7378 } else {
7379 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
7380 }
7381 }
7382 if (!var10) {
7383 fprintf(stderr, "Runtime error: %s", "Assert failed");
7384 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17992);
7385 show_backtrace(1);
7386 }
7387 var_tkwvarnode7 = var_nodearraylist3;
7388 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
7389 cltype14 = type_nullable_parser_nodes__TKwvar.color;
7390 idtype15 = type_nullable_parser_nodes__TKwvar.id;
7391 if(var_tkwvarnode7 == NULL) {
7392 var13 = 1;
7393 } else {
7394 if(cltype14 >= var_tkwvarnode7->type->table_size) {
7395 var13 = 0;
7396 } else {
7397 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
7398 }
7399 }
7400 if (!var13) {
7401 fprintf(stderr, "Runtime error: %s", "Assert failed");
7402 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17994);
7403 show_backtrace(1);
7404 }
7405 var_tattridnode8 = var_nodearraylist4;
7406 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
7407 cltype17 = type_nullable_parser_nodes__TAttrid.color;
7408 idtype18 = type_nullable_parser_nodes__TAttrid.id;
7409 if(var_tattridnode8 == NULL) {
7410 var16 = 1;
7411 } else {
7412 if(cltype17 >= var_tattridnode8->type->table_size) {
7413 var16 = 0;
7414 } else {
7415 var16 = var_tattridnode8->type->type_table[cltype17] == idtype18;
7416 }
7417 }
7418 if (!var16) {
7419 fprintf(stderr, "Runtime error: %s", "Assert failed");
7420 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17996);
7421 show_backtrace(1);
7422 }
7423 var_ptypenode10 = var_nodearraylist5;
7424 /* <var_ptypenode10:nullable Object> isa nullable AType */
7425 cltype20 = type_nullable_parser_nodes__AType.color;
7426 idtype21 = type_nullable_parser_nodes__AType.id;
7427 if(var_ptypenode10 == NULL) {
7428 var19 = 1;
7429 } else {
7430 if(cltype20 >= var_ptypenode10->type->table_size) {
7431 var19 = 0;
7432 } else {
7433 var19 = var_ptypenode10->type->type_table[cltype20] == idtype21;
7434 }
7435 }
7436 if (!var19) {
7437 fprintf(stderr, "Runtime error: %s", "Assert failed");
7438 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 17998);
7439 show_backtrace(1);
7440 }
7441 var_pexprnode12 = var_nodearraylist8;
7442 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
7443 cltype23 = type_nullable_parser_nodes__AExpr.color;
7444 idtype24 = type_nullable_parser_nodes__AExpr.id;
7445 if(var_pexprnode12 == NULL) {
7446 var22 = 1;
7447 } else {
7448 if(cltype23 >= var_pexprnode12->type->table_size) {
7449 var22 = 0;
7450 } else {
7451 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
7452 }
7453 }
7454 if (!var22) {
7455 fprintf(stderr, "Runtime error: %s", "Assert failed");
7456 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18000);
7457 show_backtrace(1);
7458 }
7459 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
7460 var26 = NULL;
7461 var27 = NULL;
7462 var28 = NULL;
7463 var29 = NULL;
7464 var30 = NULL;
7465 ((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>*/;
7466 var_ppropdefnode1 = var25;
7467 var_node_list = var_ppropdefnode1;
7468 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction405> */
7469 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
7470 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
7471 RET_LABEL:;
7472 }
7473 /* method parser#ReduceAction405#action for (self: Object, Parser) */
7474 void VIRTUAL_parser__ReduceAction405__action(val* self, val* p0) {
7475 parser__ReduceAction405__action(self, p0);
7476 RET_LABEL:;
7477 }
7478 /* method parser#ReduceAction406#action for (self: ReduceAction406, Parser) */
7479 void parser__ReduceAction406__action(val* self, val* p0) {
7480 val* var_p /* var p: Parser */;
7481 val* var /* : null */;
7482 val* var_node_list /* var node_list: nullable Object */;
7483 val* var1 /* : nullable Object */;
7484 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7485 val* var2 /* : nullable Object */;
7486 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7487 val* var3 /* : nullable Object */;
7488 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7489 val* var4 /* : nullable Object */;
7490 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7491 val* var5 /* : nullable Object */;
7492 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7493 val* var6 /* : nullable Object */;
7494 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7495 val* var7 /* : nullable Object */;
7496 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7497 val* var8 /* : nullable Object */;
7498 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7499 val* var9 /* : nullable Object */;
7500 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7501 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7502 short int var10 /* : Bool */;
7503 int cltype;
7504 int idtype;
7505 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
7506 short int var11 /* : Bool */;
7507 int cltype12;
7508 int idtype13;
7509 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
7510 short int var14 /* : Bool */;
7511 int cltype15;
7512 int idtype16;
7513 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
7514 short int var17 /* : Bool */;
7515 int cltype18;
7516 int idtype19;
7517 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
7518 short int var20 /* : Bool */;
7519 int cltype21;
7520 int idtype22;
7521 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
7522 short int var23 /* : Bool */;
7523 int cltype24;
7524 int idtype25;
7525 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
7526 short int var26 /* : Bool */;
7527 int cltype27;
7528 int idtype28;
7529 val* var29 /* : AAttrPropdef */;
7530 val* var30 /* : null */;
7531 val* var31 /* : null */;
7532 val* var32 /* : null */;
7533 val* var33 /* : null */;
7534 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
7535 long var34 /* : Int */;
7536 long var35 /* : Int */;
7537 var_p = p0;
7538 var = NULL;
7539 var_node_list = var;
7540 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7541 var_nodearraylist9 = var1;
7542 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7543 var_nodearraylist8 = var2;
7544 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7545 var_nodearraylist7 = var3;
7546 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7547 var_nodearraylist6 = var4;
7548 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7549 var_nodearraylist5 = var5;
7550 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7551 var_nodearraylist4 = var6;
7552 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7553 var_nodearraylist3 = var7;
7554 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7555 var_nodearraylist2 = var8;
7556 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7557 var_nodearraylist1 = var9;
7558 var_pdocnode2 = var_nodearraylist1;
7559 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7560 cltype = type_nullable_parser_nodes__ADoc.color;
7561 idtype = type_nullable_parser_nodes__ADoc.id;
7562 if(var_pdocnode2 == NULL) {
7563 var10 = 1;
7564 } else {
7565 if(cltype >= var_pdocnode2->type->table_size) {
7566 var10 = 0;
7567 } else {
7568 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
7569 }
7570 }
7571 if (!var10) {
7572 fprintf(stderr, "Runtime error: %s", "Assert failed");
7573 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18033);
7574 show_backtrace(1);
7575 }
7576 var_tkwredefnode5 = var_nodearraylist2;
7577 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
7578 cltype12 = type_nullable_parser_nodes__TKwredef.color;
7579 idtype13 = type_nullable_parser_nodes__TKwredef.id;
7580 if(var_tkwredefnode5 == NULL) {
7581 var11 = 1;
7582 } else {
7583 if(cltype12 >= var_tkwredefnode5->type->table_size) {
7584 var11 = 0;
7585 } else {
7586 var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
7587 }
7588 }
7589 if (!var11) {
7590 fprintf(stderr, "Runtime error: %s", "Assert failed");
7591 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18035);
7592 show_backtrace(1);
7593 }
7594 var_pvisibilitynode6 = var_nodearraylist3;
7595 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
7596 cltype15 = type_nullable_parser_nodes__AVisibility.color;
7597 idtype16 = type_nullable_parser_nodes__AVisibility.id;
7598 if(var_pvisibilitynode6 == NULL) {
7599 var14 = 1;
7600 } else {
7601 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
7602 var14 = 0;
7603 } else {
7604 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
7605 }
7606 }
7607 if (!var14) {
7608 fprintf(stderr, "Runtime error: %s", "Assert failed");
7609 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18037);
7610 show_backtrace(1);
7611 }
7612 var_tkwvarnode7 = var_nodearraylist4;
7613 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
7614 cltype18 = type_nullable_parser_nodes__TKwvar.color;
7615 idtype19 = type_nullable_parser_nodes__TKwvar.id;
7616 if(var_tkwvarnode7 == NULL) {
7617 var17 = 1;
7618 } else {
7619 if(cltype18 >= var_tkwvarnode7->type->table_size) {
7620 var17 = 0;
7621 } else {
7622 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
7623 }
7624 }
7625 if (!var17) {
7626 fprintf(stderr, "Runtime error: %s", "Assert failed");
7627 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18039);
7628 show_backtrace(1);
7629 }
7630 var_tattridnode8 = var_nodearraylist5;
7631 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
7632 cltype21 = type_nullable_parser_nodes__TAttrid.color;
7633 idtype22 = type_nullable_parser_nodes__TAttrid.id;
7634 if(var_tattridnode8 == NULL) {
7635 var20 = 1;
7636 } else {
7637 if(cltype21 >= var_tattridnode8->type->table_size) {
7638 var20 = 0;
7639 } else {
7640 var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
7641 }
7642 }
7643 if (!var20) {
7644 fprintf(stderr, "Runtime error: %s", "Assert failed");
7645 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18041);
7646 show_backtrace(1);
7647 }
7648 var_ptypenode10 = var_nodearraylist6;
7649 /* <var_ptypenode10:nullable Object> isa nullable AType */
7650 cltype24 = type_nullable_parser_nodes__AType.color;
7651 idtype25 = type_nullable_parser_nodes__AType.id;
7652 if(var_ptypenode10 == NULL) {
7653 var23 = 1;
7654 } else {
7655 if(cltype24 >= var_ptypenode10->type->table_size) {
7656 var23 = 0;
7657 } else {
7658 var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
7659 }
7660 }
7661 if (!var23) {
7662 fprintf(stderr, "Runtime error: %s", "Assert failed");
7663 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18043);
7664 show_backtrace(1);
7665 }
7666 var_pexprnode12 = var_nodearraylist9;
7667 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
7668 cltype27 = type_nullable_parser_nodes__AExpr.color;
7669 idtype28 = type_nullable_parser_nodes__AExpr.id;
7670 if(var_pexprnode12 == NULL) {
7671 var26 = 1;
7672 } else {
7673 if(cltype27 >= var_pexprnode12->type->table_size) {
7674 var26 = 0;
7675 } else {
7676 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
7677 }
7678 }
7679 if (!var26) {
7680 fprintf(stderr, "Runtime error: %s", "Assert failed");
7681 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18045);
7682 show_backtrace(1);
7683 }
7684 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
7685 var30 = NULL;
7686 var31 = NULL;
7687 var32 = NULL;
7688 var33 = NULL;
7689 ((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>*/;
7690 var_ppropdefnode1 = var29;
7691 var_node_list = var_ppropdefnode1;
7692 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction406> */
7693 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
7694 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
7695 RET_LABEL:;
7696 }
7697 /* method parser#ReduceAction406#action for (self: Object, Parser) */
7698 void VIRTUAL_parser__ReduceAction406__action(val* self, val* p0) {
7699 parser__ReduceAction406__action(self, p0);
7700 RET_LABEL:;
7701 }
7702 /* method parser#ReduceAction407#action for (self: ReduceAction407, Parser) */
7703 void parser__ReduceAction407__action(val* self, val* p0) {
7704 val* var_p /* var p: Parser */;
7705 val* var /* : null */;
7706 val* var_node_list /* var node_list: nullable Object */;
7707 val* var1 /* : nullable Object */;
7708 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7709 val* var2 /* : nullable Object */;
7710 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7711 val* var3 /* : nullable Object */;
7712 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7713 val* var4 /* : nullable Object */;
7714 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7715 val* var5 /* : nullable Object */;
7716 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7717 val* var6 /* : nullable Object */;
7718 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7719 val* var7 /* : nullable Object */;
7720 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7721 val* var8 /* : nullable Object */;
7722 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7723 val* var9 /* : nullable Object */;
7724 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7725 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7726 short int var10 /* : Bool */;
7727 int cltype;
7728 int idtype;
7729 val* var_pablenode3 /* var pablenode3: nullable Object */;
7730 short int var11 /* : Bool */;
7731 int cltype12;
7732 int idtype13;
7733 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
7734 short int var14 /* : Bool */;
7735 int cltype15;
7736 int idtype16;
7737 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
7738 short int var17 /* : Bool */;
7739 int cltype18;
7740 int idtype19;
7741 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
7742 short int var20 /* : Bool */;
7743 int cltype21;
7744 int idtype22;
7745 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
7746 short int var23 /* : Bool */;
7747 int cltype24;
7748 int idtype25;
7749 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
7750 short int var26 /* : Bool */;
7751 int cltype27;
7752 int idtype28;
7753 val* var29 /* : AAttrPropdef */;
7754 val* var30 /* : null */;
7755 val* var31 /* : null */;
7756 val* var32 /* : null */;
7757 val* var33 /* : null */;
7758 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
7759 long var34 /* : Int */;
7760 long var35 /* : Int */;
7761 var_p = p0;
7762 var = NULL;
7763 var_node_list = var;
7764 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7765 var_nodearraylist9 = var1;
7766 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7767 var_nodearraylist8 = var2;
7768 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7769 var_nodearraylist7 = var3;
7770 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7771 var_nodearraylist6 = var4;
7772 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7773 var_nodearraylist5 = var5;
7774 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7775 var_nodearraylist4 = var6;
7776 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7777 var_nodearraylist3 = var7;
7778 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7779 var_nodearraylist2 = var8;
7780 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7781 var_nodearraylist1 = var9;
7782 var_pdocnode2 = var_nodearraylist1;
7783 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7784 cltype = type_nullable_parser_nodes__ADoc.color;
7785 idtype = type_nullable_parser_nodes__ADoc.id;
7786 if(var_pdocnode2 == NULL) {
7787 var10 = 1;
7788 } else {
7789 if(cltype >= var_pdocnode2->type->table_size) {
7790 var10 = 0;
7791 } else {
7792 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
7793 }
7794 }
7795 if (!var10) {
7796 fprintf(stderr, "Runtime error: %s", "Assert failed");
7797 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18078);
7798 show_backtrace(1);
7799 }
7800 var_pablenode3 = var_nodearraylist2;
7801 /* <var_pablenode3:nullable Object> isa nullable AAble */
7802 cltype12 = type_nullable_parser_nodes__AAble.color;
7803 idtype13 = type_nullable_parser_nodes__AAble.id;
7804 if(var_pablenode3 == NULL) {
7805 var11 = 1;
7806 } else {
7807 if(cltype12 >= var_pablenode3->type->table_size) {
7808 var11 = 0;
7809 } else {
7810 var11 = var_pablenode3->type->type_table[cltype12] == idtype13;
7811 }
7812 }
7813 if (!var11) {
7814 fprintf(stderr, "Runtime error: %s", "Assert failed");
7815 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18080);
7816 show_backtrace(1);
7817 }
7818 var_pvisibilitynode6 = var_nodearraylist3;
7819 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
7820 cltype15 = type_nullable_parser_nodes__AVisibility.color;
7821 idtype16 = type_nullable_parser_nodes__AVisibility.id;
7822 if(var_pvisibilitynode6 == NULL) {
7823 var14 = 1;
7824 } else {
7825 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
7826 var14 = 0;
7827 } else {
7828 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
7829 }
7830 }
7831 if (!var14) {
7832 fprintf(stderr, "Runtime error: %s", "Assert failed");
7833 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18082);
7834 show_backtrace(1);
7835 }
7836 var_tkwvarnode7 = var_nodearraylist4;
7837 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
7838 cltype18 = type_nullable_parser_nodes__TKwvar.color;
7839 idtype19 = type_nullable_parser_nodes__TKwvar.id;
7840 if(var_tkwvarnode7 == NULL) {
7841 var17 = 1;
7842 } else {
7843 if(cltype18 >= var_tkwvarnode7->type->table_size) {
7844 var17 = 0;
7845 } else {
7846 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
7847 }
7848 }
7849 if (!var17) {
7850 fprintf(stderr, "Runtime error: %s", "Assert failed");
7851 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18084);
7852 show_backtrace(1);
7853 }
7854 var_tattridnode8 = var_nodearraylist5;
7855 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
7856 cltype21 = type_nullable_parser_nodes__TAttrid.color;
7857 idtype22 = type_nullable_parser_nodes__TAttrid.id;
7858 if(var_tattridnode8 == NULL) {
7859 var20 = 1;
7860 } else {
7861 if(cltype21 >= var_tattridnode8->type->table_size) {
7862 var20 = 0;
7863 } else {
7864 var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
7865 }
7866 }
7867 if (!var20) {
7868 fprintf(stderr, "Runtime error: %s", "Assert failed");
7869 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18086);
7870 show_backtrace(1);
7871 }
7872 var_ptypenode10 = var_nodearraylist6;
7873 /* <var_ptypenode10:nullable Object> isa nullable AType */
7874 cltype24 = type_nullable_parser_nodes__AType.color;
7875 idtype25 = type_nullable_parser_nodes__AType.id;
7876 if(var_ptypenode10 == NULL) {
7877 var23 = 1;
7878 } else {
7879 if(cltype24 >= var_ptypenode10->type->table_size) {
7880 var23 = 0;
7881 } else {
7882 var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
7883 }
7884 }
7885 if (!var23) {
7886 fprintf(stderr, "Runtime error: %s", "Assert failed");
7887 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18088);
7888 show_backtrace(1);
7889 }
7890 var_pexprnode12 = var_nodearraylist9;
7891 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
7892 cltype27 = type_nullable_parser_nodes__AExpr.color;
7893 idtype28 = type_nullable_parser_nodes__AExpr.id;
7894 if(var_pexprnode12 == NULL) {
7895 var26 = 1;
7896 } else {
7897 if(cltype27 >= var_pexprnode12->type->table_size) {
7898 var26 = 0;
7899 } else {
7900 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
7901 }
7902 }
7903 if (!var26) {
7904 fprintf(stderr, "Runtime error: %s", "Assert failed");
7905 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18090);
7906 show_backtrace(1);
7907 }
7908 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
7909 var30 = NULL;
7910 var31 = NULL;
7911 var32 = NULL;
7912 var33 = NULL;
7913 ((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>*/;
7914 var_ppropdefnode1 = var29;
7915 var_node_list = var_ppropdefnode1;
7916 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction407> */
7917 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
7918 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
7919 RET_LABEL:;
7920 }
7921 /* method parser#ReduceAction407#action for (self: Object, Parser) */
7922 void VIRTUAL_parser__ReduceAction407__action(val* self, val* p0) {
7923 parser__ReduceAction407__action(self, p0);
7924 RET_LABEL:;
7925 }
7926 /* method parser#ReduceAction408#action for (self: ReduceAction408, Parser) */
7927 void parser__ReduceAction408__action(val* self, val* p0) {
7928 val* var_p /* var p: Parser */;
7929 val* var /* : null */;
7930 val* var_node_list /* var node_list: nullable Object */;
7931 val* var1 /* : nullable Object */;
7932 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7933 val* var2 /* : nullable Object */;
7934 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7935 val* var3 /* : nullable Object */;
7936 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7937 val* var4 /* : nullable Object */;
7938 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7939 val* var5 /* : nullable Object */;
7940 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7941 val* var6 /* : nullable Object */;
7942 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7943 val* var7 /* : nullable Object */;
7944 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7945 val* var8 /* : nullable Object */;
7946 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7947 val* var9 /* : nullable Object */;
7948 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7949 val* var10 /* : nullable Object */;
7950 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7951 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7952 short int var11 /* : Bool */;
7953 int cltype;
7954 int idtype;
7955 val* var_pablenode3 /* var pablenode3: nullable Object */;
7956 short int var12 /* : Bool */;
7957 int cltype13;
7958 int idtype14;
7959 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
7960 short int var15 /* : Bool */;
7961 int cltype16;
7962 int idtype17;
7963 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
7964 short int var18 /* : Bool */;
7965 int cltype19;
7966 int idtype20;
7967 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
7968 short int var21 /* : Bool */;
7969 int cltype22;
7970 int idtype23;
7971 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
7972 short int var24 /* : Bool */;
7973 int cltype25;
7974 int idtype26;
7975 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
7976 short int var27 /* : Bool */;
7977 int cltype28;
7978 int idtype29;
7979 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
7980 short int var30 /* : Bool */;
7981 int cltype31;
7982 int idtype32;
7983 val* var33 /* : AAttrPropdef */;
7984 val* var34 /* : null */;
7985 val* var35 /* : null */;
7986 val* var36 /* : null */;
7987 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
7988 long var37 /* : Int */;
7989 long var38 /* : Int */;
7990 var_p = p0;
7991 var = NULL;
7992 var_node_list = var;
7993 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7994 var_nodearraylist10 = var1;
7995 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7996 var_nodearraylist9 = var2;
7997 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7998 var_nodearraylist8 = var3;
7999 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8000 var_nodearraylist7 = var4;
8001 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8002 var_nodearraylist6 = var5;
8003 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8004 var_nodearraylist5 = var6;
8005 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8006 var_nodearraylist4 = var7;
8007 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8008 var_nodearraylist3 = var8;
8009 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8010 var_nodearraylist2 = var9;
8011 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8012 var_nodearraylist1 = var10;
8013 var_pdocnode2 = var_nodearraylist1;
8014 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8015 cltype = type_nullable_parser_nodes__ADoc.color;
8016 idtype = type_nullable_parser_nodes__ADoc.id;
8017 if(var_pdocnode2 == NULL) {
8018 var11 = 1;
8019 } else {
8020 if(cltype >= var_pdocnode2->type->table_size) {
8021 var11 = 0;
8022 } else {
8023 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
8024 }
8025 }
8026 if (!var11) {
8027 fprintf(stderr, "Runtime error: %s", "Assert failed");
8028 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18124);
8029 show_backtrace(1);
8030 }
8031 var_pablenode3 = var_nodearraylist2;
8032 /* <var_pablenode3:nullable Object> isa nullable AAble */
8033 cltype13 = type_nullable_parser_nodes__AAble.color;
8034 idtype14 = type_nullable_parser_nodes__AAble.id;
8035 if(var_pablenode3 == NULL) {
8036 var12 = 1;
8037 } else {
8038 if(cltype13 >= var_pablenode3->type->table_size) {
8039 var12 = 0;
8040 } else {
8041 var12 = var_pablenode3->type->type_table[cltype13] == idtype14;
8042 }
8043 }
8044 if (!var12) {
8045 fprintf(stderr, "Runtime error: %s", "Assert failed");
8046 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18126);
8047 show_backtrace(1);
8048 }
8049 var_tkwredefnode5 = var_nodearraylist3;
8050 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
8051 cltype16 = type_nullable_parser_nodes__TKwredef.color;
8052 idtype17 = type_nullable_parser_nodes__TKwredef.id;
8053 if(var_tkwredefnode5 == NULL) {
8054 var15 = 1;
8055 } else {
8056 if(cltype16 >= var_tkwredefnode5->type->table_size) {
8057 var15 = 0;
8058 } else {
8059 var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
8060 }
8061 }
8062 if (!var15) {
8063 fprintf(stderr, "Runtime error: %s", "Assert failed");
8064 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18128);
8065 show_backtrace(1);
8066 }
8067 var_pvisibilitynode6 = var_nodearraylist4;
8068 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
8069 cltype19 = type_nullable_parser_nodes__AVisibility.color;
8070 idtype20 = type_nullable_parser_nodes__AVisibility.id;
8071 if(var_pvisibilitynode6 == NULL) {
8072 var18 = 1;
8073 } else {
8074 if(cltype19 >= var_pvisibilitynode6->type->table_size) {
8075 var18 = 0;
8076 } else {
8077 var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
8078 }
8079 }
8080 if (!var18) {
8081 fprintf(stderr, "Runtime error: %s", "Assert failed");
8082 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18130);
8083 show_backtrace(1);
8084 }
8085 var_tkwvarnode7 = var_nodearraylist5;
8086 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
8087 cltype22 = type_nullable_parser_nodes__TKwvar.color;
8088 idtype23 = type_nullable_parser_nodes__TKwvar.id;
8089 if(var_tkwvarnode7 == NULL) {
8090 var21 = 1;
8091 } else {
8092 if(cltype22 >= var_tkwvarnode7->type->table_size) {
8093 var21 = 0;
8094 } else {
8095 var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
8096 }
8097 }
8098 if (!var21) {
8099 fprintf(stderr, "Runtime error: %s", "Assert failed");
8100 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18132);
8101 show_backtrace(1);
8102 }
8103 var_tattridnode8 = var_nodearraylist6;
8104 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
8105 cltype25 = type_nullable_parser_nodes__TAttrid.color;
8106 idtype26 = type_nullable_parser_nodes__TAttrid.id;
8107 if(var_tattridnode8 == NULL) {
8108 var24 = 1;
8109 } else {
8110 if(cltype25 >= var_tattridnode8->type->table_size) {
8111 var24 = 0;
8112 } else {
8113 var24 = var_tattridnode8->type->type_table[cltype25] == idtype26;
8114 }
8115 }
8116 if (!var24) {
8117 fprintf(stderr, "Runtime error: %s", "Assert failed");
8118 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18134);
8119 show_backtrace(1);
8120 }
8121 var_ptypenode10 = var_nodearraylist7;
8122 /* <var_ptypenode10:nullable Object> isa nullable AType */
8123 cltype28 = type_nullable_parser_nodes__AType.color;
8124 idtype29 = type_nullable_parser_nodes__AType.id;
8125 if(var_ptypenode10 == NULL) {
8126 var27 = 1;
8127 } else {
8128 if(cltype28 >= var_ptypenode10->type->table_size) {
8129 var27 = 0;
8130 } else {
8131 var27 = var_ptypenode10->type->type_table[cltype28] == idtype29;
8132 }
8133 }
8134 if (!var27) {
8135 fprintf(stderr, "Runtime error: %s", "Assert failed");
8136 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18136);
8137 show_backtrace(1);
8138 }
8139 var_pexprnode12 = var_nodearraylist10;
8140 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
8141 cltype31 = type_nullable_parser_nodes__AExpr.color;
8142 idtype32 = type_nullable_parser_nodes__AExpr.id;
8143 if(var_pexprnode12 == NULL) {
8144 var30 = 1;
8145 } else {
8146 if(cltype31 >= var_pexprnode12->type->table_size) {
8147 var30 = 0;
8148 } else {
8149 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
8150 }
8151 }
8152 if (!var30) {
8153 fprintf(stderr, "Runtime error: %s", "Assert failed");
8154 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18138);
8155 show_backtrace(1);
8156 }
8157 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
8158 var34 = NULL;
8159 var35 = NULL;
8160 var36 = NULL;
8161 ((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>*/;
8162 var_ppropdefnode1 = var33;
8163 var_node_list = var_ppropdefnode1;
8164 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction408> */
8165 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
8166 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
8167 RET_LABEL:;
8168 }
8169 /* method parser#ReduceAction408#action for (self: Object, Parser) */
8170 void VIRTUAL_parser__ReduceAction408__action(val* self, val* p0) {
8171 parser__ReduceAction408__action(self, p0);
8172 RET_LABEL:;
8173 }
8174 /* method parser#ReduceAction409#action for (self: ReduceAction409, Parser) */
8175 void parser__ReduceAction409__action(val* self, val* p0) {
8176 val* var_p /* var p: Parser */;
8177 val* var /* : null */;
8178 val* var_node_list /* var node_list: nullable Object */;
8179 val* var1 /* : nullable Object */;
8180 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8181 val* var2 /* : nullable Object */;
8182 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8183 val* var3 /* : nullable Object */;
8184 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8185 val* var4 /* : nullable Object */;
8186 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8187 val* var5 /* : nullable Object */;
8188 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8189 val* var6 /* : nullable Object */;
8190 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8191 val* var7 /* : nullable Object */;
8192 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8193 val* var8 /* : nullable Object */;
8194 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8195 val* var9 /* : nullable Object */;
8196 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8197 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8198 short int var10 /* : Bool */;
8199 int cltype;
8200 int idtype;
8201 val* var_pablenode4 /* var pablenode4: nullable Object */;
8202 short int var11 /* : Bool */;
8203 int cltype12;
8204 int idtype13;
8205 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
8206 short int var14 /* : Bool */;
8207 int cltype15;
8208 int idtype16;
8209 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
8210 short int var17 /* : Bool */;
8211 int cltype18;
8212 int idtype19;
8213 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
8214 short int var20 /* : Bool */;
8215 int cltype21;
8216 int idtype22;
8217 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
8218 short int var23 /* : Bool */;
8219 int cltype24;
8220 int idtype25;
8221 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
8222 short int var26 /* : Bool */;
8223 int cltype27;
8224 int idtype28;
8225 val* var29 /* : AAttrPropdef */;
8226 val* var30 /* : null */;
8227 val* var31 /* : null */;
8228 val* var32 /* : null */;
8229 val* var33 /* : null */;
8230 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
8231 long var34 /* : Int */;
8232 long var35 /* : Int */;
8233 var_p = p0;
8234 var = NULL;
8235 var_node_list = var;
8236 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8237 var_nodearraylist9 = var1;
8238 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8239 var_nodearraylist8 = var2;
8240 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8241 var_nodearraylist7 = var3;
8242 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8243 var_nodearraylist6 = var4;
8244 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8245 var_nodearraylist5 = var5;
8246 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8247 var_nodearraylist4 = var6;
8248 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8249 var_nodearraylist3 = var7;
8250 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8251 var_nodearraylist2 = var8;
8252 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8253 var_nodearraylist1 = var9;
8254 var_pdocnode2 = var_nodearraylist1;
8255 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8256 cltype = type_nullable_parser_nodes__ADoc.color;
8257 idtype = type_nullable_parser_nodes__ADoc.id;
8258 if(var_pdocnode2 == NULL) {
8259 var10 = 1;
8260 } else {
8261 if(cltype >= var_pdocnode2->type->table_size) {
8262 var10 = 0;
8263 } else {
8264 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
8265 }
8266 }
8267 if (!var10) {
8268 fprintf(stderr, "Runtime error: %s", "Assert failed");
8269 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18171);
8270 show_backtrace(1);
8271 }
8272 var_pablenode4 = var_nodearraylist2;
8273 /* <var_pablenode4:nullable Object> isa nullable AAble */
8274 cltype12 = type_nullable_parser_nodes__AAble.color;
8275 idtype13 = type_nullable_parser_nodes__AAble.id;
8276 if(var_pablenode4 == NULL) {
8277 var11 = 1;
8278 } else {
8279 if(cltype12 >= var_pablenode4->type->table_size) {
8280 var11 = 0;
8281 } else {
8282 var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
8283 }
8284 }
8285 if (!var11) {
8286 fprintf(stderr, "Runtime error: %s", "Assert failed");
8287 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18173);
8288 show_backtrace(1);
8289 }
8290 var_pvisibilitynode6 = var_nodearraylist3;
8291 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
8292 cltype15 = type_nullable_parser_nodes__AVisibility.color;
8293 idtype16 = type_nullable_parser_nodes__AVisibility.id;
8294 if(var_pvisibilitynode6 == NULL) {
8295 var14 = 1;
8296 } else {
8297 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
8298 var14 = 0;
8299 } else {
8300 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
8301 }
8302 }
8303 if (!var14) {
8304 fprintf(stderr, "Runtime error: %s", "Assert failed");
8305 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18175);
8306 show_backtrace(1);
8307 }
8308 var_tkwvarnode7 = var_nodearraylist4;
8309 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
8310 cltype18 = type_nullable_parser_nodes__TKwvar.color;
8311 idtype19 = type_nullable_parser_nodes__TKwvar.id;
8312 if(var_tkwvarnode7 == NULL) {
8313 var17 = 1;
8314 } else {
8315 if(cltype18 >= var_tkwvarnode7->type->table_size) {
8316 var17 = 0;
8317 } else {
8318 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
8319 }
8320 }
8321 if (!var17) {
8322 fprintf(stderr, "Runtime error: %s", "Assert failed");
8323 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18177);
8324 show_backtrace(1);
8325 }
8326 var_tattridnode8 = var_nodearraylist5;
8327 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
8328 cltype21 = type_nullable_parser_nodes__TAttrid.color;
8329 idtype22 = type_nullable_parser_nodes__TAttrid.id;
8330 if(var_tattridnode8 == NULL) {
8331 var20 = 1;
8332 } else {
8333 if(cltype21 >= var_tattridnode8->type->table_size) {
8334 var20 = 0;
8335 } else {
8336 var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
8337 }
8338 }
8339 if (!var20) {
8340 fprintf(stderr, "Runtime error: %s", "Assert failed");
8341 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18179);
8342 show_backtrace(1);
8343 }
8344 var_ptypenode10 = var_nodearraylist6;
8345 /* <var_ptypenode10:nullable Object> isa nullable AType */
8346 cltype24 = type_nullable_parser_nodes__AType.color;
8347 idtype25 = type_nullable_parser_nodes__AType.id;
8348 if(var_ptypenode10 == NULL) {
8349 var23 = 1;
8350 } else {
8351 if(cltype24 >= var_ptypenode10->type->table_size) {
8352 var23 = 0;
8353 } else {
8354 var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
8355 }
8356 }
8357 if (!var23) {
8358 fprintf(stderr, "Runtime error: %s", "Assert failed");
8359 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18181);
8360 show_backtrace(1);
8361 }
8362 var_pexprnode12 = var_nodearraylist9;
8363 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
8364 cltype27 = type_nullable_parser_nodes__AExpr.color;
8365 idtype28 = type_nullable_parser_nodes__AExpr.id;
8366 if(var_pexprnode12 == NULL) {
8367 var26 = 1;
8368 } else {
8369 if(cltype27 >= var_pexprnode12->type->table_size) {
8370 var26 = 0;
8371 } else {
8372 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
8373 }
8374 }
8375 if (!var26) {
8376 fprintf(stderr, "Runtime error: %s", "Assert failed");
8377 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18183);
8378 show_backtrace(1);
8379 }
8380 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
8381 var30 = NULL;
8382 var31 = NULL;
8383 var32 = NULL;
8384 var33 = NULL;
8385 ((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, var31, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var32, var_ptypenode10, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
8386 var_ppropdefnode1 = var29;
8387 var_node_list = var_ppropdefnode1;
8388 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction409> */
8389 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
8390 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
8391 RET_LABEL:;
8392 }
8393 /* method parser#ReduceAction409#action for (self: Object, Parser) */
8394 void VIRTUAL_parser__ReduceAction409__action(val* self, val* p0) {
8395 parser__ReduceAction409__action(self, p0);
8396 RET_LABEL:;
8397 }
8398 /* method parser#ReduceAction410#action for (self: ReduceAction410, Parser) */
8399 void parser__ReduceAction410__action(val* self, val* p0) {
8400 val* var_p /* var p: Parser */;
8401 val* var /* : null */;
8402 val* var_node_list /* var node_list: nullable Object */;
8403 val* var1 /* : nullable Object */;
8404 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8405 val* var2 /* : nullable Object */;
8406 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8407 val* var3 /* : nullable Object */;
8408 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8409 val* var4 /* : nullable Object */;
8410 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8411 val* var5 /* : nullable Object */;
8412 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8413 val* var6 /* : nullable Object */;
8414 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8415 val* var7 /* : nullable Object */;
8416 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8417 val* var8 /* : nullable Object */;
8418 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8419 val* var9 /* : nullable Object */;
8420 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8421 val* var10 /* : nullable Object */;
8422 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8423 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8424 short int var11 /* : Bool */;
8425 int cltype;
8426 int idtype;
8427 val* var_pablenode4 /* var pablenode4: nullable Object */;
8428 short int var12 /* : Bool */;
8429 int cltype13;
8430 int idtype14;
8431 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
8432 short int var15 /* : Bool */;
8433 int cltype16;
8434 int idtype17;
8435 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
8436 short int var18 /* : Bool */;
8437 int cltype19;
8438 int idtype20;
8439 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
8440 short int var21 /* : Bool */;
8441 int cltype22;
8442 int idtype23;
8443 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
8444 short int var24 /* : Bool */;
8445 int cltype25;
8446 int idtype26;
8447 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
8448 short int var27 /* : Bool */;
8449 int cltype28;
8450 int idtype29;
8451 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
8452 short int var30 /* : Bool */;
8453 int cltype31;
8454 int idtype32;
8455 val* var33 /* : AAttrPropdef */;
8456 val* var34 /* : null */;
8457 val* var35 /* : null */;
8458 val* var36 /* : null */;
8459 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
8460 long var37 /* : Int */;
8461 long var38 /* : Int */;
8462 var_p = p0;
8463 var = NULL;
8464 var_node_list = var;
8465 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8466 var_nodearraylist10 = var1;
8467 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8468 var_nodearraylist9 = var2;
8469 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8470 var_nodearraylist8 = var3;
8471 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8472 var_nodearraylist7 = var4;
8473 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8474 var_nodearraylist6 = var5;
8475 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8476 var_nodearraylist5 = var6;
8477 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8478 var_nodearraylist4 = var7;
8479 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8480 var_nodearraylist3 = var8;
8481 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8482 var_nodearraylist2 = var9;
8483 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8484 var_nodearraylist1 = var10;
8485 var_pdocnode2 = var_nodearraylist1;
8486 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8487 cltype = type_nullable_parser_nodes__ADoc.color;
8488 idtype = type_nullable_parser_nodes__ADoc.id;
8489 if(var_pdocnode2 == NULL) {
8490 var11 = 1;
8491 } else {
8492 if(cltype >= var_pdocnode2->type->table_size) {
8493 var11 = 0;
8494 } else {
8495 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
8496 }
8497 }
8498 if (!var11) {
8499 fprintf(stderr, "Runtime error: %s", "Assert failed");
8500 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18217);
8501 show_backtrace(1);
8502 }
8503 var_pablenode4 = var_nodearraylist2;
8504 /* <var_pablenode4:nullable Object> isa nullable AAble */
8505 cltype13 = type_nullable_parser_nodes__AAble.color;
8506 idtype14 = type_nullable_parser_nodes__AAble.id;
8507 if(var_pablenode4 == NULL) {
8508 var12 = 1;
8509 } else {
8510 if(cltype13 >= var_pablenode4->type->table_size) {
8511 var12 = 0;
8512 } else {
8513 var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
8514 }
8515 }
8516 if (!var12) {
8517 fprintf(stderr, "Runtime error: %s", "Assert failed");
8518 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18219);
8519 show_backtrace(1);
8520 }
8521 var_tkwredefnode5 = var_nodearraylist3;
8522 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
8523 cltype16 = type_nullable_parser_nodes__TKwredef.color;
8524 idtype17 = type_nullable_parser_nodes__TKwredef.id;
8525 if(var_tkwredefnode5 == NULL) {
8526 var15 = 1;
8527 } else {
8528 if(cltype16 >= var_tkwredefnode5->type->table_size) {
8529 var15 = 0;
8530 } else {
8531 var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
8532 }
8533 }
8534 if (!var15) {
8535 fprintf(stderr, "Runtime error: %s", "Assert failed");
8536 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18221);
8537 show_backtrace(1);
8538 }
8539 var_pvisibilitynode6 = var_nodearraylist4;
8540 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
8541 cltype19 = type_nullable_parser_nodes__AVisibility.color;
8542 idtype20 = type_nullable_parser_nodes__AVisibility.id;
8543 if(var_pvisibilitynode6 == NULL) {
8544 var18 = 1;
8545 } else {
8546 if(cltype19 >= var_pvisibilitynode6->type->table_size) {
8547 var18 = 0;
8548 } else {
8549 var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
8550 }
8551 }
8552 if (!var18) {
8553 fprintf(stderr, "Runtime error: %s", "Assert failed");
8554 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18223);
8555 show_backtrace(1);
8556 }
8557 var_tkwvarnode7 = var_nodearraylist5;
8558 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
8559 cltype22 = type_nullable_parser_nodes__TKwvar.color;
8560 idtype23 = type_nullable_parser_nodes__TKwvar.id;
8561 if(var_tkwvarnode7 == NULL) {
8562 var21 = 1;
8563 } else {
8564 if(cltype22 >= var_tkwvarnode7->type->table_size) {
8565 var21 = 0;
8566 } else {
8567 var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
8568 }
8569 }
8570 if (!var21) {
8571 fprintf(stderr, "Runtime error: %s", "Assert failed");
8572 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18225);
8573 show_backtrace(1);
8574 }
8575 var_tattridnode8 = var_nodearraylist6;
8576 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
8577 cltype25 = type_nullable_parser_nodes__TAttrid.color;
8578 idtype26 = type_nullable_parser_nodes__TAttrid.id;
8579 if(var_tattridnode8 == NULL) {
8580 var24 = 1;
8581 } else {
8582 if(cltype25 >= var_tattridnode8->type->table_size) {
8583 var24 = 0;
8584 } else {
8585 var24 = var_tattridnode8->type->type_table[cltype25] == idtype26;
8586 }
8587 }
8588 if (!var24) {
8589 fprintf(stderr, "Runtime error: %s", "Assert failed");
8590 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18227);
8591 show_backtrace(1);
8592 }
8593 var_ptypenode10 = var_nodearraylist7;
8594 /* <var_ptypenode10:nullable Object> isa nullable AType */
8595 cltype28 = type_nullable_parser_nodes__AType.color;
8596 idtype29 = type_nullable_parser_nodes__AType.id;
8597 if(var_ptypenode10 == NULL) {
8598 var27 = 1;
8599 } else {
8600 if(cltype28 >= var_ptypenode10->type->table_size) {
8601 var27 = 0;
8602 } else {
8603 var27 = var_ptypenode10->type->type_table[cltype28] == idtype29;
8604 }
8605 }
8606 if (!var27) {
8607 fprintf(stderr, "Runtime error: %s", "Assert failed");
8608 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18229);
8609 show_backtrace(1);
8610 }
8611 var_pexprnode12 = var_nodearraylist10;
8612 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
8613 cltype31 = type_nullable_parser_nodes__AExpr.color;
8614 idtype32 = type_nullable_parser_nodes__AExpr.id;
8615 if(var_pexprnode12 == NULL) {
8616 var30 = 1;
8617 } else {
8618 if(cltype31 >= var_pexprnode12->type->table_size) {
8619 var30 = 0;
8620 } else {
8621 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
8622 }
8623 }
8624 if (!var30) {
8625 fprintf(stderr, "Runtime error: %s", "Assert failed");
8626 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18231);
8627 show_backtrace(1);
8628 }
8629 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
8630 var34 = NULL;
8631 var35 = NULL;
8632 var36 = NULL;
8633 ((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, var34, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var35, var_ptypenode10, var36, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
8634 var_ppropdefnode1 = var33;
8635 var_node_list = var_ppropdefnode1;
8636 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction410> */
8637 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
8638 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
8639 RET_LABEL:;
8640 }
8641 /* method parser#ReduceAction410#action for (self: Object, Parser) */
8642 void VIRTUAL_parser__ReduceAction410__action(val* self, val* p0) {
8643 parser__ReduceAction410__action(self, p0);
8644 RET_LABEL:;
8645 }
8646 /* method parser#ReduceAction411#action for (self: ReduceAction411, Parser) */
8647 void parser__ReduceAction411__action(val* self, val* p0) {
8648 val* var_p /* var p: Parser */;
8649 val* var /* : null */;
8650 val* var_node_list /* var node_list: nullable Object */;
8651 val* var1 /* : nullable Object */;
8652 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8653 val* var2 /* : nullable Object */;
8654 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8655 val* var3 /* : nullable Object */;
8656 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8657 val* var4 /* : nullable Object */;
8658 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8659 val* var5 /* : nullable Object */;
8660 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8661 val* var6 /* : nullable Object */;
8662 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8663 val* var7 /* : nullable Object */;
8664 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8665 val* var8 /* : nullable Object */;
8666 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8667 val* var9 /* : nullable Object */;
8668 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8669 val* var10 /* : nullable Object */;
8670 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8671 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8672 short int var11 /* : Bool */;
8673 int cltype;
8674 int idtype;
8675 val* var_pablenode3 /* var pablenode3: nullable Object */;
8676 short int var12 /* : Bool */;
8677 int cltype13;
8678 int idtype14;
8679 val* var_pablenode4 /* var pablenode4: nullable Object */;
8680 short int var15 /* : Bool */;
8681 int cltype16;
8682 int idtype17;
8683 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
8684 short int var18 /* : Bool */;
8685 int cltype19;
8686 int idtype20;
8687 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
8688 short int var21 /* : Bool */;
8689 int cltype22;
8690 int idtype23;
8691 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
8692 short int var24 /* : Bool */;
8693 int cltype25;
8694 int idtype26;
8695 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
8696 short int var27 /* : Bool */;
8697 int cltype28;
8698 int idtype29;
8699 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
8700 short int var30 /* : Bool */;
8701 int cltype31;
8702 int idtype32;
8703 val* var33 /* : AAttrPropdef */;
8704 val* var34 /* : null */;
8705 val* var35 /* : null */;
8706 val* var36 /* : null */;
8707 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
8708 long var37 /* : Int */;
8709 long var38 /* : Int */;
8710 var_p = p0;
8711 var = NULL;
8712 var_node_list = var;
8713 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8714 var_nodearraylist10 = var1;
8715 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8716 var_nodearraylist9 = var2;
8717 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8718 var_nodearraylist8 = var3;
8719 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8720 var_nodearraylist7 = var4;
8721 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8722 var_nodearraylist6 = var5;
8723 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8724 var_nodearraylist5 = var6;
8725 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8726 var_nodearraylist4 = var7;
8727 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8728 var_nodearraylist3 = var8;
8729 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8730 var_nodearraylist2 = var9;
8731 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8732 var_nodearraylist1 = var10;
8733 var_pdocnode2 = var_nodearraylist1;
8734 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8735 cltype = type_nullable_parser_nodes__ADoc.color;
8736 idtype = type_nullable_parser_nodes__ADoc.id;
8737 if(var_pdocnode2 == NULL) {
8738 var11 = 1;
8739 } else {
8740 if(cltype >= var_pdocnode2->type->table_size) {
8741 var11 = 0;
8742 } else {
8743 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
8744 }
8745 }
8746 if (!var11) {
8747 fprintf(stderr, "Runtime error: %s", "Assert failed");
8748 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18265);
8749 show_backtrace(1);
8750 }
8751 var_pablenode3 = var_nodearraylist2;
8752 /* <var_pablenode3:nullable Object> isa nullable AAble */
8753 cltype13 = type_nullable_parser_nodes__AAble.color;
8754 idtype14 = type_nullable_parser_nodes__AAble.id;
8755 if(var_pablenode3 == NULL) {
8756 var12 = 1;
8757 } else {
8758 if(cltype13 >= var_pablenode3->type->table_size) {
8759 var12 = 0;
8760 } else {
8761 var12 = var_pablenode3->type->type_table[cltype13] == idtype14;
8762 }
8763 }
8764 if (!var12) {
8765 fprintf(stderr, "Runtime error: %s", "Assert failed");
8766 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18267);
8767 show_backtrace(1);
8768 }
8769 var_pablenode4 = var_nodearraylist3;
8770 /* <var_pablenode4:nullable Object> isa nullable AAble */
8771 cltype16 = type_nullable_parser_nodes__AAble.color;
8772 idtype17 = type_nullable_parser_nodes__AAble.id;
8773 if(var_pablenode4 == NULL) {
8774 var15 = 1;
8775 } else {
8776 if(cltype16 >= var_pablenode4->type->table_size) {
8777 var15 = 0;
8778 } else {
8779 var15 = var_pablenode4->type->type_table[cltype16] == idtype17;
8780 }
8781 }
8782 if (!var15) {
8783 fprintf(stderr, "Runtime error: %s", "Assert failed");
8784 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18269);
8785 show_backtrace(1);
8786 }
8787 var_pvisibilitynode6 = var_nodearraylist4;
8788 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
8789 cltype19 = type_nullable_parser_nodes__AVisibility.color;
8790 idtype20 = type_nullable_parser_nodes__AVisibility.id;
8791 if(var_pvisibilitynode6 == NULL) {
8792 var18 = 1;
8793 } else {
8794 if(cltype19 >= var_pvisibilitynode6->type->table_size) {
8795 var18 = 0;
8796 } else {
8797 var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
8798 }
8799 }
8800 if (!var18) {
8801 fprintf(stderr, "Runtime error: %s", "Assert failed");
8802 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18271);
8803 show_backtrace(1);
8804 }
8805 var_tkwvarnode7 = var_nodearraylist5;
8806 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
8807 cltype22 = type_nullable_parser_nodes__TKwvar.color;
8808 idtype23 = type_nullable_parser_nodes__TKwvar.id;
8809 if(var_tkwvarnode7 == NULL) {
8810 var21 = 1;
8811 } else {
8812 if(cltype22 >= var_tkwvarnode7->type->table_size) {
8813 var21 = 0;
8814 } else {
8815 var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
8816 }
8817 }
8818 if (!var21) {
8819 fprintf(stderr, "Runtime error: %s", "Assert failed");
8820 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18273);
8821 show_backtrace(1);
8822 }
8823 var_tattridnode8 = var_nodearraylist6;
8824 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
8825 cltype25 = type_nullable_parser_nodes__TAttrid.color;
8826 idtype26 = type_nullable_parser_nodes__TAttrid.id;
8827 if(var_tattridnode8 == NULL) {
8828 var24 = 1;
8829 } else {
8830 if(cltype25 >= var_tattridnode8->type->table_size) {
8831 var24 = 0;
8832 } else {
8833 var24 = var_tattridnode8->type->type_table[cltype25] == idtype26;
8834 }
8835 }
8836 if (!var24) {
8837 fprintf(stderr, "Runtime error: %s", "Assert failed");
8838 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18275);
8839 show_backtrace(1);
8840 }
8841 var_ptypenode10 = var_nodearraylist7;
8842 /* <var_ptypenode10:nullable Object> isa nullable AType */
8843 cltype28 = type_nullable_parser_nodes__AType.color;
8844 idtype29 = type_nullable_parser_nodes__AType.id;
8845 if(var_ptypenode10 == NULL) {
8846 var27 = 1;
8847 } else {
8848 if(cltype28 >= var_ptypenode10->type->table_size) {
8849 var27 = 0;
8850 } else {
8851 var27 = var_ptypenode10->type->type_table[cltype28] == idtype29;
8852 }
8853 }
8854 if (!var27) {
8855 fprintf(stderr, "Runtime error: %s", "Assert failed");
8856 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18277);
8857 show_backtrace(1);
8858 }
8859 var_pexprnode12 = var_nodearraylist10;
8860 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
8861 cltype31 = type_nullable_parser_nodes__AExpr.color;
8862 idtype32 = type_nullable_parser_nodes__AExpr.id;
8863 if(var_pexprnode12 == NULL) {
8864 var30 = 1;
8865 } else {
8866 if(cltype31 >= var_pexprnode12->type->table_size) {
8867 var30 = 0;
8868 } else {
8869 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
8870 }
8871 }
8872 if (!var30) {
8873 fprintf(stderr, "Runtime error: %s", "Assert failed");
8874 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18279);
8875 show_backtrace(1);
8876 }
8877 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
8878 var34 = NULL;
8879 var35 = NULL;
8880 var36 = NULL;
8881 ((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, var34, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var35, var_ptypenode10, var36, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
8882 var_ppropdefnode1 = var33;
8883 var_node_list = var_ppropdefnode1;
8884 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction411> */
8885 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
8886 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
8887 RET_LABEL:;
8888 }
8889 /* method parser#ReduceAction411#action for (self: Object, Parser) */
8890 void VIRTUAL_parser__ReduceAction411__action(val* self, val* p0) {
8891 parser__ReduceAction411__action(self, p0);
8892 RET_LABEL:;
8893 }
8894 /* method parser#ReduceAction412#action for (self: ReduceAction412, Parser) */
8895 void parser__ReduceAction412__action(val* self, val* p0) {
8896 val* var_p /* var p: Parser */;
8897 val* var /* : null */;
8898 val* var_node_list /* var node_list: nullable Object */;
8899 val* var1 /* : nullable Object */;
8900 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8901 val* var2 /* : nullable Object */;
8902 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8903 val* var3 /* : nullable Object */;
8904 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8905 val* var4 /* : nullable Object */;
8906 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8907 val* var5 /* : nullable Object */;
8908 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8909 val* var6 /* : nullable Object */;
8910 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8911 val* var7 /* : nullable Object */;
8912 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8913 val* var8 /* : nullable Object */;
8914 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8915 val* var9 /* : nullable Object */;
8916 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8917 val* var10 /* : nullable Object */;
8918 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8919 val* var11 /* : nullable Object */;
8920 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8921 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8922 short int var12 /* : Bool */;
8923 int cltype;
8924 int idtype;
8925 val* var_pablenode3 /* var pablenode3: nullable Object */;
8926 short int var13 /* : Bool */;
8927 int cltype14;
8928 int idtype15;
8929 val* var_pablenode4 /* var pablenode4: nullable Object */;
8930 short int var16 /* : Bool */;
8931 int cltype17;
8932 int idtype18;
8933 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
8934 short int var19 /* : Bool */;
8935 int cltype20;
8936 int idtype21;
8937 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
8938 short int var22 /* : Bool */;
8939 int cltype23;
8940 int idtype24;
8941 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
8942 short int var25 /* : Bool */;
8943 int cltype26;
8944 int idtype27;
8945 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
8946 short int var28 /* : Bool */;
8947 int cltype29;
8948 int idtype30;
8949 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
8950 short int var31 /* : Bool */;
8951 int cltype32;
8952 int idtype33;
8953 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
8954 short int var34 /* : Bool */;
8955 int cltype35;
8956 int idtype36;
8957 val* var37 /* : AAttrPropdef */;
8958 val* var38 /* : null */;
8959 val* var39 /* : null */;
8960 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
8961 long var40 /* : Int */;
8962 long var41 /* : Int */;
8963 var_p = p0;
8964 var = NULL;
8965 var_node_list = var;
8966 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8967 var_nodearraylist11 = var1;
8968 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8969 var_nodearraylist10 = var2;
8970 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8971 var_nodearraylist9 = var3;
8972 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8973 var_nodearraylist8 = var4;
8974 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8975 var_nodearraylist7 = var5;
8976 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8977 var_nodearraylist6 = var6;
8978 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8979 var_nodearraylist5 = var7;
8980 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8981 var_nodearraylist4 = var8;
8982 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8983 var_nodearraylist3 = var9;
8984 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8985 var_nodearraylist2 = var10;
8986 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8987 var_nodearraylist1 = var11;
8988 var_pdocnode2 = var_nodearraylist1;
8989 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8990 cltype = type_nullable_parser_nodes__ADoc.color;
8991 idtype = type_nullable_parser_nodes__ADoc.id;
8992 if(var_pdocnode2 == NULL) {
8993 var12 = 1;
8994 } else {
8995 if(cltype >= var_pdocnode2->type->table_size) {
8996 var12 = 0;
8997 } else {
8998 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
8999 }
9000 }
9001 if (!var12) {
9002 fprintf(stderr, "Runtime error: %s", "Assert failed");
9003 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18314);
9004 show_backtrace(1);
9005 }
9006 var_pablenode3 = var_nodearraylist2;
9007 /* <var_pablenode3:nullable Object> isa nullable AAble */
9008 cltype14 = type_nullable_parser_nodes__AAble.color;
9009 idtype15 = type_nullable_parser_nodes__AAble.id;
9010 if(var_pablenode3 == NULL) {
9011 var13 = 1;
9012 } else {
9013 if(cltype14 >= var_pablenode3->type->table_size) {
9014 var13 = 0;
9015 } else {
9016 var13 = var_pablenode3->type->type_table[cltype14] == idtype15;
9017 }
9018 }
9019 if (!var13) {
9020 fprintf(stderr, "Runtime error: %s", "Assert failed");
9021 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18316);
9022 show_backtrace(1);
9023 }
9024 var_pablenode4 = var_nodearraylist3;
9025 /* <var_pablenode4:nullable Object> isa nullable AAble */
9026 cltype17 = type_nullable_parser_nodes__AAble.color;
9027 idtype18 = type_nullable_parser_nodes__AAble.id;
9028 if(var_pablenode4 == NULL) {
9029 var16 = 1;
9030 } else {
9031 if(cltype17 >= var_pablenode4->type->table_size) {
9032 var16 = 0;
9033 } else {
9034 var16 = var_pablenode4->type->type_table[cltype17] == idtype18;
9035 }
9036 }
9037 if (!var16) {
9038 fprintf(stderr, "Runtime error: %s", "Assert failed");
9039 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18318);
9040 show_backtrace(1);
9041 }
9042 var_tkwredefnode5 = var_nodearraylist4;
9043 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
9044 cltype20 = type_nullable_parser_nodes__TKwredef.color;
9045 idtype21 = type_nullable_parser_nodes__TKwredef.id;
9046 if(var_tkwredefnode5 == NULL) {
9047 var19 = 1;
9048 } else {
9049 if(cltype20 >= var_tkwredefnode5->type->table_size) {
9050 var19 = 0;
9051 } else {
9052 var19 = var_tkwredefnode5->type->type_table[cltype20] == idtype21;
9053 }
9054 }
9055 if (!var19) {
9056 fprintf(stderr, "Runtime error: %s", "Assert failed");
9057 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18320);
9058 show_backtrace(1);
9059 }
9060 var_pvisibilitynode6 = var_nodearraylist5;
9061 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
9062 cltype23 = type_nullable_parser_nodes__AVisibility.color;
9063 idtype24 = type_nullable_parser_nodes__AVisibility.id;
9064 if(var_pvisibilitynode6 == NULL) {
9065 var22 = 1;
9066 } else {
9067 if(cltype23 >= var_pvisibilitynode6->type->table_size) {
9068 var22 = 0;
9069 } else {
9070 var22 = var_pvisibilitynode6->type->type_table[cltype23] == idtype24;
9071 }
9072 }
9073 if (!var22) {
9074 fprintf(stderr, "Runtime error: %s", "Assert failed");
9075 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18322);
9076 show_backtrace(1);
9077 }
9078 var_tkwvarnode7 = var_nodearraylist6;
9079 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
9080 cltype26 = type_nullable_parser_nodes__TKwvar.color;
9081 idtype27 = type_nullable_parser_nodes__TKwvar.id;
9082 if(var_tkwvarnode7 == NULL) {
9083 var25 = 1;
9084 } else {
9085 if(cltype26 >= var_tkwvarnode7->type->table_size) {
9086 var25 = 0;
9087 } else {
9088 var25 = var_tkwvarnode7->type->type_table[cltype26] == idtype27;
9089 }
9090 }
9091 if (!var25) {
9092 fprintf(stderr, "Runtime error: %s", "Assert failed");
9093 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18324);
9094 show_backtrace(1);
9095 }
9096 var_tattridnode8 = var_nodearraylist7;
9097 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
9098 cltype29 = type_nullable_parser_nodes__TAttrid.color;
9099 idtype30 = type_nullable_parser_nodes__TAttrid.id;
9100 if(var_tattridnode8 == NULL) {
9101 var28 = 1;
9102 } else {
9103 if(cltype29 >= var_tattridnode8->type->table_size) {
9104 var28 = 0;
9105 } else {
9106 var28 = var_tattridnode8->type->type_table[cltype29] == idtype30;
9107 }
9108 }
9109 if (!var28) {
9110 fprintf(stderr, "Runtime error: %s", "Assert failed");
9111 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18326);
9112 show_backtrace(1);
9113 }
9114 var_ptypenode10 = var_nodearraylist8;
9115 /* <var_ptypenode10:nullable Object> isa nullable AType */
9116 cltype32 = type_nullable_parser_nodes__AType.color;
9117 idtype33 = type_nullable_parser_nodes__AType.id;
9118 if(var_ptypenode10 == NULL) {
9119 var31 = 1;
9120 } else {
9121 if(cltype32 >= var_ptypenode10->type->table_size) {
9122 var31 = 0;
9123 } else {
9124 var31 = var_ptypenode10->type->type_table[cltype32] == idtype33;
9125 }
9126 }
9127 if (!var31) {
9128 fprintf(stderr, "Runtime error: %s", "Assert failed");
9129 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18328);
9130 show_backtrace(1);
9131 }
9132 var_pexprnode12 = var_nodearraylist11;
9133 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
9134 cltype35 = type_nullable_parser_nodes__AExpr.color;
9135 idtype36 = type_nullable_parser_nodes__AExpr.id;
9136 if(var_pexprnode12 == NULL) {
9137 var34 = 1;
9138 } else {
9139 if(cltype35 >= var_pexprnode12->type->table_size) {
9140 var34 = 0;
9141 } else {
9142 var34 = var_pexprnode12->type->type_table[cltype35] == idtype36;
9143 }
9144 }
9145 if (!var34) {
9146 fprintf(stderr, "Runtime error: %s", "Assert failed");
9147 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18330);
9148 show_backtrace(1);
9149 }
9150 var37 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
9151 var38 = NULL;
9152 var39 = NULL;
9153 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var37, var_pdocnode2, var_pablenode3, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var38, var_ptypenode10, var39, var_pexprnode12) /* init_aattrpropdef on <var37:AAttrPropdef>*/;
9154 var_ppropdefnode1 = var37;
9155 var_node_list = var_ppropdefnode1;
9156 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction412> */
9157 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
9158 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
9159 RET_LABEL:;
9160 }
9161 /* method parser#ReduceAction412#action for (self: Object, Parser) */
9162 void VIRTUAL_parser__ReduceAction412__action(val* self, val* p0) {
9163 parser__ReduceAction412__action(self, p0);
9164 RET_LABEL:;
9165 }
9166 /* method parser#ReduceAction413#action for (self: ReduceAction413, Parser) */
9167 void parser__ReduceAction413__action(val* self, val* p0) {
9168 val* var_p /* var p: Parser */;
9169 val* var /* : null */;
9170 val* var_node_list /* var node_list: nullable Object */;
9171 val* var1 /* : nullable Object */;
9172 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9173 val* var2 /* : nullable Object */;
9174 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9175 val* var3 /* : nullable Object */;
9176 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9177 val* var4 /* : nullable Object */;
9178 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9179 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9180 short int var5 /* : Bool */;
9181 int cltype;
9182 int idtype;
9183 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
9184 short int var6 /* : Bool */;
9185 int cltype7;
9186 int idtype8;
9187 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
9188 short int var9 /* : Bool */;
9189 int cltype10;
9190 int idtype11;
9191 val* var_tidnode9 /* var tidnode9: nullable Object */;
9192 short int var12 /* : Bool */;
9193 int cltype13;
9194 int idtype14;
9195 val* var15 /* : AAttrPropdef */;
9196 val* var16 /* : null */;
9197 val* var17 /* : null */;
9198 val* var18 /* : null */;
9199 val* var19 /* : null */;
9200 val* var20 /* : null */;
9201 val* var21 /* : null */;
9202 val* var22 /* : null */;
9203 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
9204 long var23 /* : Int */;
9205 long var24 /* : Int */;
9206 var_p = p0;
9207 var = NULL;
9208 var_node_list = var;
9209 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9210 var_nodearraylist4 = var1;
9211 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9212 var_nodearraylist3 = var2;
9213 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9214 var_nodearraylist2 = var3;
9215 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9216 var_nodearraylist1 = var4;
9217 var_pdocnode2 = var_nodearraylist1;
9218 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9219 cltype = type_nullable_parser_nodes__ADoc.color;
9220 idtype = type_nullable_parser_nodes__ADoc.id;
9221 if(var_pdocnode2 == NULL) {
9222 var5 = 1;
9223 } else {
9224 if(cltype >= var_pdocnode2->type->table_size) {
9225 var5 = 0;
9226 } else {
9227 var5 = var_pdocnode2->type->type_table[cltype] == idtype;
9228 }
9229 }
9230 if (!var5) {
9231 fprintf(stderr, "Runtime error: %s", "Assert failed");
9232 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18358);
9233 show_backtrace(1);
9234 }
9235 var_pvisibilitynode6 = var_nodearraylist2;
9236 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
9237 cltype7 = type_nullable_parser_nodes__AVisibility.color;
9238 idtype8 = type_nullable_parser_nodes__AVisibility.id;
9239 if(var_pvisibilitynode6 == NULL) {
9240 var6 = 1;
9241 } else {
9242 if(cltype7 >= var_pvisibilitynode6->type->table_size) {
9243 var6 = 0;
9244 } else {
9245 var6 = var_pvisibilitynode6->type->type_table[cltype7] == idtype8;
9246 }
9247 }
9248 if (!var6) {
9249 fprintf(stderr, "Runtime error: %s", "Assert failed");
9250 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18360);
9251 show_backtrace(1);
9252 }
9253 var_tkwvarnode7 = var_nodearraylist3;
9254 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
9255 cltype10 = type_nullable_parser_nodes__TKwvar.color;
9256 idtype11 = type_nullable_parser_nodes__TKwvar.id;
9257 if(var_tkwvarnode7 == NULL) {
9258 var9 = 1;
9259 } else {
9260 if(cltype10 >= var_tkwvarnode7->type->table_size) {
9261 var9 = 0;
9262 } else {
9263 var9 = var_tkwvarnode7->type->type_table[cltype10] == idtype11;
9264 }
9265 }
9266 if (!var9) {
9267 fprintf(stderr, "Runtime error: %s", "Assert failed");
9268 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18362);
9269 show_backtrace(1);
9270 }
9271 var_tidnode9 = var_nodearraylist4;
9272 /* <var_tidnode9:nullable Object> isa nullable TId */
9273 cltype13 = type_nullable_parser_nodes__TId.color;
9274 idtype14 = type_nullable_parser_nodes__TId.id;
9275 if(var_tidnode9 == NULL) {
9276 var12 = 1;
9277 } else {
9278 if(cltype13 >= var_tidnode9->type->table_size) {
9279 var12 = 0;
9280 } else {
9281 var12 = var_tidnode9->type->type_table[cltype13] == idtype14;
9282 }
9283 }
9284 if (!var12) {
9285 fprintf(stderr, "Runtime error: %s", "Assert failed");
9286 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18364);
9287 show_backtrace(1);
9288 }
9289 var15 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
9290 var16 = NULL;
9291 var17 = NULL;
9292 var18 = NULL;
9293 var19 = NULL;
9294 var20 = NULL;
9295 var21 = NULL;
9296 var22 = NULL;
9297 ((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, var19, var_tidnode9, var20, var21, var22) /* init_aattrpropdef on <var15:AAttrPropdef>*/;
9298 var_ppropdefnode1 = var15;
9299 var_node_list = var_ppropdefnode1;
9300 var23 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction413> */
9301 var24 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var23) /* go_to on <var_p:Parser>*/;
9302 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var24, var_node_list) /* push on <var_p:Parser>*/;
9303 RET_LABEL:;
9304 }
9305 /* method parser#ReduceAction413#action for (self: Object, Parser) */
9306 void VIRTUAL_parser__ReduceAction413__action(val* self, val* p0) {
9307 parser__ReduceAction413__action(self, p0);
9308 RET_LABEL:;
9309 }
9310 /* method parser#ReduceAction414#action for (self: ReduceAction414, Parser) */
9311 void parser__ReduceAction414__action(val* self, val* p0) {
9312 val* var_p /* var p: Parser */;
9313 val* var /* : null */;
9314 val* var_node_list /* var node_list: nullable Object */;
9315 val* var1 /* : nullable Object */;
9316 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9317 val* var2 /* : nullable Object */;
9318 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9319 val* var3 /* : nullable Object */;
9320 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9321 val* var4 /* : nullable Object */;
9322 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9323 val* var5 /* : nullable Object */;
9324 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9325 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9326 short int var6 /* : Bool */;
9327 int cltype;
9328 int idtype;
9329 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
9330 short int var7 /* : Bool */;
9331 int cltype8;
9332 int idtype9;
9333 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
9334 short int var10 /* : Bool */;
9335 int cltype11;
9336 int idtype12;
9337 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
9338 short int var13 /* : Bool */;
9339 int cltype14;
9340 int idtype15;
9341 val* var_tidnode9 /* var tidnode9: nullable Object */;
9342 short int var16 /* : Bool */;
9343 int cltype17;
9344 int idtype18;
9345 val* var19 /* : AAttrPropdef */;
9346 val* var20 /* : null */;
9347 val* var21 /* : null */;
9348 val* var22 /* : null */;
9349 val* var23 /* : null */;
9350 val* var24 /* : null */;
9351 val* var25 /* : null */;
9352 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
9353 long var26 /* : Int */;
9354 long var27 /* : Int */;
9355 var_p = p0;
9356 var = NULL;
9357 var_node_list = var;
9358 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9359 var_nodearraylist5 = var1;
9360 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9361 var_nodearraylist4 = var2;
9362 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9363 var_nodearraylist3 = var3;
9364 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9365 var_nodearraylist2 = var4;
9366 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9367 var_nodearraylist1 = var5;
9368 var_pdocnode2 = var_nodearraylist1;
9369 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9370 cltype = type_nullable_parser_nodes__ADoc.color;
9371 idtype = type_nullable_parser_nodes__ADoc.id;
9372 if(var_pdocnode2 == NULL) {
9373 var6 = 1;
9374 } else {
9375 if(cltype >= var_pdocnode2->type->table_size) {
9376 var6 = 0;
9377 } else {
9378 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
9379 }
9380 }
9381 if (!var6) {
9382 fprintf(stderr, "Runtime error: %s", "Assert failed");
9383 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18393);
9384 show_backtrace(1);
9385 }
9386 var_tkwredefnode5 = var_nodearraylist2;
9387 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
9388 cltype8 = type_nullable_parser_nodes__TKwredef.color;
9389 idtype9 = type_nullable_parser_nodes__TKwredef.id;
9390 if(var_tkwredefnode5 == NULL) {
9391 var7 = 1;
9392 } else {
9393 if(cltype8 >= var_tkwredefnode5->type->table_size) {
9394 var7 = 0;
9395 } else {
9396 var7 = var_tkwredefnode5->type->type_table[cltype8] == idtype9;
9397 }
9398 }
9399 if (!var7) {
9400 fprintf(stderr, "Runtime error: %s", "Assert failed");
9401 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18395);
9402 show_backtrace(1);
9403 }
9404 var_pvisibilitynode6 = var_nodearraylist3;
9405 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
9406 cltype11 = type_nullable_parser_nodes__AVisibility.color;
9407 idtype12 = type_nullable_parser_nodes__AVisibility.id;
9408 if(var_pvisibilitynode6 == NULL) {
9409 var10 = 1;
9410 } else {
9411 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
9412 var10 = 0;
9413 } else {
9414 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
9415 }
9416 }
9417 if (!var10) {
9418 fprintf(stderr, "Runtime error: %s", "Assert failed");
9419 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18397);
9420 show_backtrace(1);
9421 }
9422 var_tkwvarnode7 = var_nodearraylist4;
9423 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
9424 cltype14 = type_nullable_parser_nodes__TKwvar.color;
9425 idtype15 = type_nullable_parser_nodes__TKwvar.id;
9426 if(var_tkwvarnode7 == NULL) {
9427 var13 = 1;
9428 } else {
9429 if(cltype14 >= var_tkwvarnode7->type->table_size) {
9430 var13 = 0;
9431 } else {
9432 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
9433 }
9434 }
9435 if (!var13) {
9436 fprintf(stderr, "Runtime error: %s", "Assert failed");
9437 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18399);
9438 show_backtrace(1);
9439 }
9440 var_tidnode9 = var_nodearraylist5;
9441 /* <var_tidnode9:nullable Object> isa nullable TId */
9442 cltype17 = type_nullable_parser_nodes__TId.color;
9443 idtype18 = type_nullable_parser_nodes__TId.id;
9444 if(var_tidnode9 == NULL) {
9445 var16 = 1;
9446 } else {
9447 if(cltype17 >= var_tidnode9->type->table_size) {
9448 var16 = 0;
9449 } else {
9450 var16 = var_tidnode9->type->type_table[cltype17] == idtype18;
9451 }
9452 }
9453 if (!var16) {
9454 fprintf(stderr, "Runtime error: %s", "Assert failed");
9455 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18401);
9456 show_backtrace(1);
9457 }
9458 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
9459 var20 = NULL;
9460 var21 = NULL;
9461 var22 = NULL;
9462 var23 = NULL;
9463 var24 = NULL;
9464 var25 = NULL;
9465 ((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, var22, var_tidnode9, var23, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
9466 var_ppropdefnode1 = var19;
9467 var_node_list = var_ppropdefnode1;
9468 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction414> */
9469 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
9470 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
9471 RET_LABEL:;
9472 }
9473 /* method parser#ReduceAction414#action for (self: Object, Parser) */
9474 void VIRTUAL_parser__ReduceAction414__action(val* self, val* p0) {
9475 parser__ReduceAction414__action(self, p0);
9476 RET_LABEL:;
9477 }
9478 /* method parser#ReduceAction415#action for (self: ReduceAction415, Parser) */
9479 void parser__ReduceAction415__action(val* self, val* p0) {
9480 val* var_p /* var p: Parser */;
9481 val* var /* : null */;
9482 val* var_node_list /* var node_list: nullable Object */;
9483 val* var1 /* : nullable Object */;
9484 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9485 val* var2 /* : nullable Object */;
9486 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9487 val* var3 /* : nullable Object */;
9488 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9489 val* var4 /* : nullable Object */;
9490 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9491 val* var5 /* : nullable Object */;
9492 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9493 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9494 short int var6 /* : Bool */;
9495 int cltype;
9496 int idtype;
9497 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
9498 short int var7 /* : Bool */;
9499 int cltype8;
9500 int idtype9;
9501 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
9502 short int var10 /* : Bool */;
9503 int cltype11;
9504 int idtype12;
9505 val* var_tidnode9 /* var tidnode9: nullable Object */;
9506 short int var13 /* : Bool */;
9507 int cltype14;
9508 int idtype15;
9509 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
9510 short int var16 /* : Bool */;
9511 int cltype17;
9512 int idtype18;
9513 val* var19 /* : AAttrPropdef */;
9514 val* var20 /* : null */;
9515 val* var21 /* : null */;
9516 val* var22 /* : null */;
9517 val* var23 /* : null */;
9518 val* var24 /* : null */;
9519 val* var25 /* : null */;
9520 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
9521 long var26 /* : Int */;
9522 long var27 /* : Int */;
9523 var_p = p0;
9524 var = NULL;
9525 var_node_list = var;
9526 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9527 var_nodearraylist5 = var1;
9528 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9529 var_nodearraylist4 = var2;
9530 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9531 var_nodearraylist3 = var3;
9532 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9533 var_nodearraylist2 = var4;
9534 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9535 var_nodearraylist1 = var5;
9536 var_pdocnode2 = var_nodearraylist1;
9537 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9538 cltype = type_nullable_parser_nodes__ADoc.color;
9539 idtype = type_nullable_parser_nodes__ADoc.id;
9540 if(var_pdocnode2 == NULL) {
9541 var6 = 1;
9542 } else {
9543 if(cltype >= var_pdocnode2->type->table_size) {
9544 var6 = 0;
9545 } else {
9546 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
9547 }
9548 }
9549 if (!var6) {
9550 fprintf(stderr, "Runtime error: %s", "Assert failed");
9551 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18430);
9552 show_backtrace(1);
9553 }
9554 var_pvisibilitynode6 = var_nodearraylist2;
9555 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
9556 cltype8 = type_nullable_parser_nodes__AVisibility.color;
9557 idtype9 = type_nullable_parser_nodes__AVisibility.id;
9558 if(var_pvisibilitynode6 == NULL) {
9559 var7 = 1;
9560 } else {
9561 if(cltype8 >= var_pvisibilitynode6->type->table_size) {
9562 var7 = 0;
9563 } else {
9564 var7 = var_pvisibilitynode6->type->type_table[cltype8] == idtype9;
9565 }
9566 }
9567 if (!var7) {
9568 fprintf(stderr, "Runtime error: %s", "Assert failed");
9569 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18432);
9570 show_backtrace(1);
9571 }
9572 var_tkwvarnode7 = var_nodearraylist3;
9573 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
9574 cltype11 = type_nullable_parser_nodes__TKwvar.color;
9575 idtype12 = type_nullable_parser_nodes__TKwvar.id;
9576 if(var_tkwvarnode7 == NULL) {
9577 var10 = 1;
9578 } else {
9579 if(cltype11 >= var_tkwvarnode7->type->table_size) {
9580 var10 = 0;
9581 } else {
9582 var10 = var_tkwvarnode7->type->type_table[cltype11] == idtype12;
9583 }
9584 }
9585 if (!var10) {
9586 fprintf(stderr, "Runtime error: %s", "Assert failed");
9587 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18434);
9588 show_backtrace(1);
9589 }
9590 var_tidnode9 = var_nodearraylist4;
9591 /* <var_tidnode9:nullable Object> isa nullable TId */
9592 cltype14 = type_nullable_parser_nodes__TId.color;
9593 idtype15 = type_nullable_parser_nodes__TId.id;
9594 if(var_tidnode9 == NULL) {
9595 var13 = 1;
9596 } else {
9597 if(cltype14 >= var_tidnode9->type->table_size) {
9598 var13 = 0;
9599 } else {
9600 var13 = var_tidnode9->type->type_table[cltype14] == idtype15;
9601 }
9602 }
9603 if (!var13) {
9604 fprintf(stderr, "Runtime error: %s", "Assert failed");
9605 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18436);
9606 show_backtrace(1);
9607 }
9608 var_ptypenode10 = var_nodearraylist5;
9609 /* <var_ptypenode10:nullable Object> isa nullable AType */
9610 cltype17 = type_nullable_parser_nodes__AType.color;
9611 idtype18 = type_nullable_parser_nodes__AType.id;
9612 if(var_ptypenode10 == NULL) {
9613 var16 = 1;
9614 } else {
9615 if(cltype17 >= var_ptypenode10->type->table_size) {
9616 var16 = 0;
9617 } else {
9618 var16 = var_ptypenode10->type->type_table[cltype17] == idtype18;
9619 }
9620 }
9621 if (!var16) {
9622 fprintf(stderr, "Runtime error: %s", "Assert failed");
9623 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18438);
9624 show_backtrace(1);
9625 }
9626 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
9627 var20 = NULL;
9628 var21 = NULL;
9629 var22 = NULL;
9630 var23 = NULL;
9631 var24 = NULL;
9632 var25 = NULL;
9633 ((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, var23, var_tidnode9, var_ptypenode10, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
9634 var_ppropdefnode1 = var19;
9635 var_node_list = var_ppropdefnode1;
9636 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction415> */
9637 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
9638 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
9639 RET_LABEL:;
9640 }
9641 /* method parser#ReduceAction415#action for (self: Object, Parser) */
9642 void VIRTUAL_parser__ReduceAction415__action(val* self, val* p0) {
9643 parser__ReduceAction415__action(self, p0);
9644 RET_LABEL:;
9645 }
9646 /* method parser#ReduceAction416#action for (self: ReduceAction416, Parser) */
9647 void parser__ReduceAction416__action(val* self, val* p0) {
9648 val* var_p /* var p: Parser */;
9649 val* var /* : null */;
9650 val* var_node_list /* var node_list: nullable Object */;
9651 val* var1 /* : nullable Object */;
9652 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9653 val* var2 /* : nullable Object */;
9654 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9655 val* var3 /* : nullable Object */;
9656 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9657 val* var4 /* : nullable Object */;
9658 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9659 val* var5 /* : nullable Object */;
9660 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9661 val* var6 /* : nullable Object */;
9662 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9663 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9664 short int var7 /* : Bool */;
9665 int cltype;
9666 int idtype;
9667 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
9668 short int var8 /* : Bool */;
9669 int cltype9;
9670 int idtype10;
9671 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
9672 short int var11 /* : Bool */;
9673 int cltype12;
9674 int idtype13;
9675 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
9676 short int var14 /* : Bool */;
9677 int cltype15;
9678 int idtype16;
9679 val* var_tidnode9 /* var tidnode9: nullable Object */;
9680 short int var17 /* : Bool */;
9681 int cltype18;
9682 int idtype19;
9683 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
9684 short int var20 /* : Bool */;
9685 int cltype21;
9686 int idtype22;
9687 val* var23 /* : AAttrPropdef */;
9688 val* var24 /* : null */;
9689 val* var25 /* : null */;
9690 val* var26 /* : null */;
9691 val* var27 /* : null */;
9692 val* var28 /* : null */;
9693 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
9694 long var29 /* : Int */;
9695 long var30 /* : Int */;
9696 var_p = p0;
9697 var = NULL;
9698 var_node_list = var;
9699 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9700 var_nodearraylist6 = var1;
9701 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9702 var_nodearraylist5 = var2;
9703 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9704 var_nodearraylist4 = var3;
9705 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9706 var_nodearraylist3 = var4;
9707 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9708 var_nodearraylist2 = var5;
9709 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9710 var_nodearraylist1 = var6;
9711 var_pdocnode2 = var_nodearraylist1;
9712 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9713 cltype = type_nullable_parser_nodes__ADoc.color;
9714 idtype = type_nullable_parser_nodes__ADoc.id;
9715 if(var_pdocnode2 == NULL) {
9716 var7 = 1;
9717 } else {
9718 if(cltype >= var_pdocnode2->type->table_size) {
9719 var7 = 0;
9720 } else {
9721 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
9722 }
9723 }
9724 if (!var7) {
9725 fprintf(stderr, "Runtime error: %s", "Assert failed");
9726 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18468);
9727 show_backtrace(1);
9728 }
9729 var_tkwredefnode5 = var_nodearraylist2;
9730 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
9731 cltype9 = type_nullable_parser_nodes__TKwredef.color;
9732 idtype10 = type_nullable_parser_nodes__TKwredef.id;
9733 if(var_tkwredefnode5 == NULL) {
9734 var8 = 1;
9735 } else {
9736 if(cltype9 >= var_tkwredefnode5->type->table_size) {
9737 var8 = 0;
9738 } else {
9739 var8 = var_tkwredefnode5->type->type_table[cltype9] == idtype10;
9740 }
9741 }
9742 if (!var8) {
9743 fprintf(stderr, "Runtime error: %s", "Assert failed");
9744 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18470);
9745 show_backtrace(1);
9746 }
9747 var_pvisibilitynode6 = var_nodearraylist3;
9748 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
9749 cltype12 = type_nullable_parser_nodes__AVisibility.color;
9750 idtype13 = type_nullable_parser_nodes__AVisibility.id;
9751 if(var_pvisibilitynode6 == NULL) {
9752 var11 = 1;
9753 } else {
9754 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
9755 var11 = 0;
9756 } else {
9757 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
9758 }
9759 }
9760 if (!var11) {
9761 fprintf(stderr, "Runtime error: %s", "Assert failed");
9762 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18472);
9763 show_backtrace(1);
9764 }
9765 var_tkwvarnode7 = var_nodearraylist4;
9766 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
9767 cltype15 = type_nullable_parser_nodes__TKwvar.color;
9768 idtype16 = type_nullable_parser_nodes__TKwvar.id;
9769 if(var_tkwvarnode7 == NULL) {
9770 var14 = 1;
9771 } else {
9772 if(cltype15 >= var_tkwvarnode7->type->table_size) {
9773 var14 = 0;
9774 } else {
9775 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
9776 }
9777 }
9778 if (!var14) {
9779 fprintf(stderr, "Runtime error: %s", "Assert failed");
9780 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18474);
9781 show_backtrace(1);
9782 }
9783 var_tidnode9 = var_nodearraylist5;
9784 /* <var_tidnode9:nullable Object> isa nullable TId */
9785 cltype18 = type_nullable_parser_nodes__TId.color;
9786 idtype19 = type_nullable_parser_nodes__TId.id;
9787 if(var_tidnode9 == NULL) {
9788 var17 = 1;
9789 } else {
9790 if(cltype18 >= var_tidnode9->type->table_size) {
9791 var17 = 0;
9792 } else {
9793 var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
9794 }
9795 }
9796 if (!var17) {
9797 fprintf(stderr, "Runtime error: %s", "Assert failed");
9798 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18476);
9799 show_backtrace(1);
9800 }
9801 var_ptypenode10 = var_nodearraylist6;
9802 /* <var_ptypenode10:nullable Object> isa nullable AType */
9803 cltype21 = type_nullable_parser_nodes__AType.color;
9804 idtype22 = type_nullable_parser_nodes__AType.id;
9805 if(var_ptypenode10 == NULL) {
9806 var20 = 1;
9807 } else {
9808 if(cltype21 >= var_ptypenode10->type->table_size) {
9809 var20 = 0;
9810 } else {
9811 var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
9812 }
9813 }
9814 if (!var20) {
9815 fprintf(stderr, "Runtime error: %s", "Assert failed");
9816 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18478);
9817 show_backtrace(1);
9818 }
9819 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
9820 var24 = NULL;
9821 var25 = NULL;
9822 var26 = NULL;
9823 var27 = NULL;
9824 var28 = NULL;
9825 ((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, var26, var_tidnode9, var_ptypenode10, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
9826 var_ppropdefnode1 = var23;
9827 var_node_list = var_ppropdefnode1;
9828 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction416> */
9829 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
9830 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
9831 RET_LABEL:;
9832 }
9833 /* method parser#ReduceAction416#action for (self: Object, Parser) */
9834 void VIRTUAL_parser__ReduceAction416__action(val* self, val* p0) {
9835 parser__ReduceAction416__action(self, p0);
9836 RET_LABEL:;
9837 }
9838 /* method parser#ReduceAction417#action for (self: ReduceAction417, Parser) */
9839 void parser__ReduceAction417__action(val* self, val* p0) {
9840 val* var_p /* var p: Parser */;
9841 val* var /* : null */;
9842 val* var_node_list /* var node_list: nullable Object */;
9843 val* var1 /* : nullable Object */;
9844 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9845 val* var2 /* : nullable Object */;
9846 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9847 val* var3 /* : nullable Object */;
9848 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9849 val* var4 /* : nullable Object */;
9850 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9851 val* var5 /* : nullable Object */;
9852 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9853 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9854 short int var6 /* : Bool */;
9855 int cltype;
9856 int idtype;
9857 val* var_pablenode4 /* var pablenode4: nullable Object */;
9858 short int var7 /* : Bool */;
9859 int cltype8;
9860 int idtype9;
9861 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
9862 short int var10 /* : Bool */;
9863 int cltype11;
9864 int idtype12;
9865 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
9866 short int var13 /* : Bool */;
9867 int cltype14;
9868 int idtype15;
9869 val* var_tidnode9 /* var tidnode9: nullable Object */;
9870 short int var16 /* : Bool */;
9871 int cltype17;
9872 int idtype18;
9873 val* var19 /* : AAttrPropdef */;
9874 val* var20 /* : null */;
9875 val* var21 /* : null */;
9876 val* var22 /* : null */;
9877 val* var23 /* : null */;
9878 val* var24 /* : null */;
9879 val* var25 /* : null */;
9880 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
9881 long var26 /* : Int */;
9882 long var27 /* : Int */;
9883 var_p = p0;
9884 var = NULL;
9885 var_node_list = var;
9886 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9887 var_nodearraylist5 = var1;
9888 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9889 var_nodearraylist4 = var2;
9890 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9891 var_nodearraylist3 = var3;
9892 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9893 var_nodearraylist2 = var4;
9894 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9895 var_nodearraylist1 = var5;
9896 var_pdocnode2 = var_nodearraylist1;
9897 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9898 cltype = type_nullable_parser_nodes__ADoc.color;
9899 idtype = type_nullable_parser_nodes__ADoc.id;
9900 if(var_pdocnode2 == NULL) {
9901 var6 = 1;
9902 } else {
9903 if(cltype >= var_pdocnode2->type->table_size) {
9904 var6 = 0;
9905 } else {
9906 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
9907 }
9908 }
9909 if (!var6) {
9910 fprintf(stderr, "Runtime error: %s", "Assert failed");
9911 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18507);
9912 show_backtrace(1);
9913 }
9914 var_pablenode4 = var_nodearraylist5;
9915 /* <var_pablenode4:nullable Object> isa nullable AAble */
9916 cltype8 = type_nullable_parser_nodes__AAble.color;
9917 idtype9 = type_nullable_parser_nodes__AAble.id;
9918 if(var_pablenode4 == NULL) {
9919 var7 = 1;
9920 } else {
9921 if(cltype8 >= var_pablenode4->type->table_size) {
9922 var7 = 0;
9923 } else {
9924 var7 = var_pablenode4->type->type_table[cltype8] == idtype9;
9925 }
9926 }
9927 if (!var7) {
9928 fprintf(stderr, "Runtime error: %s", "Assert failed");
9929 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18509);
9930 show_backtrace(1);
9931 }
9932 var_pvisibilitynode6 = var_nodearraylist2;
9933 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
9934 cltype11 = type_nullable_parser_nodes__AVisibility.color;
9935 idtype12 = type_nullable_parser_nodes__AVisibility.id;
9936 if(var_pvisibilitynode6 == NULL) {
9937 var10 = 1;
9938 } else {
9939 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
9940 var10 = 0;
9941 } else {
9942 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
9943 }
9944 }
9945 if (!var10) {
9946 fprintf(stderr, "Runtime error: %s", "Assert failed");
9947 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18511);
9948 show_backtrace(1);
9949 }
9950 var_tkwvarnode7 = var_nodearraylist3;
9951 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
9952 cltype14 = type_nullable_parser_nodes__TKwvar.color;
9953 idtype15 = type_nullable_parser_nodes__TKwvar.id;
9954 if(var_tkwvarnode7 == NULL) {
9955 var13 = 1;
9956 } else {
9957 if(cltype14 >= var_tkwvarnode7->type->table_size) {
9958 var13 = 0;
9959 } else {
9960 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
9961 }
9962 }
9963 if (!var13) {
9964 fprintf(stderr, "Runtime error: %s", "Assert failed");
9965 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18513);
9966 show_backtrace(1);
9967 }
9968 var_tidnode9 = var_nodearraylist4;
9969 /* <var_tidnode9:nullable Object> isa nullable TId */
9970 cltype17 = type_nullable_parser_nodes__TId.color;
9971 idtype18 = type_nullable_parser_nodes__TId.id;
9972 if(var_tidnode9 == NULL) {
9973 var16 = 1;
9974 } else {
9975 if(cltype17 >= var_tidnode9->type->table_size) {
9976 var16 = 0;
9977 } else {
9978 var16 = var_tidnode9->type->type_table[cltype17] == idtype18;
9979 }
9980 }
9981 if (!var16) {
9982 fprintf(stderr, "Runtime error: %s", "Assert failed");
9983 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18515);
9984 show_backtrace(1);
9985 }
9986 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
9987 var20 = NULL;
9988 var21 = NULL;
9989 var22 = NULL;
9990 var23 = NULL;
9991 var24 = NULL;
9992 var25 = NULL;
9993 ((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, var22, var_tidnode9, var23, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
9994 var_ppropdefnode1 = var19;
9995 var_node_list = var_ppropdefnode1;
9996 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction417> */
9997 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
9998 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
9999 RET_LABEL:;
10000 }