c_src: update for kill is
[nit.git] / c_src / parser.sep.6.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction171#action for (self: ReduceAction171, Parser) */
3 void parser__ReduceAction171__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_listnode11 /* var listnode11: Array[Object] */;
31 val* var13 /* : Array[Object] */;
32 val* var_listnode12 /* var listnode12: Array[Object] */;
33 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
34 short int var14 /* : Bool */;
35 int cltype;
36 int idtype;
37 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
38 short int var15 /* : Bool */;
39 int cltype16;
40 int idtype17;
41 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
42 short int var18 /* : Bool */;
43 int cltype19;
44 int idtype20;
45 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
46 short int var21 /* : Bool */;
47 int cltype22;
48 int idtype23;
49 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
50 short int var24 /* : Bool */;
51 int cltype25;
52 int idtype26;
53 val* var_listnode10 /* var listnode10: nullable Object */;
54 short int var27 /* : Bool */;
55 int cltype28;
56 int idtype29;
57 val* var30 /* : Array[Object] */;
58 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
59 short int var31 /* : Bool */;
60 int cltype32;
61 int idtype33;
62 val* var34 /* : AStdClassdef */;
63 val* var35 /* : null */;
64 val* var36 /* : null */;
65 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
66 long var37 /* : Int */;
67 long var38 /* : Int */;
68 var_p = p0;
69 var = NULL;
70 var_node_list = var;
71 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
72 var_nodearraylist10 = var1;
73 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
74 var_nodearraylist9 = var2;
75 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
76 var_nodearraylist8 = var3;
77 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
78 var_nodearraylist7 = var4;
79 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
80 var_nodearraylist6 = var5;
81 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
82 var_nodearraylist5 = var6;
83 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
84 var_nodearraylist4 = var7;
85 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
86 var_nodearraylist3 = var8;
87 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
88 var_nodearraylist2 = var9;
89 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
90 var_nodearraylist1 = var10;
91 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
92 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
93 CHECK_NEW_array__Array(var11);
94 var_listnode7 = var11;
95 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
96 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
97 CHECK_NEW_array__Array(var12);
98 var_listnode11 = var12;
99 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
100 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
101 CHECK_NEW_array__Array(var13);
102 var_listnode12 = var13;
103 var_pdocnode2 = var_nodearraylist1;
104 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
105 cltype = type_nullable_parser_nodes__ADoc.color;
106 idtype = type_nullable_parser_nodes__ADoc.id;
107 if(var_pdocnode2 == NULL) {
108 var14 = 1;
109 } else {
110 if(cltype >= var_pdocnode2->type->table_size) {
111 var14 = 0;
112 } else {
113 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
114 }
115 }
116 if (!var14) {
117 fprintf(stderr, "Runtime error: %s", "Assert failed");
118 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8215);
119 exit(1);
120 }
121 var_pvisibilitynode4 = var_nodearraylist2;
122 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
123 cltype16 = type_nullable_parser_nodes__AVisibility.color;
124 idtype17 = type_nullable_parser_nodes__AVisibility.id;
125 if(var_pvisibilitynode4 == NULL) {
126 var15 = 1;
127 } else {
128 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
129 var15 = 0;
130 } else {
131 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
132 }
133 }
134 if (!var15) {
135 fprintf(stderr, "Runtime error: %s", "Assert failed");
136 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8217);
137 exit(1);
138 }
139 var_pclasskindnode5 = var_nodearraylist3;
140 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
141 cltype19 = type_nullable_parser_nodes__AClasskind.color;
142 idtype20 = type_nullable_parser_nodes__AClasskind.id;
143 if(var_pclasskindnode5 == NULL) {
144 var18 = 1;
145 } else {
146 if(cltype19 >= var_pclasskindnode5->type->table_size) {
147 var18 = 0;
148 } else {
149 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
150 }
151 }
152 if (!var18) {
153 fprintf(stderr, "Runtime error: %s", "Assert failed");
154 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8219);
155 exit(1);
156 }
157 var_tclassidnode6 = var_nodearraylist6;
158 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
159 cltype22 = type_nullable_parser_nodes__TClassid.color;
160 idtype23 = type_nullable_parser_nodes__TClassid.id;
161 if(var_tclassidnode6 == NULL) {
162 var21 = 1;
163 } else {
164 if(cltype22 >= var_tclassidnode6->type->table_size) {
165 var21 = 0;
166 } else {
167 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
168 }
169 }
170 if (!var21) {
171 fprintf(stderr, "Runtime error: %s", "Assert failed");
172 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8221);
173 exit(1);
174 }
175 var_pexterncodeblocknode9 = var_nodearraylist7;
176 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
177 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
178 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
179 if(var_pexterncodeblocknode9 == NULL) {
180 var24 = 1;
181 } else {
182 if(cltype25 >= var_pexterncodeblocknode9->type->table_size) {
183 var24 = 0;
184 } else {
185 var24 = var_pexterncodeblocknode9->type->type_table[cltype25] == idtype26;
186 }
187 }
188 if (!var24) {
189 fprintf(stderr, "Runtime error: %s", "Assert failed");
190 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8223);
191 exit(1);
192 }
193 var_listnode10 = var_nodearraylist8;
194 /* <var_listnode10:nullable Object> isa Array[Object] */
195 cltype28 = type_array__Arraykernel__Object.color;
196 idtype29 = type_array__Arraykernel__Object.id;
197 if(var_listnode10 == NULL) {
198 var27 = 0;
199 } else {
200 if(cltype28 >= var_listnode10->type->table_size) {
201 var27 = 0;
202 } else {
203 var27 = var_listnode10->type->type_table[cltype28] == idtype29;
204 }
205 }
206 if (!var27) {
207 fprintf(stderr, "Runtime error: %s", "Assert failed");
208 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8225);
209 exit(1);
210 }
211 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction171>*/;
212 var_listnode11 = var30;
213 var_tkwendnode13 = var_nodearraylist10;
214 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
215 cltype32 = type_nullable_parser_nodes__TKwend.color;
216 idtype33 = type_nullable_parser_nodes__TKwend.id;
217 if(var_tkwendnode13 == NULL) {
218 var31 = 1;
219 } else {
220 if(cltype32 >= var_tkwendnode13->type->table_size) {
221 var31 = 0;
222 } else {
223 var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33;
224 }
225 }
226 if (!var31) {
227 fprintf(stderr, "Runtime error: %s", "Assert failed");
228 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8228);
229 exit(1);
230 }
231 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
232 var35 = NULL;
233 var36 = NULL;
234 ((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_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var34:AStdClassdef>*/;
235 CHECK_NEW_parser_nodes__AStdClassdef(var34);
236 var_pclassdefnode1 = var34;
237 var_node_list = var_pclassdefnode1;
238 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction171> */
239 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
240 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
241 RET_LABEL:;
242 }
243 /* method parser#ReduceAction171#action for (self: Object, Parser) */
244 void VIRTUAL_parser__ReduceAction171__action(val* self, val* p0) {
245 parser__ReduceAction171__action(self, p0);
246 RET_LABEL:;
247 }
248 /* method parser#ReduceAction172#action for (self: ReduceAction172, Parser) */
249 void parser__ReduceAction172__action(val* self, val* p0) {
250 val* var_p /* var p: Parser */;
251 val* var /* : null */;
252 val* var_node_list /* var node_list: nullable Object */;
253 val* var1 /* : nullable Object */;
254 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
255 val* var2 /* : nullable Object */;
256 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
257 val* var3 /* : nullable Object */;
258 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
259 val* var4 /* : nullable Object */;
260 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
261 val* var5 /* : nullable Object */;
262 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
263 val* var6 /* : nullable Object */;
264 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
265 val* var7 /* : nullable Object */;
266 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
267 val* var8 /* : nullable Object */;
268 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
269 val* var9 /* : nullable Object */;
270 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
271 val* var10 /* : nullable Object */;
272 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
273 val* var11 /* : nullable Object */;
274 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
275 val* var12 /* : Array[Object] */;
276 val* var_listnode7 /* var listnode7: Array[Object] */;
277 val* var13 /* : Array[Object] */;
278 val* var_listnode11 /* var listnode11: Array[Object] */;
279 val* var14 /* : Array[Object] */;
280 val* var_listnode12 /* var listnode12: Array[Object] */;
281 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
282 short int var15 /* : Bool */;
283 int cltype;
284 int idtype;
285 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
286 short int var16 /* : Bool */;
287 int cltype17;
288 int idtype18;
289 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
290 short int var19 /* : Bool */;
291 int cltype20;
292 int idtype21;
293 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
294 short int var22 /* : Bool */;
295 int cltype23;
296 int idtype24;
297 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
298 short int var25 /* : Bool */;
299 int cltype26;
300 int idtype27;
301 val* var_listnode10 /* var listnode10: nullable Object */;
302 short int var28 /* : Bool */;
303 int cltype29;
304 int idtype30;
305 val* var31 /* : Array[Object] */;
306 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
307 short int var32 /* : Bool */;
308 int cltype33;
309 int idtype34;
310 val* var35 /* : AStdClassdef */;
311 val* var36 /* : null */;
312 val* var37 /* : null */;
313 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
314 long var38 /* : Int */;
315 long var39 /* : Int */;
316 var_p = p0;
317 var = NULL;
318 var_node_list = var;
319 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
320 var_nodearraylist11 = var1;
321 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
322 var_nodearraylist10 = var2;
323 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
324 var_nodearraylist9 = var3;
325 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
326 var_nodearraylist8 = var4;
327 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
328 var_nodearraylist7 = var5;
329 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
330 var_nodearraylist6 = var6;
331 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
332 var_nodearraylist5 = var7;
333 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
334 var_nodearraylist4 = var8;
335 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
336 var_nodearraylist3 = var9;
337 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
338 var_nodearraylist2 = var10;
339 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
340 var_nodearraylist1 = var11;
341 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
342 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
343 CHECK_NEW_array__Array(var12);
344 var_listnode7 = var12;
345 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
346 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
347 CHECK_NEW_array__Array(var13);
348 var_listnode11 = var13;
349 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
350 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
351 CHECK_NEW_array__Array(var14);
352 var_listnode12 = var14;
353 var_pdocnode2 = var_nodearraylist1;
354 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
355 cltype = type_nullable_parser_nodes__ADoc.color;
356 idtype = type_nullable_parser_nodes__ADoc.id;
357 if(var_pdocnode2 == NULL) {
358 var15 = 1;
359 } else {
360 if(cltype >= var_pdocnode2->type->table_size) {
361 var15 = 0;
362 } else {
363 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
364 }
365 }
366 if (!var15) {
367 fprintf(stderr, "Runtime error: %s", "Assert failed");
368 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8266);
369 exit(1);
370 }
371 var_pvisibilitynode4 = var_nodearraylist2;
372 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
373 cltype17 = type_nullable_parser_nodes__AVisibility.color;
374 idtype18 = type_nullable_parser_nodes__AVisibility.id;
375 if(var_pvisibilitynode4 == NULL) {
376 var16 = 1;
377 } else {
378 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
379 var16 = 0;
380 } else {
381 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
382 }
383 }
384 if (!var16) {
385 fprintf(stderr, "Runtime error: %s", "Assert failed");
386 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8268);
387 exit(1);
388 }
389 var_pclasskindnode5 = var_nodearraylist3;
390 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
391 cltype20 = type_nullable_parser_nodes__AClasskind.color;
392 idtype21 = type_nullable_parser_nodes__AClasskind.id;
393 if(var_pclasskindnode5 == NULL) {
394 var19 = 1;
395 } else {
396 if(cltype20 >= var_pclasskindnode5->type->table_size) {
397 var19 = 0;
398 } else {
399 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
400 }
401 }
402 if (!var19) {
403 fprintf(stderr, "Runtime error: %s", "Assert failed");
404 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8270);
405 exit(1);
406 }
407 var_tclassidnode6 = var_nodearraylist7;
408 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
409 cltype23 = type_nullable_parser_nodes__TClassid.color;
410 idtype24 = type_nullable_parser_nodes__TClassid.id;
411 if(var_tclassidnode6 == NULL) {
412 var22 = 1;
413 } else {
414 if(cltype23 >= var_tclassidnode6->type->table_size) {
415 var22 = 0;
416 } else {
417 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
418 }
419 }
420 if (!var22) {
421 fprintf(stderr, "Runtime error: %s", "Assert failed");
422 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8272);
423 exit(1);
424 }
425 var_pexterncodeblocknode9 = var_nodearraylist8;
426 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
427 cltype26 = type_nullable_parser_nodes__AExternCodeBlock.color;
428 idtype27 = type_nullable_parser_nodes__AExternCodeBlock.id;
429 if(var_pexterncodeblocknode9 == NULL) {
430 var25 = 1;
431 } else {
432 if(cltype26 >= var_pexterncodeblocknode9->type->table_size) {
433 var25 = 0;
434 } else {
435 var25 = var_pexterncodeblocknode9->type->type_table[cltype26] == idtype27;
436 }
437 }
438 if (!var25) {
439 fprintf(stderr, "Runtime error: %s", "Assert failed");
440 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8274);
441 exit(1);
442 }
443 var_listnode10 = var_nodearraylist9;
444 /* <var_listnode10:nullable Object> isa Array[Object] */
445 cltype29 = type_array__Arraykernel__Object.color;
446 idtype30 = type_array__Arraykernel__Object.id;
447 if(var_listnode10 == NULL) {
448 var28 = 0;
449 } else {
450 if(cltype29 >= var_listnode10->type->table_size) {
451 var28 = 0;
452 } else {
453 var28 = var_listnode10->type->type_table[cltype29] == idtype30;
454 }
455 }
456 if (!var28) {
457 fprintf(stderr, "Runtime error: %s", "Assert failed");
458 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8276);
459 exit(1);
460 }
461 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction172>*/;
462 var_listnode11 = var31;
463 var_tkwendnode13 = var_nodearraylist11;
464 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
465 cltype33 = type_nullable_parser_nodes__TKwend.color;
466 idtype34 = type_nullable_parser_nodes__TKwend.id;
467 if(var_tkwendnode13 == NULL) {
468 var32 = 1;
469 } else {
470 if(cltype33 >= var_tkwendnode13->type->table_size) {
471 var32 = 0;
472 } else {
473 var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34;
474 }
475 }
476 if (!var32) {
477 fprintf(stderr, "Runtime error: %s", "Assert failed");
478 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8279);
479 exit(1);
480 }
481 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
482 var36 = NULL;
483 var37 = NULL;
484 ((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_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var35:AStdClassdef>*/;
485 CHECK_NEW_parser_nodes__AStdClassdef(var35);
486 var_pclassdefnode1 = var35;
487 var_node_list = var_pclassdefnode1;
488 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction172> */
489 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
490 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
491 RET_LABEL:;
492 }
493 /* method parser#ReduceAction172#action for (self: Object, Parser) */
494 void VIRTUAL_parser__ReduceAction172__action(val* self, val* p0) {
495 parser__ReduceAction172__action(self, p0);
496 RET_LABEL:;
497 }
498 /* method parser#ReduceAction174#action for (self: ReduceAction174, Parser) */
499 void parser__ReduceAction174__action(val* self, val* p0) {
500 val* var_p /* var p: Parser */;
501 val* var /* : null */;
502 val* var_node_list /* var node_list: nullable Object */;
503 val* var1 /* : nullable Object */;
504 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
505 val* var2 /* : nullable Object */;
506 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
507 val* var3 /* : nullable Object */;
508 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
509 val* var4 /* : nullable Object */;
510 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
511 val* var5 /* : nullable Object */;
512 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
513 val* var6 /* : nullable Object */;
514 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
515 val* var7 /* : nullable Object */;
516 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
517 val* var8 /* : nullable Object */;
518 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
519 val* var9 /* : nullable Object */;
520 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
521 val* var10 /* : nullable Object */;
522 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
523 val* var11 /* : nullable Object */;
524 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
525 val* var12 /* : Array[Object] */;
526 val* var_listnode7 /* var listnode7: Array[Object] */;
527 val* var13 /* : Array[Object] */;
528 val* var_listnode11 /* var listnode11: Array[Object] */;
529 val* var14 /* : Array[Object] */;
530 val* var_listnode12 /* var listnode12: Array[Object] */;
531 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
532 short int var15 /* : Bool */;
533 int cltype;
534 int idtype;
535 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
536 short int var16 /* : Bool */;
537 int cltype17;
538 int idtype18;
539 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
540 short int var19 /* : Bool */;
541 int cltype20;
542 int idtype21;
543 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
544 short int var22 /* : Bool */;
545 int cltype23;
546 int idtype24;
547 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
548 short int var25 /* : Bool */;
549 int cltype26;
550 int idtype27;
551 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
552 short int var28 /* : Bool */;
553 int cltype29;
554 int idtype30;
555 val* var_listnode10 /* var listnode10: nullable Object */;
556 short int var31 /* : Bool */;
557 int cltype32;
558 int idtype33;
559 val* var34 /* : Array[Object] */;
560 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
561 short int var35 /* : Bool */;
562 int cltype36;
563 int idtype37;
564 val* var38 /* : AStdClassdef */;
565 val* var39 /* : null */;
566 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
567 long var40 /* : Int */;
568 long var41 /* : Int */;
569 var_p = p0;
570 var = NULL;
571 var_node_list = var;
572 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
573 var_nodearraylist11 = var1;
574 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
575 var_nodearraylist10 = var2;
576 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
577 var_nodearraylist9 = var3;
578 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
579 var_nodearraylist8 = var4;
580 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
581 var_nodearraylist7 = var5;
582 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
583 var_nodearraylist6 = var6;
584 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
585 var_nodearraylist5 = var7;
586 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
587 var_nodearraylist4 = var8;
588 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
589 var_nodearraylist3 = var9;
590 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
591 var_nodearraylist2 = var10;
592 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
593 var_nodearraylist1 = var11;
594 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
595 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
596 CHECK_NEW_array__Array(var12);
597 var_listnode7 = var12;
598 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
599 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
600 CHECK_NEW_array__Array(var13);
601 var_listnode11 = var13;
602 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
603 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
604 CHECK_NEW_array__Array(var14);
605 var_listnode12 = var14;
606 var_pdocnode2 = var_nodearraylist1;
607 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
608 cltype = type_nullable_parser_nodes__ADoc.color;
609 idtype = type_nullable_parser_nodes__ADoc.id;
610 if(var_pdocnode2 == NULL) {
611 var15 = 1;
612 } else {
613 if(cltype >= var_pdocnode2->type->table_size) {
614 var15 = 0;
615 } else {
616 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
617 }
618 }
619 if (!var15) {
620 fprintf(stderr, "Runtime error: %s", "Assert failed");
621 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8317);
622 exit(1);
623 }
624 var_tkwredefnode3 = var_nodearraylist2;
625 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
626 cltype17 = type_nullable_parser_nodes__TKwredef.color;
627 idtype18 = type_nullable_parser_nodes__TKwredef.id;
628 if(var_tkwredefnode3 == NULL) {
629 var16 = 1;
630 } else {
631 if(cltype17 >= var_tkwredefnode3->type->table_size) {
632 var16 = 0;
633 } else {
634 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
635 }
636 }
637 if (!var16) {
638 fprintf(stderr, "Runtime error: %s", "Assert failed");
639 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8319);
640 exit(1);
641 }
642 var_pvisibilitynode4 = var_nodearraylist3;
643 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
644 cltype20 = type_nullable_parser_nodes__AVisibility.color;
645 idtype21 = type_nullable_parser_nodes__AVisibility.id;
646 if(var_pvisibilitynode4 == NULL) {
647 var19 = 1;
648 } else {
649 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
650 var19 = 0;
651 } else {
652 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
653 }
654 }
655 if (!var19) {
656 fprintf(stderr, "Runtime error: %s", "Assert failed");
657 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8321);
658 exit(1);
659 }
660 var_pclasskindnode5 = var_nodearraylist4;
661 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
662 cltype23 = type_nullable_parser_nodes__AClasskind.color;
663 idtype24 = type_nullable_parser_nodes__AClasskind.id;
664 if(var_pclasskindnode5 == NULL) {
665 var22 = 1;
666 } else {
667 if(cltype23 >= var_pclasskindnode5->type->table_size) {
668 var22 = 0;
669 } else {
670 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
671 }
672 }
673 if (!var22) {
674 fprintf(stderr, "Runtime error: %s", "Assert failed");
675 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8323);
676 exit(1);
677 }
678 var_tclassidnode6 = var_nodearraylist7;
679 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
680 cltype26 = type_nullable_parser_nodes__TClassid.color;
681 idtype27 = type_nullable_parser_nodes__TClassid.id;
682 if(var_tclassidnode6 == NULL) {
683 var25 = 1;
684 } else {
685 if(cltype26 >= var_tclassidnode6->type->table_size) {
686 var25 = 0;
687 } else {
688 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
689 }
690 }
691 if (!var25) {
692 fprintf(stderr, "Runtime error: %s", "Assert failed");
693 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8325);
694 exit(1);
695 }
696 var_pexterncodeblocknode9 = var_nodearraylist8;
697 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
698 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
699 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
700 if(var_pexterncodeblocknode9 == NULL) {
701 var28 = 1;
702 } else {
703 if(cltype29 >= var_pexterncodeblocknode9->type->table_size) {
704 var28 = 0;
705 } else {
706 var28 = var_pexterncodeblocknode9->type->type_table[cltype29] == idtype30;
707 }
708 }
709 if (!var28) {
710 fprintf(stderr, "Runtime error: %s", "Assert failed");
711 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8327);
712 exit(1);
713 }
714 var_listnode10 = var_nodearraylist9;
715 /* <var_listnode10:nullable Object> isa Array[Object] */
716 cltype32 = type_array__Arraykernel__Object.color;
717 idtype33 = type_array__Arraykernel__Object.id;
718 if(var_listnode10 == NULL) {
719 var31 = 0;
720 } else {
721 if(cltype32 >= var_listnode10->type->table_size) {
722 var31 = 0;
723 } else {
724 var31 = var_listnode10->type->type_table[cltype32] == idtype33;
725 }
726 }
727 if (!var31) {
728 fprintf(stderr, "Runtime error: %s", "Assert failed");
729 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8329);
730 exit(1);
731 }
732 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction174>*/;
733 var_listnode11 = var34;
734 var_tkwendnode13 = var_nodearraylist11;
735 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
736 cltype36 = type_nullable_parser_nodes__TKwend.color;
737 idtype37 = type_nullable_parser_nodes__TKwend.id;
738 if(var_tkwendnode13 == NULL) {
739 var35 = 1;
740 } else {
741 if(cltype36 >= var_tkwendnode13->type->table_size) {
742 var35 = 0;
743 } else {
744 var35 = var_tkwendnode13->type->type_table[cltype36] == idtype37;
745 }
746 }
747 if (!var35) {
748 fprintf(stderr, "Runtime error: %s", "Assert failed");
749 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8332);
750 exit(1);
751 }
752 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
753 var39 = NULL;
754 ((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_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var38:AStdClassdef>*/;
755 CHECK_NEW_parser_nodes__AStdClassdef(var38);
756 var_pclassdefnode1 = var38;
757 var_node_list = var_pclassdefnode1;
758 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction174> */
759 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
760 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
761 RET_LABEL:;
762 }
763 /* method parser#ReduceAction174#action for (self: Object, Parser) */
764 void VIRTUAL_parser__ReduceAction174__action(val* self, val* p0) {
765 parser__ReduceAction174__action(self, p0);
766 RET_LABEL:;
767 }
768 /* method parser#ReduceAction175#action for (self: ReduceAction175, Parser) */
769 void parser__ReduceAction175__action(val* self, val* p0) {
770 val* var_p /* var p: Parser */;
771 val* var /* : null */;
772 val* var_node_list /* var node_list: nullable Object */;
773 val* var1 /* : nullable Object */;
774 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
775 val* var2 /* : nullable Object */;
776 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
777 val* var3 /* : nullable Object */;
778 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
779 val* var4 /* : nullable Object */;
780 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
781 val* var5 /* : nullable Object */;
782 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
783 val* var6 /* : nullable Object */;
784 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
785 val* var7 /* : nullable Object */;
786 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
787 val* var8 /* : nullable Object */;
788 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
789 val* var9 /* : nullable Object */;
790 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
791 val* var10 /* : nullable Object */;
792 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
793 val* var11 /* : nullable Object */;
794 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
795 val* var12 /* : nullable Object */;
796 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
797 val* var13 /* : Array[Object] */;
798 val* var_listnode7 /* var listnode7: Array[Object] */;
799 val* var14 /* : Array[Object] */;
800 val* var_listnode11 /* var listnode11: Array[Object] */;
801 val* var15 /* : Array[Object] */;
802 val* var_listnode12 /* var listnode12: Array[Object] */;
803 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
804 short int var16 /* : Bool */;
805 int cltype;
806 int idtype;
807 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
808 short int var17 /* : Bool */;
809 int cltype18;
810 int idtype19;
811 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
812 short int var20 /* : Bool */;
813 int cltype21;
814 int idtype22;
815 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
816 short int var23 /* : Bool */;
817 int cltype24;
818 int idtype25;
819 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
820 short int var26 /* : Bool */;
821 int cltype27;
822 int idtype28;
823 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
824 short int var29 /* : Bool */;
825 int cltype30;
826 int idtype31;
827 val* var_listnode10 /* var listnode10: nullable Object */;
828 short int var32 /* : Bool */;
829 int cltype33;
830 int idtype34;
831 val* var35 /* : Array[Object] */;
832 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
833 short int var36 /* : Bool */;
834 int cltype37;
835 int idtype38;
836 val* var39 /* : AStdClassdef */;
837 val* var40 /* : null */;
838 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
839 long var41 /* : Int */;
840 long var42 /* : Int */;
841 var_p = p0;
842 var = NULL;
843 var_node_list = var;
844 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
845 var_nodearraylist12 = var1;
846 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
847 var_nodearraylist11 = var2;
848 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
849 var_nodearraylist10 = var3;
850 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
851 var_nodearraylist9 = var4;
852 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
853 var_nodearraylist8 = var5;
854 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
855 var_nodearraylist7 = var6;
856 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
857 var_nodearraylist6 = var7;
858 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
859 var_nodearraylist5 = var8;
860 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
861 var_nodearraylist4 = var9;
862 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
863 var_nodearraylist3 = var10;
864 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
865 var_nodearraylist2 = var11;
866 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
867 var_nodearraylist1 = var12;
868 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
869 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
870 CHECK_NEW_array__Array(var13);
871 var_listnode7 = var13;
872 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
873 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
874 CHECK_NEW_array__Array(var14);
875 var_listnode11 = var14;
876 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
877 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
878 CHECK_NEW_array__Array(var15);
879 var_listnode12 = var15;
880 var_pdocnode2 = var_nodearraylist1;
881 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
882 cltype = type_nullable_parser_nodes__ADoc.color;
883 idtype = type_nullable_parser_nodes__ADoc.id;
884 if(var_pdocnode2 == NULL) {
885 var16 = 1;
886 } else {
887 if(cltype >= var_pdocnode2->type->table_size) {
888 var16 = 0;
889 } else {
890 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
891 }
892 }
893 if (!var16) {
894 fprintf(stderr, "Runtime error: %s", "Assert failed");
895 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8371);
896 exit(1);
897 }
898 var_tkwredefnode3 = var_nodearraylist2;
899 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
900 cltype18 = type_nullable_parser_nodes__TKwredef.color;
901 idtype19 = type_nullable_parser_nodes__TKwredef.id;
902 if(var_tkwredefnode3 == NULL) {
903 var17 = 1;
904 } else {
905 if(cltype18 >= var_tkwredefnode3->type->table_size) {
906 var17 = 0;
907 } else {
908 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
909 }
910 }
911 if (!var17) {
912 fprintf(stderr, "Runtime error: %s", "Assert failed");
913 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8373);
914 exit(1);
915 }
916 var_pvisibilitynode4 = var_nodearraylist3;
917 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
918 cltype21 = type_nullable_parser_nodes__AVisibility.color;
919 idtype22 = type_nullable_parser_nodes__AVisibility.id;
920 if(var_pvisibilitynode4 == NULL) {
921 var20 = 1;
922 } else {
923 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
924 var20 = 0;
925 } else {
926 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
927 }
928 }
929 if (!var20) {
930 fprintf(stderr, "Runtime error: %s", "Assert failed");
931 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8375);
932 exit(1);
933 }
934 var_pclasskindnode5 = var_nodearraylist4;
935 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
936 cltype24 = type_nullable_parser_nodes__AClasskind.color;
937 idtype25 = type_nullable_parser_nodes__AClasskind.id;
938 if(var_pclasskindnode5 == NULL) {
939 var23 = 1;
940 } else {
941 if(cltype24 >= var_pclasskindnode5->type->table_size) {
942 var23 = 0;
943 } else {
944 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
945 }
946 }
947 if (!var23) {
948 fprintf(stderr, "Runtime error: %s", "Assert failed");
949 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8377);
950 exit(1);
951 }
952 var_tclassidnode6 = var_nodearraylist8;
953 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
954 cltype27 = type_nullable_parser_nodes__TClassid.color;
955 idtype28 = type_nullable_parser_nodes__TClassid.id;
956 if(var_tclassidnode6 == NULL) {
957 var26 = 1;
958 } else {
959 if(cltype27 >= var_tclassidnode6->type->table_size) {
960 var26 = 0;
961 } else {
962 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
963 }
964 }
965 if (!var26) {
966 fprintf(stderr, "Runtime error: %s", "Assert failed");
967 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8379);
968 exit(1);
969 }
970 var_pexterncodeblocknode9 = var_nodearraylist9;
971 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
972 cltype30 = type_nullable_parser_nodes__AExternCodeBlock.color;
973 idtype31 = type_nullable_parser_nodes__AExternCodeBlock.id;
974 if(var_pexterncodeblocknode9 == NULL) {
975 var29 = 1;
976 } else {
977 if(cltype30 >= var_pexterncodeblocknode9->type->table_size) {
978 var29 = 0;
979 } else {
980 var29 = var_pexterncodeblocknode9->type->type_table[cltype30] == idtype31;
981 }
982 }
983 if (!var29) {
984 fprintf(stderr, "Runtime error: %s", "Assert failed");
985 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8381);
986 exit(1);
987 }
988 var_listnode10 = var_nodearraylist10;
989 /* <var_listnode10:nullable Object> isa Array[Object] */
990 cltype33 = type_array__Arraykernel__Object.color;
991 idtype34 = type_array__Arraykernel__Object.id;
992 if(var_listnode10 == NULL) {
993 var32 = 0;
994 } else {
995 if(cltype33 >= var_listnode10->type->table_size) {
996 var32 = 0;
997 } else {
998 var32 = var_listnode10->type->type_table[cltype33] == idtype34;
999 }
1000 }
1001 if (!var32) {
1002 fprintf(stderr, "Runtime error: %s", "Assert failed");
1003 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8383);
1004 exit(1);
1005 }
1006 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction175>*/;
1007 var_listnode11 = var35;
1008 var_tkwendnode13 = var_nodearraylist12;
1009 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
1010 cltype37 = type_nullable_parser_nodes__TKwend.color;
1011 idtype38 = type_nullable_parser_nodes__TKwend.id;
1012 if(var_tkwendnode13 == NULL) {
1013 var36 = 1;
1014 } else {
1015 if(cltype37 >= var_tkwendnode13->type->table_size) {
1016 var36 = 0;
1017 } else {
1018 var36 = var_tkwendnode13->type->type_table[cltype37] == idtype38;
1019 }
1020 }
1021 if (!var36) {
1022 fprintf(stderr, "Runtime error: %s", "Assert failed");
1023 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8386);
1024 exit(1);
1025 }
1026 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1027 var40 = NULL;
1028 ((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_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var39:AStdClassdef>*/;
1029 CHECK_NEW_parser_nodes__AStdClassdef(var39);
1030 var_pclassdefnode1 = var39;
1031 var_node_list = var_pclassdefnode1;
1032 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction175> */
1033 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
1034 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
1035 RET_LABEL:;
1036 }
1037 /* method parser#ReduceAction175#action for (self: Object, Parser) */
1038 void VIRTUAL_parser__ReduceAction175__action(val* self, val* p0) {
1039 parser__ReduceAction175__action(self, p0);
1040 RET_LABEL:;
1041 }
1042 /* method parser#ReduceAction177#action for (self: ReduceAction177, Parser) */
1043 void parser__ReduceAction177__action(val* self, val* p0) {
1044 val* var_p /* var p: Parser */;
1045 val* var /* : null */;
1046 val* var_node_list /* var node_list: nullable Object */;
1047 val* var1 /* : nullable Object */;
1048 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1049 val* var2 /* : nullable Object */;
1050 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1051 val* var3 /* : nullable Object */;
1052 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1053 val* var4 /* : nullable Object */;
1054 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1055 val* var5 /* : nullable Object */;
1056 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1057 val* var6 /* : nullable Object */;
1058 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1059 val* var7 /* : nullable Object */;
1060 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1061 val* var8 /* : nullable Object */;
1062 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1063 val* var9 /* : nullable Object */;
1064 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1065 val* var10 /* : nullable Object */;
1066 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1067 val* var11 /* : Array[Object] */;
1068 val* var_listnode8 /* var listnode8: Array[Object] */;
1069 val* var12 /* : Array[Object] */;
1070 val* var_listnode12 /* var listnode12: Array[Object] */;
1071 val* var13 /* : Array[Object] */;
1072 val* var_listnode13 /* var listnode13: Array[Object] */;
1073 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1074 short int var14 /* : Bool */;
1075 int cltype;
1076 int idtype;
1077 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1078 short int var15 /* : Bool */;
1079 int cltype16;
1080 int idtype17;
1081 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1082 short int var18 /* : Bool */;
1083 int cltype19;
1084 int idtype20;
1085 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1086 short int var21 /* : Bool */;
1087 int cltype22;
1088 int idtype23;
1089 val* var_listnode7 /* var listnode7: nullable Object */;
1090 short int var24 /* : Bool */;
1091 int cltype25;
1092 int idtype26;
1093 val* var27 /* : Array[Object] */;
1094 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1095 short int var28 /* : Bool */;
1096 int cltype29;
1097 int idtype30;
1098 val* var_listnode11 /* var listnode11: nullable Object */;
1099 short int var31 /* : Bool */;
1100 int cltype32;
1101 int idtype33;
1102 val* var34 /* : Array[Object] */;
1103 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
1104 short int var35 /* : Bool */;
1105 int cltype36;
1106 int idtype37;
1107 val* var38 /* : AStdClassdef */;
1108 val* var39 /* : null */;
1109 val* var40 /* : null */;
1110 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1111 long var41 /* : Int */;
1112 long var42 /* : Int */;
1113 var_p = p0;
1114 var = NULL;
1115 var_node_list = var;
1116 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1117 var_nodearraylist10 = var1;
1118 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1119 var_nodearraylist9 = var2;
1120 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1121 var_nodearraylist8 = var3;
1122 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1123 var_nodearraylist7 = var4;
1124 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1125 var_nodearraylist6 = var5;
1126 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1127 var_nodearraylist5 = var6;
1128 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1129 var_nodearraylist4 = var7;
1130 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1131 var_nodearraylist3 = var8;
1132 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1133 var_nodearraylist2 = var9;
1134 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1135 var_nodearraylist1 = var10;
1136 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1137 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1138 CHECK_NEW_array__Array(var11);
1139 var_listnode8 = var11;
1140 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1141 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1142 CHECK_NEW_array__Array(var12);
1143 var_listnode12 = var12;
1144 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1145 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1146 CHECK_NEW_array__Array(var13);
1147 var_listnode13 = var13;
1148 var_pdocnode2 = var_nodearraylist1;
1149 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1150 cltype = type_nullable_parser_nodes__ADoc.color;
1151 idtype = type_nullable_parser_nodes__ADoc.id;
1152 if(var_pdocnode2 == NULL) {
1153 var14 = 1;
1154 } else {
1155 if(cltype >= var_pdocnode2->type->table_size) {
1156 var14 = 0;
1157 } else {
1158 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
1159 }
1160 }
1161 if (!var14) {
1162 fprintf(stderr, "Runtime error: %s", "Assert failed");
1163 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8423);
1164 exit(1);
1165 }
1166 var_pvisibilitynode4 = var_nodearraylist2;
1167 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1168 cltype16 = type_nullable_parser_nodes__AVisibility.color;
1169 idtype17 = type_nullable_parser_nodes__AVisibility.id;
1170 if(var_pvisibilitynode4 == NULL) {
1171 var15 = 1;
1172 } else {
1173 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
1174 var15 = 0;
1175 } else {
1176 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
1177 }
1178 }
1179 if (!var15) {
1180 fprintf(stderr, "Runtime error: %s", "Assert failed");
1181 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8425);
1182 exit(1);
1183 }
1184 var_pclasskindnode5 = var_nodearraylist3;
1185 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1186 cltype19 = type_nullable_parser_nodes__AClasskind.color;
1187 idtype20 = type_nullable_parser_nodes__AClasskind.id;
1188 if(var_pclasskindnode5 == NULL) {
1189 var18 = 1;
1190 } else {
1191 if(cltype19 >= var_pclasskindnode5->type->table_size) {
1192 var18 = 0;
1193 } else {
1194 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
1195 }
1196 }
1197 if (!var18) {
1198 fprintf(stderr, "Runtime error: %s", "Assert failed");
1199 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8427);
1200 exit(1);
1201 }
1202 var_tclassidnode6 = var_nodearraylist5;
1203 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1204 cltype22 = type_nullable_parser_nodes__TClassid.color;
1205 idtype23 = type_nullable_parser_nodes__TClassid.id;
1206 if(var_tclassidnode6 == NULL) {
1207 var21 = 1;
1208 } else {
1209 if(cltype22 >= var_tclassidnode6->type->table_size) {
1210 var21 = 0;
1211 } else {
1212 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
1213 }
1214 }
1215 if (!var21) {
1216 fprintf(stderr, "Runtime error: %s", "Assert failed");
1217 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8429);
1218 exit(1);
1219 }
1220 var_listnode7 = var_nodearraylist6;
1221 /* <var_listnode7:nullable Object> isa Array[Object] */
1222 cltype25 = type_array__Arraykernel__Object.color;
1223 idtype26 = type_array__Arraykernel__Object.id;
1224 if(var_listnode7 == NULL) {
1225 var24 = 0;
1226 } else {
1227 if(cltype25 >= var_listnode7->type->table_size) {
1228 var24 = 0;
1229 } else {
1230 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
1231 }
1232 }
1233 if (!var24) {
1234 fprintf(stderr, "Runtime error: %s", "Assert failed");
1235 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8431);
1236 exit(1);
1237 }
1238 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction177>*/;
1239 var_listnode8 = var27;
1240 var_pexterncodeblocknode10 = var_nodearraylist7;
1241 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1242 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
1243 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
1244 if(var_pexterncodeblocknode10 == NULL) {
1245 var28 = 1;
1246 } else {
1247 if(cltype29 >= var_pexterncodeblocknode10->type->table_size) {
1248 var28 = 0;
1249 } else {
1250 var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30;
1251 }
1252 }
1253 if (!var28) {
1254 fprintf(stderr, "Runtime error: %s", "Assert failed");
1255 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8434);
1256 exit(1);
1257 }
1258 var_listnode11 = var_nodearraylist8;
1259 /* <var_listnode11:nullable Object> isa Array[Object] */
1260 cltype32 = type_array__Arraykernel__Object.color;
1261 idtype33 = type_array__Arraykernel__Object.id;
1262 if(var_listnode11 == NULL) {
1263 var31 = 0;
1264 } else {
1265 if(cltype32 >= var_listnode11->type->table_size) {
1266 var31 = 0;
1267 } else {
1268 var31 = var_listnode11->type->type_table[cltype32] == idtype33;
1269 }
1270 }
1271 if (!var31) {
1272 fprintf(stderr, "Runtime error: %s", "Assert failed");
1273 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8436);
1274 exit(1);
1275 }
1276 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction177>*/;
1277 var_listnode12 = var34;
1278 var_tkwendnode14 = var_nodearraylist10;
1279 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
1280 cltype36 = type_nullable_parser_nodes__TKwend.color;
1281 idtype37 = type_nullable_parser_nodes__TKwend.id;
1282 if(var_tkwendnode14 == NULL) {
1283 var35 = 1;
1284 } else {
1285 if(cltype36 >= var_tkwendnode14->type->table_size) {
1286 var35 = 0;
1287 } else {
1288 var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37;
1289 }
1290 }
1291 if (!var35) {
1292 fprintf(stderr, "Runtime error: %s", "Assert failed");
1293 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8439);
1294 exit(1);
1295 }
1296 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1297 var39 = NULL;
1298 var40 = NULL;
1299 ((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_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var38:AStdClassdef>*/;
1300 CHECK_NEW_parser_nodes__AStdClassdef(var38);
1301 var_pclassdefnode1 = var38;
1302 var_node_list = var_pclassdefnode1;
1303 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction177> */
1304 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
1305 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
1306 RET_LABEL:;
1307 }
1308 /* method parser#ReduceAction177#action for (self: Object, Parser) */
1309 void VIRTUAL_parser__ReduceAction177__action(val* self, val* p0) {
1310 parser__ReduceAction177__action(self, p0);
1311 RET_LABEL:;
1312 }
1313 /* method parser#ReduceAction178#action for (self: ReduceAction178, Parser) */
1314 void parser__ReduceAction178__action(val* self, val* p0) {
1315 val* var_p /* var p: Parser */;
1316 val* var /* : null */;
1317 val* var_node_list /* var node_list: nullable Object */;
1318 val* var1 /* : nullable Object */;
1319 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1320 val* var2 /* : nullable Object */;
1321 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1322 val* var3 /* : nullable Object */;
1323 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1324 val* var4 /* : nullable Object */;
1325 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1326 val* var5 /* : nullable Object */;
1327 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1328 val* var6 /* : nullable Object */;
1329 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1330 val* var7 /* : nullable Object */;
1331 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1332 val* var8 /* : nullable Object */;
1333 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1334 val* var9 /* : nullable Object */;
1335 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1336 val* var10 /* : nullable Object */;
1337 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1338 val* var11 /* : nullable Object */;
1339 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1340 val* var12 /* : Array[Object] */;
1341 val* var_listnode8 /* var listnode8: Array[Object] */;
1342 val* var13 /* : Array[Object] */;
1343 val* var_listnode12 /* var listnode12: Array[Object] */;
1344 val* var14 /* : Array[Object] */;
1345 val* var_listnode13 /* var listnode13: Array[Object] */;
1346 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1347 short int var15 /* : Bool */;
1348 int cltype;
1349 int idtype;
1350 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1351 short int var16 /* : Bool */;
1352 int cltype17;
1353 int idtype18;
1354 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1355 short int var19 /* : Bool */;
1356 int cltype20;
1357 int idtype21;
1358 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1359 short int var22 /* : Bool */;
1360 int cltype23;
1361 int idtype24;
1362 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1363 short int var25 /* : Bool */;
1364 int cltype26;
1365 int idtype27;
1366 val* var_listnode7 /* var listnode7: nullable Object */;
1367 short int var28 /* : Bool */;
1368 int cltype29;
1369 int idtype30;
1370 val* var31 /* : Array[Object] */;
1371 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1372 short int var32 /* : Bool */;
1373 int cltype33;
1374 int idtype34;
1375 val* var_listnode11 /* var listnode11: nullable Object */;
1376 short int var35 /* : Bool */;
1377 int cltype36;
1378 int idtype37;
1379 val* var38 /* : Array[Object] */;
1380 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
1381 short int var39 /* : Bool */;
1382 int cltype40;
1383 int idtype41;
1384 val* var42 /* : AStdClassdef */;
1385 val* var43 /* : null */;
1386 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1387 long var44 /* : Int */;
1388 long var45 /* : Int */;
1389 var_p = p0;
1390 var = NULL;
1391 var_node_list = var;
1392 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1393 var_nodearraylist11 = var1;
1394 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1395 var_nodearraylist10 = var2;
1396 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1397 var_nodearraylist9 = var3;
1398 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1399 var_nodearraylist8 = var4;
1400 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1401 var_nodearraylist7 = var5;
1402 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1403 var_nodearraylist6 = var6;
1404 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1405 var_nodearraylist5 = var7;
1406 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1407 var_nodearraylist4 = var8;
1408 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1409 var_nodearraylist3 = var9;
1410 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1411 var_nodearraylist2 = var10;
1412 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1413 var_nodearraylist1 = var11;
1414 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1415 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1416 CHECK_NEW_array__Array(var12);
1417 var_listnode8 = var12;
1418 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1419 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1420 CHECK_NEW_array__Array(var13);
1421 var_listnode12 = var13;
1422 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1423 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1424 CHECK_NEW_array__Array(var14);
1425 var_listnode13 = var14;
1426 var_pdocnode2 = var_nodearraylist1;
1427 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1428 cltype = type_nullable_parser_nodes__ADoc.color;
1429 idtype = type_nullable_parser_nodes__ADoc.id;
1430 if(var_pdocnode2 == NULL) {
1431 var15 = 1;
1432 } else {
1433 if(cltype >= var_pdocnode2->type->table_size) {
1434 var15 = 0;
1435 } else {
1436 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
1437 }
1438 }
1439 if (!var15) {
1440 fprintf(stderr, "Runtime error: %s", "Assert failed");
1441 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8477);
1442 exit(1);
1443 }
1444 var_tkwredefnode3 = var_nodearraylist2;
1445 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1446 cltype17 = type_nullable_parser_nodes__TKwredef.color;
1447 idtype18 = type_nullable_parser_nodes__TKwredef.id;
1448 if(var_tkwredefnode3 == NULL) {
1449 var16 = 1;
1450 } else {
1451 if(cltype17 >= var_tkwredefnode3->type->table_size) {
1452 var16 = 0;
1453 } else {
1454 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
1455 }
1456 }
1457 if (!var16) {
1458 fprintf(stderr, "Runtime error: %s", "Assert failed");
1459 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8479);
1460 exit(1);
1461 }
1462 var_pvisibilitynode4 = var_nodearraylist3;
1463 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1464 cltype20 = type_nullable_parser_nodes__AVisibility.color;
1465 idtype21 = type_nullable_parser_nodes__AVisibility.id;
1466 if(var_pvisibilitynode4 == NULL) {
1467 var19 = 1;
1468 } else {
1469 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
1470 var19 = 0;
1471 } else {
1472 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
1473 }
1474 }
1475 if (!var19) {
1476 fprintf(stderr, "Runtime error: %s", "Assert failed");
1477 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8481);
1478 exit(1);
1479 }
1480 var_pclasskindnode5 = var_nodearraylist4;
1481 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1482 cltype23 = type_nullable_parser_nodes__AClasskind.color;
1483 idtype24 = type_nullable_parser_nodes__AClasskind.id;
1484 if(var_pclasskindnode5 == NULL) {
1485 var22 = 1;
1486 } else {
1487 if(cltype23 >= var_pclasskindnode5->type->table_size) {
1488 var22 = 0;
1489 } else {
1490 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
1491 }
1492 }
1493 if (!var22) {
1494 fprintf(stderr, "Runtime error: %s", "Assert failed");
1495 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8483);
1496 exit(1);
1497 }
1498 var_tclassidnode6 = var_nodearraylist6;
1499 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1500 cltype26 = type_nullable_parser_nodes__TClassid.color;
1501 idtype27 = type_nullable_parser_nodes__TClassid.id;
1502 if(var_tclassidnode6 == NULL) {
1503 var25 = 1;
1504 } else {
1505 if(cltype26 >= var_tclassidnode6->type->table_size) {
1506 var25 = 0;
1507 } else {
1508 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
1509 }
1510 }
1511 if (!var25) {
1512 fprintf(stderr, "Runtime error: %s", "Assert failed");
1513 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8485);
1514 exit(1);
1515 }
1516 var_listnode7 = var_nodearraylist7;
1517 /* <var_listnode7:nullable Object> isa Array[Object] */
1518 cltype29 = type_array__Arraykernel__Object.color;
1519 idtype30 = type_array__Arraykernel__Object.id;
1520 if(var_listnode7 == NULL) {
1521 var28 = 0;
1522 } else {
1523 if(cltype29 >= var_listnode7->type->table_size) {
1524 var28 = 0;
1525 } else {
1526 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
1527 }
1528 }
1529 if (!var28) {
1530 fprintf(stderr, "Runtime error: %s", "Assert failed");
1531 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8487);
1532 exit(1);
1533 }
1534 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction178>*/;
1535 var_listnode8 = var31;
1536 var_pexterncodeblocknode10 = var_nodearraylist8;
1537 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1538 cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color;
1539 idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id;
1540 if(var_pexterncodeblocknode10 == NULL) {
1541 var32 = 1;
1542 } else {
1543 if(cltype33 >= var_pexterncodeblocknode10->type->table_size) {
1544 var32 = 0;
1545 } else {
1546 var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34;
1547 }
1548 }
1549 if (!var32) {
1550 fprintf(stderr, "Runtime error: %s", "Assert failed");
1551 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8490);
1552 exit(1);
1553 }
1554 var_listnode11 = var_nodearraylist9;
1555 /* <var_listnode11:nullable Object> isa Array[Object] */
1556 cltype36 = type_array__Arraykernel__Object.color;
1557 idtype37 = type_array__Arraykernel__Object.id;
1558 if(var_listnode11 == NULL) {
1559 var35 = 0;
1560 } else {
1561 if(cltype36 >= var_listnode11->type->table_size) {
1562 var35 = 0;
1563 } else {
1564 var35 = var_listnode11->type->type_table[cltype36] == idtype37;
1565 }
1566 }
1567 if (!var35) {
1568 fprintf(stderr, "Runtime error: %s", "Assert failed");
1569 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8492);
1570 exit(1);
1571 }
1572 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction178>*/;
1573 var_listnode12 = var38;
1574 var_tkwendnode14 = var_nodearraylist11;
1575 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
1576 cltype40 = type_nullable_parser_nodes__TKwend.color;
1577 idtype41 = type_nullable_parser_nodes__TKwend.id;
1578 if(var_tkwendnode14 == NULL) {
1579 var39 = 1;
1580 } else {
1581 if(cltype40 >= var_tkwendnode14->type->table_size) {
1582 var39 = 0;
1583 } else {
1584 var39 = var_tkwendnode14->type->type_table[cltype40] == idtype41;
1585 }
1586 }
1587 if (!var39) {
1588 fprintf(stderr, "Runtime error: %s", "Assert failed");
1589 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8495);
1590 exit(1);
1591 }
1592 var42 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1593 var43 = NULL;
1594 ((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_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var42:AStdClassdef>*/;
1595 CHECK_NEW_parser_nodes__AStdClassdef(var42);
1596 var_pclassdefnode1 = var42;
1597 var_node_list = var_pclassdefnode1;
1598 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction178> */
1599 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
1600 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
1601 RET_LABEL:;
1602 }
1603 /* method parser#ReduceAction178#action for (self: Object, Parser) */
1604 void VIRTUAL_parser__ReduceAction178__action(val* self, val* p0) {
1605 parser__ReduceAction178__action(self, p0);
1606 RET_LABEL:;
1607 }
1608 /* method parser#ReduceAction179#action for (self: ReduceAction179, Parser) */
1609 void parser__ReduceAction179__action(val* self, val* p0) {
1610 val* var_p /* var p: Parser */;
1611 val* var /* : null */;
1612 val* var_node_list /* var node_list: nullable Object */;
1613 val* var1 /* : nullable Object */;
1614 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1615 val* var2 /* : nullable Object */;
1616 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1617 val* var3 /* : nullable Object */;
1618 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1619 val* var4 /* : nullable Object */;
1620 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1621 val* var5 /* : nullable Object */;
1622 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1623 val* var6 /* : nullable Object */;
1624 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1625 val* var7 /* : nullable Object */;
1626 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1627 val* var8 /* : nullable Object */;
1628 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1629 val* var9 /* : nullable Object */;
1630 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1631 val* var10 /* : nullable Object */;
1632 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1633 val* var11 /* : nullable Object */;
1634 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1635 val* var12 /* : Array[Object] */;
1636 val* var_listnode8 /* var listnode8: Array[Object] */;
1637 val* var13 /* : Array[Object] */;
1638 val* var_listnode12 /* var listnode12: Array[Object] */;
1639 val* var14 /* : Array[Object] */;
1640 val* var_listnode13 /* var listnode13: Array[Object] */;
1641 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1642 short int var15 /* : Bool */;
1643 int cltype;
1644 int idtype;
1645 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1646 short int var16 /* : Bool */;
1647 int cltype17;
1648 int idtype18;
1649 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1650 short int var19 /* : Bool */;
1651 int cltype20;
1652 int idtype21;
1653 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1654 short int var22 /* : Bool */;
1655 int cltype23;
1656 int idtype24;
1657 val* var_listnode7 /* var listnode7: nullable Object */;
1658 short int var25 /* : Bool */;
1659 int cltype26;
1660 int idtype27;
1661 val* var28 /* : Array[Object] */;
1662 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1663 short int var29 /* : Bool */;
1664 int cltype30;
1665 int idtype31;
1666 val* var_listnode11 /* var listnode11: nullable Object */;
1667 short int var32 /* : Bool */;
1668 int cltype33;
1669 int idtype34;
1670 val* var35 /* : Array[Object] */;
1671 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
1672 short int var36 /* : Bool */;
1673 int cltype37;
1674 int idtype38;
1675 val* var39 /* : AStdClassdef */;
1676 val* var40 /* : null */;
1677 val* var41 /* : null */;
1678 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1679 long var42 /* : Int */;
1680 long var43 /* : Int */;
1681 var_p = p0;
1682 var = NULL;
1683 var_node_list = var;
1684 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1685 var_nodearraylist11 = var1;
1686 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1687 var_nodearraylist10 = var2;
1688 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1689 var_nodearraylist9 = var3;
1690 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1691 var_nodearraylist8 = var4;
1692 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1693 var_nodearraylist7 = var5;
1694 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1695 var_nodearraylist6 = var6;
1696 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1697 var_nodearraylist5 = var7;
1698 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1699 var_nodearraylist4 = var8;
1700 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1701 var_nodearraylist3 = var9;
1702 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1703 var_nodearraylist2 = var10;
1704 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1705 var_nodearraylist1 = var11;
1706 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1707 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1708 CHECK_NEW_array__Array(var12);
1709 var_listnode8 = var12;
1710 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1711 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1712 CHECK_NEW_array__Array(var13);
1713 var_listnode12 = var13;
1714 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1715 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1716 CHECK_NEW_array__Array(var14);
1717 var_listnode13 = var14;
1718 var_pdocnode2 = var_nodearraylist1;
1719 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1720 cltype = type_nullable_parser_nodes__ADoc.color;
1721 idtype = type_nullable_parser_nodes__ADoc.id;
1722 if(var_pdocnode2 == NULL) {
1723 var15 = 1;
1724 } else {
1725 if(cltype >= var_pdocnode2->type->table_size) {
1726 var15 = 0;
1727 } else {
1728 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
1729 }
1730 }
1731 if (!var15) {
1732 fprintf(stderr, "Runtime error: %s", "Assert failed");
1733 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8533);
1734 exit(1);
1735 }
1736 var_pvisibilitynode4 = var_nodearraylist2;
1737 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1738 cltype17 = type_nullable_parser_nodes__AVisibility.color;
1739 idtype18 = type_nullable_parser_nodes__AVisibility.id;
1740 if(var_pvisibilitynode4 == NULL) {
1741 var16 = 1;
1742 } else {
1743 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
1744 var16 = 0;
1745 } else {
1746 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
1747 }
1748 }
1749 if (!var16) {
1750 fprintf(stderr, "Runtime error: %s", "Assert failed");
1751 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8535);
1752 exit(1);
1753 }
1754 var_pclasskindnode5 = var_nodearraylist3;
1755 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1756 cltype20 = type_nullable_parser_nodes__AClasskind.color;
1757 idtype21 = type_nullable_parser_nodes__AClasskind.id;
1758 if(var_pclasskindnode5 == NULL) {
1759 var19 = 1;
1760 } else {
1761 if(cltype20 >= var_pclasskindnode5->type->table_size) {
1762 var19 = 0;
1763 } else {
1764 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
1765 }
1766 }
1767 if (!var19) {
1768 fprintf(stderr, "Runtime error: %s", "Assert failed");
1769 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8537);
1770 exit(1);
1771 }
1772 var_tclassidnode6 = var_nodearraylist6;
1773 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1774 cltype23 = type_nullable_parser_nodes__TClassid.color;
1775 idtype24 = type_nullable_parser_nodes__TClassid.id;
1776 if(var_tclassidnode6 == NULL) {
1777 var22 = 1;
1778 } else {
1779 if(cltype23 >= var_tclassidnode6->type->table_size) {
1780 var22 = 0;
1781 } else {
1782 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
1783 }
1784 }
1785 if (!var22) {
1786 fprintf(stderr, "Runtime error: %s", "Assert failed");
1787 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8539);
1788 exit(1);
1789 }
1790 var_listnode7 = var_nodearraylist7;
1791 /* <var_listnode7:nullable Object> isa Array[Object] */
1792 cltype26 = type_array__Arraykernel__Object.color;
1793 idtype27 = type_array__Arraykernel__Object.id;
1794 if(var_listnode7 == NULL) {
1795 var25 = 0;
1796 } else {
1797 if(cltype26 >= var_listnode7->type->table_size) {
1798 var25 = 0;
1799 } else {
1800 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
1801 }
1802 }
1803 if (!var25) {
1804 fprintf(stderr, "Runtime error: %s", "Assert failed");
1805 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8541);
1806 exit(1);
1807 }
1808 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction179>*/;
1809 var_listnode8 = var28;
1810 var_pexterncodeblocknode10 = var_nodearraylist8;
1811 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1812 cltype30 = type_nullable_parser_nodes__AExternCodeBlock.color;
1813 idtype31 = type_nullable_parser_nodes__AExternCodeBlock.id;
1814 if(var_pexterncodeblocknode10 == NULL) {
1815 var29 = 1;
1816 } else {
1817 if(cltype30 >= var_pexterncodeblocknode10->type->table_size) {
1818 var29 = 0;
1819 } else {
1820 var29 = var_pexterncodeblocknode10->type->type_table[cltype30] == idtype31;
1821 }
1822 }
1823 if (!var29) {
1824 fprintf(stderr, "Runtime error: %s", "Assert failed");
1825 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8544);
1826 exit(1);
1827 }
1828 var_listnode11 = var_nodearraylist9;
1829 /* <var_listnode11:nullable Object> isa Array[Object] */
1830 cltype33 = type_array__Arraykernel__Object.color;
1831 idtype34 = type_array__Arraykernel__Object.id;
1832 if(var_listnode11 == NULL) {
1833 var32 = 0;
1834 } else {
1835 if(cltype33 >= var_listnode11->type->table_size) {
1836 var32 = 0;
1837 } else {
1838 var32 = var_listnode11->type->type_table[cltype33] == idtype34;
1839 }
1840 }
1841 if (!var32) {
1842 fprintf(stderr, "Runtime error: %s", "Assert failed");
1843 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8546);
1844 exit(1);
1845 }
1846 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction179>*/;
1847 var_listnode12 = var35;
1848 var_tkwendnode14 = var_nodearraylist11;
1849 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
1850 cltype37 = type_nullable_parser_nodes__TKwend.color;
1851 idtype38 = type_nullable_parser_nodes__TKwend.id;
1852 if(var_tkwendnode14 == NULL) {
1853 var36 = 1;
1854 } else {
1855 if(cltype37 >= var_tkwendnode14->type->table_size) {
1856 var36 = 0;
1857 } else {
1858 var36 = var_tkwendnode14->type->type_table[cltype37] == idtype38;
1859 }
1860 }
1861 if (!var36) {
1862 fprintf(stderr, "Runtime error: %s", "Assert failed");
1863 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8549);
1864 exit(1);
1865 }
1866 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1867 var40 = NULL;
1868 var41 = NULL;
1869 ((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_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var39:AStdClassdef>*/;
1870 CHECK_NEW_parser_nodes__AStdClassdef(var39);
1871 var_pclassdefnode1 = var39;
1872 var_node_list = var_pclassdefnode1;
1873 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction179> */
1874 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
1875 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
1876 RET_LABEL:;
1877 }
1878 /* method parser#ReduceAction179#action for (self: Object, Parser) */
1879 void VIRTUAL_parser__ReduceAction179__action(val* self, val* p0) {
1880 parser__ReduceAction179__action(self, p0);
1881 RET_LABEL:;
1882 }
1883 /* method parser#ReduceAction180#action for (self: ReduceAction180, Parser) */
1884 void parser__ReduceAction180__action(val* self, val* p0) {
1885 val* var_p /* var p: Parser */;
1886 val* var /* : null */;
1887 val* var_node_list /* var node_list: nullable Object */;
1888 val* var1 /* : nullable Object */;
1889 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1890 val* var2 /* : nullable Object */;
1891 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1892 val* var3 /* : nullable Object */;
1893 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1894 val* var4 /* : nullable Object */;
1895 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1896 val* var5 /* : nullable Object */;
1897 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1898 val* var6 /* : nullable Object */;
1899 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1900 val* var7 /* : nullable Object */;
1901 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1902 val* var8 /* : nullable Object */;
1903 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1904 val* var9 /* : nullable Object */;
1905 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1906 val* var10 /* : nullable Object */;
1907 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1908 val* var11 /* : nullable Object */;
1909 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1910 val* var12 /* : nullable Object */;
1911 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1912 val* var13 /* : Array[Object] */;
1913 val* var_listnode8 /* var listnode8: Array[Object] */;
1914 val* var14 /* : Array[Object] */;
1915 val* var_listnode12 /* var listnode12: Array[Object] */;
1916 val* var15 /* : Array[Object] */;
1917 val* var_listnode13 /* var listnode13: Array[Object] */;
1918 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1919 short int var16 /* : Bool */;
1920 int cltype;
1921 int idtype;
1922 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1923 short int var17 /* : Bool */;
1924 int cltype18;
1925 int idtype19;
1926 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1927 short int var20 /* : Bool */;
1928 int cltype21;
1929 int idtype22;
1930 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1931 short int var23 /* : Bool */;
1932 int cltype24;
1933 int idtype25;
1934 val* var_listnode7 /* var listnode7: nullable Object */;
1935 short int var26 /* : Bool */;
1936 int cltype27;
1937 int idtype28;
1938 val* var29 /* : Array[Object] */;
1939 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1940 short int var30 /* : Bool */;
1941 int cltype31;
1942 int idtype32;
1943 val* var_listnode11 /* var listnode11: nullable Object */;
1944 short int var33 /* : Bool */;
1945 int cltype34;
1946 int idtype35;
1947 val* var36 /* : Array[Object] */;
1948 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
1949 short int var37 /* : Bool */;
1950 int cltype38;
1951 int idtype39;
1952 val* var40 /* : AStdClassdef */;
1953 val* var41 /* : null */;
1954 val* var42 /* : null */;
1955 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1956 long var43 /* : Int */;
1957 long var44 /* : Int */;
1958 var_p = p0;
1959 var = NULL;
1960 var_node_list = var;
1961 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1962 var_nodearraylist12 = var1;
1963 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1964 var_nodearraylist11 = var2;
1965 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1966 var_nodearraylist10 = var3;
1967 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1968 var_nodearraylist9 = var4;
1969 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1970 var_nodearraylist8 = var5;
1971 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1972 var_nodearraylist7 = var6;
1973 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1974 var_nodearraylist6 = var7;
1975 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1976 var_nodearraylist5 = var8;
1977 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1978 var_nodearraylist4 = var9;
1979 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1980 var_nodearraylist3 = var10;
1981 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1982 var_nodearraylist2 = var11;
1983 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1984 var_nodearraylist1 = var12;
1985 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1986 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1987 CHECK_NEW_array__Array(var13);
1988 var_listnode8 = var13;
1989 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1990 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1991 CHECK_NEW_array__Array(var14);
1992 var_listnode12 = var14;
1993 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1994 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1995 CHECK_NEW_array__Array(var15);
1996 var_listnode13 = var15;
1997 var_pdocnode2 = var_nodearraylist1;
1998 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1999 cltype = type_nullable_parser_nodes__ADoc.color;
2000 idtype = type_nullable_parser_nodes__ADoc.id;
2001 if(var_pdocnode2 == NULL) {
2002 var16 = 1;
2003 } else {
2004 if(cltype >= var_pdocnode2->type->table_size) {
2005 var16 = 0;
2006 } else {
2007 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
2008 }
2009 }
2010 if (!var16) {
2011 fprintf(stderr, "Runtime error: %s", "Assert failed");
2012 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8588);
2013 exit(1);
2014 }
2015 var_pvisibilitynode4 = var_nodearraylist2;
2016 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2017 cltype18 = type_nullable_parser_nodes__AVisibility.color;
2018 idtype19 = type_nullable_parser_nodes__AVisibility.id;
2019 if(var_pvisibilitynode4 == NULL) {
2020 var17 = 1;
2021 } else {
2022 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
2023 var17 = 0;
2024 } else {
2025 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
2026 }
2027 }
2028 if (!var17) {
2029 fprintf(stderr, "Runtime error: %s", "Assert failed");
2030 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8590);
2031 exit(1);
2032 }
2033 var_pclasskindnode5 = var_nodearraylist3;
2034 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2035 cltype21 = type_nullable_parser_nodes__AClasskind.color;
2036 idtype22 = type_nullable_parser_nodes__AClasskind.id;
2037 if(var_pclasskindnode5 == NULL) {
2038 var20 = 1;
2039 } else {
2040 if(cltype21 >= var_pclasskindnode5->type->table_size) {
2041 var20 = 0;
2042 } else {
2043 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
2044 }
2045 }
2046 if (!var20) {
2047 fprintf(stderr, "Runtime error: %s", "Assert failed");
2048 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8592);
2049 exit(1);
2050 }
2051 var_tclassidnode6 = var_nodearraylist7;
2052 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2053 cltype24 = type_nullable_parser_nodes__TClassid.color;
2054 idtype25 = type_nullable_parser_nodes__TClassid.id;
2055 if(var_tclassidnode6 == NULL) {
2056 var23 = 1;
2057 } else {
2058 if(cltype24 >= var_tclassidnode6->type->table_size) {
2059 var23 = 0;
2060 } else {
2061 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
2062 }
2063 }
2064 if (!var23) {
2065 fprintf(stderr, "Runtime error: %s", "Assert failed");
2066 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8594);
2067 exit(1);
2068 }
2069 var_listnode7 = var_nodearraylist8;
2070 /* <var_listnode7:nullable Object> isa Array[Object] */
2071 cltype27 = type_array__Arraykernel__Object.color;
2072 idtype28 = type_array__Arraykernel__Object.id;
2073 if(var_listnode7 == NULL) {
2074 var26 = 0;
2075 } else {
2076 if(cltype27 >= var_listnode7->type->table_size) {
2077 var26 = 0;
2078 } else {
2079 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
2080 }
2081 }
2082 if (!var26) {
2083 fprintf(stderr, "Runtime error: %s", "Assert failed");
2084 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8596);
2085 exit(1);
2086 }
2087 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction180>*/;
2088 var_listnode8 = var29;
2089 var_pexterncodeblocknode10 = var_nodearraylist9;
2090 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
2091 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
2092 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
2093 if(var_pexterncodeblocknode10 == NULL) {
2094 var30 = 1;
2095 } else {
2096 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
2097 var30 = 0;
2098 } else {
2099 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
2100 }
2101 }
2102 if (!var30) {
2103 fprintf(stderr, "Runtime error: %s", "Assert failed");
2104 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8599);
2105 exit(1);
2106 }
2107 var_listnode11 = var_nodearraylist10;
2108 /* <var_listnode11:nullable Object> isa Array[Object] */
2109 cltype34 = type_array__Arraykernel__Object.color;
2110 idtype35 = type_array__Arraykernel__Object.id;
2111 if(var_listnode11 == NULL) {
2112 var33 = 0;
2113 } else {
2114 if(cltype34 >= var_listnode11->type->table_size) {
2115 var33 = 0;
2116 } else {
2117 var33 = var_listnode11->type->type_table[cltype34] == idtype35;
2118 }
2119 }
2120 if (!var33) {
2121 fprintf(stderr, "Runtime error: %s", "Assert failed");
2122 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8601);
2123 exit(1);
2124 }
2125 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction180>*/;
2126 var_listnode12 = var36;
2127 var_tkwendnode14 = var_nodearraylist12;
2128 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
2129 cltype38 = type_nullable_parser_nodes__TKwend.color;
2130 idtype39 = type_nullable_parser_nodes__TKwend.id;
2131 if(var_tkwendnode14 == NULL) {
2132 var37 = 1;
2133 } else {
2134 if(cltype38 >= var_tkwendnode14->type->table_size) {
2135 var37 = 0;
2136 } else {
2137 var37 = var_tkwendnode14->type->type_table[cltype38] == idtype39;
2138 }
2139 }
2140 if (!var37) {
2141 fprintf(stderr, "Runtime error: %s", "Assert failed");
2142 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8604);
2143 exit(1);
2144 }
2145 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2146 var41 = NULL;
2147 var42 = NULL;
2148 ((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_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var40:AStdClassdef>*/;
2149 CHECK_NEW_parser_nodes__AStdClassdef(var40);
2150 var_pclassdefnode1 = var40;
2151 var_node_list = var_pclassdefnode1;
2152 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction180> */
2153 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
2154 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
2155 RET_LABEL:;
2156 }
2157 /* method parser#ReduceAction180#action for (self: Object, Parser) */
2158 void VIRTUAL_parser__ReduceAction180__action(val* self, val* p0) {
2159 parser__ReduceAction180__action(self, p0);
2160 RET_LABEL:;
2161 }
2162 /* method parser#ReduceAction182#action for (self: ReduceAction182, Parser) */
2163 void parser__ReduceAction182__action(val* self, val* p0) {
2164 val* var_p /* var p: Parser */;
2165 val* var /* : null */;
2166 val* var_node_list /* var node_list: nullable Object */;
2167 val* var1 /* : nullable Object */;
2168 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
2169 val* var2 /* : nullable Object */;
2170 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2171 val* var3 /* : nullable Object */;
2172 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2173 val* var4 /* : nullable Object */;
2174 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2175 val* var5 /* : nullable Object */;
2176 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2177 val* var6 /* : nullable Object */;
2178 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2179 val* var7 /* : nullable Object */;
2180 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2181 val* var8 /* : nullable Object */;
2182 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2183 val* var9 /* : nullable Object */;
2184 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2185 val* var10 /* : nullable Object */;
2186 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2187 val* var11 /* : nullable Object */;
2188 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2189 val* var12 /* : nullable Object */;
2190 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2191 val* var13 /* : Array[Object] */;
2192 val* var_listnode8 /* var listnode8: Array[Object] */;
2193 val* var14 /* : Array[Object] */;
2194 val* var_listnode12 /* var listnode12: Array[Object] */;
2195 val* var15 /* : Array[Object] */;
2196 val* var_listnode13 /* var listnode13: Array[Object] */;
2197 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2198 short int var16 /* : Bool */;
2199 int cltype;
2200 int idtype;
2201 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2202 short int var17 /* : Bool */;
2203 int cltype18;
2204 int idtype19;
2205 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2206 short int var20 /* : Bool */;
2207 int cltype21;
2208 int idtype22;
2209 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2210 short int var23 /* : Bool */;
2211 int cltype24;
2212 int idtype25;
2213 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2214 short int var26 /* : Bool */;
2215 int cltype27;
2216 int idtype28;
2217 val* var_listnode7 /* var listnode7: nullable Object */;
2218 short int var29 /* : Bool */;
2219 int cltype30;
2220 int idtype31;
2221 val* var32 /* : Array[Object] */;
2222 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
2223 short int var33 /* : Bool */;
2224 int cltype34;
2225 int idtype35;
2226 val* var_listnode11 /* var listnode11: nullable Object */;
2227 short int var36 /* : Bool */;
2228 int cltype37;
2229 int idtype38;
2230 val* var39 /* : Array[Object] */;
2231 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
2232 short int var40 /* : Bool */;
2233 int cltype41;
2234 int idtype42;
2235 val* var43 /* : AStdClassdef */;
2236 val* var44 /* : null */;
2237 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2238 long var45 /* : Int */;
2239 long var46 /* : Int */;
2240 var_p = p0;
2241 var = NULL;
2242 var_node_list = var;
2243 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2244 var_nodearraylist12 = var1;
2245 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2246 var_nodearraylist11 = var2;
2247 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2248 var_nodearraylist10 = var3;
2249 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2250 var_nodearraylist9 = var4;
2251 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2252 var_nodearraylist8 = var5;
2253 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2254 var_nodearraylist7 = var6;
2255 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2256 var_nodearraylist6 = var7;
2257 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2258 var_nodearraylist5 = var8;
2259 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2260 var_nodearraylist4 = var9;
2261 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2262 var_nodearraylist3 = var10;
2263 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2264 var_nodearraylist2 = var11;
2265 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2266 var_nodearraylist1 = var12;
2267 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2268 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2269 CHECK_NEW_array__Array(var13);
2270 var_listnode8 = var13;
2271 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2272 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2273 CHECK_NEW_array__Array(var14);
2274 var_listnode12 = var14;
2275 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
2276 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
2277 CHECK_NEW_array__Array(var15);
2278 var_listnode13 = var15;
2279 var_pdocnode2 = var_nodearraylist1;
2280 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2281 cltype = type_nullable_parser_nodes__ADoc.color;
2282 idtype = type_nullable_parser_nodes__ADoc.id;
2283 if(var_pdocnode2 == NULL) {
2284 var16 = 1;
2285 } else {
2286 if(cltype >= var_pdocnode2->type->table_size) {
2287 var16 = 0;
2288 } else {
2289 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
2290 }
2291 }
2292 if (!var16) {
2293 fprintf(stderr, "Runtime error: %s", "Assert failed");
2294 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8643);
2295 exit(1);
2296 }
2297 var_tkwredefnode3 = var_nodearraylist2;
2298 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2299 cltype18 = type_nullable_parser_nodes__TKwredef.color;
2300 idtype19 = type_nullable_parser_nodes__TKwredef.id;
2301 if(var_tkwredefnode3 == NULL) {
2302 var17 = 1;
2303 } else {
2304 if(cltype18 >= var_tkwredefnode3->type->table_size) {
2305 var17 = 0;
2306 } else {
2307 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
2308 }
2309 }
2310 if (!var17) {
2311 fprintf(stderr, "Runtime error: %s", "Assert failed");
2312 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8645);
2313 exit(1);
2314 }
2315 var_pvisibilitynode4 = var_nodearraylist3;
2316 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2317 cltype21 = type_nullable_parser_nodes__AVisibility.color;
2318 idtype22 = type_nullable_parser_nodes__AVisibility.id;
2319 if(var_pvisibilitynode4 == NULL) {
2320 var20 = 1;
2321 } else {
2322 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
2323 var20 = 0;
2324 } else {
2325 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
2326 }
2327 }
2328 if (!var20) {
2329 fprintf(stderr, "Runtime error: %s", "Assert failed");
2330 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8647);
2331 exit(1);
2332 }
2333 var_pclasskindnode5 = var_nodearraylist4;
2334 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2335 cltype24 = type_nullable_parser_nodes__AClasskind.color;
2336 idtype25 = type_nullable_parser_nodes__AClasskind.id;
2337 if(var_pclasskindnode5 == NULL) {
2338 var23 = 1;
2339 } else {
2340 if(cltype24 >= var_pclasskindnode5->type->table_size) {
2341 var23 = 0;
2342 } else {
2343 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
2344 }
2345 }
2346 if (!var23) {
2347 fprintf(stderr, "Runtime error: %s", "Assert failed");
2348 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8649);
2349 exit(1);
2350 }
2351 var_tclassidnode6 = var_nodearraylist7;
2352 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2353 cltype27 = type_nullable_parser_nodes__TClassid.color;
2354 idtype28 = type_nullable_parser_nodes__TClassid.id;
2355 if(var_tclassidnode6 == NULL) {
2356 var26 = 1;
2357 } else {
2358 if(cltype27 >= var_tclassidnode6->type->table_size) {
2359 var26 = 0;
2360 } else {
2361 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
2362 }
2363 }
2364 if (!var26) {
2365 fprintf(stderr, "Runtime error: %s", "Assert failed");
2366 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8651);
2367 exit(1);
2368 }
2369 var_listnode7 = var_nodearraylist8;
2370 /* <var_listnode7:nullable Object> isa Array[Object] */
2371 cltype30 = type_array__Arraykernel__Object.color;
2372 idtype31 = type_array__Arraykernel__Object.id;
2373 if(var_listnode7 == NULL) {
2374 var29 = 0;
2375 } else {
2376 if(cltype30 >= var_listnode7->type->table_size) {
2377 var29 = 0;
2378 } else {
2379 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
2380 }
2381 }
2382 if (!var29) {
2383 fprintf(stderr, "Runtime error: %s", "Assert failed");
2384 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8653);
2385 exit(1);
2386 }
2387 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction182>*/;
2388 var_listnode8 = var32;
2389 var_pexterncodeblocknode10 = var_nodearraylist9;
2390 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
2391 cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color;
2392 idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id;
2393 if(var_pexterncodeblocknode10 == NULL) {
2394 var33 = 1;
2395 } else {
2396 if(cltype34 >= var_pexterncodeblocknode10->type->table_size) {
2397 var33 = 0;
2398 } else {
2399 var33 = var_pexterncodeblocknode10->type->type_table[cltype34] == idtype35;
2400 }
2401 }
2402 if (!var33) {
2403 fprintf(stderr, "Runtime error: %s", "Assert failed");
2404 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8656);
2405 exit(1);
2406 }
2407 var_listnode11 = var_nodearraylist10;
2408 /* <var_listnode11:nullable Object> isa Array[Object] */
2409 cltype37 = type_array__Arraykernel__Object.color;
2410 idtype38 = type_array__Arraykernel__Object.id;
2411 if(var_listnode11 == NULL) {
2412 var36 = 0;
2413 } else {
2414 if(cltype37 >= var_listnode11->type->table_size) {
2415 var36 = 0;
2416 } else {
2417 var36 = var_listnode11->type->type_table[cltype37] == idtype38;
2418 }
2419 }
2420 if (!var36) {
2421 fprintf(stderr, "Runtime error: %s", "Assert failed");
2422 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8658);
2423 exit(1);
2424 }
2425 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction182>*/;
2426 var_listnode12 = var39;
2427 var_tkwendnode14 = var_nodearraylist12;
2428 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
2429 cltype41 = type_nullable_parser_nodes__TKwend.color;
2430 idtype42 = type_nullable_parser_nodes__TKwend.id;
2431 if(var_tkwendnode14 == NULL) {
2432 var40 = 1;
2433 } else {
2434 if(cltype41 >= var_tkwendnode14->type->table_size) {
2435 var40 = 0;
2436 } else {
2437 var40 = var_tkwendnode14->type->type_table[cltype41] == idtype42;
2438 }
2439 }
2440 if (!var40) {
2441 fprintf(stderr, "Runtime error: %s", "Assert failed");
2442 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8661);
2443 exit(1);
2444 }
2445 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2446 var44 = NULL;
2447 ((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_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var43:AStdClassdef>*/;
2448 CHECK_NEW_parser_nodes__AStdClassdef(var43);
2449 var_pclassdefnode1 = var43;
2450 var_node_list = var_pclassdefnode1;
2451 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction182> */
2452 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
2453 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
2454 RET_LABEL:;
2455 }
2456 /* method parser#ReduceAction182#action for (self: Object, Parser) */
2457 void VIRTUAL_parser__ReduceAction182__action(val* self, val* p0) {
2458 parser__ReduceAction182__action(self, p0);
2459 RET_LABEL:;
2460 }
2461 /* method parser#ReduceAction183#action for (self: ReduceAction183, Parser) */
2462 void parser__ReduceAction183__action(val* self, val* p0) {
2463 val* var_p /* var p: Parser */;
2464 val* var /* : null */;
2465 val* var_node_list /* var node_list: nullable Object */;
2466 val* var1 /* : nullable Object */;
2467 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
2468 val* var2 /* : nullable Object */;
2469 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
2470 val* var3 /* : nullable Object */;
2471 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2472 val* var4 /* : nullable Object */;
2473 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2474 val* var5 /* : nullable Object */;
2475 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2476 val* var6 /* : nullable Object */;
2477 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2478 val* var7 /* : nullable Object */;
2479 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2480 val* var8 /* : nullable Object */;
2481 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2482 val* var9 /* : nullable Object */;
2483 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2484 val* var10 /* : nullable Object */;
2485 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2486 val* var11 /* : nullable Object */;
2487 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2488 val* var12 /* : nullable Object */;
2489 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2490 val* var13 /* : nullable Object */;
2491 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2492 val* var14 /* : Array[Object] */;
2493 val* var_listnode8 /* var listnode8: Array[Object] */;
2494 val* var15 /* : Array[Object] */;
2495 val* var_listnode12 /* var listnode12: Array[Object] */;
2496 val* var16 /* : Array[Object] */;
2497 val* var_listnode13 /* var listnode13: Array[Object] */;
2498 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2499 short int var17 /* : Bool */;
2500 int cltype;
2501 int idtype;
2502 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2503 short int var18 /* : Bool */;
2504 int cltype19;
2505 int idtype20;
2506 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2507 short int var21 /* : Bool */;
2508 int cltype22;
2509 int idtype23;
2510 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2511 short int var24 /* : Bool */;
2512 int cltype25;
2513 int idtype26;
2514 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2515 short int var27 /* : Bool */;
2516 int cltype28;
2517 int idtype29;
2518 val* var_listnode7 /* var listnode7: nullable Object */;
2519 short int var30 /* : Bool */;
2520 int cltype31;
2521 int idtype32;
2522 val* var33 /* : Array[Object] */;
2523 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
2524 short int var34 /* : Bool */;
2525 int cltype35;
2526 int idtype36;
2527 val* var_listnode11 /* var listnode11: nullable Object */;
2528 short int var37 /* : Bool */;
2529 int cltype38;
2530 int idtype39;
2531 val* var40 /* : Array[Object] */;
2532 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
2533 short int var41 /* : Bool */;
2534 int cltype42;
2535 int idtype43;
2536 val* var44 /* : AStdClassdef */;
2537 val* var45 /* : null */;
2538 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2539 long var46 /* : Int */;
2540 long var47 /* : Int */;
2541 var_p = p0;
2542 var = NULL;
2543 var_node_list = var;
2544 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2545 var_nodearraylist13 = var1;
2546 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2547 var_nodearraylist12 = var2;
2548 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2549 var_nodearraylist11 = var3;
2550 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2551 var_nodearraylist10 = var4;
2552 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2553 var_nodearraylist9 = var5;
2554 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2555 var_nodearraylist8 = var6;
2556 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2557 var_nodearraylist7 = var7;
2558 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2559 var_nodearraylist6 = var8;
2560 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2561 var_nodearraylist5 = var9;
2562 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2563 var_nodearraylist4 = var10;
2564 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2565 var_nodearraylist3 = var11;
2566 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2567 var_nodearraylist2 = var12;
2568 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2569 var_nodearraylist1 = var13;
2570 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2571 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2572 CHECK_NEW_array__Array(var14);
2573 var_listnode8 = var14;
2574 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
2575 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
2576 CHECK_NEW_array__Array(var15);
2577 var_listnode12 = var15;
2578 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
2579 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
2580 CHECK_NEW_array__Array(var16);
2581 var_listnode13 = var16;
2582 var_pdocnode2 = var_nodearraylist1;
2583 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2584 cltype = type_nullable_parser_nodes__ADoc.color;
2585 idtype = type_nullable_parser_nodes__ADoc.id;
2586 if(var_pdocnode2 == NULL) {
2587 var17 = 1;
2588 } else {
2589 if(cltype >= var_pdocnode2->type->table_size) {
2590 var17 = 0;
2591 } else {
2592 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
2593 }
2594 }
2595 if (!var17) {
2596 fprintf(stderr, "Runtime error: %s", "Assert failed");
2597 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8701);
2598 exit(1);
2599 }
2600 var_tkwredefnode3 = var_nodearraylist2;
2601 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2602 cltype19 = type_nullable_parser_nodes__TKwredef.color;
2603 idtype20 = type_nullable_parser_nodes__TKwredef.id;
2604 if(var_tkwredefnode3 == NULL) {
2605 var18 = 1;
2606 } else {
2607 if(cltype19 >= var_tkwredefnode3->type->table_size) {
2608 var18 = 0;
2609 } else {
2610 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
2611 }
2612 }
2613 if (!var18) {
2614 fprintf(stderr, "Runtime error: %s", "Assert failed");
2615 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8703);
2616 exit(1);
2617 }
2618 var_pvisibilitynode4 = var_nodearraylist3;
2619 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2620 cltype22 = type_nullable_parser_nodes__AVisibility.color;
2621 idtype23 = type_nullable_parser_nodes__AVisibility.id;
2622 if(var_pvisibilitynode4 == NULL) {
2623 var21 = 1;
2624 } else {
2625 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
2626 var21 = 0;
2627 } else {
2628 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
2629 }
2630 }
2631 if (!var21) {
2632 fprintf(stderr, "Runtime error: %s", "Assert failed");
2633 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8705);
2634 exit(1);
2635 }
2636 var_pclasskindnode5 = var_nodearraylist4;
2637 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2638 cltype25 = type_nullable_parser_nodes__AClasskind.color;
2639 idtype26 = type_nullable_parser_nodes__AClasskind.id;
2640 if(var_pclasskindnode5 == NULL) {
2641 var24 = 1;
2642 } else {
2643 if(cltype25 >= var_pclasskindnode5->type->table_size) {
2644 var24 = 0;
2645 } else {
2646 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
2647 }
2648 }
2649 if (!var24) {
2650 fprintf(stderr, "Runtime error: %s", "Assert failed");
2651 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8707);
2652 exit(1);
2653 }
2654 var_tclassidnode6 = var_nodearraylist8;
2655 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2656 cltype28 = type_nullable_parser_nodes__TClassid.color;
2657 idtype29 = type_nullable_parser_nodes__TClassid.id;
2658 if(var_tclassidnode6 == NULL) {
2659 var27 = 1;
2660 } else {
2661 if(cltype28 >= var_tclassidnode6->type->table_size) {
2662 var27 = 0;
2663 } else {
2664 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
2665 }
2666 }
2667 if (!var27) {
2668 fprintf(stderr, "Runtime error: %s", "Assert failed");
2669 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8709);
2670 exit(1);
2671 }
2672 var_listnode7 = var_nodearraylist9;
2673 /* <var_listnode7:nullable Object> isa Array[Object] */
2674 cltype31 = type_array__Arraykernel__Object.color;
2675 idtype32 = type_array__Arraykernel__Object.id;
2676 if(var_listnode7 == NULL) {
2677 var30 = 0;
2678 } else {
2679 if(cltype31 >= var_listnode7->type->table_size) {
2680 var30 = 0;
2681 } else {
2682 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
2683 }
2684 }
2685 if (!var30) {
2686 fprintf(stderr, "Runtime error: %s", "Assert failed");
2687 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8711);
2688 exit(1);
2689 }
2690 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction183>*/;
2691 var_listnode8 = var33;
2692 var_pexterncodeblocknode10 = var_nodearraylist10;
2693 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
2694 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
2695 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
2696 if(var_pexterncodeblocknode10 == NULL) {
2697 var34 = 1;
2698 } else {
2699 if(cltype35 >= var_pexterncodeblocknode10->type->table_size) {
2700 var34 = 0;
2701 } else {
2702 var34 = var_pexterncodeblocknode10->type->type_table[cltype35] == idtype36;
2703 }
2704 }
2705 if (!var34) {
2706 fprintf(stderr, "Runtime error: %s", "Assert failed");
2707 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8714);
2708 exit(1);
2709 }
2710 var_listnode11 = var_nodearraylist11;
2711 /* <var_listnode11:nullable Object> isa Array[Object] */
2712 cltype38 = type_array__Arraykernel__Object.color;
2713 idtype39 = type_array__Arraykernel__Object.id;
2714 if(var_listnode11 == NULL) {
2715 var37 = 0;
2716 } else {
2717 if(cltype38 >= var_listnode11->type->table_size) {
2718 var37 = 0;
2719 } else {
2720 var37 = var_listnode11->type->type_table[cltype38] == idtype39;
2721 }
2722 }
2723 if (!var37) {
2724 fprintf(stderr, "Runtime error: %s", "Assert failed");
2725 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8716);
2726 exit(1);
2727 }
2728 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction183>*/;
2729 var_listnode12 = var40;
2730 var_tkwendnode14 = var_nodearraylist13;
2731 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
2732 cltype42 = type_nullable_parser_nodes__TKwend.color;
2733 idtype43 = type_nullable_parser_nodes__TKwend.id;
2734 if(var_tkwendnode14 == NULL) {
2735 var41 = 1;
2736 } else {
2737 if(cltype42 >= var_tkwendnode14->type->table_size) {
2738 var41 = 0;
2739 } else {
2740 var41 = var_tkwendnode14->type->type_table[cltype42] == idtype43;
2741 }
2742 }
2743 if (!var41) {
2744 fprintf(stderr, "Runtime error: %s", "Assert failed");
2745 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8719);
2746 exit(1);
2747 }
2748 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2749 var45 = NULL;
2750 ((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_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var44:AStdClassdef>*/;
2751 CHECK_NEW_parser_nodes__AStdClassdef(var44);
2752 var_pclassdefnode1 = var44;
2753 var_node_list = var_pclassdefnode1;
2754 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction183> */
2755 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
2756 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
2757 RET_LABEL:;
2758 }
2759 /* method parser#ReduceAction183#action for (self: Object, Parser) */
2760 void VIRTUAL_parser__ReduceAction183__action(val* self, val* p0) {
2761 parser__ReduceAction183__action(self, p0);
2762 RET_LABEL:;
2763 }
2764 /* method parser#ReduceAction185#action for (self: ReduceAction185, Parser) */
2765 void parser__ReduceAction185__action(val* self, val* p0) {
2766 val* var_p /* var p: Parser */;
2767 val* var /* : null */;
2768 val* var_node_list /* var node_list: nullable Object */;
2769 val* var1 /* : nullable Object */;
2770 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2771 val* var2 /* : nullable Object */;
2772 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2773 val* var3 /* : nullable Object */;
2774 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2775 val* var4 /* : nullable Object */;
2776 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2777 val* var5 /* : nullable Object */;
2778 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2779 val* var6 /* : nullable Object */;
2780 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2781 val* var7 /* : nullable Object */;
2782 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2783 val* var8 /* : nullable Object */;
2784 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2785 val* var9 /* : nullable Object */;
2786 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2787 val* var10 /* : nullable Object */;
2788 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2789 val* var11 /* : Array[Object] */;
2790 val* var_listnode7 /* var listnode7: Array[Object] */;
2791 val* var12 /* : Array[Object] */;
2792 val* var_listnode16 /* var listnode16: Array[Object] */;
2793 val* var13 /* : Array[Object] */;
2794 val* var_listnode17 /* var listnode17: Array[Object] */;
2795 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2796 short int var14 /* : Bool */;
2797 int cltype;
2798 int idtype;
2799 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2800 short int var15 /* : Bool */;
2801 int cltype16;
2802 int idtype17;
2803 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2804 short int var18 /* : Bool */;
2805 int cltype19;
2806 int idtype20;
2807 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2808 short int var21 /* : Bool */;
2809 int cltype22;
2810 int idtype23;
2811 val* var24 /* : Array[Object] */;
2812 val* var_listnode12 /* var listnode12: Array[Object] */;
2813 val* var_listnode11 /* var listnode11: nullable Object */;
2814 short int var25 /* : Bool */;
2815 int cltype26;
2816 int idtype27;
2817 val* var28 /* : Array[Object] */;
2818 val* var29 /* : AAnnotations */;
2819 val* var30 /* : null */;
2820 val* var31 /* : null */;
2821 val* var32 /* : null */;
2822 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
2823 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
2824 short int var33 /* : Bool */;
2825 int cltype34;
2826 int idtype35;
2827 val* var_listnode15 /* var listnode15: nullable Object */;
2828 short int var36 /* : Bool */;
2829 int cltype37;
2830 int idtype38;
2831 val* var39 /* : Array[Object] */;
2832 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
2833 short int var40 /* : Bool */;
2834 int cltype41;
2835 int idtype42;
2836 val* var43 /* : AStdClassdef */;
2837 val* var44 /* : null */;
2838 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2839 long var45 /* : Int */;
2840 long var46 /* : Int */;
2841 var_p = p0;
2842 var = NULL;
2843 var_node_list = var;
2844 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2845 var_nodearraylist10 = var1;
2846 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2847 var_nodearraylist9 = var2;
2848 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2849 var_nodearraylist8 = var3;
2850 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2851 var_nodearraylist7 = var4;
2852 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2853 var_nodearraylist6 = var5;
2854 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2855 var_nodearraylist5 = var6;
2856 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2857 var_nodearraylist4 = var7;
2858 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2859 var_nodearraylist3 = var8;
2860 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2861 var_nodearraylist2 = var9;
2862 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2863 var_nodearraylist1 = var10;
2864 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2865 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2866 CHECK_NEW_array__Array(var11);
2867 var_listnode7 = var11;
2868 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2869 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2870 CHECK_NEW_array__Array(var12);
2871 var_listnode16 = var12;
2872 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2873 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2874 CHECK_NEW_array__Array(var13);
2875 var_listnode17 = var13;
2876 var_pdocnode2 = var_nodearraylist1;
2877 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2878 cltype = type_nullable_parser_nodes__ADoc.color;
2879 idtype = type_nullable_parser_nodes__ADoc.id;
2880 if(var_pdocnode2 == NULL) {
2881 var14 = 1;
2882 } else {
2883 if(cltype >= var_pdocnode2->type->table_size) {
2884 var14 = 0;
2885 } else {
2886 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
2887 }
2888 }
2889 if (!var14) {
2890 fprintf(stderr, "Runtime error: %s", "Assert failed");
2891 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8756);
2892 exit(1);
2893 }
2894 var_pvisibilitynode4 = var_nodearraylist2;
2895 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2896 cltype16 = type_nullable_parser_nodes__AVisibility.color;
2897 idtype17 = type_nullable_parser_nodes__AVisibility.id;
2898 if(var_pvisibilitynode4 == NULL) {
2899 var15 = 1;
2900 } else {
2901 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
2902 var15 = 0;
2903 } else {
2904 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
2905 }
2906 }
2907 if (!var15) {
2908 fprintf(stderr, "Runtime error: %s", "Assert failed");
2909 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8758);
2910 exit(1);
2911 }
2912 var_pclasskindnode5 = var_nodearraylist3;
2913 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2914 cltype19 = type_nullable_parser_nodes__AClasskind.color;
2915 idtype20 = type_nullable_parser_nodes__AClasskind.id;
2916 if(var_pclasskindnode5 == NULL) {
2917 var18 = 1;
2918 } else {
2919 if(cltype19 >= var_pclasskindnode5->type->table_size) {
2920 var18 = 0;
2921 } else {
2922 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
2923 }
2924 }
2925 if (!var18) {
2926 fprintf(stderr, "Runtime error: %s", "Assert failed");
2927 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8760);
2928 exit(1);
2929 }
2930 var_tclassidnode6 = var_nodearraylist5;
2931 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2932 cltype22 = type_nullable_parser_nodes__TClassid.color;
2933 idtype23 = type_nullable_parser_nodes__TClassid.id;
2934 if(var_tclassidnode6 == NULL) {
2935 var21 = 1;
2936 } else {
2937 if(cltype22 >= var_tclassidnode6->type->table_size) {
2938 var21 = 0;
2939 } else {
2940 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
2941 }
2942 }
2943 if (!var21) {
2944 fprintf(stderr, "Runtime error: %s", "Assert failed");
2945 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8762);
2946 exit(1);
2947 }
2948 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
2949 ((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on <var24:Array[Object]>*/;
2950 CHECK_NEW_array__Array(var24);
2951 var_listnode12 = var24;
2952 var_listnode11 = var_nodearraylist6;
2953 /* <var_listnode11:nullable Object> isa Array[Object] */
2954 cltype26 = type_array__Arraykernel__Object.color;
2955 idtype27 = type_array__Arraykernel__Object.id;
2956 if(var_listnode11 == NULL) {
2957 var25 = 0;
2958 } else {
2959 if(cltype26 >= var_listnode11->type->table_size) {
2960 var25 = 0;
2961 } else {
2962 var25 = var_listnode11->type->type_table[cltype26] == idtype27;
2963 }
2964 }
2965 if (!var25) {
2966 fprintf(stderr, "Runtime error: %s", "Assert failed");
2967 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8765);
2968 exit(1);
2969 }
2970 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction185>*/;
2971 var_listnode12 = var28;
2972 var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2973 var30 = NULL;
2974 var31 = NULL;
2975 var32 = NULL;
2976 ((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>*/;
2977 CHECK_NEW_parser_nodes__AAnnotations(var29);
2978 var_pannotationsnode8 = var29;
2979 var_pexterncodeblocknode14 = var_nodearraylist7;
2980 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
2981 cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color;
2982 idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id;
2983 if(var_pexterncodeblocknode14 == NULL) {
2984 var33 = 1;
2985 } else {
2986 if(cltype34 >= var_pexterncodeblocknode14->type->table_size) {
2987 var33 = 0;
2988 } else {
2989 var33 = var_pexterncodeblocknode14->type->type_table[cltype34] == idtype35;
2990 }
2991 }
2992 if (!var33) {
2993 fprintf(stderr, "Runtime error: %s", "Assert failed");
2994 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8774);
2995 exit(1);
2996 }
2997 var_listnode15 = var_nodearraylist8;
2998 /* <var_listnode15:nullable Object> isa Array[Object] */
2999 cltype37 = type_array__Arraykernel__Object.color;
3000 idtype38 = type_array__Arraykernel__Object.id;
3001 if(var_listnode15 == NULL) {
3002 var36 = 0;
3003 } else {
3004 if(cltype37 >= var_listnode15->type->table_size) {
3005 var36 = 0;
3006 } else {
3007 var36 = var_listnode15->type->type_table[cltype37] == idtype38;
3008 }
3009 }
3010 if (!var36) {
3011 fprintf(stderr, "Runtime error: %s", "Assert failed");
3012 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8776);
3013 exit(1);
3014 }
3015 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction185>*/;
3016 var_listnode16 = var39;
3017 var_tkwendnode18 = var_nodearraylist10;
3018 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
3019 cltype41 = type_nullable_parser_nodes__TKwend.color;
3020 idtype42 = type_nullable_parser_nodes__TKwend.id;
3021 if(var_tkwendnode18 == NULL) {
3022 var40 = 1;
3023 } else {
3024 if(cltype41 >= var_tkwendnode18->type->table_size) {
3025 var40 = 0;
3026 } else {
3027 var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42;
3028 }
3029 }
3030 if (!var40) {
3031 fprintf(stderr, "Runtime error: %s", "Assert failed");
3032 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8779);
3033 exit(1);
3034 }
3035 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3036 var44 = NULL;
3037 ((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_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var43:AStdClassdef>*/;
3038 CHECK_NEW_parser_nodes__AStdClassdef(var43);
3039 var_pclassdefnode1 = var43;
3040 var_node_list = var_pclassdefnode1;
3041 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction185> */
3042 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
3043 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
3044 RET_LABEL:;
3045 }
3046 /* method parser#ReduceAction185#action for (self: Object, Parser) */
3047 void VIRTUAL_parser__ReduceAction185__action(val* self, val* p0) {
3048 parser__ReduceAction185__action(self, p0);
3049 RET_LABEL:;
3050 }
3051 /* method parser#ReduceAction186#action for (self: ReduceAction186, Parser) */
3052 void parser__ReduceAction186__action(val* self, val* p0) {
3053 val* var_p /* var p: Parser */;
3054 val* var /* : null */;
3055 val* var_node_list /* var node_list: nullable Object */;
3056 val* var1 /* : nullable Object */;
3057 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3058 val* var2 /* : nullable Object */;
3059 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3060 val* var3 /* : nullable Object */;
3061 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3062 val* var4 /* : nullable Object */;
3063 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3064 val* var5 /* : nullable Object */;
3065 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3066 val* var6 /* : nullable Object */;
3067 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3068 val* var7 /* : nullable Object */;
3069 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3070 val* var8 /* : nullable Object */;
3071 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3072 val* var9 /* : nullable Object */;
3073 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3074 val* var10 /* : nullable Object */;
3075 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3076 val* var11 /* : nullable Object */;
3077 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3078 val* var12 /* : Array[Object] */;
3079 val* var_listnode7 /* var listnode7: Array[Object] */;
3080 val* var13 /* : Array[Object] */;
3081 val* var_listnode16 /* var listnode16: Array[Object] */;
3082 val* var14 /* : Array[Object] */;
3083 val* var_listnode17 /* var listnode17: Array[Object] */;
3084 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3085 short int var15 /* : Bool */;
3086 int cltype;
3087 int idtype;
3088 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3089 short int var16 /* : Bool */;
3090 int cltype17;
3091 int idtype18;
3092 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3093 short int var19 /* : Bool */;
3094 int cltype20;
3095 int idtype21;
3096 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3097 short int var22 /* : Bool */;
3098 int cltype23;
3099 int idtype24;
3100 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3101 short int var25 /* : Bool */;
3102 int cltype26;
3103 int idtype27;
3104 val* var28 /* : Array[Object] */;
3105 val* var_listnode12 /* var listnode12: Array[Object] */;
3106 val* var_listnode11 /* var listnode11: nullable Object */;
3107 short int var29 /* : Bool */;
3108 int cltype30;
3109 int idtype31;
3110 val* var32 /* : Array[Object] */;
3111 val* var33 /* : AAnnotations */;
3112 val* var34 /* : null */;
3113 val* var35 /* : null */;
3114 val* var36 /* : null */;
3115 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3116 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
3117 short int var37 /* : Bool */;
3118 int cltype38;
3119 int idtype39;
3120 val* var_listnode15 /* var listnode15: nullable Object */;
3121 short int var40 /* : Bool */;
3122 int cltype41;
3123 int idtype42;
3124 val* var43 /* : Array[Object] */;
3125 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
3126 short int var44 /* : Bool */;
3127 int cltype45;
3128 int idtype46;
3129 val* var47 /* : AStdClassdef */;
3130 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3131 long var48 /* : Int */;
3132 long var49 /* : Int */;
3133 var_p = p0;
3134 var = NULL;
3135 var_node_list = var;
3136 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3137 var_nodearraylist11 = var1;
3138 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3139 var_nodearraylist10 = var2;
3140 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3141 var_nodearraylist9 = var3;
3142 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3143 var_nodearraylist8 = var4;
3144 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3145 var_nodearraylist7 = var5;
3146 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3147 var_nodearraylist6 = var6;
3148 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3149 var_nodearraylist5 = var7;
3150 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3151 var_nodearraylist4 = var8;
3152 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3153 var_nodearraylist3 = var9;
3154 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3155 var_nodearraylist2 = var10;
3156 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3157 var_nodearraylist1 = var11;
3158 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3159 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3160 CHECK_NEW_array__Array(var12);
3161 var_listnode7 = var12;
3162 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3163 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3164 CHECK_NEW_array__Array(var13);
3165 var_listnode16 = var13;
3166 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3167 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3168 CHECK_NEW_array__Array(var14);
3169 var_listnode17 = var14;
3170 var_pdocnode2 = var_nodearraylist1;
3171 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3172 cltype = type_nullable_parser_nodes__ADoc.color;
3173 idtype = type_nullable_parser_nodes__ADoc.id;
3174 if(var_pdocnode2 == NULL) {
3175 var15 = 1;
3176 } else {
3177 if(cltype >= var_pdocnode2->type->table_size) {
3178 var15 = 0;
3179 } else {
3180 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
3181 }
3182 }
3183 if (!var15) {
3184 fprintf(stderr, "Runtime error: %s", "Assert failed");
3185 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8817);
3186 exit(1);
3187 }
3188 var_tkwredefnode3 = var_nodearraylist2;
3189 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3190 cltype17 = type_nullable_parser_nodes__TKwredef.color;
3191 idtype18 = type_nullable_parser_nodes__TKwredef.id;
3192 if(var_tkwredefnode3 == NULL) {
3193 var16 = 1;
3194 } else {
3195 if(cltype17 >= var_tkwredefnode3->type->table_size) {
3196 var16 = 0;
3197 } else {
3198 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
3199 }
3200 }
3201 if (!var16) {
3202 fprintf(stderr, "Runtime error: %s", "Assert failed");
3203 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8819);
3204 exit(1);
3205 }
3206 var_pvisibilitynode4 = var_nodearraylist3;
3207 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3208 cltype20 = type_nullable_parser_nodes__AVisibility.color;
3209 idtype21 = type_nullable_parser_nodes__AVisibility.id;
3210 if(var_pvisibilitynode4 == NULL) {
3211 var19 = 1;
3212 } else {
3213 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
3214 var19 = 0;
3215 } else {
3216 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
3217 }
3218 }
3219 if (!var19) {
3220 fprintf(stderr, "Runtime error: %s", "Assert failed");
3221 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8821);
3222 exit(1);
3223 }
3224 var_pclasskindnode5 = var_nodearraylist4;
3225 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3226 cltype23 = type_nullable_parser_nodes__AClasskind.color;
3227 idtype24 = type_nullable_parser_nodes__AClasskind.id;
3228 if(var_pclasskindnode5 == NULL) {
3229 var22 = 1;
3230 } else {
3231 if(cltype23 >= var_pclasskindnode5->type->table_size) {
3232 var22 = 0;
3233 } else {
3234 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
3235 }
3236 }
3237 if (!var22) {
3238 fprintf(stderr, "Runtime error: %s", "Assert failed");
3239 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8823);
3240 exit(1);
3241 }
3242 var_tclassidnode6 = var_nodearraylist6;
3243 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3244 cltype26 = type_nullable_parser_nodes__TClassid.color;
3245 idtype27 = type_nullable_parser_nodes__TClassid.id;
3246 if(var_tclassidnode6 == NULL) {
3247 var25 = 1;
3248 } else {
3249 if(cltype26 >= var_tclassidnode6->type->table_size) {
3250 var25 = 0;
3251 } else {
3252 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
3253 }
3254 }
3255 if (!var25) {
3256 fprintf(stderr, "Runtime error: %s", "Assert failed");
3257 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8825);
3258 exit(1);
3259 }
3260 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
3261 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
3262 CHECK_NEW_array__Array(var28);
3263 var_listnode12 = var28;
3264 var_listnode11 = var_nodearraylist7;
3265 /* <var_listnode11:nullable Object> isa Array[Object] */
3266 cltype30 = type_array__Arraykernel__Object.color;
3267 idtype31 = type_array__Arraykernel__Object.id;
3268 if(var_listnode11 == NULL) {
3269 var29 = 0;
3270 } else {
3271 if(cltype30 >= var_listnode11->type->table_size) {
3272 var29 = 0;
3273 } else {
3274 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
3275 }
3276 }
3277 if (!var29) {
3278 fprintf(stderr, "Runtime error: %s", "Assert failed");
3279 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8828);
3280 exit(1);
3281 }
3282 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction186>*/;
3283 var_listnode12 = var32;
3284 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3285 var34 = NULL;
3286 var35 = NULL;
3287 var36 = NULL;
3288 ((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>*/;
3289 CHECK_NEW_parser_nodes__AAnnotations(var33);
3290 var_pannotationsnode8 = var33;
3291 var_pexterncodeblocknode14 = var_nodearraylist8;
3292 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
3293 cltype38 = type_nullable_parser_nodes__AExternCodeBlock.color;
3294 idtype39 = type_nullable_parser_nodes__AExternCodeBlock.id;
3295 if(var_pexterncodeblocknode14 == NULL) {
3296 var37 = 1;
3297 } else {
3298 if(cltype38 >= var_pexterncodeblocknode14->type->table_size) {
3299 var37 = 0;
3300 } else {
3301 var37 = var_pexterncodeblocknode14->type->type_table[cltype38] == idtype39;
3302 }
3303 }
3304 if (!var37) {
3305 fprintf(stderr, "Runtime error: %s", "Assert failed");
3306 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8837);
3307 exit(1);
3308 }
3309 var_listnode15 = var_nodearraylist9;
3310 /* <var_listnode15:nullable Object> isa Array[Object] */
3311 cltype41 = type_array__Arraykernel__Object.color;
3312 idtype42 = type_array__Arraykernel__Object.id;
3313 if(var_listnode15 == NULL) {
3314 var40 = 0;
3315 } else {
3316 if(cltype41 >= var_listnode15->type->table_size) {
3317 var40 = 0;
3318 } else {
3319 var40 = var_listnode15->type->type_table[cltype41] == idtype42;
3320 }
3321 }
3322 if (!var40) {
3323 fprintf(stderr, "Runtime error: %s", "Assert failed");
3324 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8839);
3325 exit(1);
3326 }
3327 var43 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction186>*/;
3328 var_listnode16 = var43;
3329 var_tkwendnode18 = var_nodearraylist11;
3330 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
3331 cltype45 = type_nullable_parser_nodes__TKwend.color;
3332 idtype46 = type_nullable_parser_nodes__TKwend.id;
3333 if(var_tkwendnode18 == NULL) {
3334 var44 = 1;
3335 } else {
3336 if(cltype45 >= var_tkwendnode18->type->table_size) {
3337 var44 = 0;
3338 } else {
3339 var44 = var_tkwendnode18->type->type_table[cltype45] == idtype46;
3340 }
3341 }
3342 if (!var44) {
3343 fprintf(stderr, "Runtime error: %s", "Assert failed");
3344 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8842);
3345 exit(1);
3346 }
3347 var47 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3348 ((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_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var47:AStdClassdef>*/;
3349 CHECK_NEW_parser_nodes__AStdClassdef(var47);
3350 var_pclassdefnode1 = var47;
3351 var_node_list = var_pclassdefnode1;
3352 var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction186> */
3353 var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on <var_p:Parser>*/;
3354 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on <var_p:Parser>*/;
3355 RET_LABEL:;
3356 }
3357 /* method parser#ReduceAction186#action for (self: Object, Parser) */
3358 void VIRTUAL_parser__ReduceAction186__action(val* self, val* p0) {
3359 parser__ReduceAction186__action(self, p0);
3360 RET_LABEL:;
3361 }
3362 /* method parser#ReduceAction187#action for (self: ReduceAction187, Parser) */
3363 void parser__ReduceAction187__action(val* self, val* p0) {
3364 val* var_p /* var p: Parser */;
3365 val* var /* : null */;
3366 val* var_node_list /* var node_list: nullable Object */;
3367 val* var1 /* : nullable Object */;
3368 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3369 val* var2 /* : nullable Object */;
3370 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3371 val* var3 /* : nullable Object */;
3372 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3373 val* var4 /* : nullable Object */;
3374 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3375 val* var5 /* : nullable Object */;
3376 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3377 val* var6 /* : nullable Object */;
3378 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3379 val* var7 /* : nullable Object */;
3380 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3381 val* var8 /* : nullable Object */;
3382 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3383 val* var9 /* : nullable Object */;
3384 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3385 val* var10 /* : nullable Object */;
3386 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3387 val* var11 /* : nullable Object */;
3388 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3389 val* var12 /* : Array[Object] */;
3390 val* var_listnode7 /* var listnode7: Array[Object] */;
3391 val* var13 /* : Array[Object] */;
3392 val* var_listnode16 /* var listnode16: Array[Object] */;
3393 val* var14 /* : Array[Object] */;
3394 val* var_listnode17 /* var listnode17: Array[Object] */;
3395 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3396 short int var15 /* : Bool */;
3397 int cltype;
3398 int idtype;
3399 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3400 short int var16 /* : Bool */;
3401 int cltype17;
3402 int idtype18;
3403 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3404 short int var19 /* : Bool */;
3405 int cltype20;
3406 int idtype21;
3407 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3408 short int var22 /* : Bool */;
3409 int cltype23;
3410 int idtype24;
3411 val* var25 /* : Array[Object] */;
3412 val* var_listnode12 /* var listnode12: Array[Object] */;
3413 val* var_listnode11 /* var listnode11: nullable Object */;
3414 short int var26 /* : Bool */;
3415 int cltype27;
3416 int idtype28;
3417 val* var29 /* : Array[Object] */;
3418 val* var30 /* : AAnnotations */;
3419 val* var31 /* : null */;
3420 val* var32 /* : null */;
3421 val* var33 /* : null */;
3422 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3423 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
3424 short int var34 /* : Bool */;
3425 int cltype35;
3426 int idtype36;
3427 val* var_listnode15 /* var listnode15: nullable Object */;
3428 short int var37 /* : Bool */;
3429 int cltype38;
3430 int idtype39;
3431 val* var40 /* : Array[Object] */;
3432 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
3433 short int var41 /* : Bool */;
3434 int cltype42;
3435 int idtype43;
3436 val* var44 /* : AStdClassdef */;
3437 val* var45 /* : null */;
3438 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3439 long var46 /* : Int */;
3440 long var47 /* : Int */;
3441 var_p = p0;
3442 var = NULL;
3443 var_node_list = var;
3444 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3445 var_nodearraylist11 = var1;
3446 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3447 var_nodearraylist10 = var2;
3448 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3449 var_nodearraylist9 = var3;
3450 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3451 var_nodearraylist8 = var4;
3452 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3453 var_nodearraylist7 = var5;
3454 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3455 var_nodearraylist6 = var6;
3456 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3457 var_nodearraylist5 = var7;
3458 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3459 var_nodearraylist4 = var8;
3460 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3461 var_nodearraylist3 = var9;
3462 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3463 var_nodearraylist2 = var10;
3464 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3465 var_nodearraylist1 = var11;
3466 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3467 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3468 CHECK_NEW_array__Array(var12);
3469 var_listnode7 = var12;
3470 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3471 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3472 CHECK_NEW_array__Array(var13);
3473 var_listnode16 = var13;
3474 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3475 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3476 CHECK_NEW_array__Array(var14);
3477 var_listnode17 = var14;
3478 var_pdocnode2 = var_nodearraylist1;
3479 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3480 cltype = type_nullable_parser_nodes__ADoc.color;
3481 idtype = type_nullable_parser_nodes__ADoc.id;
3482 if(var_pdocnode2 == NULL) {
3483 var15 = 1;
3484 } else {
3485 if(cltype >= var_pdocnode2->type->table_size) {
3486 var15 = 0;
3487 } else {
3488 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
3489 }
3490 }
3491 if (!var15) {
3492 fprintf(stderr, "Runtime error: %s", "Assert failed");
3493 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8880);
3494 exit(1);
3495 }
3496 var_pvisibilitynode4 = var_nodearraylist2;
3497 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3498 cltype17 = type_nullable_parser_nodes__AVisibility.color;
3499 idtype18 = type_nullable_parser_nodes__AVisibility.id;
3500 if(var_pvisibilitynode4 == NULL) {
3501 var16 = 1;
3502 } else {
3503 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
3504 var16 = 0;
3505 } else {
3506 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
3507 }
3508 }
3509 if (!var16) {
3510 fprintf(stderr, "Runtime error: %s", "Assert failed");
3511 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8882);
3512 exit(1);
3513 }
3514 var_pclasskindnode5 = var_nodearraylist3;
3515 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3516 cltype20 = type_nullable_parser_nodes__AClasskind.color;
3517 idtype21 = type_nullable_parser_nodes__AClasskind.id;
3518 if(var_pclasskindnode5 == NULL) {
3519 var19 = 1;
3520 } else {
3521 if(cltype20 >= var_pclasskindnode5->type->table_size) {
3522 var19 = 0;
3523 } else {
3524 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
3525 }
3526 }
3527 if (!var19) {
3528 fprintf(stderr, "Runtime error: %s", "Assert failed");
3529 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8884);
3530 exit(1);
3531 }
3532 var_tclassidnode6 = var_nodearraylist6;
3533 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3534 cltype23 = type_nullable_parser_nodes__TClassid.color;
3535 idtype24 = type_nullable_parser_nodes__TClassid.id;
3536 if(var_tclassidnode6 == NULL) {
3537 var22 = 1;
3538 } else {
3539 if(cltype23 >= var_tclassidnode6->type->table_size) {
3540 var22 = 0;
3541 } else {
3542 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
3543 }
3544 }
3545 if (!var22) {
3546 fprintf(stderr, "Runtime error: %s", "Assert failed");
3547 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8886);
3548 exit(1);
3549 }
3550 var25 = NEW_array__Array(&type_array__Arraykernel__Object);
3551 ((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on <var25:Array[Object]>*/;
3552 CHECK_NEW_array__Array(var25);
3553 var_listnode12 = var25;
3554 var_listnode11 = var_nodearraylist7;
3555 /* <var_listnode11:nullable Object> isa Array[Object] */
3556 cltype27 = type_array__Arraykernel__Object.color;
3557 idtype28 = type_array__Arraykernel__Object.id;
3558 if(var_listnode11 == NULL) {
3559 var26 = 0;
3560 } else {
3561 if(cltype27 >= var_listnode11->type->table_size) {
3562 var26 = 0;
3563 } else {
3564 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
3565 }
3566 }
3567 if (!var26) {
3568 fprintf(stderr, "Runtime error: %s", "Assert failed");
3569 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8889);
3570 exit(1);
3571 }
3572 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction187>*/;
3573 var_listnode12 = var29;
3574 var30 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3575 var31 = NULL;
3576 var32 = NULL;
3577 var33 = NULL;
3578 ((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>*/;
3579 CHECK_NEW_parser_nodes__AAnnotations(var30);
3580 var_pannotationsnode8 = var30;
3581 var_pexterncodeblocknode14 = var_nodearraylist8;
3582 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
3583 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
3584 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
3585 if(var_pexterncodeblocknode14 == NULL) {
3586 var34 = 1;
3587 } else {
3588 if(cltype35 >= var_pexterncodeblocknode14->type->table_size) {
3589 var34 = 0;
3590 } else {
3591 var34 = var_pexterncodeblocknode14->type->type_table[cltype35] == idtype36;
3592 }
3593 }
3594 if (!var34) {
3595 fprintf(stderr, "Runtime error: %s", "Assert failed");
3596 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8898);
3597 exit(1);
3598 }
3599 var_listnode15 = var_nodearraylist9;
3600 /* <var_listnode15:nullable Object> isa Array[Object] */
3601 cltype38 = type_array__Arraykernel__Object.color;
3602 idtype39 = type_array__Arraykernel__Object.id;
3603 if(var_listnode15 == NULL) {
3604 var37 = 0;
3605 } else {
3606 if(cltype38 >= var_listnode15->type->table_size) {
3607 var37 = 0;
3608 } else {
3609 var37 = var_listnode15->type->type_table[cltype38] == idtype39;
3610 }
3611 }
3612 if (!var37) {
3613 fprintf(stderr, "Runtime error: %s", "Assert failed");
3614 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8900);
3615 exit(1);
3616 }
3617 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction187>*/;
3618 var_listnode16 = var40;
3619 var_tkwendnode18 = var_nodearraylist11;
3620 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
3621 cltype42 = type_nullable_parser_nodes__TKwend.color;
3622 idtype43 = type_nullable_parser_nodes__TKwend.id;
3623 if(var_tkwendnode18 == NULL) {
3624 var41 = 1;
3625 } else {
3626 if(cltype42 >= var_tkwendnode18->type->table_size) {
3627 var41 = 0;
3628 } else {
3629 var41 = var_tkwendnode18->type->type_table[cltype42] == idtype43;
3630 }
3631 }
3632 if (!var41) {
3633 fprintf(stderr, "Runtime error: %s", "Assert failed");
3634 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8903);
3635 exit(1);
3636 }
3637 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3638 var45 = NULL;
3639 ((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_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var44:AStdClassdef>*/;
3640 CHECK_NEW_parser_nodes__AStdClassdef(var44);
3641 var_pclassdefnode1 = var44;
3642 var_node_list = var_pclassdefnode1;
3643 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction187> */
3644 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
3645 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
3646 RET_LABEL:;
3647 }
3648 /* method parser#ReduceAction187#action for (self: Object, Parser) */
3649 void VIRTUAL_parser__ReduceAction187__action(val* self, val* p0) {
3650 parser__ReduceAction187__action(self, p0);
3651 RET_LABEL:;
3652 }
3653 /* method parser#ReduceAction188#action for (self: ReduceAction188, Parser) */
3654 void parser__ReduceAction188__action(val* self, val* p0) {
3655 val* var_p /* var p: Parser */;
3656 val* var /* : null */;
3657 val* var_node_list /* var node_list: nullable Object */;
3658 val* var1 /* : nullable Object */;
3659 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
3660 val* var2 /* : nullable Object */;
3661 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3662 val* var3 /* : nullable Object */;
3663 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3664 val* var4 /* : nullable Object */;
3665 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3666 val* var5 /* : nullable Object */;
3667 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3668 val* var6 /* : nullable Object */;
3669 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3670 val* var7 /* : nullable Object */;
3671 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3672 val* var8 /* : nullable Object */;
3673 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3674 val* var9 /* : nullable Object */;
3675 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3676 val* var10 /* : nullable Object */;
3677 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3678 val* var11 /* : nullable Object */;
3679 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3680 val* var12 /* : nullable Object */;
3681 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3682 val* var13 /* : Array[Object] */;
3683 val* var_listnode7 /* var listnode7: Array[Object] */;
3684 val* var14 /* : Array[Object] */;
3685 val* var_listnode16 /* var listnode16: Array[Object] */;
3686 val* var15 /* : Array[Object] */;
3687 val* var_listnode17 /* var listnode17: Array[Object] */;
3688 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3689 short int var16 /* : Bool */;
3690 int cltype;
3691 int idtype;
3692 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3693 short int var17 /* : Bool */;
3694 int cltype18;
3695 int idtype19;
3696 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3697 short int var20 /* : Bool */;
3698 int cltype21;
3699 int idtype22;
3700 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3701 short int var23 /* : Bool */;
3702 int cltype24;
3703 int idtype25;
3704 val* var26 /* : Array[Object] */;
3705 val* var_listnode12 /* var listnode12: Array[Object] */;
3706 val* var_listnode11 /* var listnode11: nullable Object */;
3707 short int var27 /* : Bool */;
3708 int cltype28;
3709 int idtype29;
3710 val* var30 /* : Array[Object] */;
3711 val* var31 /* : AAnnotations */;
3712 val* var32 /* : null */;
3713 val* var33 /* : null */;
3714 val* var34 /* : null */;
3715 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3716 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
3717 short int var35 /* : Bool */;
3718 int cltype36;
3719 int idtype37;
3720 val* var_listnode15 /* var listnode15: nullable Object */;
3721 short int var38 /* : Bool */;
3722 int cltype39;
3723 int idtype40;
3724 val* var41 /* : Array[Object] */;
3725 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
3726 short int var42 /* : Bool */;
3727 int cltype43;
3728 int idtype44;
3729 val* var45 /* : AStdClassdef */;
3730 val* var46 /* : null */;
3731 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3732 long var47 /* : Int */;
3733 long var48 /* : Int */;
3734 var_p = p0;
3735 var = NULL;
3736 var_node_list = var;
3737 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3738 var_nodearraylist12 = var1;
3739 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3740 var_nodearraylist11 = var2;
3741 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3742 var_nodearraylist10 = var3;
3743 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3744 var_nodearraylist9 = var4;
3745 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3746 var_nodearraylist8 = var5;
3747 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3748 var_nodearraylist7 = var6;
3749 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3750 var_nodearraylist6 = var7;
3751 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3752 var_nodearraylist5 = var8;
3753 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3754 var_nodearraylist4 = var9;
3755 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3756 var_nodearraylist3 = var10;
3757 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3758 var_nodearraylist2 = var11;
3759 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3760 var_nodearraylist1 = var12;
3761 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3762 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3763 CHECK_NEW_array__Array(var13);
3764 var_listnode7 = var13;
3765 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3766 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3767 CHECK_NEW_array__Array(var14);
3768 var_listnode16 = var14;
3769 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
3770 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
3771 CHECK_NEW_array__Array(var15);
3772 var_listnode17 = var15;
3773 var_pdocnode2 = var_nodearraylist1;
3774 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3775 cltype = type_nullable_parser_nodes__ADoc.color;
3776 idtype = type_nullable_parser_nodes__ADoc.id;
3777 if(var_pdocnode2 == NULL) {
3778 var16 = 1;
3779 } else {
3780 if(cltype >= var_pdocnode2->type->table_size) {
3781 var16 = 0;
3782 } else {
3783 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
3784 }
3785 }
3786 if (!var16) {
3787 fprintf(stderr, "Runtime error: %s", "Assert failed");
3788 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8942);
3789 exit(1);
3790 }
3791 var_pvisibilitynode4 = var_nodearraylist2;
3792 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3793 cltype18 = type_nullable_parser_nodes__AVisibility.color;
3794 idtype19 = type_nullable_parser_nodes__AVisibility.id;
3795 if(var_pvisibilitynode4 == NULL) {
3796 var17 = 1;
3797 } else {
3798 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
3799 var17 = 0;
3800 } else {
3801 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
3802 }
3803 }
3804 if (!var17) {
3805 fprintf(stderr, "Runtime error: %s", "Assert failed");
3806 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8944);
3807 exit(1);
3808 }
3809 var_pclasskindnode5 = var_nodearraylist3;
3810 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3811 cltype21 = type_nullable_parser_nodes__AClasskind.color;
3812 idtype22 = type_nullable_parser_nodes__AClasskind.id;
3813 if(var_pclasskindnode5 == NULL) {
3814 var20 = 1;
3815 } else {
3816 if(cltype21 >= var_pclasskindnode5->type->table_size) {
3817 var20 = 0;
3818 } else {
3819 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
3820 }
3821 }
3822 if (!var20) {
3823 fprintf(stderr, "Runtime error: %s", "Assert failed");
3824 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8946);
3825 exit(1);
3826 }
3827 var_tclassidnode6 = var_nodearraylist7;
3828 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3829 cltype24 = type_nullable_parser_nodes__TClassid.color;
3830 idtype25 = type_nullable_parser_nodes__TClassid.id;
3831 if(var_tclassidnode6 == NULL) {
3832 var23 = 1;
3833 } else {
3834 if(cltype24 >= var_tclassidnode6->type->table_size) {
3835 var23 = 0;
3836 } else {
3837 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
3838 }
3839 }
3840 if (!var23) {
3841 fprintf(stderr, "Runtime error: %s", "Assert failed");
3842 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8948);
3843 exit(1);
3844 }
3845 var26 = NEW_array__Array(&type_array__Arraykernel__Object);
3846 ((void (*)(val*))(var26->class->vft[COLOR_array__Array__init]))(var26) /* init on <var26:Array[Object]>*/;
3847 CHECK_NEW_array__Array(var26);
3848 var_listnode12 = var26;
3849 var_listnode11 = var_nodearraylist8;
3850 /* <var_listnode11:nullable Object> isa Array[Object] */
3851 cltype28 = type_array__Arraykernel__Object.color;
3852 idtype29 = type_array__Arraykernel__Object.id;
3853 if(var_listnode11 == NULL) {
3854 var27 = 0;
3855 } else {
3856 if(cltype28 >= var_listnode11->type->table_size) {
3857 var27 = 0;
3858 } else {
3859 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
3860 }
3861 }
3862 if (!var27) {
3863 fprintf(stderr, "Runtime error: %s", "Assert failed");
3864 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8951);
3865 exit(1);
3866 }
3867 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction188>*/;
3868 var_listnode12 = var30;
3869 var31 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3870 var32 = NULL;
3871 var33 = NULL;
3872 var34 = NULL;
3873 ((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>*/;
3874 CHECK_NEW_parser_nodes__AAnnotations(var31);
3875 var_pannotationsnode8 = var31;
3876 var_pexterncodeblocknode14 = var_nodearraylist9;
3877 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
3878 cltype36 = type_nullable_parser_nodes__AExternCodeBlock.color;
3879 idtype37 = type_nullable_parser_nodes__AExternCodeBlock.id;
3880 if(var_pexterncodeblocknode14 == NULL) {
3881 var35 = 1;
3882 } else {
3883 if(cltype36 >= var_pexterncodeblocknode14->type->table_size) {
3884 var35 = 0;
3885 } else {
3886 var35 = var_pexterncodeblocknode14->type->type_table[cltype36] == idtype37;
3887 }
3888 }
3889 if (!var35) {
3890 fprintf(stderr, "Runtime error: %s", "Assert failed");
3891 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8960);
3892 exit(1);
3893 }
3894 var_listnode15 = var_nodearraylist10;
3895 /* <var_listnode15:nullable Object> isa Array[Object] */
3896 cltype39 = type_array__Arraykernel__Object.color;
3897 idtype40 = type_array__Arraykernel__Object.id;
3898 if(var_listnode15 == NULL) {
3899 var38 = 0;
3900 } else {
3901 if(cltype39 >= var_listnode15->type->table_size) {
3902 var38 = 0;
3903 } else {
3904 var38 = var_listnode15->type->type_table[cltype39] == idtype40;
3905 }
3906 }
3907 if (!var38) {
3908 fprintf(stderr, "Runtime error: %s", "Assert failed");
3909 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8962);
3910 exit(1);
3911 }
3912 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction188>*/;
3913 var_listnode16 = var41;
3914 var_tkwendnode18 = var_nodearraylist12;
3915 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
3916 cltype43 = type_nullable_parser_nodes__TKwend.color;
3917 idtype44 = type_nullable_parser_nodes__TKwend.id;
3918 if(var_tkwendnode18 == NULL) {
3919 var42 = 1;
3920 } else {
3921 if(cltype43 >= var_tkwendnode18->type->table_size) {
3922 var42 = 0;
3923 } else {
3924 var42 = var_tkwendnode18->type->type_table[cltype43] == idtype44;
3925 }
3926 }
3927 if (!var42) {
3928 fprintf(stderr, "Runtime error: %s", "Assert failed");
3929 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8965);
3930 exit(1);
3931 }
3932 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3933 var46 = NULL;
3934 ((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_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var45:AStdClassdef>*/;
3935 CHECK_NEW_parser_nodes__AStdClassdef(var45);
3936 var_pclassdefnode1 = var45;
3937 var_node_list = var_pclassdefnode1;
3938 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction188> */
3939 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
3940 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
3941 RET_LABEL:;
3942 }
3943 /* method parser#ReduceAction188#action for (self: Object, Parser) */
3944 void VIRTUAL_parser__ReduceAction188__action(val* self, val* p0) {
3945 parser__ReduceAction188__action(self, p0);
3946 RET_LABEL:;
3947 }
3948 /* method parser#ReduceAction190#action for (self: ReduceAction190, Parser) */
3949 void parser__ReduceAction190__action(val* self, val* p0) {
3950 val* var_p /* var p: Parser */;
3951 val* var /* : null */;
3952 val* var_node_list /* var node_list: nullable Object */;
3953 val* var1 /* : nullable Object */;
3954 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
3955 val* var2 /* : nullable Object */;
3956 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3957 val* var3 /* : nullable Object */;
3958 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3959 val* var4 /* : nullable Object */;
3960 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3961 val* var5 /* : nullable Object */;
3962 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3963 val* var6 /* : nullable Object */;
3964 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3965 val* var7 /* : nullable Object */;
3966 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3967 val* var8 /* : nullable Object */;
3968 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3969 val* var9 /* : nullable Object */;
3970 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3971 val* var10 /* : nullable Object */;
3972 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3973 val* var11 /* : nullable Object */;
3974 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3975 val* var12 /* : nullable Object */;
3976 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3977 val* var13 /* : Array[Object] */;
3978 val* var_listnode7 /* var listnode7: Array[Object] */;
3979 val* var14 /* : Array[Object] */;
3980 val* var_listnode16 /* var listnode16: Array[Object] */;
3981 val* var15 /* : Array[Object] */;
3982 val* var_listnode17 /* var listnode17: Array[Object] */;
3983 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3984 short int var16 /* : Bool */;
3985 int cltype;
3986 int idtype;
3987 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3988 short int var17 /* : Bool */;
3989 int cltype18;
3990 int idtype19;
3991 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3992 short int var20 /* : Bool */;
3993 int cltype21;
3994 int idtype22;
3995 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3996 short int var23 /* : Bool */;
3997 int cltype24;
3998 int idtype25;
3999 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4000 short int var26 /* : Bool */;
4001 int cltype27;
4002 int idtype28;
4003 val* var29 /* : Array[Object] */;
4004 val* var_listnode12 /* var listnode12: Array[Object] */;
4005 val* var_listnode11 /* var listnode11: nullable Object */;
4006 short int var30 /* : Bool */;
4007 int cltype31;
4008 int idtype32;
4009 val* var33 /* : Array[Object] */;
4010 val* var34 /* : AAnnotations */;
4011 val* var35 /* : null */;
4012 val* var36 /* : null */;
4013 val* var37 /* : null */;
4014 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
4015 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
4016 short int var38 /* : Bool */;
4017 int cltype39;
4018 int idtype40;
4019 val* var_listnode15 /* var listnode15: nullable Object */;
4020 short int var41 /* : Bool */;
4021 int cltype42;
4022 int idtype43;
4023 val* var44 /* : Array[Object] */;
4024 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
4025 short int var45 /* : Bool */;
4026 int cltype46;
4027 int idtype47;
4028 val* var48 /* : AStdClassdef */;
4029 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4030 long var49 /* : Int */;
4031 long var50 /* : Int */;
4032 var_p = p0;
4033 var = NULL;
4034 var_node_list = var;
4035 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4036 var_nodearraylist12 = var1;
4037 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4038 var_nodearraylist11 = var2;
4039 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4040 var_nodearraylist10 = var3;
4041 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4042 var_nodearraylist9 = var4;
4043 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4044 var_nodearraylist8 = var5;
4045 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4046 var_nodearraylist7 = var6;
4047 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4048 var_nodearraylist6 = var7;
4049 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4050 var_nodearraylist5 = var8;
4051 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4052 var_nodearraylist4 = var9;
4053 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4054 var_nodearraylist3 = var10;
4055 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4056 var_nodearraylist2 = var11;
4057 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4058 var_nodearraylist1 = var12;
4059 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4060 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4061 CHECK_NEW_array__Array(var13);
4062 var_listnode7 = var13;
4063 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4064 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4065 CHECK_NEW_array__Array(var14);
4066 var_listnode16 = var14;
4067 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
4068 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
4069 CHECK_NEW_array__Array(var15);
4070 var_listnode17 = var15;
4071 var_pdocnode2 = var_nodearraylist1;
4072 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4073 cltype = type_nullable_parser_nodes__ADoc.color;
4074 idtype = type_nullable_parser_nodes__ADoc.id;
4075 if(var_pdocnode2 == NULL) {
4076 var16 = 1;
4077 } else {
4078 if(cltype >= var_pdocnode2->type->table_size) {
4079 var16 = 0;
4080 } else {
4081 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
4082 }
4083 }
4084 if (!var16) {
4085 fprintf(stderr, "Runtime error: %s", "Assert failed");
4086 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9004);
4087 exit(1);
4088 }
4089 var_tkwredefnode3 = var_nodearraylist2;
4090 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4091 cltype18 = type_nullable_parser_nodes__TKwredef.color;
4092 idtype19 = type_nullable_parser_nodes__TKwredef.id;
4093 if(var_tkwredefnode3 == NULL) {
4094 var17 = 1;
4095 } else {
4096 if(cltype18 >= var_tkwredefnode3->type->table_size) {
4097 var17 = 0;
4098 } else {
4099 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
4100 }
4101 }
4102 if (!var17) {
4103 fprintf(stderr, "Runtime error: %s", "Assert failed");
4104 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9006);
4105 exit(1);
4106 }
4107 var_pvisibilitynode4 = var_nodearraylist3;
4108 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4109 cltype21 = type_nullable_parser_nodes__AVisibility.color;
4110 idtype22 = type_nullable_parser_nodes__AVisibility.id;
4111 if(var_pvisibilitynode4 == NULL) {
4112 var20 = 1;
4113 } else {
4114 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
4115 var20 = 0;
4116 } else {
4117 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
4118 }
4119 }
4120 if (!var20) {
4121 fprintf(stderr, "Runtime error: %s", "Assert failed");
4122 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9008);
4123 exit(1);
4124 }
4125 var_pclasskindnode5 = var_nodearraylist4;
4126 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4127 cltype24 = type_nullable_parser_nodes__AClasskind.color;
4128 idtype25 = type_nullable_parser_nodes__AClasskind.id;
4129 if(var_pclasskindnode5 == NULL) {
4130 var23 = 1;
4131 } else {
4132 if(cltype24 >= var_pclasskindnode5->type->table_size) {
4133 var23 = 0;
4134 } else {
4135 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
4136 }
4137 }
4138 if (!var23) {
4139 fprintf(stderr, "Runtime error: %s", "Assert failed");
4140 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9010);
4141 exit(1);
4142 }
4143 var_tclassidnode6 = var_nodearraylist7;
4144 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4145 cltype27 = type_nullable_parser_nodes__TClassid.color;
4146 idtype28 = type_nullable_parser_nodes__TClassid.id;
4147 if(var_tclassidnode6 == NULL) {
4148 var26 = 1;
4149 } else {
4150 if(cltype27 >= var_tclassidnode6->type->table_size) {
4151 var26 = 0;
4152 } else {
4153 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
4154 }
4155 }
4156 if (!var26) {
4157 fprintf(stderr, "Runtime error: %s", "Assert failed");
4158 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9012);
4159 exit(1);
4160 }
4161 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
4162 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
4163 CHECK_NEW_array__Array(var29);
4164 var_listnode12 = var29;
4165 var_listnode11 = var_nodearraylist8;
4166 /* <var_listnode11:nullable Object> isa Array[Object] */
4167 cltype31 = type_array__Arraykernel__Object.color;
4168 idtype32 = type_array__Arraykernel__Object.id;
4169 if(var_listnode11 == NULL) {
4170 var30 = 0;
4171 } else {
4172 if(cltype31 >= var_listnode11->type->table_size) {
4173 var30 = 0;
4174 } else {
4175 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
4176 }
4177 }
4178 if (!var30) {
4179 fprintf(stderr, "Runtime error: %s", "Assert failed");
4180 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9015);
4181 exit(1);
4182 }
4183 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction190>*/;
4184 var_listnode12 = var33;
4185 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4186 var35 = NULL;
4187 var36 = NULL;
4188 var37 = NULL;
4189 ((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>*/;
4190 CHECK_NEW_parser_nodes__AAnnotations(var34);
4191 var_pannotationsnode8 = var34;
4192 var_pexterncodeblocknode14 = var_nodearraylist9;
4193 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
4194 cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color;
4195 idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id;
4196 if(var_pexterncodeblocknode14 == NULL) {
4197 var38 = 1;
4198 } else {
4199 if(cltype39 >= var_pexterncodeblocknode14->type->table_size) {
4200 var38 = 0;
4201 } else {
4202 var38 = var_pexterncodeblocknode14->type->type_table[cltype39] == idtype40;
4203 }
4204 }
4205 if (!var38) {
4206 fprintf(stderr, "Runtime error: %s", "Assert failed");
4207 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9024);
4208 exit(1);
4209 }
4210 var_listnode15 = var_nodearraylist10;
4211 /* <var_listnode15:nullable Object> isa Array[Object] */
4212 cltype42 = type_array__Arraykernel__Object.color;
4213 idtype43 = type_array__Arraykernel__Object.id;
4214 if(var_listnode15 == NULL) {
4215 var41 = 0;
4216 } else {
4217 if(cltype42 >= var_listnode15->type->table_size) {
4218 var41 = 0;
4219 } else {
4220 var41 = var_listnode15->type->type_table[cltype42] == idtype43;
4221 }
4222 }
4223 if (!var41) {
4224 fprintf(stderr, "Runtime error: %s", "Assert failed");
4225 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9026);
4226 exit(1);
4227 }
4228 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction190>*/;
4229 var_listnode16 = var44;
4230 var_tkwendnode18 = var_nodearraylist12;
4231 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
4232 cltype46 = type_nullable_parser_nodes__TKwend.color;
4233 idtype47 = type_nullable_parser_nodes__TKwend.id;
4234 if(var_tkwendnode18 == NULL) {
4235 var45 = 1;
4236 } else {
4237 if(cltype46 >= var_tkwendnode18->type->table_size) {
4238 var45 = 0;
4239 } else {
4240 var45 = var_tkwendnode18->type->type_table[cltype46] == idtype47;
4241 }
4242 }
4243 if (!var45) {
4244 fprintf(stderr, "Runtime error: %s", "Assert failed");
4245 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9029);
4246 exit(1);
4247 }
4248 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4249 ((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_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var48:AStdClassdef>*/;
4250 CHECK_NEW_parser_nodes__AStdClassdef(var48);
4251 var_pclassdefnode1 = var48;
4252 var_node_list = var_pclassdefnode1;
4253 var49 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction190> */
4254 var50 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var49) /* go_to on <var_p:Parser>*/;
4255 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var50, var_node_list) /* push on <var_p:Parser>*/;
4256 RET_LABEL:;
4257 }
4258 /* method parser#ReduceAction190#action for (self: Object, Parser) */
4259 void VIRTUAL_parser__ReduceAction190__action(val* self, val* p0) {
4260 parser__ReduceAction190__action(self, p0);
4261 RET_LABEL:;
4262 }
4263 /* method parser#ReduceAction191#action for (self: ReduceAction191, Parser) */
4264 void parser__ReduceAction191__action(val* self, val* p0) {
4265 val* var_p /* var p: Parser */;
4266 val* var /* : null */;
4267 val* var_node_list /* var node_list: nullable Object */;
4268 val* var1 /* : nullable Object */;
4269 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
4270 val* var2 /* : nullable Object */;
4271 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4272 val* var3 /* : nullable Object */;
4273 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4274 val* var4 /* : nullable Object */;
4275 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4276 val* var5 /* : nullable Object */;
4277 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4278 val* var6 /* : nullable Object */;
4279 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4280 val* var7 /* : nullable Object */;
4281 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4282 val* var8 /* : nullable Object */;
4283 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4284 val* var9 /* : nullable Object */;
4285 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4286 val* var10 /* : nullable Object */;
4287 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4288 val* var11 /* : nullable Object */;
4289 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4290 val* var12 /* : nullable Object */;
4291 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4292 val* var13 /* : nullable Object */;
4293 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4294 val* var14 /* : Array[Object] */;
4295 val* var_listnode7 /* var listnode7: Array[Object] */;
4296 val* var15 /* : Array[Object] */;
4297 val* var_listnode16 /* var listnode16: Array[Object] */;
4298 val* var16 /* : Array[Object] */;
4299 val* var_listnode17 /* var listnode17: Array[Object] */;
4300 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4301 short int var17 /* : Bool */;
4302 int cltype;
4303 int idtype;
4304 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4305 short int var18 /* : Bool */;
4306 int cltype19;
4307 int idtype20;
4308 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4309 short int var21 /* : Bool */;
4310 int cltype22;
4311 int idtype23;
4312 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4313 short int var24 /* : Bool */;
4314 int cltype25;
4315 int idtype26;
4316 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4317 short int var27 /* : Bool */;
4318 int cltype28;
4319 int idtype29;
4320 val* var30 /* : Array[Object] */;
4321 val* var_listnode12 /* var listnode12: Array[Object] */;
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* var35 /* : AAnnotations */;
4328 val* var36 /* : null */;
4329 val* var37 /* : null */;
4330 val* var38 /* : null */;
4331 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
4332 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
4333 short int var39 /* : Bool */;
4334 int cltype40;
4335 int idtype41;
4336 val* var_listnode15 /* var listnode15: nullable Object */;
4337 short int var42 /* : Bool */;
4338 int cltype43;
4339 int idtype44;
4340 val* var45 /* : Array[Object] */;
4341 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
4342 short int var46 /* : Bool */;
4343 int cltype47;
4344 int idtype48;
4345 val* var49 /* : AStdClassdef */;
4346 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4347 long var50 /* : Int */;
4348 long var51 /* : Int */;
4349 var_p = p0;
4350 var = NULL;
4351 var_node_list = var;
4352 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4353 var_nodearraylist13 = var1;
4354 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4355 var_nodearraylist12 = var2;
4356 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4357 var_nodearraylist11 = var3;
4358 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4359 var_nodearraylist10 = var4;
4360 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4361 var_nodearraylist9 = var5;
4362 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4363 var_nodearraylist8 = var6;
4364 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4365 var_nodearraylist7 = var7;
4366 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4367 var_nodearraylist6 = var8;
4368 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4369 var_nodearraylist5 = var9;
4370 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4371 var_nodearraylist4 = var10;
4372 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4373 var_nodearraylist3 = var11;
4374 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4375 var_nodearraylist2 = var12;
4376 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4377 var_nodearraylist1 = var13;
4378 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4379 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4380 CHECK_NEW_array__Array(var14);
4381 var_listnode7 = var14;
4382 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
4383 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
4384 CHECK_NEW_array__Array(var15);
4385 var_listnode16 = var15;
4386 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
4387 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
4388 CHECK_NEW_array__Array(var16);
4389 var_listnode17 = var16;
4390 var_pdocnode2 = var_nodearraylist1;
4391 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4392 cltype = type_nullable_parser_nodes__ADoc.color;
4393 idtype = type_nullable_parser_nodes__ADoc.id;
4394 if(var_pdocnode2 == NULL) {
4395 var17 = 1;
4396 } else {
4397 if(cltype >= var_pdocnode2->type->table_size) {
4398 var17 = 0;
4399 } else {
4400 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
4401 }
4402 }
4403 if (!var17) {
4404 fprintf(stderr, "Runtime error: %s", "Assert failed");
4405 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9069);
4406 exit(1);
4407 }
4408 var_tkwredefnode3 = var_nodearraylist2;
4409 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4410 cltype19 = type_nullable_parser_nodes__TKwredef.color;
4411 idtype20 = type_nullable_parser_nodes__TKwredef.id;
4412 if(var_tkwredefnode3 == NULL) {
4413 var18 = 1;
4414 } else {
4415 if(cltype19 >= var_tkwredefnode3->type->table_size) {
4416 var18 = 0;
4417 } else {
4418 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
4419 }
4420 }
4421 if (!var18) {
4422 fprintf(stderr, "Runtime error: %s", "Assert failed");
4423 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9071);
4424 exit(1);
4425 }
4426 var_pvisibilitynode4 = var_nodearraylist3;
4427 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4428 cltype22 = type_nullable_parser_nodes__AVisibility.color;
4429 idtype23 = type_nullable_parser_nodes__AVisibility.id;
4430 if(var_pvisibilitynode4 == NULL) {
4431 var21 = 1;
4432 } else {
4433 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
4434 var21 = 0;
4435 } else {
4436 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
4437 }
4438 }
4439 if (!var21) {
4440 fprintf(stderr, "Runtime error: %s", "Assert failed");
4441 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9073);
4442 exit(1);
4443 }
4444 var_pclasskindnode5 = var_nodearraylist4;
4445 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4446 cltype25 = type_nullable_parser_nodes__AClasskind.color;
4447 idtype26 = type_nullable_parser_nodes__AClasskind.id;
4448 if(var_pclasskindnode5 == NULL) {
4449 var24 = 1;
4450 } else {
4451 if(cltype25 >= var_pclasskindnode5->type->table_size) {
4452 var24 = 0;
4453 } else {
4454 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
4455 }
4456 }
4457 if (!var24) {
4458 fprintf(stderr, "Runtime error: %s", "Assert failed");
4459 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9075);
4460 exit(1);
4461 }
4462 var_tclassidnode6 = var_nodearraylist8;
4463 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4464 cltype28 = type_nullable_parser_nodes__TClassid.color;
4465 idtype29 = type_nullable_parser_nodes__TClassid.id;
4466 if(var_tclassidnode6 == NULL) {
4467 var27 = 1;
4468 } else {
4469 if(cltype28 >= var_tclassidnode6->type->table_size) {
4470 var27 = 0;
4471 } else {
4472 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
4473 }
4474 }
4475 if (!var27) {
4476 fprintf(stderr, "Runtime error: %s", "Assert failed");
4477 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9077);
4478 exit(1);
4479 }
4480 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
4481 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
4482 CHECK_NEW_array__Array(var30);
4483 var_listnode12 = var30;
4484 var_listnode11 = var_nodearraylist9;
4485 /* <var_listnode11:nullable Object> isa Array[Object] */
4486 cltype32 = type_array__Arraykernel__Object.color;
4487 idtype33 = type_array__Arraykernel__Object.id;
4488 if(var_listnode11 == NULL) {
4489 var31 = 0;
4490 } else {
4491 if(cltype32 >= var_listnode11->type->table_size) {
4492 var31 = 0;
4493 } else {
4494 var31 = var_listnode11->type->type_table[cltype32] == idtype33;
4495 }
4496 }
4497 if (!var31) {
4498 fprintf(stderr, "Runtime error: %s", "Assert failed");
4499 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9080);
4500 exit(1);
4501 }
4502 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction191>*/;
4503 var_listnode12 = var34;
4504 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4505 var36 = NULL;
4506 var37 = NULL;
4507 var38 = NULL;
4508 ((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>*/;
4509 CHECK_NEW_parser_nodes__AAnnotations(var35);
4510 var_pannotationsnode8 = var35;
4511 var_pexterncodeblocknode14 = var_nodearraylist10;
4512 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
4513 cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color;
4514 idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id;
4515 if(var_pexterncodeblocknode14 == NULL) {
4516 var39 = 1;
4517 } else {
4518 if(cltype40 >= var_pexterncodeblocknode14->type->table_size) {
4519 var39 = 0;
4520 } else {
4521 var39 = var_pexterncodeblocknode14->type->type_table[cltype40] == idtype41;
4522 }
4523 }
4524 if (!var39) {
4525 fprintf(stderr, "Runtime error: %s", "Assert failed");
4526 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9089);
4527 exit(1);
4528 }
4529 var_listnode15 = var_nodearraylist11;
4530 /* <var_listnode15:nullable Object> isa Array[Object] */
4531 cltype43 = type_array__Arraykernel__Object.color;
4532 idtype44 = type_array__Arraykernel__Object.id;
4533 if(var_listnode15 == NULL) {
4534 var42 = 0;
4535 } else {
4536 if(cltype43 >= var_listnode15->type->table_size) {
4537 var42 = 0;
4538 } else {
4539 var42 = var_listnode15->type->type_table[cltype43] == idtype44;
4540 }
4541 }
4542 if (!var42) {
4543 fprintf(stderr, "Runtime error: %s", "Assert failed");
4544 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9091);
4545 exit(1);
4546 }
4547 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction191>*/;
4548 var_listnode16 = var45;
4549 var_tkwendnode18 = var_nodearraylist13;
4550 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
4551 cltype47 = type_nullable_parser_nodes__TKwend.color;
4552 idtype48 = type_nullable_parser_nodes__TKwend.id;
4553 if(var_tkwendnode18 == NULL) {
4554 var46 = 1;
4555 } else {
4556 if(cltype47 >= var_tkwendnode18->type->table_size) {
4557 var46 = 0;
4558 } else {
4559 var46 = var_tkwendnode18->type->type_table[cltype47] == idtype48;
4560 }
4561 }
4562 if (!var46) {
4563 fprintf(stderr, "Runtime error: %s", "Assert failed");
4564 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9094);
4565 exit(1);
4566 }
4567 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4568 ((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_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var49:AStdClassdef>*/;
4569 CHECK_NEW_parser_nodes__AStdClassdef(var49);
4570 var_pclassdefnode1 = var49;
4571 var_node_list = var_pclassdefnode1;
4572 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction191> */
4573 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
4574 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
4575 RET_LABEL:;
4576 }
4577 /* method parser#ReduceAction191#action for (self: Object, Parser) */
4578 void VIRTUAL_parser__ReduceAction191__action(val* self, val* p0) {
4579 parser__ReduceAction191__action(self, p0);
4580 RET_LABEL:;
4581 }
4582 /* method parser#ReduceAction193#action for (self: ReduceAction193, Parser) */
4583 void parser__ReduceAction193__action(val* self, val* p0) {
4584 val* var_p /* var p: Parser */;
4585 val* var /* : null */;
4586 val* var_node_list /* var node_list: nullable Object */;
4587 val* var1 /* : nullable Object */;
4588 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4589 val* var2 /* : nullable Object */;
4590 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4591 val* var3 /* : nullable Object */;
4592 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4593 val* var4 /* : nullable Object */;
4594 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4595 val* var5 /* : nullable Object */;
4596 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4597 val* var6 /* : nullable Object */;
4598 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4599 val* var7 /* : nullable Object */;
4600 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4601 val* var8 /* : nullable Object */;
4602 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4603 val* var9 /* : nullable Object */;
4604 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4605 val* var10 /* : nullable Object */;
4606 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4607 val* var11 /* : nullable Object */;
4608 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4609 val* var12 /* : Array[Object] */;
4610 val* var_listnode8 /* var listnode8: Array[Object] */;
4611 val* var13 /* : Array[Object] */;
4612 val* var_listnode17 /* var listnode17: Array[Object] */;
4613 val* var14 /* : Array[Object] */;
4614 val* var_listnode18 /* var listnode18: Array[Object] */;
4615 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4616 short int var15 /* : Bool */;
4617 int cltype;
4618 int idtype;
4619 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4620 short int var16 /* : Bool */;
4621 int cltype17;
4622 int idtype18;
4623 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4624 short int var19 /* : Bool */;
4625 int cltype20;
4626 int idtype21;
4627 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4628 short int var22 /* : Bool */;
4629 int cltype23;
4630 int idtype24;
4631 val* var_listnode7 /* var listnode7: nullable Object */;
4632 short int var25 /* : Bool */;
4633 int cltype26;
4634 int idtype27;
4635 val* var28 /* : Array[Object] */;
4636 val* var29 /* : Array[Object] */;
4637 val* var_listnode13 /* var listnode13: Array[Object] */;
4638 val* var_listnode12 /* var listnode12: nullable Object */;
4639 short int var30 /* : Bool */;
4640 int cltype31;
4641 int idtype32;
4642 val* var33 /* : Array[Object] */;
4643 val* var34 /* : AAnnotations */;
4644 val* var35 /* : null */;
4645 val* var36 /* : null */;
4646 val* var37 /* : null */;
4647 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4648 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
4649 short int var38 /* : Bool */;
4650 int cltype39;
4651 int idtype40;
4652 val* var_listnode16 /* var listnode16: nullable Object */;
4653 short int var41 /* : Bool */;
4654 int cltype42;
4655 int idtype43;
4656 val* var44 /* : Array[Object] */;
4657 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
4658 short int var45 /* : Bool */;
4659 int cltype46;
4660 int idtype47;
4661 val* var48 /* : AStdClassdef */;
4662 val* var49 /* : null */;
4663 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4664 long var50 /* : Int */;
4665 long var51 /* : Int */;
4666 var_p = p0;
4667 var = NULL;
4668 var_node_list = var;
4669 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4670 var_nodearraylist11 = var1;
4671 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4672 var_nodearraylist10 = var2;
4673 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4674 var_nodearraylist9 = var3;
4675 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4676 var_nodearraylist8 = var4;
4677 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4678 var_nodearraylist7 = var5;
4679 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4680 var_nodearraylist6 = var6;
4681 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4682 var_nodearraylist5 = var7;
4683 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4684 var_nodearraylist4 = var8;
4685 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4686 var_nodearraylist3 = var9;
4687 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4688 var_nodearraylist2 = var10;
4689 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4690 var_nodearraylist1 = var11;
4691 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4692 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4693 CHECK_NEW_array__Array(var12);
4694 var_listnode8 = var12;
4695 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4696 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4697 CHECK_NEW_array__Array(var13);
4698 var_listnode17 = var13;
4699 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4700 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4701 CHECK_NEW_array__Array(var14);
4702 var_listnode18 = var14;
4703 var_pdocnode2 = var_nodearraylist1;
4704 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4705 cltype = type_nullable_parser_nodes__ADoc.color;
4706 idtype = type_nullable_parser_nodes__ADoc.id;
4707 if(var_pdocnode2 == NULL) {
4708 var15 = 1;
4709 } else {
4710 if(cltype >= var_pdocnode2->type->table_size) {
4711 var15 = 0;
4712 } else {
4713 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
4714 }
4715 }
4716 if (!var15) {
4717 fprintf(stderr, "Runtime error: %s", "Assert failed");
4718 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9132);
4719 exit(1);
4720 }
4721 var_pvisibilitynode4 = var_nodearraylist2;
4722 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4723 cltype17 = type_nullable_parser_nodes__AVisibility.color;
4724 idtype18 = type_nullable_parser_nodes__AVisibility.id;
4725 if(var_pvisibilitynode4 == NULL) {
4726 var16 = 1;
4727 } else {
4728 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
4729 var16 = 0;
4730 } else {
4731 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
4732 }
4733 }
4734 if (!var16) {
4735 fprintf(stderr, "Runtime error: %s", "Assert failed");
4736 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9134);
4737 exit(1);
4738 }
4739 var_pclasskindnode5 = var_nodearraylist3;
4740 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4741 cltype20 = type_nullable_parser_nodes__AClasskind.color;
4742 idtype21 = type_nullable_parser_nodes__AClasskind.id;
4743 if(var_pclasskindnode5 == NULL) {
4744 var19 = 1;
4745 } else {
4746 if(cltype20 >= var_pclasskindnode5->type->table_size) {
4747 var19 = 0;
4748 } else {
4749 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
4750 }
4751 }
4752 if (!var19) {
4753 fprintf(stderr, "Runtime error: %s", "Assert failed");
4754 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9136);
4755 exit(1);
4756 }
4757 var_tclassidnode6 = var_nodearraylist5;
4758 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4759 cltype23 = type_nullable_parser_nodes__TClassid.color;
4760 idtype24 = type_nullable_parser_nodes__TClassid.id;
4761 if(var_tclassidnode6 == NULL) {
4762 var22 = 1;
4763 } else {
4764 if(cltype23 >= var_tclassidnode6->type->table_size) {
4765 var22 = 0;
4766 } else {
4767 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
4768 }
4769 }
4770 if (!var22) {
4771 fprintf(stderr, "Runtime error: %s", "Assert failed");
4772 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9138);
4773 exit(1);
4774 }
4775 var_listnode7 = var_nodearraylist6;
4776 /* <var_listnode7:nullable Object> isa Array[Object] */
4777 cltype26 = type_array__Arraykernel__Object.color;
4778 idtype27 = type_array__Arraykernel__Object.id;
4779 if(var_listnode7 == NULL) {
4780 var25 = 0;
4781 } else {
4782 if(cltype26 >= var_listnode7->type->table_size) {
4783 var25 = 0;
4784 } else {
4785 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
4786 }
4787 }
4788 if (!var25) {
4789 fprintf(stderr, "Runtime error: %s", "Assert failed");
4790 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9140);
4791 exit(1);
4792 }
4793 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction193>*/;
4794 var_listnode8 = var28;
4795 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
4796 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
4797 CHECK_NEW_array__Array(var29);
4798 var_listnode13 = var29;
4799 var_listnode12 = var_nodearraylist7;
4800 /* <var_listnode12:nullable Object> isa Array[Object] */
4801 cltype31 = type_array__Arraykernel__Object.color;
4802 idtype32 = type_array__Arraykernel__Object.id;
4803 if(var_listnode12 == NULL) {
4804 var30 = 0;
4805 } else {
4806 if(cltype31 >= var_listnode12->type->table_size) {
4807 var30 = 0;
4808 } else {
4809 var30 = var_listnode12->type->type_table[cltype31] == idtype32;
4810 }
4811 }
4812 if (!var30) {
4813 fprintf(stderr, "Runtime error: %s", "Assert failed");
4814 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9144);
4815 exit(1);
4816 }
4817 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction193>*/;
4818 var_listnode13 = var33;
4819 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4820 var35 = NULL;
4821 var36 = NULL;
4822 var37 = NULL;
4823 ((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>*/;
4824 CHECK_NEW_parser_nodes__AAnnotations(var34);
4825 var_pannotationsnode9 = var34;
4826 var_pexterncodeblocknode15 = var_nodearraylist8;
4827 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
4828 cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color;
4829 idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id;
4830 if(var_pexterncodeblocknode15 == NULL) {
4831 var38 = 1;
4832 } else {
4833 if(cltype39 >= var_pexterncodeblocknode15->type->table_size) {
4834 var38 = 0;
4835 } else {
4836 var38 = var_pexterncodeblocknode15->type->type_table[cltype39] == idtype40;
4837 }
4838 }
4839 if (!var38) {
4840 fprintf(stderr, "Runtime error: %s", "Assert failed");
4841 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9153);
4842 exit(1);
4843 }
4844 var_listnode16 = var_nodearraylist9;
4845 /* <var_listnode16:nullable Object> isa Array[Object] */
4846 cltype42 = type_array__Arraykernel__Object.color;
4847 idtype43 = type_array__Arraykernel__Object.id;
4848 if(var_listnode16 == NULL) {
4849 var41 = 0;
4850 } else {
4851 if(cltype42 >= var_listnode16->type->table_size) {
4852 var41 = 0;
4853 } else {
4854 var41 = var_listnode16->type->type_table[cltype42] == idtype43;
4855 }
4856 }
4857 if (!var41) {
4858 fprintf(stderr, "Runtime error: %s", "Assert failed");
4859 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9155);
4860 exit(1);
4861 }
4862 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction193>*/;
4863 var_listnode17 = var44;
4864 var_tkwendnode19 = var_nodearraylist11;
4865 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
4866 cltype46 = type_nullable_parser_nodes__TKwend.color;
4867 idtype47 = type_nullable_parser_nodes__TKwend.id;
4868 if(var_tkwendnode19 == NULL) {
4869 var45 = 1;
4870 } else {
4871 if(cltype46 >= var_tkwendnode19->type->table_size) {
4872 var45 = 0;
4873 } else {
4874 var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47;
4875 }
4876 }
4877 if (!var45) {
4878 fprintf(stderr, "Runtime error: %s", "Assert failed");
4879 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9158);
4880 exit(1);
4881 }
4882 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4883 var49 = NULL;
4884 ((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_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var48:AStdClassdef>*/;
4885 CHECK_NEW_parser_nodes__AStdClassdef(var48);
4886 var_pclassdefnode1 = var48;
4887 var_node_list = var_pclassdefnode1;
4888 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction193> */
4889 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
4890 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
4891 RET_LABEL:;
4892 }
4893 /* method parser#ReduceAction193#action for (self: Object, Parser) */
4894 void VIRTUAL_parser__ReduceAction193__action(val* self, val* p0) {
4895 parser__ReduceAction193__action(self, p0);
4896 RET_LABEL:;
4897 }
4898 /* method parser#ReduceAction194#action for (self: ReduceAction194, Parser) */
4899 void parser__ReduceAction194__action(val* self, val* p0) {
4900 val* var_p /* var p: Parser */;
4901 val* var /* : null */;
4902 val* var_node_list /* var node_list: nullable Object */;
4903 val* var1 /* : nullable Object */;
4904 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4905 val* var2 /* : nullable Object */;
4906 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4907 val* var3 /* : nullable Object */;
4908 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4909 val* var4 /* : nullable Object */;
4910 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4911 val* var5 /* : nullable Object */;
4912 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4913 val* var6 /* : nullable Object */;
4914 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4915 val* var7 /* : nullable Object */;
4916 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4917 val* var8 /* : nullable Object */;
4918 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4919 val* var9 /* : nullable Object */;
4920 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4921 val* var10 /* : nullable Object */;
4922 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4923 val* var11 /* : nullable Object */;
4924 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4925 val* var12 /* : nullable Object */;
4926 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4927 val* var13 /* : Array[Object] */;
4928 val* var_listnode8 /* var listnode8: Array[Object] */;
4929 val* var14 /* : Array[Object] */;
4930 val* var_listnode17 /* var listnode17: Array[Object] */;
4931 val* var15 /* : Array[Object] */;
4932 val* var_listnode18 /* var listnode18: Array[Object] */;
4933 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4934 short int var16 /* : Bool */;
4935 int cltype;
4936 int idtype;
4937 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4938 short int var17 /* : Bool */;
4939 int cltype18;
4940 int idtype19;
4941 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4942 short int var20 /* : Bool */;
4943 int cltype21;
4944 int idtype22;
4945 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4946 short int var23 /* : Bool */;
4947 int cltype24;
4948 int idtype25;
4949 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4950 short int var26 /* : Bool */;
4951 int cltype27;
4952 int idtype28;
4953 val* var_listnode7 /* var listnode7: nullable Object */;
4954 short int var29 /* : Bool */;
4955 int cltype30;
4956 int idtype31;
4957 val* var32 /* : Array[Object] */;
4958 val* var33 /* : Array[Object] */;
4959 val* var_listnode13 /* var listnode13: Array[Object] */;
4960 val* var_listnode12 /* var listnode12: nullable Object */;
4961 short int var34 /* : Bool */;
4962 int cltype35;
4963 int idtype36;
4964 val* var37 /* : Array[Object] */;
4965 val* var38 /* : AAnnotations */;
4966 val* var39 /* : null */;
4967 val* var40 /* : null */;
4968 val* var41 /* : null */;
4969 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4970 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
4971 short int var42 /* : Bool */;
4972 int cltype43;
4973 int idtype44;
4974 val* var_listnode16 /* var listnode16: nullable Object */;
4975 short int var45 /* : Bool */;
4976 int cltype46;
4977 int idtype47;
4978 val* var48 /* : Array[Object] */;
4979 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
4980 short int var49 /* : Bool */;
4981 int cltype50;
4982 int idtype51;
4983 val* var52 /* : AStdClassdef */;
4984 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4985 long var53 /* : Int */;
4986 long var54 /* : Int */;
4987 var_p = p0;
4988 var = NULL;
4989 var_node_list = var;
4990 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4991 var_nodearraylist12 = var1;
4992 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4993 var_nodearraylist11 = var2;
4994 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4995 var_nodearraylist10 = var3;
4996 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4997 var_nodearraylist9 = var4;
4998 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4999 var_nodearraylist8 = var5;
5000 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5001 var_nodearraylist7 = var6;
5002 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5003 var_nodearraylist6 = var7;
5004 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5005 var_nodearraylist5 = var8;
5006 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5007 var_nodearraylist4 = var9;
5008 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5009 var_nodearraylist3 = var10;
5010 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5011 var_nodearraylist2 = var11;
5012 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5013 var_nodearraylist1 = var12;
5014 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5015 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5016 CHECK_NEW_array__Array(var13);
5017 var_listnode8 = var13;
5018 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5019 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5020 CHECK_NEW_array__Array(var14);
5021 var_listnode17 = var14;
5022 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
5023 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
5024 CHECK_NEW_array__Array(var15);
5025 var_listnode18 = var15;
5026 var_pdocnode2 = var_nodearraylist1;
5027 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5028 cltype = type_nullable_parser_nodes__ADoc.color;
5029 idtype = type_nullable_parser_nodes__ADoc.id;
5030 if(var_pdocnode2 == NULL) {
5031 var16 = 1;
5032 } else {
5033 if(cltype >= var_pdocnode2->type->table_size) {
5034 var16 = 0;
5035 } else {
5036 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
5037 }
5038 }
5039 if (!var16) {
5040 fprintf(stderr, "Runtime error: %s", "Assert failed");
5041 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9197);
5042 exit(1);
5043 }
5044 var_tkwredefnode3 = var_nodearraylist2;
5045 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5046 cltype18 = type_nullable_parser_nodes__TKwredef.color;
5047 idtype19 = type_nullable_parser_nodes__TKwredef.id;
5048 if(var_tkwredefnode3 == NULL) {
5049 var17 = 1;
5050 } else {
5051 if(cltype18 >= var_tkwredefnode3->type->table_size) {
5052 var17 = 0;
5053 } else {
5054 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
5055 }
5056 }
5057 if (!var17) {
5058 fprintf(stderr, "Runtime error: %s", "Assert failed");
5059 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9199);
5060 exit(1);
5061 }
5062 var_pvisibilitynode4 = var_nodearraylist3;
5063 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5064 cltype21 = type_nullable_parser_nodes__AVisibility.color;
5065 idtype22 = type_nullable_parser_nodes__AVisibility.id;
5066 if(var_pvisibilitynode4 == NULL) {
5067 var20 = 1;
5068 } else {
5069 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
5070 var20 = 0;
5071 } else {
5072 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
5073 }
5074 }
5075 if (!var20) {
5076 fprintf(stderr, "Runtime error: %s", "Assert failed");
5077 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9201);
5078 exit(1);
5079 }
5080 var_pclasskindnode5 = var_nodearraylist4;
5081 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5082 cltype24 = type_nullable_parser_nodes__AClasskind.color;
5083 idtype25 = type_nullable_parser_nodes__AClasskind.id;
5084 if(var_pclasskindnode5 == NULL) {
5085 var23 = 1;
5086 } else {
5087 if(cltype24 >= var_pclasskindnode5->type->table_size) {
5088 var23 = 0;
5089 } else {
5090 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
5091 }
5092 }
5093 if (!var23) {
5094 fprintf(stderr, "Runtime error: %s", "Assert failed");
5095 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9203);
5096 exit(1);
5097 }
5098 var_tclassidnode6 = var_nodearraylist6;
5099 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5100 cltype27 = type_nullable_parser_nodes__TClassid.color;
5101 idtype28 = type_nullable_parser_nodes__TClassid.id;
5102 if(var_tclassidnode6 == NULL) {
5103 var26 = 1;
5104 } else {
5105 if(cltype27 >= var_tclassidnode6->type->table_size) {
5106 var26 = 0;
5107 } else {
5108 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
5109 }
5110 }
5111 if (!var26) {
5112 fprintf(stderr, "Runtime error: %s", "Assert failed");
5113 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9205);
5114 exit(1);
5115 }
5116 var_listnode7 = var_nodearraylist7;
5117 /* <var_listnode7:nullable Object> isa Array[Object] */
5118 cltype30 = type_array__Arraykernel__Object.color;
5119 idtype31 = type_array__Arraykernel__Object.id;
5120 if(var_listnode7 == NULL) {
5121 var29 = 0;
5122 } else {
5123 if(cltype30 >= var_listnode7->type->table_size) {
5124 var29 = 0;
5125 } else {
5126 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
5127 }
5128 }
5129 if (!var29) {
5130 fprintf(stderr, "Runtime error: %s", "Assert failed");
5131 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9207);
5132 exit(1);
5133 }
5134 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction194>*/;
5135 var_listnode8 = var32;
5136 var33 = NEW_array__Array(&type_array__Arraykernel__Object);
5137 ((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on <var33:Array[Object]>*/;
5138 CHECK_NEW_array__Array(var33);
5139 var_listnode13 = var33;
5140 var_listnode12 = var_nodearraylist8;
5141 /* <var_listnode12:nullable Object> isa Array[Object] */
5142 cltype35 = type_array__Arraykernel__Object.color;
5143 idtype36 = type_array__Arraykernel__Object.id;
5144 if(var_listnode12 == NULL) {
5145 var34 = 0;
5146 } else {
5147 if(cltype35 >= var_listnode12->type->table_size) {
5148 var34 = 0;
5149 } else {
5150 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
5151 }
5152 }
5153 if (!var34) {
5154 fprintf(stderr, "Runtime error: %s", "Assert failed");
5155 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9211);
5156 exit(1);
5157 }
5158 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction194>*/;
5159 var_listnode13 = var37;
5160 var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5161 var39 = NULL;
5162 var40 = NULL;
5163 var41 = NULL;
5164 ((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>*/;
5165 CHECK_NEW_parser_nodes__AAnnotations(var38);
5166 var_pannotationsnode9 = var38;
5167 var_pexterncodeblocknode15 = var_nodearraylist9;
5168 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
5169 cltype43 = type_nullable_parser_nodes__AExternCodeBlock.color;
5170 idtype44 = type_nullable_parser_nodes__AExternCodeBlock.id;
5171 if(var_pexterncodeblocknode15 == NULL) {
5172 var42 = 1;
5173 } else {
5174 if(cltype43 >= var_pexterncodeblocknode15->type->table_size) {
5175 var42 = 0;
5176 } else {
5177 var42 = var_pexterncodeblocknode15->type->type_table[cltype43] == idtype44;
5178 }
5179 }
5180 if (!var42) {
5181 fprintf(stderr, "Runtime error: %s", "Assert failed");
5182 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9220);
5183 exit(1);
5184 }
5185 var_listnode16 = var_nodearraylist10;
5186 /* <var_listnode16:nullable Object> isa Array[Object] */
5187 cltype46 = type_array__Arraykernel__Object.color;
5188 idtype47 = type_array__Arraykernel__Object.id;
5189 if(var_listnode16 == NULL) {
5190 var45 = 0;
5191 } else {
5192 if(cltype46 >= var_listnode16->type->table_size) {
5193 var45 = 0;
5194 } else {
5195 var45 = var_listnode16->type->type_table[cltype46] == idtype47;
5196 }
5197 }
5198 if (!var45) {
5199 fprintf(stderr, "Runtime error: %s", "Assert failed");
5200 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9222);
5201 exit(1);
5202 }
5203 var48 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction194>*/;
5204 var_listnode17 = var48;
5205 var_tkwendnode19 = var_nodearraylist12;
5206 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
5207 cltype50 = type_nullable_parser_nodes__TKwend.color;
5208 idtype51 = type_nullable_parser_nodes__TKwend.id;
5209 if(var_tkwendnode19 == NULL) {
5210 var49 = 1;
5211 } else {
5212 if(cltype50 >= var_tkwendnode19->type->table_size) {
5213 var49 = 0;
5214 } else {
5215 var49 = var_tkwendnode19->type->type_table[cltype50] == idtype51;
5216 }
5217 }
5218 if (!var49) {
5219 fprintf(stderr, "Runtime error: %s", "Assert failed");
5220 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9225);
5221 exit(1);
5222 }
5223 var52 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5224 ((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_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var52:AStdClassdef>*/;
5225 CHECK_NEW_parser_nodes__AStdClassdef(var52);
5226 var_pclassdefnode1 = var52;
5227 var_node_list = var_pclassdefnode1;
5228 var53 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction194> */
5229 var54 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var53) /* go_to on <var_p:Parser>*/;
5230 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var54, var_node_list) /* push on <var_p:Parser>*/;
5231 RET_LABEL:;
5232 }
5233 /* method parser#ReduceAction194#action for (self: Object, Parser) */
5234 void VIRTUAL_parser__ReduceAction194__action(val* self, val* p0) {
5235 parser__ReduceAction194__action(self, p0);
5236 RET_LABEL:;
5237 }
5238 /* method parser#ReduceAction195#action for (self: ReduceAction195, Parser) */
5239 void parser__ReduceAction195__action(val* self, val* p0) {
5240 val* var_p /* var p: Parser */;
5241 val* var /* : null */;
5242 val* var_node_list /* var node_list: nullable Object */;
5243 val* var1 /* : nullable Object */;
5244 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
5245 val* var2 /* : nullable Object */;
5246 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5247 val* var3 /* : nullable Object */;
5248 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5249 val* var4 /* : nullable Object */;
5250 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5251 val* var5 /* : nullable Object */;
5252 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5253 val* var6 /* : nullable Object */;
5254 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5255 val* var7 /* : nullable Object */;
5256 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5257 val* var8 /* : nullable Object */;
5258 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5259 val* var9 /* : nullable Object */;
5260 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5261 val* var10 /* : nullable Object */;
5262 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5263 val* var11 /* : nullable Object */;
5264 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5265 val* var12 /* : nullable Object */;
5266 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5267 val* var13 /* : Array[Object] */;
5268 val* var_listnode8 /* var listnode8: Array[Object] */;
5269 val* var14 /* : Array[Object] */;
5270 val* var_listnode17 /* var listnode17: Array[Object] */;
5271 val* var15 /* : Array[Object] */;
5272 val* var_listnode18 /* var listnode18: Array[Object] */;
5273 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5274 short int var16 /* : Bool */;
5275 int cltype;
5276 int idtype;
5277 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5278 short int var17 /* : Bool */;
5279 int cltype18;
5280 int idtype19;
5281 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5282 short int var20 /* : Bool */;
5283 int cltype21;
5284 int idtype22;
5285 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5286 short int var23 /* : Bool */;
5287 int cltype24;
5288 int idtype25;
5289 val* var_listnode7 /* var listnode7: nullable Object */;
5290 short int var26 /* : Bool */;
5291 int cltype27;
5292 int idtype28;
5293 val* var29 /* : Array[Object] */;
5294 val* var30 /* : Array[Object] */;
5295 val* var_listnode13 /* var listnode13: Array[Object] */;
5296 val* var_listnode12 /* var listnode12: nullable Object */;
5297 short int var31 /* : Bool */;
5298 int cltype32;
5299 int idtype33;
5300 val* var34 /* : Array[Object] */;
5301 val* var35 /* : AAnnotations */;
5302 val* var36 /* : null */;
5303 val* var37 /* : null */;
5304 val* var38 /* : null */;
5305 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5306 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
5307 short int var39 /* : Bool */;
5308 int cltype40;
5309 int idtype41;
5310 val* var_listnode16 /* var listnode16: nullable Object */;
5311 short int var42 /* : Bool */;
5312 int cltype43;
5313 int idtype44;
5314 val* var45 /* : Array[Object] */;
5315 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
5316 short int var46 /* : Bool */;
5317 int cltype47;
5318 int idtype48;
5319 val* var49 /* : AStdClassdef */;
5320 val* var50 /* : null */;
5321 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5322 long var51 /* : Int */;
5323 long var52 /* : Int */;
5324 var_p = p0;
5325 var = NULL;
5326 var_node_list = var;
5327 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5328 var_nodearraylist12 = var1;
5329 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5330 var_nodearraylist11 = var2;
5331 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5332 var_nodearraylist10 = var3;
5333 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5334 var_nodearraylist9 = var4;
5335 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5336 var_nodearraylist8 = var5;
5337 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5338 var_nodearraylist7 = var6;
5339 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5340 var_nodearraylist6 = var7;
5341 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5342 var_nodearraylist5 = var8;
5343 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5344 var_nodearraylist4 = var9;
5345 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5346 var_nodearraylist3 = var10;
5347 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5348 var_nodearraylist2 = var11;
5349 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5350 var_nodearraylist1 = var12;
5351 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5352 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5353 CHECK_NEW_array__Array(var13);
5354 var_listnode8 = var13;
5355 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5356 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5357 CHECK_NEW_array__Array(var14);
5358 var_listnode17 = var14;
5359 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
5360 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
5361 CHECK_NEW_array__Array(var15);
5362 var_listnode18 = var15;
5363 var_pdocnode2 = var_nodearraylist1;
5364 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5365 cltype = type_nullable_parser_nodes__ADoc.color;
5366 idtype = type_nullable_parser_nodes__ADoc.id;
5367 if(var_pdocnode2 == NULL) {
5368 var16 = 1;
5369 } else {
5370 if(cltype >= var_pdocnode2->type->table_size) {
5371 var16 = 0;
5372 } else {
5373 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
5374 }
5375 }
5376 if (!var16) {
5377 fprintf(stderr, "Runtime error: %s", "Assert failed");
5378 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9264);
5379 exit(1);
5380 }
5381 var_pvisibilitynode4 = var_nodearraylist2;
5382 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5383 cltype18 = type_nullable_parser_nodes__AVisibility.color;
5384 idtype19 = type_nullable_parser_nodes__AVisibility.id;
5385 if(var_pvisibilitynode4 == NULL) {
5386 var17 = 1;
5387 } else {
5388 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
5389 var17 = 0;
5390 } else {
5391 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
5392 }
5393 }
5394 if (!var17) {
5395 fprintf(stderr, "Runtime error: %s", "Assert failed");
5396 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9266);
5397 exit(1);
5398 }
5399 var_pclasskindnode5 = var_nodearraylist3;
5400 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5401 cltype21 = type_nullable_parser_nodes__AClasskind.color;
5402 idtype22 = type_nullable_parser_nodes__AClasskind.id;
5403 if(var_pclasskindnode5 == NULL) {
5404 var20 = 1;
5405 } else {
5406 if(cltype21 >= var_pclasskindnode5->type->table_size) {
5407 var20 = 0;
5408 } else {
5409 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
5410 }
5411 }
5412 if (!var20) {
5413 fprintf(stderr, "Runtime error: %s", "Assert failed");
5414 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9268);
5415 exit(1);
5416 }
5417 var_tclassidnode6 = var_nodearraylist6;
5418 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5419 cltype24 = type_nullable_parser_nodes__TClassid.color;
5420 idtype25 = type_nullable_parser_nodes__TClassid.id;
5421 if(var_tclassidnode6 == NULL) {
5422 var23 = 1;
5423 } else {
5424 if(cltype24 >= var_tclassidnode6->type->table_size) {
5425 var23 = 0;
5426 } else {
5427 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
5428 }
5429 }
5430 if (!var23) {
5431 fprintf(stderr, "Runtime error: %s", "Assert failed");
5432 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9270);
5433 exit(1);
5434 }
5435 var_listnode7 = var_nodearraylist7;
5436 /* <var_listnode7:nullable Object> isa Array[Object] */
5437 cltype27 = type_array__Arraykernel__Object.color;
5438 idtype28 = type_array__Arraykernel__Object.id;
5439 if(var_listnode7 == NULL) {
5440 var26 = 0;
5441 } else {
5442 if(cltype27 >= var_listnode7->type->table_size) {
5443 var26 = 0;
5444 } else {
5445 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
5446 }
5447 }
5448 if (!var26) {
5449 fprintf(stderr, "Runtime error: %s", "Assert failed");
5450 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9272);
5451 exit(1);
5452 }
5453 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction195>*/;
5454 var_listnode8 = var29;
5455 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
5456 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
5457 CHECK_NEW_array__Array(var30);
5458 var_listnode13 = var30;
5459 var_listnode12 = var_nodearraylist8;
5460 /* <var_listnode12:nullable Object> isa Array[Object] */
5461 cltype32 = type_array__Arraykernel__Object.color;
5462 idtype33 = type_array__Arraykernel__Object.id;
5463 if(var_listnode12 == NULL) {
5464 var31 = 0;
5465 } else {
5466 if(cltype32 >= var_listnode12->type->table_size) {
5467 var31 = 0;
5468 } else {
5469 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
5470 }
5471 }
5472 if (!var31) {
5473 fprintf(stderr, "Runtime error: %s", "Assert failed");
5474 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9276);
5475 exit(1);
5476 }
5477 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction195>*/;
5478 var_listnode13 = var34;
5479 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5480 var36 = NULL;
5481 var37 = NULL;
5482 var38 = NULL;
5483 ((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>*/;
5484 CHECK_NEW_parser_nodes__AAnnotations(var35);
5485 var_pannotationsnode9 = var35;
5486 var_pexterncodeblocknode15 = var_nodearraylist9;
5487 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
5488 cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color;
5489 idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id;
5490 if(var_pexterncodeblocknode15 == NULL) {
5491 var39 = 1;
5492 } else {
5493 if(cltype40 >= var_pexterncodeblocknode15->type->table_size) {
5494 var39 = 0;
5495 } else {
5496 var39 = var_pexterncodeblocknode15->type->type_table[cltype40] == idtype41;
5497 }
5498 }
5499 if (!var39) {
5500 fprintf(stderr, "Runtime error: %s", "Assert failed");
5501 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9285);
5502 exit(1);
5503 }
5504 var_listnode16 = var_nodearraylist10;
5505 /* <var_listnode16:nullable Object> isa Array[Object] */
5506 cltype43 = type_array__Arraykernel__Object.color;
5507 idtype44 = type_array__Arraykernel__Object.id;
5508 if(var_listnode16 == NULL) {
5509 var42 = 0;
5510 } else {
5511 if(cltype43 >= var_listnode16->type->table_size) {
5512 var42 = 0;
5513 } else {
5514 var42 = var_listnode16->type->type_table[cltype43] == idtype44;
5515 }
5516 }
5517 if (!var42) {
5518 fprintf(stderr, "Runtime error: %s", "Assert failed");
5519 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9287);
5520 exit(1);
5521 }
5522 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction195>*/;
5523 var_listnode17 = var45;
5524 var_tkwendnode19 = var_nodearraylist12;
5525 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
5526 cltype47 = type_nullable_parser_nodes__TKwend.color;
5527 idtype48 = type_nullable_parser_nodes__TKwend.id;
5528 if(var_tkwendnode19 == NULL) {
5529 var46 = 1;
5530 } else {
5531 if(cltype47 >= var_tkwendnode19->type->table_size) {
5532 var46 = 0;
5533 } else {
5534 var46 = var_tkwendnode19->type->type_table[cltype47] == idtype48;
5535 }
5536 }
5537 if (!var46) {
5538 fprintf(stderr, "Runtime error: %s", "Assert failed");
5539 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9290);
5540 exit(1);
5541 }
5542 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5543 var50 = NULL;
5544 ((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_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var49:AStdClassdef>*/;
5545 CHECK_NEW_parser_nodes__AStdClassdef(var49);
5546 var_pclassdefnode1 = var49;
5547 var_node_list = var_pclassdefnode1;
5548 var51 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction195> */
5549 var52 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var51) /* go_to on <var_p:Parser>*/;
5550 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var52, var_node_list) /* push on <var_p:Parser>*/;
5551 RET_LABEL:;
5552 }
5553 /* method parser#ReduceAction195#action for (self: Object, Parser) */
5554 void VIRTUAL_parser__ReduceAction195__action(val* self, val* p0) {
5555 parser__ReduceAction195__action(self, p0);
5556 RET_LABEL:;
5557 }
5558 /* method parser#ReduceAction196#action for (self: ReduceAction196, Parser) */
5559 void parser__ReduceAction196__action(val* self, val* p0) {
5560 val* var_p /* var p: Parser */;
5561 val* var /* : null */;
5562 val* var_node_list /* var node_list: nullable Object */;
5563 val* var1 /* : nullable Object */;
5564 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
5565 val* var2 /* : nullable Object */;
5566 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
5567 val* var3 /* : nullable Object */;
5568 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5569 val* var4 /* : nullable Object */;
5570 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5571 val* var5 /* : nullable Object */;
5572 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5573 val* var6 /* : nullable Object */;
5574 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5575 val* var7 /* : nullable Object */;
5576 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5577 val* var8 /* : nullable Object */;
5578 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5579 val* var9 /* : nullable Object */;
5580 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5581 val* var10 /* : nullable Object */;
5582 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5583 val* var11 /* : nullable Object */;
5584 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5585 val* var12 /* : nullable Object */;
5586 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5587 val* var13 /* : nullable Object */;
5588 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5589 val* var14 /* : Array[Object] */;
5590 val* var_listnode8 /* var listnode8: Array[Object] */;
5591 val* var15 /* : Array[Object] */;
5592 val* var_listnode17 /* var listnode17: Array[Object] */;
5593 val* var16 /* : Array[Object] */;
5594 val* var_listnode18 /* var listnode18: Array[Object] */;
5595 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5596 short int var17 /* : Bool */;
5597 int cltype;
5598 int idtype;
5599 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5600 short int var18 /* : Bool */;
5601 int cltype19;
5602 int idtype20;
5603 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5604 short int var21 /* : Bool */;
5605 int cltype22;
5606 int idtype23;
5607 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5608 short int var24 /* : Bool */;
5609 int cltype25;
5610 int idtype26;
5611 val* var_listnode7 /* var listnode7: nullable Object */;
5612 short int var27 /* : Bool */;
5613 int cltype28;
5614 int idtype29;
5615 val* var30 /* : Array[Object] */;
5616 val* var31 /* : Array[Object] */;
5617 val* var_listnode13 /* var listnode13: Array[Object] */;
5618 val* var_listnode12 /* var listnode12: nullable Object */;
5619 short int var32 /* : Bool */;
5620 int cltype33;
5621 int idtype34;
5622 val* var35 /* : Array[Object] */;
5623 val* var36 /* : AAnnotations */;
5624 val* var37 /* : null */;
5625 val* var38 /* : null */;
5626 val* var39 /* : null */;
5627 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5628 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
5629 short int var40 /* : Bool */;
5630 int cltype41;
5631 int idtype42;
5632 val* var_listnode16 /* var listnode16: nullable Object */;
5633 short int var43 /* : Bool */;
5634 int cltype44;
5635 int idtype45;
5636 val* var46 /* : Array[Object] */;
5637 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
5638 short int var47 /* : Bool */;
5639 int cltype48;
5640 int idtype49;
5641 val* var50 /* : AStdClassdef */;
5642 val* var51 /* : null */;
5643 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5644 long var52 /* : Int */;
5645 long var53 /* : Int */;
5646 var_p = p0;
5647 var = NULL;
5648 var_node_list = var;
5649 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5650 var_nodearraylist13 = var1;
5651 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5652 var_nodearraylist12 = var2;
5653 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5654 var_nodearraylist11 = var3;
5655 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5656 var_nodearraylist10 = var4;
5657 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5658 var_nodearraylist9 = var5;
5659 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5660 var_nodearraylist8 = var6;
5661 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5662 var_nodearraylist7 = var7;
5663 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5664 var_nodearraylist6 = var8;
5665 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5666 var_nodearraylist5 = var9;
5667 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5668 var_nodearraylist4 = var10;
5669 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5670 var_nodearraylist3 = var11;
5671 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5672 var_nodearraylist2 = var12;
5673 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5674 var_nodearraylist1 = var13;
5675 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5676 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5677 CHECK_NEW_array__Array(var14);
5678 var_listnode8 = var14;
5679 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
5680 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
5681 CHECK_NEW_array__Array(var15);
5682 var_listnode17 = var15;
5683 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
5684 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
5685 CHECK_NEW_array__Array(var16);
5686 var_listnode18 = var16;
5687 var_pdocnode2 = var_nodearraylist1;
5688 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5689 cltype = type_nullable_parser_nodes__ADoc.color;
5690 idtype = type_nullable_parser_nodes__ADoc.id;
5691 if(var_pdocnode2 == NULL) {
5692 var17 = 1;
5693 } else {
5694 if(cltype >= var_pdocnode2->type->table_size) {
5695 var17 = 0;
5696 } else {
5697 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
5698 }
5699 }
5700 if (!var17) {
5701 fprintf(stderr, "Runtime error: %s", "Assert failed");
5702 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9330);
5703 exit(1);
5704 }
5705 var_pvisibilitynode4 = var_nodearraylist2;
5706 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5707 cltype19 = type_nullable_parser_nodes__AVisibility.color;
5708 idtype20 = type_nullable_parser_nodes__AVisibility.id;
5709 if(var_pvisibilitynode4 == NULL) {
5710 var18 = 1;
5711 } else {
5712 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
5713 var18 = 0;
5714 } else {
5715 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
5716 }
5717 }
5718 if (!var18) {
5719 fprintf(stderr, "Runtime error: %s", "Assert failed");
5720 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9332);
5721 exit(1);
5722 }
5723 var_pclasskindnode5 = var_nodearraylist3;
5724 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5725 cltype22 = type_nullable_parser_nodes__AClasskind.color;
5726 idtype23 = type_nullable_parser_nodes__AClasskind.id;
5727 if(var_pclasskindnode5 == NULL) {
5728 var21 = 1;
5729 } else {
5730 if(cltype22 >= var_pclasskindnode5->type->table_size) {
5731 var21 = 0;
5732 } else {
5733 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
5734 }
5735 }
5736 if (!var21) {
5737 fprintf(stderr, "Runtime error: %s", "Assert failed");
5738 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9334);
5739 exit(1);
5740 }
5741 var_tclassidnode6 = var_nodearraylist7;
5742 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5743 cltype25 = type_nullable_parser_nodes__TClassid.color;
5744 idtype26 = type_nullable_parser_nodes__TClassid.id;
5745 if(var_tclassidnode6 == NULL) {
5746 var24 = 1;
5747 } else {
5748 if(cltype25 >= var_tclassidnode6->type->table_size) {
5749 var24 = 0;
5750 } else {
5751 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
5752 }
5753 }
5754 if (!var24) {
5755 fprintf(stderr, "Runtime error: %s", "Assert failed");
5756 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9336);
5757 exit(1);
5758 }
5759 var_listnode7 = var_nodearraylist8;
5760 /* <var_listnode7:nullable Object> isa Array[Object] */
5761 cltype28 = type_array__Arraykernel__Object.color;
5762 idtype29 = type_array__Arraykernel__Object.id;
5763 if(var_listnode7 == NULL) {
5764 var27 = 0;
5765 } else {
5766 if(cltype28 >= var_listnode7->type->table_size) {
5767 var27 = 0;
5768 } else {
5769 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
5770 }
5771 }
5772 if (!var27) {
5773 fprintf(stderr, "Runtime error: %s", "Assert failed");
5774 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9338);
5775 exit(1);
5776 }
5777 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction196>*/;
5778 var_listnode8 = var30;
5779 var31 = NEW_array__Array(&type_array__Arraykernel__Object);
5780 ((void (*)(val*))(var31->class->vft[COLOR_array__Array__init]))(var31) /* init on <var31:Array[Object]>*/;
5781 CHECK_NEW_array__Array(var31);
5782 var_listnode13 = var31;
5783 var_listnode12 = var_nodearraylist9;
5784 /* <var_listnode12:nullable Object> isa Array[Object] */
5785 cltype33 = type_array__Arraykernel__Object.color;
5786 idtype34 = type_array__Arraykernel__Object.id;
5787 if(var_listnode12 == NULL) {
5788 var32 = 0;
5789 } else {
5790 if(cltype33 >= var_listnode12->type->table_size) {
5791 var32 = 0;
5792 } else {
5793 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
5794 }
5795 }
5796 if (!var32) {
5797 fprintf(stderr, "Runtime error: %s", "Assert failed");
5798 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9342);
5799 exit(1);
5800 }
5801 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction196>*/;
5802 var_listnode13 = var35;
5803 var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5804 var37 = NULL;
5805 var38 = NULL;
5806 var39 = NULL;
5807 ((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>*/;
5808 CHECK_NEW_parser_nodes__AAnnotations(var36);
5809 var_pannotationsnode9 = var36;
5810 var_pexterncodeblocknode15 = var_nodearraylist10;
5811 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
5812 cltype41 = type_nullable_parser_nodes__AExternCodeBlock.color;
5813 idtype42 = type_nullable_parser_nodes__AExternCodeBlock.id;
5814 if(var_pexterncodeblocknode15 == NULL) {
5815 var40 = 1;
5816 } else {
5817 if(cltype41 >= var_pexterncodeblocknode15->type->table_size) {
5818 var40 = 0;
5819 } else {
5820 var40 = var_pexterncodeblocknode15->type->type_table[cltype41] == idtype42;
5821 }
5822 }
5823 if (!var40) {
5824 fprintf(stderr, "Runtime error: %s", "Assert failed");
5825 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9351);
5826 exit(1);
5827 }
5828 var_listnode16 = var_nodearraylist11;
5829 /* <var_listnode16:nullable Object> isa Array[Object] */
5830 cltype44 = type_array__Arraykernel__Object.color;
5831 idtype45 = type_array__Arraykernel__Object.id;
5832 if(var_listnode16 == NULL) {
5833 var43 = 0;
5834 } else {
5835 if(cltype44 >= var_listnode16->type->table_size) {
5836 var43 = 0;
5837 } else {
5838 var43 = var_listnode16->type->type_table[cltype44] == idtype45;
5839 }
5840 }
5841 if (!var43) {
5842 fprintf(stderr, "Runtime error: %s", "Assert failed");
5843 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9353);
5844 exit(1);
5845 }
5846 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction196>*/;
5847 var_listnode17 = var46;
5848 var_tkwendnode19 = var_nodearraylist13;
5849 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
5850 cltype48 = type_nullable_parser_nodes__TKwend.color;
5851 idtype49 = type_nullable_parser_nodes__TKwend.id;
5852 if(var_tkwendnode19 == NULL) {
5853 var47 = 1;
5854 } else {
5855 if(cltype48 >= var_tkwendnode19->type->table_size) {
5856 var47 = 0;
5857 } else {
5858 var47 = var_tkwendnode19->type->type_table[cltype48] == idtype49;
5859 }
5860 }
5861 if (!var47) {
5862 fprintf(stderr, "Runtime error: %s", "Assert failed");
5863 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9356);
5864 exit(1);
5865 }
5866 var50 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5867 var51 = NULL;
5868 ((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_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var50:AStdClassdef>*/;
5869 CHECK_NEW_parser_nodes__AStdClassdef(var50);
5870 var_pclassdefnode1 = var50;
5871 var_node_list = var_pclassdefnode1;
5872 var52 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction196> */
5873 var53 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var52) /* go_to on <var_p:Parser>*/;
5874 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var53, var_node_list) /* push on <var_p:Parser>*/;
5875 RET_LABEL:;
5876 }
5877 /* method parser#ReduceAction196#action for (self: Object, Parser) */
5878 void VIRTUAL_parser__ReduceAction196__action(val* self, val* p0) {
5879 parser__ReduceAction196__action(self, p0);
5880 RET_LABEL:;
5881 }
5882 /* method parser#ReduceAction198#action for (self: ReduceAction198, Parser) */
5883 void parser__ReduceAction198__action(val* self, val* p0) {
5884 val* var_p /* var p: Parser */;
5885 val* var /* : null */;
5886 val* var_node_list /* var node_list: nullable Object */;
5887 val* var1 /* : nullable Object */;
5888 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
5889 val* var2 /* : nullable Object */;
5890 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
5891 val* var3 /* : nullable Object */;
5892 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5893 val* var4 /* : nullable Object */;
5894 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5895 val* var5 /* : nullable Object */;
5896 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5897 val* var6 /* : nullable Object */;
5898 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5899 val* var7 /* : nullable Object */;
5900 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5901 val* var8 /* : nullable Object */;
5902 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5903 val* var9 /* : nullable Object */;
5904 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5905 val* var10 /* : nullable Object */;
5906 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5907 val* var11 /* : nullable Object */;
5908 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5909 val* var12 /* : nullable Object */;
5910 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5911 val* var13 /* : nullable Object */;
5912 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5913 val* var14 /* : Array[Object] */;
5914 val* var_listnode8 /* var listnode8: Array[Object] */;
5915 val* var15 /* : Array[Object] */;
5916 val* var_listnode17 /* var listnode17: Array[Object] */;
5917 val* var16 /* : Array[Object] */;
5918 val* var_listnode18 /* var listnode18: Array[Object] */;
5919 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5920 short int var17 /* : Bool */;
5921 int cltype;
5922 int idtype;
5923 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5924 short int var18 /* : Bool */;
5925 int cltype19;
5926 int idtype20;
5927 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5928 short int var21 /* : Bool */;
5929 int cltype22;
5930 int idtype23;
5931 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5932 short int var24 /* : Bool */;
5933 int cltype25;
5934 int idtype26;
5935 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5936 short int var27 /* : Bool */;
5937 int cltype28;
5938 int idtype29;
5939 val* var_listnode7 /* var listnode7: nullable Object */;
5940 short int var30 /* : Bool */;
5941 int cltype31;
5942 int idtype32;
5943 val* var33 /* : Array[Object] */;
5944 val* var34 /* : Array[Object] */;
5945 val* var_listnode13 /* var listnode13: Array[Object] */;
5946 val* var_listnode12 /* var listnode12: nullable Object */;
5947 short int var35 /* : Bool */;
5948 int cltype36;
5949 int idtype37;
5950 val* var38 /* : Array[Object] */;
5951 val* var39 /* : AAnnotations */;
5952 val* var40 /* : null */;
5953 val* var41 /* : null */;
5954 val* var42 /* : null */;
5955 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5956 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
5957 short int var43 /* : Bool */;
5958 int cltype44;
5959 int idtype45;
5960 val* var_listnode16 /* var listnode16: nullable Object */;
5961 short int var46 /* : Bool */;
5962 int cltype47;
5963 int idtype48;
5964 val* var49 /* : Array[Object] */;
5965 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
5966 short int var50 /* : Bool */;
5967 int cltype51;
5968 int idtype52;
5969 val* var53 /* : AStdClassdef */;
5970 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5971 long var54 /* : Int */;
5972 long var55 /* : Int */;
5973 var_p = p0;
5974 var = NULL;
5975 var_node_list = var;
5976 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5977 var_nodearraylist13 = var1;
5978 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5979 var_nodearraylist12 = var2;
5980 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5981 var_nodearraylist11 = var3;
5982 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5983 var_nodearraylist10 = var4;
5984 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5985 var_nodearraylist9 = var5;
5986 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5987 var_nodearraylist8 = var6;
5988 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5989 var_nodearraylist7 = var7;
5990 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5991 var_nodearraylist6 = var8;
5992 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5993 var_nodearraylist5 = var9;
5994 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5995 var_nodearraylist4 = var10;
5996 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5997 var_nodearraylist3 = var11;
5998 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5999 var_nodearraylist2 = var12;
6000 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6001 var_nodearraylist1 = var13;
6002 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6003 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6004 CHECK_NEW_array__Array(var14);
6005 var_listnode8 = var14;
6006 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
6007 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
6008 CHECK_NEW_array__Array(var15);
6009 var_listnode17 = var15;
6010 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
6011 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
6012 CHECK_NEW_array__Array(var16);
6013 var_listnode18 = var16;
6014 var_pdocnode2 = var_nodearraylist1;
6015 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6016 cltype = type_nullable_parser_nodes__ADoc.color;
6017 idtype = type_nullable_parser_nodes__ADoc.id;
6018 if(var_pdocnode2 == NULL) {
6019 var17 = 1;
6020 } else {
6021 if(cltype >= var_pdocnode2->type->table_size) {
6022 var17 = 0;
6023 } else {
6024 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
6025 }
6026 }
6027 if (!var17) {
6028 fprintf(stderr, "Runtime error: %s", "Assert failed");
6029 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9396);
6030 exit(1);
6031 }
6032 var_tkwredefnode3 = var_nodearraylist2;
6033 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6034 cltype19 = type_nullable_parser_nodes__TKwredef.color;
6035 idtype20 = type_nullable_parser_nodes__TKwredef.id;
6036 if(var_tkwredefnode3 == NULL) {
6037 var18 = 1;
6038 } else {
6039 if(cltype19 >= var_tkwredefnode3->type->table_size) {
6040 var18 = 0;
6041 } else {
6042 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
6043 }
6044 }
6045 if (!var18) {
6046 fprintf(stderr, "Runtime error: %s", "Assert failed");
6047 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9398);
6048 exit(1);
6049 }
6050 var_pvisibilitynode4 = var_nodearraylist3;
6051 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6052 cltype22 = type_nullable_parser_nodes__AVisibility.color;
6053 idtype23 = type_nullable_parser_nodes__AVisibility.id;
6054 if(var_pvisibilitynode4 == NULL) {
6055 var21 = 1;
6056 } else {
6057 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
6058 var21 = 0;
6059 } else {
6060 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
6061 }
6062 }
6063 if (!var21) {
6064 fprintf(stderr, "Runtime error: %s", "Assert failed");
6065 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9400);
6066 exit(1);
6067 }
6068 var_pclasskindnode5 = var_nodearraylist4;
6069 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6070 cltype25 = type_nullable_parser_nodes__AClasskind.color;
6071 idtype26 = type_nullable_parser_nodes__AClasskind.id;
6072 if(var_pclasskindnode5 == NULL) {
6073 var24 = 1;
6074 } else {
6075 if(cltype25 >= var_pclasskindnode5->type->table_size) {
6076 var24 = 0;
6077 } else {
6078 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
6079 }
6080 }
6081 if (!var24) {
6082 fprintf(stderr, "Runtime error: %s", "Assert failed");
6083 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9402);
6084 exit(1);
6085 }
6086 var_tclassidnode6 = var_nodearraylist7;
6087 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6088 cltype28 = type_nullable_parser_nodes__TClassid.color;
6089 idtype29 = type_nullable_parser_nodes__TClassid.id;
6090 if(var_tclassidnode6 == NULL) {
6091 var27 = 1;
6092 } else {
6093 if(cltype28 >= var_tclassidnode6->type->table_size) {
6094 var27 = 0;
6095 } else {
6096 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
6097 }
6098 }
6099 if (!var27) {
6100 fprintf(stderr, "Runtime error: %s", "Assert failed");
6101 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9404);
6102 exit(1);
6103 }
6104 var_listnode7 = var_nodearraylist8;
6105 /* <var_listnode7:nullable Object> isa Array[Object] */
6106 cltype31 = type_array__Arraykernel__Object.color;
6107 idtype32 = type_array__Arraykernel__Object.id;
6108 if(var_listnode7 == NULL) {
6109 var30 = 0;
6110 } else {
6111 if(cltype31 >= var_listnode7->type->table_size) {
6112 var30 = 0;
6113 } else {
6114 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
6115 }
6116 }
6117 if (!var30) {
6118 fprintf(stderr, "Runtime error: %s", "Assert failed");
6119 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9406);
6120 exit(1);
6121 }
6122 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction198>*/;
6123 var_listnode8 = var33;
6124 var34 = NEW_array__Array(&type_array__Arraykernel__Object);
6125 ((void (*)(val*))(var34->class->vft[COLOR_array__Array__init]))(var34) /* init on <var34:Array[Object]>*/;
6126 CHECK_NEW_array__Array(var34);
6127 var_listnode13 = var34;
6128 var_listnode12 = var_nodearraylist9;
6129 /* <var_listnode12:nullable Object> isa Array[Object] */
6130 cltype36 = type_array__Arraykernel__Object.color;
6131 idtype37 = type_array__Arraykernel__Object.id;
6132 if(var_listnode12 == NULL) {
6133 var35 = 0;
6134 } else {
6135 if(cltype36 >= var_listnode12->type->table_size) {
6136 var35 = 0;
6137 } else {
6138 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
6139 }
6140 }
6141 if (!var35) {
6142 fprintf(stderr, "Runtime error: %s", "Assert failed");
6143 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9410);
6144 exit(1);
6145 }
6146 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction198>*/;
6147 var_listnode13 = var38;
6148 var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6149 var40 = NULL;
6150 var41 = NULL;
6151 var42 = NULL;
6152 ((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>*/;
6153 CHECK_NEW_parser_nodes__AAnnotations(var39);
6154 var_pannotationsnode9 = var39;
6155 var_pexterncodeblocknode15 = var_nodearraylist10;
6156 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
6157 cltype44 = type_nullable_parser_nodes__AExternCodeBlock.color;
6158 idtype45 = type_nullable_parser_nodes__AExternCodeBlock.id;
6159 if(var_pexterncodeblocknode15 == NULL) {
6160 var43 = 1;
6161 } else {
6162 if(cltype44 >= var_pexterncodeblocknode15->type->table_size) {
6163 var43 = 0;
6164 } else {
6165 var43 = var_pexterncodeblocknode15->type->type_table[cltype44] == idtype45;
6166 }
6167 }
6168 if (!var43) {
6169 fprintf(stderr, "Runtime error: %s", "Assert failed");
6170 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9419);
6171 exit(1);
6172 }
6173 var_listnode16 = var_nodearraylist11;
6174 /* <var_listnode16:nullable Object> isa Array[Object] */
6175 cltype47 = type_array__Arraykernel__Object.color;
6176 idtype48 = type_array__Arraykernel__Object.id;
6177 if(var_listnode16 == NULL) {
6178 var46 = 0;
6179 } else {
6180 if(cltype47 >= var_listnode16->type->table_size) {
6181 var46 = 0;
6182 } else {
6183 var46 = var_listnode16->type->type_table[cltype47] == idtype48;
6184 }
6185 }
6186 if (!var46) {
6187 fprintf(stderr, "Runtime error: %s", "Assert failed");
6188 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9421);
6189 exit(1);
6190 }
6191 var49 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction198>*/;
6192 var_listnode17 = var49;
6193 var_tkwendnode19 = var_nodearraylist13;
6194 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
6195 cltype51 = type_nullable_parser_nodes__TKwend.color;
6196 idtype52 = type_nullable_parser_nodes__TKwend.id;
6197 if(var_tkwendnode19 == NULL) {
6198 var50 = 1;
6199 } else {
6200 if(cltype51 >= var_tkwendnode19->type->table_size) {
6201 var50 = 0;
6202 } else {
6203 var50 = var_tkwendnode19->type->type_table[cltype51] == idtype52;
6204 }
6205 }
6206 if (!var50) {
6207 fprintf(stderr, "Runtime error: %s", "Assert failed");
6208 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9424);
6209 exit(1);
6210 }
6211 var53 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6212 ((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_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var53:AStdClassdef>*/;
6213 CHECK_NEW_parser_nodes__AStdClassdef(var53);
6214 var_pclassdefnode1 = var53;
6215 var_node_list = var_pclassdefnode1;
6216 var54 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction198> */
6217 var55 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var54) /* go_to on <var_p:Parser>*/;
6218 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var55, var_node_list) /* push on <var_p:Parser>*/;
6219 RET_LABEL:;
6220 }
6221 /* method parser#ReduceAction198#action for (self: Object, Parser) */
6222 void VIRTUAL_parser__ReduceAction198__action(val* self, val* p0) {
6223 parser__ReduceAction198__action(self, p0);
6224 RET_LABEL:;
6225 }
6226 /* method parser#ReduceAction199#action for (self: ReduceAction199, Parser) */
6227 void parser__ReduceAction199__action(val* self, val* p0) {
6228 val* var_p /* var p: Parser */;
6229 val* var /* : null */;
6230 val* var_node_list /* var node_list: nullable Object */;
6231 val* var1 /* : nullable Object */;
6232 val* var_nodearraylist14 /* var nodearraylist14: nullable Object */;
6233 val* var2 /* : nullable Object */;
6234 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
6235 val* var3 /* : nullable Object */;
6236 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
6237 val* var4 /* : nullable Object */;
6238 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6239 val* var5 /* : nullable Object */;
6240 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6241 val* var6 /* : nullable Object */;
6242 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6243 val* var7 /* : nullable Object */;
6244 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6245 val* var8 /* : nullable Object */;
6246 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6247 val* var9 /* : nullable Object */;
6248 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6249 val* var10 /* : nullable Object */;
6250 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6251 val* var11 /* : nullable Object */;
6252 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6253 val* var12 /* : nullable Object */;
6254 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6255 val* var13 /* : nullable Object */;
6256 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6257 val* var14 /* : nullable Object */;
6258 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6259 val* var15 /* : Array[Object] */;
6260 val* var_listnode8 /* var listnode8: Array[Object] */;
6261 val* var16 /* : Array[Object] */;
6262 val* var_listnode17 /* var listnode17: Array[Object] */;
6263 val* var17 /* : Array[Object] */;
6264 val* var_listnode18 /* var listnode18: Array[Object] */;
6265 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6266 short int var18 /* : Bool */;
6267 int cltype;
6268 int idtype;
6269 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6270 short int var19 /* : Bool */;
6271 int cltype20;
6272 int idtype21;
6273 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6274 short int var22 /* : Bool */;
6275 int cltype23;
6276 int idtype24;
6277 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6278 short int var25 /* : Bool */;
6279 int cltype26;
6280 int idtype27;
6281 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6282 short int var28 /* : Bool */;
6283 int cltype29;
6284 int idtype30;
6285 val* var_listnode7 /* var listnode7: nullable Object */;
6286 short int var31 /* : Bool */;
6287 int cltype32;
6288 int idtype33;
6289 val* var34 /* : Array[Object] */;
6290 val* var35 /* : Array[Object] */;
6291 val* var_listnode13 /* var listnode13: Array[Object] */;
6292 val* var_listnode12 /* var listnode12: nullable Object */;
6293 short int var36 /* : Bool */;
6294 int cltype37;
6295 int idtype38;
6296 val* var39 /* : Array[Object] */;
6297 val* var40 /* : AAnnotations */;
6298 val* var41 /* : null */;
6299 val* var42 /* : null */;
6300 val* var43 /* : null */;
6301 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
6302 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
6303 short int var44 /* : Bool */;
6304 int cltype45;
6305 int idtype46;
6306 val* var_listnode16 /* var listnode16: nullable Object */;
6307 short int var47 /* : Bool */;
6308 int cltype48;
6309 int idtype49;
6310 val* var50 /* : Array[Object] */;
6311 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
6312 short int var51 /* : Bool */;
6313 int cltype52;
6314 int idtype53;
6315 val* var54 /* : AStdClassdef */;
6316 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6317 long var55 /* : Int */;
6318 long var56 /* : Int */;
6319 var_p = p0;
6320 var = NULL;
6321 var_node_list = var;
6322 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6323 var_nodearraylist14 = var1;
6324 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6325 var_nodearraylist13 = var2;
6326 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6327 var_nodearraylist12 = var3;
6328 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6329 var_nodearraylist11 = var4;
6330 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6331 var_nodearraylist10 = var5;
6332 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6333 var_nodearraylist9 = var6;
6334 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6335 var_nodearraylist8 = var7;
6336 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6337 var_nodearraylist7 = var8;
6338 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6339 var_nodearraylist6 = var9;
6340 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6341 var_nodearraylist5 = var10;
6342 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6343 var_nodearraylist4 = var11;
6344 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6345 var_nodearraylist3 = var12;
6346 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6347 var_nodearraylist2 = var13;
6348 var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6349 var_nodearraylist1 = var14;
6350 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
6351 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
6352 CHECK_NEW_array__Array(var15);
6353 var_listnode8 = var15;
6354 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
6355 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
6356 CHECK_NEW_array__Array(var16);
6357 var_listnode17 = var16;
6358 var17 = NEW_array__Array(&type_array__Arraykernel__Object);
6359 ((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on <var17:Array[Object]>*/;
6360 CHECK_NEW_array__Array(var17);
6361 var_listnode18 = var17;
6362 var_pdocnode2 = var_nodearraylist1;
6363 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6364 cltype = type_nullable_parser_nodes__ADoc.color;
6365 idtype = type_nullable_parser_nodes__ADoc.id;
6366 if(var_pdocnode2 == NULL) {
6367 var18 = 1;
6368 } else {
6369 if(cltype >= var_pdocnode2->type->table_size) {
6370 var18 = 0;
6371 } else {
6372 var18 = var_pdocnode2->type->type_table[cltype] == idtype;
6373 }
6374 }
6375 if (!var18) {
6376 fprintf(stderr, "Runtime error: %s", "Assert failed");
6377 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9465);
6378 exit(1);
6379 }
6380 var_tkwredefnode3 = var_nodearraylist2;
6381 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6382 cltype20 = type_nullable_parser_nodes__TKwredef.color;
6383 idtype21 = type_nullable_parser_nodes__TKwredef.id;
6384 if(var_tkwredefnode3 == NULL) {
6385 var19 = 1;
6386 } else {
6387 if(cltype20 >= var_tkwredefnode3->type->table_size) {
6388 var19 = 0;
6389 } else {
6390 var19 = var_tkwredefnode3->type->type_table[cltype20] == idtype21;
6391 }
6392 }
6393 if (!var19) {
6394 fprintf(stderr, "Runtime error: %s", "Assert failed");
6395 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9467);
6396 exit(1);
6397 }
6398 var_pvisibilitynode4 = var_nodearraylist3;
6399 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6400 cltype23 = type_nullable_parser_nodes__AVisibility.color;
6401 idtype24 = type_nullable_parser_nodes__AVisibility.id;
6402 if(var_pvisibilitynode4 == NULL) {
6403 var22 = 1;
6404 } else {
6405 if(cltype23 >= var_pvisibilitynode4->type->table_size) {
6406 var22 = 0;
6407 } else {
6408 var22 = var_pvisibilitynode4->type->type_table[cltype23] == idtype24;
6409 }
6410 }
6411 if (!var22) {
6412 fprintf(stderr, "Runtime error: %s", "Assert failed");
6413 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9469);
6414 exit(1);
6415 }
6416 var_pclasskindnode5 = var_nodearraylist4;
6417 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6418 cltype26 = type_nullable_parser_nodes__AClasskind.color;
6419 idtype27 = type_nullable_parser_nodes__AClasskind.id;
6420 if(var_pclasskindnode5 == NULL) {
6421 var25 = 1;
6422 } else {
6423 if(cltype26 >= var_pclasskindnode5->type->table_size) {
6424 var25 = 0;
6425 } else {
6426 var25 = var_pclasskindnode5->type->type_table[cltype26] == idtype27;
6427 }
6428 }
6429 if (!var25) {
6430 fprintf(stderr, "Runtime error: %s", "Assert failed");
6431 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9471);
6432 exit(1);
6433 }
6434 var_tclassidnode6 = var_nodearraylist8;
6435 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6436 cltype29 = type_nullable_parser_nodes__TClassid.color;
6437 idtype30 = type_nullable_parser_nodes__TClassid.id;
6438 if(var_tclassidnode6 == NULL) {
6439 var28 = 1;
6440 } else {
6441 if(cltype29 >= var_tclassidnode6->type->table_size) {
6442 var28 = 0;
6443 } else {
6444 var28 = var_tclassidnode6->type->type_table[cltype29] == idtype30;
6445 }
6446 }
6447 if (!var28) {
6448 fprintf(stderr, "Runtime error: %s", "Assert failed");
6449 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9473);
6450 exit(1);
6451 }
6452 var_listnode7 = var_nodearraylist9;
6453 /* <var_listnode7:nullable Object> isa Array[Object] */
6454 cltype32 = type_array__Arraykernel__Object.color;
6455 idtype33 = type_array__Arraykernel__Object.id;
6456 if(var_listnode7 == NULL) {
6457 var31 = 0;
6458 } else {
6459 if(cltype32 >= var_listnode7->type->table_size) {
6460 var31 = 0;
6461 } else {
6462 var31 = var_listnode7->type->type_table[cltype32] == idtype33;
6463 }
6464 }
6465 if (!var31) {
6466 fprintf(stderr, "Runtime error: %s", "Assert failed");
6467 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9475);
6468 exit(1);
6469 }
6470 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction199>*/;
6471 var_listnode8 = var34;
6472 var35 = NEW_array__Array(&type_array__Arraykernel__Object);
6473 ((void (*)(val*))(var35->class->vft[COLOR_array__Array__init]))(var35) /* init on <var35:Array[Object]>*/;
6474 CHECK_NEW_array__Array(var35);
6475 var_listnode13 = var35;
6476 var_listnode12 = var_nodearraylist10;
6477 /* <var_listnode12:nullable Object> isa Array[Object] */
6478 cltype37 = type_array__Arraykernel__Object.color;
6479 idtype38 = type_array__Arraykernel__Object.id;
6480 if(var_listnode12 == NULL) {
6481 var36 = 0;
6482 } else {
6483 if(cltype37 >= var_listnode12->type->table_size) {
6484 var36 = 0;
6485 } else {
6486 var36 = var_listnode12->type->type_table[cltype37] == idtype38;
6487 }
6488 }
6489 if (!var36) {
6490 fprintf(stderr, "Runtime error: %s", "Assert failed");
6491 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9479);
6492 exit(1);
6493 }
6494 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction199>*/;
6495 var_listnode13 = var39;
6496 var40 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6497 var41 = NULL;
6498 var42 = NULL;
6499 var43 = NULL;
6500 ((void (*)(val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var40, var41, var42, var_listnode13, var43) /* init_aannotations on <var40:AAnnotations>*/;
6501 CHECK_NEW_parser_nodes__AAnnotations(var40);
6502 var_pannotationsnode9 = var40;
6503 var_pexterncodeblocknode15 = var_nodearraylist11;
6504 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
6505 cltype45 = type_nullable_parser_nodes__AExternCodeBlock.color;
6506 idtype46 = type_nullable_parser_nodes__AExternCodeBlock.id;
6507 if(var_pexterncodeblocknode15 == NULL) {
6508 var44 = 1;
6509 } else {
6510 if(cltype45 >= var_pexterncodeblocknode15->type->table_size) {
6511 var44 = 0;
6512 } else {
6513 var44 = var_pexterncodeblocknode15->type->type_table[cltype45] == idtype46;
6514 }
6515 }
6516 if (!var44) {
6517 fprintf(stderr, "Runtime error: %s", "Assert failed");
6518 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9488);
6519 exit(1);
6520 }
6521 var_listnode16 = var_nodearraylist12;
6522 /* <var_listnode16:nullable Object> isa Array[Object] */
6523 cltype48 = type_array__Arraykernel__Object.color;
6524 idtype49 = type_array__Arraykernel__Object.id;
6525 if(var_listnode16 == NULL) {
6526 var47 = 0;
6527 } else {
6528 if(cltype48 >= var_listnode16->type->table_size) {
6529 var47 = 0;
6530 } else {
6531 var47 = var_listnode16->type->type_table[cltype48] == idtype49;
6532 }
6533 }
6534 if (!var47) {
6535 fprintf(stderr, "Runtime error: %s", "Assert failed");
6536 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9490);
6537 exit(1);
6538 }
6539 var50 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction199>*/;
6540 var_listnode17 = var50;
6541 var_tkwendnode19 = var_nodearraylist14;
6542 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
6543 cltype52 = type_nullable_parser_nodes__TKwend.color;
6544 idtype53 = type_nullable_parser_nodes__TKwend.id;
6545 if(var_tkwendnode19 == NULL) {
6546 var51 = 1;
6547 } else {
6548 if(cltype52 >= var_tkwendnode19->type->table_size) {
6549 var51 = 0;
6550 } else {
6551 var51 = var_tkwendnode19->type->type_table[cltype52] == idtype53;
6552 }
6553 }
6554 if (!var51) {
6555 fprintf(stderr, "Runtime error: %s", "Assert failed");
6556 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9493);
6557 exit(1);
6558 }
6559 var54 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6560 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var54->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var54, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var54:AStdClassdef>*/;
6561 CHECK_NEW_parser_nodes__AStdClassdef(var54);
6562 var_pclassdefnode1 = var54;
6563 var_node_list = var_pclassdefnode1;
6564 var55 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction199> */
6565 var56 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var55) /* go_to on <var_p:Parser>*/;
6566 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var56, var_node_list) /* push on <var_p:Parser>*/;
6567 RET_LABEL:;
6568 }
6569 /* method parser#ReduceAction199#action for (self: Object, Parser) */
6570 void VIRTUAL_parser__ReduceAction199__action(val* self, val* p0) {
6571 parser__ReduceAction199__action(self, p0);
6572 RET_LABEL:;
6573 }
6574 /* method parser#ReduceAction201#action for (self: ReduceAction201, Parser) */
6575 void parser__ReduceAction201__action(val* self, val* p0) {
6576 val* var_p /* var p: Parser */;
6577 val* var /* : null */;
6578 val* var_node_list /* var node_list: nullable Object */;
6579 val* var1 /* : nullable Object */;
6580 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6581 val* var2 /* : nullable Object */;
6582 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6583 val* var3 /* : nullable Object */;
6584 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6585 val* var4 /* : nullable Object */;
6586 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6587 val* var5 /* : nullable Object */;
6588 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6589 val* var6 /* : nullable Object */;
6590 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6591 val* var7 /* : nullable Object */;
6592 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6593 val* var8 /* : nullable Object */;
6594 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6595 val* var9 /* : Array[Object] */;
6596 val* var_listnode7 /* var listnode7: Array[Object] */;
6597 val* var10 /* : Array[Object] */;
6598 val* var_listnode10 /* var listnode10: Array[Object] */;
6599 val* var11 /* : Array[Object] */;
6600 val* var_listnode12 /* var listnode12: Array[Object] */;
6601 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6602 short int var12 /* : Bool */;
6603 int cltype;
6604 int idtype;
6605 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6606 short int var13 /* : Bool */;
6607 int cltype14;
6608 int idtype15;
6609 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6610 short int var16 /* : Bool */;
6611 int cltype17;
6612 int idtype18;
6613 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6614 short int var19 /* : Bool */;
6615 int cltype20;
6616 int idtype21;
6617 val* var_listnode11 /* var listnode11: nullable Object */;
6618 short int var22 /* : Bool */;
6619 int cltype23;
6620 int idtype24;
6621 val* var25 /* : Array[Object] */;
6622 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
6623 short int var26 /* : Bool */;
6624 int cltype27;
6625 int idtype28;
6626 val* var29 /* : AStdClassdef */;
6627 val* var30 /* : null */;
6628 val* var31 /* : null */;
6629 val* var32 /* : null */;
6630 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6631 long var33 /* : Int */;
6632 long var34 /* : Int */;
6633 var_p = p0;
6634 var = NULL;
6635 var_node_list = var;
6636 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6637 var_nodearraylist8 = var1;
6638 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6639 var_nodearraylist7 = var2;
6640 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6641 var_nodearraylist6 = var3;
6642 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6643 var_nodearraylist5 = var4;
6644 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6645 var_nodearraylist4 = var5;
6646 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6647 var_nodearraylist3 = var6;
6648 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6649 var_nodearraylist2 = var7;
6650 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6651 var_nodearraylist1 = var8;
6652 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
6653 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
6654 CHECK_NEW_array__Array(var9);
6655 var_listnode7 = var9;
6656 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
6657 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
6658 CHECK_NEW_array__Array(var10);
6659 var_listnode10 = var10;
6660 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6661 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6662 CHECK_NEW_array__Array(var11);
6663 var_listnode12 = var11;
6664 var_pdocnode2 = var_nodearraylist1;
6665 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6666 cltype = type_nullable_parser_nodes__ADoc.color;
6667 idtype = type_nullable_parser_nodes__ADoc.id;
6668 if(var_pdocnode2 == NULL) {
6669 var12 = 1;
6670 } else {
6671 if(cltype >= var_pdocnode2->type->table_size) {
6672 var12 = 0;
6673 } else {
6674 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
6675 }
6676 }
6677 if (!var12) {
6678 fprintf(stderr, "Runtime error: %s", "Assert failed");
6679 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9528);
6680 exit(1);
6681 }
6682 var_pvisibilitynode4 = var_nodearraylist2;
6683 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6684 cltype14 = type_nullable_parser_nodes__AVisibility.color;
6685 idtype15 = type_nullable_parser_nodes__AVisibility.id;
6686 if(var_pvisibilitynode4 == NULL) {
6687 var13 = 1;
6688 } else {
6689 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
6690 var13 = 0;
6691 } else {
6692 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
6693 }
6694 }
6695 if (!var13) {
6696 fprintf(stderr, "Runtime error: %s", "Assert failed");
6697 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9530);
6698 exit(1);
6699 }
6700 var_pclasskindnode5 = var_nodearraylist3;
6701 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6702 cltype17 = type_nullable_parser_nodes__AClasskind.color;
6703 idtype18 = type_nullable_parser_nodes__AClasskind.id;
6704 if(var_pclasskindnode5 == NULL) {
6705 var16 = 1;
6706 } else {
6707 if(cltype17 >= var_pclasskindnode5->type->table_size) {
6708 var16 = 0;
6709 } else {
6710 var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18;
6711 }
6712 }
6713 if (!var16) {
6714 fprintf(stderr, "Runtime error: %s", "Assert failed");
6715 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9532);
6716 exit(1);
6717 }
6718 var_tclassidnode6 = var_nodearraylist5;
6719 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6720 cltype20 = type_nullable_parser_nodes__TClassid.color;
6721 idtype21 = type_nullable_parser_nodes__TClassid.id;
6722 if(var_tclassidnode6 == NULL) {
6723 var19 = 1;
6724 } else {
6725 if(cltype20 >= var_tclassidnode6->type->table_size) {
6726 var19 = 0;
6727 } else {
6728 var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21;
6729 }
6730 }
6731 if (!var19) {
6732 fprintf(stderr, "Runtime error: %s", "Assert failed");
6733 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9534);
6734 exit(1);
6735 }
6736 var_listnode11 = var_nodearraylist6;
6737 /* <var_listnode11:nullable Object> isa Array[Object] */
6738 cltype23 = type_array__Arraykernel__Object.color;
6739 idtype24 = type_array__Arraykernel__Object.id;
6740 if(var_listnode11 == NULL) {
6741 var22 = 0;
6742 } else {
6743 if(cltype23 >= var_listnode11->type->table_size) {
6744 var22 = 0;
6745 } else {
6746 var22 = var_listnode11->type->type_table[cltype23] == idtype24;
6747 }
6748 }
6749 if (!var22) {
6750 fprintf(stderr, "Runtime error: %s", "Assert failed");
6751 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9536);
6752 exit(1);
6753 }
6754 var25 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction201>*/;
6755 var_listnode12 = var25;
6756 var_tkwendnode13 = var_nodearraylist8;
6757 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
6758 cltype27 = type_nullable_parser_nodes__TKwend.color;
6759 idtype28 = type_nullable_parser_nodes__TKwend.id;
6760 if(var_tkwendnode13 == NULL) {
6761 var26 = 1;
6762 } else {
6763 if(cltype27 >= var_tkwendnode13->type->table_size) {
6764 var26 = 0;
6765 } else {
6766 var26 = var_tkwendnode13->type->type_table[cltype27] == idtype28;
6767 }
6768 }
6769 if (!var26) {
6770 fprintf(stderr, "Runtime error: %s", "Assert failed");
6771 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9539);
6772 exit(1);
6773 }
6774 var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6775 var30 = NULL;
6776 var31 = NULL;
6777 var32 = NULL;
6778 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var31, var32, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var29:AStdClassdef>*/;
6779 CHECK_NEW_parser_nodes__AStdClassdef(var29);
6780 var_pclassdefnode1 = var29;
6781 var_node_list = var_pclassdefnode1;
6782 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction201> */
6783 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
6784 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
6785 RET_LABEL:;
6786 }
6787 /* method parser#ReduceAction201#action for (self: Object, Parser) */
6788 void VIRTUAL_parser__ReduceAction201__action(val* self, val* p0) {
6789 parser__ReduceAction201__action(self, p0);
6790 RET_LABEL:;
6791 }
6792 /* method parser#ReduceAction202#action for (self: ReduceAction202, Parser) */
6793 void parser__ReduceAction202__action(val* self, val* p0) {
6794 val* var_p /* var p: Parser */;
6795 val* var /* : null */;
6796 val* var_node_list /* var node_list: nullable Object */;
6797 val* var1 /* : nullable Object */;
6798 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6799 val* var2 /* : nullable Object */;
6800 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6801 val* var3 /* : nullable Object */;
6802 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6803 val* var4 /* : nullable Object */;
6804 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6805 val* var5 /* : nullable Object */;
6806 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6807 val* var6 /* : nullable Object */;
6808 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6809 val* var7 /* : nullable Object */;
6810 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6811 val* var8 /* : nullable Object */;
6812 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6813 val* var9 /* : nullable Object */;
6814 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6815 val* var10 /* : Array[Object] */;
6816 val* var_listnode7 /* var listnode7: Array[Object] */;
6817 val* var11 /* : Array[Object] */;
6818 val* var_listnode10 /* var listnode10: Array[Object] */;
6819 val* var12 /* : Array[Object] */;
6820 val* var_listnode12 /* var listnode12: Array[Object] */;
6821 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6822 short int var13 /* : Bool */;
6823 int cltype;
6824 int idtype;
6825 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6826 short int var14 /* : Bool */;
6827 int cltype15;
6828 int idtype16;
6829 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6830 short int var17 /* : Bool */;
6831 int cltype18;
6832 int idtype19;
6833 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6834 short int var20 /* : Bool */;
6835 int cltype21;
6836 int idtype22;
6837 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6838 short int var23 /* : Bool */;
6839 int cltype24;
6840 int idtype25;
6841 val* var_listnode11 /* var listnode11: nullable Object */;
6842 short int var26 /* : Bool */;
6843 int cltype27;
6844 int idtype28;
6845 val* var29 /* : Array[Object] */;
6846 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
6847 short int var30 /* : Bool */;
6848 int cltype31;
6849 int idtype32;
6850 val* var33 /* : AStdClassdef */;
6851 val* var34 /* : null */;
6852 val* var35 /* : null */;
6853 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6854 long var36 /* : Int */;
6855 long var37 /* : Int */;
6856 var_p = p0;
6857 var = NULL;
6858 var_node_list = var;
6859 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6860 var_nodearraylist9 = var1;
6861 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6862 var_nodearraylist8 = var2;
6863 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6864 var_nodearraylist7 = var3;
6865 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6866 var_nodearraylist6 = var4;
6867 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6868 var_nodearraylist5 = var5;
6869 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6870 var_nodearraylist4 = var6;
6871 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6872 var_nodearraylist3 = var7;
6873 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6874 var_nodearraylist2 = var8;
6875 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6876 var_nodearraylist1 = var9;
6877 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
6878 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
6879 CHECK_NEW_array__Array(var10);
6880 var_listnode7 = var10;
6881 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6882 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6883 CHECK_NEW_array__Array(var11);
6884 var_listnode10 = var11;
6885 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6886 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6887 CHECK_NEW_array__Array(var12);
6888 var_listnode12 = var12;
6889 var_pdocnode2 = var_nodearraylist1;
6890 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6891 cltype = type_nullable_parser_nodes__ADoc.color;
6892 idtype = type_nullable_parser_nodes__ADoc.id;
6893 if(var_pdocnode2 == NULL) {
6894 var13 = 1;
6895 } else {
6896 if(cltype >= var_pdocnode2->type->table_size) {
6897 var13 = 0;
6898 } else {
6899 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
6900 }
6901 }
6902 if (!var13) {
6903 fprintf(stderr, "Runtime error: %s", "Assert failed");
6904 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9575);
6905 exit(1);
6906 }
6907 var_tkwredefnode3 = var_nodearraylist2;
6908 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6909 cltype15 = type_nullable_parser_nodes__TKwredef.color;
6910 idtype16 = type_nullable_parser_nodes__TKwredef.id;
6911 if(var_tkwredefnode3 == NULL) {
6912 var14 = 1;
6913 } else {
6914 if(cltype15 >= var_tkwredefnode3->type->table_size) {
6915 var14 = 0;
6916 } else {
6917 var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16;
6918 }
6919 }
6920 if (!var14) {
6921 fprintf(stderr, "Runtime error: %s", "Assert failed");
6922 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9577);
6923 exit(1);
6924 }
6925 var_pvisibilitynode4 = var_nodearraylist3;
6926 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6927 cltype18 = type_nullable_parser_nodes__AVisibility.color;
6928 idtype19 = type_nullable_parser_nodes__AVisibility.id;
6929 if(var_pvisibilitynode4 == NULL) {
6930 var17 = 1;
6931 } else {
6932 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
6933 var17 = 0;
6934 } else {
6935 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
6936 }
6937 }
6938 if (!var17) {
6939 fprintf(stderr, "Runtime error: %s", "Assert failed");
6940 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9579);
6941 exit(1);
6942 }
6943 var_pclasskindnode5 = var_nodearraylist4;
6944 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6945 cltype21 = type_nullable_parser_nodes__AClasskind.color;
6946 idtype22 = type_nullable_parser_nodes__AClasskind.id;
6947 if(var_pclasskindnode5 == NULL) {
6948 var20 = 1;
6949 } else {
6950 if(cltype21 >= var_pclasskindnode5->type->table_size) {
6951 var20 = 0;
6952 } else {
6953 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
6954 }
6955 }
6956 if (!var20) {
6957 fprintf(stderr, "Runtime error: %s", "Assert failed");
6958 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9581);
6959 exit(1);
6960 }
6961 var_tclassidnode6 = var_nodearraylist6;
6962 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6963 cltype24 = type_nullable_parser_nodes__TClassid.color;
6964 idtype25 = type_nullable_parser_nodes__TClassid.id;
6965 if(var_tclassidnode6 == NULL) {
6966 var23 = 1;
6967 } else {
6968 if(cltype24 >= var_tclassidnode6->type->table_size) {
6969 var23 = 0;
6970 } else {
6971 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
6972 }
6973 }
6974 if (!var23) {
6975 fprintf(stderr, "Runtime error: %s", "Assert failed");
6976 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9583);
6977 exit(1);
6978 }
6979 var_listnode11 = var_nodearraylist7;
6980 /* <var_listnode11:nullable Object> isa Array[Object] */
6981 cltype27 = type_array__Arraykernel__Object.color;
6982 idtype28 = type_array__Arraykernel__Object.id;
6983 if(var_listnode11 == NULL) {
6984 var26 = 0;
6985 } else {
6986 if(cltype27 >= var_listnode11->type->table_size) {
6987 var26 = 0;
6988 } else {
6989 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
6990 }
6991 }
6992 if (!var26) {
6993 fprintf(stderr, "Runtime error: %s", "Assert failed");
6994 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9585);
6995 exit(1);
6996 }
6997 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction202>*/;
6998 var_listnode12 = var29;
6999 var_tkwendnode13 = var_nodearraylist9;
7000 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
7001 cltype31 = type_nullable_parser_nodes__TKwend.color;
7002 idtype32 = type_nullable_parser_nodes__TKwend.id;
7003 if(var_tkwendnode13 == NULL) {
7004 var30 = 1;
7005 } else {
7006 if(cltype31 >= var_tkwendnode13->type->table_size) {
7007 var30 = 0;
7008 } else {
7009 var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32;
7010 }
7011 }
7012 if (!var30) {
7013 fprintf(stderr, "Runtime error: %s", "Assert failed");
7014 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9588);
7015 exit(1);
7016 }
7017 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7018 var34 = NULL;
7019 var35 = NULL;
7020 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var34, var35, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var33:AStdClassdef>*/;
7021 CHECK_NEW_parser_nodes__AStdClassdef(var33);
7022 var_pclassdefnode1 = var33;
7023 var_node_list = var_pclassdefnode1;
7024 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction202> */
7025 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
7026 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
7027 RET_LABEL:;
7028 }
7029 /* method parser#ReduceAction202#action for (self: Object, Parser) */
7030 void VIRTUAL_parser__ReduceAction202__action(val* self, val* p0) {
7031 parser__ReduceAction202__action(self, p0);
7032 RET_LABEL:;
7033 }
7034 /* method parser#ReduceAction203#action for (self: ReduceAction203, Parser) */
7035 void parser__ReduceAction203__action(val* self, val* p0) {
7036 val* var_p /* var p: Parser */;
7037 val* var /* : null */;
7038 val* var_node_list /* var node_list: nullable Object */;
7039 val* var1 /* : nullable Object */;
7040 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7041 val* var2 /* : nullable Object */;
7042 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7043 val* var3 /* : nullable Object */;
7044 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7045 val* var4 /* : nullable Object */;
7046 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7047 val* var5 /* : nullable Object */;
7048 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7049 val* var6 /* : nullable Object */;
7050 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7051 val* var7 /* : nullable Object */;
7052 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7053 val* var8 /* : nullable Object */;
7054 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7055 val* var9 /* : nullable Object */;
7056 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7057 val* var10 /* : Array[Object] */;
7058 val* var_listnode7 /* var listnode7: Array[Object] */;
7059 val* var11 /* : Array[Object] */;
7060 val* var_listnode10 /* var listnode10: Array[Object] */;
7061 val* var12 /* : Array[Object] */;
7062 val* var_listnode12 /* var listnode12: Array[Object] */;
7063 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7064 short int var13 /* : Bool */;
7065 int cltype;
7066 int idtype;
7067 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7068 short int var14 /* : Bool */;
7069 int cltype15;
7070 int idtype16;
7071 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7072 short int var17 /* : Bool */;
7073 int cltype18;
7074 int idtype19;
7075 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7076 short int var20 /* : Bool */;
7077 int cltype21;
7078 int idtype22;
7079 val* var_listnode11 /* var listnode11: nullable Object */;
7080 short int var23 /* : Bool */;
7081 int cltype24;
7082 int idtype25;
7083 val* var26 /* : Array[Object] */;
7084 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
7085 short int var27 /* : Bool */;
7086 int cltype28;
7087 int idtype29;
7088 val* var30 /* : AStdClassdef */;
7089 val* var31 /* : null */;
7090 val* var32 /* : null */;
7091 val* var33 /* : null */;
7092 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7093 long var34 /* : Int */;
7094 long var35 /* : Int */;
7095 var_p = p0;
7096 var = NULL;
7097 var_node_list = var;
7098 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7099 var_nodearraylist9 = var1;
7100 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7101 var_nodearraylist8 = var2;
7102 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7103 var_nodearraylist7 = var3;
7104 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7105 var_nodearraylist6 = var4;
7106 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7107 var_nodearraylist5 = var5;
7108 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7109 var_nodearraylist4 = var6;
7110 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7111 var_nodearraylist3 = var7;
7112 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7113 var_nodearraylist2 = var8;
7114 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7115 var_nodearraylist1 = var9;
7116 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
7117 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
7118 CHECK_NEW_array__Array(var10);
7119 var_listnode7 = var10;
7120 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
7121 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
7122 CHECK_NEW_array__Array(var11);
7123 var_listnode10 = var11;
7124 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7125 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7126 CHECK_NEW_array__Array(var12);
7127 var_listnode12 = var12;
7128 var_pdocnode2 = var_nodearraylist1;
7129 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7130 cltype = type_nullable_parser_nodes__ADoc.color;
7131 idtype = type_nullable_parser_nodes__ADoc.id;
7132 if(var_pdocnode2 == NULL) {
7133 var13 = 1;
7134 } else {
7135 if(cltype >= var_pdocnode2->type->table_size) {
7136 var13 = 0;
7137 } else {
7138 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
7139 }
7140 }
7141 if (!var13) {
7142 fprintf(stderr, "Runtime error: %s", "Assert failed");
7143 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9624);
7144 exit(1);
7145 }
7146 var_pvisibilitynode4 = var_nodearraylist2;
7147 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7148 cltype15 = type_nullable_parser_nodes__AVisibility.color;
7149 idtype16 = type_nullable_parser_nodes__AVisibility.id;
7150 if(var_pvisibilitynode4 == NULL) {
7151 var14 = 1;
7152 } else {
7153 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
7154 var14 = 0;
7155 } else {
7156 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
7157 }
7158 }
7159 if (!var14) {
7160 fprintf(stderr, "Runtime error: %s", "Assert failed");
7161 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9626);
7162 exit(1);
7163 }
7164 var_pclasskindnode5 = var_nodearraylist3;
7165 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7166 cltype18 = type_nullable_parser_nodes__AClasskind.color;
7167 idtype19 = type_nullable_parser_nodes__AClasskind.id;
7168 if(var_pclasskindnode5 == NULL) {
7169 var17 = 1;
7170 } else {
7171 if(cltype18 >= var_pclasskindnode5->type->table_size) {
7172 var17 = 0;
7173 } else {
7174 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
7175 }
7176 }
7177 if (!var17) {
7178 fprintf(stderr, "Runtime error: %s", "Assert failed");
7179 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9628);
7180 exit(1);
7181 }
7182 var_tclassidnode6 = var_nodearraylist6;
7183 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7184 cltype21 = type_nullable_parser_nodes__TClassid.color;
7185 idtype22 = type_nullable_parser_nodes__TClassid.id;
7186 if(var_tclassidnode6 == NULL) {
7187 var20 = 1;
7188 } else {
7189 if(cltype21 >= var_tclassidnode6->type->table_size) {
7190 var20 = 0;
7191 } else {
7192 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
7193 }
7194 }
7195 if (!var20) {
7196 fprintf(stderr, "Runtime error: %s", "Assert failed");
7197 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9630);
7198 exit(1);
7199 }
7200 var_listnode11 = var_nodearraylist7;
7201 /* <var_listnode11:nullable Object> isa Array[Object] */
7202 cltype24 = type_array__Arraykernel__Object.color;
7203 idtype25 = type_array__Arraykernel__Object.id;
7204 if(var_listnode11 == NULL) {
7205 var23 = 0;
7206 } else {
7207 if(cltype24 >= var_listnode11->type->table_size) {
7208 var23 = 0;
7209 } else {
7210 var23 = var_listnode11->type->type_table[cltype24] == idtype25;
7211 }
7212 }
7213 if (!var23) {
7214 fprintf(stderr, "Runtime error: %s", "Assert failed");
7215 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9632);
7216 exit(1);
7217 }
7218 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction203>*/;
7219 var_listnode12 = var26;
7220 var_tkwendnode13 = var_nodearraylist9;
7221 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
7222 cltype28 = type_nullable_parser_nodes__TKwend.color;
7223 idtype29 = type_nullable_parser_nodes__TKwend.id;
7224 if(var_tkwendnode13 == NULL) {
7225 var27 = 1;
7226 } else {
7227 if(cltype28 >= var_tkwendnode13->type->table_size) {
7228 var27 = 0;
7229 } else {
7230 var27 = var_tkwendnode13->type->type_table[cltype28] == idtype29;
7231 }
7232 }
7233 if (!var27) {
7234 fprintf(stderr, "Runtime error: %s", "Assert failed");
7235 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9635);
7236 exit(1);
7237 }
7238 var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7239 var31 = NULL;
7240 var32 = NULL;
7241 var33 = NULL;
7242 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var30, var_pdocnode2, var31, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var32, var33, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var30:AStdClassdef>*/;
7243 CHECK_NEW_parser_nodes__AStdClassdef(var30);
7244 var_pclassdefnode1 = var30;
7245 var_node_list = var_pclassdefnode1;
7246 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction203> */
7247 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
7248 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
7249 RET_LABEL:;
7250 }
7251 /* method parser#ReduceAction203#action for (self: Object, Parser) */
7252 void VIRTUAL_parser__ReduceAction203__action(val* self, val* p0) {
7253 parser__ReduceAction203__action(self, p0);
7254 RET_LABEL:;
7255 }
7256 /* method parser#ReduceAction204#action for (self: ReduceAction204, Parser) */
7257 void parser__ReduceAction204__action(val* self, val* p0) {
7258 val* var_p /* var p: Parser */;
7259 val* var /* : null */;
7260 val* var_node_list /* var node_list: nullable Object */;
7261 val* var1 /* : nullable Object */;
7262 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7263 val* var2 /* : nullable Object */;
7264 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7265 val* var3 /* : nullable Object */;
7266 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7267 val* var4 /* : nullable Object */;
7268 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7269 val* var5 /* : nullable Object */;
7270 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7271 val* var6 /* : nullable Object */;
7272 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7273 val* var7 /* : nullable Object */;
7274 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7275 val* var8 /* : nullable Object */;
7276 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7277 val* var9 /* : nullable Object */;
7278 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7279 val* var10 /* : nullable Object */;
7280 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7281 val* var11 /* : Array[Object] */;
7282 val* var_listnode7 /* var listnode7: Array[Object] */;
7283 val* var12 /* : Array[Object] */;
7284 val* var_listnode10 /* var listnode10: Array[Object] */;
7285 val* var13 /* : Array[Object] */;
7286 val* var_listnode12 /* var listnode12: Array[Object] */;
7287 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7288 short int var14 /* : Bool */;
7289 int cltype;
7290 int idtype;
7291 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7292 short int var15 /* : Bool */;
7293 int cltype16;
7294 int idtype17;
7295 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7296 short int var18 /* : Bool */;
7297 int cltype19;
7298 int idtype20;
7299 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7300 short int var21 /* : Bool */;
7301 int cltype22;
7302 int idtype23;
7303 val* var_listnode11 /* var listnode11: nullable Object */;
7304 short int var24 /* : Bool */;
7305 int cltype25;
7306 int idtype26;
7307 val* var27 /* : Array[Object] */;
7308 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
7309 short int var28 /* : Bool */;
7310 int cltype29;
7311 int idtype30;
7312 val* var31 /* : AStdClassdef */;
7313 val* var32 /* : null */;
7314 val* var33 /* : null */;
7315 val* var34 /* : null */;
7316 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7317 long var35 /* : Int */;
7318 long var36 /* : Int */;
7319 var_p = p0;
7320 var = NULL;
7321 var_node_list = var;
7322 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7323 var_nodearraylist10 = var1;
7324 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7325 var_nodearraylist9 = var2;
7326 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7327 var_nodearraylist8 = var3;
7328 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7329 var_nodearraylist7 = var4;
7330 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7331 var_nodearraylist6 = var5;
7332 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7333 var_nodearraylist5 = var6;
7334 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7335 var_nodearraylist4 = var7;
7336 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7337 var_nodearraylist3 = var8;
7338 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7339 var_nodearraylist2 = var9;
7340 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7341 var_nodearraylist1 = var10;
7342 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
7343 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
7344 CHECK_NEW_array__Array(var11);
7345 var_listnode7 = var11;
7346 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7347 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7348 CHECK_NEW_array__Array(var12);
7349 var_listnode10 = var12;
7350 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7351 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7352 CHECK_NEW_array__Array(var13);
7353 var_listnode12 = var13;
7354 var_pdocnode2 = var_nodearraylist1;
7355 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7356 cltype = type_nullable_parser_nodes__ADoc.color;
7357 idtype = type_nullable_parser_nodes__ADoc.id;
7358 if(var_pdocnode2 == NULL) {
7359 var14 = 1;
7360 } else {
7361 if(cltype >= var_pdocnode2->type->table_size) {
7362 var14 = 0;
7363 } else {
7364 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
7365 }
7366 }
7367 if (!var14) {
7368 fprintf(stderr, "Runtime error: %s", "Assert failed");
7369 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9672);
7370 exit(1);
7371 }
7372 var_pvisibilitynode4 = var_nodearraylist2;
7373 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7374 cltype16 = type_nullable_parser_nodes__AVisibility.color;
7375 idtype17 = type_nullable_parser_nodes__AVisibility.id;
7376 if(var_pvisibilitynode4 == NULL) {
7377 var15 = 1;
7378 } else {
7379 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
7380 var15 = 0;
7381 } else {
7382 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
7383 }
7384 }
7385 if (!var15) {
7386 fprintf(stderr, "Runtime error: %s", "Assert failed");
7387 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9674);
7388 exit(1);
7389 }
7390 var_pclasskindnode5 = var_nodearraylist3;
7391 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7392 cltype19 = type_nullable_parser_nodes__AClasskind.color;
7393 idtype20 = type_nullable_parser_nodes__AClasskind.id;
7394 if(var_pclasskindnode5 == NULL) {
7395 var18 = 1;
7396 } else {
7397 if(cltype19 >= var_pclasskindnode5->type->table_size) {
7398 var18 = 0;
7399 } else {
7400 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
7401 }
7402 }
7403 if (!var18) {
7404 fprintf(stderr, "Runtime error: %s", "Assert failed");
7405 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9676);
7406 exit(1);
7407 }
7408 var_tclassidnode6 = var_nodearraylist7;
7409 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7410 cltype22 = type_nullable_parser_nodes__TClassid.color;
7411 idtype23 = type_nullable_parser_nodes__TClassid.id;
7412 if(var_tclassidnode6 == NULL) {
7413 var21 = 1;
7414 } else {
7415 if(cltype22 >= var_tclassidnode6->type->table_size) {
7416 var21 = 0;
7417 } else {
7418 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
7419 }
7420 }
7421 if (!var21) {
7422 fprintf(stderr, "Runtime error: %s", "Assert failed");
7423 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9678);
7424 exit(1);
7425 }
7426 var_listnode11 = var_nodearraylist8;
7427 /* <var_listnode11:nullable Object> isa Array[Object] */
7428 cltype25 = type_array__Arraykernel__Object.color;
7429 idtype26 = type_array__Arraykernel__Object.id;
7430 if(var_listnode11 == NULL) {
7431 var24 = 0;
7432 } else {
7433 if(cltype25 >= var_listnode11->type->table_size) {
7434 var24 = 0;
7435 } else {
7436 var24 = var_listnode11->type->type_table[cltype25] == idtype26;
7437 }
7438 }
7439 if (!var24) {
7440 fprintf(stderr, "Runtime error: %s", "Assert failed");
7441 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9680);
7442 exit(1);
7443 }
7444 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction204>*/;
7445 var_listnode12 = var27;
7446 var_tkwendnode13 = var_nodearraylist10;
7447 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
7448 cltype29 = type_nullable_parser_nodes__TKwend.color;
7449 idtype30 = type_nullable_parser_nodes__TKwend.id;
7450 if(var_tkwendnode13 == NULL) {
7451 var28 = 1;
7452 } else {
7453 if(cltype29 >= var_tkwendnode13->type->table_size) {
7454 var28 = 0;
7455 } else {
7456 var28 = var_tkwendnode13->type->type_table[cltype29] == idtype30;
7457 }
7458 }
7459 if (!var28) {
7460 fprintf(stderr, "Runtime error: %s", "Assert failed");
7461 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9683);
7462 exit(1);
7463 }
7464 var31 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7465 var32 = NULL;
7466 var33 = NULL;
7467 var34 = NULL;
7468 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var31, var_pdocnode2, var32, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var33, var34, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var31:AStdClassdef>*/;
7469 CHECK_NEW_parser_nodes__AStdClassdef(var31);
7470 var_pclassdefnode1 = var31;
7471 var_node_list = var_pclassdefnode1;
7472 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction204> */
7473 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
7474 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
7475 RET_LABEL:;
7476 }
7477 /* method parser#ReduceAction204#action for (self: Object, Parser) */
7478 void VIRTUAL_parser__ReduceAction204__action(val* self, val* p0) {
7479 parser__ReduceAction204__action(self, p0);
7480 RET_LABEL:;
7481 }
7482 /* method parser#ReduceAction206#action for (self: ReduceAction206, Parser) */
7483 void parser__ReduceAction206__action(val* self, val* p0) {
7484 val* var_p /* var p: Parser */;
7485 val* var /* : null */;
7486 val* var_node_list /* var node_list: nullable Object */;
7487 val* var1 /* : nullable Object */;
7488 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7489 val* var2 /* : nullable Object */;
7490 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7491 val* var3 /* : nullable Object */;
7492 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7493 val* var4 /* : nullable Object */;
7494 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7495 val* var5 /* : nullable Object */;
7496 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7497 val* var6 /* : nullable Object */;
7498 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7499 val* var7 /* : nullable Object */;
7500 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7501 val* var8 /* : nullable Object */;
7502 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7503 val* var9 /* : nullable Object */;
7504 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7505 val* var10 /* : nullable Object */;
7506 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7507 val* var11 /* : Array[Object] */;
7508 val* var_listnode7 /* var listnode7: Array[Object] */;
7509 val* var12 /* : Array[Object] */;
7510 val* var_listnode10 /* var listnode10: Array[Object] */;
7511 val* var13 /* : Array[Object] */;
7512 val* var_listnode12 /* var listnode12: Array[Object] */;
7513 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7514 short int var14 /* : Bool */;
7515 int cltype;
7516 int idtype;
7517 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7518 short int var15 /* : Bool */;
7519 int cltype16;
7520 int idtype17;
7521 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7522 short int var18 /* : Bool */;
7523 int cltype19;
7524 int idtype20;
7525 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7526 short int var21 /* : Bool */;
7527 int cltype22;
7528 int idtype23;
7529 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7530 short int var24 /* : Bool */;
7531 int cltype25;
7532 int idtype26;
7533 val* var_listnode11 /* var listnode11: nullable Object */;
7534 short int var27 /* : Bool */;
7535 int cltype28;
7536 int idtype29;
7537 val* var30 /* : Array[Object] */;
7538 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
7539 short int var31 /* : Bool */;
7540 int cltype32;
7541 int idtype33;
7542 val* var34 /* : AStdClassdef */;
7543 val* var35 /* : null */;
7544 val* var36 /* : null */;
7545 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7546 long var37 /* : Int */;
7547 long var38 /* : Int */;
7548 var_p = p0;
7549 var = NULL;
7550 var_node_list = var;
7551 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7552 var_nodearraylist10 = var1;
7553 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7554 var_nodearraylist9 = var2;
7555 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7556 var_nodearraylist8 = var3;
7557 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7558 var_nodearraylist7 = var4;
7559 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7560 var_nodearraylist6 = var5;
7561 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7562 var_nodearraylist5 = var6;
7563 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7564 var_nodearraylist4 = var7;
7565 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7566 var_nodearraylist3 = var8;
7567 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7568 var_nodearraylist2 = var9;
7569 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7570 var_nodearraylist1 = var10;
7571 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
7572 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
7573 CHECK_NEW_array__Array(var11);
7574 var_listnode7 = var11;
7575 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7576 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7577 CHECK_NEW_array__Array(var12);
7578 var_listnode10 = var12;
7579 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7580 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7581 CHECK_NEW_array__Array(var13);
7582 var_listnode12 = var13;
7583 var_pdocnode2 = var_nodearraylist1;
7584 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7585 cltype = type_nullable_parser_nodes__ADoc.color;
7586 idtype = type_nullable_parser_nodes__ADoc.id;
7587 if(var_pdocnode2 == NULL) {
7588 var14 = 1;
7589 } else {
7590 if(cltype >= var_pdocnode2->type->table_size) {
7591 var14 = 0;
7592 } else {
7593 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
7594 }
7595 }
7596 if (!var14) {
7597 fprintf(stderr, "Runtime error: %s", "Assert failed");
7598 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9720);
7599 exit(1);
7600 }
7601 var_tkwredefnode3 = var_nodearraylist2;
7602 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7603 cltype16 = type_nullable_parser_nodes__TKwredef.color;
7604 idtype17 = type_nullable_parser_nodes__TKwredef.id;
7605 if(var_tkwredefnode3 == NULL) {
7606 var15 = 1;
7607 } else {
7608 if(cltype16 >= var_tkwredefnode3->type->table_size) {
7609 var15 = 0;
7610 } else {
7611 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
7612 }
7613 }
7614 if (!var15) {
7615 fprintf(stderr, "Runtime error: %s", "Assert failed");
7616 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9722);
7617 exit(1);
7618 }
7619 var_pvisibilitynode4 = var_nodearraylist3;
7620 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7621 cltype19 = type_nullable_parser_nodes__AVisibility.color;
7622 idtype20 = type_nullable_parser_nodes__AVisibility.id;
7623 if(var_pvisibilitynode4 == NULL) {
7624 var18 = 1;
7625 } else {
7626 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
7627 var18 = 0;
7628 } else {
7629 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
7630 }
7631 }
7632 if (!var18) {
7633 fprintf(stderr, "Runtime error: %s", "Assert failed");
7634 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9724);
7635 exit(1);
7636 }
7637 var_pclasskindnode5 = var_nodearraylist4;
7638 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7639 cltype22 = type_nullable_parser_nodes__AClasskind.color;
7640 idtype23 = type_nullable_parser_nodes__AClasskind.id;
7641 if(var_pclasskindnode5 == NULL) {
7642 var21 = 1;
7643 } else {
7644 if(cltype22 >= var_pclasskindnode5->type->table_size) {
7645 var21 = 0;
7646 } else {
7647 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
7648 }
7649 }
7650 if (!var21) {
7651 fprintf(stderr, "Runtime error: %s", "Assert failed");
7652 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9726);
7653 exit(1);
7654 }
7655 var_tclassidnode6 = var_nodearraylist7;
7656 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7657 cltype25 = type_nullable_parser_nodes__TClassid.color;
7658 idtype26 = type_nullable_parser_nodes__TClassid.id;
7659 if(var_tclassidnode6 == NULL) {
7660 var24 = 1;
7661 } else {
7662 if(cltype25 >= var_tclassidnode6->type->table_size) {
7663 var24 = 0;
7664 } else {
7665 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
7666 }
7667 }
7668 if (!var24) {
7669 fprintf(stderr, "Runtime error: %s", "Assert failed");
7670 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9728);
7671 exit(1);
7672 }
7673 var_listnode11 = var_nodearraylist8;
7674 /* <var_listnode11:nullable Object> isa Array[Object] */
7675 cltype28 = type_array__Arraykernel__Object.color;
7676 idtype29 = type_array__Arraykernel__Object.id;
7677 if(var_listnode11 == NULL) {
7678 var27 = 0;
7679 } else {
7680 if(cltype28 >= var_listnode11->type->table_size) {
7681 var27 = 0;
7682 } else {
7683 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
7684 }
7685 }
7686 if (!var27) {
7687 fprintf(stderr, "Runtime error: %s", "Assert failed");
7688 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9730);
7689 exit(1);
7690 }
7691 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction206>*/;
7692 var_listnode12 = var30;
7693 var_tkwendnode13 = var_nodearraylist10;
7694 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
7695 cltype32 = type_nullable_parser_nodes__TKwend.color;
7696 idtype33 = type_nullable_parser_nodes__TKwend.id;
7697 if(var_tkwendnode13 == NULL) {
7698 var31 = 1;
7699 } else {
7700 if(cltype32 >= var_tkwendnode13->type->table_size) {
7701 var31 = 0;
7702 } else {
7703 var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33;
7704 }
7705 }
7706 if (!var31) {
7707 fprintf(stderr, "Runtime error: %s", "Assert failed");
7708 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9733);
7709 exit(1);
7710 }
7711 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7712 var35 = NULL;
7713 var36 = NULL;
7714 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var35, var36, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var34:AStdClassdef>*/;
7715 CHECK_NEW_parser_nodes__AStdClassdef(var34);
7716 var_pclassdefnode1 = var34;
7717 var_node_list = var_pclassdefnode1;
7718 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction206> */
7719 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
7720 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
7721 RET_LABEL:;
7722 }
7723 /* method parser#ReduceAction206#action for (self: Object, Parser) */
7724 void VIRTUAL_parser__ReduceAction206__action(val* self, val* p0) {
7725 parser__ReduceAction206__action(self, p0);
7726 RET_LABEL:;
7727 }
7728 /* method parser#ReduceAction207#action for (self: ReduceAction207, Parser) */
7729 void parser__ReduceAction207__action(val* self, val* p0) {
7730 val* var_p /* var p: Parser */;
7731 val* var /* : null */;
7732 val* var_node_list /* var node_list: nullable Object */;
7733 val* var1 /* : nullable Object */;
7734 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7735 val* var2 /* : nullable Object */;
7736 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7737 val* var3 /* : nullable Object */;
7738 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7739 val* var4 /* : nullable Object */;
7740 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7741 val* var5 /* : nullable Object */;
7742 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7743 val* var6 /* : nullable Object */;
7744 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7745 val* var7 /* : nullable Object */;
7746 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7747 val* var8 /* : nullable Object */;
7748 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7749 val* var9 /* : nullable Object */;
7750 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7751 val* var10 /* : nullable Object */;
7752 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7753 val* var11 /* : nullable Object */;
7754 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7755 val* var12 /* : Array[Object] */;
7756 val* var_listnode7 /* var listnode7: Array[Object] */;
7757 val* var13 /* : Array[Object] */;
7758 val* var_listnode10 /* var listnode10: Array[Object] */;
7759 val* var14 /* : Array[Object] */;
7760 val* var_listnode12 /* var listnode12: Array[Object] */;
7761 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7762 short int var15 /* : Bool */;
7763 int cltype;
7764 int idtype;
7765 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7766 short int var16 /* : Bool */;
7767 int cltype17;
7768 int idtype18;
7769 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7770 short int var19 /* : Bool */;
7771 int cltype20;
7772 int idtype21;
7773 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7774 short int var22 /* : Bool */;
7775 int cltype23;
7776 int idtype24;
7777 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7778 short int var25 /* : Bool */;
7779 int cltype26;
7780 int idtype27;
7781 val* var_listnode11 /* var listnode11: nullable Object */;
7782 short int var28 /* : Bool */;
7783 int cltype29;
7784 int idtype30;
7785 val* var31 /* : Array[Object] */;
7786 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
7787 short int var32 /* : Bool */;
7788 int cltype33;
7789 int idtype34;
7790 val* var35 /* : AStdClassdef */;
7791 val* var36 /* : null */;
7792 val* var37 /* : null */;
7793 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7794 long var38 /* : Int */;
7795 long var39 /* : Int */;
7796 var_p = p0;
7797 var = NULL;
7798 var_node_list = var;
7799 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7800 var_nodearraylist11 = var1;
7801 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7802 var_nodearraylist10 = var2;
7803 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7804 var_nodearraylist9 = var3;
7805 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7806 var_nodearraylist8 = var4;
7807 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7808 var_nodearraylist7 = var5;
7809 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7810 var_nodearraylist6 = var6;
7811 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7812 var_nodearraylist5 = var7;
7813 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7814 var_nodearraylist4 = var8;
7815 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7816 var_nodearraylist3 = var9;
7817 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7818 var_nodearraylist2 = var10;
7819 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7820 var_nodearraylist1 = var11;
7821 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7822 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7823 CHECK_NEW_array__Array(var12);
7824 var_listnode7 = var12;
7825 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7826 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7827 CHECK_NEW_array__Array(var13);
7828 var_listnode10 = var13;
7829 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7830 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7831 CHECK_NEW_array__Array(var14);
7832 var_listnode12 = var14;
7833 var_pdocnode2 = var_nodearraylist1;
7834 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7835 cltype = type_nullable_parser_nodes__ADoc.color;
7836 idtype = type_nullable_parser_nodes__ADoc.id;
7837 if(var_pdocnode2 == NULL) {
7838 var15 = 1;
7839 } else {
7840 if(cltype >= var_pdocnode2->type->table_size) {
7841 var15 = 0;
7842 } else {
7843 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
7844 }
7845 }
7846 if (!var15) {
7847 fprintf(stderr, "Runtime error: %s", "Assert failed");
7848 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9771);
7849 exit(1);
7850 }
7851 var_tkwredefnode3 = var_nodearraylist2;
7852 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7853 cltype17 = type_nullable_parser_nodes__TKwredef.color;
7854 idtype18 = type_nullable_parser_nodes__TKwredef.id;
7855 if(var_tkwredefnode3 == NULL) {
7856 var16 = 1;
7857 } else {
7858 if(cltype17 >= var_tkwredefnode3->type->table_size) {
7859 var16 = 0;
7860 } else {
7861 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
7862 }
7863 }
7864 if (!var16) {
7865 fprintf(stderr, "Runtime error: %s", "Assert failed");
7866 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9773);
7867 exit(1);
7868 }
7869 var_pvisibilitynode4 = var_nodearraylist3;
7870 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7871 cltype20 = type_nullable_parser_nodes__AVisibility.color;
7872 idtype21 = type_nullable_parser_nodes__AVisibility.id;
7873 if(var_pvisibilitynode4 == NULL) {
7874 var19 = 1;
7875 } else {
7876 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
7877 var19 = 0;
7878 } else {
7879 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
7880 }
7881 }
7882 if (!var19) {
7883 fprintf(stderr, "Runtime error: %s", "Assert failed");
7884 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9775);
7885 exit(1);
7886 }
7887 var_pclasskindnode5 = var_nodearraylist4;
7888 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7889 cltype23 = type_nullable_parser_nodes__AClasskind.color;
7890 idtype24 = type_nullable_parser_nodes__AClasskind.id;
7891 if(var_pclasskindnode5 == NULL) {
7892 var22 = 1;
7893 } else {
7894 if(cltype23 >= var_pclasskindnode5->type->table_size) {
7895 var22 = 0;
7896 } else {
7897 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
7898 }
7899 }
7900 if (!var22) {
7901 fprintf(stderr, "Runtime error: %s", "Assert failed");
7902 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9777);
7903 exit(1);
7904 }
7905 var_tclassidnode6 = var_nodearraylist8;
7906 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7907 cltype26 = type_nullable_parser_nodes__TClassid.color;
7908 idtype27 = type_nullable_parser_nodes__TClassid.id;
7909 if(var_tclassidnode6 == NULL) {
7910 var25 = 1;
7911 } else {
7912 if(cltype26 >= var_tclassidnode6->type->table_size) {
7913 var25 = 0;
7914 } else {
7915 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
7916 }
7917 }
7918 if (!var25) {
7919 fprintf(stderr, "Runtime error: %s", "Assert failed");
7920 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9779);
7921 exit(1);
7922 }
7923 var_listnode11 = var_nodearraylist9;
7924 /* <var_listnode11:nullable Object> isa Array[Object] */
7925 cltype29 = type_array__Arraykernel__Object.color;
7926 idtype30 = type_array__Arraykernel__Object.id;
7927 if(var_listnode11 == NULL) {
7928 var28 = 0;
7929 } else {
7930 if(cltype29 >= var_listnode11->type->table_size) {
7931 var28 = 0;
7932 } else {
7933 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
7934 }
7935 }
7936 if (!var28) {
7937 fprintf(stderr, "Runtime error: %s", "Assert failed");
7938 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9781);
7939 exit(1);
7940 }
7941 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction207>*/;
7942 var_listnode12 = var31;
7943 var_tkwendnode13 = var_nodearraylist11;
7944 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
7945 cltype33 = type_nullable_parser_nodes__TKwend.color;
7946 idtype34 = type_nullable_parser_nodes__TKwend.id;
7947 if(var_tkwendnode13 == NULL) {
7948 var32 = 1;
7949 } else {
7950 if(cltype33 >= var_tkwendnode13->type->table_size) {
7951 var32 = 0;
7952 } else {
7953 var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34;
7954 }
7955 }
7956 if (!var32) {
7957 fprintf(stderr, "Runtime error: %s", "Assert failed");
7958 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9784);
7959 exit(1);
7960 }
7961 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7962 var36 = NULL;
7963 var37 = NULL;
7964 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var36, var37, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var35:AStdClassdef>*/;
7965 CHECK_NEW_parser_nodes__AStdClassdef(var35);
7966 var_pclassdefnode1 = var35;
7967 var_node_list = var_pclassdefnode1;
7968 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction207> */
7969 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
7970 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
7971 RET_LABEL:;
7972 }
7973 /* method parser#ReduceAction207#action for (self: Object, Parser) */
7974 void VIRTUAL_parser__ReduceAction207__action(val* self, val* p0) {
7975 parser__ReduceAction207__action(self, p0);
7976 RET_LABEL:;
7977 }
7978 /* method parser#ReduceAction209#action for (self: ReduceAction209, Parser) */
7979 void parser__ReduceAction209__action(val* self, val* p0) {
7980 val* var_p /* var p: Parser */;
7981 val* var /* : null */;
7982 val* var_node_list /* var node_list: nullable Object */;
7983 val* var1 /* : nullable Object */;
7984 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7985 val* var2 /* : nullable Object */;
7986 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7987 val* var3 /* : nullable Object */;
7988 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7989 val* var4 /* : nullable Object */;
7990 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7991 val* var5 /* : nullable Object */;
7992 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7993 val* var6 /* : nullable Object */;
7994 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7995 val* var7 /* : nullable Object */;
7996 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7997 val* var8 /* : nullable Object */;
7998 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7999 val* var9 /* : nullable Object */;
8000 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8001 val* var10 /* : Array[Object] */;
8002 val* var_listnode8 /* var listnode8: Array[Object] */;
8003 val* var11 /* : Array[Object] */;
8004 val* var_listnode11 /* var listnode11: Array[Object] */;
8005 val* var12 /* : Array[Object] */;
8006 val* var_listnode13 /* var listnode13: Array[Object] */;
8007 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8008 short int var13 /* : Bool */;
8009 int cltype;
8010 int idtype;
8011 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8012 short int var14 /* : Bool */;
8013 int cltype15;
8014 int idtype16;
8015 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8016 short int var17 /* : Bool */;
8017 int cltype18;
8018 int idtype19;
8019 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8020 short int var20 /* : Bool */;
8021 int cltype21;
8022 int idtype22;
8023 val* var_listnode7 /* var listnode7: nullable Object */;
8024 short int var23 /* : Bool */;
8025 int cltype24;
8026 int idtype25;
8027 val* var26 /* : Array[Object] */;
8028 val* var_listnode12 /* var listnode12: nullable Object */;
8029 short int var27 /* : Bool */;
8030 int cltype28;
8031 int idtype29;
8032 val* var30 /* : Array[Object] */;
8033 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
8034 short int var31 /* : Bool */;
8035 int cltype32;
8036 int idtype33;
8037 val* var34 /* : AStdClassdef */;
8038 val* var35 /* : null */;
8039 val* var36 /* : null */;
8040 val* var37 /* : null */;
8041 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8042 long var38 /* : Int */;
8043 long var39 /* : Int */;
8044 var_p = p0;
8045 var = NULL;
8046 var_node_list = var;
8047 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8048 var_nodearraylist9 = var1;
8049 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8050 var_nodearraylist8 = var2;
8051 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8052 var_nodearraylist7 = var3;
8053 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8054 var_nodearraylist6 = var4;
8055 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8056 var_nodearraylist5 = var5;
8057 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8058 var_nodearraylist4 = var6;
8059 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8060 var_nodearraylist3 = var7;
8061 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8062 var_nodearraylist2 = var8;
8063 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8064 var_nodearraylist1 = var9;
8065 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
8066 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
8067 CHECK_NEW_array__Array(var10);
8068 var_listnode8 = var10;
8069 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
8070 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
8071 CHECK_NEW_array__Array(var11);
8072 var_listnode11 = var11;
8073 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8074 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8075 CHECK_NEW_array__Array(var12);
8076 var_listnode13 = var12;
8077 var_pdocnode2 = var_nodearraylist1;
8078 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8079 cltype = type_nullable_parser_nodes__ADoc.color;
8080 idtype = type_nullable_parser_nodes__ADoc.id;
8081 if(var_pdocnode2 == NULL) {
8082 var13 = 1;
8083 } else {
8084 if(cltype >= var_pdocnode2->type->table_size) {
8085 var13 = 0;
8086 } else {
8087 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
8088 }
8089 }
8090 if (!var13) {
8091 fprintf(stderr, "Runtime error: %s", "Assert failed");
8092 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9820);
8093 exit(1);
8094 }
8095 var_pvisibilitynode4 = var_nodearraylist2;
8096 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8097 cltype15 = type_nullable_parser_nodes__AVisibility.color;
8098 idtype16 = type_nullable_parser_nodes__AVisibility.id;
8099 if(var_pvisibilitynode4 == NULL) {
8100 var14 = 1;
8101 } else {
8102 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
8103 var14 = 0;
8104 } else {
8105 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
8106 }
8107 }
8108 if (!var14) {
8109 fprintf(stderr, "Runtime error: %s", "Assert failed");
8110 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9822);
8111 exit(1);
8112 }
8113 var_pclasskindnode5 = var_nodearraylist3;
8114 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8115 cltype18 = type_nullable_parser_nodes__AClasskind.color;
8116 idtype19 = type_nullable_parser_nodes__AClasskind.id;
8117 if(var_pclasskindnode5 == NULL) {
8118 var17 = 1;
8119 } else {
8120 if(cltype18 >= var_pclasskindnode5->type->table_size) {
8121 var17 = 0;
8122 } else {
8123 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
8124 }
8125 }
8126 if (!var17) {
8127 fprintf(stderr, "Runtime error: %s", "Assert failed");
8128 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9824);
8129 exit(1);
8130 }
8131 var_tclassidnode6 = var_nodearraylist5;
8132 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8133 cltype21 = type_nullable_parser_nodes__TClassid.color;
8134 idtype22 = type_nullable_parser_nodes__TClassid.id;
8135 if(var_tclassidnode6 == NULL) {
8136 var20 = 1;
8137 } else {
8138 if(cltype21 >= var_tclassidnode6->type->table_size) {
8139 var20 = 0;
8140 } else {
8141 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
8142 }
8143 }
8144 if (!var20) {
8145 fprintf(stderr, "Runtime error: %s", "Assert failed");
8146 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9826);
8147 exit(1);
8148 }
8149 var_listnode7 = var_nodearraylist6;
8150 /* <var_listnode7:nullable Object> isa Array[Object] */
8151 cltype24 = type_array__Arraykernel__Object.color;
8152 idtype25 = type_array__Arraykernel__Object.id;
8153 if(var_listnode7 == NULL) {
8154 var23 = 0;
8155 } else {
8156 if(cltype24 >= var_listnode7->type->table_size) {
8157 var23 = 0;
8158 } else {
8159 var23 = var_listnode7->type->type_table[cltype24] == idtype25;
8160 }
8161 }
8162 if (!var23) {
8163 fprintf(stderr, "Runtime error: %s", "Assert failed");
8164 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9828);
8165 exit(1);
8166 }
8167 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction209>*/;
8168 var_listnode8 = var26;
8169 var_listnode12 = var_nodearraylist7;
8170 /* <var_listnode12:nullable Object> isa Array[Object] */
8171 cltype28 = type_array__Arraykernel__Object.color;
8172 idtype29 = type_array__Arraykernel__Object.id;
8173 if(var_listnode12 == NULL) {
8174 var27 = 0;
8175 } else {
8176 if(cltype28 >= var_listnode12->type->table_size) {
8177 var27 = 0;
8178 } else {
8179 var27 = var_listnode12->type->type_table[cltype28] == idtype29;
8180 }
8181 }
8182 if (!var27) {
8183 fprintf(stderr, "Runtime error: %s", "Assert failed");
8184 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9831);
8185 exit(1);
8186 }
8187 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction209>*/;
8188 var_listnode13 = var30;
8189 var_tkwendnode14 = var_nodearraylist9;
8190 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
8191 cltype32 = type_nullable_parser_nodes__TKwend.color;
8192 idtype33 = type_nullable_parser_nodes__TKwend.id;
8193 if(var_tkwendnode14 == NULL) {
8194 var31 = 1;
8195 } else {
8196 if(cltype32 >= var_tkwendnode14->type->table_size) {
8197 var31 = 0;
8198 } else {
8199 var31 = var_tkwendnode14->type->type_table[cltype32] == idtype33;
8200 }
8201 }
8202 if (!var31) {
8203 fprintf(stderr, "Runtime error: %s", "Assert failed");
8204 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9834);
8205 exit(1);
8206 }
8207 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8208 var35 = NULL;
8209 var36 = NULL;
8210 var37 = NULL;
8211 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var35, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var36, var37, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var34:AStdClassdef>*/;
8212 CHECK_NEW_parser_nodes__AStdClassdef(var34);
8213 var_pclassdefnode1 = var34;
8214 var_node_list = var_pclassdefnode1;
8215 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction209> */
8216 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
8217 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
8218 RET_LABEL:;
8219 }
8220 /* method parser#ReduceAction209#action for (self: Object, Parser) */
8221 void VIRTUAL_parser__ReduceAction209__action(val* self, val* p0) {
8222 parser__ReduceAction209__action(self, p0);
8223 RET_LABEL:;
8224 }
8225 /* method parser#ReduceAction210#action for (self: ReduceAction210, Parser) */
8226 void parser__ReduceAction210__action(val* self, val* p0) {
8227 val* var_p /* var p: Parser */;
8228 val* var /* : null */;
8229 val* var_node_list /* var node_list: nullable Object */;
8230 val* var1 /* : nullable Object */;
8231 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8232 val* var2 /* : nullable Object */;
8233 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8234 val* var3 /* : nullable Object */;
8235 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8236 val* var4 /* : nullable Object */;
8237 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8238 val* var5 /* : nullable Object */;
8239 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8240 val* var6 /* : nullable Object */;
8241 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8242 val* var7 /* : nullable Object */;
8243 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8244 val* var8 /* : nullable Object */;
8245 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8246 val* var9 /* : nullable Object */;
8247 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8248 val* var10 /* : nullable Object */;
8249 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8250 val* var11 /* : Array[Object] */;
8251 val* var_listnode8 /* var listnode8: Array[Object] */;
8252 val* var12 /* : Array[Object] */;
8253 val* var_listnode11 /* var listnode11: Array[Object] */;
8254 val* var13 /* : Array[Object] */;
8255 val* var_listnode13 /* var listnode13: Array[Object] */;
8256 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8257 short int var14 /* : Bool */;
8258 int cltype;
8259 int idtype;
8260 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8261 short int var15 /* : Bool */;
8262 int cltype16;
8263 int idtype17;
8264 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8265 short int var18 /* : Bool */;
8266 int cltype19;
8267 int idtype20;
8268 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8269 short int var21 /* : Bool */;
8270 int cltype22;
8271 int idtype23;
8272 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8273 short int var24 /* : Bool */;
8274 int cltype25;
8275 int idtype26;
8276 val* var_listnode7 /* var listnode7: nullable Object */;
8277 short int var27 /* : Bool */;
8278 int cltype28;
8279 int idtype29;
8280 val* var30 /* : Array[Object] */;
8281 val* var_listnode12 /* var listnode12: nullable Object */;
8282 short int var31 /* : Bool */;
8283 int cltype32;
8284 int idtype33;
8285 val* var34 /* : Array[Object] */;
8286 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
8287 short int var35 /* : Bool */;
8288 int cltype36;
8289 int idtype37;
8290 val* var38 /* : AStdClassdef */;
8291 val* var39 /* : null */;
8292 val* var40 /* : null */;
8293 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8294 long var41 /* : Int */;
8295 long var42 /* : Int */;
8296 var_p = p0;
8297 var = NULL;
8298 var_node_list = var;
8299 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8300 var_nodearraylist10 = var1;
8301 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8302 var_nodearraylist9 = var2;
8303 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8304 var_nodearraylist8 = var3;
8305 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8306 var_nodearraylist7 = var4;
8307 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8308 var_nodearraylist6 = var5;
8309 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8310 var_nodearraylist5 = var6;
8311 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8312 var_nodearraylist4 = var7;
8313 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8314 var_nodearraylist3 = var8;
8315 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8316 var_nodearraylist2 = var9;
8317 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8318 var_nodearraylist1 = var10;
8319 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
8320 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
8321 CHECK_NEW_array__Array(var11);
8322 var_listnode8 = var11;
8323 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8324 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8325 CHECK_NEW_array__Array(var12);
8326 var_listnode11 = var12;
8327 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8328 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8329 CHECK_NEW_array__Array(var13);
8330 var_listnode13 = var13;
8331 var_pdocnode2 = var_nodearraylist1;
8332 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8333 cltype = type_nullable_parser_nodes__ADoc.color;
8334 idtype = type_nullable_parser_nodes__ADoc.id;
8335 if(var_pdocnode2 == NULL) {
8336 var14 = 1;
8337 } else {
8338 if(cltype >= var_pdocnode2->type->table_size) {
8339 var14 = 0;
8340 } else {
8341 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
8342 }
8343 }
8344 if (!var14) {
8345 fprintf(stderr, "Runtime error: %s", "Assert failed");
8346 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9871);
8347 exit(1);
8348 }
8349 var_tkwredefnode3 = var_nodearraylist2;
8350 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8351 cltype16 = type_nullable_parser_nodes__TKwredef.color;
8352 idtype17 = type_nullable_parser_nodes__TKwredef.id;
8353 if(var_tkwredefnode3 == NULL) {
8354 var15 = 1;
8355 } else {
8356 if(cltype16 >= var_tkwredefnode3->type->table_size) {
8357 var15 = 0;
8358 } else {
8359 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
8360 }
8361 }
8362 if (!var15) {
8363 fprintf(stderr, "Runtime error: %s", "Assert failed");
8364 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9873);
8365 exit(1);
8366 }
8367 var_pvisibilitynode4 = var_nodearraylist3;
8368 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8369 cltype19 = type_nullable_parser_nodes__AVisibility.color;
8370 idtype20 = type_nullable_parser_nodes__AVisibility.id;
8371 if(var_pvisibilitynode4 == NULL) {
8372 var18 = 1;
8373 } else {
8374 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
8375 var18 = 0;
8376 } else {
8377 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
8378 }
8379 }
8380 if (!var18) {
8381 fprintf(stderr, "Runtime error: %s", "Assert failed");
8382 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9875);
8383 exit(1);
8384 }
8385 var_pclasskindnode5 = var_nodearraylist4;
8386 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8387 cltype22 = type_nullable_parser_nodes__AClasskind.color;
8388 idtype23 = type_nullable_parser_nodes__AClasskind.id;
8389 if(var_pclasskindnode5 == NULL) {
8390 var21 = 1;
8391 } else {
8392 if(cltype22 >= var_pclasskindnode5->type->table_size) {
8393 var21 = 0;
8394 } else {
8395 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
8396 }
8397 }
8398 if (!var21) {
8399 fprintf(stderr, "Runtime error: %s", "Assert failed");
8400 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9877);
8401 exit(1);
8402 }
8403 var_tclassidnode6 = var_nodearraylist6;
8404 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8405 cltype25 = type_nullable_parser_nodes__TClassid.color;
8406 idtype26 = type_nullable_parser_nodes__TClassid.id;
8407 if(var_tclassidnode6 == NULL) {
8408 var24 = 1;
8409 } else {
8410 if(cltype25 >= var_tclassidnode6->type->table_size) {
8411 var24 = 0;
8412 } else {
8413 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
8414 }
8415 }
8416 if (!var24) {
8417 fprintf(stderr, "Runtime error: %s", "Assert failed");
8418 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9879);
8419 exit(1);
8420 }
8421 var_listnode7 = var_nodearraylist7;
8422 /* <var_listnode7:nullable Object> isa Array[Object] */
8423 cltype28 = type_array__Arraykernel__Object.color;
8424 idtype29 = type_array__Arraykernel__Object.id;
8425 if(var_listnode7 == NULL) {
8426 var27 = 0;
8427 } else {
8428 if(cltype28 >= var_listnode7->type->table_size) {
8429 var27 = 0;
8430 } else {
8431 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
8432 }
8433 }
8434 if (!var27) {
8435 fprintf(stderr, "Runtime error: %s", "Assert failed");
8436 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9881);
8437 exit(1);
8438 }
8439 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction210>*/;
8440 var_listnode8 = var30;
8441 var_listnode12 = var_nodearraylist8;
8442 /* <var_listnode12:nullable Object> isa Array[Object] */
8443 cltype32 = type_array__Arraykernel__Object.color;
8444 idtype33 = type_array__Arraykernel__Object.id;
8445 if(var_listnode12 == NULL) {
8446 var31 = 0;
8447 } else {
8448 if(cltype32 >= var_listnode12->type->table_size) {
8449 var31 = 0;
8450 } else {
8451 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
8452 }
8453 }
8454 if (!var31) {
8455 fprintf(stderr, "Runtime error: %s", "Assert failed");
8456 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9884);
8457 exit(1);
8458 }
8459 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction210>*/;
8460 var_listnode13 = var34;
8461 var_tkwendnode14 = var_nodearraylist10;
8462 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
8463 cltype36 = type_nullable_parser_nodes__TKwend.color;
8464 idtype37 = type_nullable_parser_nodes__TKwend.id;
8465 if(var_tkwendnode14 == NULL) {
8466 var35 = 1;
8467 } else {
8468 if(cltype36 >= var_tkwendnode14->type->table_size) {
8469 var35 = 0;
8470 } else {
8471 var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37;
8472 }
8473 }
8474 if (!var35) {
8475 fprintf(stderr, "Runtime error: %s", "Assert failed");
8476 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9887);
8477 exit(1);
8478 }
8479 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8480 var39 = NULL;
8481 var40 = NULL;
8482 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var39, var40, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var38:AStdClassdef>*/;
8483 CHECK_NEW_parser_nodes__AStdClassdef(var38);
8484 var_pclassdefnode1 = var38;
8485 var_node_list = var_pclassdefnode1;
8486 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction210> */
8487 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
8488 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
8489 RET_LABEL:;
8490 }
8491 /* method parser#ReduceAction210#action for (self: Object, Parser) */
8492 void VIRTUAL_parser__ReduceAction210__action(val* self, val* p0) {
8493 parser__ReduceAction210__action(self, p0);
8494 RET_LABEL:;
8495 }
8496 /* method parser#ReduceAction211#action for (self: ReduceAction211, Parser) */
8497 void parser__ReduceAction211__action(val* self, val* p0) {
8498 val* var_p /* var p: Parser */;
8499 val* var /* : null */;
8500 val* var_node_list /* var node_list: nullable Object */;
8501 val* var1 /* : nullable Object */;
8502 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8503 val* var2 /* : nullable Object */;
8504 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8505 val* var3 /* : nullable Object */;
8506 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8507 val* var4 /* : nullable Object */;
8508 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8509 val* var5 /* : nullable Object */;
8510 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8511 val* var6 /* : nullable Object */;
8512 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8513 val* var7 /* : nullable Object */;
8514 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8515 val* var8 /* : nullable Object */;
8516 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8517 val* var9 /* : nullable Object */;
8518 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8519 val* var10 /* : nullable Object */;
8520 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8521 val* var11 /* : Array[Object] */;
8522 val* var_listnode8 /* var listnode8: Array[Object] */;
8523 val* var12 /* : Array[Object] */;
8524 val* var_listnode11 /* var listnode11: Array[Object] */;
8525 val* var13 /* : Array[Object] */;
8526 val* var_listnode13 /* var listnode13: Array[Object] */;
8527 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8528 short int var14 /* : Bool */;
8529 int cltype;
8530 int idtype;
8531 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8532 short int var15 /* : Bool */;
8533 int cltype16;
8534 int idtype17;
8535 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8536 short int var18 /* : Bool */;
8537 int cltype19;
8538 int idtype20;
8539 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8540 short int var21 /* : Bool */;
8541 int cltype22;
8542 int idtype23;
8543 val* var_listnode7 /* var listnode7: nullable Object */;
8544 short int var24 /* : Bool */;
8545 int cltype25;
8546 int idtype26;
8547 val* var27 /* : Array[Object] */;
8548 val* var_listnode12 /* var listnode12: nullable Object */;
8549 short int var28 /* : Bool */;
8550 int cltype29;
8551 int idtype30;
8552 val* var31 /* : Array[Object] */;
8553 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
8554 short int var32 /* : Bool */;
8555 int cltype33;
8556 int idtype34;
8557 val* var35 /* : AStdClassdef */;
8558 val* var36 /* : null */;
8559 val* var37 /* : null */;
8560 val* var38 /* : null */;
8561 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8562 long var39 /* : Int */;
8563 long var40 /* : Int */;
8564 var_p = p0;
8565 var = NULL;
8566 var_node_list = var;
8567 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8568 var_nodearraylist10 = var1;
8569 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8570 var_nodearraylist9 = var2;
8571 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8572 var_nodearraylist8 = var3;
8573 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8574 var_nodearraylist7 = var4;
8575 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8576 var_nodearraylist6 = var5;
8577 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8578 var_nodearraylist5 = var6;
8579 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8580 var_nodearraylist4 = var7;
8581 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8582 var_nodearraylist3 = var8;
8583 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8584 var_nodearraylist2 = var9;
8585 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8586 var_nodearraylist1 = var10;
8587 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
8588 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
8589 CHECK_NEW_array__Array(var11);
8590 var_listnode8 = var11;
8591 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8592 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8593 CHECK_NEW_array__Array(var12);
8594 var_listnode11 = var12;
8595 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8596 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8597 CHECK_NEW_array__Array(var13);
8598 var_listnode13 = var13;
8599 var_pdocnode2 = var_nodearraylist1;
8600 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8601 cltype = type_nullable_parser_nodes__ADoc.color;
8602 idtype = type_nullable_parser_nodes__ADoc.id;
8603 if(var_pdocnode2 == NULL) {
8604 var14 = 1;
8605 } else {
8606 if(cltype >= var_pdocnode2->type->table_size) {
8607 var14 = 0;
8608 } else {
8609 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
8610 }
8611 }
8612 if (!var14) {
8613 fprintf(stderr, "Runtime error: %s", "Assert failed");
8614 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9924);
8615 exit(1);
8616 }
8617 var_pvisibilitynode4 = var_nodearraylist2;
8618 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8619 cltype16 = type_nullable_parser_nodes__AVisibility.color;
8620 idtype17 = type_nullable_parser_nodes__AVisibility.id;
8621 if(var_pvisibilitynode4 == NULL) {
8622 var15 = 1;
8623 } else {
8624 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
8625 var15 = 0;
8626 } else {
8627 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
8628 }
8629 }
8630 if (!var15) {
8631 fprintf(stderr, "Runtime error: %s", "Assert failed");
8632 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9926);
8633 exit(1);
8634 }
8635 var_pclasskindnode5 = var_nodearraylist3;
8636 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8637 cltype19 = type_nullable_parser_nodes__AClasskind.color;
8638 idtype20 = type_nullable_parser_nodes__AClasskind.id;
8639 if(var_pclasskindnode5 == NULL) {
8640 var18 = 1;
8641 } else {
8642 if(cltype19 >= var_pclasskindnode5->type->table_size) {
8643 var18 = 0;
8644 } else {
8645 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
8646 }
8647 }
8648 if (!var18) {
8649 fprintf(stderr, "Runtime error: %s", "Assert failed");
8650 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9928);
8651 exit(1);
8652 }
8653 var_tclassidnode6 = var_nodearraylist6;
8654 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8655 cltype22 = type_nullable_parser_nodes__TClassid.color;
8656 idtype23 = type_nullable_parser_nodes__TClassid.id;
8657 if(var_tclassidnode6 == NULL) {
8658 var21 = 1;
8659 } else {
8660 if(cltype22 >= var_tclassidnode6->type->table_size) {
8661 var21 = 0;
8662 } else {
8663 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
8664 }
8665 }
8666 if (!var21) {
8667 fprintf(stderr, "Runtime error: %s", "Assert failed");
8668 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9930);
8669 exit(1);
8670 }
8671 var_listnode7 = var_nodearraylist7;
8672 /* <var_listnode7:nullable Object> isa Array[Object] */
8673 cltype25 = type_array__Arraykernel__Object.color;
8674 idtype26 = type_array__Arraykernel__Object.id;
8675 if(var_listnode7 == NULL) {
8676 var24 = 0;
8677 } else {
8678 if(cltype25 >= var_listnode7->type->table_size) {
8679 var24 = 0;
8680 } else {
8681 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
8682 }
8683 }
8684 if (!var24) {
8685 fprintf(stderr, "Runtime error: %s", "Assert failed");
8686 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9932);
8687 exit(1);
8688 }
8689 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction211>*/;
8690 var_listnode8 = var27;
8691 var_listnode12 = var_nodearraylist8;
8692 /* <var_listnode12:nullable Object> isa Array[Object] */
8693 cltype29 = type_array__Arraykernel__Object.color;
8694 idtype30 = type_array__Arraykernel__Object.id;
8695 if(var_listnode12 == NULL) {
8696 var28 = 0;
8697 } else {
8698 if(cltype29 >= var_listnode12->type->table_size) {
8699 var28 = 0;
8700 } else {
8701 var28 = var_listnode12->type->type_table[cltype29] == idtype30;
8702 }
8703 }
8704 if (!var28) {
8705 fprintf(stderr, "Runtime error: %s", "Assert failed");
8706 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9935);
8707 exit(1);
8708 }
8709 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction211>*/;
8710 var_listnode13 = var31;
8711 var_tkwendnode14 = var_nodearraylist10;
8712 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
8713 cltype33 = type_nullable_parser_nodes__TKwend.color;
8714 idtype34 = type_nullable_parser_nodes__TKwend.id;
8715 if(var_tkwendnode14 == NULL) {
8716 var32 = 1;
8717 } else {
8718 if(cltype33 >= var_tkwendnode14->type->table_size) {
8719 var32 = 0;
8720 } else {
8721 var32 = var_tkwendnode14->type->type_table[cltype33] == idtype34;
8722 }
8723 }
8724 if (!var32) {
8725 fprintf(stderr, "Runtime error: %s", "Assert failed");
8726 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9938);
8727 exit(1);
8728 }
8729 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8730 var36 = NULL;
8731 var37 = NULL;
8732 var38 = NULL;
8733 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var36, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var37, var38, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var35:AStdClassdef>*/;
8734 CHECK_NEW_parser_nodes__AStdClassdef(var35);
8735 var_pclassdefnode1 = var35;
8736 var_node_list = var_pclassdefnode1;
8737 var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction211> */
8738 var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on <var_p:Parser>*/;
8739 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on <var_p:Parser>*/;
8740 RET_LABEL:;
8741 }
8742 /* method parser#ReduceAction211#action for (self: Object, Parser) */
8743 void VIRTUAL_parser__ReduceAction211__action(val* self, val* p0) {
8744 parser__ReduceAction211__action(self, p0);
8745 RET_LABEL:;
8746 }
8747 /* method parser#ReduceAction212#action for (self: ReduceAction212, Parser) */
8748 void parser__ReduceAction212__action(val* self, val* p0) {
8749 val* var_p /* var p: Parser */;
8750 val* var /* : null */;
8751 val* var_node_list /* var node_list: nullable Object */;
8752 val* var1 /* : nullable Object */;
8753 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8754 val* var2 /* : nullable Object */;
8755 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8756 val* var3 /* : nullable Object */;
8757 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8758 val* var4 /* : nullable Object */;
8759 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8760 val* var5 /* : nullable Object */;
8761 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8762 val* var6 /* : nullable Object */;
8763 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8764 val* var7 /* : nullable Object */;
8765 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8766 val* var8 /* : nullable Object */;
8767 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8768 val* var9 /* : nullable Object */;
8769 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8770 val* var10 /* : nullable Object */;
8771 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8772 val* var11 /* : nullable Object */;
8773 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8774 val* var12 /* : Array[Object] */;
8775 val* var_listnode8 /* var listnode8: Array[Object] */;
8776 val* var13 /* : Array[Object] */;
8777 val* var_listnode11 /* var listnode11: Array[Object] */;
8778 val* var14 /* : Array[Object] */;
8779 val* var_listnode13 /* var listnode13: Array[Object] */;
8780 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8781 short int var15 /* : Bool */;
8782 int cltype;
8783 int idtype;
8784 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8785 short int var16 /* : Bool */;
8786 int cltype17;
8787 int idtype18;
8788 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8789 short int var19 /* : Bool */;
8790 int cltype20;
8791 int idtype21;
8792 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8793 short int var22 /* : Bool */;
8794 int cltype23;
8795 int idtype24;
8796 val* var_listnode7 /* var listnode7: nullable Object */;
8797 short int var25 /* : Bool */;
8798 int cltype26;
8799 int idtype27;
8800 val* var28 /* : Array[Object] */;
8801 val* var_listnode12 /* var listnode12: nullable Object */;
8802 short int var29 /* : Bool */;
8803 int cltype30;
8804 int idtype31;
8805 val* var32 /* : Array[Object] */;
8806 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
8807 short int var33 /* : Bool */;
8808 int cltype34;
8809 int idtype35;
8810 val* var36 /* : AStdClassdef */;
8811 val* var37 /* : null */;
8812 val* var38 /* : null */;
8813 val* var39 /* : null */;
8814 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8815 long var40 /* : Int */;
8816 long var41 /* : Int */;
8817 var_p = p0;
8818 var = NULL;
8819 var_node_list = var;
8820 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8821 var_nodearraylist11 = var1;
8822 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8823 var_nodearraylist10 = var2;
8824 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8825 var_nodearraylist9 = var3;
8826 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8827 var_nodearraylist8 = var4;
8828 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8829 var_nodearraylist7 = var5;
8830 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8831 var_nodearraylist6 = var6;
8832 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8833 var_nodearraylist5 = var7;
8834 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8835 var_nodearraylist4 = var8;
8836 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8837 var_nodearraylist3 = var9;
8838 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8839 var_nodearraylist2 = var10;
8840 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8841 var_nodearraylist1 = var11;
8842 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8843 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8844 CHECK_NEW_array__Array(var12);
8845 var_listnode8 = var12;
8846 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8847 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8848 CHECK_NEW_array__Array(var13);
8849 var_listnode11 = var13;
8850 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8851 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8852 CHECK_NEW_array__Array(var14);
8853 var_listnode13 = var14;
8854 var_pdocnode2 = var_nodearraylist1;
8855 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8856 cltype = type_nullable_parser_nodes__ADoc.color;
8857 idtype = type_nullable_parser_nodes__ADoc.id;
8858 if(var_pdocnode2 == NULL) {
8859 var15 = 1;
8860 } else {
8861 if(cltype >= var_pdocnode2->type->table_size) {
8862 var15 = 0;
8863 } else {
8864 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
8865 }
8866 }
8867 if (!var15) {
8868 fprintf(stderr, "Runtime error: %s", "Assert failed");
8869 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9976);
8870 exit(1);
8871 }
8872 var_pvisibilitynode4 = var_nodearraylist2;
8873 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8874 cltype17 = type_nullable_parser_nodes__AVisibility.color;
8875 idtype18 = type_nullable_parser_nodes__AVisibility.id;
8876 if(var_pvisibilitynode4 == NULL) {
8877 var16 = 1;
8878 } else {
8879 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
8880 var16 = 0;
8881 } else {
8882 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
8883 }
8884 }
8885 if (!var16) {
8886 fprintf(stderr, "Runtime error: %s", "Assert failed");
8887 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9978);
8888 exit(1);
8889 }
8890 var_pclasskindnode5 = var_nodearraylist3;
8891 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8892 cltype20 = type_nullable_parser_nodes__AClasskind.color;
8893 idtype21 = type_nullable_parser_nodes__AClasskind.id;
8894 if(var_pclasskindnode5 == NULL) {
8895 var19 = 1;
8896 } else {
8897 if(cltype20 >= var_pclasskindnode5->type->table_size) {
8898 var19 = 0;
8899 } else {
8900 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
8901 }
8902 }
8903 if (!var19) {
8904 fprintf(stderr, "Runtime error: %s", "Assert failed");
8905 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9980);
8906 exit(1);
8907 }
8908 var_tclassidnode6 = var_nodearraylist7;
8909 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8910 cltype23 = type_nullable_parser_nodes__TClassid.color;
8911 idtype24 = type_nullable_parser_nodes__TClassid.id;
8912 if(var_tclassidnode6 == NULL) {
8913 var22 = 1;
8914 } else {
8915 if(cltype23 >= var_tclassidnode6->type->table_size) {
8916 var22 = 0;
8917 } else {
8918 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
8919 }
8920 }
8921 if (!var22) {
8922 fprintf(stderr, "Runtime error: %s", "Assert failed");
8923 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9982);
8924 exit(1);
8925 }
8926 var_listnode7 = var_nodearraylist8;
8927 /* <var_listnode7:nullable Object> isa Array[Object] */
8928 cltype26 = type_array__Arraykernel__Object.color;
8929 idtype27 = type_array__Arraykernel__Object.id;
8930 if(var_listnode7 == NULL) {
8931 var25 = 0;
8932 } else {
8933 if(cltype26 >= var_listnode7->type->table_size) {
8934 var25 = 0;
8935 } else {
8936 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
8937 }
8938 }
8939 if (!var25) {
8940 fprintf(stderr, "Runtime error: %s", "Assert failed");
8941 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9984);
8942 exit(1);
8943 }
8944 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction212>*/;
8945 var_listnode8 = var28;
8946 var_listnode12 = var_nodearraylist9;
8947 /* <var_listnode12:nullable Object> isa Array[Object] */
8948 cltype30 = type_array__Arraykernel__Object.color;
8949 idtype31 = type_array__Arraykernel__Object.id;
8950 if(var_listnode12 == NULL) {
8951 var29 = 0;
8952 } else {
8953 if(cltype30 >= var_listnode12->type->table_size) {
8954 var29 = 0;
8955 } else {
8956 var29 = var_listnode12->type->type_table[cltype30] == idtype31;
8957 }
8958 }
8959 if (!var29) {
8960 fprintf(stderr, "Runtime error: %s", "Assert failed");
8961 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9987);
8962 exit(1);
8963 }
8964 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction212>*/;
8965 var_listnode13 = var32;
8966 var_tkwendnode14 = var_nodearraylist11;
8967 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
8968 cltype34 = type_nullable_parser_nodes__TKwend.color;
8969 idtype35 = type_nullable_parser_nodes__TKwend.id;
8970 if(var_tkwendnode14 == NULL) {
8971 var33 = 1;
8972 } else {
8973 if(cltype34 >= var_tkwendnode14->type->table_size) {
8974 var33 = 0;
8975 } else {
8976 var33 = var_tkwendnode14->type->type_table[cltype34] == idtype35;
8977 }
8978 }
8979 if (!var33) {
8980 fprintf(stderr, "Runtime error: %s", "Assert failed");
8981 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9990);
8982 exit(1);
8983 }
8984 var36 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8985 var37 = NULL;
8986 var38 = NULL;
8987 var39 = NULL;
8988 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var36, var_pdocnode2, var37, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var38, var39, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var36:AStdClassdef>*/;
8989 CHECK_NEW_parser_nodes__AStdClassdef(var36);
8990 var_pclassdefnode1 = var36;
8991 var_node_list = var_pclassdefnode1;
8992 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction212> */
8993 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
8994 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
8995 RET_LABEL:;
8996 }
8997 /* method parser#ReduceAction212#action for (self: Object, Parser) */
8998 void VIRTUAL_parser__ReduceAction212__action(val* self, val* p0) {
8999 parser__ReduceAction212__action(self, p0);
9000 RET_LABEL:;
9001 }
9002 /* method parser#ReduceAction214#action for (self: ReduceAction214, Parser) */
9003 void parser__ReduceAction214__action(val* self, val* p0) {
9004 val* var_p /* var p: Parser */;
9005 val* var /* : null */;
9006 val* var_node_list /* var node_list: nullable Object */;
9007 val* var1 /* : nullable Object */;
9008 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9009 val* var2 /* : nullable Object */;
9010 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9011 val* var3 /* : nullable Object */;
9012 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9013 val* var4 /* : nullable Object */;
9014 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9015 val* var5 /* : nullable Object */;
9016 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9017 val* var6 /* : nullable Object */;
9018 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9019 val* var7 /* : nullable Object */;
9020 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9021 val* var8 /* : nullable Object */;
9022 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9023 val* var9 /* : nullable Object */;
9024 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9025 val* var10 /* : nullable Object */;
9026 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9027 val* var11 /* : nullable Object */;
9028 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9029 val* var12 /* : Array[Object] */;
9030 val* var_listnode8 /* var listnode8: Array[Object] */;
9031 val* var13 /* : Array[Object] */;
9032 val* var_listnode11 /* var listnode11: Array[Object] */;
9033 val* var14 /* : Array[Object] */;
9034 val* var_listnode13 /* var listnode13: Array[Object] */;
9035 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9036 short int var15 /* : Bool */;
9037 int cltype;
9038 int idtype;
9039 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9040 short int var16 /* : Bool */;
9041 int cltype17;
9042 int idtype18;
9043 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9044 short int var19 /* : Bool */;
9045 int cltype20;
9046 int idtype21;
9047 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9048 short int var22 /* : Bool */;
9049 int cltype23;
9050 int idtype24;
9051 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9052 short int var25 /* : Bool */;
9053 int cltype26;
9054 int idtype27;
9055 val* var_listnode7 /* var listnode7: nullable Object */;
9056 short int var28 /* : Bool */;
9057 int cltype29;
9058 int idtype30;
9059 val* var31 /* : Array[Object] */;
9060 val* var_listnode12 /* var listnode12: nullable Object */;
9061 short int var32 /* : Bool */;
9062 int cltype33;
9063 int idtype34;
9064 val* var35 /* : Array[Object] */;
9065 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
9066 short int var36 /* : Bool */;
9067 int cltype37;
9068 int idtype38;
9069 val* var39 /* : AStdClassdef */;
9070 val* var40 /* : null */;
9071 val* var41 /* : null */;
9072 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9073 long var42 /* : Int */;
9074 long var43 /* : Int */;
9075 var_p = p0;
9076 var = NULL;
9077 var_node_list = var;
9078 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9079 var_nodearraylist11 = var1;
9080 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9081 var_nodearraylist10 = var2;
9082 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9083 var_nodearraylist9 = var3;
9084 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9085 var_nodearraylist8 = var4;
9086 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9087 var_nodearraylist7 = var5;
9088 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9089 var_nodearraylist6 = var6;
9090 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9091 var_nodearraylist5 = var7;
9092 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9093 var_nodearraylist4 = var8;
9094 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9095 var_nodearraylist3 = var9;
9096 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9097 var_nodearraylist2 = var10;
9098 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9099 var_nodearraylist1 = var11;
9100 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9101 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9102 CHECK_NEW_array__Array(var12);
9103 var_listnode8 = var12;
9104 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9105 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9106 CHECK_NEW_array__Array(var13);
9107 var_listnode11 = var13;
9108 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9109 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9110 CHECK_NEW_array__Array(var14);
9111 var_listnode13 = var14;
9112 var_pdocnode2 = var_nodearraylist1;
9113 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9114 cltype = type_nullable_parser_nodes__ADoc.color;
9115 idtype = type_nullable_parser_nodes__ADoc.id;
9116 if(var_pdocnode2 == NULL) {
9117 var15 = 1;
9118 } else {
9119 if(cltype >= var_pdocnode2->type->table_size) {
9120 var15 = 0;
9121 } else {
9122 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
9123 }
9124 }
9125 if (!var15) {
9126 fprintf(stderr, "Runtime error: %s", "Assert failed");
9127 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10028);
9128 exit(1);
9129 }
9130 var_tkwredefnode3 = var_nodearraylist2;
9131 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9132 cltype17 = type_nullable_parser_nodes__TKwredef.color;
9133 idtype18 = type_nullable_parser_nodes__TKwredef.id;
9134 if(var_tkwredefnode3 == NULL) {
9135 var16 = 1;
9136 } else {
9137 if(cltype17 >= var_tkwredefnode3->type->table_size) {
9138 var16 = 0;
9139 } else {
9140 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
9141 }
9142 }
9143 if (!var16) {
9144 fprintf(stderr, "Runtime error: %s", "Assert failed");
9145 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10030);
9146 exit(1);
9147 }
9148 var_pvisibilitynode4 = var_nodearraylist3;
9149 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9150 cltype20 = type_nullable_parser_nodes__AVisibility.color;
9151 idtype21 = type_nullable_parser_nodes__AVisibility.id;
9152 if(var_pvisibilitynode4 == NULL) {
9153 var19 = 1;
9154 } else {
9155 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
9156 var19 = 0;
9157 } else {
9158 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
9159 }
9160 }
9161 if (!var19) {
9162 fprintf(stderr, "Runtime error: %s", "Assert failed");
9163 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10032);
9164 exit(1);
9165 }
9166 var_pclasskindnode5 = var_nodearraylist4;
9167 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9168 cltype23 = type_nullable_parser_nodes__AClasskind.color;
9169 idtype24 = type_nullable_parser_nodes__AClasskind.id;
9170 if(var_pclasskindnode5 == NULL) {
9171 var22 = 1;
9172 } else {
9173 if(cltype23 >= var_pclasskindnode5->type->table_size) {
9174 var22 = 0;
9175 } else {
9176 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
9177 }
9178 }
9179 if (!var22) {
9180 fprintf(stderr, "Runtime error: %s", "Assert failed");
9181 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10034);
9182 exit(1);
9183 }
9184 var_tclassidnode6 = var_nodearraylist7;
9185 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9186 cltype26 = type_nullable_parser_nodes__TClassid.color;
9187 idtype27 = type_nullable_parser_nodes__TClassid.id;
9188 if(var_tclassidnode6 == NULL) {
9189 var25 = 1;
9190 } else {
9191 if(cltype26 >= var_tclassidnode6->type->table_size) {
9192 var25 = 0;
9193 } else {
9194 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
9195 }
9196 }
9197 if (!var25) {
9198 fprintf(stderr, "Runtime error: %s", "Assert failed");
9199 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10036);
9200 exit(1);
9201 }
9202 var_listnode7 = var_nodearraylist8;
9203 /* <var_listnode7:nullable Object> isa Array[Object] */
9204 cltype29 = type_array__Arraykernel__Object.color;
9205 idtype30 = type_array__Arraykernel__Object.id;
9206 if(var_listnode7 == NULL) {
9207 var28 = 0;
9208 } else {
9209 if(cltype29 >= var_listnode7->type->table_size) {
9210 var28 = 0;
9211 } else {
9212 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
9213 }
9214 }
9215 if (!var28) {
9216 fprintf(stderr, "Runtime error: %s", "Assert failed");
9217 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10038);
9218 exit(1);
9219 }
9220 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction214>*/;
9221 var_listnode8 = var31;
9222 var_listnode12 = var_nodearraylist9;
9223 /* <var_listnode12:nullable Object> isa Array[Object] */
9224 cltype33 = type_array__Arraykernel__Object.color;
9225 idtype34 = type_array__Arraykernel__Object.id;
9226 if(var_listnode12 == NULL) {
9227 var32 = 0;
9228 } else {
9229 if(cltype33 >= var_listnode12->type->table_size) {
9230 var32 = 0;
9231 } else {
9232 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
9233 }
9234 }
9235 if (!var32) {
9236 fprintf(stderr, "Runtime error: %s", "Assert failed");
9237 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10041);
9238 exit(1);
9239 }
9240 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction214>*/;
9241 var_listnode13 = var35;
9242 var_tkwendnode14 = var_nodearraylist11;
9243 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
9244 cltype37 = type_nullable_parser_nodes__TKwend.color;
9245 idtype38 = type_nullable_parser_nodes__TKwend.id;
9246 if(var_tkwendnode14 == NULL) {
9247 var36 = 1;
9248 } else {
9249 if(cltype37 >= var_tkwendnode14->type->table_size) {
9250 var36 = 0;
9251 } else {
9252 var36 = var_tkwendnode14->type->type_table[cltype37] == idtype38;
9253 }
9254 }
9255 if (!var36) {
9256 fprintf(stderr, "Runtime error: %s", "Assert failed");
9257 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10044);
9258 exit(1);
9259 }
9260 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9261 var40 = NULL;
9262 var41 = NULL;
9263 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var40, var41, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var39:AStdClassdef>*/;
9264 CHECK_NEW_parser_nodes__AStdClassdef(var39);
9265 var_pclassdefnode1 = var39;
9266 var_node_list = var_pclassdefnode1;
9267 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction214> */
9268 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
9269 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
9270 RET_LABEL:;
9271 }
9272 /* method parser#ReduceAction214#action for (self: Object, Parser) */
9273 void VIRTUAL_parser__ReduceAction214__action(val* self, val* p0) {
9274 parser__ReduceAction214__action(self, p0);
9275 RET_LABEL:;
9276 }
9277 /* method parser#ReduceAction215#action for (self: ReduceAction215, Parser) */
9278 void parser__ReduceAction215__action(val* self, val* p0) {
9279 val* var_p /* var p: Parser */;
9280 val* var /* : null */;
9281 val* var_node_list /* var node_list: nullable Object */;
9282 val* var1 /* : nullable Object */;
9283 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
9284 val* var2 /* : nullable Object */;
9285 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9286 val* var3 /* : nullable Object */;
9287 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9288 val* var4 /* : nullable Object */;
9289 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9290 val* var5 /* : nullable Object */;
9291 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9292 val* var6 /* : nullable Object */;
9293 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9294 val* var7 /* : nullable Object */;
9295 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9296 val* var8 /* : nullable Object */;
9297 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9298 val* var9 /* : nullable Object */;
9299 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9300 val* var10 /* : nullable Object */;
9301 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9302 val* var11 /* : nullable Object */;
9303 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9304 val* var12 /* : nullable Object */;
9305 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9306 val* var13 /* : Array[Object] */;
9307 val* var_listnode8 /* var listnode8: Array[Object] */;
9308 val* var14 /* : Array[Object] */;
9309 val* var_listnode11 /* var listnode11: Array[Object] */;
9310 val* var15 /* : Array[Object] */;
9311 val* var_listnode13 /* var listnode13: Array[Object] */;
9312 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9313 short int var16 /* : Bool */;
9314 int cltype;
9315 int idtype;
9316 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9317 short int var17 /* : Bool */;
9318 int cltype18;
9319 int idtype19;
9320 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9321 short int var20 /* : Bool */;
9322 int cltype21;
9323 int idtype22;
9324 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9325 short int var23 /* : Bool */;
9326 int cltype24;
9327 int idtype25;
9328 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9329 short int var26 /* : Bool */;
9330 int cltype27;
9331 int idtype28;
9332 val* var_listnode7 /* var listnode7: nullable Object */;
9333 short int var29 /* : Bool */;
9334 int cltype30;
9335 int idtype31;
9336 val* var32 /* : Array[Object] */;
9337 val* var_listnode12 /* var listnode12: nullable Object */;
9338 short int var33 /* : Bool */;
9339 int cltype34;
9340 int idtype35;
9341 val* var36 /* : Array[Object] */;
9342 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
9343 short int var37 /* : Bool */;
9344 int cltype38;
9345 int idtype39;
9346 val* var40 /* : AStdClassdef */;
9347 val* var41 /* : null */;
9348 val* var42 /* : null */;
9349 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9350 long var43 /* : Int */;
9351 long var44 /* : Int */;
9352 var_p = p0;
9353 var = NULL;
9354 var_node_list = var;
9355 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9356 var_nodearraylist12 = var1;
9357 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9358 var_nodearraylist11 = var2;
9359 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9360 var_nodearraylist10 = var3;
9361 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9362 var_nodearraylist9 = var4;
9363 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9364 var_nodearraylist8 = var5;
9365 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9366 var_nodearraylist7 = var6;
9367 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9368 var_nodearraylist6 = var7;
9369 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9370 var_nodearraylist5 = var8;
9371 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9372 var_nodearraylist4 = var9;
9373 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9374 var_nodearraylist3 = var10;
9375 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9376 var_nodearraylist2 = var11;
9377 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9378 var_nodearraylist1 = var12;
9379 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9380 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9381 CHECK_NEW_array__Array(var13);
9382 var_listnode8 = var13;
9383 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9384 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9385 CHECK_NEW_array__Array(var14);
9386 var_listnode11 = var14;
9387 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
9388 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
9389 CHECK_NEW_array__Array(var15);
9390 var_listnode13 = var15;
9391 var_pdocnode2 = var_nodearraylist1;
9392 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9393 cltype = type_nullable_parser_nodes__ADoc.color;
9394 idtype = type_nullable_parser_nodes__ADoc.id;
9395 if(var_pdocnode2 == NULL) {
9396 var16 = 1;
9397 } else {
9398 if(cltype >= var_pdocnode2->type->table_size) {
9399 var16 = 0;
9400 } else {
9401 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
9402 }
9403 }
9404 if (!var16) {
9405 fprintf(stderr, "Runtime error: %s", "Assert failed");
9406 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10083);
9407 exit(1);
9408 }
9409 var_tkwredefnode3 = var_nodearraylist2;
9410 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9411 cltype18 = type_nullable_parser_nodes__TKwredef.color;
9412 idtype19 = type_nullable_parser_nodes__TKwredef.id;
9413 if(var_tkwredefnode3 == NULL) {
9414 var17 = 1;
9415 } else {
9416 if(cltype18 >= var_tkwredefnode3->type->table_size) {
9417 var17 = 0;
9418 } else {
9419 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
9420 }
9421 }
9422 if (!var17) {
9423 fprintf(stderr, "Runtime error: %s", "Assert failed");
9424 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10085);
9425 exit(1);
9426 }
9427 var_pvisibilitynode4 = var_nodearraylist3;
9428 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9429 cltype21 = type_nullable_parser_nodes__AVisibility.color;
9430 idtype22 = type_nullable_parser_nodes__AVisibility.id;
9431 if(var_pvisibilitynode4 == NULL) {
9432 var20 = 1;
9433 } else {
9434 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
9435 var20 = 0;
9436 } else {
9437 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
9438 }
9439 }
9440 if (!var20) {
9441 fprintf(stderr, "Runtime error: %s", "Assert failed");
9442 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10087);
9443 exit(1);
9444 }
9445 var_pclasskindnode5 = var_nodearraylist4;
9446 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9447 cltype24 = type_nullable_parser_nodes__AClasskind.color;
9448 idtype25 = type_nullable_parser_nodes__AClasskind.id;
9449 if(var_pclasskindnode5 == NULL) {
9450 var23 = 1;
9451 } else {
9452 if(cltype24 >= var_pclasskindnode5->type->table_size) {
9453 var23 = 0;
9454 } else {
9455 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
9456 }
9457 }
9458 if (!var23) {
9459 fprintf(stderr, "Runtime error: %s", "Assert failed");
9460 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10089);
9461 exit(1);
9462 }
9463 var_tclassidnode6 = var_nodearraylist8;
9464 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9465 cltype27 = type_nullable_parser_nodes__TClassid.color;
9466 idtype28 = type_nullable_parser_nodes__TClassid.id;
9467 if(var_tclassidnode6 == NULL) {
9468 var26 = 1;
9469 } else {
9470 if(cltype27 >= var_tclassidnode6->type->table_size) {
9471 var26 = 0;
9472 } else {
9473 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
9474 }
9475 }
9476 if (!var26) {
9477 fprintf(stderr, "Runtime error: %s", "Assert failed");
9478 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10091);
9479 exit(1);
9480 }
9481 var_listnode7 = var_nodearraylist9;
9482 /* <var_listnode7:nullable Object> isa Array[Object] */
9483 cltype30 = type_array__Arraykernel__Object.color;
9484 idtype31 = type_array__Arraykernel__Object.id;
9485 if(var_listnode7 == NULL) {
9486 var29 = 0;
9487 } else {
9488 if(cltype30 >= var_listnode7->type->table_size) {
9489 var29 = 0;
9490 } else {
9491 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
9492 }
9493 }
9494 if (!var29) {
9495 fprintf(stderr, "Runtime error: %s", "Assert failed");
9496 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10093);
9497 exit(1);
9498 }
9499 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction215>*/;
9500 var_listnode8 = var32;
9501 var_listnode12 = var_nodearraylist10;
9502 /* <var_listnode12:nullable Object> isa Array[Object] */
9503 cltype34 = type_array__Arraykernel__Object.color;
9504 idtype35 = type_array__Arraykernel__Object.id;
9505 if(var_listnode12 == NULL) {
9506 var33 = 0;
9507 } else {
9508 if(cltype34 >= var_listnode12->type->table_size) {
9509 var33 = 0;
9510 } else {
9511 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
9512 }
9513 }
9514 if (!var33) {
9515 fprintf(stderr, "Runtime error: %s", "Assert failed");
9516 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10096);
9517 exit(1);
9518 }
9519 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction215>*/;
9520 var_listnode13 = var36;
9521 var_tkwendnode14 = var_nodearraylist12;
9522 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
9523 cltype38 = type_nullable_parser_nodes__TKwend.color;
9524 idtype39 = type_nullable_parser_nodes__TKwend.id;
9525 if(var_tkwendnode14 == NULL) {
9526 var37 = 1;
9527 } else {
9528 if(cltype38 >= var_tkwendnode14->type->table_size) {
9529 var37 = 0;
9530 } else {
9531 var37 = var_tkwendnode14->type->type_table[cltype38] == idtype39;
9532 }
9533 }
9534 if (!var37) {
9535 fprintf(stderr, "Runtime error: %s", "Assert failed");
9536 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10099);
9537 exit(1);
9538 }
9539 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9540 var41 = NULL;
9541 var42 = NULL;
9542 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var41, var42, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var40:AStdClassdef>*/;
9543 CHECK_NEW_parser_nodes__AStdClassdef(var40);
9544 var_pclassdefnode1 = var40;
9545 var_node_list = var_pclassdefnode1;
9546 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction215> */
9547 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
9548 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
9549 RET_LABEL:;
9550 }
9551 /* method parser#ReduceAction215#action for (self: Object, Parser) */
9552 void VIRTUAL_parser__ReduceAction215__action(val* self, val* p0) {
9553 parser__ReduceAction215__action(self, p0);
9554 RET_LABEL:;
9555 }
9556 /* method parser#ReduceAction217#action for (self: ReduceAction217, Parser) */
9557 void parser__ReduceAction217__action(val* self, val* p0) {
9558 val* var_p /* var p: Parser */;
9559 val* var /* : null */;
9560 val* var_node_list /* var node_list: nullable Object */;
9561 val* var1 /* : nullable Object */;
9562 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9563 val* var2 /* : nullable Object */;
9564 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9565 val* var3 /* : nullable Object */;
9566 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9567 val* var4 /* : nullable Object */;
9568 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9569 val* var5 /* : nullable Object */;
9570 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9571 val* var6 /* : nullable Object */;
9572 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9573 val* var7 /* : nullable Object */;
9574 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9575 val* var8 /* : nullable Object */;
9576 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9577 val* var9 /* : nullable Object */;
9578 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9579 val* var10 /* : Array[Object] */;
9580 val* var_listnode7 /* var listnode7: Array[Object] */;
9581 val* var11 /* : Array[Object] */;
9582 val* var_listnode15 /* var listnode15: Array[Object] */;
9583 val* var12 /* : Array[Object] */;
9584 val* var_listnode17 /* var listnode17: Array[Object] */;
9585 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9586 short int var13 /* : Bool */;
9587 int cltype;
9588 int idtype;
9589 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9590 short int var14 /* : Bool */;
9591 int cltype15;
9592 int idtype16;
9593 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9594 short int var17 /* : Bool */;
9595 int cltype18;
9596 int idtype19;
9597 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9598 short int var20 /* : Bool */;
9599 int cltype21;
9600 int idtype22;
9601 val* var23 /* : Array[Object] */;
9602 val* var_listnode12 /* var listnode12: Array[Object] */;
9603 val* var_listnode11 /* var listnode11: nullable Object */;
9604 short int var24 /* : Bool */;
9605 int cltype25;
9606 int idtype26;
9607 val* var27 /* : Array[Object] */;
9608 val* var28 /* : AAnnotations */;
9609 val* var29 /* : null */;
9610 val* var30 /* : null */;
9611 val* var31 /* : null */;
9612 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
9613 val* var_listnode16 /* var listnode16: nullable Object */;
9614 short int var32 /* : Bool */;
9615 int cltype33;
9616 int idtype34;
9617 val* var35 /* : Array[Object] */;
9618 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
9619 short int var36 /* : Bool */;
9620 int cltype37;
9621 int idtype38;
9622 val* var39 /* : AStdClassdef */;
9623 val* var40 /* : null */;
9624 val* var41 /* : null */;
9625 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9626 long var42 /* : Int */;
9627 long var43 /* : Int */;
9628 var_p = p0;
9629 var = NULL;
9630 var_node_list = var;
9631 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9632 var_nodearraylist9 = var1;
9633 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9634 var_nodearraylist8 = var2;
9635 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9636 var_nodearraylist7 = var3;
9637 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9638 var_nodearraylist6 = var4;
9639 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9640 var_nodearraylist5 = var5;
9641 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9642 var_nodearraylist4 = var6;
9643 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9644 var_nodearraylist3 = var7;
9645 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9646 var_nodearraylist2 = var8;
9647 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9648 var_nodearraylist1 = var9;
9649 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
9650 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
9651 CHECK_NEW_array__Array(var10);
9652 var_listnode7 = var10;
9653 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
9654 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
9655 CHECK_NEW_array__Array(var11);
9656 var_listnode15 = var11;
9657 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9658 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9659 CHECK_NEW_array__Array(var12);
9660 var_listnode17 = var12;
9661 var_pdocnode2 = var_nodearraylist1;
9662 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9663 cltype = type_nullable_parser_nodes__ADoc.color;
9664 idtype = type_nullable_parser_nodes__ADoc.id;
9665 if(var_pdocnode2 == NULL) {
9666 var13 = 1;
9667 } else {
9668 if(cltype >= var_pdocnode2->type->table_size) {
9669 var13 = 0;
9670 } else {
9671 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
9672 }
9673 }
9674 if (!var13) {
9675 fprintf(stderr, "Runtime error: %s", "Assert failed");
9676 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10135);
9677 exit(1);
9678 }
9679 var_pvisibilitynode4 = var_nodearraylist2;
9680 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9681 cltype15 = type_nullable_parser_nodes__AVisibility.color;
9682 idtype16 = type_nullable_parser_nodes__AVisibility.id;
9683 if(var_pvisibilitynode4 == NULL) {
9684 var14 = 1;
9685 } else {
9686 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
9687 var14 = 0;
9688 } else {
9689 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
9690 }
9691 }
9692 if (!var14) {
9693 fprintf(stderr, "Runtime error: %s", "Assert failed");
9694 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10137);
9695 exit(1);
9696 }
9697 var_pclasskindnode5 = var_nodearraylist3;
9698 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9699 cltype18 = type_nullable_parser_nodes__AClasskind.color;
9700 idtype19 = type_nullable_parser_nodes__AClasskind.id;
9701 if(var_pclasskindnode5 == NULL) {
9702 var17 = 1;
9703 } else {
9704 if(cltype18 >= var_pclasskindnode5->type->table_size) {
9705 var17 = 0;
9706 } else {
9707 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
9708 }
9709 }
9710 if (!var17) {
9711 fprintf(stderr, "Runtime error: %s", "Assert failed");
9712 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10139);
9713 exit(1);
9714 }
9715 var_tclassidnode6 = var_nodearraylist5;
9716 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9717 cltype21 = type_nullable_parser_nodes__TClassid.color;
9718 idtype22 = type_nullable_parser_nodes__TClassid.id;
9719 if(var_tclassidnode6 == NULL) {
9720 var20 = 1;
9721 } else {
9722 if(cltype21 >= var_tclassidnode6->type->table_size) {
9723 var20 = 0;
9724 } else {
9725 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
9726 }
9727 }
9728 if (!var20) {
9729 fprintf(stderr, "Runtime error: %s", "Assert failed");
9730 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10141);
9731 exit(1);
9732 }
9733 var23 = NEW_array__Array(&type_array__Arraykernel__Object);
9734 ((void (*)(val*))(var23->class->vft[COLOR_array__Array__init]))(var23) /* init on <var23:Array[Object]>*/;
9735 CHECK_NEW_array__Array(var23);
9736 var_listnode12 = var23;
9737 var_listnode11 = var_nodearraylist6;
9738 /* <var_listnode11:nullable Object> isa Array[Object] */
9739 cltype25 = type_array__Arraykernel__Object.color;
9740 idtype26 = type_array__Arraykernel__Object.id;
9741 if(var_listnode11 == NULL) {
9742 var24 = 0;
9743 } else {
9744 if(cltype25 >= var_listnode11->type->table_size) {
9745 var24 = 0;
9746 } else {
9747 var24 = var_listnode11->type->type_table[cltype25] == idtype26;
9748 }
9749 }
9750 if (!var24) {
9751 fprintf(stderr, "Runtime error: %s", "Assert failed");
9752 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10144);
9753 exit(1);
9754 }
9755 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction217>*/;
9756 var_listnode12 = var27;
9757 var28 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9758 var29 = NULL;
9759 var30 = NULL;
9760 var31 = NULL;
9761 ((void (*)(val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var28, var29, var30, var_listnode12, var31) /* init_aannotations on <var28:AAnnotations>*/;
9762 CHECK_NEW_parser_nodes__AAnnotations(var28);
9763 var_pannotationsnode8 = var28;
9764 var_listnode16 = var_nodearraylist7;
9765 /* <var_listnode16:nullable Object> isa Array[Object] */
9766 cltype33 = type_array__Arraykernel__Object.color;
9767 idtype34 = type_array__Arraykernel__Object.id;
9768 if(var_listnode16 == NULL) {
9769 var32 = 0;
9770 } else {
9771 if(cltype33 >= var_listnode16->type->table_size) {
9772 var32 = 0;
9773 } else {
9774 var32 = var_listnode16->type->type_table[cltype33] == idtype34;
9775 }
9776 }
9777 if (!var32) {
9778 fprintf(stderr, "Runtime error: %s", "Assert failed");
9779 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10153);
9780 exit(1);
9781 }
9782 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction217>*/;
9783 var_listnode17 = var35;
9784 var_tkwendnode18 = var_nodearraylist9;
9785 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
9786 cltype37 = type_nullable_parser_nodes__TKwend.color;
9787 idtype38 = type_nullable_parser_nodes__TKwend.id;
9788 if(var_tkwendnode18 == NULL) {
9789 var36 = 1;
9790 } else {
9791 if(cltype37 >= var_tkwendnode18->type->table_size) {
9792 var36 = 0;
9793 } else {
9794 var36 = var_tkwendnode18->type->type_table[cltype37] == idtype38;
9795 }
9796 }
9797 if (!var36) {
9798 fprintf(stderr, "Runtime error: %s", "Assert failed");
9799 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10156);
9800 exit(1);
9801 }
9802 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9803 var40 = NULL;
9804 var41 = NULL;
9805 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var40, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var41, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var39:AStdClassdef>*/;
9806 CHECK_NEW_parser_nodes__AStdClassdef(var39);
9807 var_pclassdefnode1 = var39;
9808 var_node_list = var_pclassdefnode1;
9809 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction217> */
9810 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
9811 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
9812 RET_LABEL:;
9813 }
9814 /* method parser#ReduceAction217#action for (self: Object, Parser) */
9815 void VIRTUAL_parser__ReduceAction217__action(val* self, val* p0) {
9816 parser__ReduceAction217__action(self, p0);
9817 RET_LABEL:;
9818 }