c_src: update for kill is
[nit.git] / c_src / parser.sep.7.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction218#action for (self: ReduceAction218, Parser) */
3 void parser__ReduceAction218__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_nodearraylist10 /* var nodearraylist10: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
19 val* var7 /* : nullable Object */;
20 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
21 val* var8 /* : nullable Object */;
22 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
23 val* var9 /* : nullable Object */;
24 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
25 val* var10 /* : nullable Object */;
26 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
27 val* var11 /* : Array[Object] */;
28 val* var_listnode7 /* var listnode7: Array[Object] */;
29 val* var12 /* : Array[Object] */;
30 val* var_listnode15 /* var listnode15: Array[Object] */;
31 val* var13 /* : Array[Object] */;
32 val* var_listnode17 /* var listnode17: Array[Object] */;
33 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
34 short int var14 /* : Bool */;
35 int cltype;
36 int idtype;
37 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
38 short int var15 /* : Bool */;
39 int cltype16;
40 int idtype17;
41 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
42 short int var18 /* : Bool */;
43 int cltype19;
44 int idtype20;
45 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
46 short int var21 /* : Bool */;
47 int cltype22;
48 int idtype23;
49 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
50 short int var24 /* : Bool */;
51 int cltype25;
52 int idtype26;
53 val* var27 /* : Array[Object] */;
54 val* var_listnode12 /* var listnode12: Array[Object] */;
55 val* var_listnode11 /* var listnode11: nullable Object */;
56 short int var28 /* : Bool */;
57 int cltype29;
58 int idtype30;
59 val* var31 /* : Array[Object] */;
60 val* var32 /* : AAnnotations */;
61 val* var33 /* : null */;
62 val* var34 /* : null */;
63 val* var35 /* : null */;
64 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
65 val* var_listnode16 /* var listnode16: nullable Object */;
66 short int var36 /* : Bool */;
67 int cltype37;
68 int idtype38;
69 val* var39 /* : Array[Object] */;
70 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
71 short int var40 /* : Bool */;
72 int cltype41;
73 int idtype42;
74 val* var43 /* : AStdClassdef */;
75 val* var44 /* : null */;
76 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
77 long var45 /* : Int */;
78 long var46 /* : Int */;
79 var_p = p0;
80 var = NULL;
81 var_node_list = var;
82 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
83 var_nodearraylist10 = var1;
84 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
85 var_nodearraylist9 = var2;
86 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
87 var_nodearraylist8 = var3;
88 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
89 var_nodearraylist7 = var4;
90 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
91 var_nodearraylist6 = var5;
92 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
93 var_nodearraylist5 = var6;
94 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
95 var_nodearraylist4 = var7;
96 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
97 var_nodearraylist3 = var8;
98 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
99 var_nodearraylist2 = var9;
100 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
101 var_nodearraylist1 = var10;
102 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
103 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
104 CHECK_NEW_array__Array(var11);
105 var_listnode7 = var11;
106 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
107 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
108 CHECK_NEW_array__Array(var12);
109 var_listnode15 = var12;
110 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
111 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
112 CHECK_NEW_array__Array(var13);
113 var_listnode17 = var13;
114 var_pdocnode2 = var_nodearraylist1;
115 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
116 cltype = type_nullable_parser_nodes__ADoc.color;
117 idtype = type_nullable_parser_nodes__ADoc.id;
118 if(var_pdocnode2 == NULL) {
119 var14 = 1;
120 } else {
121 if(cltype >= var_pdocnode2->type->table_size) {
122 var14 = 0;
123 } else {
124 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
125 }
126 }
127 if (!var14) {
128 fprintf(stderr, "Runtime error: %s", "Assert failed");
129 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10193);
130 exit(1);
131 }
132 var_tkwredefnode3 = var_nodearraylist2;
133 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
134 cltype16 = type_nullable_parser_nodes__TKwredef.color;
135 idtype17 = type_nullable_parser_nodes__TKwredef.id;
136 if(var_tkwredefnode3 == NULL) {
137 var15 = 1;
138 } else {
139 if(cltype16 >= var_tkwredefnode3->type->table_size) {
140 var15 = 0;
141 } else {
142 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
143 }
144 }
145 if (!var15) {
146 fprintf(stderr, "Runtime error: %s", "Assert failed");
147 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10195);
148 exit(1);
149 }
150 var_pvisibilitynode4 = var_nodearraylist3;
151 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
152 cltype19 = type_nullable_parser_nodes__AVisibility.color;
153 idtype20 = type_nullable_parser_nodes__AVisibility.id;
154 if(var_pvisibilitynode4 == NULL) {
155 var18 = 1;
156 } else {
157 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
158 var18 = 0;
159 } else {
160 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
161 }
162 }
163 if (!var18) {
164 fprintf(stderr, "Runtime error: %s", "Assert failed");
165 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10197);
166 exit(1);
167 }
168 var_pclasskindnode5 = var_nodearraylist4;
169 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
170 cltype22 = type_nullable_parser_nodes__AClasskind.color;
171 idtype23 = type_nullable_parser_nodes__AClasskind.id;
172 if(var_pclasskindnode5 == NULL) {
173 var21 = 1;
174 } else {
175 if(cltype22 >= var_pclasskindnode5->type->table_size) {
176 var21 = 0;
177 } else {
178 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
179 }
180 }
181 if (!var21) {
182 fprintf(stderr, "Runtime error: %s", "Assert failed");
183 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10199);
184 exit(1);
185 }
186 var_tclassidnode6 = var_nodearraylist6;
187 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
188 cltype25 = type_nullable_parser_nodes__TClassid.color;
189 idtype26 = type_nullable_parser_nodes__TClassid.id;
190 if(var_tclassidnode6 == NULL) {
191 var24 = 1;
192 } else {
193 if(cltype25 >= var_tclassidnode6->type->table_size) {
194 var24 = 0;
195 } else {
196 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
197 }
198 }
199 if (!var24) {
200 fprintf(stderr, "Runtime error: %s", "Assert failed");
201 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10201);
202 exit(1);
203 }
204 var27 = NEW_array__Array(&type_array__Arraykernel__Object);
205 ((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on <var27:Array[Object]>*/;
206 CHECK_NEW_array__Array(var27);
207 var_listnode12 = var27;
208 var_listnode11 = var_nodearraylist7;
209 /* <var_listnode11:nullable Object> isa Array[Object] */
210 cltype29 = type_array__Arraykernel__Object.color;
211 idtype30 = type_array__Arraykernel__Object.id;
212 if(var_listnode11 == NULL) {
213 var28 = 0;
214 } else {
215 if(cltype29 >= var_listnode11->type->table_size) {
216 var28 = 0;
217 } else {
218 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
219 }
220 }
221 if (!var28) {
222 fprintf(stderr, "Runtime error: %s", "Assert failed");
223 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10204);
224 exit(1);
225 }
226 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction218>*/;
227 var_listnode12 = var31;
228 var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
229 var33 = NULL;
230 var34 = NULL;
231 var35 = NULL;
232 ((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>*/;
233 CHECK_NEW_parser_nodes__AAnnotations(var32);
234 var_pannotationsnode8 = var32;
235 var_listnode16 = var_nodearraylist8;
236 /* <var_listnode16:nullable Object> isa Array[Object] */
237 cltype37 = type_array__Arraykernel__Object.color;
238 idtype38 = type_array__Arraykernel__Object.id;
239 if(var_listnode16 == NULL) {
240 var36 = 0;
241 } else {
242 if(cltype37 >= var_listnode16->type->table_size) {
243 var36 = 0;
244 } else {
245 var36 = var_listnode16->type->type_table[cltype37] == idtype38;
246 }
247 }
248 if (!var36) {
249 fprintf(stderr, "Runtime error: %s", "Assert failed");
250 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10213);
251 exit(1);
252 }
253 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction218>*/;
254 var_listnode17 = var39;
255 var_tkwendnode18 = var_nodearraylist10;
256 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
257 cltype41 = type_nullable_parser_nodes__TKwend.color;
258 idtype42 = type_nullable_parser_nodes__TKwend.id;
259 if(var_tkwendnode18 == NULL) {
260 var40 = 1;
261 } else {
262 if(cltype41 >= var_tkwendnode18->type->table_size) {
263 var40 = 0;
264 } else {
265 var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42;
266 }
267 }
268 if (!var40) {
269 fprintf(stderr, "Runtime error: %s", "Assert failed");
270 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10216);
271 exit(1);
272 }
273 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
274 var44 = NULL;
275 ((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, var44, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var43:AStdClassdef>*/;
276 CHECK_NEW_parser_nodes__AStdClassdef(var43);
277 var_pclassdefnode1 = var43;
278 var_node_list = var_pclassdefnode1;
279 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction218> */
280 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
281 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
282 RET_LABEL:;
283 }
284 /* method parser#ReduceAction218#action for (self: Object, Parser) */
285 void VIRTUAL_parser__ReduceAction218__action(val* self, val* p0) {
286 parser__ReduceAction218__action(self, p0);
287 RET_LABEL:;
288 }
289 /* method parser#ReduceAction219#action for (self: ReduceAction219, Parser) */
290 void parser__ReduceAction219__action(val* self, val* p0) {
291 val* var_p /* var p: Parser */;
292 val* var /* : null */;
293 val* var_node_list /* var node_list: nullable Object */;
294 val* var1 /* : nullable Object */;
295 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
296 val* var2 /* : nullable Object */;
297 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
298 val* var3 /* : nullable Object */;
299 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
300 val* var4 /* : nullable Object */;
301 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
302 val* var5 /* : nullable Object */;
303 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
304 val* var6 /* : nullable Object */;
305 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
306 val* var7 /* : nullable Object */;
307 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
308 val* var8 /* : nullable Object */;
309 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
310 val* var9 /* : nullable Object */;
311 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
312 val* var10 /* : nullable Object */;
313 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
314 val* var11 /* : Array[Object] */;
315 val* var_listnode7 /* var listnode7: Array[Object] */;
316 val* var12 /* : Array[Object] */;
317 val* var_listnode15 /* var listnode15: Array[Object] */;
318 val* var13 /* : Array[Object] */;
319 val* var_listnode17 /* var listnode17: Array[Object] */;
320 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
321 short int var14 /* : Bool */;
322 int cltype;
323 int idtype;
324 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
325 short int var15 /* : Bool */;
326 int cltype16;
327 int idtype17;
328 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
329 short int var18 /* : Bool */;
330 int cltype19;
331 int idtype20;
332 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
333 short int var21 /* : Bool */;
334 int cltype22;
335 int idtype23;
336 val* var24 /* : Array[Object] */;
337 val* var_listnode12 /* var listnode12: Array[Object] */;
338 val* var_listnode11 /* var listnode11: nullable Object */;
339 short int var25 /* : Bool */;
340 int cltype26;
341 int idtype27;
342 val* var28 /* : Array[Object] */;
343 val* var29 /* : AAnnotations */;
344 val* var30 /* : null */;
345 val* var31 /* : null */;
346 val* var32 /* : null */;
347 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
348 val* var_listnode16 /* var listnode16: nullable Object */;
349 short int var33 /* : Bool */;
350 int cltype34;
351 int idtype35;
352 val* var36 /* : Array[Object] */;
353 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
354 short int var37 /* : Bool */;
355 int cltype38;
356 int idtype39;
357 val* var40 /* : AStdClassdef */;
358 val* var41 /* : null */;
359 val* var42 /* : null */;
360 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
361 long var43 /* : Int */;
362 long var44 /* : Int */;
363 var_p = p0;
364 var = NULL;
365 var_node_list = var;
366 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
367 var_nodearraylist10 = var1;
368 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
369 var_nodearraylist9 = var2;
370 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
371 var_nodearraylist8 = var3;
372 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
373 var_nodearraylist7 = var4;
374 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
375 var_nodearraylist6 = var5;
376 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
377 var_nodearraylist5 = var6;
378 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
379 var_nodearraylist4 = var7;
380 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
381 var_nodearraylist3 = var8;
382 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
383 var_nodearraylist2 = var9;
384 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
385 var_nodearraylist1 = var10;
386 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
387 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
388 CHECK_NEW_array__Array(var11);
389 var_listnode7 = var11;
390 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
391 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
392 CHECK_NEW_array__Array(var12);
393 var_listnode15 = var12;
394 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
395 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
396 CHECK_NEW_array__Array(var13);
397 var_listnode17 = var13;
398 var_pdocnode2 = var_nodearraylist1;
399 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
400 cltype = type_nullable_parser_nodes__ADoc.color;
401 idtype = type_nullable_parser_nodes__ADoc.id;
402 if(var_pdocnode2 == NULL) {
403 var14 = 1;
404 } else {
405 if(cltype >= var_pdocnode2->type->table_size) {
406 var14 = 0;
407 } else {
408 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
409 }
410 }
411 if (!var14) {
412 fprintf(stderr, "Runtime error: %s", "Assert failed");
413 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10253);
414 exit(1);
415 }
416 var_pvisibilitynode4 = var_nodearraylist2;
417 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
418 cltype16 = type_nullable_parser_nodes__AVisibility.color;
419 idtype17 = type_nullable_parser_nodes__AVisibility.id;
420 if(var_pvisibilitynode4 == NULL) {
421 var15 = 1;
422 } else {
423 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
424 var15 = 0;
425 } else {
426 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
427 }
428 }
429 if (!var15) {
430 fprintf(stderr, "Runtime error: %s", "Assert failed");
431 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10255);
432 exit(1);
433 }
434 var_pclasskindnode5 = var_nodearraylist3;
435 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
436 cltype19 = type_nullable_parser_nodes__AClasskind.color;
437 idtype20 = type_nullable_parser_nodes__AClasskind.id;
438 if(var_pclasskindnode5 == NULL) {
439 var18 = 1;
440 } else {
441 if(cltype19 >= var_pclasskindnode5->type->table_size) {
442 var18 = 0;
443 } else {
444 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
445 }
446 }
447 if (!var18) {
448 fprintf(stderr, "Runtime error: %s", "Assert failed");
449 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10257);
450 exit(1);
451 }
452 var_tclassidnode6 = var_nodearraylist6;
453 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
454 cltype22 = type_nullable_parser_nodes__TClassid.color;
455 idtype23 = type_nullable_parser_nodes__TClassid.id;
456 if(var_tclassidnode6 == NULL) {
457 var21 = 1;
458 } else {
459 if(cltype22 >= var_tclassidnode6->type->table_size) {
460 var21 = 0;
461 } else {
462 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
463 }
464 }
465 if (!var21) {
466 fprintf(stderr, "Runtime error: %s", "Assert failed");
467 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10259);
468 exit(1);
469 }
470 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
471 ((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on <var24:Array[Object]>*/;
472 CHECK_NEW_array__Array(var24);
473 var_listnode12 = var24;
474 var_listnode11 = var_nodearraylist7;
475 /* <var_listnode11:nullable Object> isa Array[Object] */
476 cltype26 = type_array__Arraykernel__Object.color;
477 idtype27 = type_array__Arraykernel__Object.id;
478 if(var_listnode11 == NULL) {
479 var25 = 0;
480 } else {
481 if(cltype26 >= var_listnode11->type->table_size) {
482 var25 = 0;
483 } else {
484 var25 = var_listnode11->type->type_table[cltype26] == idtype27;
485 }
486 }
487 if (!var25) {
488 fprintf(stderr, "Runtime error: %s", "Assert failed");
489 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10262);
490 exit(1);
491 }
492 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction219>*/;
493 var_listnode12 = var28;
494 var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
495 var30 = NULL;
496 var31 = NULL;
497 var32 = NULL;
498 ((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>*/;
499 CHECK_NEW_parser_nodes__AAnnotations(var29);
500 var_pannotationsnode8 = var29;
501 var_listnode16 = var_nodearraylist8;
502 /* <var_listnode16:nullable Object> isa Array[Object] */
503 cltype34 = type_array__Arraykernel__Object.color;
504 idtype35 = type_array__Arraykernel__Object.id;
505 if(var_listnode16 == NULL) {
506 var33 = 0;
507 } else {
508 if(cltype34 >= var_listnode16->type->table_size) {
509 var33 = 0;
510 } else {
511 var33 = var_listnode16->type->type_table[cltype34] == idtype35;
512 }
513 }
514 if (!var33) {
515 fprintf(stderr, "Runtime error: %s", "Assert failed");
516 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10271);
517 exit(1);
518 }
519 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction219>*/;
520 var_listnode17 = var36;
521 var_tkwendnode18 = var_nodearraylist10;
522 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
523 cltype38 = type_nullable_parser_nodes__TKwend.color;
524 idtype39 = type_nullable_parser_nodes__TKwend.id;
525 if(var_tkwendnode18 == NULL) {
526 var37 = 1;
527 } else {
528 if(cltype38 >= var_tkwendnode18->type->table_size) {
529 var37 = 0;
530 } else {
531 var37 = var_tkwendnode18->type->type_table[cltype38] == idtype39;
532 }
533 }
534 if (!var37) {
535 fprintf(stderr, "Runtime error: %s", "Assert failed");
536 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10274);
537 exit(1);
538 }
539 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
540 var41 = NULL;
541 var42 = NULL;
542 ((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, var42, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var40:AStdClassdef>*/;
543 CHECK_NEW_parser_nodes__AStdClassdef(var40);
544 var_pclassdefnode1 = var40;
545 var_node_list = var_pclassdefnode1;
546 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction219> */
547 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
548 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
549 RET_LABEL:;
550 }
551 /* method parser#ReduceAction219#action for (self: Object, Parser) */
552 void VIRTUAL_parser__ReduceAction219__action(val* self, val* p0) {
553 parser__ReduceAction219__action(self, p0);
554 RET_LABEL:;
555 }
556 /* method parser#ReduceAction220#action for (self: ReduceAction220, Parser) */
557 void parser__ReduceAction220__action(val* self, val* p0) {
558 val* var_p /* var p: Parser */;
559 val* var /* : null */;
560 val* var_node_list /* var node_list: nullable Object */;
561 val* var1 /* : nullable Object */;
562 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
563 val* var2 /* : nullable Object */;
564 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
565 val* var3 /* : nullable Object */;
566 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
567 val* var4 /* : nullable Object */;
568 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
569 val* var5 /* : nullable Object */;
570 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
571 val* var6 /* : nullable Object */;
572 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
573 val* var7 /* : nullable Object */;
574 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
575 val* var8 /* : nullable Object */;
576 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
577 val* var9 /* : nullable Object */;
578 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
579 val* var10 /* : nullable Object */;
580 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
581 val* var11 /* : nullable Object */;
582 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
583 val* var12 /* : Array[Object] */;
584 val* var_listnode7 /* var listnode7: Array[Object] */;
585 val* var13 /* : Array[Object] */;
586 val* var_listnode15 /* var listnode15: Array[Object] */;
587 val* var14 /* : Array[Object] */;
588 val* var_listnode17 /* var listnode17: Array[Object] */;
589 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
590 short int var15 /* : Bool */;
591 int cltype;
592 int idtype;
593 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
594 short int var16 /* : Bool */;
595 int cltype17;
596 int idtype18;
597 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
598 short int var19 /* : Bool */;
599 int cltype20;
600 int idtype21;
601 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
602 short int var22 /* : Bool */;
603 int cltype23;
604 int idtype24;
605 val* var25 /* : Array[Object] */;
606 val* var_listnode12 /* var listnode12: Array[Object] */;
607 val* var_listnode11 /* var listnode11: nullable Object */;
608 short int var26 /* : Bool */;
609 int cltype27;
610 int idtype28;
611 val* var29 /* : Array[Object] */;
612 val* var30 /* : AAnnotations */;
613 val* var31 /* : null */;
614 val* var32 /* : null */;
615 val* var33 /* : null */;
616 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
617 val* var_listnode16 /* var listnode16: nullable Object */;
618 short int var34 /* : Bool */;
619 int cltype35;
620 int idtype36;
621 val* var37 /* : Array[Object] */;
622 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
623 short int var38 /* : Bool */;
624 int cltype39;
625 int idtype40;
626 val* var41 /* : AStdClassdef */;
627 val* var42 /* : null */;
628 val* var43 /* : null */;
629 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
630 long var44 /* : Int */;
631 long var45 /* : Int */;
632 var_p = p0;
633 var = NULL;
634 var_node_list = var;
635 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
636 var_nodearraylist11 = var1;
637 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
638 var_nodearraylist10 = var2;
639 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
640 var_nodearraylist9 = var3;
641 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
642 var_nodearraylist8 = var4;
643 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
644 var_nodearraylist7 = var5;
645 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
646 var_nodearraylist6 = var6;
647 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
648 var_nodearraylist5 = var7;
649 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
650 var_nodearraylist4 = var8;
651 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
652 var_nodearraylist3 = var9;
653 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
654 var_nodearraylist2 = var10;
655 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
656 var_nodearraylist1 = var11;
657 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
658 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
659 CHECK_NEW_array__Array(var12);
660 var_listnode7 = var12;
661 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
662 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
663 CHECK_NEW_array__Array(var13);
664 var_listnode15 = var13;
665 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
666 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
667 CHECK_NEW_array__Array(var14);
668 var_listnode17 = var14;
669 var_pdocnode2 = var_nodearraylist1;
670 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
671 cltype = type_nullable_parser_nodes__ADoc.color;
672 idtype = type_nullable_parser_nodes__ADoc.id;
673 if(var_pdocnode2 == NULL) {
674 var15 = 1;
675 } else {
676 if(cltype >= var_pdocnode2->type->table_size) {
677 var15 = 0;
678 } else {
679 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
680 }
681 }
682 if (!var15) {
683 fprintf(stderr, "Runtime error: %s", "Assert failed");
684 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10312);
685 exit(1);
686 }
687 var_pvisibilitynode4 = var_nodearraylist2;
688 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
689 cltype17 = type_nullable_parser_nodes__AVisibility.color;
690 idtype18 = type_nullable_parser_nodes__AVisibility.id;
691 if(var_pvisibilitynode4 == NULL) {
692 var16 = 1;
693 } else {
694 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
695 var16 = 0;
696 } else {
697 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
698 }
699 }
700 if (!var16) {
701 fprintf(stderr, "Runtime error: %s", "Assert failed");
702 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10314);
703 exit(1);
704 }
705 var_pclasskindnode5 = var_nodearraylist3;
706 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
707 cltype20 = type_nullable_parser_nodes__AClasskind.color;
708 idtype21 = type_nullable_parser_nodes__AClasskind.id;
709 if(var_pclasskindnode5 == NULL) {
710 var19 = 1;
711 } else {
712 if(cltype20 >= var_pclasskindnode5->type->table_size) {
713 var19 = 0;
714 } else {
715 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
716 }
717 }
718 if (!var19) {
719 fprintf(stderr, "Runtime error: %s", "Assert failed");
720 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10316);
721 exit(1);
722 }
723 var_tclassidnode6 = var_nodearraylist7;
724 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
725 cltype23 = type_nullable_parser_nodes__TClassid.color;
726 idtype24 = type_nullable_parser_nodes__TClassid.id;
727 if(var_tclassidnode6 == NULL) {
728 var22 = 1;
729 } else {
730 if(cltype23 >= var_tclassidnode6->type->table_size) {
731 var22 = 0;
732 } else {
733 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
734 }
735 }
736 if (!var22) {
737 fprintf(stderr, "Runtime error: %s", "Assert failed");
738 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10318);
739 exit(1);
740 }
741 var25 = NEW_array__Array(&type_array__Arraykernel__Object);
742 ((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on <var25:Array[Object]>*/;
743 CHECK_NEW_array__Array(var25);
744 var_listnode12 = var25;
745 var_listnode11 = var_nodearraylist8;
746 /* <var_listnode11:nullable Object> isa Array[Object] */
747 cltype27 = type_array__Arraykernel__Object.color;
748 idtype28 = type_array__Arraykernel__Object.id;
749 if(var_listnode11 == NULL) {
750 var26 = 0;
751 } else {
752 if(cltype27 >= var_listnode11->type->table_size) {
753 var26 = 0;
754 } else {
755 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
756 }
757 }
758 if (!var26) {
759 fprintf(stderr, "Runtime error: %s", "Assert failed");
760 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10321);
761 exit(1);
762 }
763 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction220>*/;
764 var_listnode12 = var29;
765 var30 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
766 var31 = NULL;
767 var32 = NULL;
768 var33 = NULL;
769 ((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>*/;
770 CHECK_NEW_parser_nodes__AAnnotations(var30);
771 var_pannotationsnode8 = var30;
772 var_listnode16 = var_nodearraylist9;
773 /* <var_listnode16:nullable Object> isa Array[Object] */
774 cltype35 = type_array__Arraykernel__Object.color;
775 idtype36 = type_array__Arraykernel__Object.id;
776 if(var_listnode16 == NULL) {
777 var34 = 0;
778 } else {
779 if(cltype35 >= var_listnode16->type->table_size) {
780 var34 = 0;
781 } else {
782 var34 = var_listnode16->type->type_table[cltype35] == idtype36;
783 }
784 }
785 if (!var34) {
786 fprintf(stderr, "Runtime error: %s", "Assert failed");
787 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10330);
788 exit(1);
789 }
790 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction220>*/;
791 var_listnode17 = var37;
792 var_tkwendnode18 = var_nodearraylist11;
793 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
794 cltype39 = type_nullable_parser_nodes__TKwend.color;
795 idtype40 = type_nullable_parser_nodes__TKwend.id;
796 if(var_tkwendnode18 == NULL) {
797 var38 = 1;
798 } else {
799 if(cltype39 >= var_tkwendnode18->type->table_size) {
800 var38 = 0;
801 } else {
802 var38 = var_tkwendnode18->type->type_table[cltype39] == idtype40;
803 }
804 }
805 if (!var38) {
806 fprintf(stderr, "Runtime error: %s", "Assert failed");
807 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10333);
808 exit(1);
809 }
810 var41 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
811 var42 = NULL;
812 var43 = NULL;
813 ((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_listnode7, var_pannotationsnode8, var43, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var41:AStdClassdef>*/;
814 CHECK_NEW_parser_nodes__AStdClassdef(var41);
815 var_pclassdefnode1 = var41;
816 var_node_list = var_pclassdefnode1;
817 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction220> */
818 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
819 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
820 RET_LABEL:;
821 }
822 /* method parser#ReduceAction220#action for (self: Object, Parser) */
823 void VIRTUAL_parser__ReduceAction220__action(val* self, val* p0) {
824 parser__ReduceAction220__action(self, p0);
825 RET_LABEL:;
826 }
827 /* method parser#ReduceAction222#action for (self: ReduceAction222, Parser) */
828 void parser__ReduceAction222__action(val* self, val* p0) {
829 val* var_p /* var p: Parser */;
830 val* var /* : null */;
831 val* var_node_list /* var node_list: nullable Object */;
832 val* var1 /* : nullable Object */;
833 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
834 val* var2 /* : nullable Object */;
835 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
836 val* var3 /* : nullable Object */;
837 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
838 val* var4 /* : nullable Object */;
839 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
840 val* var5 /* : nullable Object */;
841 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
842 val* var6 /* : nullable Object */;
843 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
844 val* var7 /* : nullable Object */;
845 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
846 val* var8 /* : nullable Object */;
847 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
848 val* var9 /* : nullable Object */;
849 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
850 val* var10 /* : nullable Object */;
851 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
852 val* var11 /* : nullable Object */;
853 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
854 val* var12 /* : Array[Object] */;
855 val* var_listnode7 /* var listnode7: Array[Object] */;
856 val* var13 /* : Array[Object] */;
857 val* var_listnode15 /* var listnode15: Array[Object] */;
858 val* var14 /* : Array[Object] */;
859 val* var_listnode17 /* var listnode17: Array[Object] */;
860 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
861 short int var15 /* : Bool */;
862 int cltype;
863 int idtype;
864 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
865 short int var16 /* : Bool */;
866 int cltype17;
867 int idtype18;
868 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
869 short int var19 /* : Bool */;
870 int cltype20;
871 int idtype21;
872 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
873 short int var22 /* : Bool */;
874 int cltype23;
875 int idtype24;
876 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
877 short int var25 /* : Bool */;
878 int cltype26;
879 int idtype27;
880 val* var28 /* : Array[Object] */;
881 val* var_listnode12 /* var listnode12: Array[Object] */;
882 val* var_listnode11 /* var listnode11: nullable Object */;
883 short int var29 /* : Bool */;
884 int cltype30;
885 int idtype31;
886 val* var32 /* : Array[Object] */;
887 val* var33 /* : AAnnotations */;
888 val* var34 /* : null */;
889 val* var35 /* : null */;
890 val* var36 /* : null */;
891 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
892 val* var_listnode16 /* var listnode16: nullable Object */;
893 short int var37 /* : Bool */;
894 int cltype38;
895 int idtype39;
896 val* var40 /* : Array[Object] */;
897 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
898 short int var41 /* : Bool */;
899 int cltype42;
900 int idtype43;
901 val* var44 /* : AStdClassdef */;
902 val* var45 /* : null */;
903 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
904 long var46 /* : Int */;
905 long var47 /* : Int */;
906 var_p = p0;
907 var = NULL;
908 var_node_list = var;
909 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
910 var_nodearraylist11 = var1;
911 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
912 var_nodearraylist10 = var2;
913 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
914 var_nodearraylist9 = var3;
915 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
916 var_nodearraylist8 = var4;
917 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
918 var_nodearraylist7 = var5;
919 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
920 var_nodearraylist6 = var6;
921 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
922 var_nodearraylist5 = var7;
923 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
924 var_nodearraylist4 = var8;
925 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
926 var_nodearraylist3 = var9;
927 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
928 var_nodearraylist2 = var10;
929 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
930 var_nodearraylist1 = var11;
931 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
932 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
933 CHECK_NEW_array__Array(var12);
934 var_listnode7 = var12;
935 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
936 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
937 CHECK_NEW_array__Array(var13);
938 var_listnode15 = var13;
939 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
940 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
941 CHECK_NEW_array__Array(var14);
942 var_listnode17 = var14;
943 var_pdocnode2 = var_nodearraylist1;
944 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
945 cltype = type_nullable_parser_nodes__ADoc.color;
946 idtype = type_nullable_parser_nodes__ADoc.id;
947 if(var_pdocnode2 == NULL) {
948 var15 = 1;
949 } else {
950 if(cltype >= var_pdocnode2->type->table_size) {
951 var15 = 0;
952 } else {
953 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
954 }
955 }
956 if (!var15) {
957 fprintf(stderr, "Runtime error: %s", "Assert failed");
958 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10371);
959 exit(1);
960 }
961 var_tkwredefnode3 = var_nodearraylist2;
962 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
963 cltype17 = type_nullable_parser_nodes__TKwredef.color;
964 idtype18 = type_nullable_parser_nodes__TKwredef.id;
965 if(var_tkwredefnode3 == NULL) {
966 var16 = 1;
967 } else {
968 if(cltype17 >= var_tkwredefnode3->type->table_size) {
969 var16 = 0;
970 } else {
971 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
972 }
973 }
974 if (!var16) {
975 fprintf(stderr, "Runtime error: %s", "Assert failed");
976 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10373);
977 exit(1);
978 }
979 var_pvisibilitynode4 = var_nodearraylist3;
980 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
981 cltype20 = type_nullable_parser_nodes__AVisibility.color;
982 idtype21 = type_nullable_parser_nodes__AVisibility.id;
983 if(var_pvisibilitynode4 == NULL) {
984 var19 = 1;
985 } else {
986 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
987 var19 = 0;
988 } else {
989 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
990 }
991 }
992 if (!var19) {
993 fprintf(stderr, "Runtime error: %s", "Assert failed");
994 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10375);
995 exit(1);
996 }
997 var_pclasskindnode5 = var_nodearraylist4;
998 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
999 cltype23 = type_nullable_parser_nodes__AClasskind.color;
1000 idtype24 = type_nullable_parser_nodes__AClasskind.id;
1001 if(var_pclasskindnode5 == NULL) {
1002 var22 = 1;
1003 } else {
1004 if(cltype23 >= var_pclasskindnode5->type->table_size) {
1005 var22 = 0;
1006 } else {
1007 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
1008 }
1009 }
1010 if (!var22) {
1011 fprintf(stderr, "Runtime error: %s", "Assert failed");
1012 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10377);
1013 exit(1);
1014 }
1015 var_tclassidnode6 = var_nodearraylist7;
1016 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1017 cltype26 = type_nullable_parser_nodes__TClassid.color;
1018 idtype27 = type_nullable_parser_nodes__TClassid.id;
1019 if(var_tclassidnode6 == NULL) {
1020 var25 = 1;
1021 } else {
1022 if(cltype26 >= var_tclassidnode6->type->table_size) {
1023 var25 = 0;
1024 } else {
1025 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
1026 }
1027 }
1028 if (!var25) {
1029 fprintf(stderr, "Runtime error: %s", "Assert failed");
1030 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10379);
1031 exit(1);
1032 }
1033 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
1034 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
1035 CHECK_NEW_array__Array(var28);
1036 var_listnode12 = var28;
1037 var_listnode11 = var_nodearraylist8;
1038 /* <var_listnode11:nullable Object> isa Array[Object] */
1039 cltype30 = type_array__Arraykernel__Object.color;
1040 idtype31 = type_array__Arraykernel__Object.id;
1041 if(var_listnode11 == NULL) {
1042 var29 = 0;
1043 } else {
1044 if(cltype30 >= var_listnode11->type->table_size) {
1045 var29 = 0;
1046 } else {
1047 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
1048 }
1049 }
1050 if (!var29) {
1051 fprintf(stderr, "Runtime error: %s", "Assert failed");
1052 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10382);
1053 exit(1);
1054 }
1055 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction222>*/;
1056 var_listnode12 = var32;
1057 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1058 var34 = NULL;
1059 var35 = NULL;
1060 var36 = NULL;
1061 ((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>*/;
1062 CHECK_NEW_parser_nodes__AAnnotations(var33);
1063 var_pannotationsnode8 = var33;
1064 var_listnode16 = var_nodearraylist9;
1065 /* <var_listnode16:nullable Object> isa Array[Object] */
1066 cltype38 = type_array__Arraykernel__Object.color;
1067 idtype39 = type_array__Arraykernel__Object.id;
1068 if(var_listnode16 == NULL) {
1069 var37 = 0;
1070 } else {
1071 if(cltype38 >= var_listnode16->type->table_size) {
1072 var37 = 0;
1073 } else {
1074 var37 = var_listnode16->type->type_table[cltype38] == idtype39;
1075 }
1076 }
1077 if (!var37) {
1078 fprintf(stderr, "Runtime error: %s", "Assert failed");
1079 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10391);
1080 exit(1);
1081 }
1082 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction222>*/;
1083 var_listnode17 = var40;
1084 var_tkwendnode18 = var_nodearraylist11;
1085 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
1086 cltype42 = type_nullable_parser_nodes__TKwend.color;
1087 idtype43 = type_nullable_parser_nodes__TKwend.id;
1088 if(var_tkwendnode18 == NULL) {
1089 var41 = 1;
1090 } else {
1091 if(cltype42 >= var_tkwendnode18->type->table_size) {
1092 var41 = 0;
1093 } else {
1094 var41 = var_tkwendnode18->type->type_table[cltype42] == idtype43;
1095 }
1096 }
1097 if (!var41) {
1098 fprintf(stderr, "Runtime error: %s", "Assert failed");
1099 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10394);
1100 exit(1);
1101 }
1102 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1103 var45 = NULL;
1104 ((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, var45, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var44:AStdClassdef>*/;
1105 CHECK_NEW_parser_nodes__AStdClassdef(var44);
1106 var_pclassdefnode1 = var44;
1107 var_node_list = var_pclassdefnode1;
1108 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction222> */
1109 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
1110 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
1111 RET_LABEL:;
1112 }
1113 /* method parser#ReduceAction222#action for (self: Object, Parser) */
1114 void VIRTUAL_parser__ReduceAction222__action(val* self, val* p0) {
1115 parser__ReduceAction222__action(self, p0);
1116 RET_LABEL:;
1117 }
1118 /* method parser#ReduceAction223#action for (self: ReduceAction223, Parser) */
1119 void parser__ReduceAction223__action(val* self, val* p0) {
1120 val* var_p /* var p: Parser */;
1121 val* var /* : null */;
1122 val* var_node_list /* var node_list: nullable Object */;
1123 val* var1 /* : nullable Object */;
1124 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1125 val* var2 /* : nullable Object */;
1126 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1127 val* var3 /* : nullable Object */;
1128 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1129 val* var4 /* : nullable Object */;
1130 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1131 val* var5 /* : nullable Object */;
1132 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1133 val* var6 /* : nullable Object */;
1134 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1135 val* var7 /* : nullable Object */;
1136 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1137 val* var8 /* : nullable Object */;
1138 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1139 val* var9 /* : nullable Object */;
1140 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1141 val* var10 /* : nullable Object */;
1142 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1143 val* var11 /* : nullable Object */;
1144 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1145 val* var12 /* : nullable Object */;
1146 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1147 val* var13 /* : Array[Object] */;
1148 val* var_listnode7 /* var listnode7: Array[Object] */;
1149 val* var14 /* : Array[Object] */;
1150 val* var_listnode15 /* var listnode15: Array[Object] */;
1151 val* var15 /* : Array[Object] */;
1152 val* var_listnode17 /* var listnode17: Array[Object] */;
1153 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1154 short int var16 /* : Bool */;
1155 int cltype;
1156 int idtype;
1157 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1158 short int var17 /* : Bool */;
1159 int cltype18;
1160 int idtype19;
1161 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1162 short int var20 /* : Bool */;
1163 int cltype21;
1164 int idtype22;
1165 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1166 short int var23 /* : Bool */;
1167 int cltype24;
1168 int idtype25;
1169 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1170 short int var26 /* : Bool */;
1171 int cltype27;
1172 int idtype28;
1173 val* var29 /* : Array[Object] */;
1174 val* var_listnode12 /* var listnode12: Array[Object] */;
1175 val* var_listnode11 /* var listnode11: nullable Object */;
1176 short int var30 /* : Bool */;
1177 int cltype31;
1178 int idtype32;
1179 val* var33 /* : Array[Object] */;
1180 val* var34 /* : AAnnotations */;
1181 val* var35 /* : null */;
1182 val* var36 /* : null */;
1183 val* var37 /* : null */;
1184 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
1185 val* var_listnode16 /* var listnode16: nullable Object */;
1186 short int var38 /* : Bool */;
1187 int cltype39;
1188 int idtype40;
1189 val* var41 /* : Array[Object] */;
1190 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
1191 short int var42 /* : Bool */;
1192 int cltype43;
1193 int idtype44;
1194 val* var45 /* : AStdClassdef */;
1195 val* var46 /* : null */;
1196 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1197 long var47 /* : Int */;
1198 long var48 /* : Int */;
1199 var_p = p0;
1200 var = NULL;
1201 var_node_list = var;
1202 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1203 var_nodearraylist12 = var1;
1204 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1205 var_nodearraylist11 = var2;
1206 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1207 var_nodearraylist10 = var3;
1208 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1209 var_nodearraylist9 = var4;
1210 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1211 var_nodearraylist8 = var5;
1212 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1213 var_nodearraylist7 = var6;
1214 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1215 var_nodearraylist6 = var7;
1216 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1217 var_nodearraylist5 = var8;
1218 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1219 var_nodearraylist4 = var9;
1220 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1221 var_nodearraylist3 = var10;
1222 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1223 var_nodearraylist2 = var11;
1224 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1225 var_nodearraylist1 = var12;
1226 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1227 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1228 CHECK_NEW_array__Array(var13);
1229 var_listnode7 = var13;
1230 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1231 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1232 CHECK_NEW_array__Array(var14);
1233 var_listnode15 = var14;
1234 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1235 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1236 CHECK_NEW_array__Array(var15);
1237 var_listnode17 = var15;
1238 var_pdocnode2 = var_nodearraylist1;
1239 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1240 cltype = type_nullable_parser_nodes__ADoc.color;
1241 idtype = type_nullable_parser_nodes__ADoc.id;
1242 if(var_pdocnode2 == NULL) {
1243 var16 = 1;
1244 } else {
1245 if(cltype >= var_pdocnode2->type->table_size) {
1246 var16 = 0;
1247 } else {
1248 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
1249 }
1250 }
1251 if (!var16) {
1252 fprintf(stderr, "Runtime error: %s", "Assert failed");
1253 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10433);
1254 exit(1);
1255 }
1256 var_tkwredefnode3 = var_nodearraylist2;
1257 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1258 cltype18 = type_nullable_parser_nodes__TKwredef.color;
1259 idtype19 = type_nullable_parser_nodes__TKwredef.id;
1260 if(var_tkwredefnode3 == NULL) {
1261 var17 = 1;
1262 } else {
1263 if(cltype18 >= var_tkwredefnode3->type->table_size) {
1264 var17 = 0;
1265 } else {
1266 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
1267 }
1268 }
1269 if (!var17) {
1270 fprintf(stderr, "Runtime error: %s", "Assert failed");
1271 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10435);
1272 exit(1);
1273 }
1274 var_pvisibilitynode4 = var_nodearraylist3;
1275 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1276 cltype21 = type_nullable_parser_nodes__AVisibility.color;
1277 idtype22 = type_nullable_parser_nodes__AVisibility.id;
1278 if(var_pvisibilitynode4 == NULL) {
1279 var20 = 1;
1280 } else {
1281 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
1282 var20 = 0;
1283 } else {
1284 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
1285 }
1286 }
1287 if (!var20) {
1288 fprintf(stderr, "Runtime error: %s", "Assert failed");
1289 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10437);
1290 exit(1);
1291 }
1292 var_pclasskindnode5 = var_nodearraylist4;
1293 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1294 cltype24 = type_nullable_parser_nodes__AClasskind.color;
1295 idtype25 = type_nullable_parser_nodes__AClasskind.id;
1296 if(var_pclasskindnode5 == NULL) {
1297 var23 = 1;
1298 } else {
1299 if(cltype24 >= var_pclasskindnode5->type->table_size) {
1300 var23 = 0;
1301 } else {
1302 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
1303 }
1304 }
1305 if (!var23) {
1306 fprintf(stderr, "Runtime error: %s", "Assert failed");
1307 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10439);
1308 exit(1);
1309 }
1310 var_tclassidnode6 = var_nodearraylist8;
1311 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1312 cltype27 = type_nullable_parser_nodes__TClassid.color;
1313 idtype28 = type_nullable_parser_nodes__TClassid.id;
1314 if(var_tclassidnode6 == NULL) {
1315 var26 = 1;
1316 } else {
1317 if(cltype27 >= var_tclassidnode6->type->table_size) {
1318 var26 = 0;
1319 } else {
1320 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
1321 }
1322 }
1323 if (!var26) {
1324 fprintf(stderr, "Runtime error: %s", "Assert failed");
1325 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10441);
1326 exit(1);
1327 }
1328 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
1329 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
1330 CHECK_NEW_array__Array(var29);
1331 var_listnode12 = var29;
1332 var_listnode11 = var_nodearraylist9;
1333 /* <var_listnode11:nullable Object> isa Array[Object] */
1334 cltype31 = type_array__Arraykernel__Object.color;
1335 idtype32 = type_array__Arraykernel__Object.id;
1336 if(var_listnode11 == NULL) {
1337 var30 = 0;
1338 } else {
1339 if(cltype31 >= var_listnode11->type->table_size) {
1340 var30 = 0;
1341 } else {
1342 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
1343 }
1344 }
1345 if (!var30) {
1346 fprintf(stderr, "Runtime error: %s", "Assert failed");
1347 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10444);
1348 exit(1);
1349 }
1350 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction223>*/;
1351 var_listnode12 = var33;
1352 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1353 var35 = NULL;
1354 var36 = NULL;
1355 var37 = NULL;
1356 ((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>*/;
1357 CHECK_NEW_parser_nodes__AAnnotations(var34);
1358 var_pannotationsnode8 = var34;
1359 var_listnode16 = var_nodearraylist10;
1360 /* <var_listnode16:nullable Object> isa Array[Object] */
1361 cltype39 = type_array__Arraykernel__Object.color;
1362 idtype40 = type_array__Arraykernel__Object.id;
1363 if(var_listnode16 == NULL) {
1364 var38 = 0;
1365 } else {
1366 if(cltype39 >= var_listnode16->type->table_size) {
1367 var38 = 0;
1368 } else {
1369 var38 = var_listnode16->type->type_table[cltype39] == idtype40;
1370 }
1371 }
1372 if (!var38) {
1373 fprintf(stderr, "Runtime error: %s", "Assert failed");
1374 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10453);
1375 exit(1);
1376 }
1377 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction223>*/;
1378 var_listnode17 = var41;
1379 var_tkwendnode18 = var_nodearraylist12;
1380 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
1381 cltype43 = type_nullable_parser_nodes__TKwend.color;
1382 idtype44 = type_nullable_parser_nodes__TKwend.id;
1383 if(var_tkwendnode18 == NULL) {
1384 var42 = 1;
1385 } else {
1386 if(cltype43 >= var_tkwendnode18->type->table_size) {
1387 var42 = 0;
1388 } else {
1389 var42 = var_tkwendnode18->type->type_table[cltype43] == idtype44;
1390 }
1391 }
1392 if (!var42) {
1393 fprintf(stderr, "Runtime error: %s", "Assert failed");
1394 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10456);
1395 exit(1);
1396 }
1397 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1398 var46 = NULL;
1399 ((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_listnode7, var_pannotationsnode8, var46, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var45:AStdClassdef>*/;
1400 CHECK_NEW_parser_nodes__AStdClassdef(var45);
1401 var_pclassdefnode1 = var45;
1402 var_node_list = var_pclassdefnode1;
1403 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction223> */
1404 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
1405 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
1406 RET_LABEL:;
1407 }
1408 /* method parser#ReduceAction223#action for (self: Object, Parser) */
1409 void VIRTUAL_parser__ReduceAction223__action(val* self, val* p0) {
1410 parser__ReduceAction223__action(self, p0);
1411 RET_LABEL:;
1412 }
1413 /* method parser#ReduceAction225#action for (self: ReduceAction225, Parser) */
1414 void parser__ReduceAction225__action(val* self, val* p0) {
1415 val* var_p /* var p: Parser */;
1416 val* var /* : null */;
1417 val* var_node_list /* var node_list: nullable Object */;
1418 val* var1 /* : nullable Object */;
1419 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1420 val* var2 /* : nullable Object */;
1421 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1422 val* var3 /* : nullable Object */;
1423 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1424 val* var4 /* : nullable Object */;
1425 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1426 val* var5 /* : nullable Object */;
1427 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1428 val* var6 /* : nullable Object */;
1429 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1430 val* var7 /* : nullable Object */;
1431 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1432 val* var8 /* : nullable Object */;
1433 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1434 val* var9 /* : nullable Object */;
1435 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1436 val* var10 /* : nullable Object */;
1437 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1438 val* var11 /* : Array[Object] */;
1439 val* var_listnode8 /* var listnode8: Array[Object] */;
1440 val* var12 /* : Array[Object] */;
1441 val* var_listnode16 /* var listnode16: Array[Object] */;
1442 val* var13 /* : Array[Object] */;
1443 val* var_listnode18 /* var listnode18: Array[Object] */;
1444 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1445 short int var14 /* : Bool */;
1446 int cltype;
1447 int idtype;
1448 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1449 short int var15 /* : Bool */;
1450 int cltype16;
1451 int idtype17;
1452 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1453 short int var18 /* : Bool */;
1454 int cltype19;
1455 int idtype20;
1456 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1457 short int var21 /* : Bool */;
1458 int cltype22;
1459 int idtype23;
1460 val* var_listnode7 /* var listnode7: nullable Object */;
1461 short int var24 /* : Bool */;
1462 int cltype25;
1463 int idtype26;
1464 val* var27 /* : Array[Object] */;
1465 val* var28 /* : Array[Object] */;
1466 val* var_listnode13 /* var listnode13: Array[Object] */;
1467 val* var_listnode12 /* var listnode12: nullable Object */;
1468 short int var29 /* : Bool */;
1469 int cltype30;
1470 int idtype31;
1471 val* var32 /* : Array[Object] */;
1472 val* var33 /* : AAnnotations */;
1473 val* var34 /* : null */;
1474 val* var35 /* : null */;
1475 val* var36 /* : null */;
1476 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
1477 val* var_listnode17 /* var listnode17: nullable Object */;
1478 short int var37 /* : Bool */;
1479 int cltype38;
1480 int idtype39;
1481 val* var40 /* : Array[Object] */;
1482 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
1483 short int var41 /* : Bool */;
1484 int cltype42;
1485 int idtype43;
1486 val* var44 /* : AStdClassdef */;
1487 val* var45 /* : null */;
1488 val* var46 /* : null */;
1489 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1490 long var47 /* : Int */;
1491 long var48 /* : Int */;
1492 var_p = p0;
1493 var = NULL;
1494 var_node_list = var;
1495 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1496 var_nodearraylist10 = var1;
1497 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1498 var_nodearraylist9 = var2;
1499 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1500 var_nodearraylist8 = var3;
1501 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1502 var_nodearraylist7 = var4;
1503 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1504 var_nodearraylist6 = var5;
1505 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1506 var_nodearraylist5 = var6;
1507 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1508 var_nodearraylist4 = var7;
1509 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1510 var_nodearraylist3 = var8;
1511 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1512 var_nodearraylist2 = var9;
1513 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1514 var_nodearraylist1 = var10;
1515 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1516 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1517 CHECK_NEW_array__Array(var11);
1518 var_listnode8 = var11;
1519 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1520 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1521 CHECK_NEW_array__Array(var12);
1522 var_listnode16 = var12;
1523 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1524 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1525 CHECK_NEW_array__Array(var13);
1526 var_listnode18 = var13;
1527 var_pdocnode2 = var_nodearraylist1;
1528 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1529 cltype = type_nullable_parser_nodes__ADoc.color;
1530 idtype = type_nullable_parser_nodes__ADoc.id;
1531 if(var_pdocnode2 == NULL) {
1532 var14 = 1;
1533 } else {
1534 if(cltype >= var_pdocnode2->type->table_size) {
1535 var14 = 0;
1536 } else {
1537 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
1538 }
1539 }
1540 if (!var14) {
1541 fprintf(stderr, "Runtime error: %s", "Assert failed");
1542 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10493);
1543 exit(1);
1544 }
1545 var_pvisibilitynode4 = var_nodearraylist2;
1546 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1547 cltype16 = type_nullable_parser_nodes__AVisibility.color;
1548 idtype17 = type_nullable_parser_nodes__AVisibility.id;
1549 if(var_pvisibilitynode4 == NULL) {
1550 var15 = 1;
1551 } else {
1552 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
1553 var15 = 0;
1554 } else {
1555 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
1556 }
1557 }
1558 if (!var15) {
1559 fprintf(stderr, "Runtime error: %s", "Assert failed");
1560 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10495);
1561 exit(1);
1562 }
1563 var_pclasskindnode5 = var_nodearraylist3;
1564 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1565 cltype19 = type_nullable_parser_nodes__AClasskind.color;
1566 idtype20 = type_nullable_parser_nodes__AClasskind.id;
1567 if(var_pclasskindnode5 == NULL) {
1568 var18 = 1;
1569 } else {
1570 if(cltype19 >= var_pclasskindnode5->type->table_size) {
1571 var18 = 0;
1572 } else {
1573 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
1574 }
1575 }
1576 if (!var18) {
1577 fprintf(stderr, "Runtime error: %s", "Assert failed");
1578 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10497);
1579 exit(1);
1580 }
1581 var_tclassidnode6 = var_nodearraylist5;
1582 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1583 cltype22 = type_nullable_parser_nodes__TClassid.color;
1584 idtype23 = type_nullable_parser_nodes__TClassid.id;
1585 if(var_tclassidnode6 == NULL) {
1586 var21 = 1;
1587 } else {
1588 if(cltype22 >= var_tclassidnode6->type->table_size) {
1589 var21 = 0;
1590 } else {
1591 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
1592 }
1593 }
1594 if (!var21) {
1595 fprintf(stderr, "Runtime error: %s", "Assert failed");
1596 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10499);
1597 exit(1);
1598 }
1599 var_listnode7 = var_nodearraylist6;
1600 /* <var_listnode7:nullable Object> isa Array[Object] */
1601 cltype25 = type_array__Arraykernel__Object.color;
1602 idtype26 = type_array__Arraykernel__Object.id;
1603 if(var_listnode7 == NULL) {
1604 var24 = 0;
1605 } else {
1606 if(cltype25 >= var_listnode7->type->table_size) {
1607 var24 = 0;
1608 } else {
1609 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
1610 }
1611 }
1612 if (!var24) {
1613 fprintf(stderr, "Runtime error: %s", "Assert failed");
1614 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10501);
1615 exit(1);
1616 }
1617 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction225>*/;
1618 var_listnode8 = var27;
1619 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
1620 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
1621 CHECK_NEW_array__Array(var28);
1622 var_listnode13 = var28;
1623 var_listnode12 = var_nodearraylist7;
1624 /* <var_listnode12:nullable Object> isa Array[Object] */
1625 cltype30 = type_array__Arraykernel__Object.color;
1626 idtype31 = type_array__Arraykernel__Object.id;
1627 if(var_listnode12 == NULL) {
1628 var29 = 0;
1629 } else {
1630 if(cltype30 >= var_listnode12->type->table_size) {
1631 var29 = 0;
1632 } else {
1633 var29 = var_listnode12->type->type_table[cltype30] == idtype31;
1634 }
1635 }
1636 if (!var29) {
1637 fprintf(stderr, "Runtime error: %s", "Assert failed");
1638 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10505);
1639 exit(1);
1640 }
1641 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction225>*/;
1642 var_listnode13 = var32;
1643 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1644 var34 = NULL;
1645 var35 = NULL;
1646 var36 = NULL;
1647 ((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>*/;
1648 CHECK_NEW_parser_nodes__AAnnotations(var33);
1649 var_pannotationsnode9 = var33;
1650 var_listnode17 = var_nodearraylist8;
1651 /* <var_listnode17:nullable Object> isa Array[Object] */
1652 cltype38 = type_array__Arraykernel__Object.color;
1653 idtype39 = type_array__Arraykernel__Object.id;
1654 if(var_listnode17 == NULL) {
1655 var37 = 0;
1656 } else {
1657 if(cltype38 >= var_listnode17->type->table_size) {
1658 var37 = 0;
1659 } else {
1660 var37 = var_listnode17->type->type_table[cltype38] == idtype39;
1661 }
1662 }
1663 if (!var37) {
1664 fprintf(stderr, "Runtime error: %s", "Assert failed");
1665 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10514);
1666 exit(1);
1667 }
1668 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction225>*/;
1669 var_listnode18 = var40;
1670 var_tkwendnode19 = var_nodearraylist10;
1671 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
1672 cltype42 = type_nullable_parser_nodes__TKwend.color;
1673 idtype43 = type_nullable_parser_nodes__TKwend.id;
1674 if(var_tkwendnode19 == NULL) {
1675 var41 = 1;
1676 } else {
1677 if(cltype42 >= var_tkwendnode19->type->table_size) {
1678 var41 = 0;
1679 } else {
1680 var41 = var_tkwendnode19->type->type_table[cltype42] == idtype43;
1681 }
1682 }
1683 if (!var41) {
1684 fprintf(stderr, "Runtime error: %s", "Assert failed");
1685 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10517);
1686 exit(1);
1687 }
1688 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1689 var45 = NULL;
1690 var46 = NULL;
1691 ((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, var45, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var46, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var44:AStdClassdef>*/;
1692 CHECK_NEW_parser_nodes__AStdClassdef(var44);
1693 var_pclassdefnode1 = var44;
1694 var_node_list = var_pclassdefnode1;
1695 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction225> */
1696 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
1697 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
1698 RET_LABEL:;
1699 }
1700 /* method parser#ReduceAction225#action for (self: Object, Parser) */
1701 void VIRTUAL_parser__ReduceAction225__action(val* self, val* p0) {
1702 parser__ReduceAction225__action(self, p0);
1703 RET_LABEL:;
1704 }
1705 /* method parser#ReduceAction226#action for (self: ReduceAction226, Parser) */
1706 void parser__ReduceAction226__action(val* self, val* p0) {
1707 val* var_p /* var p: Parser */;
1708 val* var /* : null */;
1709 val* var_node_list /* var node_list: nullable Object */;
1710 val* var1 /* : nullable Object */;
1711 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1712 val* var2 /* : nullable Object */;
1713 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1714 val* var3 /* : nullable Object */;
1715 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1716 val* var4 /* : nullable Object */;
1717 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1718 val* var5 /* : nullable Object */;
1719 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1720 val* var6 /* : nullable Object */;
1721 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1722 val* var7 /* : nullable Object */;
1723 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1724 val* var8 /* : nullable Object */;
1725 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1726 val* var9 /* : nullable Object */;
1727 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1728 val* var10 /* : nullable Object */;
1729 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1730 val* var11 /* : nullable Object */;
1731 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1732 val* var12 /* : Array[Object] */;
1733 val* var_listnode8 /* var listnode8: Array[Object] */;
1734 val* var13 /* : Array[Object] */;
1735 val* var_listnode16 /* var listnode16: Array[Object] */;
1736 val* var14 /* : Array[Object] */;
1737 val* var_listnode18 /* var listnode18: Array[Object] */;
1738 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1739 short int var15 /* : Bool */;
1740 int cltype;
1741 int idtype;
1742 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1743 short int var16 /* : Bool */;
1744 int cltype17;
1745 int idtype18;
1746 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1747 short int var19 /* : Bool */;
1748 int cltype20;
1749 int idtype21;
1750 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1751 short int var22 /* : Bool */;
1752 int cltype23;
1753 int idtype24;
1754 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1755 short int var25 /* : Bool */;
1756 int cltype26;
1757 int idtype27;
1758 val* var_listnode7 /* var listnode7: nullable Object */;
1759 short int var28 /* : Bool */;
1760 int cltype29;
1761 int idtype30;
1762 val* var31 /* : Array[Object] */;
1763 val* var32 /* : Array[Object] */;
1764 val* var_listnode13 /* var listnode13: Array[Object] */;
1765 val* var_listnode12 /* var listnode12: nullable Object */;
1766 short int var33 /* : Bool */;
1767 int cltype34;
1768 int idtype35;
1769 val* var36 /* : Array[Object] */;
1770 val* var37 /* : AAnnotations */;
1771 val* var38 /* : null */;
1772 val* var39 /* : null */;
1773 val* var40 /* : null */;
1774 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
1775 val* var_listnode17 /* var listnode17: nullable Object */;
1776 short int var41 /* : Bool */;
1777 int cltype42;
1778 int idtype43;
1779 val* var44 /* : Array[Object] */;
1780 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
1781 short int var45 /* : Bool */;
1782 int cltype46;
1783 int idtype47;
1784 val* var48 /* : AStdClassdef */;
1785 val* var49 /* : null */;
1786 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1787 long var50 /* : Int */;
1788 long var51 /* : Int */;
1789 var_p = p0;
1790 var = NULL;
1791 var_node_list = var;
1792 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1793 var_nodearraylist11 = var1;
1794 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1795 var_nodearraylist10 = var2;
1796 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1797 var_nodearraylist9 = var3;
1798 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1799 var_nodearraylist8 = var4;
1800 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1801 var_nodearraylist7 = var5;
1802 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1803 var_nodearraylist6 = var6;
1804 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1805 var_nodearraylist5 = var7;
1806 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1807 var_nodearraylist4 = var8;
1808 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1809 var_nodearraylist3 = var9;
1810 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1811 var_nodearraylist2 = var10;
1812 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1813 var_nodearraylist1 = var11;
1814 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1815 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1816 CHECK_NEW_array__Array(var12);
1817 var_listnode8 = var12;
1818 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1819 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1820 CHECK_NEW_array__Array(var13);
1821 var_listnode16 = var13;
1822 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1823 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1824 CHECK_NEW_array__Array(var14);
1825 var_listnode18 = var14;
1826 var_pdocnode2 = var_nodearraylist1;
1827 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1828 cltype = type_nullable_parser_nodes__ADoc.color;
1829 idtype = type_nullable_parser_nodes__ADoc.id;
1830 if(var_pdocnode2 == NULL) {
1831 var15 = 1;
1832 } else {
1833 if(cltype >= var_pdocnode2->type->table_size) {
1834 var15 = 0;
1835 } else {
1836 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
1837 }
1838 }
1839 if (!var15) {
1840 fprintf(stderr, "Runtime error: %s", "Assert failed");
1841 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10555);
1842 exit(1);
1843 }
1844 var_tkwredefnode3 = var_nodearraylist2;
1845 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1846 cltype17 = type_nullable_parser_nodes__TKwredef.color;
1847 idtype18 = type_nullable_parser_nodes__TKwredef.id;
1848 if(var_tkwredefnode3 == NULL) {
1849 var16 = 1;
1850 } else {
1851 if(cltype17 >= var_tkwredefnode3->type->table_size) {
1852 var16 = 0;
1853 } else {
1854 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
1855 }
1856 }
1857 if (!var16) {
1858 fprintf(stderr, "Runtime error: %s", "Assert failed");
1859 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10557);
1860 exit(1);
1861 }
1862 var_pvisibilitynode4 = var_nodearraylist3;
1863 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1864 cltype20 = type_nullable_parser_nodes__AVisibility.color;
1865 idtype21 = type_nullable_parser_nodes__AVisibility.id;
1866 if(var_pvisibilitynode4 == NULL) {
1867 var19 = 1;
1868 } else {
1869 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
1870 var19 = 0;
1871 } else {
1872 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
1873 }
1874 }
1875 if (!var19) {
1876 fprintf(stderr, "Runtime error: %s", "Assert failed");
1877 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10559);
1878 exit(1);
1879 }
1880 var_pclasskindnode5 = var_nodearraylist4;
1881 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1882 cltype23 = type_nullable_parser_nodes__AClasskind.color;
1883 idtype24 = type_nullable_parser_nodes__AClasskind.id;
1884 if(var_pclasskindnode5 == NULL) {
1885 var22 = 1;
1886 } else {
1887 if(cltype23 >= var_pclasskindnode5->type->table_size) {
1888 var22 = 0;
1889 } else {
1890 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
1891 }
1892 }
1893 if (!var22) {
1894 fprintf(stderr, "Runtime error: %s", "Assert failed");
1895 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10561);
1896 exit(1);
1897 }
1898 var_tclassidnode6 = var_nodearraylist6;
1899 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1900 cltype26 = type_nullable_parser_nodes__TClassid.color;
1901 idtype27 = type_nullable_parser_nodes__TClassid.id;
1902 if(var_tclassidnode6 == NULL) {
1903 var25 = 1;
1904 } else {
1905 if(cltype26 >= var_tclassidnode6->type->table_size) {
1906 var25 = 0;
1907 } else {
1908 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
1909 }
1910 }
1911 if (!var25) {
1912 fprintf(stderr, "Runtime error: %s", "Assert failed");
1913 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10563);
1914 exit(1);
1915 }
1916 var_listnode7 = var_nodearraylist7;
1917 /* <var_listnode7:nullable Object> isa Array[Object] */
1918 cltype29 = type_array__Arraykernel__Object.color;
1919 idtype30 = type_array__Arraykernel__Object.id;
1920 if(var_listnode7 == NULL) {
1921 var28 = 0;
1922 } else {
1923 if(cltype29 >= var_listnode7->type->table_size) {
1924 var28 = 0;
1925 } else {
1926 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
1927 }
1928 }
1929 if (!var28) {
1930 fprintf(stderr, "Runtime error: %s", "Assert failed");
1931 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10565);
1932 exit(1);
1933 }
1934 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction226>*/;
1935 var_listnode8 = var31;
1936 var32 = NEW_array__Array(&type_array__Arraykernel__Object);
1937 ((void (*)(val*))(var32->class->vft[COLOR_array__Array__init]))(var32) /* init on <var32:Array[Object]>*/;
1938 CHECK_NEW_array__Array(var32);
1939 var_listnode13 = var32;
1940 var_listnode12 = var_nodearraylist8;
1941 /* <var_listnode12:nullable Object> isa Array[Object] */
1942 cltype34 = type_array__Arraykernel__Object.color;
1943 idtype35 = type_array__Arraykernel__Object.id;
1944 if(var_listnode12 == NULL) {
1945 var33 = 0;
1946 } else {
1947 if(cltype34 >= var_listnode12->type->table_size) {
1948 var33 = 0;
1949 } else {
1950 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
1951 }
1952 }
1953 if (!var33) {
1954 fprintf(stderr, "Runtime error: %s", "Assert failed");
1955 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10569);
1956 exit(1);
1957 }
1958 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction226>*/;
1959 var_listnode13 = var36;
1960 var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1961 var38 = NULL;
1962 var39 = NULL;
1963 var40 = NULL;
1964 ((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>*/;
1965 CHECK_NEW_parser_nodes__AAnnotations(var37);
1966 var_pannotationsnode9 = var37;
1967 var_listnode17 = var_nodearraylist9;
1968 /* <var_listnode17:nullable Object> isa Array[Object] */
1969 cltype42 = type_array__Arraykernel__Object.color;
1970 idtype43 = type_array__Arraykernel__Object.id;
1971 if(var_listnode17 == NULL) {
1972 var41 = 0;
1973 } else {
1974 if(cltype42 >= var_listnode17->type->table_size) {
1975 var41 = 0;
1976 } else {
1977 var41 = var_listnode17->type->type_table[cltype42] == idtype43;
1978 }
1979 }
1980 if (!var41) {
1981 fprintf(stderr, "Runtime error: %s", "Assert failed");
1982 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10578);
1983 exit(1);
1984 }
1985 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction226>*/;
1986 var_listnode18 = var44;
1987 var_tkwendnode19 = var_nodearraylist11;
1988 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
1989 cltype46 = type_nullable_parser_nodes__TKwend.color;
1990 idtype47 = type_nullable_parser_nodes__TKwend.id;
1991 if(var_tkwendnode19 == NULL) {
1992 var45 = 1;
1993 } else {
1994 if(cltype46 >= var_tkwendnode19->type->table_size) {
1995 var45 = 0;
1996 } else {
1997 var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47;
1998 }
1999 }
2000 if (!var45) {
2001 fprintf(stderr, "Runtime error: %s", "Assert failed");
2002 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10581);
2003 exit(1);
2004 }
2005 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2006 var49 = NULL;
2007 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var48->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var49, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var48:AStdClassdef>*/;
2008 CHECK_NEW_parser_nodes__AStdClassdef(var48);
2009 var_pclassdefnode1 = var48;
2010 var_node_list = var_pclassdefnode1;
2011 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction226> */
2012 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
2013 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
2014 RET_LABEL:;
2015 }
2016 /* method parser#ReduceAction226#action for (self: Object, Parser) */
2017 void VIRTUAL_parser__ReduceAction226__action(val* self, val* p0) {
2018 parser__ReduceAction226__action(self, p0);
2019 RET_LABEL:;
2020 }
2021 /* method parser#ReduceAction227#action for (self: ReduceAction227, Parser) */
2022 void parser__ReduceAction227__action(val* self, val* p0) {
2023 val* var_p /* var p: Parser */;
2024 val* var /* : null */;
2025 val* var_node_list /* var node_list: nullable Object */;
2026 val* var1 /* : nullable Object */;
2027 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2028 val* var2 /* : nullable Object */;
2029 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2030 val* var3 /* : nullable Object */;
2031 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2032 val* var4 /* : nullable Object */;
2033 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2034 val* var5 /* : nullable Object */;
2035 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2036 val* var6 /* : nullable Object */;
2037 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2038 val* var7 /* : nullable Object */;
2039 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2040 val* var8 /* : nullable Object */;
2041 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2042 val* var9 /* : nullable Object */;
2043 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2044 val* var10 /* : nullable Object */;
2045 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2046 val* var11 /* : nullable Object */;
2047 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2048 val* var12 /* : Array[Object] */;
2049 val* var_listnode8 /* var listnode8: Array[Object] */;
2050 val* var13 /* : Array[Object] */;
2051 val* var_listnode16 /* var listnode16: Array[Object] */;
2052 val* var14 /* : Array[Object] */;
2053 val* var_listnode18 /* var listnode18: Array[Object] */;
2054 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2055 short int var15 /* : Bool */;
2056 int cltype;
2057 int idtype;
2058 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2059 short int var16 /* : Bool */;
2060 int cltype17;
2061 int idtype18;
2062 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2063 short int var19 /* : Bool */;
2064 int cltype20;
2065 int idtype21;
2066 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2067 short int var22 /* : Bool */;
2068 int cltype23;
2069 int idtype24;
2070 val* var_listnode7 /* var listnode7: nullable Object */;
2071 short int var25 /* : Bool */;
2072 int cltype26;
2073 int idtype27;
2074 val* var28 /* : Array[Object] */;
2075 val* var29 /* : Array[Object] */;
2076 val* var_listnode13 /* var listnode13: Array[Object] */;
2077 val* var_listnode12 /* var listnode12: nullable Object */;
2078 short int var30 /* : Bool */;
2079 int cltype31;
2080 int idtype32;
2081 val* var33 /* : Array[Object] */;
2082 val* var34 /* : AAnnotations */;
2083 val* var35 /* : null */;
2084 val* var36 /* : null */;
2085 val* var37 /* : null */;
2086 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
2087 val* var_listnode17 /* var listnode17: nullable Object */;
2088 short int var38 /* : Bool */;
2089 int cltype39;
2090 int idtype40;
2091 val* var41 /* : Array[Object] */;
2092 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
2093 short int var42 /* : Bool */;
2094 int cltype43;
2095 int idtype44;
2096 val* var45 /* : AStdClassdef */;
2097 val* var46 /* : null */;
2098 val* var47 /* : null */;
2099 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2100 long var48 /* : Int */;
2101 long var49 /* : Int */;
2102 var_p = p0;
2103 var = NULL;
2104 var_node_list = var;
2105 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2106 var_nodearraylist11 = var1;
2107 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2108 var_nodearraylist10 = var2;
2109 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2110 var_nodearraylist9 = var3;
2111 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2112 var_nodearraylist8 = var4;
2113 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2114 var_nodearraylist7 = var5;
2115 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2116 var_nodearraylist6 = var6;
2117 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2118 var_nodearraylist5 = var7;
2119 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2120 var_nodearraylist4 = var8;
2121 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2122 var_nodearraylist3 = var9;
2123 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2124 var_nodearraylist2 = var10;
2125 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2126 var_nodearraylist1 = var11;
2127 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2128 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2129 CHECK_NEW_array__Array(var12);
2130 var_listnode8 = var12;
2131 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2132 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2133 CHECK_NEW_array__Array(var13);
2134 var_listnode16 = var13;
2135 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2136 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2137 CHECK_NEW_array__Array(var14);
2138 var_listnode18 = var14;
2139 var_pdocnode2 = var_nodearraylist1;
2140 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2141 cltype = type_nullable_parser_nodes__ADoc.color;
2142 idtype = type_nullable_parser_nodes__ADoc.id;
2143 if(var_pdocnode2 == NULL) {
2144 var15 = 1;
2145 } else {
2146 if(cltype >= var_pdocnode2->type->table_size) {
2147 var15 = 0;
2148 } else {
2149 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
2150 }
2151 }
2152 if (!var15) {
2153 fprintf(stderr, "Runtime error: %s", "Assert failed");
2154 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10619);
2155 exit(1);
2156 }
2157 var_pvisibilitynode4 = var_nodearraylist2;
2158 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2159 cltype17 = type_nullable_parser_nodes__AVisibility.color;
2160 idtype18 = type_nullable_parser_nodes__AVisibility.id;
2161 if(var_pvisibilitynode4 == NULL) {
2162 var16 = 1;
2163 } else {
2164 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
2165 var16 = 0;
2166 } else {
2167 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
2168 }
2169 }
2170 if (!var16) {
2171 fprintf(stderr, "Runtime error: %s", "Assert failed");
2172 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10621);
2173 exit(1);
2174 }
2175 var_pclasskindnode5 = var_nodearraylist3;
2176 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2177 cltype20 = type_nullable_parser_nodes__AClasskind.color;
2178 idtype21 = type_nullable_parser_nodes__AClasskind.id;
2179 if(var_pclasskindnode5 == NULL) {
2180 var19 = 1;
2181 } else {
2182 if(cltype20 >= var_pclasskindnode5->type->table_size) {
2183 var19 = 0;
2184 } else {
2185 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
2186 }
2187 }
2188 if (!var19) {
2189 fprintf(stderr, "Runtime error: %s", "Assert failed");
2190 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10623);
2191 exit(1);
2192 }
2193 var_tclassidnode6 = var_nodearraylist6;
2194 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2195 cltype23 = type_nullable_parser_nodes__TClassid.color;
2196 idtype24 = type_nullable_parser_nodes__TClassid.id;
2197 if(var_tclassidnode6 == NULL) {
2198 var22 = 1;
2199 } else {
2200 if(cltype23 >= var_tclassidnode6->type->table_size) {
2201 var22 = 0;
2202 } else {
2203 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
2204 }
2205 }
2206 if (!var22) {
2207 fprintf(stderr, "Runtime error: %s", "Assert failed");
2208 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10625);
2209 exit(1);
2210 }
2211 var_listnode7 = var_nodearraylist7;
2212 /* <var_listnode7:nullable Object> isa Array[Object] */
2213 cltype26 = type_array__Arraykernel__Object.color;
2214 idtype27 = type_array__Arraykernel__Object.id;
2215 if(var_listnode7 == NULL) {
2216 var25 = 0;
2217 } else {
2218 if(cltype26 >= var_listnode7->type->table_size) {
2219 var25 = 0;
2220 } else {
2221 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
2222 }
2223 }
2224 if (!var25) {
2225 fprintf(stderr, "Runtime error: %s", "Assert failed");
2226 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10627);
2227 exit(1);
2228 }
2229 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction227>*/;
2230 var_listnode8 = var28;
2231 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
2232 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
2233 CHECK_NEW_array__Array(var29);
2234 var_listnode13 = var29;
2235 var_listnode12 = var_nodearraylist8;
2236 /* <var_listnode12:nullable Object> isa Array[Object] */
2237 cltype31 = type_array__Arraykernel__Object.color;
2238 idtype32 = type_array__Arraykernel__Object.id;
2239 if(var_listnode12 == NULL) {
2240 var30 = 0;
2241 } else {
2242 if(cltype31 >= var_listnode12->type->table_size) {
2243 var30 = 0;
2244 } else {
2245 var30 = var_listnode12->type->type_table[cltype31] == idtype32;
2246 }
2247 }
2248 if (!var30) {
2249 fprintf(stderr, "Runtime error: %s", "Assert failed");
2250 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10631);
2251 exit(1);
2252 }
2253 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction227>*/;
2254 var_listnode13 = var33;
2255 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2256 var35 = NULL;
2257 var36 = NULL;
2258 var37 = NULL;
2259 ((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>*/;
2260 CHECK_NEW_parser_nodes__AAnnotations(var34);
2261 var_pannotationsnode9 = var34;
2262 var_listnode17 = var_nodearraylist9;
2263 /* <var_listnode17:nullable Object> isa Array[Object] */
2264 cltype39 = type_array__Arraykernel__Object.color;
2265 idtype40 = type_array__Arraykernel__Object.id;
2266 if(var_listnode17 == NULL) {
2267 var38 = 0;
2268 } else {
2269 if(cltype39 >= var_listnode17->type->table_size) {
2270 var38 = 0;
2271 } else {
2272 var38 = var_listnode17->type->type_table[cltype39] == idtype40;
2273 }
2274 }
2275 if (!var38) {
2276 fprintf(stderr, "Runtime error: %s", "Assert failed");
2277 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10640);
2278 exit(1);
2279 }
2280 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction227>*/;
2281 var_listnode18 = var41;
2282 var_tkwendnode19 = var_nodearraylist11;
2283 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
2284 cltype43 = type_nullable_parser_nodes__TKwend.color;
2285 idtype44 = type_nullable_parser_nodes__TKwend.id;
2286 if(var_tkwendnode19 == NULL) {
2287 var42 = 1;
2288 } else {
2289 if(cltype43 >= var_tkwendnode19->type->table_size) {
2290 var42 = 0;
2291 } else {
2292 var42 = var_tkwendnode19->type->type_table[cltype43] == idtype44;
2293 }
2294 }
2295 if (!var42) {
2296 fprintf(stderr, "Runtime error: %s", "Assert failed");
2297 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10643);
2298 exit(1);
2299 }
2300 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2301 var46 = NULL;
2302 var47 = NULL;
2303 ((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, var46, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var47, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var45:AStdClassdef>*/;
2304 CHECK_NEW_parser_nodes__AStdClassdef(var45);
2305 var_pclassdefnode1 = var45;
2306 var_node_list = var_pclassdefnode1;
2307 var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction227> */
2308 var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on <var_p:Parser>*/;
2309 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on <var_p:Parser>*/;
2310 RET_LABEL:;
2311 }
2312 /* method parser#ReduceAction227#action for (self: Object, Parser) */
2313 void VIRTUAL_parser__ReduceAction227__action(val* self, val* p0) {
2314 parser__ReduceAction227__action(self, p0);
2315 RET_LABEL:;
2316 }
2317 /* method parser#ReduceAction228#action for (self: ReduceAction228, Parser) */
2318 void parser__ReduceAction228__action(val* self, val* p0) {
2319 val* var_p /* var p: Parser */;
2320 val* var /* : null */;
2321 val* var_node_list /* var node_list: nullable Object */;
2322 val* var1 /* : nullable Object */;
2323 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
2324 val* var2 /* : nullable Object */;
2325 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2326 val* var3 /* : nullable Object */;
2327 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2328 val* var4 /* : nullable Object */;
2329 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2330 val* var5 /* : nullable Object */;
2331 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2332 val* var6 /* : nullable Object */;
2333 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2334 val* var7 /* : nullable Object */;
2335 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2336 val* var8 /* : nullable Object */;
2337 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2338 val* var9 /* : nullable Object */;
2339 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2340 val* var10 /* : nullable Object */;
2341 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2342 val* var11 /* : nullable Object */;
2343 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2344 val* var12 /* : nullable Object */;
2345 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2346 val* var13 /* : Array[Object] */;
2347 val* var_listnode8 /* var listnode8: Array[Object] */;
2348 val* var14 /* : Array[Object] */;
2349 val* var_listnode16 /* var listnode16: Array[Object] */;
2350 val* var15 /* : Array[Object] */;
2351 val* var_listnode18 /* var listnode18: Array[Object] */;
2352 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2353 short int var16 /* : Bool */;
2354 int cltype;
2355 int idtype;
2356 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2357 short int var17 /* : Bool */;
2358 int cltype18;
2359 int idtype19;
2360 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2361 short int var20 /* : Bool */;
2362 int cltype21;
2363 int idtype22;
2364 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2365 short int var23 /* : Bool */;
2366 int cltype24;
2367 int idtype25;
2368 val* var_listnode7 /* var listnode7: nullable Object */;
2369 short int var26 /* : Bool */;
2370 int cltype27;
2371 int idtype28;
2372 val* var29 /* : Array[Object] */;
2373 val* var30 /* : Array[Object] */;
2374 val* var_listnode13 /* var listnode13: Array[Object] */;
2375 val* var_listnode12 /* var listnode12: nullable Object */;
2376 short int var31 /* : Bool */;
2377 int cltype32;
2378 int idtype33;
2379 val* var34 /* : Array[Object] */;
2380 val* var35 /* : AAnnotations */;
2381 val* var36 /* : null */;
2382 val* var37 /* : null */;
2383 val* var38 /* : null */;
2384 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
2385 val* var_listnode17 /* var listnode17: nullable Object */;
2386 short int var39 /* : Bool */;
2387 int cltype40;
2388 int idtype41;
2389 val* var42 /* : Array[Object] */;
2390 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
2391 short int var43 /* : Bool */;
2392 int cltype44;
2393 int idtype45;
2394 val* var46 /* : AStdClassdef */;
2395 val* var47 /* : null */;
2396 val* var48 /* : null */;
2397 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2398 long var49 /* : Int */;
2399 long var50 /* : Int */;
2400 var_p = p0;
2401 var = NULL;
2402 var_node_list = var;
2403 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2404 var_nodearraylist12 = var1;
2405 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2406 var_nodearraylist11 = var2;
2407 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2408 var_nodearraylist10 = var3;
2409 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2410 var_nodearraylist9 = var4;
2411 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2412 var_nodearraylist8 = var5;
2413 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2414 var_nodearraylist7 = var6;
2415 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2416 var_nodearraylist6 = var7;
2417 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2418 var_nodearraylist5 = var8;
2419 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2420 var_nodearraylist4 = var9;
2421 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2422 var_nodearraylist3 = var10;
2423 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2424 var_nodearraylist2 = var11;
2425 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2426 var_nodearraylist1 = var12;
2427 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2428 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2429 CHECK_NEW_array__Array(var13);
2430 var_listnode8 = var13;
2431 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2432 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2433 CHECK_NEW_array__Array(var14);
2434 var_listnode16 = var14;
2435 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
2436 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
2437 CHECK_NEW_array__Array(var15);
2438 var_listnode18 = var15;
2439 var_pdocnode2 = var_nodearraylist1;
2440 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2441 cltype = type_nullable_parser_nodes__ADoc.color;
2442 idtype = type_nullable_parser_nodes__ADoc.id;
2443 if(var_pdocnode2 == NULL) {
2444 var16 = 1;
2445 } else {
2446 if(cltype >= var_pdocnode2->type->table_size) {
2447 var16 = 0;
2448 } else {
2449 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
2450 }
2451 }
2452 if (!var16) {
2453 fprintf(stderr, "Runtime error: %s", "Assert failed");
2454 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10682);
2455 exit(1);
2456 }
2457 var_pvisibilitynode4 = var_nodearraylist2;
2458 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2459 cltype18 = type_nullable_parser_nodes__AVisibility.color;
2460 idtype19 = type_nullable_parser_nodes__AVisibility.id;
2461 if(var_pvisibilitynode4 == NULL) {
2462 var17 = 1;
2463 } else {
2464 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
2465 var17 = 0;
2466 } else {
2467 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
2468 }
2469 }
2470 if (!var17) {
2471 fprintf(stderr, "Runtime error: %s", "Assert failed");
2472 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10684);
2473 exit(1);
2474 }
2475 var_pclasskindnode5 = var_nodearraylist3;
2476 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2477 cltype21 = type_nullable_parser_nodes__AClasskind.color;
2478 idtype22 = type_nullable_parser_nodes__AClasskind.id;
2479 if(var_pclasskindnode5 == NULL) {
2480 var20 = 1;
2481 } else {
2482 if(cltype21 >= var_pclasskindnode5->type->table_size) {
2483 var20 = 0;
2484 } else {
2485 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
2486 }
2487 }
2488 if (!var20) {
2489 fprintf(stderr, "Runtime error: %s", "Assert failed");
2490 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10686);
2491 exit(1);
2492 }
2493 var_tclassidnode6 = var_nodearraylist7;
2494 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2495 cltype24 = type_nullable_parser_nodes__TClassid.color;
2496 idtype25 = type_nullable_parser_nodes__TClassid.id;
2497 if(var_tclassidnode6 == NULL) {
2498 var23 = 1;
2499 } else {
2500 if(cltype24 >= var_tclassidnode6->type->table_size) {
2501 var23 = 0;
2502 } else {
2503 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
2504 }
2505 }
2506 if (!var23) {
2507 fprintf(stderr, "Runtime error: %s", "Assert failed");
2508 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10688);
2509 exit(1);
2510 }
2511 var_listnode7 = var_nodearraylist8;
2512 /* <var_listnode7:nullable Object> isa Array[Object] */
2513 cltype27 = type_array__Arraykernel__Object.color;
2514 idtype28 = type_array__Arraykernel__Object.id;
2515 if(var_listnode7 == NULL) {
2516 var26 = 0;
2517 } else {
2518 if(cltype27 >= var_listnode7->type->table_size) {
2519 var26 = 0;
2520 } else {
2521 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
2522 }
2523 }
2524 if (!var26) {
2525 fprintf(stderr, "Runtime error: %s", "Assert failed");
2526 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10690);
2527 exit(1);
2528 }
2529 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction228>*/;
2530 var_listnode8 = var29;
2531 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
2532 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
2533 CHECK_NEW_array__Array(var30);
2534 var_listnode13 = var30;
2535 var_listnode12 = var_nodearraylist9;
2536 /* <var_listnode12:nullable Object> isa Array[Object] */
2537 cltype32 = type_array__Arraykernel__Object.color;
2538 idtype33 = type_array__Arraykernel__Object.id;
2539 if(var_listnode12 == NULL) {
2540 var31 = 0;
2541 } else {
2542 if(cltype32 >= var_listnode12->type->table_size) {
2543 var31 = 0;
2544 } else {
2545 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
2546 }
2547 }
2548 if (!var31) {
2549 fprintf(stderr, "Runtime error: %s", "Assert failed");
2550 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10694);
2551 exit(1);
2552 }
2553 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction228>*/;
2554 var_listnode13 = var34;
2555 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2556 var36 = NULL;
2557 var37 = NULL;
2558 var38 = NULL;
2559 ((void (*)(val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var35, var36, var37, var_listnode13, var38) /* init_aannotations on <var35:AAnnotations>*/;
2560 CHECK_NEW_parser_nodes__AAnnotations(var35);
2561 var_pannotationsnode9 = var35;
2562 var_listnode17 = var_nodearraylist10;
2563 /* <var_listnode17:nullable Object> isa Array[Object] */
2564 cltype40 = type_array__Arraykernel__Object.color;
2565 idtype41 = type_array__Arraykernel__Object.id;
2566 if(var_listnode17 == NULL) {
2567 var39 = 0;
2568 } else {
2569 if(cltype40 >= var_listnode17->type->table_size) {
2570 var39 = 0;
2571 } else {
2572 var39 = var_listnode17->type->type_table[cltype40] == idtype41;
2573 }
2574 }
2575 if (!var39) {
2576 fprintf(stderr, "Runtime error: %s", "Assert failed");
2577 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10703);
2578 exit(1);
2579 }
2580 var42 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction228>*/;
2581 var_listnode18 = var42;
2582 var_tkwendnode19 = var_nodearraylist12;
2583 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
2584 cltype44 = type_nullable_parser_nodes__TKwend.color;
2585 idtype45 = type_nullable_parser_nodes__TKwend.id;
2586 if(var_tkwendnode19 == NULL) {
2587 var43 = 1;
2588 } else {
2589 if(cltype44 >= var_tkwendnode19->type->table_size) {
2590 var43 = 0;
2591 } else {
2592 var43 = var_tkwendnode19->type->type_table[cltype44] == idtype45;
2593 }
2594 }
2595 if (!var43) {
2596 fprintf(stderr, "Runtime error: %s", "Assert failed");
2597 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10706);
2598 exit(1);
2599 }
2600 var46 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2601 var47 = NULL;
2602 var48 = NULL;
2603 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var46->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var46, var_pdocnode2, var47, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var48, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var46:AStdClassdef>*/;
2604 CHECK_NEW_parser_nodes__AStdClassdef(var46);
2605 var_pclassdefnode1 = var46;
2606 var_node_list = var_pclassdefnode1;
2607 var49 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction228> */
2608 var50 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var49) /* go_to on <var_p:Parser>*/;
2609 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var50, var_node_list) /* push on <var_p:Parser>*/;
2610 RET_LABEL:;
2611 }
2612 /* method parser#ReduceAction228#action for (self: Object, Parser) */
2613 void VIRTUAL_parser__ReduceAction228__action(val* self, val* p0) {
2614 parser__ReduceAction228__action(self, p0);
2615 RET_LABEL:;
2616 }
2617 /* method parser#ReduceAction230#action for (self: ReduceAction230, Parser) */
2618 void parser__ReduceAction230__action(val* self, val* p0) {
2619 val* var_p /* var p: Parser */;
2620 val* var /* : null */;
2621 val* var_node_list /* var node_list: nullable Object */;
2622 val* var1 /* : nullable Object */;
2623 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
2624 val* var2 /* : nullable Object */;
2625 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2626 val* var3 /* : nullable Object */;
2627 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2628 val* var4 /* : nullable Object */;
2629 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2630 val* var5 /* : nullable Object */;
2631 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2632 val* var6 /* : nullable Object */;
2633 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2634 val* var7 /* : nullable Object */;
2635 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2636 val* var8 /* : nullable Object */;
2637 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2638 val* var9 /* : nullable Object */;
2639 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2640 val* var10 /* : nullable Object */;
2641 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2642 val* var11 /* : nullable Object */;
2643 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2644 val* var12 /* : nullable Object */;
2645 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2646 val* var13 /* : Array[Object] */;
2647 val* var_listnode8 /* var listnode8: Array[Object] */;
2648 val* var14 /* : Array[Object] */;
2649 val* var_listnode16 /* var listnode16: Array[Object] */;
2650 val* var15 /* : Array[Object] */;
2651 val* var_listnode18 /* var listnode18: Array[Object] */;
2652 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2653 short int var16 /* : Bool */;
2654 int cltype;
2655 int idtype;
2656 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2657 short int var17 /* : Bool */;
2658 int cltype18;
2659 int idtype19;
2660 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2661 short int var20 /* : Bool */;
2662 int cltype21;
2663 int idtype22;
2664 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2665 short int var23 /* : Bool */;
2666 int cltype24;
2667 int idtype25;
2668 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2669 short int var26 /* : Bool */;
2670 int cltype27;
2671 int idtype28;
2672 val* var_listnode7 /* var listnode7: nullable Object */;
2673 short int var29 /* : Bool */;
2674 int cltype30;
2675 int idtype31;
2676 val* var32 /* : Array[Object] */;
2677 val* var33 /* : Array[Object] */;
2678 val* var_listnode13 /* var listnode13: Array[Object] */;
2679 val* var_listnode12 /* var listnode12: nullable Object */;
2680 short int var34 /* : Bool */;
2681 int cltype35;
2682 int idtype36;
2683 val* var37 /* : Array[Object] */;
2684 val* var38 /* : AAnnotations */;
2685 val* var39 /* : null */;
2686 val* var40 /* : null */;
2687 val* var41 /* : null */;
2688 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
2689 val* var_listnode17 /* var listnode17: nullable Object */;
2690 short int var42 /* : Bool */;
2691 int cltype43;
2692 int idtype44;
2693 val* var45 /* : Array[Object] */;
2694 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
2695 short int var46 /* : Bool */;
2696 int cltype47;
2697 int idtype48;
2698 val* var49 /* : AStdClassdef */;
2699 val* var50 /* : null */;
2700 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2701 long var51 /* : Int */;
2702 long var52 /* : Int */;
2703 var_p = p0;
2704 var = NULL;
2705 var_node_list = var;
2706 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2707 var_nodearraylist12 = var1;
2708 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2709 var_nodearraylist11 = var2;
2710 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2711 var_nodearraylist10 = var3;
2712 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2713 var_nodearraylist9 = var4;
2714 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2715 var_nodearraylist8 = var5;
2716 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2717 var_nodearraylist7 = var6;
2718 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2719 var_nodearraylist6 = var7;
2720 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2721 var_nodearraylist5 = var8;
2722 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2723 var_nodearraylist4 = var9;
2724 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2725 var_nodearraylist3 = var10;
2726 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2727 var_nodearraylist2 = var11;
2728 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2729 var_nodearraylist1 = var12;
2730 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2731 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2732 CHECK_NEW_array__Array(var13);
2733 var_listnode8 = var13;
2734 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2735 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2736 CHECK_NEW_array__Array(var14);
2737 var_listnode16 = var14;
2738 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
2739 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
2740 CHECK_NEW_array__Array(var15);
2741 var_listnode18 = var15;
2742 var_pdocnode2 = var_nodearraylist1;
2743 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2744 cltype = type_nullable_parser_nodes__ADoc.color;
2745 idtype = type_nullable_parser_nodes__ADoc.id;
2746 if(var_pdocnode2 == NULL) {
2747 var16 = 1;
2748 } else {
2749 if(cltype >= var_pdocnode2->type->table_size) {
2750 var16 = 0;
2751 } else {
2752 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
2753 }
2754 }
2755 if (!var16) {
2756 fprintf(stderr, "Runtime error: %s", "Assert failed");
2757 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10745);
2758 exit(1);
2759 }
2760 var_tkwredefnode3 = var_nodearraylist2;
2761 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2762 cltype18 = type_nullable_parser_nodes__TKwredef.color;
2763 idtype19 = type_nullable_parser_nodes__TKwredef.id;
2764 if(var_tkwredefnode3 == NULL) {
2765 var17 = 1;
2766 } else {
2767 if(cltype18 >= var_tkwredefnode3->type->table_size) {
2768 var17 = 0;
2769 } else {
2770 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
2771 }
2772 }
2773 if (!var17) {
2774 fprintf(stderr, "Runtime error: %s", "Assert failed");
2775 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10747);
2776 exit(1);
2777 }
2778 var_pvisibilitynode4 = var_nodearraylist3;
2779 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2780 cltype21 = type_nullable_parser_nodes__AVisibility.color;
2781 idtype22 = type_nullable_parser_nodes__AVisibility.id;
2782 if(var_pvisibilitynode4 == NULL) {
2783 var20 = 1;
2784 } else {
2785 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
2786 var20 = 0;
2787 } else {
2788 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
2789 }
2790 }
2791 if (!var20) {
2792 fprintf(stderr, "Runtime error: %s", "Assert failed");
2793 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10749);
2794 exit(1);
2795 }
2796 var_pclasskindnode5 = var_nodearraylist4;
2797 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2798 cltype24 = type_nullable_parser_nodes__AClasskind.color;
2799 idtype25 = type_nullable_parser_nodes__AClasskind.id;
2800 if(var_pclasskindnode5 == NULL) {
2801 var23 = 1;
2802 } else {
2803 if(cltype24 >= var_pclasskindnode5->type->table_size) {
2804 var23 = 0;
2805 } else {
2806 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
2807 }
2808 }
2809 if (!var23) {
2810 fprintf(stderr, "Runtime error: %s", "Assert failed");
2811 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10751);
2812 exit(1);
2813 }
2814 var_tclassidnode6 = var_nodearraylist7;
2815 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2816 cltype27 = type_nullable_parser_nodes__TClassid.color;
2817 idtype28 = type_nullable_parser_nodes__TClassid.id;
2818 if(var_tclassidnode6 == NULL) {
2819 var26 = 1;
2820 } else {
2821 if(cltype27 >= var_tclassidnode6->type->table_size) {
2822 var26 = 0;
2823 } else {
2824 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
2825 }
2826 }
2827 if (!var26) {
2828 fprintf(stderr, "Runtime error: %s", "Assert failed");
2829 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10753);
2830 exit(1);
2831 }
2832 var_listnode7 = var_nodearraylist8;
2833 /* <var_listnode7:nullable Object> isa Array[Object] */
2834 cltype30 = type_array__Arraykernel__Object.color;
2835 idtype31 = type_array__Arraykernel__Object.id;
2836 if(var_listnode7 == NULL) {
2837 var29 = 0;
2838 } else {
2839 if(cltype30 >= var_listnode7->type->table_size) {
2840 var29 = 0;
2841 } else {
2842 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
2843 }
2844 }
2845 if (!var29) {
2846 fprintf(stderr, "Runtime error: %s", "Assert failed");
2847 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10755);
2848 exit(1);
2849 }
2850 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction230>*/;
2851 var_listnode8 = var32;
2852 var33 = NEW_array__Array(&type_array__Arraykernel__Object);
2853 ((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on <var33:Array[Object]>*/;
2854 CHECK_NEW_array__Array(var33);
2855 var_listnode13 = var33;
2856 var_listnode12 = var_nodearraylist9;
2857 /* <var_listnode12:nullable Object> isa Array[Object] */
2858 cltype35 = type_array__Arraykernel__Object.color;
2859 idtype36 = type_array__Arraykernel__Object.id;
2860 if(var_listnode12 == NULL) {
2861 var34 = 0;
2862 } else {
2863 if(cltype35 >= var_listnode12->type->table_size) {
2864 var34 = 0;
2865 } else {
2866 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
2867 }
2868 }
2869 if (!var34) {
2870 fprintf(stderr, "Runtime error: %s", "Assert failed");
2871 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10759);
2872 exit(1);
2873 }
2874 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction230>*/;
2875 var_listnode13 = var37;
2876 var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2877 var39 = NULL;
2878 var40 = NULL;
2879 var41 = NULL;
2880 ((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>*/;
2881 CHECK_NEW_parser_nodes__AAnnotations(var38);
2882 var_pannotationsnode9 = var38;
2883 var_listnode17 = var_nodearraylist10;
2884 /* <var_listnode17:nullable Object> isa Array[Object] */
2885 cltype43 = type_array__Arraykernel__Object.color;
2886 idtype44 = type_array__Arraykernel__Object.id;
2887 if(var_listnode17 == NULL) {
2888 var42 = 0;
2889 } else {
2890 if(cltype43 >= var_listnode17->type->table_size) {
2891 var42 = 0;
2892 } else {
2893 var42 = var_listnode17->type->type_table[cltype43] == idtype44;
2894 }
2895 }
2896 if (!var42) {
2897 fprintf(stderr, "Runtime error: %s", "Assert failed");
2898 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10768);
2899 exit(1);
2900 }
2901 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction230>*/;
2902 var_listnode18 = var45;
2903 var_tkwendnode19 = var_nodearraylist12;
2904 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
2905 cltype47 = type_nullable_parser_nodes__TKwend.color;
2906 idtype48 = type_nullable_parser_nodes__TKwend.id;
2907 if(var_tkwendnode19 == NULL) {
2908 var46 = 1;
2909 } else {
2910 if(cltype47 >= var_tkwendnode19->type->table_size) {
2911 var46 = 0;
2912 } else {
2913 var46 = var_tkwendnode19->type->type_table[cltype47] == idtype48;
2914 }
2915 }
2916 if (!var46) {
2917 fprintf(stderr, "Runtime error: %s", "Assert failed");
2918 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10771);
2919 exit(1);
2920 }
2921 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2922 var50 = NULL;
2923 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var49->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var49, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var50, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var49:AStdClassdef>*/;
2924 CHECK_NEW_parser_nodes__AStdClassdef(var49);
2925 var_pclassdefnode1 = var49;
2926 var_node_list = var_pclassdefnode1;
2927 var51 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction230> */
2928 var52 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var51) /* go_to on <var_p:Parser>*/;
2929 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var52, var_node_list) /* push on <var_p:Parser>*/;
2930 RET_LABEL:;
2931 }
2932 /* method parser#ReduceAction230#action for (self: Object, Parser) */
2933 void VIRTUAL_parser__ReduceAction230__action(val* self, val* p0) {
2934 parser__ReduceAction230__action(self, p0);
2935 RET_LABEL:;
2936 }
2937 /* method parser#ReduceAction231#action for (self: ReduceAction231, Parser) */
2938 void parser__ReduceAction231__action(val* self, val* p0) {
2939 val* var_p /* var p: Parser */;
2940 val* var /* : null */;
2941 val* var_node_list /* var node_list: nullable Object */;
2942 val* var1 /* : nullable Object */;
2943 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
2944 val* var2 /* : nullable Object */;
2945 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
2946 val* var3 /* : nullable Object */;
2947 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2948 val* var4 /* : nullable Object */;
2949 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2950 val* var5 /* : nullable Object */;
2951 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2952 val* var6 /* : nullable Object */;
2953 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2954 val* var7 /* : nullable Object */;
2955 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2956 val* var8 /* : nullable Object */;
2957 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2958 val* var9 /* : nullable Object */;
2959 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2960 val* var10 /* : nullable Object */;
2961 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2962 val* var11 /* : nullable Object */;
2963 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2964 val* var12 /* : nullable Object */;
2965 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2966 val* var13 /* : nullable Object */;
2967 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2968 val* var14 /* : Array[Object] */;
2969 val* var_listnode8 /* var listnode8: Array[Object] */;
2970 val* var15 /* : Array[Object] */;
2971 val* var_listnode16 /* var listnode16: Array[Object] */;
2972 val* var16 /* : Array[Object] */;
2973 val* var_listnode18 /* var listnode18: Array[Object] */;
2974 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2975 short int var17 /* : Bool */;
2976 int cltype;
2977 int idtype;
2978 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2979 short int var18 /* : Bool */;
2980 int cltype19;
2981 int idtype20;
2982 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2983 short int var21 /* : Bool */;
2984 int cltype22;
2985 int idtype23;
2986 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2987 short int var24 /* : Bool */;
2988 int cltype25;
2989 int idtype26;
2990 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2991 short int var27 /* : Bool */;
2992 int cltype28;
2993 int idtype29;
2994 val* var_listnode7 /* var listnode7: nullable Object */;
2995 short int var30 /* : Bool */;
2996 int cltype31;
2997 int idtype32;
2998 val* var33 /* : Array[Object] */;
2999 val* var34 /* : Array[Object] */;
3000 val* var_listnode13 /* var listnode13: Array[Object] */;
3001 val* var_listnode12 /* var listnode12: nullable Object */;
3002 short int var35 /* : Bool */;
3003 int cltype36;
3004 int idtype37;
3005 val* var38 /* : Array[Object] */;
3006 val* var39 /* : AAnnotations */;
3007 val* var40 /* : null */;
3008 val* var41 /* : null */;
3009 val* var42 /* : null */;
3010 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
3011 val* var_listnode17 /* var listnode17: nullable Object */;
3012 short int var43 /* : Bool */;
3013 int cltype44;
3014 int idtype45;
3015 val* var46 /* : Array[Object] */;
3016 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
3017 short int var47 /* : Bool */;
3018 int cltype48;
3019 int idtype49;
3020 val* var50 /* : AStdClassdef */;
3021 val* var51 /* : null */;
3022 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3023 long var52 /* : Int */;
3024 long var53 /* : Int */;
3025 var_p = p0;
3026 var = NULL;
3027 var_node_list = var;
3028 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3029 var_nodearraylist13 = var1;
3030 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3031 var_nodearraylist12 = var2;
3032 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3033 var_nodearraylist11 = var3;
3034 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3035 var_nodearraylist10 = var4;
3036 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3037 var_nodearraylist9 = var5;
3038 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3039 var_nodearraylist8 = var6;
3040 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3041 var_nodearraylist7 = var7;
3042 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3043 var_nodearraylist6 = var8;
3044 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3045 var_nodearraylist5 = var9;
3046 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3047 var_nodearraylist4 = var10;
3048 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3049 var_nodearraylist3 = var11;
3050 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3051 var_nodearraylist2 = var12;
3052 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3053 var_nodearraylist1 = var13;
3054 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3055 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3056 CHECK_NEW_array__Array(var14);
3057 var_listnode8 = var14;
3058 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
3059 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
3060 CHECK_NEW_array__Array(var15);
3061 var_listnode16 = var15;
3062 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
3063 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
3064 CHECK_NEW_array__Array(var16);
3065 var_listnode18 = var16;
3066 var_pdocnode2 = var_nodearraylist1;
3067 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3068 cltype = type_nullable_parser_nodes__ADoc.color;
3069 idtype = type_nullable_parser_nodes__ADoc.id;
3070 if(var_pdocnode2 == NULL) {
3071 var17 = 1;
3072 } else {
3073 if(cltype >= var_pdocnode2->type->table_size) {
3074 var17 = 0;
3075 } else {
3076 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
3077 }
3078 }
3079 if (!var17) {
3080 fprintf(stderr, "Runtime error: %s", "Assert failed");
3081 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10811);
3082 exit(1);
3083 }
3084 var_tkwredefnode3 = var_nodearraylist2;
3085 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3086 cltype19 = type_nullable_parser_nodes__TKwredef.color;
3087 idtype20 = type_nullable_parser_nodes__TKwredef.id;
3088 if(var_tkwredefnode3 == NULL) {
3089 var18 = 1;
3090 } else {
3091 if(cltype19 >= var_tkwredefnode3->type->table_size) {
3092 var18 = 0;
3093 } else {
3094 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
3095 }
3096 }
3097 if (!var18) {
3098 fprintf(stderr, "Runtime error: %s", "Assert failed");
3099 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10813);
3100 exit(1);
3101 }
3102 var_pvisibilitynode4 = var_nodearraylist3;
3103 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3104 cltype22 = type_nullable_parser_nodes__AVisibility.color;
3105 idtype23 = type_nullable_parser_nodes__AVisibility.id;
3106 if(var_pvisibilitynode4 == NULL) {
3107 var21 = 1;
3108 } else {
3109 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
3110 var21 = 0;
3111 } else {
3112 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
3113 }
3114 }
3115 if (!var21) {
3116 fprintf(stderr, "Runtime error: %s", "Assert failed");
3117 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10815);
3118 exit(1);
3119 }
3120 var_pclasskindnode5 = var_nodearraylist4;
3121 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3122 cltype25 = type_nullable_parser_nodes__AClasskind.color;
3123 idtype26 = type_nullable_parser_nodes__AClasskind.id;
3124 if(var_pclasskindnode5 == NULL) {
3125 var24 = 1;
3126 } else {
3127 if(cltype25 >= var_pclasskindnode5->type->table_size) {
3128 var24 = 0;
3129 } else {
3130 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
3131 }
3132 }
3133 if (!var24) {
3134 fprintf(stderr, "Runtime error: %s", "Assert failed");
3135 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10817);
3136 exit(1);
3137 }
3138 var_tclassidnode6 = var_nodearraylist8;
3139 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3140 cltype28 = type_nullable_parser_nodes__TClassid.color;
3141 idtype29 = type_nullable_parser_nodes__TClassid.id;
3142 if(var_tclassidnode6 == NULL) {
3143 var27 = 1;
3144 } else {
3145 if(cltype28 >= var_tclassidnode6->type->table_size) {
3146 var27 = 0;
3147 } else {
3148 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
3149 }
3150 }
3151 if (!var27) {
3152 fprintf(stderr, "Runtime error: %s", "Assert failed");
3153 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10819);
3154 exit(1);
3155 }
3156 var_listnode7 = var_nodearraylist9;
3157 /* <var_listnode7:nullable Object> isa Array[Object] */
3158 cltype31 = type_array__Arraykernel__Object.color;
3159 idtype32 = type_array__Arraykernel__Object.id;
3160 if(var_listnode7 == NULL) {
3161 var30 = 0;
3162 } else {
3163 if(cltype31 >= var_listnode7->type->table_size) {
3164 var30 = 0;
3165 } else {
3166 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
3167 }
3168 }
3169 if (!var30) {
3170 fprintf(stderr, "Runtime error: %s", "Assert failed");
3171 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10821);
3172 exit(1);
3173 }
3174 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction231>*/;
3175 var_listnode8 = var33;
3176 var34 = NEW_array__Array(&type_array__Arraykernel__Object);
3177 ((void (*)(val*))(var34->class->vft[COLOR_array__Array__init]))(var34) /* init on <var34:Array[Object]>*/;
3178 CHECK_NEW_array__Array(var34);
3179 var_listnode13 = var34;
3180 var_listnode12 = var_nodearraylist10;
3181 /* <var_listnode12:nullable Object> isa Array[Object] */
3182 cltype36 = type_array__Arraykernel__Object.color;
3183 idtype37 = type_array__Arraykernel__Object.id;
3184 if(var_listnode12 == NULL) {
3185 var35 = 0;
3186 } else {
3187 if(cltype36 >= var_listnode12->type->table_size) {
3188 var35 = 0;
3189 } else {
3190 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
3191 }
3192 }
3193 if (!var35) {
3194 fprintf(stderr, "Runtime error: %s", "Assert failed");
3195 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10825);
3196 exit(1);
3197 }
3198 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction231>*/;
3199 var_listnode13 = var38;
3200 var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3201 var40 = NULL;
3202 var41 = NULL;
3203 var42 = NULL;
3204 ((void (*)(val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var39, var40, var41, var_listnode13, var42) /* init_aannotations on <var39:AAnnotations>*/;
3205 CHECK_NEW_parser_nodes__AAnnotations(var39);
3206 var_pannotationsnode9 = var39;
3207 var_listnode17 = var_nodearraylist11;
3208 /* <var_listnode17:nullable Object> isa Array[Object] */
3209 cltype44 = type_array__Arraykernel__Object.color;
3210 idtype45 = type_array__Arraykernel__Object.id;
3211 if(var_listnode17 == NULL) {
3212 var43 = 0;
3213 } else {
3214 if(cltype44 >= var_listnode17->type->table_size) {
3215 var43 = 0;
3216 } else {
3217 var43 = var_listnode17->type->type_table[cltype44] == idtype45;
3218 }
3219 }
3220 if (!var43) {
3221 fprintf(stderr, "Runtime error: %s", "Assert failed");
3222 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10834);
3223 exit(1);
3224 }
3225 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction231>*/;
3226 var_listnode18 = var46;
3227 var_tkwendnode19 = var_nodearraylist13;
3228 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
3229 cltype48 = type_nullable_parser_nodes__TKwend.color;
3230 idtype49 = type_nullable_parser_nodes__TKwend.id;
3231 if(var_tkwendnode19 == NULL) {
3232 var47 = 1;
3233 } else {
3234 if(cltype48 >= var_tkwendnode19->type->table_size) {
3235 var47 = 0;
3236 } else {
3237 var47 = var_tkwendnode19->type->type_table[cltype48] == idtype49;
3238 }
3239 }
3240 if (!var47) {
3241 fprintf(stderr, "Runtime error: %s", "Assert failed");
3242 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10837);
3243 exit(1);
3244 }
3245 var50 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3246 var51 = NULL;
3247 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var50->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var50, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var51, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var50:AStdClassdef>*/;
3248 CHECK_NEW_parser_nodes__AStdClassdef(var50);
3249 var_pclassdefnode1 = var50;
3250 var_node_list = var_pclassdefnode1;
3251 var52 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction231> */
3252 var53 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var52) /* go_to on <var_p:Parser>*/;
3253 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var53, var_node_list) /* push on <var_p:Parser>*/;
3254 RET_LABEL:;
3255 }
3256 /* method parser#ReduceAction231#action for (self: Object, Parser) */
3257 void VIRTUAL_parser__ReduceAction231__action(val* self, val* p0) {
3258 parser__ReduceAction231__action(self, p0);
3259 RET_LABEL:;
3260 }
3261 /* method parser#ReduceAction233#action for (self: ReduceAction233, Parser) */
3262 void parser__ReduceAction233__action(val* self, val* p0) {
3263 val* var_p /* var p: Parser */;
3264 val* var /* : null */;
3265 val* var_node_list /* var node_list: nullable Object */;
3266 val* var1 /* : nullable Object */;
3267 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3268 val* var2 /* : nullable Object */;
3269 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3270 val* var3 /* : nullable Object */;
3271 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3272 val* var4 /* : nullable Object */;
3273 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3274 val* var5 /* : nullable Object */;
3275 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3276 val* var6 /* : nullable Object */;
3277 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3278 val* var7 /* : nullable Object */;
3279 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3280 val* var8 /* : nullable Object */;
3281 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3282 val* var9 /* : nullable Object */;
3283 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3284 val* var10 /* : Array[Object] */;
3285 val* var_listnode7 /* var listnode7: Array[Object] */;
3286 val* var11 /* : Array[Object] */;
3287 val* var_listnode10 /* var listnode10: Array[Object] */;
3288 val* var12 /* : Array[Object] */;
3289 val* var_listnode12 /* var listnode12: Array[Object] */;
3290 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3291 short int var13 /* : Bool */;
3292 int cltype;
3293 int idtype;
3294 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3295 short int var14 /* : Bool */;
3296 int cltype15;
3297 int idtype16;
3298 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3299 short int var17 /* : Bool */;
3300 int cltype18;
3301 int idtype19;
3302 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3303 short int var20 /* : Bool */;
3304 int cltype21;
3305 int idtype22;
3306 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
3307 short int var23 /* : Bool */;
3308 int cltype24;
3309 int idtype25;
3310 val* var_listnode11 /* var listnode11: nullable Object */;
3311 short int var26 /* : Bool */;
3312 int cltype27;
3313 int idtype28;
3314 val* var29 /* : Array[Object] */;
3315 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
3316 short int var30 /* : Bool */;
3317 int cltype31;
3318 int idtype32;
3319 val* var33 /* : AStdClassdef */;
3320 val* var34 /* : null */;
3321 val* var35 /* : null */;
3322 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3323 long var36 /* : Int */;
3324 long var37 /* : Int */;
3325 var_p = p0;
3326 var = NULL;
3327 var_node_list = var;
3328 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3329 var_nodearraylist9 = var1;
3330 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3331 var_nodearraylist8 = var2;
3332 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3333 var_nodearraylist7 = var3;
3334 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3335 var_nodearraylist6 = var4;
3336 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3337 var_nodearraylist5 = var5;
3338 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3339 var_nodearraylist4 = var6;
3340 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3341 var_nodearraylist3 = var7;
3342 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3343 var_nodearraylist2 = var8;
3344 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3345 var_nodearraylist1 = var9;
3346 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
3347 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
3348 CHECK_NEW_array__Array(var10);
3349 var_listnode7 = var10;
3350 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3351 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3352 CHECK_NEW_array__Array(var11);
3353 var_listnode10 = var11;
3354 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3355 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3356 CHECK_NEW_array__Array(var12);
3357 var_listnode12 = var12;
3358 var_pdocnode2 = var_nodearraylist1;
3359 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3360 cltype = type_nullable_parser_nodes__ADoc.color;
3361 idtype = type_nullable_parser_nodes__ADoc.id;
3362 if(var_pdocnode2 == NULL) {
3363 var13 = 1;
3364 } else {
3365 if(cltype >= var_pdocnode2->type->table_size) {
3366 var13 = 0;
3367 } else {
3368 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
3369 }
3370 }
3371 if (!var13) {
3372 fprintf(stderr, "Runtime error: %s", "Assert failed");
3373 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10873);
3374 exit(1);
3375 }
3376 var_pvisibilitynode4 = var_nodearraylist2;
3377 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3378 cltype15 = type_nullable_parser_nodes__AVisibility.color;
3379 idtype16 = type_nullable_parser_nodes__AVisibility.id;
3380 if(var_pvisibilitynode4 == NULL) {
3381 var14 = 1;
3382 } else {
3383 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
3384 var14 = 0;
3385 } else {
3386 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
3387 }
3388 }
3389 if (!var14) {
3390 fprintf(stderr, "Runtime error: %s", "Assert failed");
3391 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10875);
3392 exit(1);
3393 }
3394 var_pclasskindnode5 = var_nodearraylist3;
3395 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3396 cltype18 = type_nullable_parser_nodes__AClasskind.color;
3397 idtype19 = type_nullable_parser_nodes__AClasskind.id;
3398 if(var_pclasskindnode5 == NULL) {
3399 var17 = 1;
3400 } else {
3401 if(cltype18 >= var_pclasskindnode5->type->table_size) {
3402 var17 = 0;
3403 } else {
3404 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
3405 }
3406 }
3407 if (!var17) {
3408 fprintf(stderr, "Runtime error: %s", "Assert failed");
3409 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10877);
3410 exit(1);
3411 }
3412 var_tclassidnode6 = var_nodearraylist5;
3413 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3414 cltype21 = type_nullable_parser_nodes__TClassid.color;
3415 idtype22 = type_nullable_parser_nodes__TClassid.id;
3416 if(var_tclassidnode6 == NULL) {
3417 var20 = 1;
3418 } else {
3419 if(cltype21 >= var_tclassidnode6->type->table_size) {
3420 var20 = 0;
3421 } else {
3422 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
3423 }
3424 }
3425 if (!var20) {
3426 fprintf(stderr, "Runtime error: %s", "Assert failed");
3427 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10879);
3428 exit(1);
3429 }
3430 var_pexterncodeblocknode9 = var_nodearraylist6;
3431 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
3432 cltype24 = type_nullable_parser_nodes__AExternCodeBlock.color;
3433 idtype25 = type_nullable_parser_nodes__AExternCodeBlock.id;
3434 if(var_pexterncodeblocknode9 == NULL) {
3435 var23 = 1;
3436 } else {
3437 if(cltype24 >= var_pexterncodeblocknode9->type->table_size) {
3438 var23 = 0;
3439 } else {
3440 var23 = var_pexterncodeblocknode9->type->type_table[cltype24] == idtype25;
3441 }
3442 }
3443 if (!var23) {
3444 fprintf(stderr, "Runtime error: %s", "Assert failed");
3445 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10881);
3446 exit(1);
3447 }
3448 var_listnode11 = var_nodearraylist7;
3449 /* <var_listnode11:nullable Object> isa Array[Object] */
3450 cltype27 = type_array__Arraykernel__Object.color;
3451 idtype28 = type_array__Arraykernel__Object.id;
3452 if(var_listnode11 == NULL) {
3453 var26 = 0;
3454 } else {
3455 if(cltype27 >= var_listnode11->type->table_size) {
3456 var26 = 0;
3457 } else {
3458 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
3459 }
3460 }
3461 if (!var26) {
3462 fprintf(stderr, "Runtime error: %s", "Assert failed");
3463 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10883);
3464 exit(1);
3465 }
3466 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction233>*/;
3467 var_listnode12 = var29;
3468 var_tkwendnode13 = var_nodearraylist9;
3469 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
3470 cltype31 = type_nullable_parser_nodes__TKwend.color;
3471 idtype32 = type_nullable_parser_nodes__TKwend.id;
3472 if(var_tkwendnode13 == NULL) {
3473 var30 = 1;
3474 } else {
3475 if(cltype31 >= var_tkwendnode13->type->table_size) {
3476 var30 = 0;
3477 } else {
3478 var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32;
3479 }
3480 }
3481 if (!var30) {
3482 fprintf(stderr, "Runtime error: %s", "Assert failed");
3483 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10886);
3484 exit(1);
3485 }
3486 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3487 var34 = NULL;
3488 var35 = NULL;
3489 ((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_listnode7, var35, var_pexterncodeblocknode9, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var33:AStdClassdef>*/;
3490 CHECK_NEW_parser_nodes__AStdClassdef(var33);
3491 var_pclassdefnode1 = var33;
3492 var_node_list = var_pclassdefnode1;
3493 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction233> */
3494 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
3495 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
3496 RET_LABEL:;
3497 }
3498 /* method parser#ReduceAction233#action for (self: Object, Parser) */
3499 void VIRTUAL_parser__ReduceAction233__action(val* self, val* p0) {
3500 parser__ReduceAction233__action(self, p0);
3501 RET_LABEL:;
3502 }
3503 /* method parser#ReduceAction234#action for (self: ReduceAction234, Parser) */
3504 void parser__ReduceAction234__action(val* self, val* p0) {
3505 val* var_p /* var p: Parser */;
3506 val* var /* : null */;
3507 val* var_node_list /* var node_list: nullable Object */;
3508 val* var1 /* : nullable Object */;
3509 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3510 val* var2 /* : nullable Object */;
3511 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3512 val* var3 /* : nullable Object */;
3513 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3514 val* var4 /* : nullable Object */;
3515 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3516 val* var5 /* : nullable Object */;
3517 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3518 val* var6 /* : nullable Object */;
3519 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3520 val* var7 /* : nullable Object */;
3521 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3522 val* var8 /* : nullable Object */;
3523 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3524 val* var9 /* : nullable Object */;
3525 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3526 val* var10 /* : nullable Object */;
3527 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3528 val* var11 /* : Array[Object] */;
3529 val* var_listnode7 /* var listnode7: Array[Object] */;
3530 val* var12 /* : Array[Object] */;
3531 val* var_listnode10 /* var listnode10: Array[Object] */;
3532 val* var13 /* : Array[Object] */;
3533 val* var_listnode12 /* var listnode12: Array[Object] */;
3534 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3535 short int var14 /* : Bool */;
3536 int cltype;
3537 int idtype;
3538 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3539 short int var15 /* : Bool */;
3540 int cltype16;
3541 int idtype17;
3542 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3543 short int var18 /* : Bool */;
3544 int cltype19;
3545 int idtype20;
3546 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3547 short int var21 /* : Bool */;
3548 int cltype22;
3549 int idtype23;
3550 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3551 short int var24 /* : Bool */;
3552 int cltype25;
3553 int idtype26;
3554 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
3555 short int var27 /* : Bool */;
3556 int cltype28;
3557 int idtype29;
3558 val* var_listnode11 /* var listnode11: nullable Object */;
3559 short int var30 /* : Bool */;
3560 int cltype31;
3561 int idtype32;
3562 val* var33 /* : Array[Object] */;
3563 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
3564 short int var34 /* : Bool */;
3565 int cltype35;
3566 int idtype36;
3567 val* var37 /* : AStdClassdef */;
3568 val* var38 /* : null */;
3569 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3570 long var39 /* : Int */;
3571 long var40 /* : Int */;
3572 var_p = p0;
3573 var = NULL;
3574 var_node_list = var;
3575 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3576 var_nodearraylist10 = var1;
3577 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3578 var_nodearraylist9 = var2;
3579 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3580 var_nodearraylist8 = var3;
3581 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3582 var_nodearraylist7 = var4;
3583 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3584 var_nodearraylist6 = var5;
3585 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3586 var_nodearraylist5 = var6;
3587 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3588 var_nodearraylist4 = var7;
3589 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3590 var_nodearraylist3 = var8;
3591 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3592 var_nodearraylist2 = var9;
3593 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3594 var_nodearraylist1 = var10;
3595 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3596 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3597 CHECK_NEW_array__Array(var11);
3598 var_listnode7 = var11;
3599 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3600 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3601 CHECK_NEW_array__Array(var12);
3602 var_listnode10 = var12;
3603 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3604 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3605 CHECK_NEW_array__Array(var13);
3606 var_listnode12 = var13;
3607 var_pdocnode2 = var_nodearraylist1;
3608 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3609 cltype = type_nullable_parser_nodes__ADoc.color;
3610 idtype = type_nullable_parser_nodes__ADoc.id;
3611 if(var_pdocnode2 == NULL) {
3612 var14 = 1;
3613 } else {
3614 if(cltype >= var_pdocnode2->type->table_size) {
3615 var14 = 0;
3616 } else {
3617 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
3618 }
3619 }
3620 if (!var14) {
3621 fprintf(stderr, "Runtime error: %s", "Assert failed");
3622 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10923);
3623 exit(1);
3624 }
3625 var_tkwredefnode3 = var_nodearraylist2;
3626 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3627 cltype16 = type_nullable_parser_nodes__TKwredef.color;
3628 idtype17 = type_nullable_parser_nodes__TKwredef.id;
3629 if(var_tkwredefnode3 == NULL) {
3630 var15 = 1;
3631 } else {
3632 if(cltype16 >= var_tkwredefnode3->type->table_size) {
3633 var15 = 0;
3634 } else {
3635 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
3636 }
3637 }
3638 if (!var15) {
3639 fprintf(stderr, "Runtime error: %s", "Assert failed");
3640 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10925);
3641 exit(1);
3642 }
3643 var_pvisibilitynode4 = var_nodearraylist3;
3644 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3645 cltype19 = type_nullable_parser_nodes__AVisibility.color;
3646 idtype20 = type_nullable_parser_nodes__AVisibility.id;
3647 if(var_pvisibilitynode4 == NULL) {
3648 var18 = 1;
3649 } else {
3650 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
3651 var18 = 0;
3652 } else {
3653 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
3654 }
3655 }
3656 if (!var18) {
3657 fprintf(stderr, "Runtime error: %s", "Assert failed");
3658 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10927);
3659 exit(1);
3660 }
3661 var_pclasskindnode5 = var_nodearraylist4;
3662 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3663 cltype22 = type_nullable_parser_nodes__AClasskind.color;
3664 idtype23 = type_nullable_parser_nodes__AClasskind.id;
3665 if(var_pclasskindnode5 == NULL) {
3666 var21 = 1;
3667 } else {
3668 if(cltype22 >= var_pclasskindnode5->type->table_size) {
3669 var21 = 0;
3670 } else {
3671 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
3672 }
3673 }
3674 if (!var21) {
3675 fprintf(stderr, "Runtime error: %s", "Assert failed");
3676 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10929);
3677 exit(1);
3678 }
3679 var_tclassidnode6 = var_nodearraylist6;
3680 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3681 cltype25 = type_nullable_parser_nodes__TClassid.color;
3682 idtype26 = type_nullable_parser_nodes__TClassid.id;
3683 if(var_tclassidnode6 == NULL) {
3684 var24 = 1;
3685 } else {
3686 if(cltype25 >= var_tclassidnode6->type->table_size) {
3687 var24 = 0;
3688 } else {
3689 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
3690 }
3691 }
3692 if (!var24) {
3693 fprintf(stderr, "Runtime error: %s", "Assert failed");
3694 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10931);
3695 exit(1);
3696 }
3697 var_pexterncodeblocknode9 = var_nodearraylist7;
3698 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
3699 cltype28 = type_nullable_parser_nodes__AExternCodeBlock.color;
3700 idtype29 = type_nullable_parser_nodes__AExternCodeBlock.id;
3701 if(var_pexterncodeblocknode9 == NULL) {
3702 var27 = 1;
3703 } else {
3704 if(cltype28 >= var_pexterncodeblocknode9->type->table_size) {
3705 var27 = 0;
3706 } else {
3707 var27 = var_pexterncodeblocknode9->type->type_table[cltype28] == idtype29;
3708 }
3709 }
3710 if (!var27) {
3711 fprintf(stderr, "Runtime error: %s", "Assert failed");
3712 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10933);
3713 exit(1);
3714 }
3715 var_listnode11 = var_nodearraylist8;
3716 /* <var_listnode11:nullable Object> isa Array[Object] */
3717 cltype31 = type_array__Arraykernel__Object.color;
3718 idtype32 = type_array__Arraykernel__Object.id;
3719 if(var_listnode11 == NULL) {
3720 var30 = 0;
3721 } else {
3722 if(cltype31 >= var_listnode11->type->table_size) {
3723 var30 = 0;
3724 } else {
3725 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
3726 }
3727 }
3728 if (!var30) {
3729 fprintf(stderr, "Runtime error: %s", "Assert failed");
3730 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10935);
3731 exit(1);
3732 }
3733 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction234>*/;
3734 var_listnode12 = var33;
3735 var_tkwendnode13 = var_nodearraylist10;
3736 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
3737 cltype35 = type_nullable_parser_nodes__TKwend.color;
3738 idtype36 = type_nullable_parser_nodes__TKwend.id;
3739 if(var_tkwendnode13 == NULL) {
3740 var34 = 1;
3741 } else {
3742 if(cltype35 >= var_tkwendnode13->type->table_size) {
3743 var34 = 0;
3744 } else {
3745 var34 = var_tkwendnode13->type->type_table[cltype35] == idtype36;
3746 }
3747 }
3748 if (!var34) {
3749 fprintf(stderr, "Runtime error: %s", "Assert failed");
3750 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10938);
3751 exit(1);
3752 }
3753 var37 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3754 var38 = NULL;
3755 ((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_listnode7, var38, var_pexterncodeblocknode9, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var37:AStdClassdef>*/;
3756 CHECK_NEW_parser_nodes__AStdClassdef(var37);
3757 var_pclassdefnode1 = var37;
3758 var_node_list = var_pclassdefnode1;
3759 var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction234> */
3760 var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on <var_p:Parser>*/;
3761 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on <var_p:Parser>*/;
3762 RET_LABEL:;
3763 }
3764 /* method parser#ReduceAction234#action for (self: Object, Parser) */
3765 void VIRTUAL_parser__ReduceAction234__action(val* self, val* p0) {
3766 parser__ReduceAction234__action(self, p0);
3767 RET_LABEL:;
3768 }
3769 /* method parser#ReduceAction235#action for (self: ReduceAction235, Parser) */
3770 void parser__ReduceAction235__action(val* self, val* p0) {
3771 val* var_p /* var p: Parser */;
3772 val* var /* : null */;
3773 val* var_node_list /* var node_list: nullable Object */;
3774 val* var1 /* : nullable Object */;
3775 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3776 val* var2 /* : nullable Object */;
3777 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3778 val* var3 /* : nullable Object */;
3779 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3780 val* var4 /* : nullable Object */;
3781 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3782 val* var5 /* : nullable Object */;
3783 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3784 val* var6 /* : nullable Object */;
3785 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3786 val* var7 /* : nullable Object */;
3787 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3788 val* var8 /* : nullable Object */;
3789 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3790 val* var9 /* : nullable Object */;
3791 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3792 val* var10 /* : nullable Object */;
3793 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3794 val* var11 /* : Array[Object] */;
3795 val* var_listnode7 /* var listnode7: Array[Object] */;
3796 val* var12 /* : Array[Object] */;
3797 val* var_listnode10 /* var listnode10: Array[Object] */;
3798 val* var13 /* : Array[Object] */;
3799 val* var_listnode12 /* var listnode12: Array[Object] */;
3800 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3801 short int var14 /* : Bool */;
3802 int cltype;
3803 int idtype;
3804 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3805 short int var15 /* : Bool */;
3806 int cltype16;
3807 int idtype17;
3808 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3809 short int var18 /* : Bool */;
3810 int cltype19;
3811 int idtype20;
3812 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3813 short int var21 /* : Bool */;
3814 int cltype22;
3815 int idtype23;
3816 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
3817 short int var24 /* : Bool */;
3818 int cltype25;
3819 int idtype26;
3820 val* var_listnode11 /* var listnode11: nullable Object */;
3821 short int var27 /* : Bool */;
3822 int cltype28;
3823 int idtype29;
3824 val* var30 /* : Array[Object] */;
3825 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
3826 short int var31 /* : Bool */;
3827 int cltype32;
3828 int idtype33;
3829 val* var34 /* : AStdClassdef */;
3830 val* var35 /* : null */;
3831 val* var36 /* : null */;
3832 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3833 long var37 /* : Int */;
3834 long var38 /* : Int */;
3835 var_p = p0;
3836 var = NULL;
3837 var_node_list = var;
3838 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3839 var_nodearraylist10 = var1;
3840 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3841 var_nodearraylist9 = var2;
3842 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3843 var_nodearraylist8 = var3;
3844 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3845 var_nodearraylist7 = var4;
3846 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3847 var_nodearraylist6 = var5;
3848 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3849 var_nodearraylist5 = var6;
3850 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3851 var_nodearraylist4 = var7;
3852 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3853 var_nodearraylist3 = var8;
3854 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3855 var_nodearraylist2 = var9;
3856 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3857 var_nodearraylist1 = var10;
3858 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3859 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3860 CHECK_NEW_array__Array(var11);
3861 var_listnode7 = var11;
3862 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3863 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3864 CHECK_NEW_array__Array(var12);
3865 var_listnode10 = var12;
3866 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3867 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3868 CHECK_NEW_array__Array(var13);
3869 var_listnode12 = var13;
3870 var_pdocnode2 = var_nodearraylist1;
3871 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3872 cltype = type_nullable_parser_nodes__ADoc.color;
3873 idtype = type_nullable_parser_nodes__ADoc.id;
3874 if(var_pdocnode2 == NULL) {
3875 var14 = 1;
3876 } else {
3877 if(cltype >= var_pdocnode2->type->table_size) {
3878 var14 = 0;
3879 } else {
3880 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
3881 }
3882 }
3883 if (!var14) {
3884 fprintf(stderr, "Runtime error: %s", "Assert failed");
3885 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10975);
3886 exit(1);
3887 }
3888 var_pvisibilitynode4 = var_nodearraylist2;
3889 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3890 cltype16 = type_nullable_parser_nodes__AVisibility.color;
3891 idtype17 = type_nullable_parser_nodes__AVisibility.id;
3892 if(var_pvisibilitynode4 == NULL) {
3893 var15 = 1;
3894 } else {
3895 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
3896 var15 = 0;
3897 } else {
3898 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
3899 }
3900 }
3901 if (!var15) {
3902 fprintf(stderr, "Runtime error: %s", "Assert failed");
3903 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10977);
3904 exit(1);
3905 }
3906 var_pclasskindnode5 = var_nodearraylist3;
3907 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3908 cltype19 = type_nullable_parser_nodes__AClasskind.color;
3909 idtype20 = type_nullable_parser_nodes__AClasskind.id;
3910 if(var_pclasskindnode5 == NULL) {
3911 var18 = 1;
3912 } else {
3913 if(cltype19 >= var_pclasskindnode5->type->table_size) {
3914 var18 = 0;
3915 } else {
3916 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
3917 }
3918 }
3919 if (!var18) {
3920 fprintf(stderr, "Runtime error: %s", "Assert failed");
3921 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10979);
3922 exit(1);
3923 }
3924 var_tclassidnode6 = var_nodearraylist6;
3925 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3926 cltype22 = type_nullable_parser_nodes__TClassid.color;
3927 idtype23 = type_nullable_parser_nodes__TClassid.id;
3928 if(var_tclassidnode6 == NULL) {
3929 var21 = 1;
3930 } else {
3931 if(cltype22 >= var_tclassidnode6->type->table_size) {
3932 var21 = 0;
3933 } else {
3934 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
3935 }
3936 }
3937 if (!var21) {
3938 fprintf(stderr, "Runtime error: %s", "Assert failed");
3939 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10981);
3940 exit(1);
3941 }
3942 var_pexterncodeblocknode9 = var_nodearraylist7;
3943 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
3944 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
3945 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
3946 if(var_pexterncodeblocknode9 == NULL) {
3947 var24 = 1;
3948 } else {
3949 if(cltype25 >= var_pexterncodeblocknode9->type->table_size) {
3950 var24 = 0;
3951 } else {
3952 var24 = var_pexterncodeblocknode9->type->type_table[cltype25] == idtype26;
3953 }
3954 }
3955 if (!var24) {
3956 fprintf(stderr, "Runtime error: %s", "Assert failed");
3957 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10983);
3958 exit(1);
3959 }
3960 var_listnode11 = var_nodearraylist8;
3961 /* <var_listnode11:nullable Object> isa Array[Object] */
3962 cltype28 = type_array__Arraykernel__Object.color;
3963 idtype29 = type_array__Arraykernel__Object.id;
3964 if(var_listnode11 == NULL) {
3965 var27 = 0;
3966 } else {
3967 if(cltype28 >= var_listnode11->type->table_size) {
3968 var27 = 0;
3969 } else {
3970 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
3971 }
3972 }
3973 if (!var27) {
3974 fprintf(stderr, "Runtime error: %s", "Assert failed");
3975 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10985);
3976 exit(1);
3977 }
3978 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction235>*/;
3979 var_listnode12 = var30;
3980 var_tkwendnode13 = var_nodearraylist10;
3981 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
3982 cltype32 = type_nullable_parser_nodes__TKwend.color;
3983 idtype33 = type_nullable_parser_nodes__TKwend.id;
3984 if(var_tkwendnode13 == NULL) {
3985 var31 = 1;
3986 } else {
3987 if(cltype32 >= var_tkwendnode13->type->table_size) {
3988 var31 = 0;
3989 } else {
3990 var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33;
3991 }
3992 }
3993 if (!var31) {
3994 fprintf(stderr, "Runtime error: %s", "Assert failed");
3995 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10988);
3996 exit(1);
3997 }
3998 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3999 var35 = NULL;
4000 var36 = NULL;
4001 ((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, var36, var_pexterncodeblocknode9, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var34:AStdClassdef>*/;
4002 CHECK_NEW_parser_nodes__AStdClassdef(var34);
4003 var_pclassdefnode1 = var34;
4004 var_node_list = var_pclassdefnode1;
4005 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction235> */
4006 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
4007 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
4008 RET_LABEL:;
4009 }
4010 /* method parser#ReduceAction235#action for (self: Object, Parser) */
4011 void VIRTUAL_parser__ReduceAction235__action(val* self, val* p0) {
4012 parser__ReduceAction235__action(self, p0);
4013 RET_LABEL:;
4014 }
4015 /* method parser#ReduceAction236#action for (self: ReduceAction236, Parser) */
4016 void parser__ReduceAction236__action(val* self, val* p0) {
4017 val* var_p /* var p: Parser */;
4018 val* var /* : null */;
4019 val* var_node_list /* var node_list: nullable Object */;
4020 val* var1 /* : nullable Object */;
4021 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4022 val* var2 /* : nullable Object */;
4023 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4024 val* var3 /* : nullable Object */;
4025 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4026 val* var4 /* : nullable Object */;
4027 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4028 val* var5 /* : nullable Object */;
4029 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4030 val* var6 /* : nullable Object */;
4031 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4032 val* var7 /* : nullable Object */;
4033 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4034 val* var8 /* : nullable Object */;
4035 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4036 val* var9 /* : nullable Object */;
4037 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4038 val* var10 /* : nullable Object */;
4039 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4040 val* var11 /* : nullable Object */;
4041 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4042 val* var12 /* : Array[Object] */;
4043 val* var_listnode7 /* var listnode7: Array[Object] */;
4044 val* var13 /* : Array[Object] */;
4045 val* var_listnode10 /* var listnode10: Array[Object] */;
4046 val* var14 /* : Array[Object] */;
4047 val* var_listnode12 /* var listnode12: Array[Object] */;
4048 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4049 short int var15 /* : Bool */;
4050 int cltype;
4051 int idtype;
4052 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4053 short int var16 /* : Bool */;
4054 int cltype17;
4055 int idtype18;
4056 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4057 short int var19 /* : Bool */;
4058 int cltype20;
4059 int idtype21;
4060 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4061 short int var22 /* : Bool */;
4062 int cltype23;
4063 int idtype24;
4064 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
4065 short int var25 /* : Bool */;
4066 int cltype26;
4067 int idtype27;
4068 val* var_listnode11 /* var listnode11: nullable Object */;
4069 short int var28 /* : Bool */;
4070 int cltype29;
4071 int idtype30;
4072 val* var31 /* : Array[Object] */;
4073 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
4074 short int var32 /* : Bool */;
4075 int cltype33;
4076 int idtype34;
4077 val* var35 /* : AStdClassdef */;
4078 val* var36 /* : null */;
4079 val* var37 /* : null */;
4080 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4081 long var38 /* : Int */;
4082 long var39 /* : Int */;
4083 var_p = p0;
4084 var = NULL;
4085 var_node_list = var;
4086 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4087 var_nodearraylist11 = var1;
4088 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4089 var_nodearraylist10 = var2;
4090 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4091 var_nodearraylist9 = var3;
4092 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4093 var_nodearraylist8 = var4;
4094 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4095 var_nodearraylist7 = var5;
4096 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4097 var_nodearraylist6 = var6;
4098 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4099 var_nodearraylist5 = var7;
4100 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4101 var_nodearraylist4 = var8;
4102 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4103 var_nodearraylist3 = var9;
4104 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4105 var_nodearraylist2 = var10;
4106 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4107 var_nodearraylist1 = var11;
4108 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4109 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4110 CHECK_NEW_array__Array(var12);
4111 var_listnode7 = var12;
4112 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4113 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4114 CHECK_NEW_array__Array(var13);
4115 var_listnode10 = var13;
4116 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4117 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4118 CHECK_NEW_array__Array(var14);
4119 var_listnode12 = var14;
4120 var_pdocnode2 = var_nodearraylist1;
4121 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4122 cltype = type_nullable_parser_nodes__ADoc.color;
4123 idtype = type_nullable_parser_nodes__ADoc.id;
4124 if(var_pdocnode2 == NULL) {
4125 var15 = 1;
4126 } else {
4127 if(cltype >= var_pdocnode2->type->table_size) {
4128 var15 = 0;
4129 } else {
4130 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
4131 }
4132 }
4133 if (!var15) {
4134 fprintf(stderr, "Runtime error: %s", "Assert failed");
4135 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11026);
4136 exit(1);
4137 }
4138 var_pvisibilitynode4 = var_nodearraylist2;
4139 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4140 cltype17 = type_nullable_parser_nodes__AVisibility.color;
4141 idtype18 = type_nullable_parser_nodes__AVisibility.id;
4142 if(var_pvisibilitynode4 == NULL) {
4143 var16 = 1;
4144 } else {
4145 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
4146 var16 = 0;
4147 } else {
4148 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
4149 }
4150 }
4151 if (!var16) {
4152 fprintf(stderr, "Runtime error: %s", "Assert failed");
4153 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11028);
4154 exit(1);
4155 }
4156 var_pclasskindnode5 = var_nodearraylist3;
4157 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4158 cltype20 = type_nullable_parser_nodes__AClasskind.color;
4159 idtype21 = type_nullable_parser_nodes__AClasskind.id;
4160 if(var_pclasskindnode5 == NULL) {
4161 var19 = 1;
4162 } else {
4163 if(cltype20 >= var_pclasskindnode5->type->table_size) {
4164 var19 = 0;
4165 } else {
4166 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
4167 }
4168 }
4169 if (!var19) {
4170 fprintf(stderr, "Runtime error: %s", "Assert failed");
4171 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11030);
4172 exit(1);
4173 }
4174 var_tclassidnode6 = var_nodearraylist7;
4175 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4176 cltype23 = type_nullable_parser_nodes__TClassid.color;
4177 idtype24 = type_nullable_parser_nodes__TClassid.id;
4178 if(var_tclassidnode6 == NULL) {
4179 var22 = 1;
4180 } else {
4181 if(cltype23 >= var_tclassidnode6->type->table_size) {
4182 var22 = 0;
4183 } else {
4184 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
4185 }
4186 }
4187 if (!var22) {
4188 fprintf(stderr, "Runtime error: %s", "Assert failed");
4189 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11032);
4190 exit(1);
4191 }
4192 var_pexterncodeblocknode9 = var_nodearraylist8;
4193 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
4194 cltype26 = type_nullable_parser_nodes__AExternCodeBlock.color;
4195 idtype27 = type_nullable_parser_nodes__AExternCodeBlock.id;
4196 if(var_pexterncodeblocknode9 == NULL) {
4197 var25 = 1;
4198 } else {
4199 if(cltype26 >= var_pexterncodeblocknode9->type->table_size) {
4200 var25 = 0;
4201 } else {
4202 var25 = var_pexterncodeblocknode9->type->type_table[cltype26] == idtype27;
4203 }
4204 }
4205 if (!var25) {
4206 fprintf(stderr, "Runtime error: %s", "Assert failed");
4207 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11034);
4208 exit(1);
4209 }
4210 var_listnode11 = var_nodearraylist9;
4211 /* <var_listnode11:nullable Object> isa Array[Object] */
4212 cltype29 = type_array__Arraykernel__Object.color;
4213 idtype30 = type_array__Arraykernel__Object.id;
4214 if(var_listnode11 == NULL) {
4215 var28 = 0;
4216 } else {
4217 if(cltype29 >= var_listnode11->type->table_size) {
4218 var28 = 0;
4219 } else {
4220 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
4221 }
4222 }
4223 if (!var28) {
4224 fprintf(stderr, "Runtime error: %s", "Assert failed");
4225 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11036);
4226 exit(1);
4227 }
4228 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction236>*/;
4229 var_listnode12 = var31;
4230 var_tkwendnode13 = var_nodearraylist11;
4231 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
4232 cltype33 = type_nullable_parser_nodes__TKwend.color;
4233 idtype34 = type_nullable_parser_nodes__TKwend.id;
4234 if(var_tkwendnode13 == NULL) {
4235 var32 = 1;
4236 } else {
4237 if(cltype33 >= var_tkwendnode13->type->table_size) {
4238 var32 = 0;
4239 } else {
4240 var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34;
4241 }
4242 }
4243 if (!var32) {
4244 fprintf(stderr, "Runtime error: %s", "Assert failed");
4245 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11039);
4246 exit(1);
4247 }
4248 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4249 var36 = NULL;
4250 var37 = NULL;
4251 ((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, var37, var_pexterncodeblocknode9, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var35:AStdClassdef>*/;
4252 CHECK_NEW_parser_nodes__AStdClassdef(var35);
4253 var_pclassdefnode1 = var35;
4254 var_node_list = var_pclassdefnode1;
4255 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction236> */
4256 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
4257 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
4258 RET_LABEL:;
4259 }
4260 /* method parser#ReduceAction236#action for (self: Object, Parser) */
4261 void VIRTUAL_parser__ReduceAction236__action(val* self, val* p0) {
4262 parser__ReduceAction236__action(self, p0);
4263 RET_LABEL:;
4264 }
4265 /* method parser#ReduceAction238#action for (self: ReduceAction238, Parser) */
4266 void parser__ReduceAction238__action(val* self, val* p0) {
4267 val* var_p /* var p: Parser */;
4268 val* var /* : null */;
4269 val* var_node_list /* var node_list: nullable Object */;
4270 val* var1 /* : nullable Object */;
4271 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4272 val* var2 /* : nullable Object */;
4273 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4274 val* var3 /* : nullable Object */;
4275 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4276 val* var4 /* : nullable Object */;
4277 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4278 val* var5 /* : nullable Object */;
4279 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4280 val* var6 /* : nullable Object */;
4281 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4282 val* var7 /* : nullable Object */;
4283 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4284 val* var8 /* : nullable Object */;
4285 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4286 val* var9 /* : nullable Object */;
4287 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4288 val* var10 /* : nullable Object */;
4289 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4290 val* var11 /* : nullable Object */;
4291 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4292 val* var12 /* : Array[Object] */;
4293 val* var_listnode7 /* var listnode7: Array[Object] */;
4294 val* var13 /* : Array[Object] */;
4295 val* var_listnode10 /* var listnode10: Array[Object] */;
4296 val* var14 /* : Array[Object] */;
4297 val* var_listnode12 /* var listnode12: Array[Object] */;
4298 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4299 short int var15 /* : Bool */;
4300 int cltype;
4301 int idtype;
4302 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4303 short int var16 /* : Bool */;
4304 int cltype17;
4305 int idtype18;
4306 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4307 short int var19 /* : Bool */;
4308 int cltype20;
4309 int idtype21;
4310 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4311 short int var22 /* : Bool */;
4312 int cltype23;
4313 int idtype24;
4314 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4315 short int var25 /* : Bool */;
4316 int cltype26;
4317 int idtype27;
4318 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
4319 short int var28 /* : Bool */;
4320 int cltype29;
4321 int idtype30;
4322 val* var_listnode11 /* var listnode11: nullable Object */;
4323 short int var31 /* : Bool */;
4324 int cltype32;
4325 int idtype33;
4326 val* var34 /* : Array[Object] */;
4327 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
4328 short int var35 /* : Bool */;
4329 int cltype36;
4330 int idtype37;
4331 val* var38 /* : AStdClassdef */;
4332 val* var39 /* : null */;
4333 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4334 long var40 /* : Int */;
4335 long var41 /* : Int */;
4336 var_p = p0;
4337 var = NULL;
4338 var_node_list = var;
4339 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4340 var_nodearraylist11 = var1;
4341 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4342 var_nodearraylist10 = var2;
4343 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4344 var_nodearraylist9 = var3;
4345 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4346 var_nodearraylist8 = var4;
4347 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4348 var_nodearraylist7 = var5;
4349 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4350 var_nodearraylist6 = var6;
4351 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4352 var_nodearraylist5 = var7;
4353 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4354 var_nodearraylist4 = var8;
4355 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4356 var_nodearraylist3 = var9;
4357 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4358 var_nodearraylist2 = var10;
4359 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4360 var_nodearraylist1 = var11;
4361 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4362 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4363 CHECK_NEW_array__Array(var12);
4364 var_listnode7 = var12;
4365 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4366 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4367 CHECK_NEW_array__Array(var13);
4368 var_listnode10 = var13;
4369 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4370 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4371 CHECK_NEW_array__Array(var14);
4372 var_listnode12 = var14;
4373 var_pdocnode2 = var_nodearraylist1;
4374 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4375 cltype = type_nullable_parser_nodes__ADoc.color;
4376 idtype = type_nullable_parser_nodes__ADoc.id;
4377 if(var_pdocnode2 == NULL) {
4378 var15 = 1;
4379 } else {
4380 if(cltype >= var_pdocnode2->type->table_size) {
4381 var15 = 0;
4382 } else {
4383 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
4384 }
4385 }
4386 if (!var15) {
4387 fprintf(stderr, "Runtime error: %s", "Assert failed");
4388 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11077);
4389 exit(1);
4390 }
4391 var_tkwredefnode3 = var_nodearraylist2;
4392 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4393 cltype17 = type_nullable_parser_nodes__TKwredef.color;
4394 idtype18 = type_nullable_parser_nodes__TKwredef.id;
4395 if(var_tkwredefnode3 == NULL) {
4396 var16 = 1;
4397 } else {
4398 if(cltype17 >= var_tkwredefnode3->type->table_size) {
4399 var16 = 0;
4400 } else {
4401 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
4402 }
4403 }
4404 if (!var16) {
4405 fprintf(stderr, "Runtime error: %s", "Assert failed");
4406 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11079);
4407 exit(1);
4408 }
4409 var_pvisibilitynode4 = var_nodearraylist3;
4410 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4411 cltype20 = type_nullable_parser_nodes__AVisibility.color;
4412 idtype21 = type_nullable_parser_nodes__AVisibility.id;
4413 if(var_pvisibilitynode4 == NULL) {
4414 var19 = 1;
4415 } else {
4416 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
4417 var19 = 0;
4418 } else {
4419 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
4420 }
4421 }
4422 if (!var19) {
4423 fprintf(stderr, "Runtime error: %s", "Assert failed");
4424 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11081);
4425 exit(1);
4426 }
4427 var_pclasskindnode5 = var_nodearraylist4;
4428 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4429 cltype23 = type_nullable_parser_nodes__AClasskind.color;
4430 idtype24 = type_nullable_parser_nodes__AClasskind.id;
4431 if(var_pclasskindnode5 == NULL) {
4432 var22 = 1;
4433 } else {
4434 if(cltype23 >= var_pclasskindnode5->type->table_size) {
4435 var22 = 0;
4436 } else {
4437 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
4438 }
4439 }
4440 if (!var22) {
4441 fprintf(stderr, "Runtime error: %s", "Assert failed");
4442 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11083);
4443 exit(1);
4444 }
4445 var_tclassidnode6 = var_nodearraylist7;
4446 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4447 cltype26 = type_nullable_parser_nodes__TClassid.color;
4448 idtype27 = type_nullable_parser_nodes__TClassid.id;
4449 if(var_tclassidnode6 == NULL) {
4450 var25 = 1;
4451 } else {
4452 if(cltype26 >= var_tclassidnode6->type->table_size) {
4453 var25 = 0;
4454 } else {
4455 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
4456 }
4457 }
4458 if (!var25) {
4459 fprintf(stderr, "Runtime error: %s", "Assert failed");
4460 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11085);
4461 exit(1);
4462 }
4463 var_pexterncodeblocknode9 = var_nodearraylist8;
4464 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
4465 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
4466 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
4467 if(var_pexterncodeblocknode9 == NULL) {
4468 var28 = 1;
4469 } else {
4470 if(cltype29 >= var_pexterncodeblocknode9->type->table_size) {
4471 var28 = 0;
4472 } else {
4473 var28 = var_pexterncodeblocknode9->type->type_table[cltype29] == idtype30;
4474 }
4475 }
4476 if (!var28) {
4477 fprintf(stderr, "Runtime error: %s", "Assert failed");
4478 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11087);
4479 exit(1);
4480 }
4481 var_listnode11 = var_nodearraylist9;
4482 /* <var_listnode11:nullable Object> isa Array[Object] */
4483 cltype32 = type_array__Arraykernel__Object.color;
4484 idtype33 = type_array__Arraykernel__Object.id;
4485 if(var_listnode11 == NULL) {
4486 var31 = 0;
4487 } else {
4488 if(cltype32 >= var_listnode11->type->table_size) {
4489 var31 = 0;
4490 } else {
4491 var31 = var_listnode11->type->type_table[cltype32] == idtype33;
4492 }
4493 }
4494 if (!var31) {
4495 fprintf(stderr, "Runtime error: %s", "Assert failed");
4496 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11089);
4497 exit(1);
4498 }
4499 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction238>*/;
4500 var_listnode12 = var34;
4501 var_tkwendnode13 = var_nodearraylist11;
4502 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
4503 cltype36 = type_nullable_parser_nodes__TKwend.color;
4504 idtype37 = type_nullable_parser_nodes__TKwend.id;
4505 if(var_tkwendnode13 == NULL) {
4506 var35 = 1;
4507 } else {
4508 if(cltype36 >= var_tkwendnode13->type->table_size) {
4509 var35 = 0;
4510 } else {
4511 var35 = var_tkwendnode13->type->type_table[cltype36] == idtype37;
4512 }
4513 }
4514 if (!var35) {
4515 fprintf(stderr, "Runtime error: %s", "Assert failed");
4516 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11092);
4517 exit(1);
4518 }
4519 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4520 var39 = NULL;
4521 ((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, var39, var_pexterncodeblocknode9, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var38:AStdClassdef>*/;
4522 CHECK_NEW_parser_nodes__AStdClassdef(var38);
4523 var_pclassdefnode1 = var38;
4524 var_node_list = var_pclassdefnode1;
4525 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction238> */
4526 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
4527 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
4528 RET_LABEL:;
4529 }
4530 /* method parser#ReduceAction238#action for (self: Object, Parser) */
4531 void VIRTUAL_parser__ReduceAction238__action(val* self, val* p0) {
4532 parser__ReduceAction238__action(self, p0);
4533 RET_LABEL:;
4534 }
4535 /* method parser#ReduceAction239#action for (self: ReduceAction239, Parser) */
4536 void parser__ReduceAction239__action(val* self, val* p0) {
4537 val* var_p /* var p: Parser */;
4538 val* var /* : null */;
4539 val* var_node_list /* var node_list: nullable Object */;
4540 val* var1 /* : nullable Object */;
4541 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4542 val* var2 /* : nullable Object */;
4543 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4544 val* var3 /* : nullable Object */;
4545 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4546 val* var4 /* : nullable Object */;
4547 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4548 val* var5 /* : nullable Object */;
4549 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4550 val* var6 /* : nullable Object */;
4551 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4552 val* var7 /* : nullable Object */;
4553 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4554 val* var8 /* : nullable Object */;
4555 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4556 val* var9 /* : nullable Object */;
4557 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4558 val* var10 /* : nullable Object */;
4559 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4560 val* var11 /* : nullable Object */;
4561 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4562 val* var12 /* : nullable Object */;
4563 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4564 val* var13 /* : Array[Object] */;
4565 val* var_listnode7 /* var listnode7: Array[Object] */;
4566 val* var14 /* : Array[Object] */;
4567 val* var_listnode10 /* var listnode10: Array[Object] */;
4568 val* var15 /* : Array[Object] */;
4569 val* var_listnode12 /* var listnode12: Array[Object] */;
4570 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4571 short int var16 /* : Bool */;
4572 int cltype;
4573 int idtype;
4574 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4575 short int var17 /* : Bool */;
4576 int cltype18;
4577 int idtype19;
4578 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4579 short int var20 /* : Bool */;
4580 int cltype21;
4581 int idtype22;
4582 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4583 short int var23 /* : Bool */;
4584 int cltype24;
4585 int idtype25;
4586 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4587 short int var26 /* : Bool */;
4588 int cltype27;
4589 int idtype28;
4590 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
4591 short int var29 /* : Bool */;
4592 int cltype30;
4593 int idtype31;
4594 val* var_listnode11 /* var listnode11: nullable Object */;
4595 short int var32 /* : Bool */;
4596 int cltype33;
4597 int idtype34;
4598 val* var35 /* : Array[Object] */;
4599 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
4600 short int var36 /* : Bool */;
4601 int cltype37;
4602 int idtype38;
4603 val* var39 /* : AStdClassdef */;
4604 val* var40 /* : null */;
4605 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4606 long var41 /* : Int */;
4607 long var42 /* : Int */;
4608 var_p = p0;
4609 var = NULL;
4610 var_node_list = var;
4611 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4612 var_nodearraylist12 = var1;
4613 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4614 var_nodearraylist11 = var2;
4615 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4616 var_nodearraylist10 = var3;
4617 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4618 var_nodearraylist9 = var4;
4619 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4620 var_nodearraylist8 = var5;
4621 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4622 var_nodearraylist7 = var6;
4623 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4624 var_nodearraylist6 = var7;
4625 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4626 var_nodearraylist5 = var8;
4627 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4628 var_nodearraylist4 = var9;
4629 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4630 var_nodearraylist3 = var10;
4631 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4632 var_nodearraylist2 = var11;
4633 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4634 var_nodearraylist1 = var12;
4635 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4636 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4637 CHECK_NEW_array__Array(var13);
4638 var_listnode7 = var13;
4639 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4640 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4641 CHECK_NEW_array__Array(var14);
4642 var_listnode10 = var14;
4643 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
4644 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
4645 CHECK_NEW_array__Array(var15);
4646 var_listnode12 = var15;
4647 var_pdocnode2 = var_nodearraylist1;
4648 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4649 cltype = type_nullable_parser_nodes__ADoc.color;
4650 idtype = type_nullable_parser_nodes__ADoc.id;
4651 if(var_pdocnode2 == NULL) {
4652 var16 = 1;
4653 } else {
4654 if(cltype >= var_pdocnode2->type->table_size) {
4655 var16 = 0;
4656 } else {
4657 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
4658 }
4659 }
4660 if (!var16) {
4661 fprintf(stderr, "Runtime error: %s", "Assert failed");
4662 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11131);
4663 exit(1);
4664 }
4665 var_tkwredefnode3 = var_nodearraylist2;
4666 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4667 cltype18 = type_nullable_parser_nodes__TKwredef.color;
4668 idtype19 = type_nullable_parser_nodes__TKwredef.id;
4669 if(var_tkwredefnode3 == NULL) {
4670 var17 = 1;
4671 } else {
4672 if(cltype18 >= var_tkwredefnode3->type->table_size) {
4673 var17 = 0;
4674 } else {
4675 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
4676 }
4677 }
4678 if (!var17) {
4679 fprintf(stderr, "Runtime error: %s", "Assert failed");
4680 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11133);
4681 exit(1);
4682 }
4683 var_pvisibilitynode4 = var_nodearraylist3;
4684 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4685 cltype21 = type_nullable_parser_nodes__AVisibility.color;
4686 idtype22 = type_nullable_parser_nodes__AVisibility.id;
4687 if(var_pvisibilitynode4 == NULL) {
4688 var20 = 1;
4689 } else {
4690 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
4691 var20 = 0;
4692 } else {
4693 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
4694 }
4695 }
4696 if (!var20) {
4697 fprintf(stderr, "Runtime error: %s", "Assert failed");
4698 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11135);
4699 exit(1);
4700 }
4701 var_pclasskindnode5 = var_nodearraylist4;
4702 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4703 cltype24 = type_nullable_parser_nodes__AClasskind.color;
4704 idtype25 = type_nullable_parser_nodes__AClasskind.id;
4705 if(var_pclasskindnode5 == NULL) {
4706 var23 = 1;
4707 } else {
4708 if(cltype24 >= var_pclasskindnode5->type->table_size) {
4709 var23 = 0;
4710 } else {
4711 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
4712 }
4713 }
4714 if (!var23) {
4715 fprintf(stderr, "Runtime error: %s", "Assert failed");
4716 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11137);
4717 exit(1);
4718 }
4719 var_tclassidnode6 = var_nodearraylist8;
4720 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4721 cltype27 = type_nullable_parser_nodes__TClassid.color;
4722 idtype28 = type_nullable_parser_nodes__TClassid.id;
4723 if(var_tclassidnode6 == NULL) {
4724 var26 = 1;
4725 } else {
4726 if(cltype27 >= var_tclassidnode6->type->table_size) {
4727 var26 = 0;
4728 } else {
4729 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
4730 }
4731 }
4732 if (!var26) {
4733 fprintf(stderr, "Runtime error: %s", "Assert failed");
4734 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11139);
4735 exit(1);
4736 }
4737 var_pexterncodeblocknode9 = var_nodearraylist9;
4738 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
4739 cltype30 = type_nullable_parser_nodes__AExternCodeBlock.color;
4740 idtype31 = type_nullable_parser_nodes__AExternCodeBlock.id;
4741 if(var_pexterncodeblocknode9 == NULL) {
4742 var29 = 1;
4743 } else {
4744 if(cltype30 >= var_pexterncodeblocknode9->type->table_size) {
4745 var29 = 0;
4746 } else {
4747 var29 = var_pexterncodeblocknode9->type->type_table[cltype30] == idtype31;
4748 }
4749 }
4750 if (!var29) {
4751 fprintf(stderr, "Runtime error: %s", "Assert failed");
4752 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11141);
4753 exit(1);
4754 }
4755 var_listnode11 = var_nodearraylist10;
4756 /* <var_listnode11:nullable Object> isa Array[Object] */
4757 cltype33 = type_array__Arraykernel__Object.color;
4758 idtype34 = type_array__Arraykernel__Object.id;
4759 if(var_listnode11 == NULL) {
4760 var32 = 0;
4761 } else {
4762 if(cltype33 >= var_listnode11->type->table_size) {
4763 var32 = 0;
4764 } else {
4765 var32 = var_listnode11->type->type_table[cltype33] == idtype34;
4766 }
4767 }
4768 if (!var32) {
4769 fprintf(stderr, "Runtime error: %s", "Assert failed");
4770 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11143);
4771 exit(1);
4772 }
4773 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction239>*/;
4774 var_listnode12 = var35;
4775 var_tkwendnode13 = var_nodearraylist12;
4776 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
4777 cltype37 = type_nullable_parser_nodes__TKwend.color;
4778 idtype38 = type_nullable_parser_nodes__TKwend.id;
4779 if(var_tkwendnode13 == NULL) {
4780 var36 = 1;
4781 } else {
4782 if(cltype37 >= var_tkwendnode13->type->table_size) {
4783 var36 = 0;
4784 } else {
4785 var36 = var_tkwendnode13->type->type_table[cltype37] == idtype38;
4786 }
4787 }
4788 if (!var36) {
4789 fprintf(stderr, "Runtime error: %s", "Assert failed");
4790 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11146);
4791 exit(1);
4792 }
4793 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4794 var40 = NULL;
4795 ((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, var40, var_pexterncodeblocknode9, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var39:AStdClassdef>*/;
4796 CHECK_NEW_parser_nodes__AStdClassdef(var39);
4797 var_pclassdefnode1 = var39;
4798 var_node_list = var_pclassdefnode1;
4799 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction239> */
4800 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
4801 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
4802 RET_LABEL:;
4803 }
4804 /* method parser#ReduceAction239#action for (self: Object, Parser) */
4805 void VIRTUAL_parser__ReduceAction239__action(val* self, val* p0) {
4806 parser__ReduceAction239__action(self, p0);
4807 RET_LABEL:;
4808 }
4809 /* method parser#ReduceAction241#action for (self: ReduceAction241, Parser) */
4810 void parser__ReduceAction241__action(val* self, val* p0) {
4811 val* var_p /* var p: Parser */;
4812 val* var /* : null */;
4813 val* var_node_list /* var node_list: nullable Object */;
4814 val* var1 /* : nullable Object */;
4815 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4816 val* var2 /* : nullable Object */;
4817 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4818 val* var3 /* : nullable Object */;
4819 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4820 val* var4 /* : nullable Object */;
4821 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4822 val* var5 /* : nullable Object */;
4823 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4824 val* var6 /* : nullable Object */;
4825 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4826 val* var7 /* : nullable Object */;
4827 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4828 val* var8 /* : nullable Object */;
4829 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4830 val* var9 /* : nullable Object */;
4831 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4832 val* var10 /* : nullable Object */;
4833 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4834 val* var11 /* : Array[Object] */;
4835 val* var_listnode8 /* var listnode8: Array[Object] */;
4836 val* var12 /* : Array[Object] */;
4837 val* var_listnode11 /* var listnode11: Array[Object] */;
4838 val* var13 /* : Array[Object] */;
4839 val* var_listnode13 /* var listnode13: Array[Object] */;
4840 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4841 short int var14 /* : Bool */;
4842 int cltype;
4843 int idtype;
4844 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4845 short int var15 /* : Bool */;
4846 int cltype16;
4847 int idtype17;
4848 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4849 short int var18 /* : Bool */;
4850 int cltype19;
4851 int idtype20;
4852 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4853 short int var21 /* : Bool */;
4854 int cltype22;
4855 int idtype23;
4856 val* var_listnode7 /* var listnode7: nullable Object */;
4857 short int var24 /* : Bool */;
4858 int cltype25;
4859 int idtype26;
4860 val* var27 /* : Array[Object] */;
4861 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
4862 short int var28 /* : Bool */;
4863 int cltype29;
4864 int idtype30;
4865 val* var_listnode12 /* var listnode12: nullable Object */;
4866 short int var31 /* : Bool */;
4867 int cltype32;
4868 int idtype33;
4869 val* var34 /* : Array[Object] */;
4870 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
4871 short int var35 /* : Bool */;
4872 int cltype36;
4873 int idtype37;
4874 val* var38 /* : AStdClassdef */;
4875 val* var39 /* : null */;
4876 val* var40 /* : null */;
4877 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4878 long var41 /* : Int */;
4879 long var42 /* : Int */;
4880 var_p = p0;
4881 var = NULL;
4882 var_node_list = var;
4883 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4884 var_nodearraylist10 = var1;
4885 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4886 var_nodearraylist9 = var2;
4887 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4888 var_nodearraylist8 = var3;
4889 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4890 var_nodearraylist7 = var4;
4891 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4892 var_nodearraylist6 = var5;
4893 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4894 var_nodearraylist5 = var6;
4895 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4896 var_nodearraylist4 = var7;
4897 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4898 var_nodearraylist3 = var8;
4899 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4900 var_nodearraylist2 = var9;
4901 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4902 var_nodearraylist1 = var10;
4903 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
4904 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
4905 CHECK_NEW_array__Array(var11);
4906 var_listnode8 = var11;
4907 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4908 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4909 CHECK_NEW_array__Array(var12);
4910 var_listnode11 = var12;
4911 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4912 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4913 CHECK_NEW_array__Array(var13);
4914 var_listnode13 = var13;
4915 var_pdocnode2 = var_nodearraylist1;
4916 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4917 cltype = type_nullable_parser_nodes__ADoc.color;
4918 idtype = type_nullable_parser_nodes__ADoc.id;
4919 if(var_pdocnode2 == NULL) {
4920 var14 = 1;
4921 } else {
4922 if(cltype >= var_pdocnode2->type->table_size) {
4923 var14 = 0;
4924 } else {
4925 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
4926 }
4927 }
4928 if (!var14) {
4929 fprintf(stderr, "Runtime error: %s", "Assert failed");
4930 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11183);
4931 exit(1);
4932 }
4933 var_pvisibilitynode4 = var_nodearraylist2;
4934 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4935 cltype16 = type_nullable_parser_nodes__AVisibility.color;
4936 idtype17 = type_nullable_parser_nodes__AVisibility.id;
4937 if(var_pvisibilitynode4 == NULL) {
4938 var15 = 1;
4939 } else {
4940 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
4941 var15 = 0;
4942 } else {
4943 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
4944 }
4945 }
4946 if (!var15) {
4947 fprintf(stderr, "Runtime error: %s", "Assert failed");
4948 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11185);
4949 exit(1);
4950 }
4951 var_pclasskindnode5 = var_nodearraylist3;
4952 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4953 cltype19 = type_nullable_parser_nodes__AClasskind.color;
4954 idtype20 = type_nullable_parser_nodes__AClasskind.id;
4955 if(var_pclasskindnode5 == NULL) {
4956 var18 = 1;
4957 } else {
4958 if(cltype19 >= var_pclasskindnode5->type->table_size) {
4959 var18 = 0;
4960 } else {
4961 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
4962 }
4963 }
4964 if (!var18) {
4965 fprintf(stderr, "Runtime error: %s", "Assert failed");
4966 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11187);
4967 exit(1);
4968 }
4969 var_tclassidnode6 = var_nodearraylist5;
4970 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4971 cltype22 = type_nullable_parser_nodes__TClassid.color;
4972 idtype23 = type_nullable_parser_nodes__TClassid.id;
4973 if(var_tclassidnode6 == NULL) {
4974 var21 = 1;
4975 } else {
4976 if(cltype22 >= var_tclassidnode6->type->table_size) {
4977 var21 = 0;
4978 } else {
4979 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
4980 }
4981 }
4982 if (!var21) {
4983 fprintf(stderr, "Runtime error: %s", "Assert failed");
4984 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11189);
4985 exit(1);
4986 }
4987 var_listnode7 = var_nodearraylist6;
4988 /* <var_listnode7:nullable Object> isa Array[Object] */
4989 cltype25 = type_array__Arraykernel__Object.color;
4990 idtype26 = type_array__Arraykernel__Object.id;
4991 if(var_listnode7 == NULL) {
4992 var24 = 0;
4993 } else {
4994 if(cltype25 >= var_listnode7->type->table_size) {
4995 var24 = 0;
4996 } else {
4997 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
4998 }
4999 }
5000 if (!var24) {
5001 fprintf(stderr, "Runtime error: %s", "Assert failed");
5002 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11191);
5003 exit(1);
5004 }
5005 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction241>*/;
5006 var_listnode8 = var27;
5007 var_pexterncodeblocknode10 = var_nodearraylist7;
5008 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
5009 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
5010 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
5011 if(var_pexterncodeblocknode10 == NULL) {
5012 var28 = 1;
5013 } else {
5014 if(cltype29 >= var_pexterncodeblocknode10->type->table_size) {
5015 var28 = 0;
5016 } else {
5017 var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30;
5018 }
5019 }
5020 if (!var28) {
5021 fprintf(stderr, "Runtime error: %s", "Assert failed");
5022 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11194);
5023 exit(1);
5024 }
5025 var_listnode12 = var_nodearraylist8;
5026 /* <var_listnode12:nullable Object> isa Array[Object] */
5027 cltype32 = type_array__Arraykernel__Object.color;
5028 idtype33 = type_array__Arraykernel__Object.id;
5029 if(var_listnode12 == NULL) {
5030 var31 = 0;
5031 } else {
5032 if(cltype32 >= var_listnode12->type->table_size) {
5033 var31 = 0;
5034 } else {
5035 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
5036 }
5037 }
5038 if (!var31) {
5039 fprintf(stderr, "Runtime error: %s", "Assert failed");
5040 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11196);
5041 exit(1);
5042 }
5043 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction241>*/;
5044 var_listnode13 = var34;
5045 var_tkwendnode14 = var_nodearraylist10;
5046 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
5047 cltype36 = type_nullable_parser_nodes__TKwend.color;
5048 idtype37 = type_nullable_parser_nodes__TKwend.id;
5049 if(var_tkwendnode14 == NULL) {
5050 var35 = 1;
5051 } else {
5052 if(cltype36 >= var_tkwendnode14->type->table_size) {
5053 var35 = 0;
5054 } else {
5055 var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37;
5056 }
5057 }
5058 if (!var35) {
5059 fprintf(stderr, "Runtime error: %s", "Assert failed");
5060 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11199);
5061 exit(1);
5062 }
5063 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5064 var39 = NULL;
5065 var40 = NULL;
5066 ((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_listnode8, var40, var_pexterncodeblocknode10, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var38:AStdClassdef>*/;
5067 CHECK_NEW_parser_nodes__AStdClassdef(var38);
5068 var_pclassdefnode1 = var38;
5069 var_node_list = var_pclassdefnode1;
5070 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction241> */
5071 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
5072 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
5073 RET_LABEL:;
5074 }
5075 /* method parser#ReduceAction241#action for (self: Object, Parser) */
5076 void VIRTUAL_parser__ReduceAction241__action(val* self, val* p0) {
5077 parser__ReduceAction241__action(self, p0);
5078 RET_LABEL:;
5079 }
5080 /* method parser#ReduceAction242#action for (self: ReduceAction242, Parser) */
5081 void parser__ReduceAction242__action(val* self, val* p0) {
5082 val* var_p /* var p: Parser */;
5083 val* var /* : null */;
5084 val* var_node_list /* var node_list: nullable Object */;
5085 val* var1 /* : nullable Object */;
5086 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5087 val* var2 /* : nullable Object */;
5088 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5089 val* var3 /* : nullable Object */;
5090 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5091 val* var4 /* : nullable Object */;
5092 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5093 val* var5 /* : nullable Object */;
5094 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5095 val* var6 /* : nullable Object */;
5096 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5097 val* var7 /* : nullable Object */;
5098 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5099 val* var8 /* : nullable Object */;
5100 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5101 val* var9 /* : nullable Object */;
5102 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5103 val* var10 /* : nullable Object */;
5104 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5105 val* var11 /* : nullable Object */;
5106 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5107 val* var12 /* : Array[Object] */;
5108 val* var_listnode8 /* var listnode8: Array[Object] */;
5109 val* var13 /* : Array[Object] */;
5110 val* var_listnode11 /* var listnode11: Array[Object] */;
5111 val* var14 /* : Array[Object] */;
5112 val* var_listnode13 /* var listnode13: Array[Object] */;
5113 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5114 short int var15 /* : Bool */;
5115 int cltype;
5116 int idtype;
5117 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5118 short int var16 /* : Bool */;
5119 int cltype17;
5120 int idtype18;
5121 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5122 short int var19 /* : Bool */;
5123 int cltype20;
5124 int idtype21;
5125 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5126 short int var22 /* : Bool */;
5127 int cltype23;
5128 int idtype24;
5129 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5130 short int var25 /* : Bool */;
5131 int cltype26;
5132 int idtype27;
5133 val* var_listnode7 /* var listnode7: nullable Object */;
5134 short int var28 /* : Bool */;
5135 int cltype29;
5136 int idtype30;
5137 val* var31 /* : Array[Object] */;
5138 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
5139 short int var32 /* : Bool */;
5140 int cltype33;
5141 int idtype34;
5142 val* var_listnode12 /* var listnode12: nullable Object */;
5143 short int var35 /* : Bool */;
5144 int cltype36;
5145 int idtype37;
5146 val* var38 /* : Array[Object] */;
5147 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
5148 short int var39 /* : Bool */;
5149 int cltype40;
5150 int idtype41;
5151 val* var42 /* : AStdClassdef */;
5152 val* var43 /* : null */;
5153 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5154 long var44 /* : Int */;
5155 long var45 /* : Int */;
5156 var_p = p0;
5157 var = NULL;
5158 var_node_list = var;
5159 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5160 var_nodearraylist11 = var1;
5161 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5162 var_nodearraylist10 = var2;
5163 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5164 var_nodearraylist9 = var3;
5165 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5166 var_nodearraylist8 = var4;
5167 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5168 var_nodearraylist7 = var5;
5169 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5170 var_nodearraylist6 = var6;
5171 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5172 var_nodearraylist5 = var7;
5173 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5174 var_nodearraylist4 = var8;
5175 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5176 var_nodearraylist3 = var9;
5177 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5178 var_nodearraylist2 = var10;
5179 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5180 var_nodearraylist1 = var11;
5181 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5182 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5183 CHECK_NEW_array__Array(var12);
5184 var_listnode8 = var12;
5185 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5186 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5187 CHECK_NEW_array__Array(var13);
5188 var_listnode11 = var13;
5189 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5190 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5191 CHECK_NEW_array__Array(var14);
5192 var_listnode13 = var14;
5193 var_pdocnode2 = var_nodearraylist1;
5194 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5195 cltype = type_nullable_parser_nodes__ADoc.color;
5196 idtype = type_nullable_parser_nodes__ADoc.id;
5197 if(var_pdocnode2 == NULL) {
5198 var15 = 1;
5199 } else {
5200 if(cltype >= var_pdocnode2->type->table_size) {
5201 var15 = 0;
5202 } else {
5203 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
5204 }
5205 }
5206 if (!var15) {
5207 fprintf(stderr, "Runtime error: %s", "Assert failed");
5208 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11237);
5209 exit(1);
5210 }
5211 var_tkwredefnode3 = var_nodearraylist2;
5212 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5213 cltype17 = type_nullable_parser_nodes__TKwredef.color;
5214 idtype18 = type_nullable_parser_nodes__TKwredef.id;
5215 if(var_tkwredefnode3 == NULL) {
5216 var16 = 1;
5217 } else {
5218 if(cltype17 >= var_tkwredefnode3->type->table_size) {
5219 var16 = 0;
5220 } else {
5221 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
5222 }
5223 }
5224 if (!var16) {
5225 fprintf(stderr, "Runtime error: %s", "Assert failed");
5226 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11239);
5227 exit(1);
5228 }
5229 var_pvisibilitynode4 = var_nodearraylist3;
5230 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5231 cltype20 = type_nullable_parser_nodes__AVisibility.color;
5232 idtype21 = type_nullable_parser_nodes__AVisibility.id;
5233 if(var_pvisibilitynode4 == NULL) {
5234 var19 = 1;
5235 } else {
5236 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
5237 var19 = 0;
5238 } else {
5239 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
5240 }
5241 }
5242 if (!var19) {
5243 fprintf(stderr, "Runtime error: %s", "Assert failed");
5244 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11241);
5245 exit(1);
5246 }
5247 var_pclasskindnode5 = var_nodearraylist4;
5248 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5249 cltype23 = type_nullable_parser_nodes__AClasskind.color;
5250 idtype24 = type_nullable_parser_nodes__AClasskind.id;
5251 if(var_pclasskindnode5 == NULL) {
5252 var22 = 1;
5253 } else {
5254 if(cltype23 >= var_pclasskindnode5->type->table_size) {
5255 var22 = 0;
5256 } else {
5257 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
5258 }
5259 }
5260 if (!var22) {
5261 fprintf(stderr, "Runtime error: %s", "Assert failed");
5262 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11243);
5263 exit(1);
5264 }
5265 var_tclassidnode6 = var_nodearraylist6;
5266 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5267 cltype26 = type_nullable_parser_nodes__TClassid.color;
5268 idtype27 = type_nullable_parser_nodes__TClassid.id;
5269 if(var_tclassidnode6 == NULL) {
5270 var25 = 1;
5271 } else {
5272 if(cltype26 >= var_tclassidnode6->type->table_size) {
5273 var25 = 0;
5274 } else {
5275 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
5276 }
5277 }
5278 if (!var25) {
5279 fprintf(stderr, "Runtime error: %s", "Assert failed");
5280 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11245);
5281 exit(1);
5282 }
5283 var_listnode7 = var_nodearraylist7;
5284 /* <var_listnode7:nullable Object> isa Array[Object] */
5285 cltype29 = type_array__Arraykernel__Object.color;
5286 idtype30 = type_array__Arraykernel__Object.id;
5287 if(var_listnode7 == NULL) {
5288 var28 = 0;
5289 } else {
5290 if(cltype29 >= var_listnode7->type->table_size) {
5291 var28 = 0;
5292 } else {
5293 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
5294 }
5295 }
5296 if (!var28) {
5297 fprintf(stderr, "Runtime error: %s", "Assert failed");
5298 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11247);
5299 exit(1);
5300 }
5301 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction242>*/;
5302 var_listnode8 = var31;
5303 var_pexterncodeblocknode10 = var_nodearraylist8;
5304 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
5305 cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color;
5306 idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id;
5307 if(var_pexterncodeblocknode10 == NULL) {
5308 var32 = 1;
5309 } else {
5310 if(cltype33 >= var_pexterncodeblocknode10->type->table_size) {
5311 var32 = 0;
5312 } else {
5313 var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34;
5314 }
5315 }
5316 if (!var32) {
5317 fprintf(stderr, "Runtime error: %s", "Assert failed");
5318 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11250);
5319 exit(1);
5320 }
5321 var_listnode12 = var_nodearraylist9;
5322 /* <var_listnode12:nullable Object> isa Array[Object] */
5323 cltype36 = type_array__Arraykernel__Object.color;
5324 idtype37 = type_array__Arraykernel__Object.id;
5325 if(var_listnode12 == NULL) {
5326 var35 = 0;
5327 } else {
5328 if(cltype36 >= var_listnode12->type->table_size) {
5329 var35 = 0;
5330 } else {
5331 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
5332 }
5333 }
5334 if (!var35) {
5335 fprintf(stderr, "Runtime error: %s", "Assert failed");
5336 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11252);
5337 exit(1);
5338 }
5339 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction242>*/;
5340 var_listnode13 = var38;
5341 var_tkwendnode14 = var_nodearraylist11;
5342 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
5343 cltype40 = type_nullable_parser_nodes__TKwend.color;
5344 idtype41 = type_nullable_parser_nodes__TKwend.id;
5345 if(var_tkwendnode14 == NULL) {
5346 var39 = 1;
5347 } else {
5348 if(cltype40 >= var_tkwendnode14->type->table_size) {
5349 var39 = 0;
5350 } else {
5351 var39 = var_tkwendnode14->type->type_table[cltype40] == idtype41;
5352 }
5353 }
5354 if (!var39) {
5355 fprintf(stderr, "Runtime error: %s", "Assert failed");
5356 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11255);
5357 exit(1);
5358 }
5359 var42 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5360 var43 = NULL;
5361 ((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_listnode8, var43, var_pexterncodeblocknode10, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var42:AStdClassdef>*/;
5362 CHECK_NEW_parser_nodes__AStdClassdef(var42);
5363 var_pclassdefnode1 = var42;
5364 var_node_list = var_pclassdefnode1;
5365 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction242> */
5366 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
5367 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
5368 RET_LABEL:;
5369 }
5370 /* method parser#ReduceAction242#action for (self: Object, Parser) */
5371 void VIRTUAL_parser__ReduceAction242__action(val* self, val* p0) {
5372 parser__ReduceAction242__action(self, p0);
5373 RET_LABEL:;
5374 }
5375 /* method parser#ReduceAction243#action for (self: ReduceAction243, Parser) */
5376 void parser__ReduceAction243__action(val* self, val* p0) {
5377 val* var_p /* var p: Parser */;
5378 val* var /* : null */;
5379 val* var_node_list /* var node_list: nullable Object */;
5380 val* var1 /* : nullable Object */;
5381 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5382 val* var2 /* : nullable Object */;
5383 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5384 val* var3 /* : nullable Object */;
5385 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5386 val* var4 /* : nullable Object */;
5387 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5388 val* var5 /* : nullable Object */;
5389 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5390 val* var6 /* : nullable Object */;
5391 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5392 val* var7 /* : nullable Object */;
5393 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5394 val* var8 /* : nullable Object */;
5395 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5396 val* var9 /* : nullable Object */;
5397 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5398 val* var10 /* : nullable Object */;
5399 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5400 val* var11 /* : nullable Object */;
5401 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5402 val* var12 /* : Array[Object] */;
5403 val* var_listnode8 /* var listnode8: Array[Object] */;
5404 val* var13 /* : Array[Object] */;
5405 val* var_listnode11 /* var listnode11: Array[Object] */;
5406 val* var14 /* : Array[Object] */;
5407 val* var_listnode13 /* var listnode13: Array[Object] */;
5408 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5409 short int var15 /* : Bool */;
5410 int cltype;
5411 int idtype;
5412 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5413 short int var16 /* : Bool */;
5414 int cltype17;
5415 int idtype18;
5416 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5417 short int var19 /* : Bool */;
5418 int cltype20;
5419 int idtype21;
5420 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5421 short int var22 /* : Bool */;
5422 int cltype23;
5423 int idtype24;
5424 val* var_listnode7 /* var listnode7: nullable Object */;
5425 short int var25 /* : Bool */;
5426 int cltype26;
5427 int idtype27;
5428 val* var28 /* : Array[Object] */;
5429 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
5430 short int var29 /* : Bool */;
5431 int cltype30;
5432 int idtype31;
5433 val* var_listnode12 /* var listnode12: nullable Object */;
5434 short int var32 /* : Bool */;
5435 int cltype33;
5436 int idtype34;
5437 val* var35 /* : Array[Object] */;
5438 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
5439 short int var36 /* : Bool */;
5440 int cltype37;
5441 int idtype38;
5442 val* var39 /* : AStdClassdef */;
5443 val* var40 /* : null */;
5444 val* var41 /* : null */;
5445 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5446 long var42 /* : Int */;
5447 long var43 /* : Int */;
5448 var_p = p0;
5449 var = NULL;
5450 var_node_list = var;
5451 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5452 var_nodearraylist11 = var1;
5453 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5454 var_nodearraylist10 = var2;
5455 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5456 var_nodearraylist9 = var3;
5457 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5458 var_nodearraylist8 = var4;
5459 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5460 var_nodearraylist7 = var5;
5461 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5462 var_nodearraylist6 = var6;
5463 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5464 var_nodearraylist5 = var7;
5465 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5466 var_nodearraylist4 = var8;
5467 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5468 var_nodearraylist3 = var9;
5469 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5470 var_nodearraylist2 = var10;
5471 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5472 var_nodearraylist1 = var11;
5473 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5474 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5475 CHECK_NEW_array__Array(var12);
5476 var_listnode8 = var12;
5477 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5478 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5479 CHECK_NEW_array__Array(var13);
5480 var_listnode11 = var13;
5481 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5482 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5483 CHECK_NEW_array__Array(var14);
5484 var_listnode13 = var14;
5485 var_pdocnode2 = var_nodearraylist1;
5486 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5487 cltype = type_nullable_parser_nodes__ADoc.color;
5488 idtype = type_nullable_parser_nodes__ADoc.id;
5489 if(var_pdocnode2 == NULL) {
5490 var15 = 1;
5491 } else {
5492 if(cltype >= var_pdocnode2->type->table_size) {
5493 var15 = 0;
5494 } else {
5495 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
5496 }
5497 }
5498 if (!var15) {
5499 fprintf(stderr, "Runtime error: %s", "Assert failed");
5500 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11293);
5501 exit(1);
5502 }
5503 var_pvisibilitynode4 = var_nodearraylist2;
5504 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5505 cltype17 = type_nullable_parser_nodes__AVisibility.color;
5506 idtype18 = type_nullable_parser_nodes__AVisibility.id;
5507 if(var_pvisibilitynode4 == NULL) {
5508 var16 = 1;
5509 } else {
5510 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
5511 var16 = 0;
5512 } else {
5513 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
5514 }
5515 }
5516 if (!var16) {
5517 fprintf(stderr, "Runtime error: %s", "Assert failed");
5518 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11295);
5519 exit(1);
5520 }
5521 var_pclasskindnode5 = var_nodearraylist3;
5522 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5523 cltype20 = type_nullable_parser_nodes__AClasskind.color;
5524 idtype21 = type_nullable_parser_nodes__AClasskind.id;
5525 if(var_pclasskindnode5 == NULL) {
5526 var19 = 1;
5527 } else {
5528 if(cltype20 >= var_pclasskindnode5->type->table_size) {
5529 var19 = 0;
5530 } else {
5531 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
5532 }
5533 }
5534 if (!var19) {
5535 fprintf(stderr, "Runtime error: %s", "Assert failed");
5536 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11297);
5537 exit(1);
5538 }
5539 var_tclassidnode6 = var_nodearraylist6;
5540 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5541 cltype23 = type_nullable_parser_nodes__TClassid.color;
5542 idtype24 = type_nullable_parser_nodes__TClassid.id;
5543 if(var_tclassidnode6 == NULL) {
5544 var22 = 1;
5545 } else {
5546 if(cltype23 >= var_tclassidnode6->type->table_size) {
5547 var22 = 0;
5548 } else {
5549 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
5550 }
5551 }
5552 if (!var22) {
5553 fprintf(stderr, "Runtime error: %s", "Assert failed");
5554 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11299);
5555 exit(1);
5556 }
5557 var_listnode7 = var_nodearraylist7;
5558 /* <var_listnode7:nullable Object> isa Array[Object] */
5559 cltype26 = type_array__Arraykernel__Object.color;
5560 idtype27 = type_array__Arraykernel__Object.id;
5561 if(var_listnode7 == NULL) {
5562 var25 = 0;
5563 } else {
5564 if(cltype26 >= var_listnode7->type->table_size) {
5565 var25 = 0;
5566 } else {
5567 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
5568 }
5569 }
5570 if (!var25) {
5571 fprintf(stderr, "Runtime error: %s", "Assert failed");
5572 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11301);
5573 exit(1);
5574 }
5575 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction243>*/;
5576 var_listnode8 = var28;
5577 var_pexterncodeblocknode10 = var_nodearraylist8;
5578 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
5579 cltype30 = type_nullable_parser_nodes__AExternCodeBlock.color;
5580 idtype31 = type_nullable_parser_nodes__AExternCodeBlock.id;
5581 if(var_pexterncodeblocknode10 == NULL) {
5582 var29 = 1;
5583 } else {
5584 if(cltype30 >= var_pexterncodeblocknode10->type->table_size) {
5585 var29 = 0;
5586 } else {
5587 var29 = var_pexterncodeblocknode10->type->type_table[cltype30] == idtype31;
5588 }
5589 }
5590 if (!var29) {
5591 fprintf(stderr, "Runtime error: %s", "Assert failed");
5592 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11304);
5593 exit(1);
5594 }
5595 var_listnode12 = var_nodearraylist9;
5596 /* <var_listnode12:nullable Object> isa Array[Object] */
5597 cltype33 = type_array__Arraykernel__Object.color;
5598 idtype34 = type_array__Arraykernel__Object.id;
5599 if(var_listnode12 == NULL) {
5600 var32 = 0;
5601 } else {
5602 if(cltype33 >= var_listnode12->type->table_size) {
5603 var32 = 0;
5604 } else {
5605 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
5606 }
5607 }
5608 if (!var32) {
5609 fprintf(stderr, "Runtime error: %s", "Assert failed");
5610 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11306);
5611 exit(1);
5612 }
5613 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction243>*/;
5614 var_listnode13 = var35;
5615 var_tkwendnode14 = var_nodearraylist11;
5616 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
5617 cltype37 = type_nullable_parser_nodes__TKwend.color;
5618 idtype38 = type_nullable_parser_nodes__TKwend.id;
5619 if(var_tkwendnode14 == NULL) {
5620 var36 = 1;
5621 } else {
5622 if(cltype37 >= var_tkwendnode14->type->table_size) {
5623 var36 = 0;
5624 } else {
5625 var36 = var_tkwendnode14->type->type_table[cltype37] == idtype38;
5626 }
5627 }
5628 if (!var36) {
5629 fprintf(stderr, "Runtime error: %s", "Assert failed");
5630 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11309);
5631 exit(1);
5632 }
5633 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5634 var40 = NULL;
5635 var41 = NULL;
5636 ((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, var41, var_pexterncodeblocknode10, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var39:AStdClassdef>*/;
5637 CHECK_NEW_parser_nodes__AStdClassdef(var39);
5638 var_pclassdefnode1 = var39;
5639 var_node_list = var_pclassdefnode1;
5640 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction243> */
5641 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
5642 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
5643 RET_LABEL:;
5644 }
5645 /* method parser#ReduceAction243#action for (self: Object, Parser) */
5646 void VIRTUAL_parser__ReduceAction243__action(val* self, val* p0) {
5647 parser__ReduceAction243__action(self, p0);
5648 RET_LABEL:;
5649 }
5650 /* method parser#ReduceAction244#action for (self: ReduceAction244, Parser) */
5651 void parser__ReduceAction244__action(val* self, val* p0) {
5652 val* var_p /* var p: Parser */;
5653 val* var /* : null */;
5654 val* var_node_list /* var node_list: nullable Object */;
5655 val* var1 /* : nullable Object */;
5656 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
5657 val* var2 /* : nullable Object */;
5658 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5659 val* var3 /* : nullable Object */;
5660 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5661 val* var4 /* : nullable Object */;
5662 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5663 val* var5 /* : nullable Object */;
5664 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5665 val* var6 /* : nullable Object */;
5666 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5667 val* var7 /* : nullable Object */;
5668 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5669 val* var8 /* : nullable Object */;
5670 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5671 val* var9 /* : nullable Object */;
5672 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5673 val* var10 /* : nullable Object */;
5674 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5675 val* var11 /* : nullable Object */;
5676 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5677 val* var12 /* : nullable Object */;
5678 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5679 val* var13 /* : Array[Object] */;
5680 val* var_listnode8 /* var listnode8: Array[Object] */;
5681 val* var14 /* : Array[Object] */;
5682 val* var_listnode11 /* var listnode11: Array[Object] */;
5683 val* var15 /* : Array[Object] */;
5684 val* var_listnode13 /* var listnode13: Array[Object] */;
5685 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5686 short int var16 /* : Bool */;
5687 int cltype;
5688 int idtype;
5689 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5690 short int var17 /* : Bool */;
5691 int cltype18;
5692 int idtype19;
5693 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5694 short int var20 /* : Bool */;
5695 int cltype21;
5696 int idtype22;
5697 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5698 short int var23 /* : Bool */;
5699 int cltype24;
5700 int idtype25;
5701 val* var_listnode7 /* var listnode7: nullable Object */;
5702 short int var26 /* : Bool */;
5703 int cltype27;
5704 int idtype28;
5705 val* var29 /* : Array[Object] */;
5706 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
5707 short int var30 /* : Bool */;
5708 int cltype31;
5709 int idtype32;
5710 val* var_listnode12 /* var listnode12: nullable Object */;
5711 short int var33 /* : Bool */;
5712 int cltype34;
5713 int idtype35;
5714 val* var36 /* : Array[Object] */;
5715 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
5716 short int var37 /* : Bool */;
5717 int cltype38;
5718 int idtype39;
5719 val* var40 /* : AStdClassdef */;
5720 val* var41 /* : null */;
5721 val* var42 /* : null */;
5722 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5723 long var43 /* : Int */;
5724 long var44 /* : Int */;
5725 var_p = p0;
5726 var = NULL;
5727 var_node_list = var;
5728 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5729 var_nodearraylist12 = var1;
5730 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5731 var_nodearraylist11 = var2;
5732 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5733 var_nodearraylist10 = var3;
5734 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5735 var_nodearraylist9 = var4;
5736 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5737 var_nodearraylist8 = var5;
5738 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5739 var_nodearraylist7 = var6;
5740 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5741 var_nodearraylist6 = var7;
5742 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5743 var_nodearraylist5 = var8;
5744 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5745 var_nodearraylist4 = var9;
5746 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5747 var_nodearraylist3 = var10;
5748 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5749 var_nodearraylist2 = var11;
5750 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5751 var_nodearraylist1 = var12;
5752 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5753 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5754 CHECK_NEW_array__Array(var13);
5755 var_listnode8 = var13;
5756 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5757 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5758 CHECK_NEW_array__Array(var14);
5759 var_listnode11 = var14;
5760 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
5761 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
5762 CHECK_NEW_array__Array(var15);
5763 var_listnode13 = var15;
5764 var_pdocnode2 = var_nodearraylist1;
5765 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5766 cltype = type_nullable_parser_nodes__ADoc.color;
5767 idtype = type_nullable_parser_nodes__ADoc.id;
5768 if(var_pdocnode2 == NULL) {
5769 var16 = 1;
5770 } else {
5771 if(cltype >= var_pdocnode2->type->table_size) {
5772 var16 = 0;
5773 } else {
5774 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
5775 }
5776 }
5777 if (!var16) {
5778 fprintf(stderr, "Runtime error: %s", "Assert failed");
5779 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11348);
5780 exit(1);
5781 }
5782 var_pvisibilitynode4 = var_nodearraylist2;
5783 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5784 cltype18 = type_nullable_parser_nodes__AVisibility.color;
5785 idtype19 = type_nullable_parser_nodes__AVisibility.id;
5786 if(var_pvisibilitynode4 == NULL) {
5787 var17 = 1;
5788 } else {
5789 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
5790 var17 = 0;
5791 } else {
5792 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
5793 }
5794 }
5795 if (!var17) {
5796 fprintf(stderr, "Runtime error: %s", "Assert failed");
5797 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11350);
5798 exit(1);
5799 }
5800 var_pclasskindnode5 = var_nodearraylist3;
5801 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5802 cltype21 = type_nullable_parser_nodes__AClasskind.color;
5803 idtype22 = type_nullable_parser_nodes__AClasskind.id;
5804 if(var_pclasskindnode5 == NULL) {
5805 var20 = 1;
5806 } else {
5807 if(cltype21 >= var_pclasskindnode5->type->table_size) {
5808 var20 = 0;
5809 } else {
5810 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
5811 }
5812 }
5813 if (!var20) {
5814 fprintf(stderr, "Runtime error: %s", "Assert failed");
5815 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11352);
5816 exit(1);
5817 }
5818 var_tclassidnode6 = var_nodearraylist7;
5819 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5820 cltype24 = type_nullable_parser_nodes__TClassid.color;
5821 idtype25 = type_nullable_parser_nodes__TClassid.id;
5822 if(var_tclassidnode6 == NULL) {
5823 var23 = 1;
5824 } else {
5825 if(cltype24 >= var_tclassidnode6->type->table_size) {
5826 var23 = 0;
5827 } else {
5828 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
5829 }
5830 }
5831 if (!var23) {
5832 fprintf(stderr, "Runtime error: %s", "Assert failed");
5833 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11354);
5834 exit(1);
5835 }
5836 var_listnode7 = var_nodearraylist8;
5837 /* <var_listnode7:nullable Object> isa Array[Object] */
5838 cltype27 = type_array__Arraykernel__Object.color;
5839 idtype28 = type_array__Arraykernel__Object.id;
5840 if(var_listnode7 == NULL) {
5841 var26 = 0;
5842 } else {
5843 if(cltype27 >= var_listnode7->type->table_size) {
5844 var26 = 0;
5845 } else {
5846 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
5847 }
5848 }
5849 if (!var26) {
5850 fprintf(stderr, "Runtime error: %s", "Assert failed");
5851 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11356);
5852 exit(1);
5853 }
5854 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction244>*/;
5855 var_listnode8 = var29;
5856 var_pexterncodeblocknode10 = var_nodearraylist9;
5857 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
5858 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
5859 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
5860 if(var_pexterncodeblocknode10 == NULL) {
5861 var30 = 1;
5862 } else {
5863 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
5864 var30 = 0;
5865 } else {
5866 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
5867 }
5868 }
5869 if (!var30) {
5870 fprintf(stderr, "Runtime error: %s", "Assert failed");
5871 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11359);
5872 exit(1);
5873 }
5874 var_listnode12 = var_nodearraylist10;
5875 /* <var_listnode12:nullable Object> isa Array[Object] */
5876 cltype34 = type_array__Arraykernel__Object.color;
5877 idtype35 = type_array__Arraykernel__Object.id;
5878 if(var_listnode12 == NULL) {
5879 var33 = 0;
5880 } else {
5881 if(cltype34 >= var_listnode12->type->table_size) {
5882 var33 = 0;
5883 } else {
5884 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
5885 }
5886 }
5887 if (!var33) {
5888 fprintf(stderr, "Runtime error: %s", "Assert failed");
5889 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11361);
5890 exit(1);
5891 }
5892 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction244>*/;
5893 var_listnode13 = var36;
5894 var_tkwendnode14 = var_nodearraylist12;
5895 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
5896 cltype38 = type_nullable_parser_nodes__TKwend.color;
5897 idtype39 = type_nullable_parser_nodes__TKwend.id;
5898 if(var_tkwendnode14 == NULL) {
5899 var37 = 1;
5900 } else {
5901 if(cltype38 >= var_tkwendnode14->type->table_size) {
5902 var37 = 0;
5903 } else {
5904 var37 = var_tkwendnode14->type->type_table[cltype38] == idtype39;
5905 }
5906 }
5907 if (!var37) {
5908 fprintf(stderr, "Runtime error: %s", "Assert failed");
5909 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11364);
5910 exit(1);
5911 }
5912 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5913 var41 = NULL;
5914 var42 = NULL;
5915 ((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, var42, var_pexterncodeblocknode10, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var40:AStdClassdef>*/;
5916 CHECK_NEW_parser_nodes__AStdClassdef(var40);
5917 var_pclassdefnode1 = var40;
5918 var_node_list = var_pclassdefnode1;
5919 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction244> */
5920 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
5921 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
5922 RET_LABEL:;
5923 }
5924 /* method parser#ReduceAction244#action for (self: Object, Parser) */
5925 void VIRTUAL_parser__ReduceAction244__action(val* self, val* p0) {
5926 parser__ReduceAction244__action(self, p0);
5927 RET_LABEL:;
5928 }
5929 /* method parser#ReduceAction246#action for (self: ReduceAction246, Parser) */
5930 void parser__ReduceAction246__action(val* self, val* p0) {
5931 val* var_p /* var p: Parser */;
5932 val* var /* : null */;
5933 val* var_node_list /* var node_list: nullable Object */;
5934 val* var1 /* : nullable Object */;
5935 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
5936 val* var2 /* : nullable Object */;
5937 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5938 val* var3 /* : nullable Object */;
5939 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5940 val* var4 /* : nullable Object */;
5941 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5942 val* var5 /* : nullable Object */;
5943 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5944 val* var6 /* : nullable Object */;
5945 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5946 val* var7 /* : nullable Object */;
5947 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5948 val* var8 /* : nullable Object */;
5949 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5950 val* var9 /* : nullable Object */;
5951 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5952 val* var10 /* : nullable Object */;
5953 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5954 val* var11 /* : nullable Object */;
5955 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5956 val* var12 /* : nullable Object */;
5957 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5958 val* var13 /* : Array[Object] */;
5959 val* var_listnode8 /* var listnode8: Array[Object] */;
5960 val* var14 /* : Array[Object] */;
5961 val* var_listnode11 /* var listnode11: Array[Object] */;
5962 val* var15 /* : Array[Object] */;
5963 val* var_listnode13 /* var listnode13: Array[Object] */;
5964 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5965 short int var16 /* : Bool */;
5966 int cltype;
5967 int idtype;
5968 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5969 short int var17 /* : Bool */;
5970 int cltype18;
5971 int idtype19;
5972 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5973 short int var20 /* : Bool */;
5974 int cltype21;
5975 int idtype22;
5976 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5977 short int var23 /* : Bool */;
5978 int cltype24;
5979 int idtype25;
5980 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5981 short int var26 /* : Bool */;
5982 int cltype27;
5983 int idtype28;
5984 val* var_listnode7 /* var listnode7: nullable Object */;
5985 short int var29 /* : Bool */;
5986 int cltype30;
5987 int idtype31;
5988 val* var32 /* : Array[Object] */;
5989 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
5990 short int var33 /* : Bool */;
5991 int cltype34;
5992 int idtype35;
5993 val* var_listnode12 /* var listnode12: nullable Object */;
5994 short int var36 /* : Bool */;
5995 int cltype37;
5996 int idtype38;
5997 val* var39 /* : Array[Object] */;
5998 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
5999 short int var40 /* : Bool */;
6000 int cltype41;
6001 int idtype42;
6002 val* var43 /* : AStdClassdef */;
6003 val* var44 /* : null */;
6004 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6005 long var45 /* : Int */;
6006 long var46 /* : Int */;
6007 var_p = p0;
6008 var = NULL;
6009 var_node_list = var;
6010 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6011 var_nodearraylist12 = var1;
6012 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6013 var_nodearraylist11 = var2;
6014 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6015 var_nodearraylist10 = var3;
6016 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6017 var_nodearraylist9 = var4;
6018 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6019 var_nodearraylist8 = var5;
6020 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6021 var_nodearraylist7 = var6;
6022 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6023 var_nodearraylist6 = var7;
6024 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6025 var_nodearraylist5 = var8;
6026 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6027 var_nodearraylist4 = var9;
6028 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6029 var_nodearraylist3 = var10;
6030 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6031 var_nodearraylist2 = var11;
6032 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6033 var_nodearraylist1 = var12;
6034 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6035 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6036 CHECK_NEW_array__Array(var13);
6037 var_listnode8 = var13;
6038 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6039 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6040 CHECK_NEW_array__Array(var14);
6041 var_listnode11 = var14;
6042 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
6043 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
6044 CHECK_NEW_array__Array(var15);
6045 var_listnode13 = var15;
6046 var_pdocnode2 = var_nodearraylist1;
6047 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6048 cltype = type_nullable_parser_nodes__ADoc.color;
6049 idtype = type_nullable_parser_nodes__ADoc.id;
6050 if(var_pdocnode2 == NULL) {
6051 var16 = 1;
6052 } else {
6053 if(cltype >= var_pdocnode2->type->table_size) {
6054 var16 = 0;
6055 } else {
6056 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
6057 }
6058 }
6059 if (!var16) {
6060 fprintf(stderr, "Runtime error: %s", "Assert failed");
6061 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11403);
6062 exit(1);
6063 }
6064 var_tkwredefnode3 = var_nodearraylist2;
6065 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6066 cltype18 = type_nullable_parser_nodes__TKwredef.color;
6067 idtype19 = type_nullable_parser_nodes__TKwredef.id;
6068 if(var_tkwredefnode3 == NULL) {
6069 var17 = 1;
6070 } else {
6071 if(cltype18 >= var_tkwredefnode3->type->table_size) {
6072 var17 = 0;
6073 } else {
6074 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
6075 }
6076 }
6077 if (!var17) {
6078 fprintf(stderr, "Runtime error: %s", "Assert failed");
6079 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11405);
6080 exit(1);
6081 }
6082 var_pvisibilitynode4 = var_nodearraylist3;
6083 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6084 cltype21 = type_nullable_parser_nodes__AVisibility.color;
6085 idtype22 = type_nullable_parser_nodes__AVisibility.id;
6086 if(var_pvisibilitynode4 == NULL) {
6087 var20 = 1;
6088 } else {
6089 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
6090 var20 = 0;
6091 } else {
6092 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
6093 }
6094 }
6095 if (!var20) {
6096 fprintf(stderr, "Runtime error: %s", "Assert failed");
6097 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11407);
6098 exit(1);
6099 }
6100 var_pclasskindnode5 = var_nodearraylist4;
6101 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6102 cltype24 = type_nullable_parser_nodes__AClasskind.color;
6103 idtype25 = type_nullable_parser_nodes__AClasskind.id;
6104 if(var_pclasskindnode5 == NULL) {
6105 var23 = 1;
6106 } else {
6107 if(cltype24 >= var_pclasskindnode5->type->table_size) {
6108 var23 = 0;
6109 } else {
6110 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
6111 }
6112 }
6113 if (!var23) {
6114 fprintf(stderr, "Runtime error: %s", "Assert failed");
6115 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11409);
6116 exit(1);
6117 }
6118 var_tclassidnode6 = var_nodearraylist7;
6119 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6120 cltype27 = type_nullable_parser_nodes__TClassid.color;
6121 idtype28 = type_nullable_parser_nodes__TClassid.id;
6122 if(var_tclassidnode6 == NULL) {
6123 var26 = 1;
6124 } else {
6125 if(cltype27 >= var_tclassidnode6->type->table_size) {
6126 var26 = 0;
6127 } else {
6128 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
6129 }
6130 }
6131 if (!var26) {
6132 fprintf(stderr, "Runtime error: %s", "Assert failed");
6133 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11411);
6134 exit(1);
6135 }
6136 var_listnode7 = var_nodearraylist8;
6137 /* <var_listnode7:nullable Object> isa Array[Object] */
6138 cltype30 = type_array__Arraykernel__Object.color;
6139 idtype31 = type_array__Arraykernel__Object.id;
6140 if(var_listnode7 == NULL) {
6141 var29 = 0;
6142 } else {
6143 if(cltype30 >= var_listnode7->type->table_size) {
6144 var29 = 0;
6145 } else {
6146 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
6147 }
6148 }
6149 if (!var29) {
6150 fprintf(stderr, "Runtime error: %s", "Assert failed");
6151 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11413);
6152 exit(1);
6153 }
6154 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction246>*/;
6155 var_listnode8 = var32;
6156 var_pexterncodeblocknode10 = var_nodearraylist9;
6157 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
6158 cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color;
6159 idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id;
6160 if(var_pexterncodeblocknode10 == NULL) {
6161 var33 = 1;
6162 } else {
6163 if(cltype34 >= var_pexterncodeblocknode10->type->table_size) {
6164 var33 = 0;
6165 } else {
6166 var33 = var_pexterncodeblocknode10->type->type_table[cltype34] == idtype35;
6167 }
6168 }
6169 if (!var33) {
6170 fprintf(stderr, "Runtime error: %s", "Assert failed");
6171 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11416);
6172 exit(1);
6173 }
6174 var_listnode12 = var_nodearraylist10;
6175 /* <var_listnode12:nullable Object> isa Array[Object] */
6176 cltype37 = type_array__Arraykernel__Object.color;
6177 idtype38 = type_array__Arraykernel__Object.id;
6178 if(var_listnode12 == NULL) {
6179 var36 = 0;
6180 } else {
6181 if(cltype37 >= var_listnode12->type->table_size) {
6182 var36 = 0;
6183 } else {
6184 var36 = var_listnode12->type->type_table[cltype37] == idtype38;
6185 }
6186 }
6187 if (!var36) {
6188 fprintf(stderr, "Runtime error: %s", "Assert failed");
6189 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11418);
6190 exit(1);
6191 }
6192 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction246>*/;
6193 var_listnode13 = var39;
6194 var_tkwendnode14 = var_nodearraylist12;
6195 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
6196 cltype41 = type_nullable_parser_nodes__TKwend.color;
6197 idtype42 = type_nullable_parser_nodes__TKwend.id;
6198 if(var_tkwendnode14 == NULL) {
6199 var40 = 1;
6200 } else {
6201 if(cltype41 >= var_tkwendnode14->type->table_size) {
6202 var40 = 0;
6203 } else {
6204 var40 = var_tkwendnode14->type->type_table[cltype41] == idtype42;
6205 }
6206 }
6207 if (!var40) {
6208 fprintf(stderr, "Runtime error: %s", "Assert failed");
6209 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11421);
6210 exit(1);
6211 }
6212 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6213 var44 = NULL;
6214 ((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, var44, var_pexterncodeblocknode10, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var43:AStdClassdef>*/;
6215 CHECK_NEW_parser_nodes__AStdClassdef(var43);
6216 var_pclassdefnode1 = var43;
6217 var_node_list = var_pclassdefnode1;
6218 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction246> */
6219 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
6220 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
6221 RET_LABEL:;
6222 }
6223 /* method parser#ReduceAction246#action for (self: Object, Parser) */
6224 void VIRTUAL_parser__ReduceAction246__action(val* self, val* p0) {
6225 parser__ReduceAction246__action(self, p0);
6226 RET_LABEL:;
6227 }
6228 /* method parser#ReduceAction247#action for (self: ReduceAction247, Parser) */
6229 void parser__ReduceAction247__action(val* self, val* p0) {
6230 val* var_p /* var p: Parser */;
6231 val* var /* : null */;
6232 val* var_node_list /* var node_list: nullable Object */;
6233 val* var1 /* : nullable Object */;
6234 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
6235 val* var2 /* : nullable Object */;
6236 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
6237 val* var3 /* : nullable Object */;
6238 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6239 val* var4 /* : nullable Object */;
6240 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6241 val* var5 /* : nullable Object */;
6242 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6243 val* var6 /* : nullable Object */;
6244 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6245 val* var7 /* : nullable Object */;
6246 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6247 val* var8 /* : nullable Object */;
6248 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6249 val* var9 /* : nullable Object */;
6250 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6251 val* var10 /* : nullable Object */;
6252 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6253 val* var11 /* : nullable Object */;
6254 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6255 val* var12 /* : nullable Object */;
6256 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6257 val* var13 /* : nullable Object */;
6258 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6259 val* var14 /* : Array[Object] */;
6260 val* var_listnode8 /* var listnode8: Array[Object] */;
6261 val* var15 /* : Array[Object] */;
6262 val* var_listnode11 /* var listnode11: Array[Object] */;
6263 val* var16 /* : Array[Object] */;
6264 val* var_listnode13 /* var listnode13: Array[Object] */;
6265 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6266 short int var17 /* : Bool */;
6267 int cltype;
6268 int idtype;
6269 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6270 short int var18 /* : Bool */;
6271 int cltype19;
6272 int idtype20;
6273 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6274 short int var21 /* : Bool */;
6275 int cltype22;
6276 int idtype23;
6277 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6278 short int var24 /* : Bool */;
6279 int cltype25;
6280 int idtype26;
6281 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6282 short int var27 /* : Bool */;
6283 int cltype28;
6284 int idtype29;
6285 val* var_listnode7 /* var listnode7: nullable Object */;
6286 short int var30 /* : Bool */;
6287 int cltype31;
6288 int idtype32;
6289 val* var33 /* : Array[Object] */;
6290 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
6291 short int var34 /* : Bool */;
6292 int cltype35;
6293 int idtype36;
6294 val* var_listnode12 /* var listnode12: nullable Object */;
6295 short int var37 /* : Bool */;
6296 int cltype38;
6297 int idtype39;
6298 val* var40 /* : Array[Object] */;
6299 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
6300 short int var41 /* : Bool */;
6301 int cltype42;
6302 int idtype43;
6303 val* var44 /* : AStdClassdef */;
6304 val* var45 /* : null */;
6305 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6306 long var46 /* : Int */;
6307 long var47 /* : Int */;
6308 var_p = p0;
6309 var = NULL;
6310 var_node_list = var;
6311 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6312 var_nodearraylist13 = var1;
6313 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6314 var_nodearraylist12 = var2;
6315 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6316 var_nodearraylist11 = var3;
6317 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6318 var_nodearraylist10 = var4;
6319 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6320 var_nodearraylist9 = var5;
6321 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6322 var_nodearraylist8 = var6;
6323 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6324 var_nodearraylist7 = var7;
6325 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6326 var_nodearraylist6 = var8;
6327 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6328 var_nodearraylist5 = var9;
6329 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6330 var_nodearraylist4 = var10;
6331 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6332 var_nodearraylist3 = var11;
6333 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6334 var_nodearraylist2 = var12;
6335 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6336 var_nodearraylist1 = var13;
6337 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6338 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6339 CHECK_NEW_array__Array(var14);
6340 var_listnode8 = var14;
6341 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
6342 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
6343 CHECK_NEW_array__Array(var15);
6344 var_listnode11 = var15;
6345 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
6346 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
6347 CHECK_NEW_array__Array(var16);
6348 var_listnode13 = var16;
6349 var_pdocnode2 = var_nodearraylist1;
6350 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6351 cltype = type_nullable_parser_nodes__ADoc.color;
6352 idtype = type_nullable_parser_nodes__ADoc.id;
6353 if(var_pdocnode2 == NULL) {
6354 var17 = 1;
6355 } else {
6356 if(cltype >= var_pdocnode2->type->table_size) {
6357 var17 = 0;
6358 } else {
6359 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
6360 }
6361 }
6362 if (!var17) {
6363 fprintf(stderr, "Runtime error: %s", "Assert failed");
6364 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11461);
6365 exit(1);
6366 }
6367 var_tkwredefnode3 = var_nodearraylist2;
6368 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6369 cltype19 = type_nullable_parser_nodes__TKwredef.color;
6370 idtype20 = type_nullable_parser_nodes__TKwredef.id;
6371 if(var_tkwredefnode3 == NULL) {
6372 var18 = 1;
6373 } else {
6374 if(cltype19 >= var_tkwredefnode3->type->table_size) {
6375 var18 = 0;
6376 } else {
6377 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
6378 }
6379 }
6380 if (!var18) {
6381 fprintf(stderr, "Runtime error: %s", "Assert failed");
6382 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11463);
6383 exit(1);
6384 }
6385 var_pvisibilitynode4 = var_nodearraylist3;
6386 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6387 cltype22 = type_nullable_parser_nodes__AVisibility.color;
6388 idtype23 = type_nullable_parser_nodes__AVisibility.id;
6389 if(var_pvisibilitynode4 == NULL) {
6390 var21 = 1;
6391 } else {
6392 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
6393 var21 = 0;
6394 } else {
6395 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
6396 }
6397 }
6398 if (!var21) {
6399 fprintf(stderr, "Runtime error: %s", "Assert failed");
6400 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11465);
6401 exit(1);
6402 }
6403 var_pclasskindnode5 = var_nodearraylist4;
6404 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6405 cltype25 = type_nullable_parser_nodes__AClasskind.color;
6406 idtype26 = type_nullable_parser_nodes__AClasskind.id;
6407 if(var_pclasskindnode5 == NULL) {
6408 var24 = 1;
6409 } else {
6410 if(cltype25 >= var_pclasskindnode5->type->table_size) {
6411 var24 = 0;
6412 } else {
6413 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
6414 }
6415 }
6416 if (!var24) {
6417 fprintf(stderr, "Runtime error: %s", "Assert failed");
6418 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11467);
6419 exit(1);
6420 }
6421 var_tclassidnode6 = var_nodearraylist8;
6422 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6423 cltype28 = type_nullable_parser_nodes__TClassid.color;
6424 idtype29 = type_nullable_parser_nodes__TClassid.id;
6425 if(var_tclassidnode6 == NULL) {
6426 var27 = 1;
6427 } else {
6428 if(cltype28 >= var_tclassidnode6->type->table_size) {
6429 var27 = 0;
6430 } else {
6431 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
6432 }
6433 }
6434 if (!var27) {
6435 fprintf(stderr, "Runtime error: %s", "Assert failed");
6436 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11469);
6437 exit(1);
6438 }
6439 var_listnode7 = var_nodearraylist9;
6440 /* <var_listnode7:nullable Object> isa Array[Object] */
6441 cltype31 = type_array__Arraykernel__Object.color;
6442 idtype32 = type_array__Arraykernel__Object.id;
6443 if(var_listnode7 == NULL) {
6444 var30 = 0;
6445 } else {
6446 if(cltype31 >= var_listnode7->type->table_size) {
6447 var30 = 0;
6448 } else {
6449 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
6450 }
6451 }
6452 if (!var30) {
6453 fprintf(stderr, "Runtime error: %s", "Assert failed");
6454 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11471);
6455 exit(1);
6456 }
6457 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction247>*/;
6458 var_listnode8 = var33;
6459 var_pexterncodeblocknode10 = var_nodearraylist10;
6460 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
6461 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
6462 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
6463 if(var_pexterncodeblocknode10 == NULL) {
6464 var34 = 1;
6465 } else {
6466 if(cltype35 >= var_pexterncodeblocknode10->type->table_size) {
6467 var34 = 0;
6468 } else {
6469 var34 = var_pexterncodeblocknode10->type->type_table[cltype35] == idtype36;
6470 }
6471 }
6472 if (!var34) {
6473 fprintf(stderr, "Runtime error: %s", "Assert failed");
6474 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11474);
6475 exit(1);
6476 }
6477 var_listnode12 = var_nodearraylist11;
6478 /* <var_listnode12:nullable Object> isa Array[Object] */
6479 cltype38 = type_array__Arraykernel__Object.color;
6480 idtype39 = type_array__Arraykernel__Object.id;
6481 if(var_listnode12 == NULL) {
6482 var37 = 0;
6483 } else {
6484 if(cltype38 >= var_listnode12->type->table_size) {
6485 var37 = 0;
6486 } else {
6487 var37 = var_listnode12->type->type_table[cltype38] == idtype39;
6488 }
6489 }
6490 if (!var37) {
6491 fprintf(stderr, "Runtime error: %s", "Assert failed");
6492 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11476);
6493 exit(1);
6494 }
6495 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction247>*/;
6496 var_listnode13 = var40;
6497 var_tkwendnode14 = var_nodearraylist13;
6498 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
6499 cltype42 = type_nullable_parser_nodes__TKwend.color;
6500 idtype43 = type_nullable_parser_nodes__TKwend.id;
6501 if(var_tkwendnode14 == NULL) {
6502 var41 = 1;
6503 } else {
6504 if(cltype42 >= var_tkwendnode14->type->table_size) {
6505 var41 = 0;
6506 } else {
6507 var41 = var_tkwendnode14->type->type_table[cltype42] == idtype43;
6508 }
6509 }
6510 if (!var41) {
6511 fprintf(stderr, "Runtime error: %s", "Assert failed");
6512 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11479);
6513 exit(1);
6514 }
6515 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6516 var45 = NULL;
6517 ((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, var45, var_pexterncodeblocknode10, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var44:AStdClassdef>*/;
6518 CHECK_NEW_parser_nodes__AStdClassdef(var44);
6519 var_pclassdefnode1 = var44;
6520 var_node_list = var_pclassdefnode1;
6521 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction247> */
6522 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
6523 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
6524 RET_LABEL:;
6525 }
6526 /* method parser#ReduceAction247#action for (self: Object, Parser) */
6527 void VIRTUAL_parser__ReduceAction247__action(val* self, val* p0) {
6528 parser__ReduceAction247__action(self, p0);
6529 RET_LABEL:;
6530 }
6531 /* method parser#ReduceAction249#action for (self: ReduceAction249, Parser) */
6532 void parser__ReduceAction249__action(val* self, val* p0) {
6533 val* var_p /* var p: Parser */;
6534 val* var /* : null */;
6535 val* var_node_list /* var node_list: nullable Object */;
6536 val* var1 /* : nullable Object */;
6537 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6538 val* var2 /* : nullable Object */;
6539 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6540 val* var3 /* : nullable Object */;
6541 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6542 val* var4 /* : nullable Object */;
6543 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6544 val* var5 /* : nullable Object */;
6545 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6546 val* var6 /* : nullable Object */;
6547 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6548 val* var7 /* : nullable Object */;
6549 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6550 val* var8 /* : nullable Object */;
6551 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6552 val* var9 /* : nullable Object */;
6553 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6554 val* var10 /* : nullable Object */;
6555 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6556 val* var11 /* : Array[Object] */;
6557 val* var_listnode7 /* var listnode7: Array[Object] */;
6558 val* var12 /* : Array[Object] */;
6559 val* var_listnode15 /* var listnode15: Array[Object] */;
6560 val* var13 /* : Array[Object] */;
6561 val* var_listnode17 /* var listnode17: Array[Object] */;
6562 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6563 short int var14 /* : Bool */;
6564 int cltype;
6565 int idtype;
6566 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6567 short int var15 /* : Bool */;
6568 int cltype16;
6569 int idtype17;
6570 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6571 short int var18 /* : Bool */;
6572 int cltype19;
6573 int idtype20;
6574 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6575 short int var21 /* : Bool */;
6576 int cltype22;
6577 int idtype23;
6578 val* var24 /* : Array[Object] */;
6579 val* var_listnode12 /* var listnode12: Array[Object] */;
6580 val* var_listnode11 /* var listnode11: nullable Object */;
6581 short int var25 /* : Bool */;
6582 int cltype26;
6583 int idtype27;
6584 val* var28 /* : Array[Object] */;
6585 val* var29 /* : AAnnotations */;
6586 val* var30 /* : null */;
6587 val* var31 /* : null */;
6588 val* var32 /* : null */;
6589 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
6590 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
6591 short int var33 /* : Bool */;
6592 int cltype34;
6593 int idtype35;
6594 val* var_listnode16 /* var listnode16: nullable Object */;
6595 short int var36 /* : Bool */;
6596 int cltype37;
6597 int idtype38;
6598 val* var39 /* : Array[Object] */;
6599 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
6600 short int var40 /* : Bool */;
6601 int cltype41;
6602 int idtype42;
6603 val* var43 /* : AStdClassdef */;
6604 val* var44 /* : null */;
6605 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6606 long var45 /* : Int */;
6607 long var46 /* : Int */;
6608 var_p = p0;
6609 var = NULL;
6610 var_node_list = var;
6611 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6612 var_nodearraylist10 = var1;
6613 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6614 var_nodearraylist9 = var2;
6615 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6616 var_nodearraylist8 = var3;
6617 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6618 var_nodearraylist7 = var4;
6619 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6620 var_nodearraylist6 = var5;
6621 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6622 var_nodearraylist5 = var6;
6623 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6624 var_nodearraylist4 = var7;
6625 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6626 var_nodearraylist3 = var8;
6627 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6628 var_nodearraylist2 = var9;
6629 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6630 var_nodearraylist1 = var10;
6631 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6632 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6633 CHECK_NEW_array__Array(var11);
6634 var_listnode7 = var11;
6635 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6636 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6637 CHECK_NEW_array__Array(var12);
6638 var_listnode15 = var12;
6639 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6640 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6641 CHECK_NEW_array__Array(var13);
6642 var_listnode17 = var13;
6643 var_pdocnode2 = var_nodearraylist1;
6644 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6645 cltype = type_nullable_parser_nodes__ADoc.color;
6646 idtype = type_nullable_parser_nodes__ADoc.id;
6647 if(var_pdocnode2 == NULL) {
6648 var14 = 1;
6649 } else {
6650 if(cltype >= var_pdocnode2->type->table_size) {
6651 var14 = 0;
6652 } else {
6653 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
6654 }
6655 }
6656 if (!var14) {
6657 fprintf(stderr, "Runtime error: %s", "Assert failed");
6658 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11516);
6659 exit(1);
6660 }
6661 var_pvisibilitynode4 = var_nodearraylist2;
6662 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6663 cltype16 = type_nullable_parser_nodes__AVisibility.color;
6664 idtype17 = type_nullable_parser_nodes__AVisibility.id;
6665 if(var_pvisibilitynode4 == NULL) {
6666 var15 = 1;
6667 } else {
6668 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
6669 var15 = 0;
6670 } else {
6671 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
6672 }
6673 }
6674 if (!var15) {
6675 fprintf(stderr, "Runtime error: %s", "Assert failed");
6676 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11518);
6677 exit(1);
6678 }
6679 var_pclasskindnode5 = var_nodearraylist3;
6680 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6681 cltype19 = type_nullable_parser_nodes__AClasskind.color;
6682 idtype20 = type_nullable_parser_nodes__AClasskind.id;
6683 if(var_pclasskindnode5 == NULL) {
6684 var18 = 1;
6685 } else {
6686 if(cltype19 >= var_pclasskindnode5->type->table_size) {
6687 var18 = 0;
6688 } else {
6689 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
6690 }
6691 }
6692 if (!var18) {
6693 fprintf(stderr, "Runtime error: %s", "Assert failed");
6694 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11520);
6695 exit(1);
6696 }
6697 var_tclassidnode6 = var_nodearraylist5;
6698 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6699 cltype22 = type_nullable_parser_nodes__TClassid.color;
6700 idtype23 = type_nullable_parser_nodes__TClassid.id;
6701 if(var_tclassidnode6 == NULL) {
6702 var21 = 1;
6703 } else {
6704 if(cltype22 >= var_tclassidnode6->type->table_size) {
6705 var21 = 0;
6706 } else {
6707 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
6708 }
6709 }
6710 if (!var21) {
6711 fprintf(stderr, "Runtime error: %s", "Assert failed");
6712 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11522);
6713 exit(1);
6714 }
6715 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
6716 ((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on <var24:Array[Object]>*/;
6717 CHECK_NEW_array__Array(var24);
6718 var_listnode12 = var24;
6719 var_listnode11 = var_nodearraylist6;
6720 /* <var_listnode11:nullable Object> isa Array[Object] */
6721 cltype26 = type_array__Arraykernel__Object.color;
6722 idtype27 = type_array__Arraykernel__Object.id;
6723 if(var_listnode11 == NULL) {
6724 var25 = 0;
6725 } else {
6726 if(cltype26 >= var_listnode11->type->table_size) {
6727 var25 = 0;
6728 } else {
6729 var25 = var_listnode11->type->type_table[cltype26] == idtype27;
6730 }
6731 }
6732 if (!var25) {
6733 fprintf(stderr, "Runtime error: %s", "Assert failed");
6734 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11525);
6735 exit(1);
6736 }
6737 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction249>*/;
6738 var_listnode12 = var28;
6739 var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6740 var30 = NULL;
6741 var31 = NULL;
6742 var32 = NULL;
6743 ((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>*/;
6744 CHECK_NEW_parser_nodes__AAnnotations(var29);
6745 var_pannotationsnode8 = var29;
6746 var_pexterncodeblocknode14 = var_nodearraylist7;
6747 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
6748 cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color;
6749 idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id;
6750 if(var_pexterncodeblocknode14 == NULL) {
6751 var33 = 1;
6752 } else {
6753 if(cltype34 >= var_pexterncodeblocknode14->type->table_size) {
6754 var33 = 0;
6755 } else {
6756 var33 = var_pexterncodeblocknode14->type->type_table[cltype34] == idtype35;
6757 }
6758 }
6759 if (!var33) {
6760 fprintf(stderr, "Runtime error: %s", "Assert failed");
6761 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11534);
6762 exit(1);
6763 }
6764 var_listnode16 = var_nodearraylist8;
6765 /* <var_listnode16:nullable Object> isa Array[Object] */
6766 cltype37 = type_array__Arraykernel__Object.color;
6767 idtype38 = type_array__Arraykernel__Object.id;
6768 if(var_listnode16 == NULL) {
6769 var36 = 0;
6770 } else {
6771 if(cltype37 >= var_listnode16->type->table_size) {
6772 var36 = 0;
6773 } else {
6774 var36 = var_listnode16->type->type_table[cltype37] == idtype38;
6775 }
6776 }
6777 if (!var36) {
6778 fprintf(stderr, "Runtime error: %s", "Assert failed");
6779 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11536);
6780 exit(1);
6781 }
6782 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction249>*/;
6783 var_listnode17 = var39;
6784 var_tkwendnode18 = var_nodearraylist10;
6785 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
6786 cltype41 = type_nullable_parser_nodes__TKwend.color;
6787 idtype42 = type_nullable_parser_nodes__TKwend.id;
6788 if(var_tkwendnode18 == NULL) {
6789 var40 = 1;
6790 } else {
6791 if(cltype41 >= var_tkwendnode18->type->table_size) {
6792 var40 = 0;
6793 } else {
6794 var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42;
6795 }
6796 }
6797 if (!var40) {
6798 fprintf(stderr, "Runtime error: %s", "Assert failed");
6799 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11539);
6800 exit(1);
6801 }
6802 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6803 var44 = NULL;
6804 ((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, var44, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var43:AStdClassdef>*/;
6805 CHECK_NEW_parser_nodes__AStdClassdef(var43);
6806 var_pclassdefnode1 = var43;
6807 var_node_list = var_pclassdefnode1;
6808 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction249> */
6809 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
6810 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
6811 RET_LABEL:;
6812 }
6813 /* method parser#ReduceAction249#action for (self: Object, Parser) */
6814 void VIRTUAL_parser__ReduceAction249__action(val* self, val* p0) {
6815 parser__ReduceAction249__action(self, p0);
6816 RET_LABEL:;
6817 }
6818 /* method parser#ReduceAction250#action for (self: ReduceAction250, Parser) */
6819 void parser__ReduceAction250__action(val* self, val* p0) {
6820 val* var_p /* var p: Parser */;
6821 val* var /* : null */;
6822 val* var_node_list /* var node_list: nullable Object */;
6823 val* var1 /* : nullable Object */;
6824 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6825 val* var2 /* : nullable Object */;
6826 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6827 val* var3 /* : nullable Object */;
6828 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6829 val* var4 /* : nullable Object */;
6830 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6831 val* var5 /* : nullable Object */;
6832 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6833 val* var6 /* : nullable Object */;
6834 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6835 val* var7 /* : nullable Object */;
6836 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6837 val* var8 /* : nullable Object */;
6838 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6839 val* var9 /* : nullable Object */;
6840 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6841 val* var10 /* : nullable Object */;
6842 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6843 val* var11 /* : nullable Object */;
6844 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6845 val* var12 /* : Array[Object] */;
6846 val* var_listnode7 /* var listnode7: Array[Object] */;
6847 val* var13 /* : Array[Object] */;
6848 val* var_listnode15 /* var listnode15: Array[Object] */;
6849 val* var14 /* : Array[Object] */;
6850 val* var_listnode17 /* var listnode17: Array[Object] */;
6851 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6852 short int var15 /* : Bool */;
6853 int cltype;
6854 int idtype;
6855 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6856 short int var16 /* : Bool */;
6857 int cltype17;
6858 int idtype18;
6859 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6860 short int var19 /* : Bool */;
6861 int cltype20;
6862 int idtype21;
6863 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6864 short int var22 /* : Bool */;
6865 int cltype23;
6866 int idtype24;
6867 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6868 short int var25 /* : Bool */;
6869 int cltype26;
6870 int idtype27;
6871 val* var28 /* : Array[Object] */;
6872 val* var_listnode12 /* var listnode12: Array[Object] */;
6873 val* var_listnode11 /* var listnode11: nullable Object */;
6874 short int var29 /* : Bool */;
6875 int cltype30;
6876 int idtype31;
6877 val* var32 /* : Array[Object] */;
6878 val* var33 /* : AAnnotations */;
6879 val* var34 /* : null */;
6880 val* var35 /* : null */;
6881 val* var36 /* : null */;
6882 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
6883 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
6884 short int var37 /* : Bool */;
6885 int cltype38;
6886 int idtype39;
6887 val* var_listnode16 /* var listnode16: nullable Object */;
6888 short int var40 /* : Bool */;
6889 int cltype41;
6890 int idtype42;
6891 val* var43 /* : Array[Object] */;
6892 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
6893 short int var44 /* : Bool */;
6894 int cltype45;
6895 int idtype46;
6896 val* var47 /* : AStdClassdef */;
6897 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6898 long var48 /* : Int */;
6899 long var49 /* : Int */;
6900 var_p = p0;
6901 var = NULL;
6902 var_node_list = var;
6903 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6904 var_nodearraylist11 = var1;
6905 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6906 var_nodearraylist10 = var2;
6907 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6908 var_nodearraylist9 = var3;
6909 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6910 var_nodearraylist8 = var4;
6911 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6912 var_nodearraylist7 = var5;
6913 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6914 var_nodearraylist6 = var6;
6915 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6916 var_nodearraylist5 = var7;
6917 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6918 var_nodearraylist4 = var8;
6919 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6920 var_nodearraylist3 = var9;
6921 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6922 var_nodearraylist2 = var10;
6923 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6924 var_nodearraylist1 = var11;
6925 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6926 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6927 CHECK_NEW_array__Array(var12);
6928 var_listnode7 = var12;
6929 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6930 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6931 CHECK_NEW_array__Array(var13);
6932 var_listnode15 = var13;
6933 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6934 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6935 CHECK_NEW_array__Array(var14);
6936 var_listnode17 = var14;
6937 var_pdocnode2 = var_nodearraylist1;
6938 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6939 cltype = type_nullable_parser_nodes__ADoc.color;
6940 idtype = type_nullable_parser_nodes__ADoc.id;
6941 if(var_pdocnode2 == NULL) {
6942 var15 = 1;
6943 } else {
6944 if(cltype >= var_pdocnode2->type->table_size) {
6945 var15 = 0;
6946 } else {
6947 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
6948 }
6949 }
6950 if (!var15) {
6951 fprintf(stderr, "Runtime error: %s", "Assert failed");
6952 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11577);
6953 exit(1);
6954 }
6955 var_tkwredefnode3 = var_nodearraylist2;
6956 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6957 cltype17 = type_nullable_parser_nodes__TKwredef.color;
6958 idtype18 = type_nullable_parser_nodes__TKwredef.id;
6959 if(var_tkwredefnode3 == NULL) {
6960 var16 = 1;
6961 } else {
6962 if(cltype17 >= var_tkwredefnode3->type->table_size) {
6963 var16 = 0;
6964 } else {
6965 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
6966 }
6967 }
6968 if (!var16) {
6969 fprintf(stderr, "Runtime error: %s", "Assert failed");
6970 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11579);
6971 exit(1);
6972 }
6973 var_pvisibilitynode4 = var_nodearraylist3;
6974 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6975 cltype20 = type_nullable_parser_nodes__AVisibility.color;
6976 idtype21 = type_nullable_parser_nodes__AVisibility.id;
6977 if(var_pvisibilitynode4 == NULL) {
6978 var19 = 1;
6979 } else {
6980 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
6981 var19 = 0;
6982 } else {
6983 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
6984 }
6985 }
6986 if (!var19) {
6987 fprintf(stderr, "Runtime error: %s", "Assert failed");
6988 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11581);
6989 exit(1);
6990 }
6991 var_pclasskindnode5 = var_nodearraylist4;
6992 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6993 cltype23 = type_nullable_parser_nodes__AClasskind.color;
6994 idtype24 = type_nullable_parser_nodes__AClasskind.id;
6995 if(var_pclasskindnode5 == NULL) {
6996 var22 = 1;
6997 } else {
6998 if(cltype23 >= var_pclasskindnode5->type->table_size) {
6999 var22 = 0;
7000 } else {
7001 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
7002 }
7003 }
7004 if (!var22) {
7005 fprintf(stderr, "Runtime error: %s", "Assert failed");
7006 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11583);
7007 exit(1);
7008 }
7009 var_tclassidnode6 = var_nodearraylist6;
7010 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7011 cltype26 = type_nullable_parser_nodes__TClassid.color;
7012 idtype27 = type_nullable_parser_nodes__TClassid.id;
7013 if(var_tclassidnode6 == NULL) {
7014 var25 = 1;
7015 } else {
7016 if(cltype26 >= var_tclassidnode6->type->table_size) {
7017 var25 = 0;
7018 } else {
7019 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
7020 }
7021 }
7022 if (!var25) {
7023 fprintf(stderr, "Runtime error: %s", "Assert failed");
7024 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11585);
7025 exit(1);
7026 }
7027 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
7028 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
7029 CHECK_NEW_array__Array(var28);
7030 var_listnode12 = var28;
7031 var_listnode11 = var_nodearraylist7;
7032 /* <var_listnode11:nullable Object> isa Array[Object] */
7033 cltype30 = type_array__Arraykernel__Object.color;
7034 idtype31 = type_array__Arraykernel__Object.id;
7035 if(var_listnode11 == NULL) {
7036 var29 = 0;
7037 } else {
7038 if(cltype30 >= var_listnode11->type->table_size) {
7039 var29 = 0;
7040 } else {
7041 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
7042 }
7043 }
7044 if (!var29) {
7045 fprintf(stderr, "Runtime error: %s", "Assert failed");
7046 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11588);
7047 exit(1);
7048 }
7049 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction250>*/;
7050 var_listnode12 = var32;
7051 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
7052 var34 = NULL;
7053 var35 = NULL;
7054 var36 = NULL;
7055 ((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>*/;
7056 CHECK_NEW_parser_nodes__AAnnotations(var33);
7057 var_pannotationsnode8 = var33;
7058 var_pexterncodeblocknode14 = var_nodearraylist8;
7059 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
7060 cltype38 = type_nullable_parser_nodes__AExternCodeBlock.color;
7061 idtype39 = type_nullable_parser_nodes__AExternCodeBlock.id;
7062 if(var_pexterncodeblocknode14 == NULL) {
7063 var37 = 1;
7064 } else {
7065 if(cltype38 >= var_pexterncodeblocknode14->type->table_size) {
7066 var37 = 0;
7067 } else {
7068 var37 = var_pexterncodeblocknode14->type->type_table[cltype38] == idtype39;
7069 }
7070 }
7071 if (!var37) {
7072 fprintf(stderr, "Runtime error: %s", "Assert failed");
7073 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11597);
7074 exit(1);
7075 }
7076 var_listnode16 = var_nodearraylist9;
7077 /* <var_listnode16:nullable Object> isa Array[Object] */
7078 cltype41 = type_array__Arraykernel__Object.color;
7079 idtype42 = type_array__Arraykernel__Object.id;
7080 if(var_listnode16 == NULL) {
7081 var40 = 0;
7082 } else {
7083 if(cltype41 >= var_listnode16->type->table_size) {
7084 var40 = 0;
7085 } else {
7086 var40 = var_listnode16->type->type_table[cltype41] == idtype42;
7087 }
7088 }
7089 if (!var40) {
7090 fprintf(stderr, "Runtime error: %s", "Assert failed");
7091 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11599);
7092 exit(1);
7093 }
7094 var43 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction250>*/;
7095 var_listnode17 = var43;
7096 var_tkwendnode18 = var_nodearraylist11;
7097 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
7098 cltype45 = type_nullable_parser_nodes__TKwend.color;
7099 idtype46 = type_nullable_parser_nodes__TKwend.id;
7100 if(var_tkwendnode18 == NULL) {
7101 var44 = 1;
7102 } else {
7103 if(cltype45 >= var_tkwendnode18->type->table_size) {
7104 var44 = 0;
7105 } else {
7106 var44 = var_tkwendnode18->type->type_table[cltype45] == idtype46;
7107 }
7108 }
7109 if (!var44) {
7110 fprintf(stderr, "Runtime error: %s", "Assert failed");
7111 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11602);
7112 exit(1);
7113 }
7114 var47 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7115 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var47->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var47, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var47:AStdClassdef>*/;
7116 CHECK_NEW_parser_nodes__AStdClassdef(var47);
7117 var_pclassdefnode1 = var47;
7118 var_node_list = var_pclassdefnode1;
7119 var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction250> */
7120 var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on <var_p:Parser>*/;
7121 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on <var_p:Parser>*/;
7122 RET_LABEL:;
7123 }
7124 /* method parser#ReduceAction250#action for (self: Object, Parser) */
7125 void VIRTUAL_parser__ReduceAction250__action(val* self, val* p0) {
7126 parser__ReduceAction250__action(self, p0);
7127 RET_LABEL:;
7128 }
7129 /* method parser#ReduceAction251#action for (self: ReduceAction251, Parser) */
7130 void parser__ReduceAction251__action(val* self, val* p0) {
7131 val* var_p /* var p: Parser */;
7132 val* var /* : null */;
7133 val* var_node_list /* var node_list: nullable Object */;
7134 val* var1 /* : nullable Object */;
7135 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7136 val* var2 /* : nullable Object */;
7137 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7138 val* var3 /* : nullable Object */;
7139 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7140 val* var4 /* : nullable Object */;
7141 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7142 val* var5 /* : nullable Object */;
7143 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7144 val* var6 /* : nullable Object */;
7145 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7146 val* var7 /* : nullable Object */;
7147 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7148 val* var8 /* : nullable Object */;
7149 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7150 val* var9 /* : nullable Object */;
7151 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7152 val* var10 /* : nullable Object */;
7153 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7154 val* var11 /* : nullable Object */;
7155 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7156 val* var12 /* : Array[Object] */;
7157 val* var_listnode7 /* var listnode7: Array[Object] */;
7158 val* var13 /* : Array[Object] */;
7159 val* var_listnode15 /* var listnode15: Array[Object] */;
7160 val* var14 /* : Array[Object] */;
7161 val* var_listnode17 /* var listnode17: Array[Object] */;
7162 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7163 short int var15 /* : Bool */;
7164 int cltype;
7165 int idtype;
7166 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7167 short int var16 /* : Bool */;
7168 int cltype17;
7169 int idtype18;
7170 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7171 short int var19 /* : Bool */;
7172 int cltype20;
7173 int idtype21;
7174 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7175 short int var22 /* : Bool */;
7176 int cltype23;
7177 int idtype24;
7178 val* var25 /* : Array[Object] */;
7179 val* var_listnode12 /* var listnode12: Array[Object] */;
7180 val* var_listnode11 /* var listnode11: nullable Object */;
7181 short int var26 /* : Bool */;
7182 int cltype27;
7183 int idtype28;
7184 val* var29 /* : Array[Object] */;
7185 val* var30 /* : AAnnotations */;
7186 val* var31 /* : null */;
7187 val* var32 /* : null */;
7188 val* var33 /* : null */;
7189 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
7190 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
7191 short int var34 /* : Bool */;
7192 int cltype35;
7193 int idtype36;
7194 val* var_listnode16 /* var listnode16: nullable Object */;
7195 short int var37 /* : Bool */;
7196 int cltype38;
7197 int idtype39;
7198 val* var40 /* : Array[Object] */;
7199 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
7200 short int var41 /* : Bool */;
7201 int cltype42;
7202 int idtype43;
7203 val* var44 /* : AStdClassdef */;
7204 val* var45 /* : null */;
7205 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7206 long var46 /* : Int */;
7207 long var47 /* : Int */;
7208 var_p = p0;
7209 var = NULL;
7210 var_node_list = var;
7211 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7212 var_nodearraylist11 = var1;
7213 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7214 var_nodearraylist10 = var2;
7215 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7216 var_nodearraylist9 = var3;
7217 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7218 var_nodearraylist8 = var4;
7219 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7220 var_nodearraylist7 = var5;
7221 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7222 var_nodearraylist6 = var6;
7223 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7224 var_nodearraylist5 = var7;
7225 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7226 var_nodearraylist4 = var8;
7227 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7228 var_nodearraylist3 = var9;
7229 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7230 var_nodearraylist2 = var10;
7231 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7232 var_nodearraylist1 = var11;
7233 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7234 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7235 CHECK_NEW_array__Array(var12);
7236 var_listnode7 = var12;
7237 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7238 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7239 CHECK_NEW_array__Array(var13);
7240 var_listnode15 = var13;
7241 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7242 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7243 CHECK_NEW_array__Array(var14);
7244 var_listnode17 = var14;
7245 var_pdocnode2 = var_nodearraylist1;
7246 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7247 cltype = type_nullable_parser_nodes__ADoc.color;
7248 idtype = type_nullable_parser_nodes__ADoc.id;
7249 if(var_pdocnode2 == NULL) {
7250 var15 = 1;
7251 } else {
7252 if(cltype >= var_pdocnode2->type->table_size) {
7253 var15 = 0;
7254 } else {
7255 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
7256 }
7257 }
7258 if (!var15) {
7259 fprintf(stderr, "Runtime error: %s", "Assert failed");
7260 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11640);
7261 exit(1);
7262 }
7263 var_pvisibilitynode4 = var_nodearraylist2;
7264 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7265 cltype17 = type_nullable_parser_nodes__AVisibility.color;
7266 idtype18 = type_nullable_parser_nodes__AVisibility.id;
7267 if(var_pvisibilitynode4 == NULL) {
7268 var16 = 1;
7269 } else {
7270 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
7271 var16 = 0;
7272 } else {
7273 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
7274 }
7275 }
7276 if (!var16) {
7277 fprintf(stderr, "Runtime error: %s", "Assert failed");
7278 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11642);
7279 exit(1);
7280 }
7281 var_pclasskindnode5 = var_nodearraylist3;
7282 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7283 cltype20 = type_nullable_parser_nodes__AClasskind.color;
7284 idtype21 = type_nullable_parser_nodes__AClasskind.id;
7285 if(var_pclasskindnode5 == NULL) {
7286 var19 = 1;
7287 } else {
7288 if(cltype20 >= var_pclasskindnode5->type->table_size) {
7289 var19 = 0;
7290 } else {
7291 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
7292 }
7293 }
7294 if (!var19) {
7295 fprintf(stderr, "Runtime error: %s", "Assert failed");
7296 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11644);
7297 exit(1);
7298 }
7299 var_tclassidnode6 = var_nodearraylist6;
7300 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7301 cltype23 = type_nullable_parser_nodes__TClassid.color;
7302 idtype24 = type_nullable_parser_nodes__TClassid.id;
7303 if(var_tclassidnode6 == NULL) {
7304 var22 = 1;
7305 } else {
7306 if(cltype23 >= var_tclassidnode6->type->table_size) {
7307 var22 = 0;
7308 } else {
7309 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
7310 }
7311 }
7312 if (!var22) {
7313 fprintf(stderr, "Runtime error: %s", "Assert failed");
7314 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11646);
7315 exit(1);
7316 }
7317 var25 = NEW_array__Array(&type_array__Arraykernel__Object);
7318 ((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on <var25:Array[Object]>*/;
7319 CHECK_NEW_array__Array(var25);
7320 var_listnode12 = var25;
7321 var_listnode11 = var_nodearraylist7;
7322 /* <var_listnode11:nullable Object> isa Array[Object] */
7323 cltype27 = type_array__Arraykernel__Object.color;
7324 idtype28 = type_array__Arraykernel__Object.id;
7325 if(var_listnode11 == NULL) {
7326 var26 = 0;
7327 } else {
7328 if(cltype27 >= var_listnode11->type->table_size) {
7329 var26 = 0;
7330 } else {
7331 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
7332 }
7333 }
7334 if (!var26) {
7335 fprintf(stderr, "Runtime error: %s", "Assert failed");
7336 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11649);
7337 exit(1);
7338 }
7339 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction251>*/;
7340 var_listnode12 = var29;
7341 var30 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
7342 var31 = NULL;
7343 var32 = NULL;
7344 var33 = NULL;
7345 ((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>*/;
7346 CHECK_NEW_parser_nodes__AAnnotations(var30);
7347 var_pannotationsnode8 = var30;
7348 var_pexterncodeblocknode14 = var_nodearraylist8;
7349 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
7350 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
7351 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
7352 if(var_pexterncodeblocknode14 == NULL) {
7353 var34 = 1;
7354 } else {
7355 if(cltype35 >= var_pexterncodeblocknode14->type->table_size) {
7356 var34 = 0;
7357 } else {
7358 var34 = var_pexterncodeblocknode14->type->type_table[cltype35] == idtype36;
7359 }
7360 }
7361 if (!var34) {
7362 fprintf(stderr, "Runtime error: %s", "Assert failed");
7363 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11658);
7364 exit(1);
7365 }
7366 var_listnode16 = var_nodearraylist9;
7367 /* <var_listnode16:nullable Object> isa Array[Object] */
7368 cltype38 = type_array__Arraykernel__Object.color;
7369 idtype39 = type_array__Arraykernel__Object.id;
7370 if(var_listnode16 == NULL) {
7371 var37 = 0;
7372 } else {
7373 if(cltype38 >= var_listnode16->type->table_size) {
7374 var37 = 0;
7375 } else {
7376 var37 = var_listnode16->type->type_table[cltype38] == idtype39;
7377 }
7378 }
7379 if (!var37) {
7380 fprintf(stderr, "Runtime error: %s", "Assert failed");
7381 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11660);
7382 exit(1);
7383 }
7384 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction251>*/;
7385 var_listnode17 = var40;
7386 var_tkwendnode18 = var_nodearraylist11;
7387 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
7388 cltype42 = type_nullable_parser_nodes__TKwend.color;
7389 idtype43 = type_nullable_parser_nodes__TKwend.id;
7390 if(var_tkwendnode18 == NULL) {
7391 var41 = 1;
7392 } else {
7393 if(cltype42 >= var_tkwendnode18->type->table_size) {
7394 var41 = 0;
7395 } else {
7396 var41 = var_tkwendnode18->type->type_table[cltype42] == idtype43;
7397 }
7398 }
7399 if (!var41) {
7400 fprintf(stderr, "Runtime error: %s", "Assert failed");
7401 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11663);
7402 exit(1);
7403 }
7404 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7405 var45 = NULL;
7406 ((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, var45, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var44:AStdClassdef>*/;
7407 CHECK_NEW_parser_nodes__AStdClassdef(var44);
7408 var_pclassdefnode1 = var44;
7409 var_node_list = var_pclassdefnode1;
7410 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction251> */
7411 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
7412 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
7413 RET_LABEL:;
7414 }
7415 /* method parser#ReduceAction251#action for (self: Object, Parser) */
7416 void VIRTUAL_parser__ReduceAction251__action(val* self, val* p0) {
7417 parser__ReduceAction251__action(self, p0);
7418 RET_LABEL:;
7419 }
7420 /* method parser#ReduceAction252#action for (self: ReduceAction252, Parser) */
7421 void parser__ReduceAction252__action(val* self, val* p0) {
7422 val* var_p /* var p: Parser */;
7423 val* var /* : null */;
7424 val* var_node_list /* var node_list: nullable Object */;
7425 val* var1 /* : nullable Object */;
7426 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
7427 val* var2 /* : nullable Object */;
7428 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7429 val* var3 /* : nullable Object */;
7430 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7431 val* var4 /* : nullable Object */;
7432 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7433 val* var5 /* : nullable Object */;
7434 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7435 val* var6 /* : nullable Object */;
7436 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7437 val* var7 /* : nullable Object */;
7438 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7439 val* var8 /* : nullable Object */;
7440 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7441 val* var9 /* : nullable Object */;
7442 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7443 val* var10 /* : nullable Object */;
7444 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7445 val* var11 /* : nullable Object */;
7446 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7447 val* var12 /* : nullable Object */;
7448 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7449 val* var13 /* : Array[Object] */;
7450 val* var_listnode7 /* var listnode7: Array[Object] */;
7451 val* var14 /* : Array[Object] */;
7452 val* var_listnode15 /* var listnode15: Array[Object] */;
7453 val* var15 /* : Array[Object] */;
7454 val* var_listnode17 /* var listnode17: Array[Object] */;
7455 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7456 short int var16 /* : Bool */;
7457 int cltype;
7458 int idtype;
7459 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7460 short int var17 /* : Bool */;
7461 int cltype18;
7462 int idtype19;
7463 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7464 short int var20 /* : Bool */;
7465 int cltype21;
7466 int idtype22;
7467 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7468 short int var23 /* : Bool */;
7469 int cltype24;
7470 int idtype25;
7471 val* var26 /* : Array[Object] */;
7472 val* var_listnode12 /* var listnode12: Array[Object] */;
7473 val* var_listnode11 /* var listnode11: nullable Object */;
7474 short int var27 /* : Bool */;
7475 int cltype28;
7476 int idtype29;
7477 val* var30 /* : Array[Object] */;
7478 val* var31 /* : AAnnotations */;
7479 val* var32 /* : null */;
7480 val* var33 /* : null */;
7481 val* var34 /* : null */;
7482 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
7483 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
7484 short int var35 /* : Bool */;
7485 int cltype36;
7486 int idtype37;
7487 val* var_listnode16 /* var listnode16: nullable Object */;
7488 short int var38 /* : Bool */;
7489 int cltype39;
7490 int idtype40;
7491 val* var41 /* : Array[Object] */;
7492 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
7493 short int var42 /* : Bool */;
7494 int cltype43;
7495 int idtype44;
7496 val* var45 /* : AStdClassdef */;
7497 val* var46 /* : null */;
7498 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7499 long var47 /* : Int */;
7500 long var48 /* : Int */;
7501 var_p = p0;
7502 var = NULL;
7503 var_node_list = var;
7504 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7505 var_nodearraylist12 = var1;
7506 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7507 var_nodearraylist11 = var2;
7508 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7509 var_nodearraylist10 = var3;
7510 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7511 var_nodearraylist9 = var4;
7512 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7513 var_nodearraylist8 = var5;
7514 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7515 var_nodearraylist7 = var6;
7516 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7517 var_nodearraylist6 = var7;
7518 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7519 var_nodearraylist5 = var8;
7520 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7521 var_nodearraylist4 = var9;
7522 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7523 var_nodearraylist3 = var10;
7524 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7525 var_nodearraylist2 = var11;
7526 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7527 var_nodearraylist1 = var12;
7528 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7529 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7530 CHECK_NEW_array__Array(var13);
7531 var_listnode7 = var13;
7532 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7533 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7534 CHECK_NEW_array__Array(var14);
7535 var_listnode15 = var14;
7536 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
7537 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
7538 CHECK_NEW_array__Array(var15);
7539 var_listnode17 = var15;
7540 var_pdocnode2 = var_nodearraylist1;
7541 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7542 cltype = type_nullable_parser_nodes__ADoc.color;
7543 idtype = type_nullable_parser_nodes__ADoc.id;
7544 if(var_pdocnode2 == NULL) {
7545 var16 = 1;
7546 } else {
7547 if(cltype >= var_pdocnode2->type->table_size) {
7548 var16 = 0;
7549 } else {
7550 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
7551 }
7552 }
7553 if (!var16) {
7554 fprintf(stderr, "Runtime error: %s", "Assert failed");
7555 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11702);
7556 exit(1);
7557 }
7558 var_pvisibilitynode4 = var_nodearraylist2;
7559 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7560 cltype18 = type_nullable_parser_nodes__AVisibility.color;
7561 idtype19 = type_nullable_parser_nodes__AVisibility.id;
7562 if(var_pvisibilitynode4 == NULL) {
7563 var17 = 1;
7564 } else {
7565 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
7566 var17 = 0;
7567 } else {
7568 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
7569 }
7570 }
7571 if (!var17) {
7572 fprintf(stderr, "Runtime error: %s", "Assert failed");
7573 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11704);
7574 exit(1);
7575 }
7576 var_pclasskindnode5 = var_nodearraylist3;
7577 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7578 cltype21 = type_nullable_parser_nodes__AClasskind.color;
7579 idtype22 = type_nullable_parser_nodes__AClasskind.id;
7580 if(var_pclasskindnode5 == NULL) {
7581 var20 = 1;
7582 } else {
7583 if(cltype21 >= var_pclasskindnode5->type->table_size) {
7584 var20 = 0;
7585 } else {
7586 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
7587 }
7588 }
7589 if (!var20) {
7590 fprintf(stderr, "Runtime error: %s", "Assert failed");
7591 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11706);
7592 exit(1);
7593 }
7594 var_tclassidnode6 = var_nodearraylist7;
7595 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7596 cltype24 = type_nullable_parser_nodes__TClassid.color;
7597 idtype25 = type_nullable_parser_nodes__TClassid.id;
7598 if(var_tclassidnode6 == NULL) {
7599 var23 = 1;
7600 } else {
7601 if(cltype24 >= var_tclassidnode6->type->table_size) {
7602 var23 = 0;
7603 } else {
7604 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
7605 }
7606 }
7607 if (!var23) {
7608 fprintf(stderr, "Runtime error: %s", "Assert failed");
7609 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11708);
7610 exit(1);
7611 }
7612 var26 = NEW_array__Array(&type_array__Arraykernel__Object);
7613 ((void (*)(val*))(var26->class->vft[COLOR_array__Array__init]))(var26) /* init on <var26:Array[Object]>*/;
7614 CHECK_NEW_array__Array(var26);
7615 var_listnode12 = var26;
7616 var_listnode11 = var_nodearraylist8;
7617 /* <var_listnode11:nullable Object> isa Array[Object] */
7618 cltype28 = type_array__Arraykernel__Object.color;
7619 idtype29 = type_array__Arraykernel__Object.id;
7620 if(var_listnode11 == NULL) {
7621 var27 = 0;
7622 } else {
7623 if(cltype28 >= var_listnode11->type->table_size) {
7624 var27 = 0;
7625 } else {
7626 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
7627 }
7628 }
7629 if (!var27) {
7630 fprintf(stderr, "Runtime error: %s", "Assert failed");
7631 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11711);
7632 exit(1);
7633 }
7634 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction252>*/;
7635 var_listnode12 = var30;
7636 var31 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
7637 var32 = NULL;
7638 var33 = NULL;
7639 var34 = NULL;
7640 ((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>*/;
7641 CHECK_NEW_parser_nodes__AAnnotations(var31);
7642 var_pannotationsnode8 = var31;
7643 var_pexterncodeblocknode14 = var_nodearraylist9;
7644 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
7645 cltype36 = type_nullable_parser_nodes__AExternCodeBlock.color;
7646 idtype37 = type_nullable_parser_nodes__AExternCodeBlock.id;
7647 if(var_pexterncodeblocknode14 == NULL) {
7648 var35 = 1;
7649 } else {
7650 if(cltype36 >= var_pexterncodeblocknode14->type->table_size) {
7651 var35 = 0;
7652 } else {
7653 var35 = var_pexterncodeblocknode14->type->type_table[cltype36] == idtype37;
7654 }
7655 }
7656 if (!var35) {
7657 fprintf(stderr, "Runtime error: %s", "Assert failed");
7658 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11720);
7659 exit(1);
7660 }
7661 var_listnode16 = var_nodearraylist10;
7662 /* <var_listnode16:nullable Object> isa Array[Object] */
7663 cltype39 = type_array__Arraykernel__Object.color;
7664 idtype40 = type_array__Arraykernel__Object.id;
7665 if(var_listnode16 == NULL) {
7666 var38 = 0;
7667 } else {
7668 if(cltype39 >= var_listnode16->type->table_size) {
7669 var38 = 0;
7670 } else {
7671 var38 = var_listnode16->type->type_table[cltype39] == idtype40;
7672 }
7673 }
7674 if (!var38) {
7675 fprintf(stderr, "Runtime error: %s", "Assert failed");
7676 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11722);
7677 exit(1);
7678 }
7679 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction252>*/;
7680 var_listnode17 = var41;
7681 var_tkwendnode18 = var_nodearraylist12;
7682 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
7683 cltype43 = type_nullable_parser_nodes__TKwend.color;
7684 idtype44 = type_nullable_parser_nodes__TKwend.id;
7685 if(var_tkwendnode18 == NULL) {
7686 var42 = 1;
7687 } else {
7688 if(cltype43 >= var_tkwendnode18->type->table_size) {
7689 var42 = 0;
7690 } else {
7691 var42 = var_tkwendnode18->type->type_table[cltype43] == idtype44;
7692 }
7693 }
7694 if (!var42) {
7695 fprintf(stderr, "Runtime error: %s", "Assert failed");
7696 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11725);
7697 exit(1);
7698 }
7699 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7700 var46 = NULL;
7701 ((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, var46, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var45:AStdClassdef>*/;
7702 CHECK_NEW_parser_nodes__AStdClassdef(var45);
7703 var_pclassdefnode1 = var45;
7704 var_node_list = var_pclassdefnode1;
7705 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction252> */
7706 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
7707 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
7708 RET_LABEL:;
7709 }
7710 /* method parser#ReduceAction252#action for (self: Object, Parser) */
7711 void VIRTUAL_parser__ReduceAction252__action(val* self, val* p0) {
7712 parser__ReduceAction252__action(self, p0);
7713 RET_LABEL:;
7714 }
7715 /* method parser#ReduceAction254#action for (self: ReduceAction254, Parser) */
7716 void parser__ReduceAction254__action(val* self, val* p0) {
7717 val* var_p /* var p: Parser */;
7718 val* var /* : null */;
7719 val* var_node_list /* var node_list: nullable Object */;
7720 val* var1 /* : nullable Object */;
7721 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
7722 val* var2 /* : nullable Object */;
7723 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7724 val* var3 /* : nullable Object */;
7725 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7726 val* var4 /* : nullable Object */;
7727 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7728 val* var5 /* : nullable Object */;
7729 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7730 val* var6 /* : nullable Object */;
7731 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7732 val* var7 /* : nullable Object */;
7733 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7734 val* var8 /* : nullable Object */;
7735 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7736 val* var9 /* : nullable Object */;
7737 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7738 val* var10 /* : nullable Object */;
7739 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7740 val* var11 /* : nullable Object */;
7741 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7742 val* var12 /* : nullable Object */;
7743 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7744 val* var13 /* : Array[Object] */;
7745 val* var_listnode7 /* var listnode7: Array[Object] */;
7746 val* var14 /* : Array[Object] */;
7747 val* var_listnode15 /* var listnode15: Array[Object] */;
7748 val* var15 /* : Array[Object] */;
7749 val* var_listnode17 /* var listnode17: Array[Object] */;
7750 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7751 short int var16 /* : Bool */;
7752 int cltype;
7753 int idtype;
7754 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7755 short int var17 /* : Bool */;
7756 int cltype18;
7757 int idtype19;
7758 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7759 short int var20 /* : Bool */;
7760 int cltype21;
7761 int idtype22;
7762 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7763 short int var23 /* : Bool */;
7764 int cltype24;
7765 int idtype25;
7766 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7767 short int var26 /* : Bool */;
7768 int cltype27;
7769 int idtype28;
7770 val* var29 /* : Array[Object] */;
7771 val* var_listnode12 /* var listnode12: Array[Object] */;
7772 val* var_listnode11 /* var listnode11: nullable Object */;
7773 short int var30 /* : Bool */;
7774 int cltype31;
7775 int idtype32;
7776 val* var33 /* : Array[Object] */;
7777 val* var34 /* : AAnnotations */;
7778 val* var35 /* : null */;
7779 val* var36 /* : null */;
7780 val* var37 /* : null */;
7781 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
7782 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
7783 short int var38 /* : Bool */;
7784 int cltype39;
7785 int idtype40;
7786 val* var_listnode16 /* var listnode16: nullable Object */;
7787 short int var41 /* : Bool */;
7788 int cltype42;
7789 int idtype43;
7790 val* var44 /* : Array[Object] */;
7791 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
7792 short int var45 /* : Bool */;
7793 int cltype46;
7794 int idtype47;
7795 val* var48 /* : AStdClassdef */;
7796 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7797 long var49 /* : Int */;
7798 long var50 /* : Int */;
7799 var_p = p0;
7800 var = NULL;
7801 var_node_list = var;
7802 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7803 var_nodearraylist12 = var1;
7804 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7805 var_nodearraylist11 = var2;
7806 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7807 var_nodearraylist10 = var3;
7808 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7809 var_nodearraylist9 = var4;
7810 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7811 var_nodearraylist8 = var5;
7812 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7813 var_nodearraylist7 = var6;
7814 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7815 var_nodearraylist6 = var7;
7816 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7817 var_nodearraylist5 = var8;
7818 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7819 var_nodearraylist4 = var9;
7820 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7821 var_nodearraylist3 = var10;
7822 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7823 var_nodearraylist2 = var11;
7824 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7825 var_nodearraylist1 = var12;
7826 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7827 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7828 CHECK_NEW_array__Array(var13);
7829 var_listnode7 = var13;
7830 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7831 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7832 CHECK_NEW_array__Array(var14);
7833 var_listnode15 = var14;
7834 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
7835 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
7836 CHECK_NEW_array__Array(var15);
7837 var_listnode17 = var15;
7838 var_pdocnode2 = var_nodearraylist1;
7839 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7840 cltype = type_nullable_parser_nodes__ADoc.color;
7841 idtype = type_nullable_parser_nodes__ADoc.id;
7842 if(var_pdocnode2 == NULL) {
7843 var16 = 1;
7844 } else {
7845 if(cltype >= var_pdocnode2->type->table_size) {
7846 var16 = 0;
7847 } else {
7848 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
7849 }
7850 }
7851 if (!var16) {
7852 fprintf(stderr, "Runtime error: %s", "Assert failed");
7853 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11764);
7854 exit(1);
7855 }
7856 var_tkwredefnode3 = var_nodearraylist2;
7857 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7858 cltype18 = type_nullable_parser_nodes__TKwredef.color;
7859 idtype19 = type_nullable_parser_nodes__TKwredef.id;
7860 if(var_tkwredefnode3 == NULL) {
7861 var17 = 1;
7862 } else {
7863 if(cltype18 >= var_tkwredefnode3->type->table_size) {
7864 var17 = 0;
7865 } else {
7866 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
7867 }
7868 }
7869 if (!var17) {
7870 fprintf(stderr, "Runtime error: %s", "Assert failed");
7871 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11766);
7872 exit(1);
7873 }
7874 var_pvisibilitynode4 = var_nodearraylist3;
7875 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7876 cltype21 = type_nullable_parser_nodes__AVisibility.color;
7877 idtype22 = type_nullable_parser_nodes__AVisibility.id;
7878 if(var_pvisibilitynode4 == NULL) {
7879 var20 = 1;
7880 } else {
7881 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
7882 var20 = 0;
7883 } else {
7884 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
7885 }
7886 }
7887 if (!var20) {
7888 fprintf(stderr, "Runtime error: %s", "Assert failed");
7889 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11768);
7890 exit(1);
7891 }
7892 var_pclasskindnode5 = var_nodearraylist4;
7893 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7894 cltype24 = type_nullable_parser_nodes__AClasskind.color;
7895 idtype25 = type_nullable_parser_nodes__AClasskind.id;
7896 if(var_pclasskindnode5 == NULL) {
7897 var23 = 1;
7898 } else {
7899 if(cltype24 >= var_pclasskindnode5->type->table_size) {
7900 var23 = 0;
7901 } else {
7902 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
7903 }
7904 }
7905 if (!var23) {
7906 fprintf(stderr, "Runtime error: %s", "Assert failed");
7907 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11770);
7908 exit(1);
7909 }
7910 var_tclassidnode6 = var_nodearraylist7;
7911 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7912 cltype27 = type_nullable_parser_nodes__TClassid.color;
7913 idtype28 = type_nullable_parser_nodes__TClassid.id;
7914 if(var_tclassidnode6 == NULL) {
7915 var26 = 1;
7916 } else {
7917 if(cltype27 >= var_tclassidnode6->type->table_size) {
7918 var26 = 0;
7919 } else {
7920 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
7921 }
7922 }
7923 if (!var26) {
7924 fprintf(stderr, "Runtime error: %s", "Assert failed");
7925 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11772);
7926 exit(1);
7927 }
7928 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
7929 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
7930 CHECK_NEW_array__Array(var29);
7931 var_listnode12 = var29;
7932 var_listnode11 = var_nodearraylist8;
7933 /* <var_listnode11:nullable Object> isa Array[Object] */
7934 cltype31 = type_array__Arraykernel__Object.color;
7935 idtype32 = type_array__Arraykernel__Object.id;
7936 if(var_listnode11 == NULL) {
7937 var30 = 0;
7938 } else {
7939 if(cltype31 >= var_listnode11->type->table_size) {
7940 var30 = 0;
7941 } else {
7942 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
7943 }
7944 }
7945 if (!var30) {
7946 fprintf(stderr, "Runtime error: %s", "Assert failed");
7947 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11775);
7948 exit(1);
7949 }
7950 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction254>*/;
7951 var_listnode12 = var33;
7952 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
7953 var35 = NULL;
7954 var36 = NULL;
7955 var37 = NULL;
7956 ((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>*/;
7957 CHECK_NEW_parser_nodes__AAnnotations(var34);
7958 var_pannotationsnode8 = var34;
7959 var_pexterncodeblocknode14 = var_nodearraylist9;
7960 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
7961 cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color;
7962 idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id;
7963 if(var_pexterncodeblocknode14 == NULL) {
7964 var38 = 1;
7965 } else {
7966 if(cltype39 >= var_pexterncodeblocknode14->type->table_size) {
7967 var38 = 0;
7968 } else {
7969 var38 = var_pexterncodeblocknode14->type->type_table[cltype39] == idtype40;
7970 }
7971 }
7972 if (!var38) {
7973 fprintf(stderr, "Runtime error: %s", "Assert failed");
7974 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11784);
7975 exit(1);
7976 }
7977 var_listnode16 = var_nodearraylist10;
7978 /* <var_listnode16:nullable Object> isa Array[Object] */
7979 cltype42 = type_array__Arraykernel__Object.color;
7980 idtype43 = type_array__Arraykernel__Object.id;
7981 if(var_listnode16 == NULL) {
7982 var41 = 0;
7983 } else {
7984 if(cltype42 >= var_listnode16->type->table_size) {
7985 var41 = 0;
7986 } else {
7987 var41 = var_listnode16->type->type_table[cltype42] == idtype43;
7988 }
7989 }
7990 if (!var41) {
7991 fprintf(stderr, "Runtime error: %s", "Assert failed");
7992 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11786);
7993 exit(1);
7994 }
7995 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction254>*/;
7996 var_listnode17 = var44;
7997 var_tkwendnode18 = var_nodearraylist12;
7998 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
7999 cltype46 = type_nullable_parser_nodes__TKwend.color;
8000 idtype47 = type_nullable_parser_nodes__TKwend.id;
8001 if(var_tkwendnode18 == NULL) {
8002 var45 = 1;
8003 } else {
8004 if(cltype46 >= var_tkwendnode18->type->table_size) {
8005 var45 = 0;
8006 } else {
8007 var45 = var_tkwendnode18->type->type_table[cltype46] == idtype47;
8008 }
8009 }
8010 if (!var45) {
8011 fprintf(stderr, "Runtime error: %s", "Assert failed");
8012 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11789);
8013 exit(1);
8014 }
8015 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8016 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var48->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var48:AStdClassdef>*/;
8017 CHECK_NEW_parser_nodes__AStdClassdef(var48);
8018 var_pclassdefnode1 = var48;
8019 var_node_list = var_pclassdefnode1;
8020 var49 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction254> */
8021 var50 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var49) /* go_to on <var_p:Parser>*/;
8022 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var50, var_node_list) /* push on <var_p:Parser>*/;
8023 RET_LABEL:;
8024 }
8025 /* method parser#ReduceAction254#action for (self: Object, Parser) */
8026 void VIRTUAL_parser__ReduceAction254__action(val* self, val* p0) {
8027 parser__ReduceAction254__action(self, p0);
8028 RET_LABEL:;
8029 }
8030 /* method parser#ReduceAction255#action for (self: ReduceAction255, Parser) */
8031 void parser__ReduceAction255__action(val* self, val* p0) {
8032 val* var_p /* var p: Parser */;
8033 val* var /* : null */;
8034 val* var_node_list /* var node_list: nullable Object */;
8035 val* var1 /* : nullable Object */;
8036 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
8037 val* var2 /* : nullable Object */;
8038 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
8039 val* var3 /* : nullable Object */;
8040 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8041 val* var4 /* : nullable Object */;
8042 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8043 val* var5 /* : nullable Object */;
8044 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8045 val* var6 /* : nullable Object */;
8046 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8047 val* var7 /* : nullable Object */;
8048 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8049 val* var8 /* : nullable Object */;
8050 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8051 val* var9 /* : nullable Object */;
8052 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8053 val* var10 /* : nullable Object */;
8054 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8055 val* var11 /* : nullable Object */;
8056 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8057 val* var12 /* : nullable Object */;
8058 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8059 val* var13 /* : nullable Object */;
8060 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8061 val* var14 /* : Array[Object] */;
8062 val* var_listnode7 /* var listnode7: Array[Object] */;
8063 val* var15 /* : Array[Object] */;
8064 val* var_listnode15 /* var listnode15: Array[Object] */;
8065 val* var16 /* : Array[Object] */;
8066 val* var_listnode17 /* var listnode17: Array[Object] */;
8067 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8068 short int var17 /* : Bool */;
8069 int cltype;
8070 int idtype;
8071 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8072 short int var18 /* : Bool */;
8073 int cltype19;
8074 int idtype20;
8075 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8076 short int var21 /* : Bool */;
8077 int cltype22;
8078 int idtype23;
8079 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8080 short int var24 /* : Bool */;
8081 int cltype25;
8082 int idtype26;
8083 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8084 short int var27 /* : Bool */;
8085 int cltype28;
8086 int idtype29;
8087 val* var30 /* : Array[Object] */;
8088 val* var_listnode12 /* var listnode12: Array[Object] */;
8089 val* var_listnode11 /* var listnode11: nullable Object */;
8090 short int var31 /* : Bool */;
8091 int cltype32;
8092 int idtype33;
8093 val* var34 /* : Array[Object] */;
8094 val* var35 /* : AAnnotations */;
8095 val* var36 /* : null */;
8096 val* var37 /* : null */;
8097 val* var38 /* : null */;
8098 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
8099 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
8100 short int var39 /* : Bool */;
8101 int cltype40;
8102 int idtype41;
8103 val* var_listnode16 /* var listnode16: nullable Object */;
8104 short int var42 /* : Bool */;
8105 int cltype43;
8106 int idtype44;
8107 val* var45 /* : Array[Object] */;
8108 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
8109 short int var46 /* : Bool */;
8110 int cltype47;
8111 int idtype48;
8112 val* var49 /* : AStdClassdef */;
8113 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8114 long var50 /* : Int */;
8115 long var51 /* : Int */;
8116 var_p = p0;
8117 var = NULL;
8118 var_node_list = var;
8119 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8120 var_nodearraylist13 = var1;
8121 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8122 var_nodearraylist12 = var2;
8123 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8124 var_nodearraylist11 = var3;
8125 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8126 var_nodearraylist10 = var4;
8127 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8128 var_nodearraylist9 = var5;
8129 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8130 var_nodearraylist8 = var6;
8131 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8132 var_nodearraylist7 = var7;
8133 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8134 var_nodearraylist6 = var8;
8135 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8136 var_nodearraylist5 = var9;
8137 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8138 var_nodearraylist4 = var10;
8139 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8140 var_nodearraylist3 = var11;
8141 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8142 var_nodearraylist2 = var12;
8143 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8144 var_nodearraylist1 = var13;
8145 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8146 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8147 CHECK_NEW_array__Array(var14);
8148 var_listnode7 = var14;
8149 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
8150 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
8151 CHECK_NEW_array__Array(var15);
8152 var_listnode15 = var15;
8153 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
8154 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
8155 CHECK_NEW_array__Array(var16);
8156 var_listnode17 = var16;
8157 var_pdocnode2 = var_nodearraylist1;
8158 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8159 cltype = type_nullable_parser_nodes__ADoc.color;
8160 idtype = type_nullable_parser_nodes__ADoc.id;
8161 if(var_pdocnode2 == NULL) {
8162 var17 = 1;
8163 } else {
8164 if(cltype >= var_pdocnode2->type->table_size) {
8165 var17 = 0;
8166 } else {
8167 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
8168 }
8169 }
8170 if (!var17) {
8171 fprintf(stderr, "Runtime error: %s", "Assert failed");
8172 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11829);
8173 exit(1);
8174 }
8175 var_tkwredefnode3 = var_nodearraylist2;
8176 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8177 cltype19 = type_nullable_parser_nodes__TKwredef.color;
8178 idtype20 = type_nullable_parser_nodes__TKwredef.id;
8179 if(var_tkwredefnode3 == NULL) {
8180 var18 = 1;
8181 } else {
8182 if(cltype19 >= var_tkwredefnode3->type->table_size) {
8183 var18 = 0;
8184 } else {
8185 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
8186 }
8187 }
8188 if (!var18) {
8189 fprintf(stderr, "Runtime error: %s", "Assert failed");
8190 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11831);
8191 exit(1);
8192 }
8193 var_pvisibilitynode4 = var_nodearraylist3;
8194 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8195 cltype22 = type_nullable_parser_nodes__AVisibility.color;
8196 idtype23 = type_nullable_parser_nodes__AVisibility.id;
8197 if(var_pvisibilitynode4 == NULL) {
8198 var21 = 1;
8199 } else {
8200 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
8201 var21 = 0;
8202 } else {
8203 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
8204 }
8205 }
8206 if (!var21) {
8207 fprintf(stderr, "Runtime error: %s", "Assert failed");
8208 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11833);
8209 exit(1);
8210 }
8211 var_pclasskindnode5 = var_nodearraylist4;
8212 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8213 cltype25 = type_nullable_parser_nodes__AClasskind.color;
8214 idtype26 = type_nullable_parser_nodes__AClasskind.id;
8215 if(var_pclasskindnode5 == NULL) {
8216 var24 = 1;
8217 } else {
8218 if(cltype25 >= var_pclasskindnode5->type->table_size) {
8219 var24 = 0;
8220 } else {
8221 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
8222 }
8223 }
8224 if (!var24) {
8225 fprintf(stderr, "Runtime error: %s", "Assert failed");
8226 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11835);
8227 exit(1);
8228 }
8229 var_tclassidnode6 = var_nodearraylist8;
8230 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8231 cltype28 = type_nullable_parser_nodes__TClassid.color;
8232 idtype29 = type_nullable_parser_nodes__TClassid.id;
8233 if(var_tclassidnode6 == NULL) {
8234 var27 = 1;
8235 } else {
8236 if(cltype28 >= var_tclassidnode6->type->table_size) {
8237 var27 = 0;
8238 } else {
8239 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
8240 }
8241 }
8242 if (!var27) {
8243 fprintf(stderr, "Runtime error: %s", "Assert failed");
8244 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11837);
8245 exit(1);
8246 }
8247 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
8248 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
8249 CHECK_NEW_array__Array(var30);
8250 var_listnode12 = var30;
8251 var_listnode11 = var_nodearraylist9;
8252 /* <var_listnode11:nullable Object> isa Array[Object] */
8253 cltype32 = type_array__Arraykernel__Object.color;
8254 idtype33 = type_array__Arraykernel__Object.id;
8255 if(var_listnode11 == NULL) {
8256 var31 = 0;
8257 } else {
8258 if(cltype32 >= var_listnode11->type->table_size) {
8259 var31 = 0;
8260 } else {
8261 var31 = var_listnode11->type->type_table[cltype32] == idtype33;
8262 }
8263 }
8264 if (!var31) {
8265 fprintf(stderr, "Runtime error: %s", "Assert failed");
8266 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11840);
8267 exit(1);
8268 }
8269 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction255>*/;
8270 var_listnode12 = var34;
8271 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
8272 var36 = NULL;
8273 var37 = NULL;
8274 var38 = NULL;
8275 ((void (*)(val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var35, var36, var37, var_listnode12, var38) /* init_aannotations on <var35:AAnnotations>*/;
8276 CHECK_NEW_parser_nodes__AAnnotations(var35);
8277 var_pannotationsnode8 = var35;
8278 var_pexterncodeblocknode14 = var_nodearraylist10;
8279 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
8280 cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color;
8281 idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id;
8282 if(var_pexterncodeblocknode14 == NULL) {
8283 var39 = 1;
8284 } else {
8285 if(cltype40 >= var_pexterncodeblocknode14->type->table_size) {
8286 var39 = 0;
8287 } else {
8288 var39 = var_pexterncodeblocknode14->type->type_table[cltype40] == idtype41;
8289 }
8290 }
8291 if (!var39) {
8292 fprintf(stderr, "Runtime error: %s", "Assert failed");
8293 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11849);
8294 exit(1);
8295 }
8296 var_listnode16 = var_nodearraylist11;
8297 /* <var_listnode16:nullable Object> isa Array[Object] */
8298 cltype43 = type_array__Arraykernel__Object.color;
8299 idtype44 = type_array__Arraykernel__Object.id;
8300 if(var_listnode16 == NULL) {
8301 var42 = 0;
8302 } else {
8303 if(cltype43 >= var_listnode16->type->table_size) {
8304 var42 = 0;
8305 } else {
8306 var42 = var_listnode16->type->type_table[cltype43] == idtype44;
8307 }
8308 }
8309 if (!var42) {
8310 fprintf(stderr, "Runtime error: %s", "Assert failed");
8311 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11851);
8312 exit(1);
8313 }
8314 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction255>*/;
8315 var_listnode17 = var45;
8316 var_tkwendnode18 = var_nodearraylist13;
8317 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
8318 cltype47 = type_nullable_parser_nodes__TKwend.color;
8319 idtype48 = type_nullable_parser_nodes__TKwend.id;
8320 if(var_tkwendnode18 == NULL) {
8321 var46 = 1;
8322 } else {
8323 if(cltype47 >= var_tkwendnode18->type->table_size) {
8324 var46 = 0;
8325 } else {
8326 var46 = var_tkwendnode18->type->type_table[cltype47] == idtype48;
8327 }
8328 }
8329 if (!var46) {
8330 fprintf(stderr, "Runtime error: %s", "Assert failed");
8331 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11854);
8332 exit(1);
8333 }
8334 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8335 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var49->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var49, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var49:AStdClassdef>*/;
8336 CHECK_NEW_parser_nodes__AStdClassdef(var49);
8337 var_pclassdefnode1 = var49;
8338 var_node_list = var_pclassdefnode1;
8339 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction255> */
8340 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
8341 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
8342 RET_LABEL:;
8343 }
8344 /* method parser#ReduceAction255#action for (self: Object, Parser) */
8345 void VIRTUAL_parser__ReduceAction255__action(val* self, val* p0) {
8346 parser__ReduceAction255__action(self, p0);
8347 RET_LABEL:;
8348 }
8349 /* method parser#ReduceAction257#action for (self: ReduceAction257, Parser) */
8350 void parser__ReduceAction257__action(val* self, val* p0) {
8351 val* var_p /* var p: Parser */;
8352 val* var /* : null */;
8353 val* var_node_list /* var node_list: nullable Object */;
8354 val* var1 /* : nullable Object */;
8355 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8356 val* var2 /* : nullable Object */;
8357 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8358 val* var3 /* : nullable Object */;
8359 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8360 val* var4 /* : nullable Object */;
8361 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8362 val* var5 /* : nullable Object */;
8363 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8364 val* var6 /* : nullable Object */;
8365 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8366 val* var7 /* : nullable Object */;
8367 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8368 val* var8 /* : nullable Object */;
8369 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8370 val* var9 /* : nullable Object */;
8371 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8372 val* var10 /* : nullable Object */;
8373 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8374 val* var11 /* : nullable Object */;
8375 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8376 val* var12 /* : Array[Object] */;
8377 val* var_listnode8 /* var listnode8: Array[Object] */;
8378 val* var13 /* : Array[Object] */;
8379 val* var_listnode16 /* var listnode16: Array[Object] */;
8380 val* var14 /* : Array[Object] */;
8381 val* var_listnode18 /* var listnode18: Array[Object] */;
8382 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8383 short int var15 /* : Bool */;
8384 int cltype;
8385 int idtype;
8386 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8387 short int var16 /* : Bool */;
8388 int cltype17;
8389 int idtype18;
8390 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8391 short int var19 /* : Bool */;
8392 int cltype20;
8393 int idtype21;
8394 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8395 short int var22 /* : Bool */;
8396 int cltype23;
8397 int idtype24;
8398 val* var_listnode7 /* var listnode7: nullable Object */;
8399 short int var25 /* : Bool */;
8400 int cltype26;
8401 int idtype27;
8402 val* var28 /* : Array[Object] */;
8403 val* var29 /* : Array[Object] */;
8404 val* var_listnode13 /* var listnode13: Array[Object] */;
8405 val* var_listnode12 /* var listnode12: nullable Object */;
8406 short int var30 /* : Bool */;
8407 int cltype31;
8408 int idtype32;
8409 val* var33 /* : Array[Object] */;
8410 val* var34 /* : AAnnotations */;
8411 val* var35 /* : null */;
8412 val* var36 /* : null */;
8413 val* var37 /* : null */;
8414 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
8415 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
8416 short int var38 /* : Bool */;
8417 int cltype39;
8418 int idtype40;
8419 val* var_listnode17 /* var listnode17: nullable Object */;
8420 short int var41 /* : Bool */;
8421 int cltype42;
8422 int idtype43;
8423 val* var44 /* : Array[Object] */;
8424 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
8425 short int var45 /* : Bool */;
8426 int cltype46;
8427 int idtype47;
8428 val* var48 /* : AStdClassdef */;
8429 val* var49 /* : null */;
8430 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8431 long var50 /* : Int */;
8432 long var51 /* : Int */;
8433 var_p = p0;
8434 var = NULL;
8435 var_node_list = var;
8436 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8437 var_nodearraylist11 = var1;
8438 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8439 var_nodearraylist10 = var2;
8440 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8441 var_nodearraylist9 = var3;
8442 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8443 var_nodearraylist8 = var4;
8444 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8445 var_nodearraylist7 = var5;
8446 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8447 var_nodearraylist6 = var6;
8448 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8449 var_nodearraylist5 = var7;
8450 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8451 var_nodearraylist4 = var8;
8452 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8453 var_nodearraylist3 = var9;
8454 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8455 var_nodearraylist2 = var10;
8456 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8457 var_nodearraylist1 = var11;
8458 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8459 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8460 CHECK_NEW_array__Array(var12);
8461 var_listnode8 = var12;
8462 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8463 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8464 CHECK_NEW_array__Array(var13);
8465 var_listnode16 = var13;
8466 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8467 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8468 CHECK_NEW_array__Array(var14);
8469 var_listnode18 = var14;
8470 var_pdocnode2 = var_nodearraylist1;
8471 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8472 cltype = type_nullable_parser_nodes__ADoc.color;
8473 idtype = type_nullable_parser_nodes__ADoc.id;
8474 if(var_pdocnode2 == NULL) {
8475 var15 = 1;
8476 } else {
8477 if(cltype >= var_pdocnode2->type->table_size) {
8478 var15 = 0;
8479 } else {
8480 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
8481 }
8482 }
8483 if (!var15) {
8484 fprintf(stderr, "Runtime error: %s", "Assert failed");
8485 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11892);
8486 exit(1);
8487 }
8488 var_pvisibilitynode4 = var_nodearraylist2;
8489 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8490 cltype17 = type_nullable_parser_nodes__AVisibility.color;
8491 idtype18 = type_nullable_parser_nodes__AVisibility.id;
8492 if(var_pvisibilitynode4 == NULL) {
8493 var16 = 1;
8494 } else {
8495 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
8496 var16 = 0;
8497 } else {
8498 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
8499 }
8500 }
8501 if (!var16) {
8502 fprintf(stderr, "Runtime error: %s", "Assert failed");
8503 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11894);
8504 exit(1);
8505 }
8506 var_pclasskindnode5 = var_nodearraylist3;
8507 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8508 cltype20 = type_nullable_parser_nodes__AClasskind.color;
8509 idtype21 = type_nullable_parser_nodes__AClasskind.id;
8510 if(var_pclasskindnode5 == NULL) {
8511 var19 = 1;
8512 } else {
8513 if(cltype20 >= var_pclasskindnode5->type->table_size) {
8514 var19 = 0;
8515 } else {
8516 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
8517 }
8518 }
8519 if (!var19) {
8520 fprintf(stderr, "Runtime error: %s", "Assert failed");
8521 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11896);
8522 exit(1);
8523 }
8524 var_tclassidnode6 = var_nodearraylist5;
8525 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8526 cltype23 = type_nullable_parser_nodes__TClassid.color;
8527 idtype24 = type_nullable_parser_nodes__TClassid.id;
8528 if(var_tclassidnode6 == NULL) {
8529 var22 = 1;
8530 } else {
8531 if(cltype23 >= var_tclassidnode6->type->table_size) {
8532 var22 = 0;
8533 } else {
8534 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
8535 }
8536 }
8537 if (!var22) {
8538 fprintf(stderr, "Runtime error: %s", "Assert failed");
8539 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11898);
8540 exit(1);
8541 }
8542 var_listnode7 = var_nodearraylist6;
8543 /* <var_listnode7:nullable Object> isa Array[Object] */
8544 cltype26 = type_array__Arraykernel__Object.color;
8545 idtype27 = type_array__Arraykernel__Object.id;
8546 if(var_listnode7 == NULL) {
8547 var25 = 0;
8548 } else {
8549 if(cltype26 >= var_listnode7->type->table_size) {
8550 var25 = 0;
8551 } else {
8552 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
8553 }
8554 }
8555 if (!var25) {
8556 fprintf(stderr, "Runtime error: %s", "Assert failed");
8557 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11900);
8558 exit(1);
8559 }
8560 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction257>*/;
8561 var_listnode8 = var28;
8562 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
8563 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
8564 CHECK_NEW_array__Array(var29);
8565 var_listnode13 = var29;
8566 var_listnode12 = var_nodearraylist7;
8567 /* <var_listnode12:nullable Object> isa Array[Object] */
8568 cltype31 = type_array__Arraykernel__Object.color;
8569 idtype32 = type_array__Arraykernel__Object.id;
8570 if(var_listnode12 == NULL) {
8571 var30 = 0;
8572 } else {
8573 if(cltype31 >= var_listnode12->type->table_size) {
8574 var30 = 0;
8575 } else {
8576 var30 = var_listnode12->type->type_table[cltype31] == idtype32;
8577 }
8578 }
8579 if (!var30) {
8580 fprintf(stderr, "Runtime error: %s", "Assert failed");
8581 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11904);
8582 exit(1);
8583 }
8584 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction257>*/;
8585 var_listnode13 = var33;
8586 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
8587 var35 = NULL;
8588 var36 = NULL;
8589 var37 = NULL;
8590 ((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>*/;
8591 CHECK_NEW_parser_nodes__AAnnotations(var34);
8592 var_pannotationsnode9 = var34;
8593 var_pexterncodeblocknode15 = var_nodearraylist8;
8594 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
8595 cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color;
8596 idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id;
8597 if(var_pexterncodeblocknode15 == NULL) {
8598 var38 = 1;
8599 } else {
8600 if(cltype39 >= var_pexterncodeblocknode15->type->table_size) {
8601 var38 = 0;
8602 } else {
8603 var38 = var_pexterncodeblocknode15->type->type_table[cltype39] == idtype40;
8604 }
8605 }
8606 if (!var38) {
8607 fprintf(stderr, "Runtime error: %s", "Assert failed");
8608 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11913);
8609 exit(1);
8610 }
8611 var_listnode17 = var_nodearraylist9;
8612 /* <var_listnode17:nullable Object> isa Array[Object] */
8613 cltype42 = type_array__Arraykernel__Object.color;
8614 idtype43 = type_array__Arraykernel__Object.id;
8615 if(var_listnode17 == NULL) {
8616 var41 = 0;
8617 } else {
8618 if(cltype42 >= var_listnode17->type->table_size) {
8619 var41 = 0;
8620 } else {
8621 var41 = var_listnode17->type->type_table[cltype42] == idtype43;
8622 }
8623 }
8624 if (!var41) {
8625 fprintf(stderr, "Runtime error: %s", "Assert failed");
8626 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11915);
8627 exit(1);
8628 }
8629 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction257>*/;
8630 var_listnode18 = var44;
8631 var_tkwendnode19 = var_nodearraylist11;
8632 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
8633 cltype46 = type_nullable_parser_nodes__TKwend.color;
8634 idtype47 = type_nullable_parser_nodes__TKwend.id;
8635 if(var_tkwendnode19 == NULL) {
8636 var45 = 1;
8637 } else {
8638 if(cltype46 >= var_tkwendnode19->type->table_size) {
8639 var45 = 0;
8640 } else {
8641 var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47;
8642 }
8643 }
8644 if (!var45) {
8645 fprintf(stderr, "Runtime error: %s", "Assert failed");
8646 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11918);
8647 exit(1);
8648 }
8649 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8650 var49 = NULL;
8651 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var48->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var48, var_pdocnode2, var49, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var48:AStdClassdef>*/;
8652 CHECK_NEW_parser_nodes__AStdClassdef(var48);
8653 var_pclassdefnode1 = var48;
8654 var_node_list = var_pclassdefnode1;
8655 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction257> */
8656 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
8657 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
8658 RET_LABEL:;
8659 }
8660 /* method parser#ReduceAction257#action for (self: Object, Parser) */
8661 void VIRTUAL_parser__ReduceAction257__action(val* self, val* p0) {
8662 parser__ReduceAction257__action(self, p0);
8663 RET_LABEL:;
8664 }
8665 /* method parser#ReduceAction258#action for (self: ReduceAction258, Parser) */
8666 void parser__ReduceAction258__action(val* self, val* p0) {
8667 val* var_p /* var p: Parser */;
8668 val* var /* : null */;
8669 val* var_node_list /* var node_list: nullable Object */;
8670 val* var1 /* : nullable Object */;
8671 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
8672 val* var2 /* : nullable Object */;
8673 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8674 val* var3 /* : nullable Object */;
8675 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8676 val* var4 /* : nullable Object */;
8677 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8678 val* var5 /* : nullable Object */;
8679 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8680 val* var6 /* : nullable Object */;
8681 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8682 val* var7 /* : nullable Object */;
8683 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8684 val* var8 /* : nullable Object */;
8685 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8686 val* var9 /* : nullable Object */;
8687 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8688 val* var10 /* : nullable Object */;
8689 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8690 val* var11 /* : nullable Object */;
8691 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8692 val* var12 /* : nullable Object */;
8693 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8694 val* var13 /* : Array[Object] */;
8695 val* var_listnode8 /* var listnode8: Array[Object] */;
8696 val* var14 /* : Array[Object] */;
8697 val* var_listnode16 /* var listnode16: Array[Object] */;
8698 val* var15 /* : Array[Object] */;
8699 val* var_listnode18 /* var listnode18: Array[Object] */;
8700 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8701 short int var16 /* : Bool */;
8702 int cltype;
8703 int idtype;
8704 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8705 short int var17 /* : Bool */;
8706 int cltype18;
8707 int idtype19;
8708 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8709 short int var20 /* : Bool */;
8710 int cltype21;
8711 int idtype22;
8712 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8713 short int var23 /* : Bool */;
8714 int cltype24;
8715 int idtype25;
8716 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8717 short int var26 /* : Bool */;
8718 int cltype27;
8719 int idtype28;
8720 val* var_listnode7 /* var listnode7: nullable Object */;
8721 short int var29 /* : Bool */;
8722 int cltype30;
8723 int idtype31;
8724 val* var32 /* : Array[Object] */;
8725 val* var33 /* : Array[Object] */;
8726 val* var_listnode13 /* var listnode13: Array[Object] */;
8727 val* var_listnode12 /* var listnode12: nullable Object */;
8728 short int var34 /* : Bool */;
8729 int cltype35;
8730 int idtype36;
8731 val* var37 /* : Array[Object] */;
8732 val* var38 /* : AAnnotations */;
8733 val* var39 /* : null */;
8734 val* var40 /* : null */;
8735 val* var41 /* : null */;
8736 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
8737 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
8738 short int var42 /* : Bool */;
8739 int cltype43;
8740 int idtype44;
8741 val* var_listnode17 /* var listnode17: nullable Object */;
8742 short int var45 /* : Bool */;
8743 int cltype46;
8744 int idtype47;
8745 val* var48 /* : Array[Object] */;
8746 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
8747 short int var49 /* : Bool */;
8748 int cltype50;
8749 int idtype51;
8750 val* var52 /* : AStdClassdef */;
8751 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8752 long var53 /* : Int */;
8753 long var54 /* : Int */;
8754 var_p = p0;
8755 var = NULL;
8756 var_node_list = var;
8757 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8758 var_nodearraylist12 = var1;
8759 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8760 var_nodearraylist11 = var2;
8761 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8762 var_nodearraylist10 = var3;
8763 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8764 var_nodearraylist9 = var4;
8765 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8766 var_nodearraylist8 = var5;
8767 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8768 var_nodearraylist7 = var6;
8769 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8770 var_nodearraylist6 = var7;
8771 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8772 var_nodearraylist5 = var8;
8773 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8774 var_nodearraylist4 = var9;
8775 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8776 var_nodearraylist3 = var10;
8777 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8778 var_nodearraylist2 = var11;
8779 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8780 var_nodearraylist1 = var12;
8781 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8782 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8783 CHECK_NEW_array__Array(var13);
8784 var_listnode8 = var13;
8785 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8786 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8787 CHECK_NEW_array__Array(var14);
8788 var_listnode16 = var14;
8789 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
8790 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
8791 CHECK_NEW_array__Array(var15);
8792 var_listnode18 = var15;
8793 var_pdocnode2 = var_nodearraylist1;
8794 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8795 cltype = type_nullable_parser_nodes__ADoc.color;
8796 idtype = type_nullable_parser_nodes__ADoc.id;
8797 if(var_pdocnode2 == NULL) {
8798 var16 = 1;
8799 } else {
8800 if(cltype >= var_pdocnode2->type->table_size) {
8801 var16 = 0;
8802 } else {
8803 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
8804 }
8805 }
8806 if (!var16) {
8807 fprintf(stderr, "Runtime error: %s", "Assert failed");
8808 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11957);
8809 exit(1);
8810 }
8811 var_tkwredefnode3 = var_nodearraylist2;
8812 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8813 cltype18 = type_nullable_parser_nodes__TKwredef.color;
8814 idtype19 = type_nullable_parser_nodes__TKwredef.id;
8815 if(var_tkwredefnode3 == NULL) {
8816 var17 = 1;
8817 } else {
8818 if(cltype18 >= var_tkwredefnode3->type->table_size) {
8819 var17 = 0;
8820 } else {
8821 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
8822 }
8823 }
8824 if (!var17) {
8825 fprintf(stderr, "Runtime error: %s", "Assert failed");
8826 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11959);
8827 exit(1);
8828 }
8829 var_pvisibilitynode4 = var_nodearraylist3;
8830 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8831 cltype21 = type_nullable_parser_nodes__AVisibility.color;
8832 idtype22 = type_nullable_parser_nodes__AVisibility.id;
8833 if(var_pvisibilitynode4 == NULL) {
8834 var20 = 1;
8835 } else {
8836 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
8837 var20 = 0;
8838 } else {
8839 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
8840 }
8841 }
8842 if (!var20) {
8843 fprintf(stderr, "Runtime error: %s", "Assert failed");
8844 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11961);
8845 exit(1);
8846 }
8847 var_pclasskindnode5 = var_nodearraylist4;
8848 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8849 cltype24 = type_nullable_parser_nodes__AClasskind.color;
8850 idtype25 = type_nullable_parser_nodes__AClasskind.id;
8851 if(var_pclasskindnode5 == NULL) {
8852 var23 = 1;
8853 } else {
8854 if(cltype24 >= var_pclasskindnode5->type->table_size) {
8855 var23 = 0;
8856 } else {
8857 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
8858 }
8859 }
8860 if (!var23) {
8861 fprintf(stderr, "Runtime error: %s", "Assert failed");
8862 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11963);
8863 exit(1);
8864 }
8865 var_tclassidnode6 = var_nodearraylist6;
8866 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8867 cltype27 = type_nullable_parser_nodes__TClassid.color;
8868 idtype28 = type_nullable_parser_nodes__TClassid.id;
8869 if(var_tclassidnode6 == NULL) {
8870 var26 = 1;
8871 } else {
8872 if(cltype27 >= var_tclassidnode6->type->table_size) {
8873 var26 = 0;
8874 } else {
8875 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
8876 }
8877 }
8878 if (!var26) {
8879 fprintf(stderr, "Runtime error: %s", "Assert failed");
8880 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11965);
8881 exit(1);
8882 }
8883 var_listnode7 = var_nodearraylist7;
8884 /* <var_listnode7:nullable Object> isa Array[Object] */
8885 cltype30 = type_array__Arraykernel__Object.color;
8886 idtype31 = type_array__Arraykernel__Object.id;
8887 if(var_listnode7 == NULL) {
8888 var29 = 0;
8889 } else {
8890 if(cltype30 >= var_listnode7->type->table_size) {
8891 var29 = 0;
8892 } else {
8893 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
8894 }
8895 }
8896 if (!var29) {
8897 fprintf(stderr, "Runtime error: %s", "Assert failed");
8898 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11967);
8899 exit(1);
8900 }
8901 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction258>*/;
8902 var_listnode8 = var32;
8903 var33 = NEW_array__Array(&type_array__Arraykernel__Object);
8904 ((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on <var33:Array[Object]>*/;
8905 CHECK_NEW_array__Array(var33);
8906 var_listnode13 = var33;
8907 var_listnode12 = var_nodearraylist8;
8908 /* <var_listnode12:nullable Object> isa Array[Object] */
8909 cltype35 = type_array__Arraykernel__Object.color;
8910 idtype36 = type_array__Arraykernel__Object.id;
8911 if(var_listnode12 == NULL) {
8912 var34 = 0;
8913 } else {
8914 if(cltype35 >= var_listnode12->type->table_size) {
8915 var34 = 0;
8916 } else {
8917 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
8918 }
8919 }
8920 if (!var34) {
8921 fprintf(stderr, "Runtime error: %s", "Assert failed");
8922 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11971);
8923 exit(1);
8924 }
8925 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction258>*/;
8926 var_listnode13 = var37;
8927 var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
8928 var39 = NULL;
8929 var40 = NULL;
8930 var41 = NULL;
8931 ((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>*/;
8932 CHECK_NEW_parser_nodes__AAnnotations(var38);
8933 var_pannotationsnode9 = var38;
8934 var_pexterncodeblocknode15 = var_nodearraylist9;
8935 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
8936 cltype43 = type_nullable_parser_nodes__AExternCodeBlock.color;
8937 idtype44 = type_nullable_parser_nodes__AExternCodeBlock.id;
8938 if(var_pexterncodeblocknode15 == NULL) {
8939 var42 = 1;
8940 } else {
8941 if(cltype43 >= var_pexterncodeblocknode15->type->table_size) {
8942 var42 = 0;
8943 } else {
8944 var42 = var_pexterncodeblocknode15->type->type_table[cltype43] == idtype44;
8945 }
8946 }
8947 if (!var42) {
8948 fprintf(stderr, "Runtime error: %s", "Assert failed");
8949 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11980);
8950 exit(1);
8951 }
8952 var_listnode17 = var_nodearraylist10;
8953 /* <var_listnode17:nullable Object> isa Array[Object] */
8954 cltype46 = type_array__Arraykernel__Object.color;
8955 idtype47 = type_array__Arraykernel__Object.id;
8956 if(var_listnode17 == NULL) {
8957 var45 = 0;
8958 } else {
8959 if(cltype46 >= var_listnode17->type->table_size) {
8960 var45 = 0;
8961 } else {
8962 var45 = var_listnode17->type->type_table[cltype46] == idtype47;
8963 }
8964 }
8965 if (!var45) {
8966 fprintf(stderr, "Runtime error: %s", "Assert failed");
8967 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11982);
8968 exit(1);
8969 }
8970 var48 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction258>*/;
8971 var_listnode18 = var48;
8972 var_tkwendnode19 = var_nodearraylist12;
8973 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
8974 cltype50 = type_nullable_parser_nodes__TKwend.color;
8975 idtype51 = type_nullable_parser_nodes__TKwend.id;
8976 if(var_tkwendnode19 == NULL) {
8977 var49 = 1;
8978 } else {
8979 if(cltype50 >= var_tkwendnode19->type->table_size) {
8980 var49 = 0;
8981 } else {
8982 var49 = var_tkwendnode19->type->type_table[cltype50] == idtype51;
8983 }
8984 }
8985 if (!var49) {
8986 fprintf(stderr, "Runtime error: %s", "Assert failed");
8987 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11985);
8988 exit(1);
8989 }
8990 var52 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8991 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var52->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var52, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var52:AStdClassdef>*/;
8992 CHECK_NEW_parser_nodes__AStdClassdef(var52);
8993 var_pclassdefnode1 = var52;
8994 var_node_list = var_pclassdefnode1;
8995 var53 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction258> */
8996 var54 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var53) /* go_to on <var_p:Parser>*/;
8997 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var54, var_node_list) /* push on <var_p:Parser>*/;
8998 RET_LABEL:;
8999 }
9000 /* method parser#ReduceAction258#action for (self: Object, Parser) */
9001 void VIRTUAL_parser__ReduceAction258__action(val* self, val* p0) {
9002 parser__ReduceAction258__action(self, p0);
9003 RET_LABEL:;
9004 }
9005 /* method parser#ReduceAction259#action for (self: ReduceAction259, Parser) */
9006 void parser__ReduceAction259__action(val* self, val* p0) {
9007 val* var_p /* var p: Parser */;
9008 val* var /* : null */;
9009 val* var_node_list /* var node_list: nullable Object */;
9010 val* var1 /* : nullable Object */;
9011 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
9012 val* var2 /* : nullable Object */;
9013 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9014 val* var3 /* : nullable Object */;
9015 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9016 val* var4 /* : nullable Object */;
9017 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9018 val* var5 /* : nullable Object */;
9019 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9020 val* var6 /* : nullable Object */;
9021 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9022 val* var7 /* : nullable Object */;
9023 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9024 val* var8 /* : nullable Object */;
9025 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9026 val* var9 /* : nullable Object */;
9027 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9028 val* var10 /* : nullable Object */;
9029 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9030 val* var11 /* : nullable Object */;
9031 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9032 val* var12 /* : nullable Object */;
9033 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9034 val* var13 /* : Array[Object] */;
9035 val* var_listnode8 /* var listnode8: Array[Object] */;
9036 val* var14 /* : Array[Object] */;
9037 val* var_listnode16 /* var listnode16: Array[Object] */;
9038 val* var15 /* : Array[Object] */;
9039 val* var_listnode18 /* var listnode18: Array[Object] */;
9040 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9041 short int var16 /* : Bool */;
9042 int cltype;
9043 int idtype;
9044 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9045 short int var17 /* : Bool */;
9046 int cltype18;
9047 int idtype19;
9048 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9049 short int var20 /* : Bool */;
9050 int cltype21;
9051 int idtype22;
9052 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9053 short int var23 /* : Bool */;
9054 int cltype24;
9055 int idtype25;
9056 val* var_listnode7 /* var listnode7: nullable Object */;
9057 short int var26 /* : Bool */;
9058 int cltype27;
9059 int idtype28;
9060 val* var29 /* : Array[Object] */;
9061 val* var30 /* : Array[Object] */;
9062 val* var_listnode13 /* var listnode13: Array[Object] */;
9063 val* var_listnode12 /* var listnode12: nullable Object */;
9064 short int var31 /* : Bool */;
9065 int cltype32;
9066 int idtype33;
9067 val* var34 /* : Array[Object] */;
9068 val* var35 /* : AAnnotations */;
9069 val* var36 /* : null */;
9070 val* var37 /* : null */;
9071 val* var38 /* : null */;
9072 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
9073 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
9074 short int var39 /* : Bool */;
9075 int cltype40;
9076 int idtype41;
9077 val* var_listnode17 /* var listnode17: nullable Object */;
9078 short int var42 /* : Bool */;
9079 int cltype43;
9080 int idtype44;
9081 val* var45 /* : Array[Object] */;
9082 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
9083 short int var46 /* : Bool */;
9084 int cltype47;
9085 int idtype48;
9086 val* var49 /* : AStdClassdef */;
9087 val* var50 /* : null */;
9088 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9089 long var51 /* : Int */;
9090 long var52 /* : Int */;
9091 var_p = p0;
9092 var = NULL;
9093 var_node_list = var;
9094 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9095 var_nodearraylist12 = var1;
9096 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9097 var_nodearraylist11 = var2;
9098 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9099 var_nodearraylist10 = var3;
9100 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9101 var_nodearraylist9 = var4;
9102 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9103 var_nodearraylist8 = var5;
9104 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9105 var_nodearraylist7 = var6;
9106 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9107 var_nodearraylist6 = var7;
9108 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9109 var_nodearraylist5 = var8;
9110 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9111 var_nodearraylist4 = var9;
9112 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9113 var_nodearraylist3 = var10;
9114 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9115 var_nodearraylist2 = var11;
9116 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9117 var_nodearraylist1 = var12;
9118 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9119 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9120 CHECK_NEW_array__Array(var13);
9121 var_listnode8 = var13;
9122 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9123 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9124 CHECK_NEW_array__Array(var14);
9125 var_listnode16 = var14;
9126 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
9127 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
9128 CHECK_NEW_array__Array(var15);
9129 var_listnode18 = var15;
9130 var_pdocnode2 = var_nodearraylist1;
9131 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9132 cltype = type_nullable_parser_nodes__ADoc.color;
9133 idtype = type_nullable_parser_nodes__ADoc.id;
9134 if(var_pdocnode2 == NULL) {
9135 var16 = 1;
9136 } else {
9137 if(cltype >= var_pdocnode2->type->table_size) {
9138 var16 = 0;
9139 } else {
9140 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
9141 }
9142 }
9143 if (!var16) {
9144 fprintf(stderr, "Runtime error: %s", "Assert failed");
9145 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12024);
9146 exit(1);
9147 }
9148 var_pvisibilitynode4 = var_nodearraylist2;
9149 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9150 cltype18 = type_nullable_parser_nodes__AVisibility.color;
9151 idtype19 = type_nullable_parser_nodes__AVisibility.id;
9152 if(var_pvisibilitynode4 == NULL) {
9153 var17 = 1;
9154 } else {
9155 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
9156 var17 = 0;
9157 } else {
9158 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
9159 }
9160 }
9161 if (!var17) {
9162 fprintf(stderr, "Runtime error: %s", "Assert failed");
9163 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12026);
9164 exit(1);
9165 }
9166 var_pclasskindnode5 = var_nodearraylist3;
9167 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9168 cltype21 = type_nullable_parser_nodes__AClasskind.color;
9169 idtype22 = type_nullable_parser_nodes__AClasskind.id;
9170 if(var_pclasskindnode5 == NULL) {
9171 var20 = 1;
9172 } else {
9173 if(cltype21 >= var_pclasskindnode5->type->table_size) {
9174 var20 = 0;
9175 } else {
9176 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
9177 }
9178 }
9179 if (!var20) {
9180 fprintf(stderr, "Runtime error: %s", "Assert failed");
9181 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12028);
9182 exit(1);
9183 }
9184 var_tclassidnode6 = var_nodearraylist6;
9185 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9186 cltype24 = type_nullable_parser_nodes__TClassid.color;
9187 idtype25 = type_nullable_parser_nodes__TClassid.id;
9188 if(var_tclassidnode6 == NULL) {
9189 var23 = 1;
9190 } else {
9191 if(cltype24 >= var_tclassidnode6->type->table_size) {
9192 var23 = 0;
9193 } else {
9194 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
9195 }
9196 }
9197 if (!var23) {
9198 fprintf(stderr, "Runtime error: %s", "Assert failed");
9199 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12030);
9200 exit(1);
9201 }
9202 var_listnode7 = var_nodearraylist7;
9203 /* <var_listnode7:nullable Object> isa Array[Object] */
9204 cltype27 = type_array__Arraykernel__Object.color;
9205 idtype28 = type_array__Arraykernel__Object.id;
9206 if(var_listnode7 == NULL) {
9207 var26 = 0;
9208 } else {
9209 if(cltype27 >= var_listnode7->type->table_size) {
9210 var26 = 0;
9211 } else {
9212 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
9213 }
9214 }
9215 if (!var26) {
9216 fprintf(stderr, "Runtime error: %s", "Assert failed");
9217 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12032);
9218 exit(1);
9219 }
9220 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction259>*/;
9221 var_listnode8 = var29;
9222 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
9223 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
9224 CHECK_NEW_array__Array(var30);
9225 var_listnode13 = var30;
9226 var_listnode12 = var_nodearraylist8;
9227 /* <var_listnode12:nullable Object> isa Array[Object] */
9228 cltype32 = type_array__Arraykernel__Object.color;
9229 idtype33 = type_array__Arraykernel__Object.id;
9230 if(var_listnode12 == NULL) {
9231 var31 = 0;
9232 } else {
9233 if(cltype32 >= var_listnode12->type->table_size) {
9234 var31 = 0;
9235 } else {
9236 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
9237 }
9238 }
9239 if (!var31) {
9240 fprintf(stderr, "Runtime error: %s", "Assert failed");
9241 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12036);
9242 exit(1);
9243 }
9244 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction259>*/;
9245 var_listnode13 = var34;
9246 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9247 var36 = NULL;
9248 var37 = NULL;
9249 var38 = NULL;
9250 ((void (*)(val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var35, var36, var37, var_listnode13, var38) /* init_aannotations on <var35:AAnnotations>*/;
9251 CHECK_NEW_parser_nodes__AAnnotations(var35);
9252 var_pannotationsnode9 = var35;
9253 var_pexterncodeblocknode15 = var_nodearraylist9;
9254 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
9255 cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color;
9256 idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id;
9257 if(var_pexterncodeblocknode15 == NULL) {
9258 var39 = 1;
9259 } else {
9260 if(cltype40 >= var_pexterncodeblocknode15->type->table_size) {
9261 var39 = 0;
9262 } else {
9263 var39 = var_pexterncodeblocknode15->type->type_table[cltype40] == idtype41;
9264 }
9265 }
9266 if (!var39) {
9267 fprintf(stderr, "Runtime error: %s", "Assert failed");
9268 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12045);
9269 exit(1);
9270 }
9271 var_listnode17 = var_nodearraylist10;
9272 /* <var_listnode17:nullable Object> isa Array[Object] */
9273 cltype43 = type_array__Arraykernel__Object.color;
9274 idtype44 = type_array__Arraykernel__Object.id;
9275 if(var_listnode17 == NULL) {
9276 var42 = 0;
9277 } else {
9278 if(cltype43 >= var_listnode17->type->table_size) {
9279 var42 = 0;
9280 } else {
9281 var42 = var_listnode17->type->type_table[cltype43] == idtype44;
9282 }
9283 }
9284 if (!var42) {
9285 fprintf(stderr, "Runtime error: %s", "Assert failed");
9286 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12047);
9287 exit(1);
9288 }
9289 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction259>*/;
9290 var_listnode18 = var45;
9291 var_tkwendnode19 = var_nodearraylist12;
9292 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
9293 cltype47 = type_nullable_parser_nodes__TKwend.color;
9294 idtype48 = type_nullable_parser_nodes__TKwend.id;
9295 if(var_tkwendnode19 == NULL) {
9296 var46 = 1;
9297 } else {
9298 if(cltype47 >= var_tkwendnode19->type->table_size) {
9299 var46 = 0;
9300 } else {
9301 var46 = var_tkwendnode19->type->type_table[cltype47] == idtype48;
9302 }
9303 }
9304 if (!var46) {
9305 fprintf(stderr, "Runtime error: %s", "Assert failed");
9306 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12050);
9307 exit(1);
9308 }
9309 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9310 var50 = NULL;
9311 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var49->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var49, var_pdocnode2, var50, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var49:AStdClassdef>*/;
9312 CHECK_NEW_parser_nodes__AStdClassdef(var49);
9313 var_pclassdefnode1 = var49;
9314 var_node_list = var_pclassdefnode1;
9315 var51 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction259> */
9316 var52 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var51) /* go_to on <var_p:Parser>*/;
9317 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var52, var_node_list) /* push on <var_p:Parser>*/;
9318 RET_LABEL:;
9319 }
9320 /* method parser#ReduceAction259#action for (self: Object, Parser) */
9321 void VIRTUAL_parser__ReduceAction259__action(val* self, val* p0) {
9322 parser__ReduceAction259__action(self, p0);
9323 RET_LABEL:;
9324 }
9325 /* method parser#ReduceAction260#action for (self: ReduceAction260, Parser) */
9326 void parser__ReduceAction260__action(val* self, val* p0) {
9327 val* var_p /* var p: Parser */;
9328 val* var /* : null */;
9329 val* var_node_list /* var node_list: nullable Object */;
9330 val* var1 /* : nullable Object */;
9331 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
9332 val* var2 /* : nullable Object */;
9333 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
9334 val* var3 /* : nullable Object */;
9335 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9336 val* var4 /* : nullable Object */;
9337 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9338 val* var5 /* : nullable Object */;
9339 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9340 val* var6 /* : nullable Object */;
9341 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9342 val* var7 /* : nullable Object */;
9343 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9344 val* var8 /* : nullable Object */;
9345 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9346 val* var9 /* : nullable Object */;
9347 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9348 val* var10 /* : nullable Object */;
9349 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9350 val* var11 /* : nullable Object */;
9351 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9352 val* var12 /* : nullable Object */;
9353 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9354 val* var13 /* : nullable Object */;
9355 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9356 val* var14 /* : Array[Object] */;
9357 val* var_listnode8 /* var listnode8: Array[Object] */;
9358 val* var15 /* : Array[Object] */;
9359 val* var_listnode16 /* var listnode16: Array[Object] */;
9360 val* var16 /* : Array[Object] */;
9361 val* var_listnode18 /* var listnode18: Array[Object] */;
9362 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9363 short int var17 /* : Bool */;
9364 int cltype;
9365 int idtype;
9366 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9367 short int var18 /* : Bool */;
9368 int cltype19;
9369 int idtype20;
9370 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9371 short int var21 /* : Bool */;
9372 int cltype22;
9373 int idtype23;
9374 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9375 short int var24 /* : Bool */;
9376 int cltype25;
9377 int idtype26;
9378 val* var_listnode7 /* var listnode7: nullable Object */;
9379 short int var27 /* : Bool */;
9380 int cltype28;
9381 int idtype29;
9382 val* var30 /* : Array[Object] */;
9383 val* var31 /* : Array[Object] */;
9384 val* var_listnode13 /* var listnode13: Array[Object] */;
9385 val* var_listnode12 /* var listnode12: nullable Object */;
9386 short int var32 /* : Bool */;
9387 int cltype33;
9388 int idtype34;
9389 val* var35 /* : Array[Object] */;
9390 val* var36 /* : AAnnotations */;
9391 val* var37 /* : null */;
9392 val* var38 /* : null */;
9393 val* var39 /* : null */;
9394 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
9395 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
9396 short int var40 /* : Bool */;
9397 int cltype41;
9398 int idtype42;
9399 val* var_listnode17 /* var listnode17: nullable Object */;
9400 short int var43 /* : Bool */;
9401 int cltype44;
9402 int idtype45;
9403 val* var46 /* : Array[Object] */;
9404 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
9405 short int var47 /* : Bool */;
9406 int cltype48;
9407 int idtype49;
9408 val* var50 /* : AStdClassdef */;
9409 val* var51 /* : null */;
9410 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9411 long var52 /* : Int */;
9412 long var53 /* : Int */;
9413 var_p = p0;
9414 var = NULL;
9415 var_node_list = var;
9416 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9417 var_nodearraylist13 = var1;
9418 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9419 var_nodearraylist12 = var2;
9420 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9421 var_nodearraylist11 = var3;
9422 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9423 var_nodearraylist10 = var4;
9424 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9425 var_nodearraylist9 = var5;
9426 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9427 var_nodearraylist8 = var6;
9428 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9429 var_nodearraylist7 = var7;
9430 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9431 var_nodearraylist6 = var8;
9432 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9433 var_nodearraylist5 = var9;
9434 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9435 var_nodearraylist4 = var10;
9436 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9437 var_nodearraylist3 = var11;
9438 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9439 var_nodearraylist2 = var12;
9440 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9441 var_nodearraylist1 = var13;
9442 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9443 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9444 CHECK_NEW_array__Array(var14);
9445 var_listnode8 = var14;
9446 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
9447 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
9448 CHECK_NEW_array__Array(var15);
9449 var_listnode16 = var15;
9450 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
9451 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
9452 CHECK_NEW_array__Array(var16);
9453 var_listnode18 = var16;
9454 var_pdocnode2 = var_nodearraylist1;
9455 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9456 cltype = type_nullable_parser_nodes__ADoc.color;
9457 idtype = type_nullable_parser_nodes__ADoc.id;
9458 if(var_pdocnode2 == NULL) {
9459 var17 = 1;
9460 } else {
9461 if(cltype >= var_pdocnode2->type->table_size) {
9462 var17 = 0;
9463 } else {
9464 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
9465 }
9466 }
9467 if (!var17) {
9468 fprintf(stderr, "Runtime error: %s", "Assert failed");
9469 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12090);
9470 exit(1);
9471 }
9472 var_pvisibilitynode4 = var_nodearraylist2;
9473 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9474 cltype19 = type_nullable_parser_nodes__AVisibility.color;
9475 idtype20 = type_nullable_parser_nodes__AVisibility.id;
9476 if(var_pvisibilitynode4 == NULL) {
9477 var18 = 1;
9478 } else {
9479 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
9480 var18 = 0;
9481 } else {
9482 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
9483 }
9484 }
9485 if (!var18) {
9486 fprintf(stderr, "Runtime error: %s", "Assert failed");
9487 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12092);
9488 exit(1);
9489 }
9490 var_pclasskindnode5 = var_nodearraylist3;
9491 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9492 cltype22 = type_nullable_parser_nodes__AClasskind.color;
9493 idtype23 = type_nullable_parser_nodes__AClasskind.id;
9494 if(var_pclasskindnode5 == NULL) {
9495 var21 = 1;
9496 } else {
9497 if(cltype22 >= var_pclasskindnode5->type->table_size) {
9498 var21 = 0;
9499 } else {
9500 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
9501 }
9502 }
9503 if (!var21) {
9504 fprintf(stderr, "Runtime error: %s", "Assert failed");
9505 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12094);
9506 exit(1);
9507 }
9508 var_tclassidnode6 = var_nodearraylist7;
9509 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9510 cltype25 = type_nullable_parser_nodes__TClassid.color;
9511 idtype26 = type_nullable_parser_nodes__TClassid.id;
9512 if(var_tclassidnode6 == NULL) {
9513 var24 = 1;
9514 } else {
9515 if(cltype25 >= var_tclassidnode6->type->table_size) {
9516 var24 = 0;
9517 } else {
9518 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
9519 }
9520 }
9521 if (!var24) {
9522 fprintf(stderr, "Runtime error: %s", "Assert failed");
9523 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12096);
9524 exit(1);
9525 }
9526 var_listnode7 = var_nodearraylist8;
9527 /* <var_listnode7:nullable Object> isa Array[Object] */
9528 cltype28 = type_array__Arraykernel__Object.color;
9529 idtype29 = type_array__Arraykernel__Object.id;
9530 if(var_listnode7 == NULL) {
9531 var27 = 0;
9532 } else {
9533 if(cltype28 >= var_listnode7->type->table_size) {
9534 var27 = 0;
9535 } else {
9536 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
9537 }
9538 }
9539 if (!var27) {
9540 fprintf(stderr, "Runtime error: %s", "Assert failed");
9541 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12098);
9542 exit(1);
9543 }
9544 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction260>*/;
9545 var_listnode8 = var30;
9546 var31 = NEW_array__Array(&type_array__Arraykernel__Object);
9547 ((void (*)(val*))(var31->class->vft[COLOR_array__Array__init]))(var31) /* init on <var31:Array[Object]>*/;
9548 CHECK_NEW_array__Array(var31);
9549 var_listnode13 = var31;
9550 var_listnode12 = var_nodearraylist9;
9551 /* <var_listnode12:nullable Object> isa Array[Object] */
9552 cltype33 = type_array__Arraykernel__Object.color;
9553 idtype34 = type_array__Arraykernel__Object.id;
9554 if(var_listnode12 == NULL) {
9555 var32 = 0;
9556 } else {
9557 if(cltype33 >= var_listnode12->type->table_size) {
9558 var32 = 0;
9559 } else {
9560 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
9561 }
9562 }
9563 if (!var32) {
9564 fprintf(stderr, "Runtime error: %s", "Assert failed");
9565 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12102);
9566 exit(1);
9567 }
9568 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction260>*/;
9569 var_listnode13 = var35;
9570 var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9571 var37 = NULL;
9572 var38 = NULL;
9573 var39 = NULL;
9574 ((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>*/;
9575 CHECK_NEW_parser_nodes__AAnnotations(var36);
9576 var_pannotationsnode9 = var36;
9577 var_pexterncodeblocknode15 = var_nodearraylist10;
9578 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
9579 cltype41 = type_nullable_parser_nodes__AExternCodeBlock.color;
9580 idtype42 = type_nullable_parser_nodes__AExternCodeBlock.id;
9581 if(var_pexterncodeblocknode15 == NULL) {
9582 var40 = 1;
9583 } else {
9584 if(cltype41 >= var_pexterncodeblocknode15->type->table_size) {
9585 var40 = 0;
9586 } else {
9587 var40 = var_pexterncodeblocknode15->type->type_table[cltype41] == idtype42;
9588 }
9589 }
9590 if (!var40) {
9591 fprintf(stderr, "Runtime error: %s", "Assert failed");
9592 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12111);
9593 exit(1);
9594 }
9595 var_listnode17 = var_nodearraylist11;
9596 /* <var_listnode17:nullable Object> isa Array[Object] */
9597 cltype44 = type_array__Arraykernel__Object.color;
9598 idtype45 = type_array__Arraykernel__Object.id;
9599 if(var_listnode17 == NULL) {
9600 var43 = 0;
9601 } else {
9602 if(cltype44 >= var_listnode17->type->table_size) {
9603 var43 = 0;
9604 } else {
9605 var43 = var_listnode17->type->type_table[cltype44] == idtype45;
9606 }
9607 }
9608 if (!var43) {
9609 fprintf(stderr, "Runtime error: %s", "Assert failed");
9610 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12113);
9611 exit(1);
9612 }
9613 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction260>*/;
9614 var_listnode18 = var46;
9615 var_tkwendnode19 = var_nodearraylist13;
9616 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
9617 cltype48 = type_nullable_parser_nodes__TKwend.color;
9618 idtype49 = type_nullable_parser_nodes__TKwend.id;
9619 if(var_tkwendnode19 == NULL) {
9620 var47 = 1;
9621 } else {
9622 if(cltype48 >= var_tkwendnode19->type->table_size) {
9623 var47 = 0;
9624 } else {
9625 var47 = var_tkwendnode19->type->type_table[cltype48] == idtype49;
9626 }
9627 }
9628 if (!var47) {
9629 fprintf(stderr, "Runtime error: %s", "Assert failed");
9630 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12116);
9631 exit(1);
9632 }
9633 var50 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9634 var51 = NULL;
9635 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var50->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var50, var_pdocnode2, var51, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var50:AStdClassdef>*/;
9636 CHECK_NEW_parser_nodes__AStdClassdef(var50);
9637 var_pclassdefnode1 = var50;
9638 var_node_list = var_pclassdefnode1;
9639 var52 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction260> */
9640 var53 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var52) /* go_to on <var_p:Parser>*/;
9641 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var53, var_node_list) /* push on <var_p:Parser>*/;
9642 RET_LABEL:;
9643 }
9644 /* method parser#ReduceAction260#action for (self: Object, Parser) */
9645 void VIRTUAL_parser__ReduceAction260__action(val* self, val* p0) {
9646 parser__ReduceAction260__action(self, p0);
9647 RET_LABEL:;
9648 }
9649 /* method parser#ReduceAction262#action for (self: ReduceAction262, Parser) */
9650 void parser__ReduceAction262__action(val* self, val* p0) {
9651 val* var_p /* var p: Parser */;
9652 val* var /* : null */;
9653 val* var_node_list /* var node_list: nullable Object */;
9654 val* var1 /* : nullable Object */;
9655 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
9656 val* var2 /* : nullable Object */;
9657 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
9658 val* var3 /* : nullable Object */;
9659 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9660 val* var4 /* : nullable Object */;
9661 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9662 val* var5 /* : nullable Object */;
9663 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9664 val* var6 /* : nullable Object */;
9665 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9666 val* var7 /* : nullable Object */;
9667 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9668 val* var8 /* : nullable Object */;
9669 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9670 val* var9 /* : nullable Object */;
9671 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9672 val* var10 /* : nullable Object */;
9673 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9674 val* var11 /* : nullable Object */;
9675 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9676 val* var12 /* : nullable Object */;
9677 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9678 val* var13 /* : nullable Object */;
9679 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9680 val* var14 /* : Array[Object] */;
9681 val* var_listnode8 /* var listnode8: Array[Object] */;
9682 val* var15 /* : Array[Object] */;
9683 val* var_listnode16 /* var listnode16: Array[Object] */;
9684 val* var16 /* : Array[Object] */;
9685 val* var_listnode18 /* var listnode18: Array[Object] */;
9686 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9687 short int var17 /* : Bool */;
9688 int cltype;
9689 int idtype;
9690 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9691 short int var18 /* : Bool */;
9692 int cltype19;
9693 int idtype20;
9694 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9695 short int var21 /* : Bool */;
9696 int cltype22;
9697 int idtype23;
9698 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9699 short int var24 /* : Bool */;
9700 int cltype25;
9701 int idtype26;
9702 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9703 short int var27 /* : Bool */;
9704 int cltype28;
9705 int idtype29;
9706 val* var_listnode7 /* var listnode7: nullable Object */;
9707 short int var30 /* : Bool */;
9708 int cltype31;
9709 int idtype32;
9710 val* var33 /* : Array[Object] */;
9711 val* var34 /* : Array[Object] */;
9712 val* var_listnode13 /* var listnode13: Array[Object] */;
9713 val* var_listnode12 /* var listnode12: nullable Object */;
9714 short int var35 /* : Bool */;
9715 int cltype36;
9716 int idtype37;
9717 val* var38 /* : Array[Object] */;
9718 val* var39 /* : AAnnotations */;
9719 val* var40 /* : null */;
9720 val* var41 /* : null */;
9721 val* var42 /* : null */;
9722 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
9723 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
9724 short int var43 /* : Bool */;
9725 int cltype44;
9726 int idtype45;
9727 val* var_listnode17 /* var listnode17: nullable Object */;
9728 short int var46 /* : Bool */;
9729 int cltype47;
9730 int idtype48;
9731 val* var49 /* : Array[Object] */;
9732 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
9733 short int var50 /* : Bool */;
9734 int cltype51;
9735 int idtype52;
9736 val* var53 /* : AStdClassdef */;
9737 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9738 long var54 /* : Int */;
9739 long var55 /* : Int */;
9740 var_p = p0;
9741 var = NULL;
9742 var_node_list = var;
9743 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9744 var_nodearraylist13 = var1;
9745 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9746 var_nodearraylist12 = var2;
9747 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9748 var_nodearraylist11 = var3;
9749 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9750 var_nodearraylist10 = var4;
9751 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9752 var_nodearraylist9 = var5;
9753 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9754 var_nodearraylist8 = var6;
9755 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9756 var_nodearraylist7 = var7;
9757 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9758 var_nodearraylist6 = var8;
9759 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9760 var_nodearraylist5 = var9;
9761 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9762 var_nodearraylist4 = var10;
9763 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9764 var_nodearraylist3 = var11;
9765 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9766 var_nodearraylist2 = var12;
9767 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9768 var_nodearraylist1 = var13;
9769 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9770 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9771 CHECK_NEW_array__Array(var14);
9772 var_listnode8 = var14;
9773 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
9774 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
9775 CHECK_NEW_array__Array(var15);
9776 var_listnode16 = var15;
9777 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
9778 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
9779 CHECK_NEW_array__Array(var16);
9780 var_listnode18 = var16;
9781 var_pdocnode2 = var_nodearraylist1;
9782 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9783 cltype = type_nullable_parser_nodes__ADoc.color;
9784 idtype = type_nullable_parser_nodes__ADoc.id;
9785 if(var_pdocnode2 == NULL) {
9786 var17 = 1;
9787 } else {
9788 if(cltype >= var_pdocnode2->type->table_size) {
9789 var17 = 0;
9790 } else {
9791 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
9792 }
9793 }
9794 if (!var17) {
9795 fprintf(stderr, "Runtime error: %s", "Assert failed");
9796 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12156);
9797 exit(1);
9798 }
9799 var_tkwredefnode3 = var_nodearraylist2;
9800 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9801 cltype19 = type_nullable_parser_nodes__TKwredef.color;
9802 idtype20 = type_nullable_parser_nodes__TKwredef.id;
9803 if(var_tkwredefnode3 == NULL) {
9804 var18 = 1;
9805 } else {
9806 if(cltype19 >= var_tkwredefnode3->type->table_size) {
9807 var18 = 0;
9808 } else {
9809 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
9810 }
9811 }
9812 if (!var18) {
9813 fprintf(stderr, "Runtime error: %s", "Assert failed");
9814 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12158);
9815 exit(1);
9816 }
9817 var_pvisibilitynode4 = var_nodearraylist3;
9818 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9819 cltype22 = type_nullable_parser_nodes__AVisibility.color;
9820 idtype23 = type_nullable_parser_nodes__AVisibility.id;
9821 if(var_pvisibilitynode4 == NULL) {
9822 var21 = 1;
9823 } else {
9824 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
9825 var21 = 0;
9826 } else {
9827 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
9828 }
9829 }
9830 if (!var21) {
9831 fprintf(stderr, "Runtime error: %s", "Assert failed");
9832 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12160);
9833 exit(1);
9834 }
9835 var_pclasskindnode5 = var_nodearraylist4;
9836 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9837 cltype25 = type_nullable_parser_nodes__AClasskind.color;
9838 idtype26 = type_nullable_parser_nodes__AClasskind.id;
9839 if(var_pclasskindnode5 == NULL) {
9840 var24 = 1;
9841 } else {
9842 if(cltype25 >= var_pclasskindnode5->type->table_size) {
9843 var24 = 0;
9844 } else {
9845 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
9846 }
9847 }
9848 if (!var24) {
9849 fprintf(stderr, "Runtime error: %s", "Assert failed");
9850 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12162);
9851 exit(1);
9852 }
9853 var_tclassidnode6 = var_nodearraylist7;
9854 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9855 cltype28 = type_nullable_parser_nodes__TClassid.color;
9856 idtype29 = type_nullable_parser_nodes__TClassid.id;
9857 if(var_tclassidnode6 == NULL) {
9858 var27 = 1;
9859 } else {
9860 if(cltype28 >= var_tclassidnode6->type->table_size) {
9861 var27 = 0;
9862 } else {
9863 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
9864 }
9865 }
9866 if (!var27) {
9867 fprintf(stderr, "Runtime error: %s", "Assert failed");
9868 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12164);
9869 exit(1);
9870 }
9871 var_listnode7 = var_nodearraylist8;
9872 /* <var_listnode7:nullable Object> isa Array[Object] */
9873 cltype31 = type_array__Arraykernel__Object.color;
9874 idtype32 = type_array__Arraykernel__Object.id;
9875 if(var_listnode7 == NULL) {
9876 var30 = 0;
9877 } else {
9878 if(cltype31 >= var_listnode7->type->table_size) {
9879 var30 = 0;
9880 } else {
9881 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
9882 }
9883 }
9884 if (!var30) {
9885 fprintf(stderr, "Runtime error: %s", "Assert failed");
9886 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12166);
9887 exit(1);
9888 }
9889 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction262>*/;
9890 var_listnode8 = var33;
9891 var34 = NEW_array__Array(&type_array__Arraykernel__Object);
9892 ((void (*)(val*))(var34->class->vft[COLOR_array__Array__init]))(var34) /* init on <var34:Array[Object]>*/;
9893 CHECK_NEW_array__Array(var34);
9894 var_listnode13 = var34;
9895 var_listnode12 = var_nodearraylist9;
9896 /* <var_listnode12:nullable Object> isa Array[Object] */
9897 cltype36 = type_array__Arraykernel__Object.color;
9898 idtype37 = type_array__Arraykernel__Object.id;
9899 if(var_listnode12 == NULL) {
9900 var35 = 0;
9901 } else {
9902 if(cltype36 >= var_listnode12->type->table_size) {
9903 var35 = 0;
9904 } else {
9905 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
9906 }
9907 }
9908 if (!var35) {
9909 fprintf(stderr, "Runtime error: %s", "Assert failed");
9910 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12170);
9911 exit(1);
9912 }
9913 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction262>*/;
9914 var_listnode13 = var38;
9915 var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9916 var40 = NULL;
9917 var41 = NULL;
9918 var42 = NULL;
9919 ((void (*)(val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var39, var40, var41, var_listnode13, var42) /* init_aannotations on <var39:AAnnotations>*/;
9920 CHECK_NEW_parser_nodes__AAnnotations(var39);
9921 var_pannotationsnode9 = var39;
9922 var_pexterncodeblocknode15 = var_nodearraylist10;
9923 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
9924 cltype44 = type_nullable_parser_nodes__AExternCodeBlock.color;
9925 idtype45 = type_nullable_parser_nodes__AExternCodeBlock.id;
9926 if(var_pexterncodeblocknode15 == NULL) {
9927 var43 = 1;
9928 } else {
9929 if(cltype44 >= var_pexterncodeblocknode15->type->table_size) {
9930 var43 = 0;
9931 } else {
9932 var43 = var_pexterncodeblocknode15->type->type_table[cltype44] == idtype45;
9933 }
9934 }
9935 if (!var43) {
9936 fprintf(stderr, "Runtime error: %s", "Assert failed");
9937 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12179);
9938 exit(1);
9939 }
9940 var_listnode17 = var_nodearraylist11;
9941 /* <var_listnode17:nullable Object> isa Array[Object] */
9942 cltype47 = type_array__Arraykernel__Object.color;
9943 idtype48 = type_array__Arraykernel__Object.id;
9944 if(var_listnode17 == NULL) {
9945 var46 = 0;
9946 } else {
9947 if(cltype47 >= var_listnode17->type->table_size) {
9948 var46 = 0;
9949 } else {
9950 var46 = var_listnode17->type->type_table[cltype47] == idtype48;
9951 }
9952 }
9953 if (!var46) {
9954 fprintf(stderr, "Runtime error: %s", "Assert failed");
9955 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12181);
9956 exit(1);
9957 }
9958 var49 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction262>*/;
9959 var_listnode18 = var49;
9960 var_tkwendnode19 = var_nodearraylist13;
9961 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
9962 cltype51 = type_nullable_parser_nodes__TKwend.color;
9963 idtype52 = type_nullable_parser_nodes__TKwend.id;
9964 if(var_tkwendnode19 == NULL) {
9965 var50 = 1;
9966 } else {
9967 if(cltype51 >= var_tkwendnode19->type->table_size) {
9968 var50 = 0;
9969 } else {
9970 var50 = var_tkwendnode19->type->type_table[cltype51] == idtype52;
9971 }
9972 }
9973 if (!var50) {
9974 fprintf(stderr, "Runtime error: %s", "Assert failed");
9975 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12184);
9976 exit(1);
9977 }
9978 var53 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9979 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var53->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var53, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var53:AStdClassdef>*/;
9980 CHECK_NEW_parser_nodes__AStdClassdef(var53);
9981 var_pclassdefnode1 = var53;
9982 var_node_list = var_pclassdefnode1;
9983 var54 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction262> */
9984 var55 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var54) /* go_to on <var_p:Parser>*/;
9985 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var55, var_node_list) /* push on <var_p:Parser>*/;
9986 RET_LABEL:;
9987 }
9988 /* method parser#ReduceAction262#action for (self: Object, Parser) */
9989 void VIRTUAL_parser__ReduceAction262__action(val* self, val* p0) {
9990 parser__ReduceAction262__action(self, p0);
9991 RET_LABEL:;
9992 }