pep8analysis: add copyright info for viz.js
[nit.git] / c_src / parser.sep.4.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction74#action for (self: ReduceAction74, Parser) */
3 void parser__ReduceAction74__action(val* self, val* p0) {
4 val* var_p /* var p: Parser */;
5 val* var /* : null */;
6 val* var_node_list /* var node_list: nullable Object */;
7 val* var1 /* : nullable Object */;
8 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
19 val* var7 /* : nullable Object */;
20 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
21 val* var8 /* : nullable Object */;
22 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
23 val* var9 /* : Array[Object] */;
24 val* var_listnode7 /* var listnode7: Array[Object] */;
25 val* var10 /* : Array[Object] */;
26 val* var_listnode10 /* var listnode10: Array[Object] */;
27 val* var11 /* : Array[Object] */;
28 val* var_listnode11 /* var listnode11: Array[Object] */;
29 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
30 short int var12 /* : Bool */;
31 int cltype;
32 int idtype;
33 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
34 short int var13 /* : Bool */;
35 int cltype14;
36 int idtype15;
37 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
38 short int var16 /* : Bool */;
39 int cltype17;
40 int idtype18;
41 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
42 short int var19 /* : Bool */;
43 int cltype20;
44 int idtype21;
45 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
46 short int var22 /* : Bool */;
47 int cltype23;
48 int idtype24;
49 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
50 short int var25 /* : Bool */;
51 int cltype26;
52 int idtype27;
53 val* var28 /* : AStdClassdef */;
54 val* var29 /* : null */;
55 val* var30 /* : null */;
56 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
57 long var31 /* : Int */;
58 long var32 /* : 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_nodearraylist8 = var1;
64 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
65 var_nodearraylist7 = var2;
66 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
67 var_nodearraylist6 = var3;
68 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
69 var_nodearraylist5 = var4;
70 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
71 var_nodearraylist4 = var5;
72 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
73 var_nodearraylist3 = var6;
74 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
75 var_nodearraylist2 = var7;
76 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
77 var_nodearraylist1 = var8;
78 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
79 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
80 var_listnode7 = var9;
81 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
82 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
83 var_listnode10 = var10;
84 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
85 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
86 var_listnode11 = var11;
87 var_pdocnode2 = var_nodearraylist1;
88 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
89 cltype = type_nullable_parser_nodes__ADoc.color;
90 idtype = type_nullable_parser_nodes__ADoc.id;
91 if(var_pdocnode2 == NULL) {
92 var12 = 1;
93 } else {
94 if(cltype >= var_pdocnode2->type->table_size) {
95 var12 = 0;
96 } else {
97 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
98 }
99 }
100 if (!var12) {
101 fprintf(stderr, "Runtime error: %s", "Assert failed");
102 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4230);
103 show_backtrace(1);
104 }
105 var_tkwredefnode3 = var_nodearraylist2;
106 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
107 cltype14 = type_nullable_parser_nodes__TKwredef.color;
108 idtype15 = type_nullable_parser_nodes__TKwredef.id;
109 if(var_tkwredefnode3 == NULL) {
110 var13 = 1;
111 } else {
112 if(cltype14 >= var_tkwredefnode3->type->table_size) {
113 var13 = 0;
114 } else {
115 var13 = var_tkwredefnode3->type->type_table[cltype14] == idtype15;
116 }
117 }
118 if (!var13) {
119 fprintf(stderr, "Runtime error: %s", "Assert failed");
120 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4232);
121 show_backtrace(1);
122 }
123 var_pvisibilitynode4 = var_nodearraylist3;
124 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
125 cltype17 = type_nullable_parser_nodes__AVisibility.color;
126 idtype18 = type_nullable_parser_nodes__AVisibility.id;
127 if(var_pvisibilitynode4 == NULL) {
128 var16 = 1;
129 } else {
130 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
131 var16 = 0;
132 } else {
133 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
134 }
135 }
136 if (!var16) {
137 fprintf(stderr, "Runtime error: %s", "Assert failed");
138 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4234);
139 show_backtrace(1);
140 }
141 var_pclasskindnode5 = var_nodearraylist4;
142 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
143 cltype20 = type_nullable_parser_nodes__AClasskind.color;
144 idtype21 = type_nullable_parser_nodes__AClasskind.id;
145 if(var_pclasskindnode5 == NULL) {
146 var19 = 1;
147 } else {
148 if(cltype20 >= var_pclasskindnode5->type->table_size) {
149 var19 = 0;
150 } else {
151 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
152 }
153 }
154 if (!var19) {
155 fprintf(stderr, "Runtime error: %s", "Assert failed");
156 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4236);
157 show_backtrace(1);
158 }
159 var_tclassidnode6 = var_nodearraylist6;
160 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
161 cltype23 = type_nullable_parser_nodes__TClassid.color;
162 idtype24 = type_nullable_parser_nodes__TClassid.id;
163 if(var_tclassidnode6 == NULL) {
164 var22 = 1;
165 } else {
166 if(cltype23 >= var_tclassidnode6->type->table_size) {
167 var22 = 0;
168 } else {
169 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
170 }
171 }
172 if (!var22) {
173 fprintf(stderr, "Runtime error: %s", "Assert failed");
174 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4238);
175 show_backtrace(1);
176 }
177 var_tkwendnode12 = var_nodearraylist8;
178 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
179 cltype26 = type_nullable_parser_nodes__TKwend.color;
180 idtype27 = type_nullable_parser_nodes__TKwend.id;
181 if(var_tkwendnode12 == NULL) {
182 var25 = 1;
183 } else {
184 if(cltype26 >= var_tkwendnode12->type->table_size) {
185 var25 = 0;
186 } else {
187 var25 = var_tkwendnode12->type->type_table[cltype26] == idtype27;
188 }
189 }
190 if (!var25) {
191 fprintf(stderr, "Runtime error: %s", "Assert failed");
192 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4240);
193 show_backtrace(1);
194 }
195 var28 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
196 var29 = NULL;
197 var30 = NULL;
198 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var28, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var29, var30, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var28:AStdClassdef>*/;
199 var_pclassdefnode1 = var28;
200 var_node_list = var_pclassdefnode1;
201 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction74> */
202 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
203 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
204 RET_LABEL:;
205 }
206 /* method parser#ReduceAction74#action for (self: Object, Parser) */
207 void VIRTUAL_parser__ReduceAction74__action(val* self, val* p0) {
208 parser__ReduceAction74__action(self, p0);
209 RET_LABEL:;
210 }
211 /* method parser#ReduceAction75#action for (self: ReduceAction75, Parser) */
212 void parser__ReduceAction75__action(val* self, val* p0) {
213 val* var_p /* var p: Parser */;
214 val* var /* : null */;
215 val* var_node_list /* var node_list: nullable Object */;
216 val* var1 /* : nullable Object */;
217 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
218 val* var2 /* : nullable Object */;
219 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
220 val* var3 /* : nullable Object */;
221 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
222 val* var4 /* : nullable Object */;
223 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
224 val* var5 /* : nullable Object */;
225 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
226 val* var6 /* : nullable Object */;
227 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
228 val* var7 /* : nullable Object */;
229 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
230 val* var8 /* : nullable Object */;
231 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
232 val* var9 /* : Array[Object] */;
233 val* var_listnode7 /* var listnode7: Array[Object] */;
234 val* var10 /* : Array[Object] */;
235 val* var_listnode10 /* var listnode10: Array[Object] */;
236 val* var11 /* : Array[Object] */;
237 val* var_listnode11 /* var listnode11: Array[Object] */;
238 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
239 short int var12 /* : Bool */;
240 int cltype;
241 int idtype;
242 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
243 short int var13 /* : Bool */;
244 int cltype14;
245 int idtype15;
246 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
247 short int var16 /* : Bool */;
248 int cltype17;
249 int idtype18;
250 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
251 short int var19 /* : Bool */;
252 int cltype20;
253 int idtype21;
254 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
255 short int var22 /* : Bool */;
256 int cltype23;
257 int idtype24;
258 val* var25 /* : AStdClassdef */;
259 val* var26 /* : null */;
260 val* var27 /* : null */;
261 val* var28 /* : null */;
262 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
263 long var29 /* : Int */;
264 long var30 /* : Int */;
265 var_p = p0;
266 var = NULL;
267 var_node_list = var;
268 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
269 var_nodearraylist8 = var1;
270 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
271 var_nodearraylist7 = var2;
272 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
273 var_nodearraylist6 = var3;
274 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
275 var_nodearraylist5 = var4;
276 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
277 var_nodearraylist4 = var5;
278 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
279 var_nodearraylist3 = var6;
280 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
281 var_nodearraylist2 = var7;
282 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
283 var_nodearraylist1 = var8;
284 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
285 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
286 var_listnode7 = var9;
287 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
288 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
289 var_listnode10 = var10;
290 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
291 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
292 var_listnode11 = var11;
293 var_pdocnode2 = var_nodearraylist1;
294 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
295 cltype = type_nullable_parser_nodes__ADoc.color;
296 idtype = type_nullable_parser_nodes__ADoc.id;
297 if(var_pdocnode2 == NULL) {
298 var12 = 1;
299 } else {
300 if(cltype >= var_pdocnode2->type->table_size) {
301 var12 = 0;
302 } else {
303 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
304 }
305 }
306 if (!var12) {
307 fprintf(stderr, "Runtime error: %s", "Assert failed");
308 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4275);
309 show_backtrace(1);
310 }
311 var_pvisibilitynode4 = var_nodearraylist2;
312 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
313 cltype14 = type_nullable_parser_nodes__AVisibility.color;
314 idtype15 = type_nullable_parser_nodes__AVisibility.id;
315 if(var_pvisibilitynode4 == NULL) {
316 var13 = 1;
317 } else {
318 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
319 var13 = 0;
320 } else {
321 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
322 }
323 }
324 if (!var13) {
325 fprintf(stderr, "Runtime error: %s", "Assert failed");
326 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4277);
327 show_backtrace(1);
328 }
329 var_pclasskindnode5 = var_nodearraylist3;
330 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
331 cltype17 = type_nullable_parser_nodes__AClasskind.color;
332 idtype18 = type_nullable_parser_nodes__AClasskind.id;
333 if(var_pclasskindnode5 == NULL) {
334 var16 = 1;
335 } else {
336 if(cltype17 >= var_pclasskindnode5->type->table_size) {
337 var16 = 0;
338 } else {
339 var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18;
340 }
341 }
342 if (!var16) {
343 fprintf(stderr, "Runtime error: %s", "Assert failed");
344 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4279);
345 show_backtrace(1);
346 }
347 var_tclassidnode6 = var_nodearraylist6;
348 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
349 cltype20 = type_nullable_parser_nodes__TClassid.color;
350 idtype21 = type_nullable_parser_nodes__TClassid.id;
351 if(var_tclassidnode6 == NULL) {
352 var19 = 1;
353 } else {
354 if(cltype20 >= var_tclassidnode6->type->table_size) {
355 var19 = 0;
356 } else {
357 var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21;
358 }
359 }
360 if (!var19) {
361 fprintf(stderr, "Runtime error: %s", "Assert failed");
362 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4281);
363 show_backtrace(1);
364 }
365 var_tkwendnode12 = var_nodearraylist8;
366 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
367 cltype23 = type_nullable_parser_nodes__TKwend.color;
368 idtype24 = type_nullable_parser_nodes__TKwend.id;
369 if(var_tkwendnode12 == NULL) {
370 var22 = 1;
371 } else {
372 if(cltype23 >= var_tkwendnode12->type->table_size) {
373 var22 = 0;
374 } else {
375 var22 = var_tkwendnode12->type->type_table[cltype23] == idtype24;
376 }
377 }
378 if (!var22) {
379 fprintf(stderr, "Runtime error: %s", "Assert failed");
380 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4283);
381 show_backtrace(1);
382 }
383 var25 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
384 var26 = NULL;
385 var27 = NULL;
386 var28 = NULL;
387 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var27, var28, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var25:AStdClassdef>*/;
388 var_pclassdefnode1 = var25;
389 var_node_list = var_pclassdefnode1;
390 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction75> */
391 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
392 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
393 RET_LABEL:;
394 }
395 /* method parser#ReduceAction75#action for (self: Object, Parser) */
396 void VIRTUAL_parser__ReduceAction75__action(val* self, val* p0) {
397 parser__ReduceAction75__action(self, p0);
398 RET_LABEL:;
399 }
400 /* method parser#ReduceAction76#action for (self: ReduceAction76, Parser) */
401 void parser__ReduceAction76__action(val* self, val* p0) {
402 val* var_p /* var p: Parser */;
403 val* var /* : null */;
404 val* var_node_list /* var node_list: nullable Object */;
405 val* var1 /* : nullable Object */;
406 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
407 val* var2 /* : nullable Object */;
408 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
409 val* var3 /* : nullable Object */;
410 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
411 val* var4 /* : nullable Object */;
412 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
413 val* var5 /* : nullable Object */;
414 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
415 val* var6 /* : nullable Object */;
416 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
417 val* var7 /* : nullable Object */;
418 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
419 val* var8 /* : nullable Object */;
420 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
421 val* var9 /* : nullable Object */;
422 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
423 val* var10 /* : Array[Object] */;
424 val* var_listnode7 /* var listnode7: Array[Object] */;
425 val* var11 /* : Array[Object] */;
426 val* var_listnode10 /* var listnode10: Array[Object] */;
427 val* var12 /* : Array[Object] */;
428 val* var_listnode11 /* var listnode11: Array[Object] */;
429 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
430 short int var13 /* : Bool */;
431 int cltype;
432 int idtype;
433 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
434 short int var14 /* : Bool */;
435 int cltype15;
436 int idtype16;
437 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
438 short int var17 /* : Bool */;
439 int cltype18;
440 int idtype19;
441 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
442 short int var20 /* : Bool */;
443 int cltype21;
444 int idtype22;
445 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
446 short int var23 /* : Bool */;
447 int cltype24;
448 int idtype25;
449 val* var26 /* : AStdClassdef */;
450 val* var27 /* : null */;
451 val* var28 /* : null */;
452 val* var29 /* : null */;
453 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
454 long var30 /* : Int */;
455 long var31 /* : Int */;
456 var_p = p0;
457 var = NULL;
458 var_node_list = var;
459 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
460 var_nodearraylist9 = var1;
461 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
462 var_nodearraylist8 = var2;
463 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
464 var_nodearraylist7 = var3;
465 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
466 var_nodearraylist6 = var4;
467 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
468 var_nodearraylist5 = var5;
469 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
470 var_nodearraylist4 = var6;
471 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
472 var_nodearraylist3 = var7;
473 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
474 var_nodearraylist2 = var8;
475 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
476 var_nodearraylist1 = var9;
477 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
478 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
479 var_listnode7 = var10;
480 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
481 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
482 var_listnode10 = var11;
483 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
484 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
485 var_listnode11 = var12;
486 var_pdocnode2 = var_nodearraylist1;
487 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
488 cltype = type_nullable_parser_nodes__ADoc.color;
489 idtype = type_nullable_parser_nodes__ADoc.id;
490 if(var_pdocnode2 == NULL) {
491 var13 = 1;
492 } else {
493 if(cltype >= var_pdocnode2->type->table_size) {
494 var13 = 0;
495 } else {
496 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
497 }
498 }
499 if (!var13) {
500 fprintf(stderr, "Runtime error: %s", "Assert failed");
501 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4319);
502 show_backtrace(1);
503 }
504 var_pvisibilitynode4 = var_nodearraylist2;
505 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
506 cltype15 = type_nullable_parser_nodes__AVisibility.color;
507 idtype16 = type_nullable_parser_nodes__AVisibility.id;
508 if(var_pvisibilitynode4 == NULL) {
509 var14 = 1;
510 } else {
511 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
512 var14 = 0;
513 } else {
514 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
515 }
516 }
517 if (!var14) {
518 fprintf(stderr, "Runtime error: %s", "Assert failed");
519 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4321);
520 show_backtrace(1);
521 }
522 var_pclasskindnode5 = var_nodearraylist3;
523 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
524 cltype18 = type_nullable_parser_nodes__AClasskind.color;
525 idtype19 = type_nullable_parser_nodes__AClasskind.id;
526 if(var_pclasskindnode5 == NULL) {
527 var17 = 1;
528 } else {
529 if(cltype18 >= var_pclasskindnode5->type->table_size) {
530 var17 = 0;
531 } else {
532 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
533 }
534 }
535 if (!var17) {
536 fprintf(stderr, "Runtime error: %s", "Assert failed");
537 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4323);
538 show_backtrace(1);
539 }
540 var_tclassidnode6 = var_nodearraylist7;
541 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
542 cltype21 = type_nullable_parser_nodes__TClassid.color;
543 idtype22 = type_nullable_parser_nodes__TClassid.id;
544 if(var_tclassidnode6 == NULL) {
545 var20 = 1;
546 } else {
547 if(cltype21 >= var_tclassidnode6->type->table_size) {
548 var20 = 0;
549 } else {
550 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
551 }
552 }
553 if (!var20) {
554 fprintf(stderr, "Runtime error: %s", "Assert failed");
555 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4325);
556 show_backtrace(1);
557 }
558 var_tkwendnode12 = var_nodearraylist9;
559 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
560 cltype24 = type_nullable_parser_nodes__TKwend.color;
561 idtype25 = type_nullable_parser_nodes__TKwend.id;
562 if(var_tkwendnode12 == NULL) {
563 var23 = 1;
564 } else {
565 if(cltype24 >= var_tkwendnode12->type->table_size) {
566 var23 = 0;
567 } else {
568 var23 = var_tkwendnode12->type->type_table[cltype24] == idtype25;
569 }
570 }
571 if (!var23) {
572 fprintf(stderr, "Runtime error: %s", "Assert failed");
573 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4327);
574 show_backtrace(1);
575 }
576 var26 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
577 var27 = NULL;
578 var28 = NULL;
579 var29 = NULL;
580 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var26->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var26, var_pdocnode2, var27, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var28, var29, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var26:AStdClassdef>*/;
581 var_pclassdefnode1 = var26;
582 var_node_list = var_pclassdefnode1;
583 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction76> */
584 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
585 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
586 RET_LABEL:;
587 }
588 /* method parser#ReduceAction76#action for (self: Object, Parser) */
589 void VIRTUAL_parser__ReduceAction76__action(val* self, val* p0) {
590 parser__ReduceAction76__action(self, p0);
591 RET_LABEL:;
592 }
593 /* method parser#ReduceAction78#action for (self: ReduceAction78, Parser) */
594 void parser__ReduceAction78__action(val* self, val* p0) {
595 val* var_p /* var p: Parser */;
596 val* var /* : null */;
597 val* var_node_list /* var node_list: nullable Object */;
598 val* var1 /* : nullable Object */;
599 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
600 val* var2 /* : nullable Object */;
601 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
602 val* var3 /* : nullable Object */;
603 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
604 val* var4 /* : nullable Object */;
605 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
606 val* var5 /* : nullable Object */;
607 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
608 val* var6 /* : nullable Object */;
609 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
610 val* var7 /* : nullable Object */;
611 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
612 val* var8 /* : nullable Object */;
613 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
614 val* var9 /* : nullable Object */;
615 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
616 val* var10 /* : Array[Object] */;
617 val* var_listnode7 /* var listnode7: Array[Object] */;
618 val* var11 /* : Array[Object] */;
619 val* var_listnode10 /* var listnode10: Array[Object] */;
620 val* var12 /* : Array[Object] */;
621 val* var_listnode11 /* var listnode11: Array[Object] */;
622 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
623 short int var13 /* : Bool */;
624 int cltype;
625 int idtype;
626 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
627 short int var14 /* : Bool */;
628 int cltype15;
629 int idtype16;
630 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
631 short int var17 /* : Bool */;
632 int cltype18;
633 int idtype19;
634 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
635 short int var20 /* : Bool */;
636 int cltype21;
637 int idtype22;
638 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
639 short int var23 /* : Bool */;
640 int cltype24;
641 int idtype25;
642 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
643 short int var26 /* : Bool */;
644 int cltype27;
645 int idtype28;
646 val* var29 /* : AStdClassdef */;
647 val* var30 /* : null */;
648 val* var31 /* : null */;
649 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
650 long var32 /* : Int */;
651 long var33 /* : Int */;
652 var_p = p0;
653 var = NULL;
654 var_node_list = var;
655 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
656 var_nodearraylist9 = var1;
657 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
658 var_nodearraylist8 = var2;
659 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
660 var_nodearraylist7 = var3;
661 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
662 var_nodearraylist6 = var4;
663 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
664 var_nodearraylist5 = var5;
665 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
666 var_nodearraylist4 = var6;
667 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
668 var_nodearraylist3 = var7;
669 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
670 var_nodearraylist2 = var8;
671 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
672 var_nodearraylist1 = var9;
673 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
674 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
675 var_listnode7 = var10;
676 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
677 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
678 var_listnode10 = var11;
679 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
680 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
681 var_listnode11 = var12;
682 var_pdocnode2 = var_nodearraylist1;
683 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
684 cltype = type_nullable_parser_nodes__ADoc.color;
685 idtype = type_nullable_parser_nodes__ADoc.id;
686 if(var_pdocnode2 == NULL) {
687 var13 = 1;
688 } else {
689 if(cltype >= var_pdocnode2->type->table_size) {
690 var13 = 0;
691 } else {
692 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
693 }
694 }
695 if (!var13) {
696 fprintf(stderr, "Runtime error: %s", "Assert failed");
697 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4363);
698 show_backtrace(1);
699 }
700 var_tkwredefnode3 = var_nodearraylist2;
701 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
702 cltype15 = type_nullable_parser_nodes__TKwredef.color;
703 idtype16 = type_nullable_parser_nodes__TKwredef.id;
704 if(var_tkwredefnode3 == NULL) {
705 var14 = 1;
706 } else {
707 if(cltype15 >= var_tkwredefnode3->type->table_size) {
708 var14 = 0;
709 } else {
710 var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16;
711 }
712 }
713 if (!var14) {
714 fprintf(stderr, "Runtime error: %s", "Assert failed");
715 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4365);
716 show_backtrace(1);
717 }
718 var_pvisibilitynode4 = var_nodearraylist3;
719 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
720 cltype18 = type_nullable_parser_nodes__AVisibility.color;
721 idtype19 = type_nullable_parser_nodes__AVisibility.id;
722 if(var_pvisibilitynode4 == NULL) {
723 var17 = 1;
724 } else {
725 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
726 var17 = 0;
727 } else {
728 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
729 }
730 }
731 if (!var17) {
732 fprintf(stderr, "Runtime error: %s", "Assert failed");
733 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4367);
734 show_backtrace(1);
735 }
736 var_pclasskindnode5 = var_nodearraylist4;
737 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
738 cltype21 = type_nullable_parser_nodes__AClasskind.color;
739 idtype22 = type_nullable_parser_nodes__AClasskind.id;
740 if(var_pclasskindnode5 == NULL) {
741 var20 = 1;
742 } else {
743 if(cltype21 >= var_pclasskindnode5->type->table_size) {
744 var20 = 0;
745 } else {
746 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
747 }
748 }
749 if (!var20) {
750 fprintf(stderr, "Runtime error: %s", "Assert failed");
751 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4369);
752 show_backtrace(1);
753 }
754 var_tclassidnode6 = var_nodearraylist7;
755 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
756 cltype24 = type_nullable_parser_nodes__TClassid.color;
757 idtype25 = type_nullable_parser_nodes__TClassid.id;
758 if(var_tclassidnode6 == NULL) {
759 var23 = 1;
760 } else {
761 if(cltype24 >= var_tclassidnode6->type->table_size) {
762 var23 = 0;
763 } else {
764 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
765 }
766 }
767 if (!var23) {
768 fprintf(stderr, "Runtime error: %s", "Assert failed");
769 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4371);
770 show_backtrace(1);
771 }
772 var_tkwendnode12 = var_nodearraylist9;
773 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
774 cltype27 = type_nullable_parser_nodes__TKwend.color;
775 idtype28 = type_nullable_parser_nodes__TKwend.id;
776 if(var_tkwendnode12 == NULL) {
777 var26 = 1;
778 } else {
779 if(cltype27 >= var_tkwendnode12->type->table_size) {
780 var26 = 0;
781 } else {
782 var26 = var_tkwendnode12->type->type_table[cltype27] == idtype28;
783 }
784 }
785 if (!var26) {
786 fprintf(stderr, "Runtime error: %s", "Assert failed");
787 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4373);
788 show_backtrace(1);
789 }
790 var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
791 var30 = NULL;
792 var31 = NULL;
793 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var30, var31, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var29:AStdClassdef>*/;
794 var_pclassdefnode1 = var29;
795 var_node_list = var_pclassdefnode1;
796 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction78> */
797 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
798 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
799 RET_LABEL:;
800 }
801 /* method parser#ReduceAction78#action for (self: Object, Parser) */
802 void VIRTUAL_parser__ReduceAction78__action(val* self, val* p0) {
803 parser__ReduceAction78__action(self, p0);
804 RET_LABEL:;
805 }
806 /* method parser#ReduceAction79#action for (self: ReduceAction79, Parser) */
807 void parser__ReduceAction79__action(val* self, val* p0) {
808 val* var_p /* var p: Parser */;
809 val* var /* : null */;
810 val* var_node_list /* var node_list: nullable Object */;
811 val* var1 /* : nullable Object */;
812 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
813 val* var2 /* : nullable Object */;
814 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
815 val* var3 /* : nullable Object */;
816 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
817 val* var4 /* : nullable Object */;
818 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
819 val* var5 /* : nullable Object */;
820 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
821 val* var6 /* : nullable Object */;
822 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
823 val* var7 /* : nullable Object */;
824 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
825 val* var8 /* : nullable Object */;
826 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
827 val* var9 /* : nullable Object */;
828 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
829 val* var10 /* : nullable Object */;
830 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
831 val* var11 /* : Array[Object] */;
832 val* var_listnode7 /* var listnode7: Array[Object] */;
833 val* var12 /* : Array[Object] */;
834 val* var_listnode10 /* var listnode10: Array[Object] */;
835 val* var13 /* : Array[Object] */;
836 val* var_listnode11 /* var listnode11: Array[Object] */;
837 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
838 short int var14 /* : Bool */;
839 int cltype;
840 int idtype;
841 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
842 short int var15 /* : Bool */;
843 int cltype16;
844 int idtype17;
845 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
846 short int var18 /* : Bool */;
847 int cltype19;
848 int idtype20;
849 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
850 short int var21 /* : Bool */;
851 int cltype22;
852 int idtype23;
853 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
854 short int var24 /* : Bool */;
855 int cltype25;
856 int idtype26;
857 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
858 short int var27 /* : Bool */;
859 int cltype28;
860 int idtype29;
861 val* var30 /* : AStdClassdef */;
862 val* var31 /* : null */;
863 val* var32 /* : null */;
864 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
865 long var33 /* : Int */;
866 long var34 /* : Int */;
867 var_p = p0;
868 var = NULL;
869 var_node_list = var;
870 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
871 var_nodearraylist10 = var1;
872 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
873 var_nodearraylist9 = var2;
874 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
875 var_nodearraylist8 = var3;
876 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
877 var_nodearraylist7 = var4;
878 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
879 var_nodearraylist6 = var5;
880 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
881 var_nodearraylist5 = var6;
882 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
883 var_nodearraylist4 = var7;
884 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
885 var_nodearraylist3 = var8;
886 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
887 var_nodearraylist2 = var9;
888 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
889 var_nodearraylist1 = var10;
890 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
891 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
892 var_listnode7 = var11;
893 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
894 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
895 var_listnode10 = var12;
896 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
897 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
898 var_listnode11 = var13;
899 var_pdocnode2 = var_nodearraylist1;
900 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
901 cltype = type_nullable_parser_nodes__ADoc.color;
902 idtype = type_nullable_parser_nodes__ADoc.id;
903 if(var_pdocnode2 == NULL) {
904 var14 = 1;
905 } else {
906 if(cltype >= var_pdocnode2->type->table_size) {
907 var14 = 0;
908 } else {
909 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
910 }
911 }
912 if (!var14) {
913 fprintf(stderr, "Runtime error: %s", "Assert failed");
914 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4410);
915 show_backtrace(1);
916 }
917 var_tkwredefnode3 = var_nodearraylist2;
918 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
919 cltype16 = type_nullable_parser_nodes__TKwredef.color;
920 idtype17 = type_nullable_parser_nodes__TKwredef.id;
921 if(var_tkwredefnode3 == NULL) {
922 var15 = 1;
923 } else {
924 if(cltype16 >= var_tkwredefnode3->type->table_size) {
925 var15 = 0;
926 } else {
927 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
928 }
929 }
930 if (!var15) {
931 fprintf(stderr, "Runtime error: %s", "Assert failed");
932 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4412);
933 show_backtrace(1);
934 }
935 var_pvisibilitynode4 = var_nodearraylist3;
936 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
937 cltype19 = type_nullable_parser_nodes__AVisibility.color;
938 idtype20 = type_nullable_parser_nodes__AVisibility.id;
939 if(var_pvisibilitynode4 == NULL) {
940 var18 = 1;
941 } else {
942 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
943 var18 = 0;
944 } else {
945 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
946 }
947 }
948 if (!var18) {
949 fprintf(stderr, "Runtime error: %s", "Assert failed");
950 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4414);
951 show_backtrace(1);
952 }
953 var_pclasskindnode5 = var_nodearraylist4;
954 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
955 cltype22 = type_nullable_parser_nodes__AClasskind.color;
956 idtype23 = type_nullable_parser_nodes__AClasskind.id;
957 if(var_pclasskindnode5 == NULL) {
958 var21 = 1;
959 } else {
960 if(cltype22 >= var_pclasskindnode5->type->table_size) {
961 var21 = 0;
962 } else {
963 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
964 }
965 }
966 if (!var21) {
967 fprintf(stderr, "Runtime error: %s", "Assert failed");
968 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4416);
969 show_backtrace(1);
970 }
971 var_tclassidnode6 = var_nodearraylist8;
972 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
973 cltype25 = type_nullable_parser_nodes__TClassid.color;
974 idtype26 = type_nullable_parser_nodes__TClassid.id;
975 if(var_tclassidnode6 == NULL) {
976 var24 = 1;
977 } else {
978 if(cltype25 >= var_tclassidnode6->type->table_size) {
979 var24 = 0;
980 } else {
981 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
982 }
983 }
984 if (!var24) {
985 fprintf(stderr, "Runtime error: %s", "Assert failed");
986 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4418);
987 show_backtrace(1);
988 }
989 var_tkwendnode12 = var_nodearraylist10;
990 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
991 cltype28 = type_nullable_parser_nodes__TKwend.color;
992 idtype29 = type_nullable_parser_nodes__TKwend.id;
993 if(var_tkwendnode12 == NULL) {
994 var27 = 1;
995 } else {
996 if(cltype28 >= var_tkwendnode12->type->table_size) {
997 var27 = 0;
998 } else {
999 var27 = var_tkwendnode12->type->type_table[cltype28] == idtype29;
1000 }
1001 }
1002 if (!var27) {
1003 fprintf(stderr, "Runtime error: %s", "Assert failed");
1004 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4420);
1005 show_backtrace(1);
1006 }
1007 var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1008 var31 = NULL;
1009 var32 = NULL;
1010 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var30, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var31, var32, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var30:AStdClassdef>*/;
1011 var_pclassdefnode1 = var30;
1012 var_node_list = var_pclassdefnode1;
1013 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction79> */
1014 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
1015 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
1016 RET_LABEL:;
1017 }
1018 /* method parser#ReduceAction79#action for (self: Object, Parser) */
1019 void VIRTUAL_parser__ReduceAction79__action(val* self, val* p0) {
1020 parser__ReduceAction79__action(self, p0);
1021 RET_LABEL:;
1022 }
1023 /* method parser#ReduceAction81#action for (self: ReduceAction81, Parser) */
1024 void parser__ReduceAction81__action(val* self, val* p0) {
1025 val* var_p /* var p: Parser */;
1026 val* var /* : null */;
1027 val* var_node_list /* var node_list: nullable Object */;
1028 val* var1 /* : nullable Object */;
1029 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1030 val* var2 /* : nullable Object */;
1031 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1032 val* var3 /* : nullable Object */;
1033 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1034 val* var4 /* : nullable Object */;
1035 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1036 val* var5 /* : nullable Object */;
1037 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1038 val* var6 /* : nullable Object */;
1039 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1040 val* var7 /* : nullable Object */;
1041 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1042 val* var8 /* : nullable Object */;
1043 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1044 val* var9 /* : Array[Object] */;
1045 val* var_listnode8 /* var listnode8: Array[Object] */;
1046 val* var10 /* : Array[Object] */;
1047 val* var_listnode11 /* var listnode11: Array[Object] */;
1048 val* var11 /* : Array[Object] */;
1049 val* var_listnode12 /* var listnode12: Array[Object] */;
1050 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1051 short int var12 /* : Bool */;
1052 int cltype;
1053 int idtype;
1054 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1055 short int var13 /* : Bool */;
1056 int cltype14;
1057 int idtype15;
1058 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1059 short int var16 /* : Bool */;
1060 int cltype17;
1061 int idtype18;
1062 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1063 short int var19 /* : Bool */;
1064 int cltype20;
1065 int idtype21;
1066 val* var_listnode7 /* var listnode7: nullable Object */;
1067 short int var22 /* : Bool */;
1068 int cltype23;
1069 int idtype24;
1070 val* var25 /* : Array[Object] */;
1071 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
1072 short int var26 /* : Bool */;
1073 int cltype27;
1074 int idtype28;
1075 val* var29 /* : AStdClassdef */;
1076 val* var30 /* : null */;
1077 val* var31 /* : null */;
1078 val* var32 /* : null */;
1079 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1080 long var33 /* : Int */;
1081 long var34 /* : Int */;
1082 var_p = p0;
1083 var = NULL;
1084 var_node_list = var;
1085 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1086 var_nodearraylist8 = var1;
1087 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1088 var_nodearraylist7 = var2;
1089 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1090 var_nodearraylist6 = var3;
1091 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1092 var_nodearraylist5 = var4;
1093 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1094 var_nodearraylist4 = var5;
1095 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1096 var_nodearraylist3 = var6;
1097 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1098 var_nodearraylist2 = var7;
1099 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1100 var_nodearraylist1 = var8;
1101 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
1102 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
1103 var_listnode8 = var9;
1104 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
1105 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
1106 var_listnode11 = var10;
1107 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1108 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1109 var_listnode12 = var11;
1110 var_pdocnode2 = var_nodearraylist1;
1111 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1112 cltype = type_nullable_parser_nodes__ADoc.color;
1113 idtype = type_nullable_parser_nodes__ADoc.id;
1114 if(var_pdocnode2 == NULL) {
1115 var12 = 1;
1116 } else {
1117 if(cltype >= var_pdocnode2->type->table_size) {
1118 var12 = 0;
1119 } else {
1120 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
1121 }
1122 }
1123 if (!var12) {
1124 fprintf(stderr, "Runtime error: %s", "Assert failed");
1125 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4455);
1126 show_backtrace(1);
1127 }
1128 var_pvisibilitynode4 = var_nodearraylist2;
1129 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1130 cltype14 = type_nullable_parser_nodes__AVisibility.color;
1131 idtype15 = type_nullable_parser_nodes__AVisibility.id;
1132 if(var_pvisibilitynode4 == NULL) {
1133 var13 = 1;
1134 } else {
1135 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
1136 var13 = 0;
1137 } else {
1138 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
1139 }
1140 }
1141 if (!var13) {
1142 fprintf(stderr, "Runtime error: %s", "Assert failed");
1143 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4457);
1144 show_backtrace(1);
1145 }
1146 var_pclasskindnode5 = var_nodearraylist3;
1147 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1148 cltype17 = type_nullable_parser_nodes__AClasskind.color;
1149 idtype18 = type_nullable_parser_nodes__AClasskind.id;
1150 if(var_pclasskindnode5 == NULL) {
1151 var16 = 1;
1152 } else {
1153 if(cltype17 >= var_pclasskindnode5->type->table_size) {
1154 var16 = 0;
1155 } else {
1156 var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18;
1157 }
1158 }
1159 if (!var16) {
1160 fprintf(stderr, "Runtime error: %s", "Assert failed");
1161 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4459);
1162 show_backtrace(1);
1163 }
1164 var_tclassidnode6 = var_nodearraylist5;
1165 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1166 cltype20 = type_nullable_parser_nodes__TClassid.color;
1167 idtype21 = type_nullable_parser_nodes__TClassid.id;
1168 if(var_tclassidnode6 == NULL) {
1169 var19 = 1;
1170 } else {
1171 if(cltype20 >= var_tclassidnode6->type->table_size) {
1172 var19 = 0;
1173 } else {
1174 var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21;
1175 }
1176 }
1177 if (!var19) {
1178 fprintf(stderr, "Runtime error: %s", "Assert failed");
1179 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4461);
1180 show_backtrace(1);
1181 }
1182 var_listnode7 = var_nodearraylist6;
1183 /* <var_listnode7:nullable Object> isa Array[Object] */
1184 cltype23 = type_array__Arraykernel__Object.color;
1185 idtype24 = type_array__Arraykernel__Object.id;
1186 if(var_listnode7 == NULL) {
1187 var22 = 0;
1188 } else {
1189 if(cltype23 >= var_listnode7->type->table_size) {
1190 var22 = 0;
1191 } else {
1192 var22 = var_listnode7->type->type_table[cltype23] == idtype24;
1193 }
1194 }
1195 if (!var22) {
1196 fprintf(stderr, "Runtime error: %s", "Assert failed");
1197 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4463);
1198 show_backtrace(1);
1199 }
1200 var25 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction81>*/;
1201 var_listnode8 = var25;
1202 var_tkwendnode13 = var_nodearraylist8;
1203 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
1204 cltype27 = type_nullable_parser_nodes__TKwend.color;
1205 idtype28 = type_nullable_parser_nodes__TKwend.id;
1206 if(var_tkwendnode13 == NULL) {
1207 var26 = 1;
1208 } else {
1209 if(cltype27 >= var_tkwendnode13->type->table_size) {
1210 var26 = 0;
1211 } else {
1212 var26 = var_tkwendnode13->type->type_table[cltype27] == idtype28;
1213 }
1214 }
1215 if (!var26) {
1216 fprintf(stderr, "Runtime error: %s", "Assert failed");
1217 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4466);
1218 show_backtrace(1);
1219 }
1220 var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1221 var30 = NULL;
1222 var31 = NULL;
1223 var32 = NULL;
1224 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var31, var32, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var29:AStdClassdef>*/;
1225 var_pclassdefnode1 = var29;
1226 var_node_list = var_pclassdefnode1;
1227 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction81> */
1228 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
1229 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
1230 RET_LABEL:;
1231 }
1232 /* method parser#ReduceAction81#action for (self: Object, Parser) */
1233 void VIRTUAL_parser__ReduceAction81__action(val* self, val* p0) {
1234 parser__ReduceAction81__action(self, p0);
1235 RET_LABEL:;
1236 }
1237 /* method parser#ReduceAction82#action for (self: ReduceAction82, Parser) */
1238 void parser__ReduceAction82__action(val* self, val* p0) {
1239 val* var_p /* var p: Parser */;
1240 val* var /* : null */;
1241 val* var_node_list /* var node_list: nullable Object */;
1242 val* var1 /* : nullable Object */;
1243 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1244 val* var2 /* : nullable Object */;
1245 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1246 val* var3 /* : nullable Object */;
1247 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1248 val* var4 /* : nullable Object */;
1249 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1250 val* var5 /* : nullable Object */;
1251 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1252 val* var6 /* : nullable Object */;
1253 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1254 val* var7 /* : nullable Object */;
1255 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1256 val* var8 /* : nullable Object */;
1257 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1258 val* var9 /* : nullable Object */;
1259 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1260 val* var10 /* : Array[Object] */;
1261 val* var_listnode8 /* var listnode8: Array[Object] */;
1262 val* var11 /* : Array[Object] */;
1263 val* var_listnode11 /* var listnode11: Array[Object] */;
1264 val* var12 /* : Array[Object] */;
1265 val* var_listnode12 /* var listnode12: Array[Object] */;
1266 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1267 short int var13 /* : Bool */;
1268 int cltype;
1269 int idtype;
1270 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1271 short int var14 /* : Bool */;
1272 int cltype15;
1273 int idtype16;
1274 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1275 short int var17 /* : Bool */;
1276 int cltype18;
1277 int idtype19;
1278 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1279 short int var20 /* : Bool */;
1280 int cltype21;
1281 int idtype22;
1282 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1283 short int var23 /* : Bool */;
1284 int cltype24;
1285 int idtype25;
1286 val* var_listnode7 /* var listnode7: nullable Object */;
1287 short int var26 /* : Bool */;
1288 int cltype27;
1289 int idtype28;
1290 val* var29 /* : Array[Object] */;
1291 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
1292 short int var30 /* : Bool */;
1293 int cltype31;
1294 int idtype32;
1295 val* var33 /* : AStdClassdef */;
1296 val* var34 /* : null */;
1297 val* var35 /* : null */;
1298 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1299 long var36 /* : Int */;
1300 long var37 /* : Int */;
1301 var_p = p0;
1302 var = NULL;
1303 var_node_list = var;
1304 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1305 var_nodearraylist9 = var1;
1306 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1307 var_nodearraylist8 = var2;
1308 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1309 var_nodearraylist7 = var3;
1310 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1311 var_nodearraylist6 = var4;
1312 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1313 var_nodearraylist5 = var5;
1314 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1315 var_nodearraylist4 = var6;
1316 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1317 var_nodearraylist3 = var7;
1318 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1319 var_nodearraylist2 = var8;
1320 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1321 var_nodearraylist1 = var9;
1322 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
1323 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
1324 var_listnode8 = var10;
1325 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1326 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1327 var_listnode11 = var11;
1328 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1329 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1330 var_listnode12 = var12;
1331 var_pdocnode2 = var_nodearraylist1;
1332 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1333 cltype = type_nullable_parser_nodes__ADoc.color;
1334 idtype = type_nullable_parser_nodes__ADoc.id;
1335 if(var_pdocnode2 == NULL) {
1336 var13 = 1;
1337 } else {
1338 if(cltype >= var_pdocnode2->type->table_size) {
1339 var13 = 0;
1340 } else {
1341 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
1342 }
1343 }
1344 if (!var13) {
1345 fprintf(stderr, "Runtime error: %s", "Assert failed");
1346 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4502);
1347 show_backtrace(1);
1348 }
1349 var_tkwredefnode3 = var_nodearraylist2;
1350 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1351 cltype15 = type_nullable_parser_nodes__TKwredef.color;
1352 idtype16 = type_nullable_parser_nodes__TKwredef.id;
1353 if(var_tkwredefnode3 == NULL) {
1354 var14 = 1;
1355 } else {
1356 if(cltype15 >= var_tkwredefnode3->type->table_size) {
1357 var14 = 0;
1358 } else {
1359 var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16;
1360 }
1361 }
1362 if (!var14) {
1363 fprintf(stderr, "Runtime error: %s", "Assert failed");
1364 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4504);
1365 show_backtrace(1);
1366 }
1367 var_pvisibilitynode4 = var_nodearraylist3;
1368 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1369 cltype18 = type_nullable_parser_nodes__AVisibility.color;
1370 idtype19 = type_nullable_parser_nodes__AVisibility.id;
1371 if(var_pvisibilitynode4 == NULL) {
1372 var17 = 1;
1373 } else {
1374 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
1375 var17 = 0;
1376 } else {
1377 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
1378 }
1379 }
1380 if (!var17) {
1381 fprintf(stderr, "Runtime error: %s", "Assert failed");
1382 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4506);
1383 show_backtrace(1);
1384 }
1385 var_pclasskindnode5 = var_nodearraylist4;
1386 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1387 cltype21 = type_nullable_parser_nodes__AClasskind.color;
1388 idtype22 = type_nullable_parser_nodes__AClasskind.id;
1389 if(var_pclasskindnode5 == NULL) {
1390 var20 = 1;
1391 } else {
1392 if(cltype21 >= var_pclasskindnode5->type->table_size) {
1393 var20 = 0;
1394 } else {
1395 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
1396 }
1397 }
1398 if (!var20) {
1399 fprintf(stderr, "Runtime error: %s", "Assert failed");
1400 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4508);
1401 show_backtrace(1);
1402 }
1403 var_tclassidnode6 = var_nodearraylist6;
1404 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1405 cltype24 = type_nullable_parser_nodes__TClassid.color;
1406 idtype25 = type_nullable_parser_nodes__TClassid.id;
1407 if(var_tclassidnode6 == NULL) {
1408 var23 = 1;
1409 } else {
1410 if(cltype24 >= var_tclassidnode6->type->table_size) {
1411 var23 = 0;
1412 } else {
1413 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
1414 }
1415 }
1416 if (!var23) {
1417 fprintf(stderr, "Runtime error: %s", "Assert failed");
1418 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4510);
1419 show_backtrace(1);
1420 }
1421 var_listnode7 = var_nodearraylist7;
1422 /* <var_listnode7:nullable Object> isa Array[Object] */
1423 cltype27 = type_array__Arraykernel__Object.color;
1424 idtype28 = type_array__Arraykernel__Object.id;
1425 if(var_listnode7 == NULL) {
1426 var26 = 0;
1427 } else {
1428 if(cltype27 >= var_listnode7->type->table_size) {
1429 var26 = 0;
1430 } else {
1431 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
1432 }
1433 }
1434 if (!var26) {
1435 fprintf(stderr, "Runtime error: %s", "Assert failed");
1436 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4512);
1437 show_backtrace(1);
1438 }
1439 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction82>*/;
1440 var_listnode8 = var29;
1441 var_tkwendnode13 = var_nodearraylist9;
1442 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
1443 cltype31 = type_nullable_parser_nodes__TKwend.color;
1444 idtype32 = type_nullable_parser_nodes__TKwend.id;
1445 if(var_tkwendnode13 == NULL) {
1446 var30 = 1;
1447 } else {
1448 if(cltype31 >= var_tkwendnode13->type->table_size) {
1449 var30 = 0;
1450 } else {
1451 var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32;
1452 }
1453 }
1454 if (!var30) {
1455 fprintf(stderr, "Runtime error: %s", "Assert failed");
1456 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4515);
1457 show_backtrace(1);
1458 }
1459 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1460 var34 = NULL;
1461 var35 = NULL;
1462 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var34, var35, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var33:AStdClassdef>*/;
1463 var_pclassdefnode1 = var33;
1464 var_node_list = var_pclassdefnode1;
1465 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction82> */
1466 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
1467 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
1468 RET_LABEL:;
1469 }
1470 /* method parser#ReduceAction82#action for (self: Object, Parser) */
1471 void VIRTUAL_parser__ReduceAction82__action(val* self, val* p0) {
1472 parser__ReduceAction82__action(self, p0);
1473 RET_LABEL:;
1474 }
1475 /* method parser#ReduceAction83#action for (self: ReduceAction83, Parser) */
1476 void parser__ReduceAction83__action(val* self, val* p0) {
1477 val* var_p /* var p: Parser */;
1478 val* var /* : null */;
1479 val* var_node_list /* var node_list: nullable Object */;
1480 val* var1 /* : nullable Object */;
1481 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1482 val* var2 /* : nullable Object */;
1483 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1484 val* var3 /* : nullable Object */;
1485 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1486 val* var4 /* : nullable Object */;
1487 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1488 val* var5 /* : nullable Object */;
1489 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1490 val* var6 /* : nullable Object */;
1491 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1492 val* var7 /* : nullable Object */;
1493 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1494 val* var8 /* : nullable Object */;
1495 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1496 val* var9 /* : nullable Object */;
1497 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1498 val* var10 /* : Array[Object] */;
1499 val* var_listnode8 /* var listnode8: Array[Object] */;
1500 val* var11 /* : Array[Object] */;
1501 val* var_listnode11 /* var listnode11: Array[Object] */;
1502 val* var12 /* : Array[Object] */;
1503 val* var_listnode12 /* var listnode12: Array[Object] */;
1504 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1505 short int var13 /* : Bool */;
1506 int cltype;
1507 int idtype;
1508 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1509 short int var14 /* : Bool */;
1510 int cltype15;
1511 int idtype16;
1512 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1513 short int var17 /* : Bool */;
1514 int cltype18;
1515 int idtype19;
1516 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1517 short int var20 /* : Bool */;
1518 int cltype21;
1519 int idtype22;
1520 val* var_listnode7 /* var listnode7: nullable Object */;
1521 short int var23 /* : Bool */;
1522 int cltype24;
1523 int idtype25;
1524 val* var26 /* : Array[Object] */;
1525 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
1526 short int var27 /* : Bool */;
1527 int cltype28;
1528 int idtype29;
1529 val* var30 /* : AStdClassdef */;
1530 val* var31 /* : null */;
1531 val* var32 /* : null */;
1532 val* var33 /* : null */;
1533 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1534 long var34 /* : Int */;
1535 long var35 /* : Int */;
1536 var_p = p0;
1537 var = NULL;
1538 var_node_list = var;
1539 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1540 var_nodearraylist9 = var1;
1541 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1542 var_nodearraylist8 = var2;
1543 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1544 var_nodearraylist7 = var3;
1545 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1546 var_nodearraylist6 = var4;
1547 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1548 var_nodearraylist5 = var5;
1549 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1550 var_nodearraylist4 = var6;
1551 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1552 var_nodearraylist3 = var7;
1553 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1554 var_nodearraylist2 = var8;
1555 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1556 var_nodearraylist1 = var9;
1557 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
1558 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
1559 var_listnode8 = var10;
1560 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1561 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1562 var_listnode11 = var11;
1563 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1564 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1565 var_listnode12 = var12;
1566 var_pdocnode2 = var_nodearraylist1;
1567 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1568 cltype = type_nullable_parser_nodes__ADoc.color;
1569 idtype = type_nullable_parser_nodes__ADoc.id;
1570 if(var_pdocnode2 == NULL) {
1571 var13 = 1;
1572 } else {
1573 if(cltype >= var_pdocnode2->type->table_size) {
1574 var13 = 0;
1575 } else {
1576 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
1577 }
1578 }
1579 if (!var13) {
1580 fprintf(stderr, "Runtime error: %s", "Assert failed");
1581 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4551);
1582 show_backtrace(1);
1583 }
1584 var_pvisibilitynode4 = var_nodearraylist2;
1585 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1586 cltype15 = type_nullable_parser_nodes__AVisibility.color;
1587 idtype16 = type_nullable_parser_nodes__AVisibility.id;
1588 if(var_pvisibilitynode4 == NULL) {
1589 var14 = 1;
1590 } else {
1591 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
1592 var14 = 0;
1593 } else {
1594 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
1595 }
1596 }
1597 if (!var14) {
1598 fprintf(stderr, "Runtime error: %s", "Assert failed");
1599 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4553);
1600 show_backtrace(1);
1601 }
1602 var_pclasskindnode5 = var_nodearraylist3;
1603 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1604 cltype18 = type_nullable_parser_nodes__AClasskind.color;
1605 idtype19 = type_nullable_parser_nodes__AClasskind.id;
1606 if(var_pclasskindnode5 == NULL) {
1607 var17 = 1;
1608 } else {
1609 if(cltype18 >= var_pclasskindnode5->type->table_size) {
1610 var17 = 0;
1611 } else {
1612 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
1613 }
1614 }
1615 if (!var17) {
1616 fprintf(stderr, "Runtime error: %s", "Assert failed");
1617 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4555);
1618 show_backtrace(1);
1619 }
1620 var_tclassidnode6 = var_nodearraylist6;
1621 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1622 cltype21 = type_nullable_parser_nodes__TClassid.color;
1623 idtype22 = type_nullable_parser_nodes__TClassid.id;
1624 if(var_tclassidnode6 == NULL) {
1625 var20 = 1;
1626 } else {
1627 if(cltype21 >= var_tclassidnode6->type->table_size) {
1628 var20 = 0;
1629 } else {
1630 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
1631 }
1632 }
1633 if (!var20) {
1634 fprintf(stderr, "Runtime error: %s", "Assert failed");
1635 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4557);
1636 show_backtrace(1);
1637 }
1638 var_listnode7 = var_nodearraylist7;
1639 /* <var_listnode7:nullable Object> isa Array[Object] */
1640 cltype24 = type_array__Arraykernel__Object.color;
1641 idtype25 = type_array__Arraykernel__Object.id;
1642 if(var_listnode7 == NULL) {
1643 var23 = 0;
1644 } else {
1645 if(cltype24 >= var_listnode7->type->table_size) {
1646 var23 = 0;
1647 } else {
1648 var23 = var_listnode7->type->type_table[cltype24] == idtype25;
1649 }
1650 }
1651 if (!var23) {
1652 fprintf(stderr, "Runtime error: %s", "Assert failed");
1653 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4559);
1654 show_backtrace(1);
1655 }
1656 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction83>*/;
1657 var_listnode8 = var26;
1658 var_tkwendnode13 = var_nodearraylist9;
1659 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
1660 cltype28 = type_nullable_parser_nodes__TKwend.color;
1661 idtype29 = type_nullable_parser_nodes__TKwend.id;
1662 if(var_tkwendnode13 == NULL) {
1663 var27 = 1;
1664 } else {
1665 if(cltype28 >= var_tkwendnode13->type->table_size) {
1666 var27 = 0;
1667 } else {
1668 var27 = var_tkwendnode13->type->type_table[cltype28] == idtype29;
1669 }
1670 }
1671 if (!var27) {
1672 fprintf(stderr, "Runtime error: %s", "Assert failed");
1673 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4562);
1674 show_backtrace(1);
1675 }
1676 var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1677 var31 = NULL;
1678 var32 = NULL;
1679 var33 = NULL;
1680 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var30, var_pdocnode2, var31, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var32, var33, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var30:AStdClassdef>*/;
1681 var_pclassdefnode1 = var30;
1682 var_node_list = var_pclassdefnode1;
1683 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction83> */
1684 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
1685 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
1686 RET_LABEL:;
1687 }
1688 /* method parser#ReduceAction83#action for (self: Object, Parser) */
1689 void VIRTUAL_parser__ReduceAction83__action(val* self, val* p0) {
1690 parser__ReduceAction83__action(self, p0);
1691 RET_LABEL:;
1692 }
1693 /* method parser#ReduceAction84#action for (self: ReduceAction84, Parser) */
1694 void parser__ReduceAction84__action(val* self, val* p0) {
1695 val* var_p /* var p: Parser */;
1696 val* var /* : null */;
1697 val* var_node_list /* var node_list: nullable Object */;
1698 val* var1 /* : nullable Object */;
1699 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1700 val* var2 /* : nullable Object */;
1701 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1702 val* var3 /* : nullable Object */;
1703 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1704 val* var4 /* : nullable Object */;
1705 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1706 val* var5 /* : nullable Object */;
1707 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1708 val* var6 /* : nullable Object */;
1709 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1710 val* var7 /* : nullable Object */;
1711 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1712 val* var8 /* : nullable Object */;
1713 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1714 val* var9 /* : nullable Object */;
1715 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1716 val* var10 /* : nullable Object */;
1717 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1718 val* var11 /* : Array[Object] */;
1719 val* var_listnode8 /* var listnode8: Array[Object] */;
1720 val* var12 /* : Array[Object] */;
1721 val* var_listnode11 /* var listnode11: Array[Object] */;
1722 val* var13 /* : Array[Object] */;
1723 val* var_listnode12 /* var listnode12: Array[Object] */;
1724 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1725 short int var14 /* : Bool */;
1726 int cltype;
1727 int idtype;
1728 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1729 short int var15 /* : Bool */;
1730 int cltype16;
1731 int idtype17;
1732 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1733 short int var18 /* : Bool */;
1734 int cltype19;
1735 int idtype20;
1736 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1737 short int var21 /* : Bool */;
1738 int cltype22;
1739 int idtype23;
1740 val* var_listnode7 /* var listnode7: nullable Object */;
1741 short int var24 /* : Bool */;
1742 int cltype25;
1743 int idtype26;
1744 val* var27 /* : Array[Object] */;
1745 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
1746 short int var28 /* : Bool */;
1747 int cltype29;
1748 int idtype30;
1749 val* var31 /* : AStdClassdef */;
1750 val* var32 /* : null */;
1751 val* var33 /* : null */;
1752 val* var34 /* : null */;
1753 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1754 long var35 /* : Int */;
1755 long var36 /* : Int */;
1756 var_p = p0;
1757 var = NULL;
1758 var_node_list = var;
1759 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1760 var_nodearraylist10 = var1;
1761 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1762 var_nodearraylist9 = var2;
1763 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1764 var_nodearraylist8 = var3;
1765 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1766 var_nodearraylist7 = var4;
1767 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1768 var_nodearraylist6 = var5;
1769 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1770 var_nodearraylist5 = var6;
1771 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1772 var_nodearraylist4 = var7;
1773 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1774 var_nodearraylist3 = var8;
1775 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1776 var_nodearraylist2 = var9;
1777 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1778 var_nodearraylist1 = var10;
1779 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1780 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1781 var_listnode8 = var11;
1782 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1783 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1784 var_listnode11 = var12;
1785 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1786 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1787 var_listnode12 = var13;
1788 var_pdocnode2 = var_nodearraylist1;
1789 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1790 cltype = type_nullable_parser_nodes__ADoc.color;
1791 idtype = type_nullable_parser_nodes__ADoc.id;
1792 if(var_pdocnode2 == NULL) {
1793 var14 = 1;
1794 } else {
1795 if(cltype >= var_pdocnode2->type->table_size) {
1796 var14 = 0;
1797 } else {
1798 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
1799 }
1800 }
1801 if (!var14) {
1802 fprintf(stderr, "Runtime error: %s", "Assert failed");
1803 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4599);
1804 show_backtrace(1);
1805 }
1806 var_pvisibilitynode4 = var_nodearraylist2;
1807 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1808 cltype16 = type_nullable_parser_nodes__AVisibility.color;
1809 idtype17 = type_nullable_parser_nodes__AVisibility.id;
1810 if(var_pvisibilitynode4 == NULL) {
1811 var15 = 1;
1812 } else {
1813 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
1814 var15 = 0;
1815 } else {
1816 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
1817 }
1818 }
1819 if (!var15) {
1820 fprintf(stderr, "Runtime error: %s", "Assert failed");
1821 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4601);
1822 show_backtrace(1);
1823 }
1824 var_pclasskindnode5 = var_nodearraylist3;
1825 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1826 cltype19 = type_nullable_parser_nodes__AClasskind.color;
1827 idtype20 = type_nullable_parser_nodes__AClasskind.id;
1828 if(var_pclasskindnode5 == NULL) {
1829 var18 = 1;
1830 } else {
1831 if(cltype19 >= var_pclasskindnode5->type->table_size) {
1832 var18 = 0;
1833 } else {
1834 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
1835 }
1836 }
1837 if (!var18) {
1838 fprintf(stderr, "Runtime error: %s", "Assert failed");
1839 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4603);
1840 show_backtrace(1);
1841 }
1842 var_tclassidnode6 = var_nodearraylist7;
1843 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1844 cltype22 = type_nullable_parser_nodes__TClassid.color;
1845 idtype23 = type_nullable_parser_nodes__TClassid.id;
1846 if(var_tclassidnode6 == NULL) {
1847 var21 = 1;
1848 } else {
1849 if(cltype22 >= var_tclassidnode6->type->table_size) {
1850 var21 = 0;
1851 } else {
1852 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
1853 }
1854 }
1855 if (!var21) {
1856 fprintf(stderr, "Runtime error: %s", "Assert failed");
1857 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4605);
1858 show_backtrace(1);
1859 }
1860 var_listnode7 = var_nodearraylist8;
1861 /* <var_listnode7:nullable Object> isa Array[Object] */
1862 cltype25 = type_array__Arraykernel__Object.color;
1863 idtype26 = type_array__Arraykernel__Object.id;
1864 if(var_listnode7 == NULL) {
1865 var24 = 0;
1866 } else {
1867 if(cltype25 >= var_listnode7->type->table_size) {
1868 var24 = 0;
1869 } else {
1870 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
1871 }
1872 }
1873 if (!var24) {
1874 fprintf(stderr, "Runtime error: %s", "Assert failed");
1875 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4607);
1876 show_backtrace(1);
1877 }
1878 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction84>*/;
1879 var_listnode8 = var27;
1880 var_tkwendnode13 = var_nodearraylist10;
1881 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
1882 cltype29 = type_nullable_parser_nodes__TKwend.color;
1883 idtype30 = type_nullable_parser_nodes__TKwend.id;
1884 if(var_tkwendnode13 == NULL) {
1885 var28 = 1;
1886 } else {
1887 if(cltype29 >= var_tkwendnode13->type->table_size) {
1888 var28 = 0;
1889 } else {
1890 var28 = var_tkwendnode13->type->type_table[cltype29] == idtype30;
1891 }
1892 }
1893 if (!var28) {
1894 fprintf(stderr, "Runtime error: %s", "Assert failed");
1895 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4610);
1896 show_backtrace(1);
1897 }
1898 var31 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1899 var32 = NULL;
1900 var33 = NULL;
1901 var34 = NULL;
1902 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var31, var_pdocnode2, var32, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var33, var34, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var31:AStdClassdef>*/;
1903 var_pclassdefnode1 = var31;
1904 var_node_list = var_pclassdefnode1;
1905 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction84> */
1906 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
1907 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
1908 RET_LABEL:;
1909 }
1910 /* method parser#ReduceAction84#action for (self: Object, Parser) */
1911 void VIRTUAL_parser__ReduceAction84__action(val* self, val* p0) {
1912 parser__ReduceAction84__action(self, p0);
1913 RET_LABEL:;
1914 }
1915 /* method parser#ReduceAction86#action for (self: ReduceAction86, Parser) */
1916 void parser__ReduceAction86__action(val* self, val* p0) {
1917 val* var_p /* var p: Parser */;
1918 val* var /* : null */;
1919 val* var_node_list /* var node_list: nullable Object */;
1920 val* var1 /* : nullable Object */;
1921 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1922 val* var2 /* : nullable Object */;
1923 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1924 val* var3 /* : nullable Object */;
1925 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1926 val* var4 /* : nullable Object */;
1927 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1928 val* var5 /* : nullable Object */;
1929 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1930 val* var6 /* : nullable Object */;
1931 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1932 val* var7 /* : nullable Object */;
1933 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1934 val* var8 /* : nullable Object */;
1935 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1936 val* var9 /* : nullable Object */;
1937 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1938 val* var10 /* : nullable Object */;
1939 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1940 val* var11 /* : Array[Object] */;
1941 val* var_listnode8 /* var listnode8: Array[Object] */;
1942 val* var12 /* : Array[Object] */;
1943 val* var_listnode11 /* var listnode11: Array[Object] */;
1944 val* var13 /* : Array[Object] */;
1945 val* var_listnode12 /* var listnode12: Array[Object] */;
1946 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1947 short int var14 /* : Bool */;
1948 int cltype;
1949 int idtype;
1950 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1951 short int var15 /* : Bool */;
1952 int cltype16;
1953 int idtype17;
1954 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1955 short int var18 /* : Bool */;
1956 int cltype19;
1957 int idtype20;
1958 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1959 short int var21 /* : Bool */;
1960 int cltype22;
1961 int idtype23;
1962 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1963 short int var24 /* : Bool */;
1964 int cltype25;
1965 int idtype26;
1966 val* var_listnode7 /* var listnode7: nullable Object */;
1967 short int var27 /* : Bool */;
1968 int cltype28;
1969 int idtype29;
1970 val* var30 /* : Array[Object] */;
1971 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
1972 short int var31 /* : Bool */;
1973 int cltype32;
1974 int idtype33;
1975 val* var34 /* : AStdClassdef */;
1976 val* var35 /* : null */;
1977 val* var36 /* : null */;
1978 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1979 long var37 /* : Int */;
1980 long var38 /* : Int */;
1981 var_p = p0;
1982 var = NULL;
1983 var_node_list = var;
1984 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1985 var_nodearraylist10 = var1;
1986 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1987 var_nodearraylist9 = var2;
1988 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1989 var_nodearraylist8 = var3;
1990 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1991 var_nodearraylist7 = var4;
1992 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1993 var_nodearraylist6 = var5;
1994 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1995 var_nodearraylist5 = var6;
1996 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1997 var_nodearraylist4 = var7;
1998 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1999 var_nodearraylist3 = var8;
2000 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2001 var_nodearraylist2 = var9;
2002 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2003 var_nodearraylist1 = var10;
2004 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2005 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2006 var_listnode8 = var11;
2007 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2008 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2009 var_listnode11 = var12;
2010 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2011 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2012 var_listnode12 = var13;
2013 var_pdocnode2 = var_nodearraylist1;
2014 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2015 cltype = type_nullable_parser_nodes__ADoc.color;
2016 idtype = type_nullable_parser_nodes__ADoc.id;
2017 if(var_pdocnode2 == NULL) {
2018 var14 = 1;
2019 } else {
2020 if(cltype >= var_pdocnode2->type->table_size) {
2021 var14 = 0;
2022 } else {
2023 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
2024 }
2025 }
2026 if (!var14) {
2027 fprintf(stderr, "Runtime error: %s", "Assert failed");
2028 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4647);
2029 show_backtrace(1);
2030 }
2031 var_tkwredefnode3 = var_nodearraylist2;
2032 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2033 cltype16 = type_nullable_parser_nodes__TKwredef.color;
2034 idtype17 = type_nullable_parser_nodes__TKwredef.id;
2035 if(var_tkwredefnode3 == NULL) {
2036 var15 = 1;
2037 } else {
2038 if(cltype16 >= var_tkwredefnode3->type->table_size) {
2039 var15 = 0;
2040 } else {
2041 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
2042 }
2043 }
2044 if (!var15) {
2045 fprintf(stderr, "Runtime error: %s", "Assert failed");
2046 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4649);
2047 show_backtrace(1);
2048 }
2049 var_pvisibilitynode4 = var_nodearraylist3;
2050 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2051 cltype19 = type_nullable_parser_nodes__AVisibility.color;
2052 idtype20 = type_nullable_parser_nodes__AVisibility.id;
2053 if(var_pvisibilitynode4 == NULL) {
2054 var18 = 1;
2055 } else {
2056 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
2057 var18 = 0;
2058 } else {
2059 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
2060 }
2061 }
2062 if (!var18) {
2063 fprintf(stderr, "Runtime error: %s", "Assert failed");
2064 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4651);
2065 show_backtrace(1);
2066 }
2067 var_pclasskindnode5 = var_nodearraylist4;
2068 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2069 cltype22 = type_nullable_parser_nodes__AClasskind.color;
2070 idtype23 = type_nullable_parser_nodes__AClasskind.id;
2071 if(var_pclasskindnode5 == NULL) {
2072 var21 = 1;
2073 } else {
2074 if(cltype22 >= var_pclasskindnode5->type->table_size) {
2075 var21 = 0;
2076 } else {
2077 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
2078 }
2079 }
2080 if (!var21) {
2081 fprintf(stderr, "Runtime error: %s", "Assert failed");
2082 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4653);
2083 show_backtrace(1);
2084 }
2085 var_tclassidnode6 = var_nodearraylist7;
2086 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2087 cltype25 = type_nullable_parser_nodes__TClassid.color;
2088 idtype26 = type_nullable_parser_nodes__TClassid.id;
2089 if(var_tclassidnode6 == NULL) {
2090 var24 = 1;
2091 } else {
2092 if(cltype25 >= var_tclassidnode6->type->table_size) {
2093 var24 = 0;
2094 } else {
2095 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
2096 }
2097 }
2098 if (!var24) {
2099 fprintf(stderr, "Runtime error: %s", "Assert failed");
2100 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4655);
2101 show_backtrace(1);
2102 }
2103 var_listnode7 = var_nodearraylist8;
2104 /* <var_listnode7:nullable Object> isa Array[Object] */
2105 cltype28 = type_array__Arraykernel__Object.color;
2106 idtype29 = type_array__Arraykernel__Object.id;
2107 if(var_listnode7 == NULL) {
2108 var27 = 0;
2109 } else {
2110 if(cltype28 >= var_listnode7->type->table_size) {
2111 var27 = 0;
2112 } else {
2113 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
2114 }
2115 }
2116 if (!var27) {
2117 fprintf(stderr, "Runtime error: %s", "Assert failed");
2118 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4657);
2119 show_backtrace(1);
2120 }
2121 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction86>*/;
2122 var_listnode8 = var30;
2123 var_tkwendnode13 = var_nodearraylist10;
2124 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2125 cltype32 = type_nullable_parser_nodes__TKwend.color;
2126 idtype33 = type_nullable_parser_nodes__TKwend.id;
2127 if(var_tkwendnode13 == NULL) {
2128 var31 = 1;
2129 } else {
2130 if(cltype32 >= var_tkwendnode13->type->table_size) {
2131 var31 = 0;
2132 } else {
2133 var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33;
2134 }
2135 }
2136 if (!var31) {
2137 fprintf(stderr, "Runtime error: %s", "Assert failed");
2138 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4660);
2139 show_backtrace(1);
2140 }
2141 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2142 var35 = NULL;
2143 var36 = NULL;
2144 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var35, var36, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var34:AStdClassdef>*/;
2145 var_pclassdefnode1 = var34;
2146 var_node_list = var_pclassdefnode1;
2147 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction86> */
2148 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
2149 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
2150 RET_LABEL:;
2151 }
2152 /* method parser#ReduceAction86#action for (self: Object, Parser) */
2153 void VIRTUAL_parser__ReduceAction86__action(val* self, val* p0) {
2154 parser__ReduceAction86__action(self, p0);
2155 RET_LABEL:;
2156 }
2157 /* method parser#ReduceAction87#action for (self: ReduceAction87, Parser) */
2158 void parser__ReduceAction87__action(val* self, val* p0) {
2159 val* var_p /* var p: Parser */;
2160 val* var /* : null */;
2161 val* var_node_list /* var node_list: nullable Object */;
2162 val* var1 /* : nullable Object */;
2163 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2164 val* var2 /* : nullable Object */;
2165 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2166 val* var3 /* : nullable Object */;
2167 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2168 val* var4 /* : nullable Object */;
2169 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2170 val* var5 /* : nullable Object */;
2171 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2172 val* var6 /* : nullable Object */;
2173 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2174 val* var7 /* : nullable Object */;
2175 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2176 val* var8 /* : nullable Object */;
2177 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2178 val* var9 /* : nullable Object */;
2179 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2180 val* var10 /* : nullable Object */;
2181 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2182 val* var11 /* : nullable Object */;
2183 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2184 val* var12 /* : Array[Object] */;
2185 val* var_listnode8 /* var listnode8: Array[Object] */;
2186 val* var13 /* : Array[Object] */;
2187 val* var_listnode11 /* var listnode11: Array[Object] */;
2188 val* var14 /* : Array[Object] */;
2189 val* var_listnode12 /* var listnode12: Array[Object] */;
2190 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2191 short int var15 /* : Bool */;
2192 int cltype;
2193 int idtype;
2194 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2195 short int var16 /* : Bool */;
2196 int cltype17;
2197 int idtype18;
2198 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2199 short int var19 /* : Bool */;
2200 int cltype20;
2201 int idtype21;
2202 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2203 short int var22 /* : Bool */;
2204 int cltype23;
2205 int idtype24;
2206 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2207 short int var25 /* : Bool */;
2208 int cltype26;
2209 int idtype27;
2210 val* var_listnode7 /* var listnode7: nullable Object */;
2211 short int var28 /* : Bool */;
2212 int cltype29;
2213 int idtype30;
2214 val* var31 /* : Array[Object] */;
2215 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2216 short int var32 /* : Bool */;
2217 int cltype33;
2218 int idtype34;
2219 val* var35 /* : AStdClassdef */;
2220 val* var36 /* : null */;
2221 val* var37 /* : null */;
2222 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2223 long var38 /* : Int */;
2224 long var39 /* : Int */;
2225 var_p = p0;
2226 var = NULL;
2227 var_node_list = var;
2228 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2229 var_nodearraylist11 = var1;
2230 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2231 var_nodearraylist10 = var2;
2232 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2233 var_nodearraylist9 = var3;
2234 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2235 var_nodearraylist8 = var4;
2236 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2237 var_nodearraylist7 = var5;
2238 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2239 var_nodearraylist6 = var6;
2240 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2241 var_nodearraylist5 = var7;
2242 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2243 var_nodearraylist4 = var8;
2244 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2245 var_nodearraylist3 = var9;
2246 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2247 var_nodearraylist2 = var10;
2248 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2249 var_nodearraylist1 = var11;
2250 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2251 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2252 var_listnode8 = var12;
2253 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2254 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2255 var_listnode11 = var13;
2256 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2257 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2258 var_listnode12 = var14;
2259 var_pdocnode2 = var_nodearraylist1;
2260 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2261 cltype = type_nullable_parser_nodes__ADoc.color;
2262 idtype = type_nullable_parser_nodes__ADoc.id;
2263 if(var_pdocnode2 == NULL) {
2264 var15 = 1;
2265 } else {
2266 if(cltype >= var_pdocnode2->type->table_size) {
2267 var15 = 0;
2268 } else {
2269 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
2270 }
2271 }
2272 if (!var15) {
2273 fprintf(stderr, "Runtime error: %s", "Assert failed");
2274 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4698);
2275 show_backtrace(1);
2276 }
2277 var_tkwredefnode3 = var_nodearraylist2;
2278 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2279 cltype17 = type_nullable_parser_nodes__TKwredef.color;
2280 idtype18 = type_nullable_parser_nodes__TKwredef.id;
2281 if(var_tkwredefnode3 == NULL) {
2282 var16 = 1;
2283 } else {
2284 if(cltype17 >= var_tkwredefnode3->type->table_size) {
2285 var16 = 0;
2286 } else {
2287 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
2288 }
2289 }
2290 if (!var16) {
2291 fprintf(stderr, "Runtime error: %s", "Assert failed");
2292 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4700);
2293 show_backtrace(1);
2294 }
2295 var_pvisibilitynode4 = var_nodearraylist3;
2296 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2297 cltype20 = type_nullable_parser_nodes__AVisibility.color;
2298 idtype21 = type_nullable_parser_nodes__AVisibility.id;
2299 if(var_pvisibilitynode4 == NULL) {
2300 var19 = 1;
2301 } else {
2302 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
2303 var19 = 0;
2304 } else {
2305 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
2306 }
2307 }
2308 if (!var19) {
2309 fprintf(stderr, "Runtime error: %s", "Assert failed");
2310 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4702);
2311 show_backtrace(1);
2312 }
2313 var_pclasskindnode5 = var_nodearraylist4;
2314 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2315 cltype23 = type_nullable_parser_nodes__AClasskind.color;
2316 idtype24 = type_nullable_parser_nodes__AClasskind.id;
2317 if(var_pclasskindnode5 == NULL) {
2318 var22 = 1;
2319 } else {
2320 if(cltype23 >= var_pclasskindnode5->type->table_size) {
2321 var22 = 0;
2322 } else {
2323 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
2324 }
2325 }
2326 if (!var22) {
2327 fprintf(stderr, "Runtime error: %s", "Assert failed");
2328 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4704);
2329 show_backtrace(1);
2330 }
2331 var_tclassidnode6 = var_nodearraylist8;
2332 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2333 cltype26 = type_nullable_parser_nodes__TClassid.color;
2334 idtype27 = type_nullable_parser_nodes__TClassid.id;
2335 if(var_tclassidnode6 == NULL) {
2336 var25 = 1;
2337 } else {
2338 if(cltype26 >= var_tclassidnode6->type->table_size) {
2339 var25 = 0;
2340 } else {
2341 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
2342 }
2343 }
2344 if (!var25) {
2345 fprintf(stderr, "Runtime error: %s", "Assert failed");
2346 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4706);
2347 show_backtrace(1);
2348 }
2349 var_listnode7 = var_nodearraylist9;
2350 /* <var_listnode7:nullable Object> isa Array[Object] */
2351 cltype29 = type_array__Arraykernel__Object.color;
2352 idtype30 = type_array__Arraykernel__Object.id;
2353 if(var_listnode7 == NULL) {
2354 var28 = 0;
2355 } else {
2356 if(cltype29 >= var_listnode7->type->table_size) {
2357 var28 = 0;
2358 } else {
2359 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
2360 }
2361 }
2362 if (!var28) {
2363 fprintf(stderr, "Runtime error: %s", "Assert failed");
2364 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4708);
2365 show_backtrace(1);
2366 }
2367 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction87>*/;
2368 var_listnode8 = var31;
2369 var_tkwendnode13 = var_nodearraylist11;
2370 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2371 cltype33 = type_nullable_parser_nodes__TKwend.color;
2372 idtype34 = type_nullable_parser_nodes__TKwend.id;
2373 if(var_tkwendnode13 == NULL) {
2374 var32 = 1;
2375 } else {
2376 if(cltype33 >= var_tkwendnode13->type->table_size) {
2377 var32 = 0;
2378 } else {
2379 var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34;
2380 }
2381 }
2382 if (!var32) {
2383 fprintf(stderr, "Runtime error: %s", "Assert failed");
2384 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4711);
2385 show_backtrace(1);
2386 }
2387 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2388 var36 = NULL;
2389 var37 = NULL;
2390 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var36, var37, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var35:AStdClassdef>*/;
2391 var_pclassdefnode1 = var35;
2392 var_node_list = var_pclassdefnode1;
2393 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction87> */
2394 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
2395 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
2396 RET_LABEL:;
2397 }
2398 /* method parser#ReduceAction87#action for (self: Object, Parser) */
2399 void VIRTUAL_parser__ReduceAction87__action(val* self, val* p0) {
2400 parser__ReduceAction87__action(self, p0);
2401 RET_LABEL:;
2402 }
2403 /* method parser#ReduceAction89#action for (self: ReduceAction89, Parser) */
2404 void parser__ReduceAction89__action(val* self, val* p0) {
2405 val* var_p /* var p: Parser */;
2406 val* var /* : null */;
2407 val* var_node_list /* var node_list: nullable Object */;
2408 val* var1 /* : nullable Object */;
2409 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2410 val* var2 /* : nullable Object */;
2411 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2412 val* var3 /* : nullable Object */;
2413 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2414 val* var4 /* : nullable Object */;
2415 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2416 val* var5 /* : nullable Object */;
2417 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2418 val* var6 /* : nullable Object */;
2419 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2420 val* var7 /* : nullable Object */;
2421 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2422 val* var8 /* : nullable Object */;
2423 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2424 val* var9 /* : Array[Object] */;
2425 val* var_listnode7 /* var listnode7: Array[Object] */;
2426 val* var10 /* : Array[Object] */;
2427 val* var_listnode15 /* var listnode15: Array[Object] */;
2428 val* var11 /* : Array[Object] */;
2429 val* var_listnode16 /* var listnode16: Array[Object] */;
2430 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2431 short int var12 /* : Bool */;
2432 int cltype;
2433 int idtype;
2434 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2435 short int var13 /* : Bool */;
2436 int cltype14;
2437 int idtype15;
2438 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2439 short int var16 /* : Bool */;
2440 int cltype17;
2441 int idtype18;
2442 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2443 short int var19 /* : Bool */;
2444 int cltype20;
2445 int idtype21;
2446 val* var22 /* : Array[Object] */;
2447 val* var_listnode12 /* var listnode12: Array[Object] */;
2448 val* var_listnode11 /* var listnode11: nullable Object */;
2449 short int var23 /* : Bool */;
2450 int cltype24;
2451 int idtype25;
2452 val* var26 /* : Array[Object] */;
2453 val* var27 /* : AAnnotations */;
2454 val* var28 /* : null */;
2455 val* var29 /* : null */;
2456 val* var30 /* : null */;
2457 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
2458 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
2459 short int var31 /* : Bool */;
2460 int cltype32;
2461 int idtype33;
2462 val* var34 /* : AStdClassdef */;
2463 val* var35 /* : null */;
2464 val* var36 /* : null */;
2465 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2466 long var37 /* : Int */;
2467 long var38 /* : Int */;
2468 var_p = p0;
2469 var = NULL;
2470 var_node_list = var;
2471 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2472 var_nodearraylist8 = var1;
2473 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2474 var_nodearraylist7 = var2;
2475 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2476 var_nodearraylist6 = var3;
2477 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2478 var_nodearraylist5 = var4;
2479 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2480 var_nodearraylist4 = var5;
2481 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2482 var_nodearraylist3 = var6;
2483 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2484 var_nodearraylist2 = var7;
2485 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2486 var_nodearraylist1 = var8;
2487 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
2488 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
2489 var_listnode7 = var9;
2490 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
2491 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
2492 var_listnode15 = var10;
2493 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2494 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2495 var_listnode16 = var11;
2496 var_pdocnode2 = var_nodearraylist1;
2497 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2498 cltype = type_nullable_parser_nodes__ADoc.color;
2499 idtype = type_nullable_parser_nodes__ADoc.id;
2500 if(var_pdocnode2 == NULL) {
2501 var12 = 1;
2502 } else {
2503 if(cltype >= var_pdocnode2->type->table_size) {
2504 var12 = 0;
2505 } else {
2506 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
2507 }
2508 }
2509 if (!var12) {
2510 fprintf(stderr, "Runtime error: %s", "Assert failed");
2511 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4746);
2512 show_backtrace(1);
2513 }
2514 var_pvisibilitynode4 = var_nodearraylist2;
2515 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2516 cltype14 = type_nullable_parser_nodes__AVisibility.color;
2517 idtype15 = type_nullable_parser_nodes__AVisibility.id;
2518 if(var_pvisibilitynode4 == NULL) {
2519 var13 = 1;
2520 } else {
2521 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
2522 var13 = 0;
2523 } else {
2524 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
2525 }
2526 }
2527 if (!var13) {
2528 fprintf(stderr, "Runtime error: %s", "Assert failed");
2529 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4748);
2530 show_backtrace(1);
2531 }
2532 var_pclasskindnode5 = var_nodearraylist3;
2533 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2534 cltype17 = type_nullable_parser_nodes__AClasskind.color;
2535 idtype18 = type_nullable_parser_nodes__AClasskind.id;
2536 if(var_pclasskindnode5 == NULL) {
2537 var16 = 1;
2538 } else {
2539 if(cltype17 >= var_pclasskindnode5->type->table_size) {
2540 var16 = 0;
2541 } else {
2542 var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18;
2543 }
2544 }
2545 if (!var16) {
2546 fprintf(stderr, "Runtime error: %s", "Assert failed");
2547 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4750);
2548 show_backtrace(1);
2549 }
2550 var_tclassidnode6 = var_nodearraylist5;
2551 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2552 cltype20 = type_nullable_parser_nodes__TClassid.color;
2553 idtype21 = type_nullable_parser_nodes__TClassid.id;
2554 if(var_tclassidnode6 == NULL) {
2555 var19 = 1;
2556 } else {
2557 if(cltype20 >= var_tclassidnode6->type->table_size) {
2558 var19 = 0;
2559 } else {
2560 var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21;
2561 }
2562 }
2563 if (!var19) {
2564 fprintf(stderr, "Runtime error: %s", "Assert failed");
2565 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4752);
2566 show_backtrace(1);
2567 }
2568 var22 = NEW_array__Array(&type_array__Arraykernel__Object);
2569 ((void (*)(val*))(var22->class->vft[COLOR_array__Array__init]))(var22) /* init on <var22:Array[Object]>*/;
2570 var_listnode12 = var22;
2571 var_listnode11 = var_nodearraylist6;
2572 /* <var_listnode11:nullable Object> isa Array[Object] */
2573 cltype24 = type_array__Arraykernel__Object.color;
2574 idtype25 = type_array__Arraykernel__Object.id;
2575 if(var_listnode11 == NULL) {
2576 var23 = 0;
2577 } else {
2578 if(cltype24 >= var_listnode11->type->table_size) {
2579 var23 = 0;
2580 } else {
2581 var23 = var_listnode11->type->type_table[cltype24] == idtype25;
2582 }
2583 }
2584 if (!var23) {
2585 fprintf(stderr, "Runtime error: %s", "Assert failed");
2586 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4755);
2587 show_backtrace(1);
2588 }
2589 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction89>*/;
2590 var_listnode12 = var26;
2591 var27 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2592 var28 = NULL;
2593 var29 = NULL;
2594 var30 = NULL;
2595 ((void (*)(val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var27, var28, var29, var_listnode12, var30) /* init_aannotations on <var27:AAnnotations>*/;
2596 var_pannotationsnode8 = var27;
2597 var_tkwendnode17 = var_nodearraylist8;
2598 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
2599 cltype32 = type_nullable_parser_nodes__TKwend.color;
2600 idtype33 = type_nullable_parser_nodes__TKwend.id;
2601 if(var_tkwendnode17 == NULL) {
2602 var31 = 1;
2603 } else {
2604 if(cltype32 >= var_tkwendnode17->type->table_size) {
2605 var31 = 0;
2606 } else {
2607 var31 = var_tkwendnode17->type->type_table[cltype32] == idtype33;
2608 }
2609 }
2610 if (!var31) {
2611 fprintf(stderr, "Runtime error: %s", "Assert failed");
2612 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4764);
2613 show_backtrace(1);
2614 }
2615 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2616 var35 = NULL;
2617 var36 = NULL;
2618 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var35, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var36, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var34:AStdClassdef>*/;
2619 var_pclassdefnode1 = var34;
2620 var_node_list = var_pclassdefnode1;
2621 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction89> */
2622 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
2623 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
2624 RET_LABEL:;
2625 }
2626 /* method parser#ReduceAction89#action for (self: Object, Parser) */
2627 void VIRTUAL_parser__ReduceAction89__action(val* self, val* p0) {
2628 parser__ReduceAction89__action(self, p0);
2629 RET_LABEL:;
2630 }
2631 /* method parser#ReduceAction90#action for (self: ReduceAction90, Parser) */
2632 void parser__ReduceAction90__action(val* self, val* p0) {
2633 val* var_p /* var p: Parser */;
2634 val* var /* : null */;
2635 val* var_node_list /* var node_list: nullable Object */;
2636 val* var1 /* : nullable Object */;
2637 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2638 val* var2 /* : nullable Object */;
2639 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2640 val* var3 /* : nullable Object */;
2641 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2642 val* var4 /* : nullable Object */;
2643 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2644 val* var5 /* : nullable Object */;
2645 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2646 val* var6 /* : nullable Object */;
2647 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2648 val* var7 /* : nullable Object */;
2649 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2650 val* var8 /* : nullable Object */;
2651 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2652 val* var9 /* : nullable Object */;
2653 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2654 val* var10 /* : Array[Object] */;
2655 val* var_listnode7 /* var listnode7: Array[Object] */;
2656 val* var11 /* : Array[Object] */;
2657 val* var_listnode15 /* var listnode15: Array[Object] */;
2658 val* var12 /* : Array[Object] */;
2659 val* var_listnode16 /* var listnode16: Array[Object] */;
2660 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2661 short int var13 /* : Bool */;
2662 int cltype;
2663 int idtype;
2664 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2665 short int var14 /* : Bool */;
2666 int cltype15;
2667 int idtype16;
2668 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2669 short int var17 /* : Bool */;
2670 int cltype18;
2671 int idtype19;
2672 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2673 short int var20 /* : Bool */;
2674 int cltype21;
2675 int idtype22;
2676 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2677 short int var23 /* : Bool */;
2678 int cltype24;
2679 int idtype25;
2680 val* var26 /* : Array[Object] */;
2681 val* var_listnode12 /* var listnode12: Array[Object] */;
2682 val* var_listnode11 /* var listnode11: nullable Object */;
2683 short int var27 /* : Bool */;
2684 int cltype28;
2685 int idtype29;
2686 val* var30 /* : Array[Object] */;
2687 val* var31 /* : AAnnotations */;
2688 val* var32 /* : null */;
2689 val* var33 /* : null */;
2690 val* var34 /* : null */;
2691 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
2692 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
2693 short int var35 /* : Bool */;
2694 int cltype36;
2695 int idtype37;
2696 val* var38 /* : AStdClassdef */;
2697 val* var39 /* : null */;
2698 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2699 long var40 /* : Int */;
2700 long var41 /* : Int */;
2701 var_p = p0;
2702 var = NULL;
2703 var_node_list = var;
2704 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2705 var_nodearraylist9 = var1;
2706 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2707 var_nodearraylist8 = var2;
2708 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2709 var_nodearraylist7 = var3;
2710 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2711 var_nodearraylist6 = var4;
2712 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2713 var_nodearraylist5 = var5;
2714 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2715 var_nodearraylist4 = var6;
2716 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2717 var_nodearraylist3 = var7;
2718 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2719 var_nodearraylist2 = var8;
2720 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2721 var_nodearraylist1 = var9;
2722 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
2723 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
2724 var_listnode7 = var10;
2725 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2726 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2727 var_listnode15 = var11;
2728 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2729 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2730 var_listnode16 = var12;
2731 var_pdocnode2 = var_nodearraylist1;
2732 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2733 cltype = type_nullable_parser_nodes__ADoc.color;
2734 idtype = type_nullable_parser_nodes__ADoc.id;
2735 if(var_pdocnode2 == NULL) {
2736 var13 = 1;
2737 } else {
2738 if(cltype >= var_pdocnode2->type->table_size) {
2739 var13 = 0;
2740 } else {
2741 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
2742 }
2743 }
2744 if (!var13) {
2745 fprintf(stderr, "Runtime error: %s", "Assert failed");
2746 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4800);
2747 show_backtrace(1);
2748 }
2749 var_tkwredefnode3 = var_nodearraylist2;
2750 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2751 cltype15 = type_nullable_parser_nodes__TKwredef.color;
2752 idtype16 = type_nullable_parser_nodes__TKwredef.id;
2753 if(var_tkwredefnode3 == NULL) {
2754 var14 = 1;
2755 } else {
2756 if(cltype15 >= var_tkwredefnode3->type->table_size) {
2757 var14 = 0;
2758 } else {
2759 var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16;
2760 }
2761 }
2762 if (!var14) {
2763 fprintf(stderr, "Runtime error: %s", "Assert failed");
2764 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4802);
2765 show_backtrace(1);
2766 }
2767 var_pvisibilitynode4 = var_nodearraylist3;
2768 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2769 cltype18 = type_nullable_parser_nodes__AVisibility.color;
2770 idtype19 = type_nullable_parser_nodes__AVisibility.id;
2771 if(var_pvisibilitynode4 == NULL) {
2772 var17 = 1;
2773 } else {
2774 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
2775 var17 = 0;
2776 } else {
2777 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
2778 }
2779 }
2780 if (!var17) {
2781 fprintf(stderr, "Runtime error: %s", "Assert failed");
2782 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4804);
2783 show_backtrace(1);
2784 }
2785 var_pclasskindnode5 = var_nodearraylist4;
2786 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2787 cltype21 = type_nullable_parser_nodes__AClasskind.color;
2788 idtype22 = type_nullable_parser_nodes__AClasskind.id;
2789 if(var_pclasskindnode5 == NULL) {
2790 var20 = 1;
2791 } else {
2792 if(cltype21 >= var_pclasskindnode5->type->table_size) {
2793 var20 = 0;
2794 } else {
2795 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
2796 }
2797 }
2798 if (!var20) {
2799 fprintf(stderr, "Runtime error: %s", "Assert failed");
2800 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4806);
2801 show_backtrace(1);
2802 }
2803 var_tclassidnode6 = var_nodearraylist6;
2804 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2805 cltype24 = type_nullable_parser_nodes__TClassid.color;
2806 idtype25 = type_nullable_parser_nodes__TClassid.id;
2807 if(var_tclassidnode6 == NULL) {
2808 var23 = 1;
2809 } else {
2810 if(cltype24 >= var_tclassidnode6->type->table_size) {
2811 var23 = 0;
2812 } else {
2813 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
2814 }
2815 }
2816 if (!var23) {
2817 fprintf(stderr, "Runtime error: %s", "Assert failed");
2818 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4808);
2819 show_backtrace(1);
2820 }
2821 var26 = NEW_array__Array(&type_array__Arraykernel__Object);
2822 ((void (*)(val*))(var26->class->vft[COLOR_array__Array__init]))(var26) /* init on <var26:Array[Object]>*/;
2823 var_listnode12 = var26;
2824 var_listnode11 = var_nodearraylist7;
2825 /* <var_listnode11:nullable Object> isa Array[Object] */
2826 cltype28 = type_array__Arraykernel__Object.color;
2827 idtype29 = type_array__Arraykernel__Object.id;
2828 if(var_listnode11 == NULL) {
2829 var27 = 0;
2830 } else {
2831 if(cltype28 >= var_listnode11->type->table_size) {
2832 var27 = 0;
2833 } else {
2834 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
2835 }
2836 }
2837 if (!var27) {
2838 fprintf(stderr, "Runtime error: %s", "Assert failed");
2839 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4811);
2840 show_backtrace(1);
2841 }
2842 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction90>*/;
2843 var_listnode12 = var30;
2844 var31 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2845 var32 = NULL;
2846 var33 = NULL;
2847 var34 = NULL;
2848 ((void (*)(val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var31, var32, var33, var_listnode12, var34) /* init_aannotations on <var31:AAnnotations>*/;
2849 var_pannotationsnode8 = var31;
2850 var_tkwendnode17 = var_nodearraylist9;
2851 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
2852 cltype36 = type_nullable_parser_nodes__TKwend.color;
2853 idtype37 = type_nullable_parser_nodes__TKwend.id;
2854 if(var_tkwendnode17 == NULL) {
2855 var35 = 1;
2856 } else {
2857 if(cltype36 >= var_tkwendnode17->type->table_size) {
2858 var35 = 0;
2859 } else {
2860 var35 = var_tkwendnode17->type->type_table[cltype36] == idtype37;
2861 }
2862 }
2863 if (!var35) {
2864 fprintf(stderr, "Runtime error: %s", "Assert failed");
2865 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4820);
2866 show_backtrace(1);
2867 }
2868 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2869 var39 = NULL;
2870 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var39, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var38:AStdClassdef>*/;
2871 var_pclassdefnode1 = var38;
2872 var_node_list = var_pclassdefnode1;
2873 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction90> */
2874 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
2875 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
2876 RET_LABEL:;
2877 }
2878 /* method parser#ReduceAction90#action for (self: Object, Parser) */
2879 void VIRTUAL_parser__ReduceAction90__action(val* self, val* p0) {
2880 parser__ReduceAction90__action(self, p0);
2881 RET_LABEL:;
2882 }
2883 /* method parser#ReduceAction91#action for (self: ReduceAction91, Parser) */
2884 void parser__ReduceAction91__action(val* self, val* p0) {
2885 val* var_p /* var p: Parser */;
2886 val* var /* : null */;
2887 val* var_node_list /* var node_list: nullable Object */;
2888 val* var1 /* : nullable Object */;
2889 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2890 val* var2 /* : nullable Object */;
2891 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2892 val* var3 /* : nullable Object */;
2893 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2894 val* var4 /* : nullable Object */;
2895 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2896 val* var5 /* : nullable Object */;
2897 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2898 val* var6 /* : nullable Object */;
2899 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2900 val* var7 /* : nullable Object */;
2901 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2902 val* var8 /* : nullable Object */;
2903 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2904 val* var9 /* : nullable Object */;
2905 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2906 val* var10 /* : Array[Object] */;
2907 val* var_listnode7 /* var listnode7: Array[Object] */;
2908 val* var11 /* : Array[Object] */;
2909 val* var_listnode15 /* var listnode15: Array[Object] */;
2910 val* var12 /* : Array[Object] */;
2911 val* var_listnode16 /* var listnode16: Array[Object] */;
2912 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2913 short int var13 /* : Bool */;
2914 int cltype;
2915 int idtype;
2916 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2917 short int var14 /* : Bool */;
2918 int cltype15;
2919 int idtype16;
2920 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2921 short int var17 /* : Bool */;
2922 int cltype18;
2923 int idtype19;
2924 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2925 short int var20 /* : Bool */;
2926 int cltype21;
2927 int idtype22;
2928 val* var23 /* : Array[Object] */;
2929 val* var_listnode12 /* var listnode12: Array[Object] */;
2930 val* var_listnode11 /* var listnode11: nullable Object */;
2931 short int var24 /* : Bool */;
2932 int cltype25;
2933 int idtype26;
2934 val* var27 /* : Array[Object] */;
2935 val* var28 /* : AAnnotations */;
2936 val* var29 /* : null */;
2937 val* var30 /* : null */;
2938 val* var31 /* : null */;
2939 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
2940 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
2941 short int var32 /* : Bool */;
2942 int cltype33;
2943 int idtype34;
2944 val* var35 /* : AStdClassdef */;
2945 val* var36 /* : null */;
2946 val* var37 /* : null */;
2947 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2948 long var38 /* : Int */;
2949 long var39 /* : Int */;
2950 var_p = p0;
2951 var = NULL;
2952 var_node_list = var;
2953 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2954 var_nodearraylist9 = var1;
2955 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2956 var_nodearraylist8 = var2;
2957 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2958 var_nodearraylist7 = var3;
2959 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2960 var_nodearraylist6 = var4;
2961 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2962 var_nodearraylist5 = var5;
2963 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2964 var_nodearraylist4 = var6;
2965 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2966 var_nodearraylist3 = var7;
2967 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2968 var_nodearraylist2 = var8;
2969 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2970 var_nodearraylist1 = var9;
2971 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
2972 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
2973 var_listnode7 = var10;
2974 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2975 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2976 var_listnode15 = var11;
2977 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2978 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2979 var_listnode16 = var12;
2980 var_pdocnode2 = var_nodearraylist1;
2981 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2982 cltype = type_nullable_parser_nodes__ADoc.color;
2983 idtype = type_nullable_parser_nodes__ADoc.id;
2984 if(var_pdocnode2 == NULL) {
2985 var13 = 1;
2986 } else {
2987 if(cltype >= var_pdocnode2->type->table_size) {
2988 var13 = 0;
2989 } else {
2990 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
2991 }
2992 }
2993 if (!var13) {
2994 fprintf(stderr, "Runtime error: %s", "Assert failed");
2995 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4856);
2996 show_backtrace(1);
2997 }
2998 var_pvisibilitynode4 = var_nodearraylist2;
2999 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3000 cltype15 = type_nullable_parser_nodes__AVisibility.color;
3001 idtype16 = type_nullable_parser_nodes__AVisibility.id;
3002 if(var_pvisibilitynode4 == NULL) {
3003 var14 = 1;
3004 } else {
3005 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
3006 var14 = 0;
3007 } else {
3008 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
3009 }
3010 }
3011 if (!var14) {
3012 fprintf(stderr, "Runtime error: %s", "Assert failed");
3013 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4858);
3014 show_backtrace(1);
3015 }
3016 var_pclasskindnode5 = var_nodearraylist3;
3017 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3018 cltype18 = type_nullable_parser_nodes__AClasskind.color;
3019 idtype19 = type_nullable_parser_nodes__AClasskind.id;
3020 if(var_pclasskindnode5 == NULL) {
3021 var17 = 1;
3022 } else {
3023 if(cltype18 >= var_pclasskindnode5->type->table_size) {
3024 var17 = 0;
3025 } else {
3026 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
3027 }
3028 }
3029 if (!var17) {
3030 fprintf(stderr, "Runtime error: %s", "Assert failed");
3031 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4860);
3032 show_backtrace(1);
3033 }
3034 var_tclassidnode6 = var_nodearraylist6;
3035 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3036 cltype21 = type_nullable_parser_nodes__TClassid.color;
3037 idtype22 = type_nullable_parser_nodes__TClassid.id;
3038 if(var_tclassidnode6 == NULL) {
3039 var20 = 1;
3040 } else {
3041 if(cltype21 >= var_tclassidnode6->type->table_size) {
3042 var20 = 0;
3043 } else {
3044 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
3045 }
3046 }
3047 if (!var20) {
3048 fprintf(stderr, "Runtime error: %s", "Assert failed");
3049 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4862);
3050 show_backtrace(1);
3051 }
3052 var23 = NEW_array__Array(&type_array__Arraykernel__Object);
3053 ((void (*)(val*))(var23->class->vft[COLOR_array__Array__init]))(var23) /* init on <var23:Array[Object]>*/;
3054 var_listnode12 = var23;
3055 var_listnode11 = var_nodearraylist7;
3056 /* <var_listnode11:nullable Object> isa Array[Object] */
3057 cltype25 = type_array__Arraykernel__Object.color;
3058 idtype26 = type_array__Arraykernel__Object.id;
3059 if(var_listnode11 == NULL) {
3060 var24 = 0;
3061 } else {
3062 if(cltype25 >= var_listnode11->type->table_size) {
3063 var24 = 0;
3064 } else {
3065 var24 = var_listnode11->type->type_table[cltype25] == idtype26;
3066 }
3067 }
3068 if (!var24) {
3069 fprintf(stderr, "Runtime error: %s", "Assert failed");
3070 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4865);
3071 show_backtrace(1);
3072 }
3073 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction91>*/;
3074 var_listnode12 = var27;
3075 var28 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3076 var29 = NULL;
3077 var30 = NULL;
3078 var31 = NULL;
3079 ((void (*)(val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var28, var29, var30, var_listnode12, var31) /* init_aannotations on <var28:AAnnotations>*/;
3080 var_pannotationsnode8 = var28;
3081 var_tkwendnode17 = var_nodearraylist9;
3082 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
3083 cltype33 = type_nullable_parser_nodes__TKwend.color;
3084 idtype34 = type_nullable_parser_nodes__TKwend.id;
3085 if(var_tkwendnode17 == NULL) {
3086 var32 = 1;
3087 } else {
3088 if(cltype33 >= var_tkwendnode17->type->table_size) {
3089 var32 = 0;
3090 } else {
3091 var32 = var_tkwendnode17->type->type_table[cltype33] == idtype34;
3092 }
3093 }
3094 if (!var32) {
3095 fprintf(stderr, "Runtime error: %s", "Assert failed");
3096 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4874);
3097 show_backtrace(1);
3098 }
3099 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3100 var36 = NULL;
3101 var37 = NULL;
3102 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var36, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var37, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var35:AStdClassdef>*/;
3103 var_pclassdefnode1 = var35;
3104 var_node_list = var_pclassdefnode1;
3105 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction91> */
3106 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
3107 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
3108 RET_LABEL:;
3109 }
3110 /* method parser#ReduceAction91#action for (self: Object, Parser) */
3111 void VIRTUAL_parser__ReduceAction91__action(val* self, val* p0) {
3112 parser__ReduceAction91__action(self, p0);
3113 RET_LABEL:;
3114 }
3115 /* method parser#ReduceAction92#action for (self: ReduceAction92, Parser) */
3116 void parser__ReduceAction92__action(val* self, val* p0) {
3117 val* var_p /* var p: Parser */;
3118 val* var /* : null */;
3119 val* var_node_list /* var node_list: nullable Object */;
3120 val* var1 /* : nullable Object */;
3121 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3122 val* var2 /* : nullable Object */;
3123 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3124 val* var3 /* : nullable Object */;
3125 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3126 val* var4 /* : nullable Object */;
3127 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3128 val* var5 /* : nullable Object */;
3129 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3130 val* var6 /* : nullable Object */;
3131 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3132 val* var7 /* : nullable Object */;
3133 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3134 val* var8 /* : nullable Object */;
3135 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3136 val* var9 /* : nullable Object */;
3137 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3138 val* var10 /* : nullable Object */;
3139 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3140 val* var11 /* : Array[Object] */;
3141 val* var_listnode7 /* var listnode7: Array[Object] */;
3142 val* var12 /* : Array[Object] */;
3143 val* var_listnode15 /* var listnode15: Array[Object] */;
3144 val* var13 /* : Array[Object] */;
3145 val* var_listnode16 /* var listnode16: Array[Object] */;
3146 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3147 short int var14 /* : Bool */;
3148 int cltype;
3149 int idtype;
3150 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3151 short int var15 /* : Bool */;
3152 int cltype16;
3153 int idtype17;
3154 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3155 short int var18 /* : Bool */;
3156 int cltype19;
3157 int idtype20;
3158 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3159 short int var21 /* : Bool */;
3160 int cltype22;
3161 int idtype23;
3162 val* var24 /* : Array[Object] */;
3163 val* var_listnode12 /* var listnode12: Array[Object] */;
3164 val* var_listnode11 /* var listnode11: nullable Object */;
3165 short int var25 /* : Bool */;
3166 int cltype26;
3167 int idtype27;
3168 val* var28 /* : Array[Object] */;
3169 val* var29 /* : AAnnotations */;
3170 val* var30 /* : null */;
3171 val* var31 /* : null */;
3172 val* var32 /* : null */;
3173 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3174 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
3175 short int var33 /* : Bool */;
3176 int cltype34;
3177 int idtype35;
3178 val* var36 /* : AStdClassdef */;
3179 val* var37 /* : null */;
3180 val* var38 /* : null */;
3181 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3182 long var39 /* : Int */;
3183 long var40 /* : Int */;
3184 var_p = p0;
3185 var = NULL;
3186 var_node_list = var;
3187 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3188 var_nodearraylist10 = var1;
3189 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3190 var_nodearraylist9 = var2;
3191 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3192 var_nodearraylist8 = var3;
3193 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3194 var_nodearraylist7 = var4;
3195 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3196 var_nodearraylist6 = var5;
3197 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3198 var_nodearraylist5 = var6;
3199 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3200 var_nodearraylist4 = var7;
3201 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3202 var_nodearraylist3 = var8;
3203 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3204 var_nodearraylist2 = var9;
3205 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3206 var_nodearraylist1 = var10;
3207 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3208 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3209 var_listnode7 = var11;
3210 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3211 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3212 var_listnode15 = var12;
3213 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3214 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3215 var_listnode16 = var13;
3216 var_pdocnode2 = var_nodearraylist1;
3217 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3218 cltype = type_nullable_parser_nodes__ADoc.color;
3219 idtype = type_nullable_parser_nodes__ADoc.id;
3220 if(var_pdocnode2 == NULL) {
3221 var14 = 1;
3222 } else {
3223 if(cltype >= var_pdocnode2->type->table_size) {
3224 var14 = 0;
3225 } else {
3226 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
3227 }
3228 }
3229 if (!var14) {
3230 fprintf(stderr, "Runtime error: %s", "Assert failed");
3231 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4911);
3232 show_backtrace(1);
3233 }
3234 var_pvisibilitynode4 = var_nodearraylist2;
3235 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3236 cltype16 = type_nullable_parser_nodes__AVisibility.color;
3237 idtype17 = type_nullable_parser_nodes__AVisibility.id;
3238 if(var_pvisibilitynode4 == NULL) {
3239 var15 = 1;
3240 } else {
3241 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
3242 var15 = 0;
3243 } else {
3244 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
3245 }
3246 }
3247 if (!var15) {
3248 fprintf(stderr, "Runtime error: %s", "Assert failed");
3249 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4913);
3250 show_backtrace(1);
3251 }
3252 var_pclasskindnode5 = var_nodearraylist3;
3253 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3254 cltype19 = type_nullable_parser_nodes__AClasskind.color;
3255 idtype20 = type_nullable_parser_nodes__AClasskind.id;
3256 if(var_pclasskindnode5 == NULL) {
3257 var18 = 1;
3258 } else {
3259 if(cltype19 >= var_pclasskindnode5->type->table_size) {
3260 var18 = 0;
3261 } else {
3262 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
3263 }
3264 }
3265 if (!var18) {
3266 fprintf(stderr, "Runtime error: %s", "Assert failed");
3267 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4915);
3268 show_backtrace(1);
3269 }
3270 var_tclassidnode6 = var_nodearraylist7;
3271 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3272 cltype22 = type_nullable_parser_nodes__TClassid.color;
3273 idtype23 = type_nullable_parser_nodes__TClassid.id;
3274 if(var_tclassidnode6 == NULL) {
3275 var21 = 1;
3276 } else {
3277 if(cltype22 >= var_tclassidnode6->type->table_size) {
3278 var21 = 0;
3279 } else {
3280 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
3281 }
3282 }
3283 if (!var21) {
3284 fprintf(stderr, "Runtime error: %s", "Assert failed");
3285 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4917);
3286 show_backtrace(1);
3287 }
3288 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
3289 ((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on <var24:Array[Object]>*/;
3290 var_listnode12 = var24;
3291 var_listnode11 = var_nodearraylist8;
3292 /* <var_listnode11:nullable Object> isa Array[Object] */
3293 cltype26 = type_array__Arraykernel__Object.color;
3294 idtype27 = type_array__Arraykernel__Object.id;
3295 if(var_listnode11 == NULL) {
3296 var25 = 0;
3297 } else {
3298 if(cltype26 >= var_listnode11->type->table_size) {
3299 var25 = 0;
3300 } else {
3301 var25 = var_listnode11->type->type_table[cltype26] == idtype27;
3302 }
3303 }
3304 if (!var25) {
3305 fprintf(stderr, "Runtime error: %s", "Assert failed");
3306 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4920);
3307 show_backtrace(1);
3308 }
3309 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction92>*/;
3310 var_listnode12 = var28;
3311 var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3312 var30 = NULL;
3313 var31 = NULL;
3314 var32 = NULL;
3315 ((void (*)(val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var29, var30, var31, var_listnode12, var32) /* init_aannotations on <var29:AAnnotations>*/;
3316 var_pannotationsnode8 = var29;
3317 var_tkwendnode17 = var_nodearraylist10;
3318 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
3319 cltype34 = type_nullable_parser_nodes__TKwend.color;
3320 idtype35 = type_nullable_parser_nodes__TKwend.id;
3321 if(var_tkwendnode17 == NULL) {
3322 var33 = 1;
3323 } else {
3324 if(cltype34 >= var_tkwendnode17->type->table_size) {
3325 var33 = 0;
3326 } else {
3327 var33 = var_tkwendnode17->type->type_table[cltype34] == idtype35;
3328 }
3329 }
3330 if (!var33) {
3331 fprintf(stderr, "Runtime error: %s", "Assert failed");
3332 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4929);
3333 show_backtrace(1);
3334 }
3335 var36 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3336 var37 = NULL;
3337 var38 = NULL;
3338 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var36, var_pdocnode2, var37, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var38, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var36:AStdClassdef>*/;
3339 var_pclassdefnode1 = var36;
3340 var_node_list = var_pclassdefnode1;
3341 var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction92> */
3342 var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on <var_p:Parser>*/;
3343 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on <var_p:Parser>*/;
3344 RET_LABEL:;
3345 }
3346 /* method parser#ReduceAction92#action for (self: Object, Parser) */
3347 void VIRTUAL_parser__ReduceAction92__action(val* self, val* p0) {
3348 parser__ReduceAction92__action(self, p0);
3349 RET_LABEL:;
3350 }
3351 /* method parser#ReduceAction94#action for (self: ReduceAction94, Parser) */
3352 void parser__ReduceAction94__action(val* self, val* p0) {
3353 val* var_p /* var p: Parser */;
3354 val* var /* : null */;
3355 val* var_node_list /* var node_list: nullable Object */;
3356 val* var1 /* : nullable Object */;
3357 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3358 val* var2 /* : nullable Object */;
3359 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3360 val* var3 /* : nullable Object */;
3361 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3362 val* var4 /* : nullable Object */;
3363 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3364 val* var5 /* : nullable Object */;
3365 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3366 val* var6 /* : nullable Object */;
3367 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3368 val* var7 /* : nullable Object */;
3369 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3370 val* var8 /* : nullable Object */;
3371 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3372 val* var9 /* : nullable Object */;
3373 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3374 val* var10 /* : nullable Object */;
3375 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3376 val* var11 /* : Array[Object] */;
3377 val* var_listnode7 /* var listnode7: Array[Object] */;
3378 val* var12 /* : Array[Object] */;
3379 val* var_listnode15 /* var listnode15: Array[Object] */;
3380 val* var13 /* : Array[Object] */;
3381 val* var_listnode16 /* var listnode16: Array[Object] */;
3382 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3383 short int var14 /* : Bool */;
3384 int cltype;
3385 int idtype;
3386 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3387 short int var15 /* : Bool */;
3388 int cltype16;
3389 int idtype17;
3390 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3391 short int var18 /* : Bool */;
3392 int cltype19;
3393 int idtype20;
3394 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3395 short int var21 /* : Bool */;
3396 int cltype22;
3397 int idtype23;
3398 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3399 short int var24 /* : Bool */;
3400 int cltype25;
3401 int idtype26;
3402 val* var27 /* : Array[Object] */;
3403 val* var_listnode12 /* var listnode12: Array[Object] */;
3404 val* var_listnode11 /* var listnode11: nullable Object */;
3405 short int var28 /* : Bool */;
3406 int cltype29;
3407 int idtype30;
3408 val* var31 /* : Array[Object] */;
3409 val* var32 /* : AAnnotations */;
3410 val* var33 /* : null */;
3411 val* var34 /* : null */;
3412 val* var35 /* : null */;
3413 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3414 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
3415 short int var36 /* : Bool */;
3416 int cltype37;
3417 int idtype38;
3418 val* var39 /* : AStdClassdef */;
3419 val* var40 /* : null */;
3420 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3421 long var41 /* : Int */;
3422 long var42 /* : Int */;
3423 var_p = p0;
3424 var = NULL;
3425 var_node_list = var;
3426 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3427 var_nodearraylist10 = var1;
3428 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3429 var_nodearraylist9 = var2;
3430 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3431 var_nodearraylist8 = var3;
3432 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3433 var_nodearraylist7 = var4;
3434 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3435 var_nodearraylist6 = var5;
3436 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3437 var_nodearraylist5 = var6;
3438 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3439 var_nodearraylist4 = var7;
3440 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3441 var_nodearraylist3 = var8;
3442 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3443 var_nodearraylist2 = var9;
3444 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3445 var_nodearraylist1 = var10;
3446 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3447 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3448 var_listnode7 = var11;
3449 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3450 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3451 var_listnode15 = var12;
3452 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3453 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3454 var_listnode16 = var13;
3455 var_pdocnode2 = var_nodearraylist1;
3456 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3457 cltype = type_nullable_parser_nodes__ADoc.color;
3458 idtype = type_nullable_parser_nodes__ADoc.id;
3459 if(var_pdocnode2 == NULL) {
3460 var14 = 1;
3461 } else {
3462 if(cltype >= var_pdocnode2->type->table_size) {
3463 var14 = 0;
3464 } else {
3465 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
3466 }
3467 }
3468 if (!var14) {
3469 fprintf(stderr, "Runtime error: %s", "Assert failed");
3470 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4966);
3471 show_backtrace(1);
3472 }
3473 var_tkwredefnode3 = var_nodearraylist2;
3474 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3475 cltype16 = type_nullable_parser_nodes__TKwredef.color;
3476 idtype17 = type_nullable_parser_nodes__TKwredef.id;
3477 if(var_tkwredefnode3 == NULL) {
3478 var15 = 1;
3479 } else {
3480 if(cltype16 >= var_tkwredefnode3->type->table_size) {
3481 var15 = 0;
3482 } else {
3483 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
3484 }
3485 }
3486 if (!var15) {
3487 fprintf(stderr, "Runtime error: %s", "Assert failed");
3488 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4968);
3489 show_backtrace(1);
3490 }
3491 var_pvisibilitynode4 = var_nodearraylist3;
3492 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3493 cltype19 = type_nullable_parser_nodes__AVisibility.color;
3494 idtype20 = type_nullable_parser_nodes__AVisibility.id;
3495 if(var_pvisibilitynode4 == NULL) {
3496 var18 = 1;
3497 } else {
3498 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
3499 var18 = 0;
3500 } else {
3501 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
3502 }
3503 }
3504 if (!var18) {
3505 fprintf(stderr, "Runtime error: %s", "Assert failed");
3506 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4970);
3507 show_backtrace(1);
3508 }
3509 var_pclasskindnode5 = var_nodearraylist4;
3510 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3511 cltype22 = type_nullable_parser_nodes__AClasskind.color;
3512 idtype23 = type_nullable_parser_nodes__AClasskind.id;
3513 if(var_pclasskindnode5 == NULL) {
3514 var21 = 1;
3515 } else {
3516 if(cltype22 >= var_pclasskindnode5->type->table_size) {
3517 var21 = 0;
3518 } else {
3519 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
3520 }
3521 }
3522 if (!var21) {
3523 fprintf(stderr, "Runtime error: %s", "Assert failed");
3524 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4972);
3525 show_backtrace(1);
3526 }
3527 var_tclassidnode6 = var_nodearraylist7;
3528 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3529 cltype25 = type_nullable_parser_nodes__TClassid.color;
3530 idtype26 = type_nullable_parser_nodes__TClassid.id;
3531 if(var_tclassidnode6 == NULL) {
3532 var24 = 1;
3533 } else {
3534 if(cltype25 >= var_tclassidnode6->type->table_size) {
3535 var24 = 0;
3536 } else {
3537 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
3538 }
3539 }
3540 if (!var24) {
3541 fprintf(stderr, "Runtime error: %s", "Assert failed");
3542 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4974);
3543 show_backtrace(1);
3544 }
3545 var27 = NEW_array__Array(&type_array__Arraykernel__Object);
3546 ((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on <var27:Array[Object]>*/;
3547 var_listnode12 = var27;
3548 var_listnode11 = var_nodearraylist8;
3549 /* <var_listnode11:nullable Object> isa Array[Object] */
3550 cltype29 = type_array__Arraykernel__Object.color;
3551 idtype30 = type_array__Arraykernel__Object.id;
3552 if(var_listnode11 == NULL) {
3553 var28 = 0;
3554 } else {
3555 if(cltype29 >= var_listnode11->type->table_size) {
3556 var28 = 0;
3557 } else {
3558 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
3559 }
3560 }
3561 if (!var28) {
3562 fprintf(stderr, "Runtime error: %s", "Assert failed");
3563 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4977);
3564 show_backtrace(1);
3565 }
3566 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction94>*/;
3567 var_listnode12 = var31;
3568 var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3569 var33 = NULL;
3570 var34 = NULL;
3571 var35 = NULL;
3572 ((void (*)(val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var32, var33, var34, var_listnode12, var35) /* init_aannotations on <var32:AAnnotations>*/;
3573 var_pannotationsnode8 = var32;
3574 var_tkwendnode17 = var_nodearraylist10;
3575 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
3576 cltype37 = type_nullable_parser_nodes__TKwend.color;
3577 idtype38 = type_nullable_parser_nodes__TKwend.id;
3578 if(var_tkwendnode17 == NULL) {
3579 var36 = 1;
3580 } else {
3581 if(cltype37 >= var_tkwendnode17->type->table_size) {
3582 var36 = 0;
3583 } else {
3584 var36 = var_tkwendnode17->type->type_table[cltype37] == idtype38;
3585 }
3586 }
3587 if (!var36) {
3588 fprintf(stderr, "Runtime error: %s", "Assert failed");
3589 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4986);
3590 show_backtrace(1);
3591 }
3592 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3593 var40 = NULL;
3594 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var40, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var39:AStdClassdef>*/;
3595 var_pclassdefnode1 = var39;
3596 var_node_list = var_pclassdefnode1;
3597 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction94> */
3598 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
3599 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
3600 RET_LABEL:;
3601 }
3602 /* method parser#ReduceAction94#action for (self: Object, Parser) */
3603 void VIRTUAL_parser__ReduceAction94__action(val* self, val* p0) {
3604 parser__ReduceAction94__action(self, p0);
3605 RET_LABEL:;
3606 }
3607 /* method parser#ReduceAction95#action for (self: ReduceAction95, Parser) */
3608 void parser__ReduceAction95__action(val* self, val* p0) {
3609 val* var_p /* var p: Parser */;
3610 val* var /* : null */;
3611 val* var_node_list /* var node_list: nullable Object */;
3612 val* var1 /* : nullable Object */;
3613 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3614 val* var2 /* : nullable Object */;
3615 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3616 val* var3 /* : nullable Object */;
3617 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3618 val* var4 /* : nullable Object */;
3619 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3620 val* var5 /* : nullable Object */;
3621 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3622 val* var6 /* : nullable Object */;
3623 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3624 val* var7 /* : nullable Object */;
3625 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3626 val* var8 /* : nullable Object */;
3627 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3628 val* var9 /* : nullable Object */;
3629 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3630 val* var10 /* : nullable Object */;
3631 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3632 val* var11 /* : nullable Object */;
3633 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3634 val* var12 /* : Array[Object] */;
3635 val* var_listnode7 /* var listnode7: Array[Object] */;
3636 val* var13 /* : Array[Object] */;
3637 val* var_listnode15 /* var listnode15: Array[Object] */;
3638 val* var14 /* : Array[Object] */;
3639 val* var_listnode16 /* var listnode16: Array[Object] */;
3640 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3641 short int var15 /* : Bool */;
3642 int cltype;
3643 int idtype;
3644 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3645 short int var16 /* : Bool */;
3646 int cltype17;
3647 int idtype18;
3648 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3649 short int var19 /* : Bool */;
3650 int cltype20;
3651 int idtype21;
3652 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3653 short int var22 /* : Bool */;
3654 int cltype23;
3655 int idtype24;
3656 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3657 short int var25 /* : Bool */;
3658 int cltype26;
3659 int idtype27;
3660 val* var28 /* : Array[Object] */;
3661 val* var_listnode12 /* var listnode12: Array[Object] */;
3662 val* var_listnode11 /* var listnode11: nullable Object */;
3663 short int var29 /* : Bool */;
3664 int cltype30;
3665 int idtype31;
3666 val* var32 /* : Array[Object] */;
3667 val* var33 /* : AAnnotations */;
3668 val* var34 /* : null */;
3669 val* var35 /* : null */;
3670 val* var36 /* : null */;
3671 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3672 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
3673 short int var37 /* : Bool */;
3674 int cltype38;
3675 int idtype39;
3676 val* var40 /* : AStdClassdef */;
3677 val* var41 /* : null */;
3678 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3679 long var42 /* : Int */;
3680 long var43 /* : Int */;
3681 var_p = p0;
3682 var = NULL;
3683 var_node_list = var;
3684 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3685 var_nodearraylist11 = var1;
3686 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3687 var_nodearraylist10 = var2;
3688 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3689 var_nodearraylist9 = var3;
3690 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3691 var_nodearraylist8 = var4;
3692 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3693 var_nodearraylist7 = var5;
3694 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3695 var_nodearraylist6 = var6;
3696 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3697 var_nodearraylist5 = var7;
3698 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3699 var_nodearraylist4 = var8;
3700 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3701 var_nodearraylist3 = var9;
3702 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3703 var_nodearraylist2 = var10;
3704 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3705 var_nodearraylist1 = var11;
3706 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3707 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3708 var_listnode7 = var12;
3709 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3710 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3711 var_listnode15 = var13;
3712 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3713 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3714 var_listnode16 = var14;
3715 var_pdocnode2 = var_nodearraylist1;
3716 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3717 cltype = type_nullable_parser_nodes__ADoc.color;
3718 idtype = type_nullable_parser_nodes__ADoc.id;
3719 if(var_pdocnode2 == NULL) {
3720 var15 = 1;
3721 } else {
3722 if(cltype >= var_pdocnode2->type->table_size) {
3723 var15 = 0;
3724 } else {
3725 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
3726 }
3727 }
3728 if (!var15) {
3729 fprintf(stderr, "Runtime error: %s", "Assert failed");
3730 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5024);
3731 show_backtrace(1);
3732 }
3733 var_tkwredefnode3 = var_nodearraylist2;
3734 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3735 cltype17 = type_nullable_parser_nodes__TKwredef.color;
3736 idtype18 = type_nullable_parser_nodes__TKwredef.id;
3737 if(var_tkwredefnode3 == NULL) {
3738 var16 = 1;
3739 } else {
3740 if(cltype17 >= var_tkwredefnode3->type->table_size) {
3741 var16 = 0;
3742 } else {
3743 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
3744 }
3745 }
3746 if (!var16) {
3747 fprintf(stderr, "Runtime error: %s", "Assert failed");
3748 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5026);
3749 show_backtrace(1);
3750 }
3751 var_pvisibilitynode4 = var_nodearraylist3;
3752 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3753 cltype20 = type_nullable_parser_nodes__AVisibility.color;
3754 idtype21 = type_nullable_parser_nodes__AVisibility.id;
3755 if(var_pvisibilitynode4 == NULL) {
3756 var19 = 1;
3757 } else {
3758 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
3759 var19 = 0;
3760 } else {
3761 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
3762 }
3763 }
3764 if (!var19) {
3765 fprintf(stderr, "Runtime error: %s", "Assert failed");
3766 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5028);
3767 show_backtrace(1);
3768 }
3769 var_pclasskindnode5 = var_nodearraylist4;
3770 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3771 cltype23 = type_nullable_parser_nodes__AClasskind.color;
3772 idtype24 = type_nullable_parser_nodes__AClasskind.id;
3773 if(var_pclasskindnode5 == NULL) {
3774 var22 = 1;
3775 } else {
3776 if(cltype23 >= var_pclasskindnode5->type->table_size) {
3777 var22 = 0;
3778 } else {
3779 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
3780 }
3781 }
3782 if (!var22) {
3783 fprintf(stderr, "Runtime error: %s", "Assert failed");
3784 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5030);
3785 show_backtrace(1);
3786 }
3787 var_tclassidnode6 = var_nodearraylist8;
3788 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3789 cltype26 = type_nullable_parser_nodes__TClassid.color;
3790 idtype27 = type_nullable_parser_nodes__TClassid.id;
3791 if(var_tclassidnode6 == NULL) {
3792 var25 = 1;
3793 } else {
3794 if(cltype26 >= var_tclassidnode6->type->table_size) {
3795 var25 = 0;
3796 } else {
3797 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
3798 }
3799 }
3800 if (!var25) {
3801 fprintf(stderr, "Runtime error: %s", "Assert failed");
3802 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5032);
3803 show_backtrace(1);
3804 }
3805 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
3806 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
3807 var_listnode12 = var28;
3808 var_listnode11 = var_nodearraylist9;
3809 /* <var_listnode11:nullable Object> isa Array[Object] */
3810 cltype30 = type_array__Arraykernel__Object.color;
3811 idtype31 = type_array__Arraykernel__Object.id;
3812 if(var_listnode11 == NULL) {
3813 var29 = 0;
3814 } else {
3815 if(cltype30 >= var_listnode11->type->table_size) {
3816 var29 = 0;
3817 } else {
3818 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
3819 }
3820 }
3821 if (!var29) {
3822 fprintf(stderr, "Runtime error: %s", "Assert failed");
3823 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5035);
3824 show_backtrace(1);
3825 }
3826 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction95>*/;
3827 var_listnode12 = var32;
3828 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3829 var34 = NULL;
3830 var35 = NULL;
3831 var36 = NULL;
3832 ((void (*)(val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var33, var34, var35, var_listnode12, var36) /* init_aannotations on <var33:AAnnotations>*/;
3833 var_pannotationsnode8 = var33;
3834 var_tkwendnode17 = var_nodearraylist11;
3835 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
3836 cltype38 = type_nullable_parser_nodes__TKwend.color;
3837 idtype39 = type_nullable_parser_nodes__TKwend.id;
3838 if(var_tkwendnode17 == NULL) {
3839 var37 = 1;
3840 } else {
3841 if(cltype38 >= var_tkwendnode17->type->table_size) {
3842 var37 = 0;
3843 } else {
3844 var37 = var_tkwendnode17->type->type_table[cltype38] == idtype39;
3845 }
3846 }
3847 if (!var37) {
3848 fprintf(stderr, "Runtime error: %s", "Assert failed");
3849 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5044);
3850 show_backtrace(1);
3851 }
3852 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3853 var41 = NULL;
3854 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var41, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var40:AStdClassdef>*/;
3855 var_pclassdefnode1 = var40;
3856 var_node_list = var_pclassdefnode1;
3857 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction95> */
3858 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
3859 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
3860 RET_LABEL:;
3861 }
3862 /* method parser#ReduceAction95#action for (self: Object, Parser) */
3863 void VIRTUAL_parser__ReduceAction95__action(val* self, val* p0) {
3864 parser__ReduceAction95__action(self, p0);
3865 RET_LABEL:;
3866 }
3867 /* method parser#ReduceAction97#action for (self: ReduceAction97, Parser) */
3868 void parser__ReduceAction97__action(val* self, val* p0) {
3869 val* var_p /* var p: Parser */;
3870 val* var /* : null */;
3871 val* var_node_list /* var node_list: nullable Object */;
3872 val* var1 /* : nullable Object */;
3873 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3874 val* var2 /* : nullable Object */;
3875 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3876 val* var3 /* : nullable Object */;
3877 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3878 val* var4 /* : nullable Object */;
3879 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3880 val* var5 /* : nullable Object */;
3881 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3882 val* var6 /* : nullable Object */;
3883 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3884 val* var7 /* : nullable Object */;
3885 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3886 val* var8 /* : nullable Object */;
3887 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3888 val* var9 /* : nullable Object */;
3889 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3890 val* var10 /* : Array[Object] */;
3891 val* var_listnode8 /* var listnode8: Array[Object] */;
3892 val* var11 /* : Array[Object] */;
3893 val* var_listnode16 /* var listnode16: Array[Object] */;
3894 val* var12 /* : Array[Object] */;
3895 val* var_listnode17 /* var listnode17: Array[Object] */;
3896 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3897 short int var13 /* : Bool */;
3898 int cltype;
3899 int idtype;
3900 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3901 short int var14 /* : Bool */;
3902 int cltype15;
3903 int idtype16;
3904 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3905 short int var17 /* : Bool */;
3906 int cltype18;
3907 int idtype19;
3908 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3909 short int var20 /* : Bool */;
3910 int cltype21;
3911 int idtype22;
3912 val* var_listnode7 /* var listnode7: nullable Object */;
3913 short int var23 /* : Bool */;
3914 int cltype24;
3915 int idtype25;
3916 val* var26 /* : Array[Object] */;
3917 val* var27 /* : Array[Object] */;
3918 val* var_listnode13 /* var listnode13: Array[Object] */;
3919 val* var_listnode12 /* var listnode12: nullable Object */;
3920 short int var28 /* : Bool */;
3921 int cltype29;
3922 int idtype30;
3923 val* var31 /* : Array[Object] */;
3924 val* var32 /* : AAnnotations */;
3925 val* var33 /* : null */;
3926 val* var34 /* : null */;
3927 val* var35 /* : null */;
3928 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
3929 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
3930 short int var36 /* : Bool */;
3931 int cltype37;
3932 int idtype38;
3933 val* var39 /* : AStdClassdef */;
3934 val* var40 /* : null */;
3935 val* var41 /* : null */;
3936 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3937 long var42 /* : Int */;
3938 long var43 /* : Int */;
3939 var_p = p0;
3940 var = NULL;
3941 var_node_list = var;
3942 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3943 var_nodearraylist9 = var1;
3944 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3945 var_nodearraylist8 = var2;
3946 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3947 var_nodearraylist7 = var3;
3948 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3949 var_nodearraylist6 = var4;
3950 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3951 var_nodearraylist5 = var5;
3952 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3953 var_nodearraylist4 = var6;
3954 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3955 var_nodearraylist3 = var7;
3956 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3957 var_nodearraylist2 = var8;
3958 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3959 var_nodearraylist1 = var9;
3960 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
3961 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
3962 var_listnode8 = var10;
3963 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3964 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3965 var_listnode16 = var11;
3966 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3967 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3968 var_listnode17 = var12;
3969 var_pdocnode2 = var_nodearraylist1;
3970 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3971 cltype = type_nullable_parser_nodes__ADoc.color;
3972 idtype = type_nullable_parser_nodes__ADoc.id;
3973 if(var_pdocnode2 == NULL) {
3974 var13 = 1;
3975 } else {
3976 if(cltype >= var_pdocnode2->type->table_size) {
3977 var13 = 0;
3978 } else {
3979 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
3980 }
3981 }
3982 if (!var13) {
3983 fprintf(stderr, "Runtime error: %s", "Assert failed");
3984 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5080);
3985 show_backtrace(1);
3986 }
3987 var_pvisibilitynode4 = var_nodearraylist2;
3988 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3989 cltype15 = type_nullable_parser_nodes__AVisibility.color;
3990 idtype16 = type_nullable_parser_nodes__AVisibility.id;
3991 if(var_pvisibilitynode4 == NULL) {
3992 var14 = 1;
3993 } else {
3994 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
3995 var14 = 0;
3996 } else {
3997 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
3998 }
3999 }
4000 if (!var14) {
4001 fprintf(stderr, "Runtime error: %s", "Assert failed");
4002 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5082);
4003 show_backtrace(1);
4004 }
4005 var_pclasskindnode5 = var_nodearraylist3;
4006 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4007 cltype18 = type_nullable_parser_nodes__AClasskind.color;
4008 idtype19 = type_nullable_parser_nodes__AClasskind.id;
4009 if(var_pclasskindnode5 == NULL) {
4010 var17 = 1;
4011 } else {
4012 if(cltype18 >= var_pclasskindnode5->type->table_size) {
4013 var17 = 0;
4014 } else {
4015 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
4016 }
4017 }
4018 if (!var17) {
4019 fprintf(stderr, "Runtime error: %s", "Assert failed");
4020 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5084);
4021 show_backtrace(1);
4022 }
4023 var_tclassidnode6 = var_nodearraylist5;
4024 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4025 cltype21 = type_nullable_parser_nodes__TClassid.color;
4026 idtype22 = type_nullable_parser_nodes__TClassid.id;
4027 if(var_tclassidnode6 == NULL) {
4028 var20 = 1;
4029 } else {
4030 if(cltype21 >= var_tclassidnode6->type->table_size) {
4031 var20 = 0;
4032 } else {
4033 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
4034 }
4035 }
4036 if (!var20) {
4037 fprintf(stderr, "Runtime error: %s", "Assert failed");
4038 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5086);
4039 show_backtrace(1);
4040 }
4041 var_listnode7 = var_nodearraylist6;
4042 /* <var_listnode7:nullable Object> isa Array[Object] */
4043 cltype24 = type_array__Arraykernel__Object.color;
4044 idtype25 = type_array__Arraykernel__Object.id;
4045 if(var_listnode7 == NULL) {
4046 var23 = 0;
4047 } else {
4048 if(cltype24 >= var_listnode7->type->table_size) {
4049 var23 = 0;
4050 } else {
4051 var23 = var_listnode7->type->type_table[cltype24] == idtype25;
4052 }
4053 }
4054 if (!var23) {
4055 fprintf(stderr, "Runtime error: %s", "Assert failed");
4056 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5088);
4057 show_backtrace(1);
4058 }
4059 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction97>*/;
4060 var_listnode8 = var26;
4061 var27 = NEW_array__Array(&type_array__Arraykernel__Object);
4062 ((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on <var27:Array[Object]>*/;
4063 var_listnode13 = var27;
4064 var_listnode12 = var_nodearraylist7;
4065 /* <var_listnode12:nullable Object> isa Array[Object] */
4066 cltype29 = type_array__Arraykernel__Object.color;
4067 idtype30 = type_array__Arraykernel__Object.id;
4068 if(var_listnode12 == NULL) {
4069 var28 = 0;
4070 } else {
4071 if(cltype29 >= var_listnode12->type->table_size) {
4072 var28 = 0;
4073 } else {
4074 var28 = var_listnode12->type->type_table[cltype29] == idtype30;
4075 }
4076 }
4077 if (!var28) {
4078 fprintf(stderr, "Runtime error: %s", "Assert failed");
4079 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5092);
4080 show_backtrace(1);
4081 }
4082 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction97>*/;
4083 var_listnode13 = var31;
4084 var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4085 var33 = NULL;
4086 var34 = NULL;
4087 var35 = NULL;
4088 ((void (*)(val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var32, var33, var34, var_listnode13, var35) /* init_aannotations on <var32:AAnnotations>*/;
4089 var_pannotationsnode9 = var32;
4090 var_tkwendnode18 = var_nodearraylist9;
4091 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
4092 cltype37 = type_nullable_parser_nodes__TKwend.color;
4093 idtype38 = type_nullable_parser_nodes__TKwend.id;
4094 if(var_tkwendnode18 == NULL) {
4095 var36 = 1;
4096 } else {
4097 if(cltype37 >= var_tkwendnode18->type->table_size) {
4098 var36 = 0;
4099 } else {
4100 var36 = var_tkwendnode18->type->type_table[cltype37] == idtype38;
4101 }
4102 }
4103 if (!var36) {
4104 fprintf(stderr, "Runtime error: %s", "Assert failed");
4105 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5101);
4106 show_backtrace(1);
4107 }
4108 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4109 var40 = NULL;
4110 var41 = NULL;
4111 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var40, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var41, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var39:AStdClassdef>*/;
4112 var_pclassdefnode1 = var39;
4113 var_node_list = var_pclassdefnode1;
4114 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction97> */
4115 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
4116 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
4117 RET_LABEL:;
4118 }
4119 /* method parser#ReduceAction97#action for (self: Object, Parser) */
4120 void VIRTUAL_parser__ReduceAction97__action(val* self, val* p0) {
4121 parser__ReduceAction97__action(self, p0);
4122 RET_LABEL:;
4123 }
4124 /* method parser#ReduceAction98#action for (self: ReduceAction98, Parser) */
4125 void parser__ReduceAction98__action(val* self, val* p0) {
4126 val* var_p /* var p: Parser */;
4127 val* var /* : null */;
4128 val* var_node_list /* var node_list: nullable Object */;
4129 val* var1 /* : nullable Object */;
4130 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4131 val* var2 /* : nullable Object */;
4132 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4133 val* var3 /* : nullable Object */;
4134 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4135 val* var4 /* : nullable Object */;
4136 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4137 val* var5 /* : nullable Object */;
4138 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4139 val* var6 /* : nullable Object */;
4140 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4141 val* var7 /* : nullable Object */;
4142 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4143 val* var8 /* : nullable Object */;
4144 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4145 val* var9 /* : nullable Object */;
4146 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4147 val* var10 /* : nullable Object */;
4148 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4149 val* var11 /* : Array[Object] */;
4150 val* var_listnode8 /* var listnode8: Array[Object] */;
4151 val* var12 /* : Array[Object] */;
4152 val* var_listnode16 /* var listnode16: Array[Object] */;
4153 val* var13 /* : Array[Object] */;
4154 val* var_listnode17 /* var listnode17: Array[Object] */;
4155 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4156 short int var14 /* : Bool */;
4157 int cltype;
4158 int idtype;
4159 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4160 short int var15 /* : Bool */;
4161 int cltype16;
4162 int idtype17;
4163 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4164 short int var18 /* : Bool */;
4165 int cltype19;
4166 int idtype20;
4167 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4168 short int var21 /* : Bool */;
4169 int cltype22;
4170 int idtype23;
4171 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4172 short int var24 /* : Bool */;
4173 int cltype25;
4174 int idtype26;
4175 val* var_listnode7 /* var listnode7: nullable Object */;
4176 short int var27 /* : Bool */;
4177 int cltype28;
4178 int idtype29;
4179 val* var30 /* : Array[Object] */;
4180 val* var31 /* : Array[Object] */;
4181 val* var_listnode13 /* var listnode13: Array[Object] */;
4182 val* var_listnode12 /* var listnode12: nullable Object */;
4183 short int var32 /* : Bool */;
4184 int cltype33;
4185 int idtype34;
4186 val* var35 /* : Array[Object] */;
4187 val* var36 /* : AAnnotations */;
4188 val* var37 /* : null */;
4189 val* var38 /* : null */;
4190 val* var39 /* : null */;
4191 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4192 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
4193 short int var40 /* : Bool */;
4194 int cltype41;
4195 int idtype42;
4196 val* var43 /* : AStdClassdef */;
4197 val* var44 /* : null */;
4198 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4199 long var45 /* : Int */;
4200 long var46 /* : Int */;
4201 var_p = p0;
4202 var = NULL;
4203 var_node_list = var;
4204 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4205 var_nodearraylist10 = var1;
4206 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4207 var_nodearraylist9 = var2;
4208 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4209 var_nodearraylist8 = var3;
4210 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4211 var_nodearraylist7 = var4;
4212 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4213 var_nodearraylist6 = var5;
4214 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4215 var_nodearraylist5 = var6;
4216 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4217 var_nodearraylist4 = var7;
4218 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4219 var_nodearraylist3 = var8;
4220 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4221 var_nodearraylist2 = var9;
4222 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4223 var_nodearraylist1 = var10;
4224 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
4225 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
4226 var_listnode8 = var11;
4227 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4228 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4229 var_listnode16 = var12;
4230 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4231 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4232 var_listnode17 = var13;
4233 var_pdocnode2 = var_nodearraylist1;
4234 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4235 cltype = type_nullable_parser_nodes__ADoc.color;
4236 idtype = type_nullable_parser_nodes__ADoc.id;
4237 if(var_pdocnode2 == NULL) {
4238 var14 = 1;
4239 } else {
4240 if(cltype >= var_pdocnode2->type->table_size) {
4241 var14 = 0;
4242 } else {
4243 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
4244 }
4245 }
4246 if (!var14) {
4247 fprintf(stderr, "Runtime error: %s", "Assert failed");
4248 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5138);
4249 show_backtrace(1);
4250 }
4251 var_tkwredefnode3 = var_nodearraylist2;
4252 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4253 cltype16 = type_nullable_parser_nodes__TKwredef.color;
4254 idtype17 = type_nullable_parser_nodes__TKwredef.id;
4255 if(var_tkwredefnode3 == NULL) {
4256 var15 = 1;
4257 } else {
4258 if(cltype16 >= var_tkwredefnode3->type->table_size) {
4259 var15 = 0;
4260 } else {
4261 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
4262 }
4263 }
4264 if (!var15) {
4265 fprintf(stderr, "Runtime error: %s", "Assert failed");
4266 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5140);
4267 show_backtrace(1);
4268 }
4269 var_pvisibilitynode4 = var_nodearraylist3;
4270 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4271 cltype19 = type_nullable_parser_nodes__AVisibility.color;
4272 idtype20 = type_nullable_parser_nodes__AVisibility.id;
4273 if(var_pvisibilitynode4 == NULL) {
4274 var18 = 1;
4275 } else {
4276 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
4277 var18 = 0;
4278 } else {
4279 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
4280 }
4281 }
4282 if (!var18) {
4283 fprintf(stderr, "Runtime error: %s", "Assert failed");
4284 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5142);
4285 show_backtrace(1);
4286 }
4287 var_pclasskindnode5 = var_nodearraylist4;
4288 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4289 cltype22 = type_nullable_parser_nodes__AClasskind.color;
4290 idtype23 = type_nullable_parser_nodes__AClasskind.id;
4291 if(var_pclasskindnode5 == NULL) {
4292 var21 = 1;
4293 } else {
4294 if(cltype22 >= var_pclasskindnode5->type->table_size) {
4295 var21 = 0;
4296 } else {
4297 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
4298 }
4299 }
4300 if (!var21) {
4301 fprintf(stderr, "Runtime error: %s", "Assert failed");
4302 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5144);
4303 show_backtrace(1);
4304 }
4305 var_tclassidnode6 = var_nodearraylist6;
4306 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4307 cltype25 = type_nullable_parser_nodes__TClassid.color;
4308 idtype26 = type_nullable_parser_nodes__TClassid.id;
4309 if(var_tclassidnode6 == NULL) {
4310 var24 = 1;
4311 } else {
4312 if(cltype25 >= var_tclassidnode6->type->table_size) {
4313 var24 = 0;
4314 } else {
4315 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
4316 }
4317 }
4318 if (!var24) {
4319 fprintf(stderr, "Runtime error: %s", "Assert failed");
4320 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5146);
4321 show_backtrace(1);
4322 }
4323 var_listnode7 = var_nodearraylist7;
4324 /* <var_listnode7:nullable Object> isa Array[Object] */
4325 cltype28 = type_array__Arraykernel__Object.color;
4326 idtype29 = type_array__Arraykernel__Object.id;
4327 if(var_listnode7 == NULL) {
4328 var27 = 0;
4329 } else {
4330 if(cltype28 >= var_listnode7->type->table_size) {
4331 var27 = 0;
4332 } else {
4333 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
4334 }
4335 }
4336 if (!var27) {
4337 fprintf(stderr, "Runtime error: %s", "Assert failed");
4338 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5148);
4339 show_backtrace(1);
4340 }
4341 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction98>*/;
4342 var_listnode8 = var30;
4343 var31 = NEW_array__Array(&type_array__Arraykernel__Object);
4344 ((void (*)(val*))(var31->class->vft[COLOR_array__Array__init]))(var31) /* init on <var31:Array[Object]>*/;
4345 var_listnode13 = var31;
4346 var_listnode12 = var_nodearraylist8;
4347 /* <var_listnode12:nullable Object> isa Array[Object] */
4348 cltype33 = type_array__Arraykernel__Object.color;
4349 idtype34 = type_array__Arraykernel__Object.id;
4350 if(var_listnode12 == NULL) {
4351 var32 = 0;
4352 } else {
4353 if(cltype33 >= var_listnode12->type->table_size) {
4354 var32 = 0;
4355 } else {
4356 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
4357 }
4358 }
4359 if (!var32) {
4360 fprintf(stderr, "Runtime error: %s", "Assert failed");
4361 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5152);
4362 show_backtrace(1);
4363 }
4364 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction98>*/;
4365 var_listnode13 = var35;
4366 var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4367 var37 = NULL;
4368 var38 = NULL;
4369 var39 = NULL;
4370 ((void (*)(val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var36, var37, var38, var_listnode13, var39) /* init_aannotations on <var36:AAnnotations>*/;
4371 var_pannotationsnode9 = var36;
4372 var_tkwendnode18 = var_nodearraylist10;
4373 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
4374 cltype41 = type_nullable_parser_nodes__TKwend.color;
4375 idtype42 = type_nullable_parser_nodes__TKwend.id;
4376 if(var_tkwendnode18 == NULL) {
4377 var40 = 1;
4378 } else {
4379 if(cltype41 >= var_tkwendnode18->type->table_size) {
4380 var40 = 0;
4381 } else {
4382 var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42;
4383 }
4384 }
4385 if (!var40) {
4386 fprintf(stderr, "Runtime error: %s", "Assert failed");
4387 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5161);
4388 show_backtrace(1);
4389 }
4390 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4391 var44 = NULL;
4392 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var44, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var43:AStdClassdef>*/;
4393 var_pclassdefnode1 = var43;
4394 var_node_list = var_pclassdefnode1;
4395 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction98> */
4396 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
4397 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
4398 RET_LABEL:;
4399 }
4400 /* method parser#ReduceAction98#action for (self: Object, Parser) */
4401 void VIRTUAL_parser__ReduceAction98__action(val* self, val* p0) {
4402 parser__ReduceAction98__action(self, p0);
4403 RET_LABEL:;
4404 }
4405 /* method parser#ReduceAction99#action for (self: ReduceAction99, Parser) */
4406 void parser__ReduceAction99__action(val* self, val* p0) {
4407 val* var_p /* var p: Parser */;
4408 val* var /* : null */;
4409 val* var_node_list /* var node_list: nullable Object */;
4410 val* var1 /* : nullable Object */;
4411 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4412 val* var2 /* : nullable Object */;
4413 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4414 val* var3 /* : nullable Object */;
4415 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4416 val* var4 /* : nullable Object */;
4417 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4418 val* var5 /* : nullable Object */;
4419 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4420 val* var6 /* : nullable Object */;
4421 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4422 val* var7 /* : nullable Object */;
4423 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4424 val* var8 /* : nullable Object */;
4425 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4426 val* var9 /* : nullable Object */;
4427 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4428 val* var10 /* : nullable Object */;
4429 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4430 val* var11 /* : Array[Object] */;
4431 val* var_listnode8 /* var listnode8: Array[Object] */;
4432 val* var12 /* : Array[Object] */;
4433 val* var_listnode16 /* var listnode16: Array[Object] */;
4434 val* var13 /* : Array[Object] */;
4435 val* var_listnode17 /* var listnode17: Array[Object] */;
4436 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4437 short int var14 /* : Bool */;
4438 int cltype;
4439 int idtype;
4440 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4441 short int var15 /* : Bool */;
4442 int cltype16;
4443 int idtype17;
4444 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4445 short int var18 /* : Bool */;
4446 int cltype19;
4447 int idtype20;
4448 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4449 short int var21 /* : Bool */;
4450 int cltype22;
4451 int idtype23;
4452 val* var_listnode7 /* var listnode7: nullable Object */;
4453 short int var24 /* : Bool */;
4454 int cltype25;
4455 int idtype26;
4456 val* var27 /* : Array[Object] */;
4457 val* var28 /* : Array[Object] */;
4458 val* var_listnode13 /* var listnode13: Array[Object] */;
4459 val* var_listnode12 /* var listnode12: nullable Object */;
4460 short int var29 /* : Bool */;
4461 int cltype30;
4462 int idtype31;
4463 val* var32 /* : Array[Object] */;
4464 val* var33 /* : AAnnotations */;
4465 val* var34 /* : null */;
4466 val* var35 /* : null */;
4467 val* var36 /* : null */;
4468 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4469 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
4470 short int var37 /* : Bool */;
4471 int cltype38;
4472 int idtype39;
4473 val* var40 /* : AStdClassdef */;
4474 val* var41 /* : null */;
4475 val* var42 /* : null */;
4476 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4477 long var43 /* : Int */;
4478 long var44 /* : Int */;
4479 var_p = p0;
4480 var = NULL;
4481 var_node_list = var;
4482 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4483 var_nodearraylist10 = var1;
4484 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4485 var_nodearraylist9 = var2;
4486 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4487 var_nodearraylist8 = var3;
4488 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4489 var_nodearraylist7 = var4;
4490 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4491 var_nodearraylist6 = var5;
4492 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4493 var_nodearraylist5 = var6;
4494 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4495 var_nodearraylist4 = var7;
4496 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4497 var_nodearraylist3 = var8;
4498 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4499 var_nodearraylist2 = var9;
4500 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4501 var_nodearraylist1 = var10;
4502 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
4503 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
4504 var_listnode8 = var11;
4505 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4506 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4507 var_listnode16 = var12;
4508 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4509 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4510 var_listnode17 = var13;
4511 var_pdocnode2 = var_nodearraylist1;
4512 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4513 cltype = type_nullable_parser_nodes__ADoc.color;
4514 idtype = type_nullable_parser_nodes__ADoc.id;
4515 if(var_pdocnode2 == NULL) {
4516 var14 = 1;
4517 } else {
4518 if(cltype >= var_pdocnode2->type->table_size) {
4519 var14 = 0;
4520 } else {
4521 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
4522 }
4523 }
4524 if (!var14) {
4525 fprintf(stderr, "Runtime error: %s", "Assert failed");
4526 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5198);
4527 show_backtrace(1);
4528 }
4529 var_pvisibilitynode4 = var_nodearraylist2;
4530 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4531 cltype16 = type_nullable_parser_nodes__AVisibility.color;
4532 idtype17 = type_nullable_parser_nodes__AVisibility.id;
4533 if(var_pvisibilitynode4 == NULL) {
4534 var15 = 1;
4535 } else {
4536 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
4537 var15 = 0;
4538 } else {
4539 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
4540 }
4541 }
4542 if (!var15) {
4543 fprintf(stderr, "Runtime error: %s", "Assert failed");
4544 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5200);
4545 show_backtrace(1);
4546 }
4547 var_pclasskindnode5 = var_nodearraylist3;
4548 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4549 cltype19 = type_nullable_parser_nodes__AClasskind.color;
4550 idtype20 = type_nullable_parser_nodes__AClasskind.id;
4551 if(var_pclasskindnode5 == NULL) {
4552 var18 = 1;
4553 } else {
4554 if(cltype19 >= var_pclasskindnode5->type->table_size) {
4555 var18 = 0;
4556 } else {
4557 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
4558 }
4559 }
4560 if (!var18) {
4561 fprintf(stderr, "Runtime error: %s", "Assert failed");
4562 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5202);
4563 show_backtrace(1);
4564 }
4565 var_tclassidnode6 = var_nodearraylist6;
4566 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4567 cltype22 = type_nullable_parser_nodes__TClassid.color;
4568 idtype23 = type_nullable_parser_nodes__TClassid.id;
4569 if(var_tclassidnode6 == NULL) {
4570 var21 = 1;
4571 } else {
4572 if(cltype22 >= var_tclassidnode6->type->table_size) {
4573 var21 = 0;
4574 } else {
4575 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
4576 }
4577 }
4578 if (!var21) {
4579 fprintf(stderr, "Runtime error: %s", "Assert failed");
4580 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5204);
4581 show_backtrace(1);
4582 }
4583 var_listnode7 = var_nodearraylist7;
4584 /* <var_listnode7:nullable Object> isa Array[Object] */
4585 cltype25 = type_array__Arraykernel__Object.color;
4586 idtype26 = type_array__Arraykernel__Object.id;
4587 if(var_listnode7 == NULL) {
4588 var24 = 0;
4589 } else {
4590 if(cltype25 >= var_listnode7->type->table_size) {
4591 var24 = 0;
4592 } else {
4593 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
4594 }
4595 }
4596 if (!var24) {
4597 fprintf(stderr, "Runtime error: %s", "Assert failed");
4598 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5206);
4599 show_backtrace(1);
4600 }
4601 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction99>*/;
4602 var_listnode8 = var27;
4603 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
4604 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
4605 var_listnode13 = var28;
4606 var_listnode12 = var_nodearraylist8;
4607 /* <var_listnode12:nullable Object> isa Array[Object] */
4608 cltype30 = type_array__Arraykernel__Object.color;
4609 idtype31 = type_array__Arraykernel__Object.id;
4610 if(var_listnode12 == NULL) {
4611 var29 = 0;
4612 } else {
4613 if(cltype30 >= var_listnode12->type->table_size) {
4614 var29 = 0;
4615 } else {
4616 var29 = var_listnode12->type->type_table[cltype30] == idtype31;
4617 }
4618 }
4619 if (!var29) {
4620 fprintf(stderr, "Runtime error: %s", "Assert failed");
4621 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5210);
4622 show_backtrace(1);
4623 }
4624 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction99>*/;
4625 var_listnode13 = var32;
4626 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4627 var34 = NULL;
4628 var35 = NULL;
4629 var36 = NULL;
4630 ((void (*)(val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var33, var34, var35, var_listnode13, var36) /* init_aannotations on <var33:AAnnotations>*/;
4631 var_pannotationsnode9 = var33;
4632 var_tkwendnode18 = var_nodearraylist10;
4633 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
4634 cltype38 = type_nullable_parser_nodes__TKwend.color;
4635 idtype39 = type_nullable_parser_nodes__TKwend.id;
4636 if(var_tkwendnode18 == NULL) {
4637 var37 = 1;
4638 } else {
4639 if(cltype38 >= var_tkwendnode18->type->table_size) {
4640 var37 = 0;
4641 } else {
4642 var37 = var_tkwendnode18->type->type_table[cltype38] == idtype39;
4643 }
4644 }
4645 if (!var37) {
4646 fprintf(stderr, "Runtime error: %s", "Assert failed");
4647 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5219);
4648 show_backtrace(1);
4649 }
4650 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4651 var41 = NULL;
4652 var42 = NULL;
4653 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var41, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var42, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var40:AStdClassdef>*/;
4654 var_pclassdefnode1 = var40;
4655 var_node_list = var_pclassdefnode1;
4656 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction99> */
4657 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
4658 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
4659 RET_LABEL:;
4660 }
4661 /* method parser#ReduceAction99#action for (self: Object, Parser) */
4662 void VIRTUAL_parser__ReduceAction99__action(val* self, val* p0) {
4663 parser__ReduceAction99__action(self, p0);
4664 RET_LABEL:;
4665 }
4666 /* method parser#ReduceAction100#action for (self: ReduceAction100, Parser) */
4667 void parser__ReduceAction100__action(val* self, val* p0) {
4668 val* var_p /* var p: Parser */;
4669 val* var /* : null */;
4670 val* var_node_list /* var node_list: nullable Object */;
4671 val* var1 /* : nullable Object */;
4672 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4673 val* var2 /* : nullable Object */;
4674 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4675 val* var3 /* : nullable Object */;
4676 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4677 val* var4 /* : nullable Object */;
4678 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4679 val* var5 /* : nullable Object */;
4680 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4681 val* var6 /* : nullable Object */;
4682 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4683 val* var7 /* : nullable Object */;
4684 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4685 val* var8 /* : nullable Object */;
4686 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4687 val* var9 /* : nullable Object */;
4688 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4689 val* var10 /* : nullable Object */;
4690 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4691 val* var11 /* : nullable Object */;
4692 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4693 val* var12 /* : Array[Object] */;
4694 val* var_listnode8 /* var listnode8: Array[Object] */;
4695 val* var13 /* : Array[Object] */;
4696 val* var_listnode16 /* var listnode16: Array[Object] */;
4697 val* var14 /* : Array[Object] */;
4698 val* var_listnode17 /* var listnode17: Array[Object] */;
4699 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4700 short int var15 /* : Bool */;
4701 int cltype;
4702 int idtype;
4703 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4704 short int var16 /* : Bool */;
4705 int cltype17;
4706 int idtype18;
4707 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4708 short int var19 /* : Bool */;
4709 int cltype20;
4710 int idtype21;
4711 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4712 short int var22 /* : Bool */;
4713 int cltype23;
4714 int idtype24;
4715 val* var_listnode7 /* var listnode7: nullable Object */;
4716 short int var25 /* : Bool */;
4717 int cltype26;
4718 int idtype27;
4719 val* var28 /* : Array[Object] */;
4720 val* var29 /* : Array[Object] */;
4721 val* var_listnode13 /* var listnode13: Array[Object] */;
4722 val* var_listnode12 /* var listnode12: nullable Object */;
4723 short int var30 /* : Bool */;
4724 int cltype31;
4725 int idtype32;
4726 val* var33 /* : Array[Object] */;
4727 val* var34 /* : AAnnotations */;
4728 val* var35 /* : null */;
4729 val* var36 /* : null */;
4730 val* var37 /* : null */;
4731 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4732 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
4733 short int var38 /* : Bool */;
4734 int cltype39;
4735 int idtype40;
4736 val* var41 /* : AStdClassdef */;
4737 val* var42 /* : null */;
4738 val* var43 /* : null */;
4739 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4740 long var44 /* : Int */;
4741 long var45 /* : Int */;
4742 var_p = p0;
4743 var = NULL;
4744 var_node_list = var;
4745 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4746 var_nodearraylist11 = var1;
4747 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4748 var_nodearraylist10 = var2;
4749 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4750 var_nodearraylist9 = var3;
4751 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4752 var_nodearraylist8 = var4;
4753 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4754 var_nodearraylist7 = var5;
4755 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4756 var_nodearraylist6 = var6;
4757 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4758 var_nodearraylist5 = var7;
4759 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4760 var_nodearraylist4 = var8;
4761 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4762 var_nodearraylist3 = var9;
4763 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4764 var_nodearraylist2 = var10;
4765 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4766 var_nodearraylist1 = var11;
4767 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4768 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4769 var_listnode8 = var12;
4770 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4771 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4772 var_listnode16 = var13;
4773 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4774 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4775 var_listnode17 = var14;
4776 var_pdocnode2 = var_nodearraylist1;
4777 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4778 cltype = type_nullable_parser_nodes__ADoc.color;
4779 idtype = type_nullable_parser_nodes__ADoc.id;
4780 if(var_pdocnode2 == NULL) {
4781 var15 = 1;
4782 } else {
4783 if(cltype >= var_pdocnode2->type->table_size) {
4784 var15 = 0;
4785 } else {
4786 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
4787 }
4788 }
4789 if (!var15) {
4790 fprintf(stderr, "Runtime error: %s", "Assert failed");
4791 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5257);
4792 show_backtrace(1);
4793 }
4794 var_pvisibilitynode4 = var_nodearraylist2;
4795 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4796 cltype17 = type_nullable_parser_nodes__AVisibility.color;
4797 idtype18 = type_nullable_parser_nodes__AVisibility.id;
4798 if(var_pvisibilitynode4 == NULL) {
4799 var16 = 1;
4800 } else {
4801 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
4802 var16 = 0;
4803 } else {
4804 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
4805 }
4806 }
4807 if (!var16) {
4808 fprintf(stderr, "Runtime error: %s", "Assert failed");
4809 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5259);
4810 show_backtrace(1);
4811 }
4812 var_pclasskindnode5 = var_nodearraylist3;
4813 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4814 cltype20 = type_nullable_parser_nodes__AClasskind.color;
4815 idtype21 = type_nullable_parser_nodes__AClasskind.id;
4816 if(var_pclasskindnode5 == NULL) {
4817 var19 = 1;
4818 } else {
4819 if(cltype20 >= var_pclasskindnode5->type->table_size) {
4820 var19 = 0;
4821 } else {
4822 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
4823 }
4824 }
4825 if (!var19) {
4826 fprintf(stderr, "Runtime error: %s", "Assert failed");
4827 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5261);
4828 show_backtrace(1);
4829 }
4830 var_tclassidnode6 = var_nodearraylist7;
4831 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4832 cltype23 = type_nullable_parser_nodes__TClassid.color;
4833 idtype24 = type_nullable_parser_nodes__TClassid.id;
4834 if(var_tclassidnode6 == NULL) {
4835 var22 = 1;
4836 } else {
4837 if(cltype23 >= var_tclassidnode6->type->table_size) {
4838 var22 = 0;
4839 } else {
4840 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
4841 }
4842 }
4843 if (!var22) {
4844 fprintf(stderr, "Runtime error: %s", "Assert failed");
4845 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5263);
4846 show_backtrace(1);
4847 }
4848 var_listnode7 = var_nodearraylist8;
4849 /* <var_listnode7:nullable Object> isa Array[Object] */
4850 cltype26 = type_array__Arraykernel__Object.color;
4851 idtype27 = type_array__Arraykernel__Object.id;
4852 if(var_listnode7 == NULL) {
4853 var25 = 0;
4854 } else {
4855 if(cltype26 >= var_listnode7->type->table_size) {
4856 var25 = 0;
4857 } else {
4858 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
4859 }
4860 }
4861 if (!var25) {
4862 fprintf(stderr, "Runtime error: %s", "Assert failed");
4863 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5265);
4864 show_backtrace(1);
4865 }
4866 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction100>*/;
4867 var_listnode8 = var28;
4868 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
4869 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
4870 var_listnode13 = var29;
4871 var_listnode12 = var_nodearraylist9;
4872 /* <var_listnode12:nullable Object> isa Array[Object] */
4873 cltype31 = type_array__Arraykernel__Object.color;
4874 idtype32 = type_array__Arraykernel__Object.id;
4875 if(var_listnode12 == NULL) {
4876 var30 = 0;
4877 } else {
4878 if(cltype31 >= var_listnode12->type->table_size) {
4879 var30 = 0;
4880 } else {
4881 var30 = var_listnode12->type->type_table[cltype31] == idtype32;
4882 }
4883 }
4884 if (!var30) {
4885 fprintf(stderr, "Runtime error: %s", "Assert failed");
4886 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5269);
4887 show_backtrace(1);
4888 }
4889 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction100>*/;
4890 var_listnode13 = var33;
4891 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4892 var35 = NULL;
4893 var36 = NULL;
4894 var37 = NULL;
4895 ((void (*)(val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var34, var35, var36, var_listnode13, var37) /* init_aannotations on <var34:AAnnotations>*/;
4896 var_pannotationsnode9 = var34;
4897 var_tkwendnode18 = var_nodearraylist11;
4898 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
4899 cltype39 = type_nullable_parser_nodes__TKwend.color;
4900 idtype40 = type_nullable_parser_nodes__TKwend.id;
4901 if(var_tkwendnode18 == NULL) {
4902 var38 = 1;
4903 } else {
4904 if(cltype39 >= var_tkwendnode18->type->table_size) {
4905 var38 = 0;
4906 } else {
4907 var38 = var_tkwendnode18->type->type_table[cltype39] == idtype40;
4908 }
4909 }
4910 if (!var38) {
4911 fprintf(stderr, "Runtime error: %s", "Assert failed");
4912 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5278);
4913 show_backtrace(1);
4914 }
4915 var41 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4916 var42 = NULL;
4917 var43 = NULL;
4918 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var41->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var41, var_pdocnode2, var42, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var43, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var41:AStdClassdef>*/;
4919 var_pclassdefnode1 = var41;
4920 var_node_list = var_pclassdefnode1;
4921 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction100> */
4922 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
4923 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
4924 RET_LABEL:;
4925 }
4926 /* method parser#ReduceAction100#action for (self: Object, Parser) */
4927 void VIRTUAL_parser__ReduceAction100__action(val* self, val* p0) {
4928 parser__ReduceAction100__action(self, p0);
4929 RET_LABEL:;
4930 }
4931 /* method parser#ReduceAction102#action for (self: ReduceAction102, Parser) */
4932 void parser__ReduceAction102__action(val* self, val* p0) {
4933 val* var_p /* var p: Parser */;
4934 val* var /* : null */;
4935 val* var_node_list /* var node_list: nullable Object */;
4936 val* var1 /* : nullable Object */;
4937 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4938 val* var2 /* : nullable Object */;
4939 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4940 val* var3 /* : nullable Object */;
4941 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4942 val* var4 /* : nullable Object */;
4943 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4944 val* var5 /* : nullable Object */;
4945 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4946 val* var6 /* : nullable Object */;
4947 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4948 val* var7 /* : nullable Object */;
4949 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4950 val* var8 /* : nullable Object */;
4951 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4952 val* var9 /* : nullable Object */;
4953 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4954 val* var10 /* : nullable Object */;
4955 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4956 val* var11 /* : nullable Object */;
4957 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4958 val* var12 /* : Array[Object] */;
4959 val* var_listnode8 /* var listnode8: Array[Object] */;
4960 val* var13 /* : Array[Object] */;
4961 val* var_listnode16 /* var listnode16: Array[Object] */;
4962 val* var14 /* : Array[Object] */;
4963 val* var_listnode17 /* var listnode17: Array[Object] */;
4964 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4965 short int var15 /* : Bool */;
4966 int cltype;
4967 int idtype;
4968 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4969 short int var16 /* : Bool */;
4970 int cltype17;
4971 int idtype18;
4972 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4973 short int var19 /* : Bool */;
4974 int cltype20;
4975 int idtype21;
4976 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4977 short int var22 /* : Bool */;
4978 int cltype23;
4979 int idtype24;
4980 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4981 short int var25 /* : Bool */;
4982 int cltype26;
4983 int idtype27;
4984 val* var_listnode7 /* var listnode7: nullable Object */;
4985 short int var28 /* : Bool */;
4986 int cltype29;
4987 int idtype30;
4988 val* var31 /* : Array[Object] */;
4989 val* var32 /* : Array[Object] */;
4990 val* var_listnode13 /* var listnode13: Array[Object] */;
4991 val* var_listnode12 /* var listnode12: nullable Object */;
4992 short int var33 /* : Bool */;
4993 int cltype34;
4994 int idtype35;
4995 val* var36 /* : Array[Object] */;
4996 val* var37 /* : AAnnotations */;
4997 val* var38 /* : null */;
4998 val* var39 /* : null */;
4999 val* var40 /* : null */;
5000 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5001 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5002 short int var41 /* : Bool */;
5003 int cltype42;
5004 int idtype43;
5005 val* var44 /* : AStdClassdef */;
5006 val* var45 /* : null */;
5007 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5008 long var46 /* : Int */;
5009 long var47 /* : Int */;
5010 var_p = p0;
5011 var = NULL;
5012 var_node_list = var;
5013 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5014 var_nodearraylist11 = var1;
5015 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5016 var_nodearraylist10 = var2;
5017 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5018 var_nodearraylist9 = var3;
5019 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5020 var_nodearraylist8 = var4;
5021 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5022 var_nodearraylist7 = var5;
5023 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5024 var_nodearraylist6 = var6;
5025 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5026 var_nodearraylist5 = var7;
5027 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5028 var_nodearraylist4 = var8;
5029 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5030 var_nodearraylist3 = var9;
5031 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5032 var_nodearraylist2 = var10;
5033 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5034 var_nodearraylist1 = var11;
5035 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5036 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5037 var_listnode8 = var12;
5038 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5039 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5040 var_listnode16 = var13;
5041 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5042 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5043 var_listnode17 = var14;
5044 var_pdocnode2 = var_nodearraylist1;
5045 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5046 cltype = type_nullable_parser_nodes__ADoc.color;
5047 idtype = type_nullable_parser_nodes__ADoc.id;
5048 if(var_pdocnode2 == NULL) {
5049 var15 = 1;
5050 } else {
5051 if(cltype >= var_pdocnode2->type->table_size) {
5052 var15 = 0;
5053 } else {
5054 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
5055 }
5056 }
5057 if (!var15) {
5058 fprintf(stderr, "Runtime error: %s", "Assert failed");
5059 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5316);
5060 show_backtrace(1);
5061 }
5062 var_tkwredefnode3 = var_nodearraylist2;
5063 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5064 cltype17 = type_nullable_parser_nodes__TKwredef.color;
5065 idtype18 = type_nullable_parser_nodes__TKwredef.id;
5066 if(var_tkwredefnode3 == NULL) {
5067 var16 = 1;
5068 } else {
5069 if(cltype17 >= var_tkwredefnode3->type->table_size) {
5070 var16 = 0;
5071 } else {
5072 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
5073 }
5074 }
5075 if (!var16) {
5076 fprintf(stderr, "Runtime error: %s", "Assert failed");
5077 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5318);
5078 show_backtrace(1);
5079 }
5080 var_pvisibilitynode4 = var_nodearraylist3;
5081 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5082 cltype20 = type_nullable_parser_nodes__AVisibility.color;
5083 idtype21 = type_nullable_parser_nodes__AVisibility.id;
5084 if(var_pvisibilitynode4 == NULL) {
5085 var19 = 1;
5086 } else {
5087 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
5088 var19 = 0;
5089 } else {
5090 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
5091 }
5092 }
5093 if (!var19) {
5094 fprintf(stderr, "Runtime error: %s", "Assert failed");
5095 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5320);
5096 show_backtrace(1);
5097 }
5098 var_pclasskindnode5 = var_nodearraylist4;
5099 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5100 cltype23 = type_nullable_parser_nodes__AClasskind.color;
5101 idtype24 = type_nullable_parser_nodes__AClasskind.id;
5102 if(var_pclasskindnode5 == NULL) {
5103 var22 = 1;
5104 } else {
5105 if(cltype23 >= var_pclasskindnode5->type->table_size) {
5106 var22 = 0;
5107 } else {
5108 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
5109 }
5110 }
5111 if (!var22) {
5112 fprintf(stderr, "Runtime error: %s", "Assert failed");
5113 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5322);
5114 show_backtrace(1);
5115 }
5116 var_tclassidnode6 = var_nodearraylist7;
5117 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5118 cltype26 = type_nullable_parser_nodes__TClassid.color;
5119 idtype27 = type_nullable_parser_nodes__TClassid.id;
5120 if(var_tclassidnode6 == NULL) {
5121 var25 = 1;
5122 } else {
5123 if(cltype26 >= var_tclassidnode6->type->table_size) {
5124 var25 = 0;
5125 } else {
5126 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
5127 }
5128 }
5129 if (!var25) {
5130 fprintf(stderr, "Runtime error: %s", "Assert failed");
5131 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5324);
5132 show_backtrace(1);
5133 }
5134 var_listnode7 = var_nodearraylist8;
5135 /* <var_listnode7:nullable Object> isa Array[Object] */
5136 cltype29 = type_array__Arraykernel__Object.color;
5137 idtype30 = type_array__Arraykernel__Object.id;
5138 if(var_listnode7 == NULL) {
5139 var28 = 0;
5140 } else {
5141 if(cltype29 >= var_listnode7->type->table_size) {
5142 var28 = 0;
5143 } else {
5144 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
5145 }
5146 }
5147 if (!var28) {
5148 fprintf(stderr, "Runtime error: %s", "Assert failed");
5149 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5326);
5150 show_backtrace(1);
5151 }
5152 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction102>*/;
5153 var_listnode8 = var31;
5154 var32 = NEW_array__Array(&type_array__Arraykernel__Object);
5155 ((void (*)(val*))(var32->class->vft[COLOR_array__Array__init]))(var32) /* init on <var32:Array[Object]>*/;
5156 var_listnode13 = var32;
5157 var_listnode12 = var_nodearraylist9;
5158 /* <var_listnode12:nullable Object> isa Array[Object] */
5159 cltype34 = type_array__Arraykernel__Object.color;
5160 idtype35 = type_array__Arraykernel__Object.id;
5161 if(var_listnode12 == NULL) {
5162 var33 = 0;
5163 } else {
5164 if(cltype34 >= var_listnode12->type->table_size) {
5165 var33 = 0;
5166 } else {
5167 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
5168 }
5169 }
5170 if (!var33) {
5171 fprintf(stderr, "Runtime error: %s", "Assert failed");
5172 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5330);
5173 show_backtrace(1);
5174 }
5175 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction102>*/;
5176 var_listnode13 = var36;
5177 var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5178 var38 = NULL;
5179 var39 = NULL;
5180 var40 = NULL;
5181 ((void (*)(val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var37, var38, var39, var_listnode13, var40) /* init_aannotations on <var37:AAnnotations>*/;
5182 var_pannotationsnode9 = var37;
5183 var_tkwendnode18 = var_nodearraylist11;
5184 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
5185 cltype42 = type_nullable_parser_nodes__TKwend.color;
5186 idtype43 = type_nullable_parser_nodes__TKwend.id;
5187 if(var_tkwendnode18 == NULL) {
5188 var41 = 1;
5189 } else {
5190 if(cltype42 >= var_tkwendnode18->type->table_size) {
5191 var41 = 0;
5192 } else {
5193 var41 = var_tkwendnode18->type->type_table[cltype42] == idtype43;
5194 }
5195 }
5196 if (!var41) {
5197 fprintf(stderr, "Runtime error: %s", "Assert failed");
5198 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5339);
5199 show_backtrace(1);
5200 }
5201 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5202 var45 = NULL;
5203 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var45, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var44:AStdClassdef>*/;
5204 var_pclassdefnode1 = var44;
5205 var_node_list = var_pclassdefnode1;
5206 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction102> */
5207 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
5208 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
5209 RET_LABEL:;
5210 }
5211 /* method parser#ReduceAction102#action for (self: Object, Parser) */
5212 void VIRTUAL_parser__ReduceAction102__action(val* self, val* p0) {
5213 parser__ReduceAction102__action(self, p0);
5214 RET_LABEL:;
5215 }
5216 /* method parser#ReduceAction103#action for (self: ReduceAction103, Parser) */
5217 void parser__ReduceAction103__action(val* self, val* p0) {
5218 val* var_p /* var p: Parser */;
5219 val* var /* : null */;
5220 val* var_node_list /* var node_list: nullable Object */;
5221 val* var1 /* : nullable Object */;
5222 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
5223 val* var2 /* : nullable Object */;
5224 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5225 val* var3 /* : nullable Object */;
5226 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5227 val* var4 /* : nullable Object */;
5228 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5229 val* var5 /* : nullable Object */;
5230 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5231 val* var6 /* : nullable Object */;
5232 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5233 val* var7 /* : nullable Object */;
5234 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5235 val* var8 /* : nullable Object */;
5236 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5237 val* var9 /* : nullable Object */;
5238 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5239 val* var10 /* : nullable Object */;
5240 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5241 val* var11 /* : nullable Object */;
5242 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5243 val* var12 /* : nullable Object */;
5244 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5245 val* var13 /* : Array[Object] */;
5246 val* var_listnode8 /* var listnode8: Array[Object] */;
5247 val* var14 /* : Array[Object] */;
5248 val* var_listnode16 /* var listnode16: Array[Object] */;
5249 val* var15 /* : Array[Object] */;
5250 val* var_listnode17 /* var listnode17: Array[Object] */;
5251 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5252 short int var16 /* : Bool */;
5253 int cltype;
5254 int idtype;
5255 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5256 short int var17 /* : Bool */;
5257 int cltype18;
5258 int idtype19;
5259 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5260 short int var20 /* : Bool */;
5261 int cltype21;
5262 int idtype22;
5263 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5264 short int var23 /* : Bool */;
5265 int cltype24;
5266 int idtype25;
5267 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5268 short int var26 /* : Bool */;
5269 int cltype27;
5270 int idtype28;
5271 val* var_listnode7 /* var listnode7: nullable Object */;
5272 short int var29 /* : Bool */;
5273 int cltype30;
5274 int idtype31;
5275 val* var32 /* : Array[Object] */;
5276 val* var33 /* : Array[Object] */;
5277 val* var_listnode13 /* var listnode13: Array[Object] */;
5278 val* var_listnode12 /* var listnode12: nullable Object */;
5279 short int var34 /* : Bool */;
5280 int cltype35;
5281 int idtype36;
5282 val* var37 /* : Array[Object] */;
5283 val* var38 /* : AAnnotations */;
5284 val* var39 /* : null */;
5285 val* var40 /* : null */;
5286 val* var41 /* : null */;
5287 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5288 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5289 short int var42 /* : Bool */;
5290 int cltype43;
5291 int idtype44;
5292 val* var45 /* : AStdClassdef */;
5293 val* var46 /* : null */;
5294 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5295 long var47 /* : Int */;
5296 long var48 /* : Int */;
5297 var_p = p0;
5298 var = NULL;
5299 var_node_list = var;
5300 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5301 var_nodearraylist12 = var1;
5302 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5303 var_nodearraylist11 = var2;
5304 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5305 var_nodearraylist10 = var3;
5306 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5307 var_nodearraylist9 = var4;
5308 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5309 var_nodearraylist8 = var5;
5310 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5311 var_nodearraylist7 = var6;
5312 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5313 var_nodearraylist6 = var7;
5314 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5315 var_nodearraylist5 = var8;
5316 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5317 var_nodearraylist4 = var9;
5318 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5319 var_nodearraylist3 = var10;
5320 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5321 var_nodearraylist2 = var11;
5322 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5323 var_nodearraylist1 = var12;
5324 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5325 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5326 var_listnode8 = var13;
5327 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5328 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5329 var_listnode16 = var14;
5330 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
5331 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
5332 var_listnode17 = var15;
5333 var_pdocnode2 = var_nodearraylist1;
5334 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5335 cltype = type_nullable_parser_nodes__ADoc.color;
5336 idtype = type_nullable_parser_nodes__ADoc.id;
5337 if(var_pdocnode2 == NULL) {
5338 var16 = 1;
5339 } else {
5340 if(cltype >= var_pdocnode2->type->table_size) {
5341 var16 = 0;
5342 } else {
5343 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
5344 }
5345 }
5346 if (!var16) {
5347 fprintf(stderr, "Runtime error: %s", "Assert failed");
5348 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5378);
5349 show_backtrace(1);
5350 }
5351 var_tkwredefnode3 = var_nodearraylist2;
5352 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5353 cltype18 = type_nullable_parser_nodes__TKwredef.color;
5354 idtype19 = type_nullable_parser_nodes__TKwredef.id;
5355 if(var_tkwredefnode3 == NULL) {
5356 var17 = 1;
5357 } else {
5358 if(cltype18 >= var_tkwredefnode3->type->table_size) {
5359 var17 = 0;
5360 } else {
5361 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
5362 }
5363 }
5364 if (!var17) {
5365 fprintf(stderr, "Runtime error: %s", "Assert failed");
5366 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5380);
5367 show_backtrace(1);
5368 }
5369 var_pvisibilitynode4 = var_nodearraylist3;
5370 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5371 cltype21 = type_nullable_parser_nodes__AVisibility.color;
5372 idtype22 = type_nullable_parser_nodes__AVisibility.id;
5373 if(var_pvisibilitynode4 == NULL) {
5374 var20 = 1;
5375 } else {
5376 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
5377 var20 = 0;
5378 } else {
5379 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
5380 }
5381 }
5382 if (!var20) {
5383 fprintf(stderr, "Runtime error: %s", "Assert failed");
5384 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5382);
5385 show_backtrace(1);
5386 }
5387 var_pclasskindnode5 = var_nodearraylist4;
5388 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5389 cltype24 = type_nullable_parser_nodes__AClasskind.color;
5390 idtype25 = type_nullable_parser_nodes__AClasskind.id;
5391 if(var_pclasskindnode5 == NULL) {
5392 var23 = 1;
5393 } else {
5394 if(cltype24 >= var_pclasskindnode5->type->table_size) {
5395 var23 = 0;
5396 } else {
5397 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
5398 }
5399 }
5400 if (!var23) {
5401 fprintf(stderr, "Runtime error: %s", "Assert failed");
5402 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5384);
5403 show_backtrace(1);
5404 }
5405 var_tclassidnode6 = var_nodearraylist8;
5406 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5407 cltype27 = type_nullable_parser_nodes__TClassid.color;
5408 idtype28 = type_nullable_parser_nodes__TClassid.id;
5409 if(var_tclassidnode6 == NULL) {
5410 var26 = 1;
5411 } else {
5412 if(cltype27 >= var_tclassidnode6->type->table_size) {
5413 var26 = 0;
5414 } else {
5415 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
5416 }
5417 }
5418 if (!var26) {
5419 fprintf(stderr, "Runtime error: %s", "Assert failed");
5420 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5386);
5421 show_backtrace(1);
5422 }
5423 var_listnode7 = var_nodearraylist9;
5424 /* <var_listnode7:nullable Object> isa Array[Object] */
5425 cltype30 = type_array__Arraykernel__Object.color;
5426 idtype31 = type_array__Arraykernel__Object.id;
5427 if(var_listnode7 == NULL) {
5428 var29 = 0;
5429 } else {
5430 if(cltype30 >= var_listnode7->type->table_size) {
5431 var29 = 0;
5432 } else {
5433 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
5434 }
5435 }
5436 if (!var29) {
5437 fprintf(stderr, "Runtime error: %s", "Assert failed");
5438 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5388);
5439 show_backtrace(1);
5440 }
5441 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction103>*/;
5442 var_listnode8 = var32;
5443 var33 = NEW_array__Array(&type_array__Arraykernel__Object);
5444 ((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on <var33:Array[Object]>*/;
5445 var_listnode13 = var33;
5446 var_listnode12 = var_nodearraylist10;
5447 /* <var_listnode12:nullable Object> isa Array[Object] */
5448 cltype35 = type_array__Arraykernel__Object.color;
5449 idtype36 = type_array__Arraykernel__Object.id;
5450 if(var_listnode12 == NULL) {
5451 var34 = 0;
5452 } else {
5453 if(cltype35 >= var_listnode12->type->table_size) {
5454 var34 = 0;
5455 } else {
5456 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
5457 }
5458 }
5459 if (!var34) {
5460 fprintf(stderr, "Runtime error: %s", "Assert failed");
5461 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5392);
5462 show_backtrace(1);
5463 }
5464 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction103>*/;
5465 var_listnode13 = var37;
5466 var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5467 var39 = NULL;
5468 var40 = NULL;
5469 var41 = NULL;
5470 ((void (*)(val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var38, var39, var40, var_listnode13, var41) /* init_aannotations on <var38:AAnnotations>*/;
5471 var_pannotationsnode9 = var38;
5472 var_tkwendnode18 = var_nodearraylist12;
5473 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
5474 cltype43 = type_nullable_parser_nodes__TKwend.color;
5475 idtype44 = type_nullable_parser_nodes__TKwend.id;
5476 if(var_tkwendnode18 == NULL) {
5477 var42 = 1;
5478 } else {
5479 if(cltype43 >= var_tkwendnode18->type->table_size) {
5480 var42 = 0;
5481 } else {
5482 var42 = var_tkwendnode18->type->type_table[cltype43] == idtype44;
5483 }
5484 }
5485 if (!var42) {
5486 fprintf(stderr, "Runtime error: %s", "Assert failed");
5487 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5401);
5488 show_backtrace(1);
5489 }
5490 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5491 var46 = NULL;
5492 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var46, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var45:AStdClassdef>*/;
5493 var_pclassdefnode1 = var45;
5494 var_node_list = var_pclassdefnode1;
5495 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction103> */
5496 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
5497 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
5498 RET_LABEL:;
5499 }
5500 /* method parser#ReduceAction103#action for (self: Object, Parser) */
5501 void VIRTUAL_parser__ReduceAction103__action(val* self, val* p0) {
5502 parser__ReduceAction103__action(self, p0);
5503 RET_LABEL:;
5504 }
5505 /* method parser#ReduceAction105#action for (self: ReduceAction105, Parser) */
5506 void parser__ReduceAction105__action(val* self, val* p0) {
5507 val* var_p /* var p: Parser */;
5508 val* var /* : null */;
5509 val* var_node_list /* var node_list: nullable Object */;
5510 val* var1 /* : nullable Object */;
5511 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5512 val* var2 /* : nullable Object */;
5513 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5514 val* var3 /* : nullable Object */;
5515 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5516 val* var4 /* : nullable Object */;
5517 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5518 val* var5 /* : nullable Object */;
5519 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5520 val* var6 /* : nullable Object */;
5521 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5522 val* var7 /* : nullable Object */;
5523 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5524 val* var8 /* : nullable Object */;
5525 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5526 val* var9 /* : Array[Object] */;
5527 val* var_listnode7 /* var listnode7: Array[Object] */;
5528 val* var10 /* : Array[Object] */;
5529 val* var_listnode10 /* var listnode10: Array[Object] */;
5530 val* var11 /* : Array[Object] */;
5531 val* var_listnode11 /* var listnode11: Array[Object] */;
5532 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5533 short int var12 /* : Bool */;
5534 int cltype;
5535 int idtype;
5536 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5537 short int var13 /* : Bool */;
5538 int cltype14;
5539 int idtype15;
5540 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5541 short int var16 /* : Bool */;
5542 int cltype17;
5543 int idtype18;
5544 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5545 short int var19 /* : Bool */;
5546 int cltype20;
5547 int idtype21;
5548 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
5549 short int var22 /* : Bool */;
5550 int cltype23;
5551 int idtype24;
5552 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
5553 short int var25 /* : Bool */;
5554 int cltype26;
5555 int idtype27;
5556 val* var28 /* : AStdClassdef */;
5557 val* var29 /* : null */;
5558 val* var30 /* : null */;
5559 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5560 long var31 /* : Int */;
5561 long var32 /* : Int */;
5562 var_p = p0;
5563 var = NULL;
5564 var_node_list = var;
5565 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5566 var_nodearraylist8 = var1;
5567 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5568 var_nodearraylist7 = var2;
5569 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5570 var_nodearraylist6 = var3;
5571 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5572 var_nodearraylist5 = var4;
5573 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5574 var_nodearraylist4 = var5;
5575 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5576 var_nodearraylist3 = var6;
5577 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5578 var_nodearraylist2 = var7;
5579 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5580 var_nodearraylist1 = var8;
5581 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
5582 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
5583 var_listnode7 = var9;
5584 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
5585 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
5586 var_listnode10 = var10;
5587 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
5588 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
5589 var_listnode11 = var11;
5590 var_pdocnode2 = var_nodearraylist1;
5591 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5592 cltype = type_nullable_parser_nodes__ADoc.color;
5593 idtype = type_nullable_parser_nodes__ADoc.id;
5594 if(var_pdocnode2 == NULL) {
5595 var12 = 1;
5596 } else {
5597 if(cltype >= var_pdocnode2->type->table_size) {
5598 var12 = 0;
5599 } else {
5600 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
5601 }
5602 }
5603 if (!var12) {
5604 fprintf(stderr, "Runtime error: %s", "Assert failed");
5605 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5436);
5606 show_backtrace(1);
5607 }
5608 var_pvisibilitynode4 = var_nodearraylist2;
5609 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5610 cltype14 = type_nullable_parser_nodes__AVisibility.color;
5611 idtype15 = type_nullable_parser_nodes__AVisibility.id;
5612 if(var_pvisibilitynode4 == NULL) {
5613 var13 = 1;
5614 } else {
5615 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
5616 var13 = 0;
5617 } else {
5618 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
5619 }
5620 }
5621 if (!var13) {
5622 fprintf(stderr, "Runtime error: %s", "Assert failed");
5623 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5438);
5624 show_backtrace(1);
5625 }
5626 var_pclasskindnode5 = var_nodearraylist3;
5627 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5628 cltype17 = type_nullable_parser_nodes__AClasskind.color;
5629 idtype18 = type_nullable_parser_nodes__AClasskind.id;
5630 if(var_pclasskindnode5 == NULL) {
5631 var16 = 1;
5632 } else {
5633 if(cltype17 >= var_pclasskindnode5->type->table_size) {
5634 var16 = 0;
5635 } else {
5636 var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18;
5637 }
5638 }
5639 if (!var16) {
5640 fprintf(stderr, "Runtime error: %s", "Assert failed");
5641 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5440);
5642 show_backtrace(1);
5643 }
5644 var_tclassidnode6 = var_nodearraylist5;
5645 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5646 cltype20 = type_nullable_parser_nodes__TClassid.color;
5647 idtype21 = type_nullable_parser_nodes__TClassid.id;
5648 if(var_tclassidnode6 == NULL) {
5649 var19 = 1;
5650 } else {
5651 if(cltype20 >= var_tclassidnode6->type->table_size) {
5652 var19 = 0;
5653 } else {
5654 var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21;
5655 }
5656 }
5657 if (!var19) {
5658 fprintf(stderr, "Runtime error: %s", "Assert failed");
5659 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5442);
5660 show_backtrace(1);
5661 }
5662 var_pexterncodeblocknode9 = var_nodearraylist6;
5663 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
5664 cltype23 = type_nullable_parser_nodes__AExternCodeBlock.color;
5665 idtype24 = type_nullable_parser_nodes__AExternCodeBlock.id;
5666 if(var_pexterncodeblocknode9 == NULL) {
5667 var22 = 1;
5668 } else {
5669 if(cltype23 >= var_pexterncodeblocknode9->type->table_size) {
5670 var22 = 0;
5671 } else {
5672 var22 = var_pexterncodeblocknode9->type->type_table[cltype23] == idtype24;
5673 }
5674 }
5675 if (!var22) {
5676 fprintf(stderr, "Runtime error: %s", "Assert failed");
5677 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5444);
5678 show_backtrace(1);
5679 }
5680 var_tkwendnode12 = var_nodearraylist8;
5681 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
5682 cltype26 = type_nullable_parser_nodes__TKwend.color;
5683 idtype27 = type_nullable_parser_nodes__TKwend.id;
5684 if(var_tkwendnode12 == NULL) {
5685 var25 = 1;
5686 } else {
5687 if(cltype26 >= var_tkwendnode12->type->table_size) {
5688 var25 = 0;
5689 } else {
5690 var25 = var_tkwendnode12->type->type_table[cltype26] == idtype27;
5691 }
5692 }
5693 if (!var25) {
5694 fprintf(stderr, "Runtime error: %s", "Assert failed");
5695 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5446);
5696 show_backtrace(1);
5697 }
5698 var28 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5699 var29 = NULL;
5700 var30 = NULL;
5701 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var28, var_pdocnode2, var29, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var30, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var28:AStdClassdef>*/;
5702 var_pclassdefnode1 = var28;
5703 var_node_list = var_pclassdefnode1;
5704 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction105> */
5705 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
5706 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
5707 RET_LABEL:;
5708 }
5709 /* method parser#ReduceAction105#action for (self: Object, Parser) */
5710 void VIRTUAL_parser__ReduceAction105__action(val* self, val* p0) {
5711 parser__ReduceAction105__action(self, p0);
5712 RET_LABEL:;
5713 }
5714 /* method parser#ReduceAction106#action for (self: ReduceAction106, Parser) */
5715 void parser__ReduceAction106__action(val* self, val* p0) {
5716 val* var_p /* var p: Parser */;
5717 val* var /* : null */;
5718 val* var_node_list /* var node_list: nullable Object */;
5719 val* var1 /* : nullable Object */;
5720 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5721 val* var2 /* : nullable Object */;
5722 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5723 val* var3 /* : nullable Object */;
5724 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5725 val* var4 /* : nullable Object */;
5726 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5727 val* var5 /* : nullable Object */;
5728 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5729 val* var6 /* : nullable Object */;
5730 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5731 val* var7 /* : nullable Object */;
5732 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5733 val* var8 /* : nullable Object */;
5734 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5735 val* var9 /* : nullable Object */;
5736 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5737 val* var10 /* : Array[Object] */;
5738 val* var_listnode7 /* var listnode7: Array[Object] */;
5739 val* var11 /* : Array[Object] */;
5740 val* var_listnode10 /* var listnode10: Array[Object] */;
5741 val* var12 /* : Array[Object] */;
5742 val* var_listnode11 /* var listnode11: Array[Object] */;
5743 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5744 short int var13 /* : Bool */;
5745 int cltype;
5746 int idtype;
5747 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5748 short int var14 /* : Bool */;
5749 int cltype15;
5750 int idtype16;
5751 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5752 short int var17 /* : Bool */;
5753 int cltype18;
5754 int idtype19;
5755 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5756 short int var20 /* : Bool */;
5757 int cltype21;
5758 int idtype22;
5759 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5760 short int var23 /* : Bool */;
5761 int cltype24;
5762 int idtype25;
5763 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
5764 short int var26 /* : Bool */;
5765 int cltype27;
5766 int idtype28;
5767 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
5768 short int var29 /* : Bool */;
5769 int cltype30;
5770 int idtype31;
5771 val* var32 /* : AStdClassdef */;
5772 val* var33 /* : null */;
5773 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5774 long var34 /* : Int */;
5775 long var35 /* : Int */;
5776 var_p = p0;
5777 var = NULL;
5778 var_node_list = var;
5779 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5780 var_nodearraylist9 = var1;
5781 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5782 var_nodearraylist8 = var2;
5783 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5784 var_nodearraylist7 = var3;
5785 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5786 var_nodearraylist6 = var4;
5787 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5788 var_nodearraylist5 = var5;
5789 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5790 var_nodearraylist4 = var6;
5791 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5792 var_nodearraylist3 = var7;
5793 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5794 var_nodearraylist2 = var8;
5795 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5796 var_nodearraylist1 = var9;
5797 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
5798 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
5799 var_listnode7 = var10;
5800 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
5801 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
5802 var_listnode10 = var11;
5803 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5804 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5805 var_listnode11 = var12;
5806 var_pdocnode2 = var_nodearraylist1;
5807 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5808 cltype = type_nullable_parser_nodes__ADoc.color;
5809 idtype = type_nullable_parser_nodes__ADoc.id;
5810 if(var_pdocnode2 == NULL) {
5811 var13 = 1;
5812 } else {
5813 if(cltype >= var_pdocnode2->type->table_size) {
5814 var13 = 0;
5815 } else {
5816 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
5817 }
5818 }
5819 if (!var13) {
5820 fprintf(stderr, "Runtime error: %s", "Assert failed");
5821 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5482);
5822 show_backtrace(1);
5823 }
5824 var_tkwredefnode3 = var_nodearraylist2;
5825 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5826 cltype15 = type_nullable_parser_nodes__TKwredef.color;
5827 idtype16 = type_nullable_parser_nodes__TKwredef.id;
5828 if(var_tkwredefnode3 == NULL) {
5829 var14 = 1;
5830 } else {
5831 if(cltype15 >= var_tkwredefnode3->type->table_size) {
5832 var14 = 0;
5833 } else {
5834 var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16;
5835 }
5836 }
5837 if (!var14) {
5838 fprintf(stderr, "Runtime error: %s", "Assert failed");
5839 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5484);
5840 show_backtrace(1);
5841 }
5842 var_pvisibilitynode4 = var_nodearraylist3;
5843 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5844 cltype18 = type_nullable_parser_nodes__AVisibility.color;
5845 idtype19 = type_nullable_parser_nodes__AVisibility.id;
5846 if(var_pvisibilitynode4 == NULL) {
5847 var17 = 1;
5848 } else {
5849 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
5850 var17 = 0;
5851 } else {
5852 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
5853 }
5854 }
5855 if (!var17) {
5856 fprintf(stderr, "Runtime error: %s", "Assert failed");
5857 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5486);
5858 show_backtrace(1);
5859 }
5860 var_pclasskindnode5 = var_nodearraylist4;
5861 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5862 cltype21 = type_nullable_parser_nodes__AClasskind.color;
5863 idtype22 = type_nullable_parser_nodes__AClasskind.id;
5864 if(var_pclasskindnode5 == NULL) {
5865 var20 = 1;
5866 } else {
5867 if(cltype21 >= var_pclasskindnode5->type->table_size) {
5868 var20 = 0;
5869 } else {
5870 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
5871 }
5872 }
5873 if (!var20) {
5874 fprintf(stderr, "Runtime error: %s", "Assert failed");
5875 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5488);
5876 show_backtrace(1);
5877 }
5878 var_tclassidnode6 = var_nodearraylist6;
5879 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5880 cltype24 = type_nullable_parser_nodes__TClassid.color;
5881 idtype25 = type_nullable_parser_nodes__TClassid.id;
5882 if(var_tclassidnode6 == NULL) {
5883 var23 = 1;
5884 } else {
5885 if(cltype24 >= var_tclassidnode6->type->table_size) {
5886 var23 = 0;
5887 } else {
5888 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
5889 }
5890 }
5891 if (!var23) {
5892 fprintf(stderr, "Runtime error: %s", "Assert failed");
5893 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5490);
5894 show_backtrace(1);
5895 }
5896 var_pexterncodeblocknode9 = var_nodearraylist7;
5897 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
5898 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
5899 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
5900 if(var_pexterncodeblocknode9 == NULL) {
5901 var26 = 1;
5902 } else {
5903 if(cltype27 >= var_pexterncodeblocknode9->type->table_size) {
5904 var26 = 0;
5905 } else {
5906 var26 = var_pexterncodeblocknode9->type->type_table[cltype27] == idtype28;
5907 }
5908 }
5909 if (!var26) {
5910 fprintf(stderr, "Runtime error: %s", "Assert failed");
5911 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5492);
5912 show_backtrace(1);
5913 }
5914 var_tkwendnode12 = var_nodearraylist9;
5915 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
5916 cltype30 = type_nullable_parser_nodes__TKwend.color;
5917 idtype31 = type_nullable_parser_nodes__TKwend.id;
5918 if(var_tkwendnode12 == NULL) {
5919 var29 = 1;
5920 } else {
5921 if(cltype30 >= var_tkwendnode12->type->table_size) {
5922 var29 = 0;
5923 } else {
5924 var29 = var_tkwendnode12->type->type_table[cltype30] == idtype31;
5925 }
5926 }
5927 if (!var29) {
5928 fprintf(stderr, "Runtime error: %s", "Assert failed");
5929 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5494);
5930 show_backtrace(1);
5931 }
5932 var32 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5933 var33 = NULL;
5934 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var32, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var33, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var32:AStdClassdef>*/;
5935 var_pclassdefnode1 = var32;
5936 var_node_list = var_pclassdefnode1;
5937 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction106> */
5938 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
5939 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
5940 RET_LABEL:;
5941 }
5942 /* method parser#ReduceAction106#action for (self: Object, Parser) */
5943 void VIRTUAL_parser__ReduceAction106__action(val* self, val* p0) {
5944 parser__ReduceAction106__action(self, p0);
5945 RET_LABEL:;
5946 }
5947 /* method parser#ReduceAction107#action for (self: ReduceAction107, Parser) */
5948 void parser__ReduceAction107__action(val* self, val* p0) {
5949 val* var_p /* var p: Parser */;
5950 val* var /* : null */;
5951 val* var_node_list /* var node_list: nullable Object */;
5952 val* var1 /* : nullable Object */;
5953 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5954 val* var2 /* : nullable Object */;
5955 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5956 val* var3 /* : nullable Object */;
5957 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5958 val* var4 /* : nullable Object */;
5959 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5960 val* var5 /* : nullable Object */;
5961 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5962 val* var6 /* : nullable Object */;
5963 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5964 val* var7 /* : nullable Object */;
5965 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5966 val* var8 /* : nullable Object */;
5967 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5968 val* var9 /* : nullable Object */;
5969 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5970 val* var10 /* : Array[Object] */;
5971 val* var_listnode7 /* var listnode7: Array[Object] */;
5972 val* var11 /* : Array[Object] */;
5973 val* var_listnode10 /* var listnode10: Array[Object] */;
5974 val* var12 /* : Array[Object] */;
5975 val* var_listnode11 /* var listnode11: Array[Object] */;
5976 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5977 short int var13 /* : Bool */;
5978 int cltype;
5979 int idtype;
5980 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5981 short int var14 /* : Bool */;
5982 int cltype15;
5983 int idtype16;
5984 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5985 short int var17 /* : Bool */;
5986 int cltype18;
5987 int idtype19;
5988 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5989 short int var20 /* : Bool */;
5990 int cltype21;
5991 int idtype22;
5992 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
5993 short int var23 /* : Bool */;
5994 int cltype24;
5995 int idtype25;
5996 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
5997 short int var26 /* : Bool */;
5998 int cltype27;
5999 int idtype28;
6000 val* var29 /* : AStdClassdef */;
6001 val* var30 /* : null */;
6002 val* var31 /* : null */;
6003 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6004 long var32 /* : Int */;
6005 long var33 /* : Int */;
6006 var_p = p0;
6007 var = NULL;
6008 var_node_list = var;
6009 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6010 var_nodearraylist9 = var1;
6011 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6012 var_nodearraylist8 = var2;
6013 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6014 var_nodearraylist7 = var3;
6015 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6016 var_nodearraylist6 = var4;
6017 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6018 var_nodearraylist5 = var5;
6019 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6020 var_nodearraylist4 = var6;
6021 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6022 var_nodearraylist3 = var7;
6023 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6024 var_nodearraylist2 = var8;
6025 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6026 var_nodearraylist1 = var9;
6027 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
6028 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
6029 var_listnode7 = var10;
6030 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6031 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6032 var_listnode10 = var11;
6033 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6034 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6035 var_listnode11 = var12;
6036 var_pdocnode2 = var_nodearraylist1;
6037 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6038 cltype = type_nullable_parser_nodes__ADoc.color;
6039 idtype = type_nullable_parser_nodes__ADoc.id;
6040 if(var_pdocnode2 == NULL) {
6041 var13 = 1;
6042 } else {
6043 if(cltype >= var_pdocnode2->type->table_size) {
6044 var13 = 0;
6045 } else {
6046 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
6047 }
6048 }
6049 if (!var13) {
6050 fprintf(stderr, "Runtime error: %s", "Assert failed");
6051 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5530);
6052 show_backtrace(1);
6053 }
6054 var_pvisibilitynode4 = var_nodearraylist2;
6055 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6056 cltype15 = type_nullable_parser_nodes__AVisibility.color;
6057 idtype16 = type_nullable_parser_nodes__AVisibility.id;
6058 if(var_pvisibilitynode4 == NULL) {
6059 var14 = 1;
6060 } else {
6061 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
6062 var14 = 0;
6063 } else {
6064 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
6065 }
6066 }
6067 if (!var14) {
6068 fprintf(stderr, "Runtime error: %s", "Assert failed");
6069 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5532);
6070 show_backtrace(1);
6071 }
6072 var_pclasskindnode5 = var_nodearraylist3;
6073 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6074 cltype18 = type_nullable_parser_nodes__AClasskind.color;
6075 idtype19 = type_nullable_parser_nodes__AClasskind.id;
6076 if(var_pclasskindnode5 == NULL) {
6077 var17 = 1;
6078 } else {
6079 if(cltype18 >= var_pclasskindnode5->type->table_size) {
6080 var17 = 0;
6081 } else {
6082 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
6083 }
6084 }
6085 if (!var17) {
6086 fprintf(stderr, "Runtime error: %s", "Assert failed");
6087 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5534);
6088 show_backtrace(1);
6089 }
6090 var_tclassidnode6 = var_nodearraylist6;
6091 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6092 cltype21 = type_nullable_parser_nodes__TClassid.color;
6093 idtype22 = type_nullable_parser_nodes__TClassid.id;
6094 if(var_tclassidnode6 == NULL) {
6095 var20 = 1;
6096 } else {
6097 if(cltype21 >= var_tclassidnode6->type->table_size) {
6098 var20 = 0;
6099 } else {
6100 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
6101 }
6102 }
6103 if (!var20) {
6104 fprintf(stderr, "Runtime error: %s", "Assert failed");
6105 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5536);
6106 show_backtrace(1);
6107 }
6108 var_pexterncodeblocknode9 = var_nodearraylist7;
6109 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
6110 cltype24 = type_nullable_parser_nodes__AExternCodeBlock.color;
6111 idtype25 = type_nullable_parser_nodes__AExternCodeBlock.id;
6112 if(var_pexterncodeblocknode9 == NULL) {
6113 var23 = 1;
6114 } else {
6115 if(cltype24 >= var_pexterncodeblocknode9->type->table_size) {
6116 var23 = 0;
6117 } else {
6118 var23 = var_pexterncodeblocknode9->type->type_table[cltype24] == idtype25;
6119 }
6120 }
6121 if (!var23) {
6122 fprintf(stderr, "Runtime error: %s", "Assert failed");
6123 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5538);
6124 show_backtrace(1);
6125 }
6126 var_tkwendnode12 = var_nodearraylist9;
6127 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
6128 cltype27 = type_nullable_parser_nodes__TKwend.color;
6129 idtype28 = type_nullable_parser_nodes__TKwend.id;
6130 if(var_tkwendnode12 == NULL) {
6131 var26 = 1;
6132 } else {
6133 if(cltype27 >= var_tkwendnode12->type->table_size) {
6134 var26 = 0;
6135 } else {
6136 var26 = var_tkwendnode12->type->type_table[cltype27] == idtype28;
6137 }
6138 }
6139 if (!var26) {
6140 fprintf(stderr, "Runtime error: %s", "Assert failed");
6141 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5540);
6142 show_backtrace(1);
6143 }
6144 var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6145 var30 = NULL;
6146 var31 = NULL;
6147 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var31, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var29:AStdClassdef>*/;
6148 var_pclassdefnode1 = var29;
6149 var_node_list = var_pclassdefnode1;
6150 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction107> */
6151 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
6152 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
6153 RET_LABEL:;
6154 }
6155 /* method parser#ReduceAction107#action for (self: Object, Parser) */
6156 void VIRTUAL_parser__ReduceAction107__action(val* self, val* p0) {
6157 parser__ReduceAction107__action(self, p0);
6158 RET_LABEL:;
6159 }
6160 /* method parser#ReduceAction108#action for (self: ReduceAction108, Parser) */
6161 void parser__ReduceAction108__action(val* self, val* p0) {
6162 val* var_p /* var p: Parser */;
6163 val* var /* : null */;
6164 val* var_node_list /* var node_list: nullable Object */;
6165 val* var1 /* : nullable Object */;
6166 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6167 val* var2 /* : nullable Object */;
6168 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6169 val* var3 /* : nullable Object */;
6170 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6171 val* var4 /* : nullable Object */;
6172 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6173 val* var5 /* : nullable Object */;
6174 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6175 val* var6 /* : nullable Object */;
6176 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6177 val* var7 /* : nullable Object */;
6178 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6179 val* var8 /* : nullable Object */;
6180 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6181 val* var9 /* : nullable Object */;
6182 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6183 val* var10 /* : nullable Object */;
6184 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6185 val* var11 /* : Array[Object] */;
6186 val* var_listnode7 /* var listnode7: Array[Object] */;
6187 val* var12 /* : Array[Object] */;
6188 val* var_listnode10 /* var listnode10: Array[Object] */;
6189 val* var13 /* : Array[Object] */;
6190 val* var_listnode11 /* var listnode11: Array[Object] */;
6191 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6192 short int var14 /* : Bool */;
6193 int cltype;
6194 int idtype;
6195 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6196 short int var15 /* : Bool */;
6197 int cltype16;
6198 int idtype17;
6199 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6200 short int var18 /* : Bool */;
6201 int cltype19;
6202 int idtype20;
6203 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6204 short int var21 /* : Bool */;
6205 int cltype22;
6206 int idtype23;
6207 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
6208 short int var24 /* : Bool */;
6209 int cltype25;
6210 int idtype26;
6211 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
6212 short int var27 /* : Bool */;
6213 int cltype28;
6214 int idtype29;
6215 val* var30 /* : AStdClassdef */;
6216 val* var31 /* : null */;
6217 val* var32 /* : null */;
6218 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6219 long var33 /* : Int */;
6220 long var34 /* : Int */;
6221 var_p = p0;
6222 var = NULL;
6223 var_node_list = var;
6224 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6225 var_nodearraylist10 = var1;
6226 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6227 var_nodearraylist9 = var2;
6228 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6229 var_nodearraylist8 = var3;
6230 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6231 var_nodearraylist7 = var4;
6232 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6233 var_nodearraylist6 = var5;
6234 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6235 var_nodearraylist5 = var6;
6236 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6237 var_nodearraylist4 = var7;
6238 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6239 var_nodearraylist3 = var8;
6240 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6241 var_nodearraylist2 = var9;
6242 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6243 var_nodearraylist1 = var10;
6244 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6245 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6246 var_listnode7 = var11;
6247 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6248 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6249 var_listnode10 = var12;
6250 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6251 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6252 var_listnode11 = var13;
6253 var_pdocnode2 = var_nodearraylist1;
6254 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6255 cltype = type_nullable_parser_nodes__ADoc.color;
6256 idtype = type_nullable_parser_nodes__ADoc.id;
6257 if(var_pdocnode2 == NULL) {
6258 var14 = 1;
6259 } else {
6260 if(cltype >= var_pdocnode2->type->table_size) {
6261 var14 = 0;
6262 } else {
6263 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
6264 }
6265 }
6266 if (!var14) {
6267 fprintf(stderr, "Runtime error: %s", "Assert failed");
6268 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5577);
6269 show_backtrace(1);
6270 }
6271 var_pvisibilitynode4 = var_nodearraylist2;
6272 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6273 cltype16 = type_nullable_parser_nodes__AVisibility.color;
6274 idtype17 = type_nullable_parser_nodes__AVisibility.id;
6275 if(var_pvisibilitynode4 == NULL) {
6276 var15 = 1;
6277 } else {
6278 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
6279 var15 = 0;
6280 } else {
6281 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
6282 }
6283 }
6284 if (!var15) {
6285 fprintf(stderr, "Runtime error: %s", "Assert failed");
6286 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5579);
6287 show_backtrace(1);
6288 }
6289 var_pclasskindnode5 = var_nodearraylist3;
6290 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6291 cltype19 = type_nullable_parser_nodes__AClasskind.color;
6292 idtype20 = type_nullable_parser_nodes__AClasskind.id;
6293 if(var_pclasskindnode5 == NULL) {
6294 var18 = 1;
6295 } else {
6296 if(cltype19 >= var_pclasskindnode5->type->table_size) {
6297 var18 = 0;
6298 } else {
6299 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
6300 }
6301 }
6302 if (!var18) {
6303 fprintf(stderr, "Runtime error: %s", "Assert failed");
6304 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5581);
6305 show_backtrace(1);
6306 }
6307 var_tclassidnode6 = var_nodearraylist7;
6308 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6309 cltype22 = type_nullable_parser_nodes__TClassid.color;
6310 idtype23 = type_nullable_parser_nodes__TClassid.id;
6311 if(var_tclassidnode6 == NULL) {
6312 var21 = 1;
6313 } else {
6314 if(cltype22 >= var_tclassidnode6->type->table_size) {
6315 var21 = 0;
6316 } else {
6317 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
6318 }
6319 }
6320 if (!var21) {
6321 fprintf(stderr, "Runtime error: %s", "Assert failed");
6322 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5583);
6323 show_backtrace(1);
6324 }
6325 var_pexterncodeblocknode9 = var_nodearraylist8;
6326 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
6327 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
6328 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
6329 if(var_pexterncodeblocknode9 == NULL) {
6330 var24 = 1;
6331 } else {
6332 if(cltype25 >= var_pexterncodeblocknode9->type->table_size) {
6333 var24 = 0;
6334 } else {
6335 var24 = var_pexterncodeblocknode9->type->type_table[cltype25] == idtype26;
6336 }
6337 }
6338 if (!var24) {
6339 fprintf(stderr, "Runtime error: %s", "Assert failed");
6340 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5585);
6341 show_backtrace(1);
6342 }
6343 var_tkwendnode12 = var_nodearraylist10;
6344 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
6345 cltype28 = type_nullable_parser_nodes__TKwend.color;
6346 idtype29 = type_nullable_parser_nodes__TKwend.id;
6347 if(var_tkwendnode12 == NULL) {
6348 var27 = 1;
6349 } else {
6350 if(cltype28 >= var_tkwendnode12->type->table_size) {
6351 var27 = 0;
6352 } else {
6353 var27 = var_tkwendnode12->type->type_table[cltype28] == idtype29;
6354 }
6355 }
6356 if (!var27) {
6357 fprintf(stderr, "Runtime error: %s", "Assert failed");
6358 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5587);
6359 show_backtrace(1);
6360 }
6361 var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6362 var31 = NULL;
6363 var32 = NULL;
6364 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var30, var_pdocnode2, var31, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var32, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var30:AStdClassdef>*/;
6365 var_pclassdefnode1 = var30;
6366 var_node_list = var_pclassdefnode1;
6367 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction108> */
6368 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
6369 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
6370 RET_LABEL:;
6371 }
6372 /* method parser#ReduceAction108#action for (self: Object, Parser) */
6373 void VIRTUAL_parser__ReduceAction108__action(val* self, val* p0) {
6374 parser__ReduceAction108__action(self, p0);
6375 RET_LABEL:;
6376 }
6377 /* method parser#ReduceAction110#action for (self: ReduceAction110, Parser) */
6378 void parser__ReduceAction110__action(val* self, val* p0) {
6379 val* var_p /* var p: Parser */;
6380 val* var /* : null */;
6381 val* var_node_list /* var node_list: nullable Object */;
6382 val* var1 /* : nullable Object */;
6383 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6384 val* var2 /* : nullable Object */;
6385 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6386 val* var3 /* : nullable Object */;
6387 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6388 val* var4 /* : nullable Object */;
6389 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6390 val* var5 /* : nullable Object */;
6391 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6392 val* var6 /* : nullable Object */;
6393 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6394 val* var7 /* : nullable Object */;
6395 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6396 val* var8 /* : nullable Object */;
6397 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6398 val* var9 /* : nullable Object */;
6399 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6400 val* var10 /* : nullable Object */;
6401 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6402 val* var11 /* : Array[Object] */;
6403 val* var_listnode7 /* var listnode7: Array[Object] */;
6404 val* var12 /* : Array[Object] */;
6405 val* var_listnode10 /* var listnode10: Array[Object] */;
6406 val* var13 /* : Array[Object] */;
6407 val* var_listnode11 /* var listnode11: Array[Object] */;
6408 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6409 short int var14 /* : Bool */;
6410 int cltype;
6411 int idtype;
6412 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6413 short int var15 /* : Bool */;
6414 int cltype16;
6415 int idtype17;
6416 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6417 short int var18 /* : Bool */;
6418 int cltype19;
6419 int idtype20;
6420 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6421 short int var21 /* : Bool */;
6422 int cltype22;
6423 int idtype23;
6424 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6425 short int var24 /* : Bool */;
6426 int cltype25;
6427 int idtype26;
6428 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
6429 short int var27 /* : Bool */;
6430 int cltype28;
6431 int idtype29;
6432 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
6433 short int var30 /* : Bool */;
6434 int cltype31;
6435 int idtype32;
6436 val* var33 /* : AStdClassdef */;
6437 val* var34 /* : null */;
6438 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6439 long var35 /* : Int */;
6440 long var36 /* : Int */;
6441 var_p = p0;
6442 var = NULL;
6443 var_node_list = var;
6444 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6445 var_nodearraylist10 = var1;
6446 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6447 var_nodearraylist9 = var2;
6448 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6449 var_nodearraylist8 = var3;
6450 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6451 var_nodearraylist7 = var4;
6452 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6453 var_nodearraylist6 = var5;
6454 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6455 var_nodearraylist5 = var6;
6456 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6457 var_nodearraylist4 = var7;
6458 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6459 var_nodearraylist3 = var8;
6460 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6461 var_nodearraylist2 = var9;
6462 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6463 var_nodearraylist1 = var10;
6464 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6465 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6466 var_listnode7 = var11;
6467 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6468 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6469 var_listnode10 = var12;
6470 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6471 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6472 var_listnode11 = var13;
6473 var_pdocnode2 = var_nodearraylist1;
6474 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6475 cltype = type_nullable_parser_nodes__ADoc.color;
6476 idtype = type_nullable_parser_nodes__ADoc.id;
6477 if(var_pdocnode2 == NULL) {
6478 var14 = 1;
6479 } else {
6480 if(cltype >= var_pdocnode2->type->table_size) {
6481 var14 = 0;
6482 } else {
6483 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
6484 }
6485 }
6486 if (!var14) {
6487 fprintf(stderr, "Runtime error: %s", "Assert failed");
6488 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5624);
6489 show_backtrace(1);
6490 }
6491 var_tkwredefnode3 = var_nodearraylist2;
6492 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6493 cltype16 = type_nullable_parser_nodes__TKwredef.color;
6494 idtype17 = type_nullable_parser_nodes__TKwredef.id;
6495 if(var_tkwredefnode3 == NULL) {
6496 var15 = 1;
6497 } else {
6498 if(cltype16 >= var_tkwredefnode3->type->table_size) {
6499 var15 = 0;
6500 } else {
6501 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
6502 }
6503 }
6504 if (!var15) {
6505 fprintf(stderr, "Runtime error: %s", "Assert failed");
6506 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5626);
6507 show_backtrace(1);
6508 }
6509 var_pvisibilitynode4 = var_nodearraylist3;
6510 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6511 cltype19 = type_nullable_parser_nodes__AVisibility.color;
6512 idtype20 = type_nullable_parser_nodes__AVisibility.id;
6513 if(var_pvisibilitynode4 == NULL) {
6514 var18 = 1;
6515 } else {
6516 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
6517 var18 = 0;
6518 } else {
6519 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
6520 }
6521 }
6522 if (!var18) {
6523 fprintf(stderr, "Runtime error: %s", "Assert failed");
6524 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5628);
6525 show_backtrace(1);
6526 }
6527 var_pclasskindnode5 = var_nodearraylist4;
6528 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6529 cltype22 = type_nullable_parser_nodes__AClasskind.color;
6530 idtype23 = type_nullable_parser_nodes__AClasskind.id;
6531 if(var_pclasskindnode5 == NULL) {
6532 var21 = 1;
6533 } else {
6534 if(cltype22 >= var_pclasskindnode5->type->table_size) {
6535 var21 = 0;
6536 } else {
6537 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
6538 }
6539 }
6540 if (!var21) {
6541 fprintf(stderr, "Runtime error: %s", "Assert failed");
6542 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5630);
6543 show_backtrace(1);
6544 }
6545 var_tclassidnode6 = var_nodearraylist7;
6546 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6547 cltype25 = type_nullable_parser_nodes__TClassid.color;
6548 idtype26 = type_nullable_parser_nodes__TClassid.id;
6549 if(var_tclassidnode6 == NULL) {
6550 var24 = 1;
6551 } else {
6552 if(cltype25 >= var_tclassidnode6->type->table_size) {
6553 var24 = 0;
6554 } else {
6555 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
6556 }
6557 }
6558 if (!var24) {
6559 fprintf(stderr, "Runtime error: %s", "Assert failed");
6560 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5632);
6561 show_backtrace(1);
6562 }
6563 var_pexterncodeblocknode9 = var_nodearraylist8;
6564 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
6565 cltype28 = type_nullable_parser_nodes__AExternCodeBlock.color;
6566 idtype29 = type_nullable_parser_nodes__AExternCodeBlock.id;
6567 if(var_pexterncodeblocknode9 == NULL) {
6568 var27 = 1;
6569 } else {
6570 if(cltype28 >= var_pexterncodeblocknode9->type->table_size) {
6571 var27 = 0;
6572 } else {
6573 var27 = var_pexterncodeblocknode9->type->type_table[cltype28] == idtype29;
6574 }
6575 }
6576 if (!var27) {
6577 fprintf(stderr, "Runtime error: %s", "Assert failed");
6578 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5634);
6579 show_backtrace(1);
6580 }
6581 var_tkwendnode12 = var_nodearraylist10;
6582 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
6583 cltype31 = type_nullable_parser_nodes__TKwend.color;
6584 idtype32 = type_nullable_parser_nodes__TKwend.id;
6585 if(var_tkwendnode12 == NULL) {
6586 var30 = 1;
6587 } else {
6588 if(cltype31 >= var_tkwendnode12->type->table_size) {
6589 var30 = 0;
6590 } else {
6591 var30 = var_tkwendnode12->type->type_table[cltype31] == idtype32;
6592 }
6593 }
6594 if (!var30) {
6595 fprintf(stderr, "Runtime error: %s", "Assert failed");
6596 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5636);
6597 show_backtrace(1);
6598 }
6599 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6600 var34 = NULL;
6601 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var34, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var33:AStdClassdef>*/;
6602 var_pclassdefnode1 = var33;
6603 var_node_list = var_pclassdefnode1;
6604 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction110> */
6605 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
6606 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
6607 RET_LABEL:;
6608 }
6609 /* method parser#ReduceAction110#action for (self: Object, Parser) */
6610 void VIRTUAL_parser__ReduceAction110__action(val* self, val* p0) {
6611 parser__ReduceAction110__action(self, p0);
6612 RET_LABEL:;
6613 }
6614 /* method parser#ReduceAction111#action for (self: ReduceAction111, Parser) */
6615 void parser__ReduceAction111__action(val* self, val* p0) {
6616 val* var_p /* var p: Parser */;
6617 val* var /* : null */;
6618 val* var_node_list /* var node_list: nullable Object */;
6619 val* var1 /* : nullable Object */;
6620 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6621 val* var2 /* : nullable Object */;
6622 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6623 val* var3 /* : nullable Object */;
6624 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6625 val* var4 /* : nullable Object */;
6626 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6627 val* var5 /* : nullable Object */;
6628 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6629 val* var6 /* : nullable Object */;
6630 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6631 val* var7 /* : nullable Object */;
6632 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6633 val* var8 /* : nullable Object */;
6634 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6635 val* var9 /* : nullable Object */;
6636 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6637 val* var10 /* : nullable Object */;
6638 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6639 val* var11 /* : nullable Object */;
6640 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6641 val* var12 /* : Array[Object] */;
6642 val* var_listnode7 /* var listnode7: Array[Object] */;
6643 val* var13 /* : Array[Object] */;
6644 val* var_listnode10 /* var listnode10: Array[Object] */;
6645 val* var14 /* : Array[Object] */;
6646 val* var_listnode11 /* var listnode11: Array[Object] */;
6647 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6648 short int var15 /* : Bool */;
6649 int cltype;
6650 int idtype;
6651 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6652 short int var16 /* : Bool */;
6653 int cltype17;
6654 int idtype18;
6655 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6656 short int var19 /* : Bool */;
6657 int cltype20;
6658 int idtype21;
6659 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6660 short int var22 /* : Bool */;
6661 int cltype23;
6662 int idtype24;
6663 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6664 short int var25 /* : Bool */;
6665 int cltype26;
6666 int idtype27;
6667 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
6668 short int var28 /* : Bool */;
6669 int cltype29;
6670 int idtype30;
6671 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
6672 short int var31 /* : Bool */;
6673 int cltype32;
6674 int idtype33;
6675 val* var34 /* : AStdClassdef */;
6676 val* var35 /* : null */;
6677 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6678 long var36 /* : Int */;
6679 long var37 /* : Int */;
6680 var_p = p0;
6681 var = NULL;
6682 var_node_list = var;
6683 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6684 var_nodearraylist11 = var1;
6685 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6686 var_nodearraylist10 = var2;
6687 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6688 var_nodearraylist9 = var3;
6689 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6690 var_nodearraylist8 = var4;
6691 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6692 var_nodearraylist7 = var5;
6693 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6694 var_nodearraylist6 = var6;
6695 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6696 var_nodearraylist5 = var7;
6697 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6698 var_nodearraylist4 = var8;
6699 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6700 var_nodearraylist3 = var9;
6701 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6702 var_nodearraylist2 = var10;
6703 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6704 var_nodearraylist1 = var11;
6705 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6706 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6707 var_listnode7 = var12;
6708 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6709 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6710 var_listnode10 = var13;
6711 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6712 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6713 var_listnode11 = var14;
6714 var_pdocnode2 = var_nodearraylist1;
6715 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6716 cltype = type_nullable_parser_nodes__ADoc.color;
6717 idtype = type_nullable_parser_nodes__ADoc.id;
6718 if(var_pdocnode2 == NULL) {
6719 var15 = 1;
6720 } else {
6721 if(cltype >= var_pdocnode2->type->table_size) {
6722 var15 = 0;
6723 } else {
6724 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
6725 }
6726 }
6727 if (!var15) {
6728 fprintf(stderr, "Runtime error: %s", "Assert failed");
6729 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5674);
6730 show_backtrace(1);
6731 }
6732 var_tkwredefnode3 = var_nodearraylist2;
6733 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6734 cltype17 = type_nullable_parser_nodes__TKwredef.color;
6735 idtype18 = type_nullable_parser_nodes__TKwredef.id;
6736 if(var_tkwredefnode3 == NULL) {
6737 var16 = 1;
6738 } else {
6739 if(cltype17 >= var_tkwredefnode3->type->table_size) {
6740 var16 = 0;
6741 } else {
6742 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
6743 }
6744 }
6745 if (!var16) {
6746 fprintf(stderr, "Runtime error: %s", "Assert failed");
6747 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5676);
6748 show_backtrace(1);
6749 }
6750 var_pvisibilitynode4 = var_nodearraylist3;
6751 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6752 cltype20 = type_nullable_parser_nodes__AVisibility.color;
6753 idtype21 = type_nullable_parser_nodes__AVisibility.id;
6754 if(var_pvisibilitynode4 == NULL) {
6755 var19 = 1;
6756 } else {
6757 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
6758 var19 = 0;
6759 } else {
6760 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
6761 }
6762 }
6763 if (!var19) {
6764 fprintf(stderr, "Runtime error: %s", "Assert failed");
6765 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5678);
6766 show_backtrace(1);
6767 }
6768 var_pclasskindnode5 = var_nodearraylist4;
6769 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6770 cltype23 = type_nullable_parser_nodes__AClasskind.color;
6771 idtype24 = type_nullable_parser_nodes__AClasskind.id;
6772 if(var_pclasskindnode5 == NULL) {
6773 var22 = 1;
6774 } else {
6775 if(cltype23 >= var_pclasskindnode5->type->table_size) {
6776 var22 = 0;
6777 } else {
6778 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
6779 }
6780 }
6781 if (!var22) {
6782 fprintf(stderr, "Runtime error: %s", "Assert failed");
6783 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5680);
6784 show_backtrace(1);
6785 }
6786 var_tclassidnode6 = var_nodearraylist8;
6787 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6788 cltype26 = type_nullable_parser_nodes__TClassid.color;
6789 idtype27 = type_nullable_parser_nodes__TClassid.id;
6790 if(var_tclassidnode6 == NULL) {
6791 var25 = 1;
6792 } else {
6793 if(cltype26 >= var_tclassidnode6->type->table_size) {
6794 var25 = 0;
6795 } else {
6796 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
6797 }
6798 }
6799 if (!var25) {
6800 fprintf(stderr, "Runtime error: %s", "Assert failed");
6801 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5682);
6802 show_backtrace(1);
6803 }
6804 var_pexterncodeblocknode9 = var_nodearraylist9;
6805 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
6806 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
6807 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
6808 if(var_pexterncodeblocknode9 == NULL) {
6809 var28 = 1;
6810 } else {
6811 if(cltype29 >= var_pexterncodeblocknode9->type->table_size) {
6812 var28 = 0;
6813 } else {
6814 var28 = var_pexterncodeblocknode9->type->type_table[cltype29] == idtype30;
6815 }
6816 }
6817 if (!var28) {
6818 fprintf(stderr, "Runtime error: %s", "Assert failed");
6819 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5684);
6820 show_backtrace(1);
6821 }
6822 var_tkwendnode12 = var_nodearraylist11;
6823 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
6824 cltype32 = type_nullable_parser_nodes__TKwend.color;
6825 idtype33 = type_nullable_parser_nodes__TKwend.id;
6826 if(var_tkwendnode12 == NULL) {
6827 var31 = 1;
6828 } else {
6829 if(cltype32 >= var_tkwendnode12->type->table_size) {
6830 var31 = 0;
6831 } else {
6832 var31 = var_tkwendnode12->type->type_table[cltype32] == idtype33;
6833 }
6834 }
6835 if (!var31) {
6836 fprintf(stderr, "Runtime error: %s", "Assert failed");
6837 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5686);
6838 show_backtrace(1);
6839 }
6840 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6841 var35 = NULL;
6842 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var35, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var34:AStdClassdef>*/;
6843 var_pclassdefnode1 = var34;
6844 var_node_list = var_pclassdefnode1;
6845 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction111> */
6846 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
6847 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
6848 RET_LABEL:;
6849 }
6850 /* method parser#ReduceAction111#action for (self: Object, Parser) */
6851 void VIRTUAL_parser__ReduceAction111__action(val* self, val* p0) {
6852 parser__ReduceAction111__action(self, p0);
6853 RET_LABEL:;
6854 }
6855 /* method parser#ReduceAction113#action for (self: ReduceAction113, Parser) */
6856 void parser__ReduceAction113__action(val* self, val* p0) {
6857 val* var_p /* var p: Parser */;
6858 val* var /* : null */;
6859 val* var_node_list /* var node_list: nullable Object */;
6860 val* var1 /* : nullable Object */;
6861 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6862 val* var2 /* : nullable Object */;
6863 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6864 val* var3 /* : nullable Object */;
6865 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6866 val* var4 /* : nullable Object */;
6867 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6868 val* var5 /* : nullable Object */;
6869 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6870 val* var6 /* : nullable Object */;
6871 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6872 val* var7 /* : nullable Object */;
6873 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6874 val* var8 /* : nullable Object */;
6875 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6876 val* var9 /* : nullable Object */;
6877 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6878 val* var10 /* : Array[Object] */;
6879 val* var_listnode8 /* var listnode8: Array[Object] */;
6880 val* var11 /* : Array[Object] */;
6881 val* var_listnode11 /* var listnode11: Array[Object] */;
6882 val* var12 /* : Array[Object] */;
6883 val* var_listnode12 /* var listnode12: Array[Object] */;
6884 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6885 short int var13 /* : Bool */;
6886 int cltype;
6887 int idtype;
6888 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6889 short int var14 /* : Bool */;
6890 int cltype15;
6891 int idtype16;
6892 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6893 short int var17 /* : Bool */;
6894 int cltype18;
6895 int idtype19;
6896 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6897 short int var20 /* : Bool */;
6898 int cltype21;
6899 int idtype22;
6900 val* var_listnode7 /* var listnode7: nullable Object */;
6901 short int var23 /* : Bool */;
6902 int cltype24;
6903 int idtype25;
6904 val* var26 /* : Array[Object] */;
6905 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
6906 short int var27 /* : Bool */;
6907 int cltype28;
6908 int idtype29;
6909 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
6910 short int var30 /* : Bool */;
6911 int cltype31;
6912 int idtype32;
6913 val* var33 /* : AStdClassdef */;
6914 val* var34 /* : null */;
6915 val* var35 /* : null */;
6916 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6917 long var36 /* : Int */;
6918 long var37 /* : Int */;
6919 var_p = p0;
6920 var = NULL;
6921 var_node_list = var;
6922 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6923 var_nodearraylist9 = var1;
6924 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6925 var_nodearraylist8 = var2;
6926 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6927 var_nodearraylist7 = var3;
6928 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6929 var_nodearraylist6 = var4;
6930 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6931 var_nodearraylist5 = var5;
6932 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6933 var_nodearraylist4 = var6;
6934 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6935 var_nodearraylist3 = var7;
6936 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6937 var_nodearraylist2 = var8;
6938 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6939 var_nodearraylist1 = var9;
6940 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
6941 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
6942 var_listnode8 = var10;
6943 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6944 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6945 var_listnode11 = var11;
6946 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6947 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6948 var_listnode12 = var12;
6949 var_pdocnode2 = var_nodearraylist1;
6950 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6951 cltype = type_nullable_parser_nodes__ADoc.color;
6952 idtype = type_nullable_parser_nodes__ADoc.id;
6953 if(var_pdocnode2 == NULL) {
6954 var13 = 1;
6955 } else {
6956 if(cltype >= var_pdocnode2->type->table_size) {
6957 var13 = 0;
6958 } else {
6959 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
6960 }
6961 }
6962 if (!var13) {
6963 fprintf(stderr, "Runtime error: %s", "Assert failed");
6964 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5722);
6965 show_backtrace(1);
6966 }
6967 var_pvisibilitynode4 = var_nodearraylist2;
6968 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6969 cltype15 = type_nullable_parser_nodes__AVisibility.color;
6970 idtype16 = type_nullable_parser_nodes__AVisibility.id;
6971 if(var_pvisibilitynode4 == NULL) {
6972 var14 = 1;
6973 } else {
6974 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
6975 var14 = 0;
6976 } else {
6977 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
6978 }
6979 }
6980 if (!var14) {
6981 fprintf(stderr, "Runtime error: %s", "Assert failed");
6982 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5724);
6983 show_backtrace(1);
6984 }
6985 var_pclasskindnode5 = var_nodearraylist3;
6986 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6987 cltype18 = type_nullable_parser_nodes__AClasskind.color;
6988 idtype19 = type_nullable_parser_nodes__AClasskind.id;
6989 if(var_pclasskindnode5 == NULL) {
6990 var17 = 1;
6991 } else {
6992 if(cltype18 >= var_pclasskindnode5->type->table_size) {
6993 var17 = 0;
6994 } else {
6995 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
6996 }
6997 }
6998 if (!var17) {
6999 fprintf(stderr, "Runtime error: %s", "Assert failed");
7000 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5726);
7001 show_backtrace(1);
7002 }
7003 var_tclassidnode6 = var_nodearraylist5;
7004 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7005 cltype21 = type_nullable_parser_nodes__TClassid.color;
7006 idtype22 = type_nullable_parser_nodes__TClassid.id;
7007 if(var_tclassidnode6 == NULL) {
7008 var20 = 1;
7009 } else {
7010 if(cltype21 >= var_tclassidnode6->type->table_size) {
7011 var20 = 0;
7012 } else {
7013 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
7014 }
7015 }
7016 if (!var20) {
7017 fprintf(stderr, "Runtime error: %s", "Assert failed");
7018 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5728);
7019 show_backtrace(1);
7020 }
7021 var_listnode7 = var_nodearraylist6;
7022 /* <var_listnode7:nullable Object> isa Array[Object] */
7023 cltype24 = type_array__Arraykernel__Object.color;
7024 idtype25 = type_array__Arraykernel__Object.id;
7025 if(var_listnode7 == NULL) {
7026 var23 = 0;
7027 } else {
7028 if(cltype24 >= var_listnode7->type->table_size) {
7029 var23 = 0;
7030 } else {
7031 var23 = var_listnode7->type->type_table[cltype24] == idtype25;
7032 }
7033 }
7034 if (!var23) {
7035 fprintf(stderr, "Runtime error: %s", "Assert failed");
7036 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5730);
7037 show_backtrace(1);
7038 }
7039 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction113>*/;
7040 var_listnode8 = var26;
7041 var_pexterncodeblocknode10 = var_nodearraylist7;
7042 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
7043 cltype28 = type_nullable_parser_nodes__AExternCodeBlock.color;
7044 idtype29 = type_nullable_parser_nodes__AExternCodeBlock.id;
7045 if(var_pexterncodeblocknode10 == NULL) {
7046 var27 = 1;
7047 } else {
7048 if(cltype28 >= var_pexterncodeblocknode10->type->table_size) {
7049 var27 = 0;
7050 } else {
7051 var27 = var_pexterncodeblocknode10->type->type_table[cltype28] == idtype29;
7052 }
7053 }
7054 if (!var27) {
7055 fprintf(stderr, "Runtime error: %s", "Assert failed");
7056 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5733);
7057 show_backtrace(1);
7058 }
7059 var_tkwendnode13 = var_nodearraylist9;
7060 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
7061 cltype31 = type_nullable_parser_nodes__TKwend.color;
7062 idtype32 = type_nullable_parser_nodes__TKwend.id;
7063 if(var_tkwendnode13 == NULL) {
7064 var30 = 1;
7065 } else {
7066 if(cltype31 >= var_tkwendnode13->type->table_size) {
7067 var30 = 0;
7068 } else {
7069 var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32;
7070 }
7071 }
7072 if (!var30) {
7073 fprintf(stderr, "Runtime error: %s", "Assert failed");
7074 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5735);
7075 show_backtrace(1);
7076 }
7077 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7078 var34 = NULL;
7079 var35 = NULL;
7080 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var34, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var35, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var33:AStdClassdef>*/;
7081 var_pclassdefnode1 = var33;
7082 var_node_list = var_pclassdefnode1;
7083 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction113> */
7084 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
7085 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
7086 RET_LABEL:;
7087 }
7088 /* method parser#ReduceAction113#action for (self: Object, Parser) */
7089 void VIRTUAL_parser__ReduceAction113__action(val* self, val* p0) {
7090 parser__ReduceAction113__action(self, p0);
7091 RET_LABEL:;
7092 }
7093 /* method parser#ReduceAction114#action for (self: ReduceAction114, Parser) */
7094 void parser__ReduceAction114__action(val* self, val* p0) {
7095 val* var_p /* var p: Parser */;
7096 val* var /* : null */;
7097 val* var_node_list /* var node_list: nullable Object */;
7098 val* var1 /* : nullable Object */;
7099 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7100 val* var2 /* : nullable Object */;
7101 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7102 val* var3 /* : nullable Object */;
7103 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7104 val* var4 /* : nullable Object */;
7105 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7106 val* var5 /* : nullable Object */;
7107 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7108 val* var6 /* : nullable Object */;
7109 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7110 val* var7 /* : nullable Object */;
7111 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7112 val* var8 /* : nullable Object */;
7113 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7114 val* var9 /* : nullable Object */;
7115 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7116 val* var10 /* : nullable Object */;
7117 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7118 val* var11 /* : Array[Object] */;
7119 val* var_listnode8 /* var listnode8: Array[Object] */;
7120 val* var12 /* : Array[Object] */;
7121 val* var_listnode11 /* var listnode11: Array[Object] */;
7122 val* var13 /* : Array[Object] */;
7123 val* var_listnode12 /* var listnode12: Array[Object] */;
7124 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7125 short int var14 /* : Bool */;
7126 int cltype;
7127 int idtype;
7128 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7129 short int var15 /* : Bool */;
7130 int cltype16;
7131 int idtype17;
7132 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7133 short int var18 /* : Bool */;
7134 int cltype19;
7135 int idtype20;
7136 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7137 short int var21 /* : Bool */;
7138 int cltype22;
7139 int idtype23;
7140 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7141 short int var24 /* : Bool */;
7142 int cltype25;
7143 int idtype26;
7144 val* var_listnode7 /* var listnode7: nullable Object */;
7145 short int var27 /* : Bool */;
7146 int cltype28;
7147 int idtype29;
7148 val* var30 /* : Array[Object] */;
7149 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
7150 short int var31 /* : Bool */;
7151 int cltype32;
7152 int idtype33;
7153 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
7154 short int var34 /* : Bool */;
7155 int cltype35;
7156 int idtype36;
7157 val* var37 /* : AStdClassdef */;
7158 val* var38 /* : null */;
7159 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7160 long var39 /* : Int */;
7161 long var40 /* : Int */;
7162 var_p = p0;
7163 var = NULL;
7164 var_node_list = var;
7165 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7166 var_nodearraylist10 = var1;
7167 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7168 var_nodearraylist9 = var2;
7169 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7170 var_nodearraylist8 = var3;
7171 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7172 var_nodearraylist7 = var4;
7173 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7174 var_nodearraylist6 = var5;
7175 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7176 var_nodearraylist5 = var6;
7177 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7178 var_nodearraylist4 = var7;
7179 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7180 var_nodearraylist3 = var8;
7181 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7182 var_nodearraylist2 = var9;
7183 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7184 var_nodearraylist1 = var10;
7185 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
7186 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
7187 var_listnode8 = var11;
7188 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7189 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7190 var_listnode11 = var12;
7191 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7192 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7193 var_listnode12 = var13;
7194 var_pdocnode2 = var_nodearraylist1;
7195 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7196 cltype = type_nullable_parser_nodes__ADoc.color;
7197 idtype = type_nullable_parser_nodes__ADoc.id;
7198 if(var_pdocnode2 == NULL) {
7199 var14 = 1;
7200 } else {
7201 if(cltype >= var_pdocnode2->type->table_size) {
7202 var14 = 0;
7203 } else {
7204 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
7205 }
7206 }
7207 if (!var14) {
7208 fprintf(stderr, "Runtime error: %s", "Assert failed");
7209 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5772);
7210 show_backtrace(1);
7211 }
7212 var_tkwredefnode3 = var_nodearraylist2;
7213 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7214 cltype16 = type_nullable_parser_nodes__TKwredef.color;
7215 idtype17 = type_nullable_parser_nodes__TKwredef.id;
7216 if(var_tkwredefnode3 == NULL) {
7217 var15 = 1;
7218 } else {
7219 if(cltype16 >= var_tkwredefnode3->type->table_size) {
7220 var15 = 0;
7221 } else {
7222 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
7223 }
7224 }
7225 if (!var15) {
7226 fprintf(stderr, "Runtime error: %s", "Assert failed");
7227 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5774);
7228 show_backtrace(1);
7229 }
7230 var_pvisibilitynode4 = var_nodearraylist3;
7231 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7232 cltype19 = type_nullable_parser_nodes__AVisibility.color;
7233 idtype20 = type_nullable_parser_nodes__AVisibility.id;
7234 if(var_pvisibilitynode4 == NULL) {
7235 var18 = 1;
7236 } else {
7237 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
7238 var18 = 0;
7239 } else {
7240 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
7241 }
7242 }
7243 if (!var18) {
7244 fprintf(stderr, "Runtime error: %s", "Assert failed");
7245 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5776);
7246 show_backtrace(1);
7247 }
7248 var_pclasskindnode5 = var_nodearraylist4;
7249 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7250 cltype22 = type_nullable_parser_nodes__AClasskind.color;
7251 idtype23 = type_nullable_parser_nodes__AClasskind.id;
7252 if(var_pclasskindnode5 == NULL) {
7253 var21 = 1;
7254 } else {
7255 if(cltype22 >= var_pclasskindnode5->type->table_size) {
7256 var21 = 0;
7257 } else {
7258 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
7259 }
7260 }
7261 if (!var21) {
7262 fprintf(stderr, "Runtime error: %s", "Assert failed");
7263 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5778);
7264 show_backtrace(1);
7265 }
7266 var_tclassidnode6 = var_nodearraylist6;
7267 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7268 cltype25 = type_nullable_parser_nodes__TClassid.color;
7269 idtype26 = type_nullable_parser_nodes__TClassid.id;
7270 if(var_tclassidnode6 == NULL) {
7271 var24 = 1;
7272 } else {
7273 if(cltype25 >= var_tclassidnode6->type->table_size) {
7274 var24 = 0;
7275 } else {
7276 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
7277 }
7278 }
7279 if (!var24) {
7280 fprintf(stderr, "Runtime error: %s", "Assert failed");
7281 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5780);
7282 show_backtrace(1);
7283 }
7284 var_listnode7 = var_nodearraylist7;
7285 /* <var_listnode7:nullable Object> isa Array[Object] */
7286 cltype28 = type_array__Arraykernel__Object.color;
7287 idtype29 = type_array__Arraykernel__Object.id;
7288 if(var_listnode7 == NULL) {
7289 var27 = 0;
7290 } else {
7291 if(cltype28 >= var_listnode7->type->table_size) {
7292 var27 = 0;
7293 } else {
7294 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
7295 }
7296 }
7297 if (!var27) {
7298 fprintf(stderr, "Runtime error: %s", "Assert failed");
7299 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5782);
7300 show_backtrace(1);
7301 }
7302 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction114>*/;
7303 var_listnode8 = var30;
7304 var_pexterncodeblocknode10 = var_nodearraylist8;
7305 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
7306 cltype32 = type_nullable_parser_nodes__AExternCodeBlock.color;
7307 idtype33 = type_nullable_parser_nodes__AExternCodeBlock.id;
7308 if(var_pexterncodeblocknode10 == NULL) {
7309 var31 = 1;
7310 } else {
7311 if(cltype32 >= var_pexterncodeblocknode10->type->table_size) {
7312 var31 = 0;
7313 } else {
7314 var31 = var_pexterncodeblocknode10->type->type_table[cltype32] == idtype33;
7315 }
7316 }
7317 if (!var31) {
7318 fprintf(stderr, "Runtime error: %s", "Assert failed");
7319 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5785);
7320 show_backtrace(1);
7321 }
7322 var_tkwendnode13 = var_nodearraylist10;
7323 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
7324 cltype35 = type_nullable_parser_nodes__TKwend.color;
7325 idtype36 = type_nullable_parser_nodes__TKwend.id;
7326 if(var_tkwendnode13 == NULL) {
7327 var34 = 1;
7328 } else {
7329 if(cltype35 >= var_tkwendnode13->type->table_size) {
7330 var34 = 0;
7331 } else {
7332 var34 = var_tkwendnode13->type->type_table[cltype35] == idtype36;
7333 }
7334 }
7335 if (!var34) {
7336 fprintf(stderr, "Runtime error: %s", "Assert failed");
7337 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5787);
7338 show_backtrace(1);
7339 }
7340 var37 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7341 var38 = NULL;
7342 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var37, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var38, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var37:AStdClassdef>*/;
7343 var_pclassdefnode1 = var37;
7344 var_node_list = var_pclassdefnode1;
7345 var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction114> */
7346 var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on <var_p:Parser>*/;
7347 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on <var_p:Parser>*/;
7348 RET_LABEL:;
7349 }
7350 /* method parser#ReduceAction114#action for (self: Object, Parser) */
7351 void VIRTUAL_parser__ReduceAction114__action(val* self, val* p0) {
7352 parser__ReduceAction114__action(self, p0);
7353 RET_LABEL:;
7354 }
7355 /* method parser#ReduceAction115#action for (self: ReduceAction115, Parser) */
7356 void parser__ReduceAction115__action(val* self, val* p0) {
7357 val* var_p /* var p: Parser */;
7358 val* var /* : null */;
7359 val* var_node_list /* var node_list: nullable Object */;
7360 val* var1 /* : nullable Object */;
7361 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7362 val* var2 /* : nullable Object */;
7363 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7364 val* var3 /* : nullable Object */;
7365 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7366 val* var4 /* : nullable Object */;
7367 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7368 val* var5 /* : nullable Object */;
7369 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7370 val* var6 /* : nullable Object */;
7371 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7372 val* var7 /* : nullable Object */;
7373 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7374 val* var8 /* : nullable Object */;
7375 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7376 val* var9 /* : nullable Object */;
7377 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7378 val* var10 /* : nullable Object */;
7379 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7380 val* var11 /* : Array[Object] */;
7381 val* var_listnode8 /* var listnode8: Array[Object] */;
7382 val* var12 /* : Array[Object] */;
7383 val* var_listnode11 /* var listnode11: Array[Object] */;
7384 val* var13 /* : Array[Object] */;
7385 val* var_listnode12 /* var listnode12: Array[Object] */;
7386 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7387 short int var14 /* : Bool */;
7388 int cltype;
7389 int idtype;
7390 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7391 short int var15 /* : Bool */;
7392 int cltype16;
7393 int idtype17;
7394 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7395 short int var18 /* : Bool */;
7396 int cltype19;
7397 int idtype20;
7398 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7399 short int var21 /* : Bool */;
7400 int cltype22;
7401 int idtype23;
7402 val* var_listnode7 /* var listnode7: nullable Object */;
7403 short int var24 /* : Bool */;
7404 int cltype25;
7405 int idtype26;
7406 val* var27 /* : Array[Object] */;
7407 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
7408 short int var28 /* : Bool */;
7409 int cltype29;
7410 int idtype30;
7411 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
7412 short int var31 /* : Bool */;
7413 int cltype32;
7414 int idtype33;
7415 val* var34 /* : AStdClassdef */;
7416 val* var35 /* : null */;
7417 val* var36 /* : null */;
7418 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7419 long var37 /* : Int */;
7420 long var38 /* : Int */;
7421 var_p = p0;
7422 var = NULL;
7423 var_node_list = var;
7424 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7425 var_nodearraylist10 = var1;
7426 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7427 var_nodearraylist9 = var2;
7428 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7429 var_nodearraylist8 = var3;
7430 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7431 var_nodearraylist7 = var4;
7432 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7433 var_nodearraylist6 = var5;
7434 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7435 var_nodearraylist5 = var6;
7436 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7437 var_nodearraylist4 = var7;
7438 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7439 var_nodearraylist3 = var8;
7440 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7441 var_nodearraylist2 = var9;
7442 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7443 var_nodearraylist1 = var10;
7444 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
7445 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
7446 var_listnode8 = var11;
7447 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7448 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7449 var_listnode11 = var12;
7450 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7451 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7452 var_listnode12 = var13;
7453 var_pdocnode2 = var_nodearraylist1;
7454 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7455 cltype = type_nullable_parser_nodes__ADoc.color;
7456 idtype = type_nullable_parser_nodes__ADoc.id;
7457 if(var_pdocnode2 == NULL) {
7458 var14 = 1;
7459 } else {
7460 if(cltype >= var_pdocnode2->type->table_size) {
7461 var14 = 0;
7462 } else {
7463 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
7464 }
7465 }
7466 if (!var14) {
7467 fprintf(stderr, "Runtime error: %s", "Assert failed");
7468 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5824);
7469 show_backtrace(1);
7470 }
7471 var_pvisibilitynode4 = var_nodearraylist2;
7472 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7473 cltype16 = type_nullable_parser_nodes__AVisibility.color;
7474 idtype17 = type_nullable_parser_nodes__AVisibility.id;
7475 if(var_pvisibilitynode4 == NULL) {
7476 var15 = 1;
7477 } else {
7478 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
7479 var15 = 0;
7480 } else {
7481 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
7482 }
7483 }
7484 if (!var15) {
7485 fprintf(stderr, "Runtime error: %s", "Assert failed");
7486 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5826);
7487 show_backtrace(1);
7488 }
7489 var_pclasskindnode5 = var_nodearraylist3;
7490 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7491 cltype19 = type_nullable_parser_nodes__AClasskind.color;
7492 idtype20 = type_nullable_parser_nodes__AClasskind.id;
7493 if(var_pclasskindnode5 == NULL) {
7494 var18 = 1;
7495 } else {
7496 if(cltype19 >= var_pclasskindnode5->type->table_size) {
7497 var18 = 0;
7498 } else {
7499 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
7500 }
7501 }
7502 if (!var18) {
7503 fprintf(stderr, "Runtime error: %s", "Assert failed");
7504 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5828);
7505 show_backtrace(1);
7506 }
7507 var_tclassidnode6 = var_nodearraylist6;
7508 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7509 cltype22 = type_nullable_parser_nodes__TClassid.color;
7510 idtype23 = type_nullable_parser_nodes__TClassid.id;
7511 if(var_tclassidnode6 == NULL) {
7512 var21 = 1;
7513 } else {
7514 if(cltype22 >= var_tclassidnode6->type->table_size) {
7515 var21 = 0;
7516 } else {
7517 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
7518 }
7519 }
7520 if (!var21) {
7521 fprintf(stderr, "Runtime error: %s", "Assert failed");
7522 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5830);
7523 show_backtrace(1);
7524 }
7525 var_listnode7 = var_nodearraylist7;
7526 /* <var_listnode7:nullable Object> isa Array[Object] */
7527 cltype25 = type_array__Arraykernel__Object.color;
7528 idtype26 = type_array__Arraykernel__Object.id;
7529 if(var_listnode7 == NULL) {
7530 var24 = 0;
7531 } else {
7532 if(cltype25 >= var_listnode7->type->table_size) {
7533 var24 = 0;
7534 } else {
7535 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
7536 }
7537 }
7538 if (!var24) {
7539 fprintf(stderr, "Runtime error: %s", "Assert failed");
7540 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5832);
7541 show_backtrace(1);
7542 }
7543 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction115>*/;
7544 var_listnode8 = var27;
7545 var_pexterncodeblocknode10 = var_nodearraylist8;
7546 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
7547 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
7548 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
7549 if(var_pexterncodeblocknode10 == NULL) {
7550 var28 = 1;
7551 } else {
7552 if(cltype29 >= var_pexterncodeblocknode10->type->table_size) {
7553 var28 = 0;
7554 } else {
7555 var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30;
7556 }
7557 }
7558 if (!var28) {
7559 fprintf(stderr, "Runtime error: %s", "Assert failed");
7560 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5835);
7561 show_backtrace(1);
7562 }
7563 var_tkwendnode13 = var_nodearraylist10;
7564 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
7565 cltype32 = type_nullable_parser_nodes__TKwend.color;
7566 idtype33 = type_nullable_parser_nodes__TKwend.id;
7567 if(var_tkwendnode13 == NULL) {
7568 var31 = 1;
7569 } else {
7570 if(cltype32 >= var_tkwendnode13->type->table_size) {
7571 var31 = 0;
7572 } else {
7573 var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33;
7574 }
7575 }
7576 if (!var31) {
7577 fprintf(stderr, "Runtime error: %s", "Assert failed");
7578 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5837);
7579 show_backtrace(1);
7580 }
7581 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7582 var35 = NULL;
7583 var36 = NULL;
7584 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var35, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var36, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var34:AStdClassdef>*/;
7585 var_pclassdefnode1 = var34;
7586 var_node_list = var_pclassdefnode1;
7587 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction115> */
7588 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
7589 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
7590 RET_LABEL:;
7591 }
7592 /* method parser#ReduceAction115#action for (self: Object, Parser) */
7593 void VIRTUAL_parser__ReduceAction115__action(val* self, val* p0) {
7594 parser__ReduceAction115__action(self, p0);
7595 RET_LABEL:;
7596 }
7597 /* method parser#ReduceAction116#action for (self: ReduceAction116, Parser) */
7598 void parser__ReduceAction116__action(val* self, val* p0) {
7599 val* var_p /* var p: Parser */;
7600 val* var /* : null */;
7601 val* var_node_list /* var node_list: nullable Object */;
7602 val* var1 /* : nullable Object */;
7603 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7604 val* var2 /* : nullable Object */;
7605 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7606 val* var3 /* : nullable Object */;
7607 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7608 val* var4 /* : nullable Object */;
7609 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7610 val* var5 /* : nullable Object */;
7611 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7612 val* var6 /* : nullable Object */;
7613 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7614 val* var7 /* : nullable Object */;
7615 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7616 val* var8 /* : nullable Object */;
7617 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7618 val* var9 /* : nullable Object */;
7619 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7620 val* var10 /* : nullable Object */;
7621 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7622 val* var11 /* : nullable Object */;
7623 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7624 val* var12 /* : Array[Object] */;
7625 val* var_listnode8 /* var listnode8: Array[Object] */;
7626 val* var13 /* : Array[Object] */;
7627 val* var_listnode11 /* var listnode11: Array[Object] */;
7628 val* var14 /* : Array[Object] */;
7629 val* var_listnode12 /* var listnode12: Array[Object] */;
7630 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7631 short int var15 /* : Bool */;
7632 int cltype;
7633 int idtype;
7634 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7635 short int var16 /* : Bool */;
7636 int cltype17;
7637 int idtype18;
7638 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7639 short int var19 /* : Bool */;
7640 int cltype20;
7641 int idtype21;
7642 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7643 short int var22 /* : Bool */;
7644 int cltype23;
7645 int idtype24;
7646 val* var_listnode7 /* var listnode7: nullable Object */;
7647 short int var25 /* : Bool */;
7648 int cltype26;
7649 int idtype27;
7650 val* var28 /* : Array[Object] */;
7651 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
7652 short int var29 /* : Bool */;
7653 int cltype30;
7654 int idtype31;
7655 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
7656 short int var32 /* : Bool */;
7657 int cltype33;
7658 int idtype34;
7659 val* var35 /* : AStdClassdef */;
7660 val* var36 /* : null */;
7661 val* var37 /* : null */;
7662 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7663 long var38 /* : Int */;
7664 long var39 /* : Int */;
7665 var_p = p0;
7666 var = NULL;
7667 var_node_list = var;
7668 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7669 var_nodearraylist11 = var1;
7670 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7671 var_nodearraylist10 = var2;
7672 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7673 var_nodearraylist9 = var3;
7674 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7675 var_nodearraylist8 = var4;
7676 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7677 var_nodearraylist7 = var5;
7678 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7679 var_nodearraylist6 = var6;
7680 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7681 var_nodearraylist5 = var7;
7682 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7683 var_nodearraylist4 = var8;
7684 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7685 var_nodearraylist3 = var9;
7686 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7687 var_nodearraylist2 = var10;
7688 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7689 var_nodearraylist1 = var11;
7690 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7691 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7692 var_listnode8 = var12;
7693 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7694 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7695 var_listnode11 = var13;
7696 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7697 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7698 var_listnode12 = var14;
7699 var_pdocnode2 = var_nodearraylist1;
7700 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7701 cltype = type_nullable_parser_nodes__ADoc.color;
7702 idtype = type_nullable_parser_nodes__ADoc.id;
7703 if(var_pdocnode2 == NULL) {
7704 var15 = 1;
7705 } else {
7706 if(cltype >= var_pdocnode2->type->table_size) {
7707 var15 = 0;
7708 } else {
7709 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
7710 }
7711 }
7712 if (!var15) {
7713 fprintf(stderr, "Runtime error: %s", "Assert failed");
7714 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5875);
7715 show_backtrace(1);
7716 }
7717 var_pvisibilitynode4 = var_nodearraylist2;
7718 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7719 cltype17 = type_nullable_parser_nodes__AVisibility.color;
7720 idtype18 = type_nullable_parser_nodes__AVisibility.id;
7721 if(var_pvisibilitynode4 == NULL) {
7722 var16 = 1;
7723 } else {
7724 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
7725 var16 = 0;
7726 } else {
7727 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
7728 }
7729 }
7730 if (!var16) {
7731 fprintf(stderr, "Runtime error: %s", "Assert failed");
7732 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5877);
7733 show_backtrace(1);
7734 }
7735 var_pclasskindnode5 = var_nodearraylist3;
7736 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7737 cltype20 = type_nullable_parser_nodes__AClasskind.color;
7738 idtype21 = type_nullable_parser_nodes__AClasskind.id;
7739 if(var_pclasskindnode5 == NULL) {
7740 var19 = 1;
7741 } else {
7742 if(cltype20 >= var_pclasskindnode5->type->table_size) {
7743 var19 = 0;
7744 } else {
7745 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
7746 }
7747 }
7748 if (!var19) {
7749 fprintf(stderr, "Runtime error: %s", "Assert failed");
7750 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5879);
7751 show_backtrace(1);
7752 }
7753 var_tclassidnode6 = var_nodearraylist7;
7754 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7755 cltype23 = type_nullable_parser_nodes__TClassid.color;
7756 idtype24 = type_nullable_parser_nodes__TClassid.id;
7757 if(var_tclassidnode6 == NULL) {
7758 var22 = 1;
7759 } else {
7760 if(cltype23 >= var_tclassidnode6->type->table_size) {
7761 var22 = 0;
7762 } else {
7763 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
7764 }
7765 }
7766 if (!var22) {
7767 fprintf(stderr, "Runtime error: %s", "Assert failed");
7768 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5881);
7769 show_backtrace(1);
7770 }
7771 var_listnode7 = var_nodearraylist8;
7772 /* <var_listnode7:nullable Object> isa Array[Object] */
7773 cltype26 = type_array__Arraykernel__Object.color;
7774 idtype27 = type_array__Arraykernel__Object.id;
7775 if(var_listnode7 == NULL) {
7776 var25 = 0;
7777 } else {
7778 if(cltype26 >= var_listnode7->type->table_size) {
7779 var25 = 0;
7780 } else {
7781 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
7782 }
7783 }
7784 if (!var25) {
7785 fprintf(stderr, "Runtime error: %s", "Assert failed");
7786 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5883);
7787 show_backtrace(1);
7788 }
7789 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction116>*/;
7790 var_listnode8 = var28;
7791 var_pexterncodeblocknode10 = var_nodearraylist9;
7792 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
7793 cltype30 = type_nullable_parser_nodes__AExternCodeBlock.color;
7794 idtype31 = type_nullable_parser_nodes__AExternCodeBlock.id;
7795 if(var_pexterncodeblocknode10 == NULL) {
7796 var29 = 1;
7797 } else {
7798 if(cltype30 >= var_pexterncodeblocknode10->type->table_size) {
7799 var29 = 0;
7800 } else {
7801 var29 = var_pexterncodeblocknode10->type->type_table[cltype30] == idtype31;
7802 }
7803 }
7804 if (!var29) {
7805 fprintf(stderr, "Runtime error: %s", "Assert failed");
7806 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5886);
7807 show_backtrace(1);
7808 }
7809 var_tkwendnode13 = var_nodearraylist11;
7810 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
7811 cltype33 = type_nullable_parser_nodes__TKwend.color;
7812 idtype34 = type_nullable_parser_nodes__TKwend.id;
7813 if(var_tkwendnode13 == NULL) {
7814 var32 = 1;
7815 } else {
7816 if(cltype33 >= var_tkwendnode13->type->table_size) {
7817 var32 = 0;
7818 } else {
7819 var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34;
7820 }
7821 }
7822 if (!var32) {
7823 fprintf(stderr, "Runtime error: %s", "Assert failed");
7824 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5888);
7825 show_backtrace(1);
7826 }
7827 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7828 var36 = NULL;
7829 var37 = NULL;
7830 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var36, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var37, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var35:AStdClassdef>*/;
7831 var_pclassdefnode1 = var35;
7832 var_node_list = var_pclassdefnode1;
7833 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction116> */
7834 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
7835 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
7836 RET_LABEL:;
7837 }
7838 /* method parser#ReduceAction116#action for (self: Object, Parser) */
7839 void VIRTUAL_parser__ReduceAction116__action(val* self, val* p0) {
7840 parser__ReduceAction116__action(self, p0);
7841 RET_LABEL:;
7842 }
7843 /* method parser#ReduceAction118#action for (self: ReduceAction118, Parser) */
7844 void parser__ReduceAction118__action(val* self, val* p0) {
7845 val* var_p /* var p: Parser */;
7846 val* var /* : null */;
7847 val* var_node_list /* var node_list: nullable Object */;
7848 val* var1 /* : nullable Object */;
7849 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7850 val* var2 /* : nullable Object */;
7851 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7852 val* var3 /* : nullable Object */;
7853 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7854 val* var4 /* : nullable Object */;
7855 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7856 val* var5 /* : nullable Object */;
7857 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7858 val* var6 /* : nullable Object */;
7859 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7860 val* var7 /* : nullable Object */;
7861 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7862 val* var8 /* : nullable Object */;
7863 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7864 val* var9 /* : nullable Object */;
7865 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7866 val* var10 /* : nullable Object */;
7867 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7868 val* var11 /* : nullable Object */;
7869 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7870 val* var12 /* : Array[Object] */;
7871 val* var_listnode8 /* var listnode8: Array[Object] */;
7872 val* var13 /* : Array[Object] */;
7873 val* var_listnode11 /* var listnode11: Array[Object] */;
7874 val* var14 /* : Array[Object] */;
7875 val* var_listnode12 /* var listnode12: Array[Object] */;
7876 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7877 short int var15 /* : Bool */;
7878 int cltype;
7879 int idtype;
7880 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7881 short int var16 /* : Bool */;
7882 int cltype17;
7883 int idtype18;
7884 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7885 short int var19 /* : Bool */;
7886 int cltype20;
7887 int idtype21;
7888 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7889 short int var22 /* : Bool */;
7890 int cltype23;
7891 int idtype24;
7892 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7893 short int var25 /* : Bool */;
7894 int cltype26;
7895 int idtype27;
7896 val* var_listnode7 /* var listnode7: nullable Object */;
7897 short int var28 /* : Bool */;
7898 int cltype29;
7899 int idtype30;
7900 val* var31 /* : Array[Object] */;
7901 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
7902 short int var32 /* : Bool */;
7903 int cltype33;
7904 int idtype34;
7905 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
7906 short int var35 /* : Bool */;
7907 int cltype36;
7908 int idtype37;
7909 val* var38 /* : AStdClassdef */;
7910 val* var39 /* : null */;
7911 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7912 long var40 /* : Int */;
7913 long var41 /* : Int */;
7914 var_p = p0;
7915 var = NULL;
7916 var_node_list = var;
7917 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7918 var_nodearraylist11 = var1;
7919 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7920 var_nodearraylist10 = var2;
7921 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7922 var_nodearraylist9 = var3;
7923 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7924 var_nodearraylist8 = var4;
7925 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7926 var_nodearraylist7 = var5;
7927 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7928 var_nodearraylist6 = var6;
7929 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7930 var_nodearraylist5 = var7;
7931 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7932 var_nodearraylist4 = var8;
7933 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7934 var_nodearraylist3 = var9;
7935 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7936 var_nodearraylist2 = var10;
7937 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7938 var_nodearraylist1 = var11;
7939 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7940 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7941 var_listnode8 = var12;
7942 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7943 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7944 var_listnode11 = var13;
7945 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7946 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7947 var_listnode12 = var14;
7948 var_pdocnode2 = var_nodearraylist1;
7949 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7950 cltype = type_nullable_parser_nodes__ADoc.color;
7951 idtype = type_nullable_parser_nodes__ADoc.id;
7952 if(var_pdocnode2 == NULL) {
7953 var15 = 1;
7954 } else {
7955 if(cltype >= var_pdocnode2->type->table_size) {
7956 var15 = 0;
7957 } else {
7958 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
7959 }
7960 }
7961 if (!var15) {
7962 fprintf(stderr, "Runtime error: %s", "Assert failed");
7963 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5926);
7964 show_backtrace(1);
7965 }
7966 var_tkwredefnode3 = var_nodearraylist2;
7967 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7968 cltype17 = type_nullable_parser_nodes__TKwredef.color;
7969 idtype18 = type_nullable_parser_nodes__TKwredef.id;
7970 if(var_tkwredefnode3 == NULL) {
7971 var16 = 1;
7972 } else {
7973 if(cltype17 >= var_tkwredefnode3->type->table_size) {
7974 var16 = 0;
7975 } else {
7976 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
7977 }
7978 }
7979 if (!var16) {
7980 fprintf(stderr, "Runtime error: %s", "Assert failed");
7981 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5928);
7982 show_backtrace(1);
7983 }
7984 var_pvisibilitynode4 = var_nodearraylist3;
7985 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7986 cltype20 = type_nullable_parser_nodes__AVisibility.color;
7987 idtype21 = type_nullable_parser_nodes__AVisibility.id;
7988 if(var_pvisibilitynode4 == NULL) {
7989 var19 = 1;
7990 } else {
7991 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
7992 var19 = 0;
7993 } else {
7994 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
7995 }
7996 }
7997 if (!var19) {
7998 fprintf(stderr, "Runtime error: %s", "Assert failed");
7999 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5930);
8000 show_backtrace(1);
8001 }
8002 var_pclasskindnode5 = var_nodearraylist4;
8003 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8004 cltype23 = type_nullable_parser_nodes__AClasskind.color;
8005 idtype24 = type_nullable_parser_nodes__AClasskind.id;
8006 if(var_pclasskindnode5 == NULL) {
8007 var22 = 1;
8008 } else {
8009 if(cltype23 >= var_pclasskindnode5->type->table_size) {
8010 var22 = 0;
8011 } else {
8012 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
8013 }
8014 }
8015 if (!var22) {
8016 fprintf(stderr, "Runtime error: %s", "Assert failed");
8017 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5932);
8018 show_backtrace(1);
8019 }
8020 var_tclassidnode6 = var_nodearraylist7;
8021 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8022 cltype26 = type_nullable_parser_nodes__TClassid.color;
8023 idtype27 = type_nullable_parser_nodes__TClassid.id;
8024 if(var_tclassidnode6 == NULL) {
8025 var25 = 1;
8026 } else {
8027 if(cltype26 >= var_tclassidnode6->type->table_size) {
8028 var25 = 0;
8029 } else {
8030 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
8031 }
8032 }
8033 if (!var25) {
8034 fprintf(stderr, "Runtime error: %s", "Assert failed");
8035 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5934);
8036 show_backtrace(1);
8037 }
8038 var_listnode7 = var_nodearraylist8;
8039 /* <var_listnode7:nullable Object> isa Array[Object] */
8040 cltype29 = type_array__Arraykernel__Object.color;
8041 idtype30 = type_array__Arraykernel__Object.id;
8042 if(var_listnode7 == NULL) {
8043 var28 = 0;
8044 } else {
8045 if(cltype29 >= var_listnode7->type->table_size) {
8046 var28 = 0;
8047 } else {
8048 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
8049 }
8050 }
8051 if (!var28) {
8052 fprintf(stderr, "Runtime error: %s", "Assert failed");
8053 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5936);
8054 show_backtrace(1);
8055 }
8056 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction118>*/;
8057 var_listnode8 = var31;
8058 var_pexterncodeblocknode10 = var_nodearraylist9;
8059 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8060 cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color;
8061 idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id;
8062 if(var_pexterncodeblocknode10 == NULL) {
8063 var32 = 1;
8064 } else {
8065 if(cltype33 >= var_pexterncodeblocknode10->type->table_size) {
8066 var32 = 0;
8067 } else {
8068 var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34;
8069 }
8070 }
8071 if (!var32) {
8072 fprintf(stderr, "Runtime error: %s", "Assert failed");
8073 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5939);
8074 show_backtrace(1);
8075 }
8076 var_tkwendnode13 = var_nodearraylist11;
8077 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
8078 cltype36 = type_nullable_parser_nodes__TKwend.color;
8079 idtype37 = type_nullable_parser_nodes__TKwend.id;
8080 if(var_tkwendnode13 == NULL) {
8081 var35 = 1;
8082 } else {
8083 if(cltype36 >= var_tkwendnode13->type->table_size) {
8084 var35 = 0;
8085 } else {
8086 var35 = var_tkwendnode13->type->type_table[cltype36] == idtype37;
8087 }
8088 }
8089 if (!var35) {
8090 fprintf(stderr, "Runtime error: %s", "Assert failed");
8091 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5941);
8092 show_backtrace(1);
8093 }
8094 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8095 var39 = NULL;
8096 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var39, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var38:AStdClassdef>*/;
8097 var_pclassdefnode1 = var38;
8098 var_node_list = var_pclassdefnode1;
8099 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction118> */
8100 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
8101 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
8102 RET_LABEL:;
8103 }
8104 /* method parser#ReduceAction118#action for (self: Object, Parser) */
8105 void VIRTUAL_parser__ReduceAction118__action(val* self, val* p0) {
8106 parser__ReduceAction118__action(self, p0);
8107 RET_LABEL:;
8108 }
8109 /* method parser#ReduceAction119#action for (self: ReduceAction119, Parser) */
8110 void parser__ReduceAction119__action(val* self, val* p0) {
8111 val* var_p /* var p: Parser */;
8112 val* var /* : null */;
8113 val* var_node_list /* var node_list: nullable Object */;
8114 val* var1 /* : nullable Object */;
8115 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
8116 val* var2 /* : nullable Object */;
8117 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8118 val* var3 /* : nullable Object */;
8119 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8120 val* var4 /* : nullable Object */;
8121 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8122 val* var5 /* : nullable Object */;
8123 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8124 val* var6 /* : nullable Object */;
8125 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8126 val* var7 /* : nullable Object */;
8127 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8128 val* var8 /* : nullable Object */;
8129 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8130 val* var9 /* : nullable Object */;
8131 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8132 val* var10 /* : nullable Object */;
8133 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8134 val* var11 /* : nullable Object */;
8135 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8136 val* var12 /* : nullable Object */;
8137 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8138 val* var13 /* : Array[Object] */;
8139 val* var_listnode8 /* var listnode8: Array[Object] */;
8140 val* var14 /* : Array[Object] */;
8141 val* var_listnode11 /* var listnode11: Array[Object] */;
8142 val* var15 /* : Array[Object] */;
8143 val* var_listnode12 /* var listnode12: Array[Object] */;
8144 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8145 short int var16 /* : Bool */;
8146 int cltype;
8147 int idtype;
8148 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8149 short int var17 /* : Bool */;
8150 int cltype18;
8151 int idtype19;
8152 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8153 short int var20 /* : Bool */;
8154 int cltype21;
8155 int idtype22;
8156 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8157 short int var23 /* : Bool */;
8158 int cltype24;
8159 int idtype25;
8160 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8161 short int var26 /* : Bool */;
8162 int cltype27;
8163 int idtype28;
8164 val* var_listnode7 /* var listnode7: nullable Object */;
8165 short int var29 /* : Bool */;
8166 int cltype30;
8167 int idtype31;
8168 val* var32 /* : Array[Object] */;
8169 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8170 short int var33 /* : Bool */;
8171 int cltype34;
8172 int idtype35;
8173 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
8174 short int var36 /* : Bool */;
8175 int cltype37;
8176 int idtype38;
8177 val* var39 /* : AStdClassdef */;
8178 val* var40 /* : null */;
8179 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8180 long var41 /* : Int */;
8181 long var42 /* : Int */;
8182 var_p = p0;
8183 var = NULL;
8184 var_node_list = var;
8185 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8186 var_nodearraylist12 = var1;
8187 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8188 var_nodearraylist11 = var2;
8189 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8190 var_nodearraylist10 = var3;
8191 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8192 var_nodearraylist9 = var4;
8193 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8194 var_nodearraylist8 = var5;
8195 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8196 var_nodearraylist7 = var6;
8197 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8198 var_nodearraylist6 = var7;
8199 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8200 var_nodearraylist5 = var8;
8201 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8202 var_nodearraylist4 = var9;
8203 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8204 var_nodearraylist3 = var10;
8205 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8206 var_nodearraylist2 = var11;
8207 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8208 var_nodearraylist1 = var12;
8209 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8210 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8211 var_listnode8 = var13;
8212 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8213 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8214 var_listnode11 = var14;
8215 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
8216 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
8217 var_listnode12 = var15;
8218 var_pdocnode2 = var_nodearraylist1;
8219 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8220 cltype = type_nullable_parser_nodes__ADoc.color;
8221 idtype = type_nullable_parser_nodes__ADoc.id;
8222 if(var_pdocnode2 == NULL) {
8223 var16 = 1;
8224 } else {
8225 if(cltype >= var_pdocnode2->type->table_size) {
8226 var16 = 0;
8227 } else {
8228 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
8229 }
8230 }
8231 if (!var16) {
8232 fprintf(stderr, "Runtime error: %s", "Assert failed");
8233 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5980);
8234 show_backtrace(1);
8235 }
8236 var_tkwredefnode3 = var_nodearraylist2;
8237 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8238 cltype18 = type_nullable_parser_nodes__TKwredef.color;
8239 idtype19 = type_nullable_parser_nodes__TKwredef.id;
8240 if(var_tkwredefnode3 == NULL) {
8241 var17 = 1;
8242 } else {
8243 if(cltype18 >= var_tkwredefnode3->type->table_size) {
8244 var17 = 0;
8245 } else {
8246 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
8247 }
8248 }
8249 if (!var17) {
8250 fprintf(stderr, "Runtime error: %s", "Assert failed");
8251 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5982);
8252 show_backtrace(1);
8253 }
8254 var_pvisibilitynode4 = var_nodearraylist3;
8255 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8256 cltype21 = type_nullable_parser_nodes__AVisibility.color;
8257 idtype22 = type_nullable_parser_nodes__AVisibility.id;
8258 if(var_pvisibilitynode4 == NULL) {
8259 var20 = 1;
8260 } else {
8261 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
8262 var20 = 0;
8263 } else {
8264 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
8265 }
8266 }
8267 if (!var20) {
8268 fprintf(stderr, "Runtime error: %s", "Assert failed");
8269 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5984);
8270 show_backtrace(1);
8271 }
8272 var_pclasskindnode5 = var_nodearraylist4;
8273 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8274 cltype24 = type_nullable_parser_nodes__AClasskind.color;
8275 idtype25 = type_nullable_parser_nodes__AClasskind.id;
8276 if(var_pclasskindnode5 == NULL) {
8277 var23 = 1;
8278 } else {
8279 if(cltype24 >= var_pclasskindnode5->type->table_size) {
8280 var23 = 0;
8281 } else {
8282 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
8283 }
8284 }
8285 if (!var23) {
8286 fprintf(stderr, "Runtime error: %s", "Assert failed");
8287 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5986);
8288 show_backtrace(1);
8289 }
8290 var_tclassidnode6 = var_nodearraylist8;
8291 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8292 cltype27 = type_nullable_parser_nodes__TClassid.color;
8293 idtype28 = type_nullable_parser_nodes__TClassid.id;
8294 if(var_tclassidnode6 == NULL) {
8295 var26 = 1;
8296 } else {
8297 if(cltype27 >= var_tclassidnode6->type->table_size) {
8298 var26 = 0;
8299 } else {
8300 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
8301 }
8302 }
8303 if (!var26) {
8304 fprintf(stderr, "Runtime error: %s", "Assert failed");
8305 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5988);
8306 show_backtrace(1);
8307 }
8308 var_listnode7 = var_nodearraylist9;
8309 /* <var_listnode7:nullable Object> isa Array[Object] */
8310 cltype30 = type_array__Arraykernel__Object.color;
8311 idtype31 = type_array__Arraykernel__Object.id;
8312 if(var_listnode7 == NULL) {
8313 var29 = 0;
8314 } else {
8315 if(cltype30 >= var_listnode7->type->table_size) {
8316 var29 = 0;
8317 } else {
8318 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
8319 }
8320 }
8321 if (!var29) {
8322 fprintf(stderr, "Runtime error: %s", "Assert failed");
8323 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5990);
8324 show_backtrace(1);
8325 }
8326 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction119>*/;
8327 var_listnode8 = var32;
8328 var_pexterncodeblocknode10 = var_nodearraylist10;
8329 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8330 cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color;
8331 idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id;
8332 if(var_pexterncodeblocknode10 == NULL) {
8333 var33 = 1;
8334 } else {
8335 if(cltype34 >= var_pexterncodeblocknode10->type->table_size) {
8336 var33 = 0;
8337 } else {
8338 var33 = var_pexterncodeblocknode10->type->type_table[cltype34] == idtype35;
8339 }
8340 }
8341 if (!var33) {
8342 fprintf(stderr, "Runtime error: %s", "Assert failed");
8343 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5993);
8344 show_backtrace(1);
8345 }
8346 var_tkwendnode13 = var_nodearraylist12;
8347 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
8348 cltype37 = type_nullable_parser_nodes__TKwend.color;
8349 idtype38 = type_nullable_parser_nodes__TKwend.id;
8350 if(var_tkwendnode13 == NULL) {
8351 var36 = 1;
8352 } else {
8353 if(cltype37 >= var_tkwendnode13->type->table_size) {
8354 var36 = 0;
8355 } else {
8356 var36 = var_tkwendnode13->type->type_table[cltype37] == idtype38;
8357 }
8358 }
8359 if (!var36) {
8360 fprintf(stderr, "Runtime error: %s", "Assert failed");
8361 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5995);
8362 show_backtrace(1);
8363 }
8364 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8365 var40 = NULL;
8366 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var40, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var39:AStdClassdef>*/;
8367 var_pclassdefnode1 = var39;
8368 var_node_list = var_pclassdefnode1;
8369 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction119> */
8370 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
8371 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
8372 RET_LABEL:;
8373 }
8374 /* method parser#ReduceAction119#action for (self: Object, Parser) */
8375 void VIRTUAL_parser__ReduceAction119__action(val* self, val* p0) {
8376 parser__ReduceAction119__action(self, p0);
8377 RET_LABEL:;
8378 }
8379 /* method parser#ReduceAction121#action for (self: ReduceAction121, Parser) */
8380 void parser__ReduceAction121__action(val* self, val* p0) {
8381 val* var_p /* var p: Parser */;
8382 val* var /* : null */;
8383 val* var_node_list /* var node_list: nullable Object */;
8384 val* var1 /* : nullable Object */;
8385 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8386 val* var2 /* : nullable Object */;
8387 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8388 val* var3 /* : nullable Object */;
8389 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8390 val* var4 /* : nullable Object */;
8391 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8392 val* var5 /* : nullable Object */;
8393 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8394 val* var6 /* : nullable Object */;
8395 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8396 val* var7 /* : nullable Object */;
8397 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8398 val* var8 /* : nullable Object */;
8399 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8400 val* var9 /* : nullable Object */;
8401 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8402 val* var10 /* : Array[Object] */;
8403 val* var_listnode7 /* var listnode7: Array[Object] */;
8404 val* var11 /* : Array[Object] */;
8405 val* var_listnode15 /* var listnode15: Array[Object] */;
8406 val* var12 /* : Array[Object] */;
8407 val* var_listnode16 /* var listnode16: Array[Object] */;
8408 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8409 short int var13 /* : Bool */;
8410 int cltype;
8411 int idtype;
8412 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8413 short int var14 /* : Bool */;
8414 int cltype15;
8415 int idtype16;
8416 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8417 short int var17 /* : Bool */;
8418 int cltype18;
8419 int idtype19;
8420 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8421 short int var20 /* : Bool */;
8422 int cltype21;
8423 int idtype22;
8424 val* var23 /* : Array[Object] */;
8425 val* var_listnode12 /* var listnode12: Array[Object] */;
8426 val* var_listnode11 /* var listnode11: nullable Object */;
8427 short int var24 /* : Bool */;
8428 int cltype25;
8429 int idtype26;
8430 val* var27 /* : Array[Object] */;
8431 val* var28 /* : AAnnotations */;
8432 val* var29 /* : null */;
8433 val* var30 /* : null */;
8434 val* var31 /* : null */;
8435 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
8436 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
8437 short int var32 /* : Bool */;
8438 int cltype33;
8439 int idtype34;
8440 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
8441 short int var35 /* : Bool */;
8442 int cltype36;
8443 int idtype37;
8444 val* var38 /* : AStdClassdef */;
8445 val* var39 /* : null */;
8446 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8447 long var40 /* : Int */;
8448 long var41 /* : Int */;
8449 var_p = p0;
8450 var = NULL;
8451 var_node_list = var;
8452 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8453 var_nodearraylist9 = var1;
8454 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8455 var_nodearraylist8 = var2;
8456 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8457 var_nodearraylist7 = var3;
8458 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8459 var_nodearraylist6 = var4;
8460 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8461 var_nodearraylist5 = var5;
8462 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8463 var_nodearraylist4 = var6;
8464 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8465 var_nodearraylist3 = var7;
8466 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8467 var_nodearraylist2 = var8;
8468 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8469 var_nodearraylist1 = var9;
8470 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
8471 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
8472 var_listnode7 = var10;
8473 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
8474 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
8475 var_listnode15 = var11;
8476 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8477 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8478 var_listnode16 = var12;
8479 var_pdocnode2 = var_nodearraylist1;
8480 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8481 cltype = type_nullable_parser_nodes__ADoc.color;
8482 idtype = type_nullable_parser_nodes__ADoc.id;
8483 if(var_pdocnode2 == NULL) {
8484 var13 = 1;
8485 } else {
8486 if(cltype >= var_pdocnode2->type->table_size) {
8487 var13 = 0;
8488 } else {
8489 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
8490 }
8491 }
8492 if (!var13) {
8493 fprintf(stderr, "Runtime error: %s", "Assert failed");
8494 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6031);
8495 show_backtrace(1);
8496 }
8497 var_pvisibilitynode4 = var_nodearraylist2;
8498 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8499 cltype15 = type_nullable_parser_nodes__AVisibility.color;
8500 idtype16 = type_nullable_parser_nodes__AVisibility.id;
8501 if(var_pvisibilitynode4 == NULL) {
8502 var14 = 1;
8503 } else {
8504 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
8505 var14 = 0;
8506 } else {
8507 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
8508 }
8509 }
8510 if (!var14) {
8511 fprintf(stderr, "Runtime error: %s", "Assert failed");
8512 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6033);
8513 show_backtrace(1);
8514 }
8515 var_pclasskindnode5 = var_nodearraylist3;
8516 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8517 cltype18 = type_nullable_parser_nodes__AClasskind.color;
8518 idtype19 = type_nullable_parser_nodes__AClasskind.id;
8519 if(var_pclasskindnode5 == NULL) {
8520 var17 = 1;
8521 } else {
8522 if(cltype18 >= var_pclasskindnode5->type->table_size) {
8523 var17 = 0;
8524 } else {
8525 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
8526 }
8527 }
8528 if (!var17) {
8529 fprintf(stderr, "Runtime error: %s", "Assert failed");
8530 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6035);
8531 show_backtrace(1);
8532 }
8533 var_tclassidnode6 = var_nodearraylist5;
8534 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8535 cltype21 = type_nullable_parser_nodes__TClassid.color;
8536 idtype22 = type_nullable_parser_nodes__TClassid.id;
8537 if(var_tclassidnode6 == NULL) {
8538 var20 = 1;
8539 } else {
8540 if(cltype21 >= var_tclassidnode6->type->table_size) {
8541 var20 = 0;
8542 } else {
8543 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
8544 }
8545 }
8546 if (!var20) {
8547 fprintf(stderr, "Runtime error: %s", "Assert failed");
8548 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6037);
8549 show_backtrace(1);
8550 }
8551 var23 = NEW_array__Array(&type_array__Arraykernel__Object);
8552 ((void (*)(val*))(var23->class->vft[COLOR_array__Array__init]))(var23) /* init on <var23:Array[Object]>*/;
8553 var_listnode12 = var23;
8554 var_listnode11 = var_nodearraylist6;
8555 /* <var_listnode11:nullable Object> isa Array[Object] */
8556 cltype25 = type_array__Arraykernel__Object.color;
8557 idtype26 = type_array__Arraykernel__Object.id;
8558 if(var_listnode11 == NULL) {
8559 var24 = 0;
8560 } else {
8561 if(cltype25 >= var_listnode11->type->table_size) {
8562 var24 = 0;
8563 } else {
8564 var24 = var_listnode11->type->type_table[cltype25] == idtype26;
8565 }
8566 }
8567 if (!var24) {
8568 fprintf(stderr, "Runtime error: %s", "Assert failed");
8569 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6040);
8570 show_backtrace(1);
8571 }
8572 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction121>*/;
8573 var_listnode12 = var27;
8574 var28 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
8575 var29 = NULL;
8576 var30 = NULL;
8577 var31 = NULL;
8578 ((void (*)(val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var28, var29, var30, var_listnode12, var31) /* init_aannotations on <var28:AAnnotations>*/;
8579 var_pannotationsnode8 = var28;
8580 var_pexterncodeblocknode14 = var_nodearraylist7;
8581 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
8582 cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color;
8583 idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id;
8584 if(var_pexterncodeblocknode14 == NULL) {
8585 var32 = 1;
8586 } else {
8587 if(cltype33 >= var_pexterncodeblocknode14->type->table_size) {
8588 var32 = 0;
8589 } else {
8590 var32 = var_pexterncodeblocknode14->type->type_table[cltype33] == idtype34;
8591 }
8592 }
8593 if (!var32) {
8594 fprintf(stderr, "Runtime error: %s", "Assert failed");
8595 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6049);
8596 show_backtrace(1);
8597 }
8598 var_tkwendnode17 = var_nodearraylist9;
8599 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
8600 cltype36 = type_nullable_parser_nodes__TKwend.color;
8601 idtype37 = type_nullable_parser_nodes__TKwend.id;
8602 if(var_tkwendnode17 == NULL) {
8603 var35 = 1;
8604 } else {
8605 if(cltype36 >= var_tkwendnode17->type->table_size) {
8606 var35 = 0;
8607 } else {
8608 var35 = var_tkwendnode17->type->type_table[cltype36] == idtype37;
8609 }
8610 }
8611 if (!var35) {
8612 fprintf(stderr, "Runtime error: %s", "Assert failed");
8613 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6051);
8614 show_backtrace(1);
8615 }
8616 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8617 var39 = NULL;
8618 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var39, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var38:AStdClassdef>*/;
8619 var_pclassdefnode1 = var38;
8620 var_node_list = var_pclassdefnode1;
8621 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction121> */
8622 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
8623 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
8624 RET_LABEL:;
8625 }
8626 /* method parser#ReduceAction121#action for (self: Object, Parser) */
8627 void VIRTUAL_parser__ReduceAction121__action(val* self, val* p0) {
8628 parser__ReduceAction121__action(self, p0);
8629 RET_LABEL:;
8630 }
8631 /* method parser#ReduceAction122#action for (self: ReduceAction122, Parser) */
8632 void parser__ReduceAction122__action(val* self, val* p0) {
8633 val* var_p /* var p: Parser */;
8634 val* var /* : null */;
8635 val* var_node_list /* var node_list: nullable Object */;
8636 val* var1 /* : nullable Object */;
8637 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8638 val* var2 /* : nullable Object */;
8639 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8640 val* var3 /* : nullable Object */;
8641 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8642 val* var4 /* : nullable Object */;
8643 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8644 val* var5 /* : nullable Object */;
8645 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8646 val* var6 /* : nullable Object */;
8647 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8648 val* var7 /* : nullable Object */;
8649 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8650 val* var8 /* : nullable Object */;
8651 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8652 val* var9 /* : nullable Object */;
8653 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8654 val* var10 /* : nullable Object */;
8655 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8656 val* var11 /* : Array[Object] */;
8657 val* var_listnode7 /* var listnode7: Array[Object] */;
8658 val* var12 /* : Array[Object] */;
8659 val* var_listnode15 /* var listnode15: Array[Object] */;
8660 val* var13 /* : Array[Object] */;
8661 val* var_listnode16 /* var listnode16: Array[Object] */;
8662 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8663 short int var14 /* : Bool */;
8664 int cltype;
8665 int idtype;
8666 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8667 short int var15 /* : Bool */;
8668 int cltype16;
8669 int idtype17;
8670 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8671 short int var18 /* : Bool */;
8672 int cltype19;
8673 int idtype20;
8674 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8675 short int var21 /* : Bool */;
8676 int cltype22;
8677 int idtype23;
8678 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8679 short int var24 /* : Bool */;
8680 int cltype25;
8681 int idtype26;
8682 val* var27 /* : Array[Object] */;
8683 val* var_listnode12 /* var listnode12: Array[Object] */;
8684 val* var_listnode11 /* var listnode11: nullable Object */;
8685 short int var28 /* : Bool */;
8686 int cltype29;
8687 int idtype30;
8688 val* var31 /* : Array[Object] */;
8689 val* var32 /* : AAnnotations */;
8690 val* var33 /* : null */;
8691 val* var34 /* : null */;
8692 val* var35 /* : null */;
8693 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
8694 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
8695 short int var36 /* : Bool */;
8696 int cltype37;
8697 int idtype38;
8698 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
8699 short int var39 /* : Bool */;
8700 int cltype40;
8701 int idtype41;
8702 val* var42 /* : AStdClassdef */;
8703 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8704 long var43 /* : Int */;
8705 long var44 /* : Int */;
8706 var_p = p0;
8707 var = NULL;
8708 var_node_list = var;
8709 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8710 var_nodearraylist10 = var1;
8711 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8712 var_nodearraylist9 = var2;
8713 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8714 var_nodearraylist8 = var3;
8715 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8716 var_nodearraylist7 = var4;
8717 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8718 var_nodearraylist6 = var5;
8719 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8720 var_nodearraylist5 = var6;
8721 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8722 var_nodearraylist4 = var7;
8723 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8724 var_nodearraylist3 = var8;
8725 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8726 var_nodearraylist2 = var9;
8727 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8728 var_nodearraylist1 = var10;
8729 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
8730 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
8731 var_listnode7 = var11;
8732 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8733 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8734 var_listnode15 = var12;
8735 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8736 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8737 var_listnode16 = var13;
8738 var_pdocnode2 = var_nodearraylist1;
8739 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8740 cltype = type_nullable_parser_nodes__ADoc.color;
8741 idtype = type_nullable_parser_nodes__ADoc.id;
8742 if(var_pdocnode2 == NULL) {
8743 var14 = 1;
8744 } else {
8745 if(cltype >= var_pdocnode2->type->table_size) {
8746 var14 = 0;
8747 } else {
8748 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
8749 }
8750 }
8751 if (!var14) {
8752 fprintf(stderr, "Runtime error: %s", "Assert failed");
8753 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6088);
8754 show_backtrace(1);
8755 }
8756 var_tkwredefnode3 = var_nodearraylist2;
8757 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8758 cltype16 = type_nullable_parser_nodes__TKwredef.color;
8759 idtype17 = type_nullable_parser_nodes__TKwredef.id;
8760 if(var_tkwredefnode3 == NULL) {
8761 var15 = 1;
8762 } else {
8763 if(cltype16 >= var_tkwredefnode3->type->table_size) {
8764 var15 = 0;
8765 } else {
8766 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
8767 }
8768 }
8769 if (!var15) {
8770 fprintf(stderr, "Runtime error: %s", "Assert failed");
8771 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6090);
8772 show_backtrace(1);
8773 }
8774 var_pvisibilitynode4 = var_nodearraylist3;
8775 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8776 cltype19 = type_nullable_parser_nodes__AVisibility.color;
8777 idtype20 = type_nullable_parser_nodes__AVisibility.id;
8778 if(var_pvisibilitynode4 == NULL) {
8779 var18 = 1;
8780 } else {
8781 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
8782 var18 = 0;
8783 } else {
8784 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
8785 }
8786 }
8787 if (!var18) {
8788 fprintf(stderr, "Runtime error: %s", "Assert failed");
8789 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6092);
8790 show_backtrace(1);
8791 }
8792 var_pclasskindnode5 = var_nodearraylist4;
8793 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8794 cltype22 = type_nullable_parser_nodes__AClasskind.color;
8795 idtype23 = type_nullable_parser_nodes__AClasskind.id;
8796 if(var_pclasskindnode5 == NULL) {
8797 var21 = 1;
8798 } else {
8799 if(cltype22 >= var_pclasskindnode5->type->table_size) {
8800 var21 = 0;
8801 } else {
8802 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
8803 }
8804 }
8805 if (!var21) {
8806 fprintf(stderr, "Runtime error: %s", "Assert failed");
8807 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6094);
8808 show_backtrace(1);
8809 }
8810 var_tclassidnode6 = var_nodearraylist6;
8811 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8812 cltype25 = type_nullable_parser_nodes__TClassid.color;
8813 idtype26 = type_nullable_parser_nodes__TClassid.id;
8814 if(var_tclassidnode6 == NULL) {
8815 var24 = 1;
8816 } else {
8817 if(cltype25 >= var_tclassidnode6->type->table_size) {
8818 var24 = 0;
8819 } else {
8820 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
8821 }
8822 }
8823 if (!var24) {
8824 fprintf(stderr, "Runtime error: %s", "Assert failed");
8825 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6096);
8826 show_backtrace(1);
8827 }
8828 var27 = NEW_array__Array(&type_array__Arraykernel__Object);
8829 ((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on <var27:Array[Object]>*/;
8830 var_listnode12 = var27;
8831 var_listnode11 = var_nodearraylist7;
8832 /* <var_listnode11:nullable Object> isa Array[Object] */
8833 cltype29 = type_array__Arraykernel__Object.color;
8834 idtype30 = type_array__Arraykernel__Object.id;
8835 if(var_listnode11 == NULL) {
8836 var28 = 0;
8837 } else {
8838 if(cltype29 >= var_listnode11->type->table_size) {
8839 var28 = 0;
8840 } else {
8841 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
8842 }
8843 }
8844 if (!var28) {
8845 fprintf(stderr, "Runtime error: %s", "Assert failed");
8846 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6099);
8847 show_backtrace(1);
8848 }
8849 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction122>*/;
8850 var_listnode12 = var31;
8851 var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
8852 var33 = NULL;
8853 var34 = NULL;
8854 var35 = NULL;
8855 ((void (*)(val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var32, var33, var34, var_listnode12, var35) /* init_aannotations on <var32:AAnnotations>*/;
8856 var_pannotationsnode8 = var32;
8857 var_pexterncodeblocknode14 = var_nodearraylist8;
8858 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
8859 cltype37 = type_nullable_parser_nodes__AExternCodeBlock.color;
8860 idtype38 = type_nullable_parser_nodes__AExternCodeBlock.id;
8861 if(var_pexterncodeblocknode14 == NULL) {
8862 var36 = 1;
8863 } else {
8864 if(cltype37 >= var_pexterncodeblocknode14->type->table_size) {
8865 var36 = 0;
8866 } else {
8867 var36 = var_pexterncodeblocknode14->type->type_table[cltype37] == idtype38;
8868 }
8869 }
8870 if (!var36) {
8871 fprintf(stderr, "Runtime error: %s", "Assert failed");
8872 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6108);
8873 show_backtrace(1);
8874 }
8875 var_tkwendnode17 = var_nodearraylist10;
8876 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
8877 cltype40 = type_nullable_parser_nodes__TKwend.color;
8878 idtype41 = type_nullable_parser_nodes__TKwend.id;
8879 if(var_tkwendnode17 == NULL) {
8880 var39 = 1;
8881 } else {
8882 if(cltype40 >= var_tkwendnode17->type->table_size) {
8883 var39 = 0;
8884 } else {
8885 var39 = var_tkwendnode17->type->type_table[cltype40] == idtype41;
8886 }
8887 }
8888 if (!var39) {
8889 fprintf(stderr, "Runtime error: %s", "Assert failed");
8890 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6110);
8891 show_backtrace(1);
8892 }
8893 var42 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8894 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var42->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var42, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var42:AStdClassdef>*/;
8895 var_pclassdefnode1 = var42;
8896 var_node_list = var_pclassdefnode1;
8897 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction122> */
8898 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
8899 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
8900 RET_LABEL:;
8901 }
8902 /* method parser#ReduceAction122#action for (self: Object, Parser) */
8903 void VIRTUAL_parser__ReduceAction122__action(val* self, val* p0) {
8904 parser__ReduceAction122__action(self, p0);
8905 RET_LABEL:;
8906 }
8907 /* method parser#ReduceAction123#action for (self: ReduceAction123, Parser) */
8908 void parser__ReduceAction123__action(val* self, val* p0) {
8909 val* var_p /* var p: Parser */;
8910 val* var /* : null */;
8911 val* var_node_list /* var node_list: nullable Object */;
8912 val* var1 /* : nullable Object */;
8913 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8914 val* var2 /* : nullable Object */;
8915 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8916 val* var3 /* : nullable Object */;
8917 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8918 val* var4 /* : nullable Object */;
8919 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8920 val* var5 /* : nullable Object */;
8921 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8922 val* var6 /* : nullable Object */;
8923 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8924 val* var7 /* : nullable Object */;
8925 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8926 val* var8 /* : nullable Object */;
8927 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8928 val* var9 /* : nullable Object */;
8929 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8930 val* var10 /* : nullable Object */;
8931 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8932 val* var11 /* : Array[Object] */;
8933 val* var_listnode7 /* var listnode7: Array[Object] */;
8934 val* var12 /* : Array[Object] */;
8935 val* var_listnode15 /* var listnode15: Array[Object] */;
8936 val* var13 /* : Array[Object] */;
8937 val* var_listnode16 /* var listnode16: Array[Object] */;
8938 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8939 short int var14 /* : Bool */;
8940 int cltype;
8941 int idtype;
8942 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8943 short int var15 /* : Bool */;
8944 int cltype16;
8945 int idtype17;
8946 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8947 short int var18 /* : Bool */;
8948 int cltype19;
8949 int idtype20;
8950 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8951 short int var21 /* : Bool */;
8952 int cltype22;
8953 int idtype23;
8954 val* var24 /* : Array[Object] */;
8955 val* var_listnode12 /* var listnode12: Array[Object] */;
8956 val* var_listnode11 /* var listnode11: nullable Object */;
8957 short int var25 /* : Bool */;
8958 int cltype26;
8959 int idtype27;
8960 val* var28 /* : Array[Object] */;
8961 val* var29 /* : AAnnotations */;
8962 val* var30 /* : null */;
8963 val* var31 /* : null */;
8964 val* var32 /* : null */;
8965 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
8966 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
8967 short int var33 /* : Bool */;
8968 int cltype34;
8969 int idtype35;
8970 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
8971 short int var36 /* : Bool */;
8972 int cltype37;
8973 int idtype38;
8974 val* var39 /* : AStdClassdef */;
8975 val* var40 /* : null */;
8976 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8977 long var41 /* : Int */;
8978 long var42 /* : Int */;
8979 var_p = p0;
8980 var = NULL;
8981 var_node_list = var;
8982 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8983 var_nodearraylist10 = var1;
8984 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8985 var_nodearraylist9 = var2;
8986 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8987 var_nodearraylist8 = var3;
8988 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8989 var_nodearraylist7 = var4;
8990 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8991 var_nodearraylist6 = var5;
8992 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8993 var_nodearraylist5 = var6;
8994 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8995 var_nodearraylist4 = var7;
8996 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8997 var_nodearraylist3 = var8;
8998 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8999 var_nodearraylist2 = var9;
9000 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9001 var_nodearraylist1 = var10;
9002 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
9003 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
9004 var_listnode7 = var11;
9005 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9006 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9007 var_listnode15 = var12;
9008 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9009 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9010 var_listnode16 = var13;
9011 var_pdocnode2 = var_nodearraylist1;
9012 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9013 cltype = type_nullable_parser_nodes__ADoc.color;
9014 idtype = type_nullable_parser_nodes__ADoc.id;
9015 if(var_pdocnode2 == NULL) {
9016 var14 = 1;
9017 } else {
9018 if(cltype >= var_pdocnode2->type->table_size) {
9019 var14 = 0;
9020 } else {
9021 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
9022 }
9023 }
9024 if (!var14) {
9025 fprintf(stderr, "Runtime error: %s", "Assert failed");
9026 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6147);
9027 show_backtrace(1);
9028 }
9029 var_pvisibilitynode4 = var_nodearraylist2;
9030 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9031 cltype16 = type_nullable_parser_nodes__AVisibility.color;
9032 idtype17 = type_nullable_parser_nodes__AVisibility.id;
9033 if(var_pvisibilitynode4 == NULL) {
9034 var15 = 1;
9035 } else {
9036 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
9037 var15 = 0;
9038 } else {
9039 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
9040 }
9041 }
9042 if (!var15) {
9043 fprintf(stderr, "Runtime error: %s", "Assert failed");
9044 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6149);
9045 show_backtrace(1);
9046 }
9047 var_pclasskindnode5 = var_nodearraylist3;
9048 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9049 cltype19 = type_nullable_parser_nodes__AClasskind.color;
9050 idtype20 = type_nullable_parser_nodes__AClasskind.id;
9051 if(var_pclasskindnode5 == NULL) {
9052 var18 = 1;
9053 } else {
9054 if(cltype19 >= var_pclasskindnode5->type->table_size) {
9055 var18 = 0;
9056 } else {
9057 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
9058 }
9059 }
9060 if (!var18) {
9061 fprintf(stderr, "Runtime error: %s", "Assert failed");
9062 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6151);
9063 show_backtrace(1);
9064 }
9065 var_tclassidnode6 = var_nodearraylist6;
9066 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9067 cltype22 = type_nullable_parser_nodes__TClassid.color;
9068 idtype23 = type_nullable_parser_nodes__TClassid.id;
9069 if(var_tclassidnode6 == NULL) {
9070 var21 = 1;
9071 } else {
9072 if(cltype22 >= var_tclassidnode6->type->table_size) {
9073 var21 = 0;
9074 } else {
9075 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
9076 }
9077 }
9078 if (!var21) {
9079 fprintf(stderr, "Runtime error: %s", "Assert failed");
9080 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6153);
9081 show_backtrace(1);
9082 }
9083 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
9084 ((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on <var24:Array[Object]>*/;
9085 var_listnode12 = var24;
9086 var_listnode11 = var_nodearraylist7;
9087 /* <var_listnode11:nullable Object> isa Array[Object] */
9088 cltype26 = type_array__Arraykernel__Object.color;
9089 idtype27 = type_array__Arraykernel__Object.id;
9090 if(var_listnode11 == NULL) {
9091 var25 = 0;
9092 } else {
9093 if(cltype26 >= var_listnode11->type->table_size) {
9094 var25 = 0;
9095 } else {
9096 var25 = var_listnode11->type->type_table[cltype26] == idtype27;
9097 }
9098 }
9099 if (!var25) {
9100 fprintf(stderr, "Runtime error: %s", "Assert failed");
9101 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6156);
9102 show_backtrace(1);
9103 }
9104 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction123>*/;
9105 var_listnode12 = var28;
9106 var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9107 var30 = NULL;
9108 var31 = NULL;
9109 var32 = NULL;
9110 ((void (*)(val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var29, var30, var31, var_listnode12, var32) /* init_aannotations on <var29:AAnnotations>*/;
9111 var_pannotationsnode8 = var29;
9112 var_pexterncodeblocknode14 = var_nodearraylist8;
9113 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
9114 cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color;
9115 idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id;
9116 if(var_pexterncodeblocknode14 == NULL) {
9117 var33 = 1;
9118 } else {
9119 if(cltype34 >= var_pexterncodeblocknode14->type->table_size) {
9120 var33 = 0;
9121 } else {
9122 var33 = var_pexterncodeblocknode14->type->type_table[cltype34] == idtype35;
9123 }
9124 }
9125 if (!var33) {
9126 fprintf(stderr, "Runtime error: %s", "Assert failed");
9127 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6165);
9128 show_backtrace(1);
9129 }
9130 var_tkwendnode17 = var_nodearraylist10;
9131 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
9132 cltype37 = type_nullable_parser_nodes__TKwend.color;
9133 idtype38 = type_nullable_parser_nodes__TKwend.id;
9134 if(var_tkwendnode17 == NULL) {
9135 var36 = 1;
9136 } else {
9137 if(cltype37 >= var_tkwendnode17->type->table_size) {
9138 var36 = 0;
9139 } else {
9140 var36 = var_tkwendnode17->type->type_table[cltype37] == idtype38;
9141 }
9142 }
9143 if (!var36) {
9144 fprintf(stderr, "Runtime error: %s", "Assert failed");
9145 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6167);
9146 show_backtrace(1);
9147 }
9148 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9149 var40 = NULL;
9150 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var40, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var39:AStdClassdef>*/;
9151 var_pclassdefnode1 = var39;
9152 var_node_list = var_pclassdefnode1;
9153 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction123> */
9154 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
9155 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
9156 RET_LABEL:;
9157 }
9158 /* method parser#ReduceAction123#action for (self: Object, Parser) */
9159 void VIRTUAL_parser__ReduceAction123__action(val* self, val* p0) {
9160 parser__ReduceAction123__action(self, p0);
9161 RET_LABEL:;
9162 }
9163 /* method parser#ReduceAction124#action for (self: ReduceAction124, Parser) */
9164 void parser__ReduceAction124__action(val* self, val* p0) {
9165 val* var_p /* var p: Parser */;
9166 val* var /* : null */;
9167 val* var_node_list /* var node_list: nullable Object */;
9168 val* var1 /* : nullable Object */;
9169 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9170 val* var2 /* : nullable Object */;
9171 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9172 val* var3 /* : nullable Object */;
9173 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9174 val* var4 /* : nullable Object */;
9175 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9176 val* var5 /* : nullable Object */;
9177 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9178 val* var6 /* : nullable Object */;
9179 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9180 val* var7 /* : nullable Object */;
9181 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9182 val* var8 /* : nullable Object */;
9183 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9184 val* var9 /* : nullable Object */;
9185 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9186 val* var10 /* : nullable Object */;
9187 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9188 val* var11 /* : nullable Object */;
9189 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9190 val* var12 /* : Array[Object] */;
9191 val* var_listnode7 /* var listnode7: Array[Object] */;
9192 val* var13 /* : Array[Object] */;
9193 val* var_listnode15 /* var listnode15: Array[Object] */;
9194 val* var14 /* : Array[Object] */;
9195 val* var_listnode16 /* var listnode16: Array[Object] */;
9196 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9197 short int var15 /* : Bool */;
9198 int cltype;
9199 int idtype;
9200 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9201 short int var16 /* : Bool */;
9202 int cltype17;
9203 int idtype18;
9204 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9205 short int var19 /* : Bool */;
9206 int cltype20;
9207 int idtype21;
9208 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9209 short int var22 /* : Bool */;
9210 int cltype23;
9211 int idtype24;
9212 val* var25 /* : Array[Object] */;
9213 val* var_listnode12 /* var listnode12: Array[Object] */;
9214 val* var_listnode11 /* var listnode11: nullable Object */;
9215 short int var26 /* : Bool */;
9216 int cltype27;
9217 int idtype28;
9218 val* var29 /* : Array[Object] */;
9219 val* var30 /* : AAnnotations */;
9220 val* var31 /* : null */;
9221 val* var32 /* : null */;
9222 val* var33 /* : null */;
9223 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
9224 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
9225 short int var34 /* : Bool */;
9226 int cltype35;
9227 int idtype36;
9228 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
9229 short int var37 /* : Bool */;
9230 int cltype38;
9231 int idtype39;
9232 val* var40 /* : AStdClassdef */;
9233 val* var41 /* : null */;
9234 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9235 long var42 /* : Int */;
9236 long var43 /* : Int */;
9237 var_p = p0;
9238 var = NULL;
9239 var_node_list = var;
9240 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9241 var_nodearraylist11 = var1;
9242 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9243 var_nodearraylist10 = var2;
9244 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9245 var_nodearraylist9 = var3;
9246 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9247 var_nodearraylist8 = var4;
9248 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9249 var_nodearraylist7 = var5;
9250 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9251 var_nodearraylist6 = var6;
9252 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9253 var_nodearraylist5 = var7;
9254 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9255 var_nodearraylist4 = var8;
9256 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9257 var_nodearraylist3 = var9;
9258 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9259 var_nodearraylist2 = var10;
9260 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9261 var_nodearraylist1 = var11;
9262 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9263 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9264 var_listnode7 = var12;
9265 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9266 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9267 var_listnode15 = var13;
9268 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9269 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9270 var_listnode16 = var14;
9271 var_pdocnode2 = var_nodearraylist1;
9272 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9273 cltype = type_nullable_parser_nodes__ADoc.color;
9274 idtype = type_nullable_parser_nodes__ADoc.id;
9275 if(var_pdocnode2 == NULL) {
9276 var15 = 1;
9277 } else {
9278 if(cltype >= var_pdocnode2->type->table_size) {
9279 var15 = 0;
9280 } else {
9281 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
9282 }
9283 }
9284 if (!var15) {
9285 fprintf(stderr, "Runtime error: %s", "Assert failed");
9286 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6205);
9287 show_backtrace(1);
9288 }
9289 var_pvisibilitynode4 = var_nodearraylist2;
9290 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9291 cltype17 = type_nullable_parser_nodes__AVisibility.color;
9292 idtype18 = type_nullable_parser_nodes__AVisibility.id;
9293 if(var_pvisibilitynode4 == NULL) {
9294 var16 = 1;
9295 } else {
9296 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
9297 var16 = 0;
9298 } else {
9299 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
9300 }
9301 }
9302 if (!var16) {
9303 fprintf(stderr, "Runtime error: %s", "Assert failed");
9304 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6207);
9305 show_backtrace(1);
9306 }
9307 var_pclasskindnode5 = var_nodearraylist3;
9308 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9309 cltype20 = type_nullable_parser_nodes__AClasskind.color;
9310 idtype21 = type_nullable_parser_nodes__AClasskind.id;
9311 if(var_pclasskindnode5 == NULL) {
9312 var19 = 1;
9313 } else {
9314 if(cltype20 >= var_pclasskindnode5->type->table_size) {
9315 var19 = 0;
9316 } else {
9317 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
9318 }
9319 }
9320 if (!var19) {
9321 fprintf(stderr, "Runtime error: %s", "Assert failed");
9322 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6209);
9323 show_backtrace(1);
9324 }
9325 var_tclassidnode6 = var_nodearraylist7;
9326 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9327 cltype23 = type_nullable_parser_nodes__TClassid.color;
9328 idtype24 = type_nullable_parser_nodes__TClassid.id;
9329 if(var_tclassidnode6 == NULL) {
9330 var22 = 1;
9331 } else {
9332 if(cltype23 >= var_tclassidnode6->type->table_size) {
9333 var22 = 0;
9334 } else {
9335 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
9336 }
9337 }
9338 if (!var22) {
9339 fprintf(stderr, "Runtime error: %s", "Assert failed");
9340 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6211);
9341 show_backtrace(1);
9342 }
9343 var25 = NEW_array__Array(&type_array__Arraykernel__Object);
9344 ((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on <var25:Array[Object]>*/;
9345 var_listnode12 = var25;
9346 var_listnode11 = var_nodearraylist8;
9347 /* <var_listnode11:nullable Object> isa Array[Object] */
9348 cltype27 = type_array__Arraykernel__Object.color;
9349 idtype28 = type_array__Arraykernel__Object.id;
9350 if(var_listnode11 == NULL) {
9351 var26 = 0;
9352 } else {
9353 if(cltype27 >= var_listnode11->type->table_size) {
9354 var26 = 0;
9355 } else {
9356 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
9357 }
9358 }
9359 if (!var26) {
9360 fprintf(stderr, "Runtime error: %s", "Assert failed");
9361 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6214);
9362 show_backtrace(1);
9363 }
9364 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction124>*/;
9365 var_listnode12 = var29;
9366 var30 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9367 var31 = NULL;
9368 var32 = NULL;
9369 var33 = NULL;
9370 ((void (*)(val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var30, var31, var32, var_listnode12, var33) /* init_aannotations on <var30:AAnnotations>*/;
9371 var_pannotationsnode8 = var30;
9372 var_pexterncodeblocknode14 = var_nodearraylist9;
9373 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
9374 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
9375 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
9376 if(var_pexterncodeblocknode14 == NULL) {
9377 var34 = 1;
9378 } else {
9379 if(cltype35 >= var_pexterncodeblocknode14->type->table_size) {
9380 var34 = 0;
9381 } else {
9382 var34 = var_pexterncodeblocknode14->type->type_table[cltype35] == idtype36;
9383 }
9384 }
9385 if (!var34) {
9386 fprintf(stderr, "Runtime error: %s", "Assert failed");
9387 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6223);
9388 show_backtrace(1);
9389 }
9390 var_tkwendnode17 = var_nodearraylist11;
9391 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
9392 cltype38 = type_nullable_parser_nodes__TKwend.color;
9393 idtype39 = type_nullable_parser_nodes__TKwend.id;
9394 if(var_tkwendnode17 == NULL) {
9395 var37 = 1;
9396 } else {
9397 if(cltype38 >= var_tkwendnode17->type->table_size) {
9398 var37 = 0;
9399 } else {
9400 var37 = var_tkwendnode17->type->type_table[cltype38] == idtype39;
9401 }
9402 }
9403 if (!var37) {
9404 fprintf(stderr, "Runtime error: %s", "Assert failed");
9405 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6225);
9406 show_backtrace(1);
9407 }
9408 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9409 var41 = NULL;
9410 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var41, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var40:AStdClassdef>*/;
9411 var_pclassdefnode1 = var40;
9412 var_node_list = var_pclassdefnode1;
9413 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction124> */
9414 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
9415 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
9416 RET_LABEL:;
9417 }
9418 /* method parser#ReduceAction124#action for (self: Object, Parser) */
9419 void VIRTUAL_parser__ReduceAction124__action(val* self, val* p0) {
9420 parser__ReduceAction124__action(self, p0);
9421 RET_LABEL:;
9422 }
9423 /* method parser#ReduceAction126#action for (self: ReduceAction126, Parser) */
9424 void parser__ReduceAction126__action(val* self, val* p0) {
9425 val* var_p /* var p: Parser */;
9426 val* var /* : null */;
9427 val* var_node_list /* var node_list: nullable Object */;
9428 val* var1 /* : nullable Object */;
9429 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9430 val* var2 /* : nullable Object */;
9431 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9432 val* var3 /* : nullable Object */;
9433 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9434 val* var4 /* : nullable Object */;
9435 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9436 val* var5 /* : nullable Object */;
9437 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9438 val* var6 /* : nullable Object */;
9439 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9440 val* var7 /* : nullable Object */;
9441 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9442 val* var8 /* : nullable Object */;
9443 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9444 val* var9 /* : nullable Object */;
9445 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9446 val* var10 /* : nullable Object */;
9447 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9448 val* var11 /* : nullable Object */;
9449 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9450 val* var12 /* : Array[Object] */;
9451 val* var_listnode7 /* var listnode7: Array[Object] */;
9452 val* var13 /* : Array[Object] */;
9453 val* var_listnode15 /* var listnode15: Array[Object] */;
9454 val* var14 /* : Array[Object] */;
9455 val* var_listnode16 /* var listnode16: Array[Object] */;
9456 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9457 short int var15 /* : Bool */;
9458 int cltype;
9459 int idtype;
9460 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9461 short int var16 /* : Bool */;
9462 int cltype17;
9463 int idtype18;
9464 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9465 short int var19 /* : Bool */;
9466 int cltype20;
9467 int idtype21;
9468 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9469 short int var22 /* : Bool */;
9470 int cltype23;
9471 int idtype24;
9472 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9473 short int var25 /* : Bool */;
9474 int cltype26;
9475 int idtype27;
9476 val* var28 /* : Array[Object] */;
9477 val* var_listnode12 /* var listnode12: Array[Object] */;
9478 val* var_listnode11 /* var listnode11: nullable Object */;
9479 short int var29 /* : Bool */;
9480 int cltype30;
9481 int idtype31;
9482 val* var32 /* : Array[Object] */;
9483 val* var33 /* : AAnnotations */;
9484 val* var34 /* : null */;
9485 val* var35 /* : null */;
9486 val* var36 /* : null */;
9487 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
9488 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
9489 short int var37 /* : Bool */;
9490 int cltype38;
9491 int idtype39;
9492 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
9493 short int var40 /* : Bool */;
9494 int cltype41;
9495 int idtype42;
9496 val* var43 /* : AStdClassdef */;
9497 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9498 long var44 /* : Int */;
9499 long var45 /* : Int */;
9500 var_p = p0;
9501 var = NULL;
9502 var_node_list = var;
9503 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9504 var_nodearraylist11 = var1;
9505 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9506 var_nodearraylist10 = var2;
9507 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9508 var_nodearraylist9 = var3;
9509 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9510 var_nodearraylist8 = var4;
9511 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9512 var_nodearraylist7 = var5;
9513 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9514 var_nodearraylist6 = var6;
9515 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9516 var_nodearraylist5 = var7;
9517 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9518 var_nodearraylist4 = var8;
9519 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9520 var_nodearraylist3 = var9;
9521 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9522 var_nodearraylist2 = var10;
9523 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9524 var_nodearraylist1 = var11;
9525 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9526 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9527 var_listnode7 = var12;
9528 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9529 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9530 var_listnode15 = var13;
9531 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9532 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9533 var_listnode16 = var14;
9534 var_pdocnode2 = var_nodearraylist1;
9535 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9536 cltype = type_nullable_parser_nodes__ADoc.color;
9537 idtype = type_nullable_parser_nodes__ADoc.id;
9538 if(var_pdocnode2 == NULL) {
9539 var15 = 1;
9540 } else {
9541 if(cltype >= var_pdocnode2->type->table_size) {
9542 var15 = 0;
9543 } else {
9544 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
9545 }
9546 }
9547 if (!var15) {
9548 fprintf(stderr, "Runtime error: %s", "Assert failed");
9549 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6263);
9550 show_backtrace(1);
9551 }
9552 var_tkwredefnode3 = var_nodearraylist2;
9553 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9554 cltype17 = type_nullable_parser_nodes__TKwredef.color;
9555 idtype18 = type_nullable_parser_nodes__TKwredef.id;
9556 if(var_tkwredefnode3 == NULL) {
9557 var16 = 1;
9558 } else {
9559 if(cltype17 >= var_tkwredefnode3->type->table_size) {
9560 var16 = 0;
9561 } else {
9562 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
9563 }
9564 }
9565 if (!var16) {
9566 fprintf(stderr, "Runtime error: %s", "Assert failed");
9567 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6265);
9568 show_backtrace(1);
9569 }
9570 var_pvisibilitynode4 = var_nodearraylist3;
9571 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9572 cltype20 = type_nullable_parser_nodes__AVisibility.color;
9573 idtype21 = type_nullable_parser_nodes__AVisibility.id;
9574 if(var_pvisibilitynode4 == NULL) {
9575 var19 = 1;
9576 } else {
9577 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
9578 var19 = 0;
9579 } else {
9580 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
9581 }
9582 }
9583 if (!var19) {
9584 fprintf(stderr, "Runtime error: %s", "Assert failed");
9585 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6267);
9586 show_backtrace(1);
9587 }
9588 var_pclasskindnode5 = var_nodearraylist4;
9589 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9590 cltype23 = type_nullable_parser_nodes__AClasskind.color;
9591 idtype24 = type_nullable_parser_nodes__AClasskind.id;
9592 if(var_pclasskindnode5 == NULL) {
9593 var22 = 1;
9594 } else {
9595 if(cltype23 >= var_pclasskindnode5->type->table_size) {
9596 var22 = 0;
9597 } else {
9598 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
9599 }
9600 }
9601 if (!var22) {
9602 fprintf(stderr, "Runtime error: %s", "Assert failed");
9603 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6269);
9604 show_backtrace(1);
9605 }
9606 var_tclassidnode6 = var_nodearraylist7;
9607 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9608 cltype26 = type_nullable_parser_nodes__TClassid.color;
9609 idtype27 = type_nullable_parser_nodes__TClassid.id;
9610 if(var_tclassidnode6 == NULL) {
9611 var25 = 1;
9612 } else {
9613 if(cltype26 >= var_tclassidnode6->type->table_size) {
9614 var25 = 0;
9615 } else {
9616 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
9617 }
9618 }
9619 if (!var25) {
9620 fprintf(stderr, "Runtime error: %s", "Assert failed");
9621 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6271);
9622 show_backtrace(1);
9623 }
9624 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
9625 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
9626 var_listnode12 = var28;
9627 var_listnode11 = var_nodearraylist8;
9628 /* <var_listnode11:nullable Object> isa Array[Object] */
9629 cltype30 = type_array__Arraykernel__Object.color;
9630 idtype31 = type_array__Arraykernel__Object.id;
9631 if(var_listnode11 == NULL) {
9632 var29 = 0;
9633 } else {
9634 if(cltype30 >= var_listnode11->type->table_size) {
9635 var29 = 0;
9636 } else {
9637 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
9638 }
9639 }
9640 if (!var29) {
9641 fprintf(stderr, "Runtime error: %s", "Assert failed");
9642 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6274);
9643 show_backtrace(1);
9644 }
9645 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction126>*/;
9646 var_listnode12 = var32;
9647 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9648 var34 = NULL;
9649 var35 = NULL;
9650 var36 = NULL;
9651 ((void (*)(val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var33, var34, var35, var_listnode12, var36) /* init_aannotations on <var33:AAnnotations>*/;
9652 var_pannotationsnode8 = var33;
9653 var_pexterncodeblocknode14 = var_nodearraylist9;
9654 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
9655 cltype38 = type_nullable_parser_nodes__AExternCodeBlock.color;
9656 idtype39 = type_nullable_parser_nodes__AExternCodeBlock.id;
9657 if(var_pexterncodeblocknode14 == NULL) {
9658 var37 = 1;
9659 } else {
9660 if(cltype38 >= var_pexterncodeblocknode14->type->table_size) {
9661 var37 = 0;
9662 } else {
9663 var37 = var_pexterncodeblocknode14->type->type_table[cltype38] == idtype39;
9664 }
9665 }
9666 if (!var37) {
9667 fprintf(stderr, "Runtime error: %s", "Assert failed");
9668 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6283);
9669 show_backtrace(1);
9670 }
9671 var_tkwendnode17 = var_nodearraylist11;
9672 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
9673 cltype41 = type_nullable_parser_nodes__TKwend.color;
9674 idtype42 = type_nullable_parser_nodes__TKwend.id;
9675 if(var_tkwendnode17 == NULL) {
9676 var40 = 1;
9677 } else {
9678 if(cltype41 >= var_tkwendnode17->type->table_size) {
9679 var40 = 0;
9680 } else {
9681 var40 = var_tkwendnode17->type->type_table[cltype41] == idtype42;
9682 }
9683 }
9684 if (!var40) {
9685 fprintf(stderr, "Runtime error: %s", "Assert failed");
9686 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6285);
9687 show_backtrace(1);
9688 }
9689 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9690 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var43:AStdClassdef>*/;
9691 var_pclassdefnode1 = var43;
9692 var_node_list = var_pclassdefnode1;
9693 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction126> */
9694 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
9695 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
9696 RET_LABEL:;
9697 }
9698 /* method parser#ReduceAction126#action for (self: Object, Parser) */
9699 void VIRTUAL_parser__ReduceAction126__action(val* self, val* p0) {
9700 parser__ReduceAction126__action(self, p0);
9701 RET_LABEL:;
9702 }
9703 /* method parser#ReduceAction127#action for (self: ReduceAction127, Parser) */
9704 void parser__ReduceAction127__action(val* self, val* p0) {
9705 val* var_p /* var p: Parser */;
9706 val* var /* : null */;
9707 val* var_node_list /* var node_list: nullable Object */;
9708 val* var1 /* : nullable Object */;
9709 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
9710 val* var2 /* : nullable Object */;
9711 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9712 val* var3 /* : nullable Object */;
9713 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9714 val* var4 /* : nullable Object */;
9715 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9716 val* var5 /* : nullable Object */;
9717 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9718 val* var6 /* : nullable Object */;
9719 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9720 val* var7 /* : nullable Object */;
9721 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9722 val* var8 /* : nullable Object */;
9723 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9724 val* var9 /* : nullable Object */;
9725 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9726 val* var10 /* : nullable Object */;
9727 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9728 val* var11 /* : nullable Object */;
9729 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9730 val* var12 /* : nullable Object */;
9731 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9732 val* var13 /* : Array[Object] */;
9733 val* var_listnode7 /* var listnode7: Array[Object] */;
9734 val* var14 /* : Array[Object] */;
9735 val* var_listnode15 /* var listnode15: Array[Object] */;
9736 val* var15 /* : Array[Object] */;
9737 val* var_listnode16 /* var listnode16: Array[Object] */;
9738 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9739 short int var16 /* : Bool */;
9740 int cltype;
9741 int idtype;
9742 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9743 short int var17 /* : Bool */;
9744 int cltype18;
9745 int idtype19;
9746 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9747 short int var20 /* : Bool */;
9748 int cltype21;
9749 int idtype22;
9750 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9751 short int var23 /* : Bool */;
9752 int cltype24;
9753 int idtype25;
9754 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9755 short int var26 /* : Bool */;
9756 int cltype27;
9757 int idtype28;
9758 val* var29 /* : Array[Object] */;
9759 val* var_listnode12 /* var listnode12: Array[Object] */;
9760 val* var_listnode11 /* var listnode11: nullable Object */;
9761 short int var30 /* : Bool */;
9762 int cltype31;
9763 int idtype32;
9764 val* var33 /* : Array[Object] */;
9765 val* var34 /* : AAnnotations */;
9766 val* var35 /* : null */;
9767 val* var36 /* : null */;
9768 val* var37 /* : null */;
9769 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
9770 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
9771 short int var38 /* : Bool */;
9772 int cltype39;
9773 int idtype40;
9774 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
9775 short int var41 /* : Bool */;
9776 int cltype42;
9777 int idtype43;
9778 val* var44 /* : AStdClassdef */;
9779 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9780 long var45 /* : Int */;
9781 long var46 /* : Int */;
9782 var_p = p0;
9783 var = NULL;
9784 var_node_list = var;
9785 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9786 var_nodearraylist12 = var1;
9787 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9788 var_nodearraylist11 = var2;
9789 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9790 var_nodearraylist10 = var3;
9791 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9792 var_nodearraylist9 = var4;
9793 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9794 var_nodearraylist8 = var5;
9795 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9796 var_nodearraylist7 = var6;
9797 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9798 var_nodearraylist6 = var7;
9799 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9800 var_nodearraylist5 = var8;
9801 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9802 var_nodearraylist4 = var9;
9803 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9804 var_nodearraylist3 = var10;
9805 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9806 var_nodearraylist2 = var11;
9807 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9808 var_nodearraylist1 = var12;
9809 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9810 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9811 var_listnode7 = var13;
9812 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9813 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9814 var_listnode15 = var14;
9815 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
9816 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
9817 var_listnode16 = var15;
9818 var_pdocnode2 = var_nodearraylist1;
9819 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9820 cltype = type_nullable_parser_nodes__ADoc.color;
9821 idtype = type_nullable_parser_nodes__ADoc.id;
9822 if(var_pdocnode2 == NULL) {
9823 var16 = 1;
9824 } else {
9825 if(cltype >= var_pdocnode2->type->table_size) {
9826 var16 = 0;
9827 } else {
9828 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
9829 }
9830 }
9831 if (!var16) {
9832 fprintf(stderr, "Runtime error: %s", "Assert failed");
9833 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6324);
9834 show_backtrace(1);
9835 }
9836 var_tkwredefnode3 = var_nodearraylist2;
9837 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9838 cltype18 = type_nullable_parser_nodes__TKwredef.color;
9839 idtype19 = type_nullable_parser_nodes__TKwredef.id;
9840 if(var_tkwredefnode3 == NULL) {
9841 var17 = 1;
9842 } else {
9843 if(cltype18 >= var_tkwredefnode3->type->table_size) {
9844 var17 = 0;
9845 } else {
9846 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
9847 }
9848 }
9849 if (!var17) {
9850 fprintf(stderr, "Runtime error: %s", "Assert failed");
9851 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6326);
9852 show_backtrace(1);
9853 }
9854 var_pvisibilitynode4 = var_nodearraylist3;
9855 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9856 cltype21 = type_nullable_parser_nodes__AVisibility.color;
9857 idtype22 = type_nullable_parser_nodes__AVisibility.id;
9858 if(var_pvisibilitynode4 == NULL) {
9859 var20 = 1;
9860 } else {
9861 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
9862 var20 = 0;
9863 } else {
9864 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
9865 }
9866 }
9867 if (!var20) {
9868 fprintf(stderr, "Runtime error: %s", "Assert failed");
9869 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6328);
9870 show_backtrace(1);
9871 }
9872 var_pclasskindnode5 = var_nodearraylist4;
9873 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9874 cltype24 = type_nullable_parser_nodes__AClasskind.color;
9875 idtype25 = type_nullable_parser_nodes__AClasskind.id;
9876 if(var_pclasskindnode5 == NULL) {
9877 var23 = 1;
9878 } else {
9879 if(cltype24 >= var_pclasskindnode5->type->table_size) {
9880 var23 = 0;
9881 } else {
9882 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
9883 }
9884 }
9885 if (!var23) {
9886 fprintf(stderr, "Runtime error: %s", "Assert failed");
9887 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6330);
9888 show_backtrace(1);
9889 }
9890 var_tclassidnode6 = var_nodearraylist8;
9891 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9892 cltype27 = type_nullable_parser_nodes__TClassid.color;
9893 idtype28 = type_nullable_parser_nodes__TClassid.id;
9894 if(var_tclassidnode6 == NULL) {
9895 var26 = 1;
9896 } else {
9897 if(cltype27 >= var_tclassidnode6->type->table_size) {
9898 var26 = 0;
9899 } else {
9900 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
9901 }
9902 }
9903 if (!var26) {
9904 fprintf(stderr, "Runtime error: %s", "Assert failed");
9905 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6332);
9906 show_backtrace(1);
9907 }
9908 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
9909 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
9910 var_listnode12 = var29;
9911 var_listnode11 = var_nodearraylist9;
9912 /* <var_listnode11:nullable Object> isa Array[Object] */
9913 cltype31 = type_array__Arraykernel__Object.color;
9914 idtype32 = type_array__Arraykernel__Object.id;
9915 if(var_listnode11 == NULL) {
9916 var30 = 0;
9917 } else {
9918 if(cltype31 >= var_listnode11->type->table_size) {
9919 var30 = 0;
9920 } else {
9921 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
9922 }
9923 }
9924 if (!var30) {
9925 fprintf(stderr, "Runtime error: %s", "Assert failed");
9926 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6335);
9927 show_backtrace(1);
9928 }
9929 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction127>*/;
9930 var_listnode12 = var33;
9931 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9932 var35 = NULL;
9933 var36 = NULL;
9934 var37 = NULL;
9935 ((void (*)(val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var34, var35, var36, var_listnode12, var37) /* init_aannotations on <var34:AAnnotations>*/;
9936 var_pannotationsnode8 = var34;
9937 var_pexterncodeblocknode14 = var_nodearraylist10;
9938 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
9939 cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color;
9940 idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id;
9941 if(var_pexterncodeblocknode14 == NULL) {
9942 var38 = 1;
9943 } else {
9944 if(cltype39 >= var_pexterncodeblocknode14->type->table_size) {
9945 var38 = 0;
9946 } else {
9947 var38 = var_pexterncodeblocknode14->type->type_table[cltype39] == idtype40;
9948 }
9949 }
9950 if (!var38) {
9951 fprintf(stderr, "Runtime error: %s", "Assert failed");
9952 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6344);
9953 show_backtrace(1);
9954 }
9955 var_tkwendnode17 = var_nodearraylist12;
9956 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
9957 cltype42 = type_nullable_parser_nodes__TKwend.color;
9958 idtype43 = type_nullable_parser_nodes__TKwend.id;
9959 if(var_tkwendnode17 == NULL) {
9960 var41 = 1;
9961 } else {
9962 if(cltype42 >= var_tkwendnode17->type->table_size) {
9963 var41 = 0;
9964 } else {
9965 var41 = var_tkwendnode17->type->type_table[cltype42] == idtype43;
9966 }
9967 }
9968 if (!var41) {
9969 fprintf(stderr, "Runtime error: %s", "Assert failed");
9970 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6346);
9971 show_backtrace(1);
9972 }
9973 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9974 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var44:AStdClassdef>*/;
9975 var_pclassdefnode1 = var44;
9976 var_node_list = var_pclassdefnode1;
9977 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction127> */
9978 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
9979 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
9980 RET_LABEL:;
9981 }
9982 /* method parser#ReduceAction127#action for (self: Object, Parser) */
9983 void VIRTUAL_parser__ReduceAction127__action(val* self, val* p0) {
9984 parser__ReduceAction127__action(self, p0);
9985 RET_LABEL:;
9986 }