niti: add extern `file_realpath`
[nit.git] / c_src / parser.sep.4.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction65#action for (self: ReduceAction65, Parser) */
3 void parser__ReduceAction65__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_nodearraylist6 /* var nodearraylist6: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
19 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
20 short int var7 /* : Bool */;
21 int cltype;
22 int idtype;
23 val* var_tkwmodulenode3 /* var tkwmodulenode3: nullable Object */;
24 short int var8 /* : Bool */;
25 int cltype9;
26 int idtype10;
27 val* var_pmodulenamenode4 /* var pmodulenamenode4: nullable Object */;
28 short int var11 /* : Bool */;
29 int cltype12;
30 int idtype13;
31 val* var_pannotationsnode5 /* var pannotationsnode5: nullable Object */;
32 short int var14 /* : Bool */;
33 int cltype15;
34 int idtype16;
35 val* var17 /* : AModuledecl */;
36 val* var_pmoduledeclnode1 /* var pmoduledeclnode1: nullable AModuledecl */;
37 long var18 /* : Int */;
38 long var19 /* : Int */;
39 var_p = p0;
40 var = NULL;
41 var_node_list = var;
42 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
43 var_nodearraylist6 = var1;
44 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
45 var_nodearraylist5 = var2;
46 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
47 var_nodearraylist4 = var3;
48 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
49 var_nodearraylist3 = var4;
50 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
51 var_nodearraylist2 = var5;
52 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
53 var_nodearraylist1 = var6;
54 var_pdocnode2 = var_nodearraylist1;
55 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
56 cltype = type_nullable_parser_nodes__ADoc.color;
57 idtype = type_nullable_parser_nodes__ADoc.id;
58 if(var_pdocnode2 == NULL) {
59 var7 = 1;
60 } else {
61 if(cltype >= var_pdocnode2->type->table_size) {
62 var7 = 0;
63 } else {
64 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
65 }
66 }
67 if (!var7) {
68 fprintf(stderr, "Runtime error: %s", "Assert failed");
69 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4037);
70 exit(1);
71 }
72 var_tkwmodulenode3 = var_nodearraylist2;
73 /* <var_tkwmodulenode3:nullable Object> isa nullable TKwmodule */
74 cltype9 = type_nullable_parser_nodes__TKwmodule.color;
75 idtype10 = type_nullable_parser_nodes__TKwmodule.id;
76 if(var_tkwmodulenode3 == NULL) {
77 var8 = 1;
78 } else {
79 if(cltype9 >= var_tkwmodulenode3->type->table_size) {
80 var8 = 0;
81 } else {
82 var8 = var_tkwmodulenode3->type->type_table[cltype9] == idtype10;
83 }
84 }
85 if (!var8) {
86 fprintf(stderr, "Runtime error: %s", "Assert failed");
87 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4039);
88 exit(1);
89 }
90 var_pmodulenamenode4 = var_nodearraylist4;
91 /* <var_pmodulenamenode4:nullable Object> isa nullable AModuleName */
92 cltype12 = type_nullable_parser_nodes__AModuleName.color;
93 idtype13 = type_nullable_parser_nodes__AModuleName.id;
94 if(var_pmodulenamenode4 == NULL) {
95 var11 = 1;
96 } else {
97 if(cltype12 >= var_pmodulenamenode4->type->table_size) {
98 var11 = 0;
99 } else {
100 var11 = var_pmodulenamenode4->type->type_table[cltype12] == idtype13;
101 }
102 }
103 if (!var11) {
104 fprintf(stderr, "Runtime error: %s", "Assert failed");
105 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4041);
106 exit(1);
107 }
108 var_pannotationsnode5 = var_nodearraylist5;
109 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
110 cltype15 = type_nullable_parser_nodes__AAnnotations.color;
111 idtype16 = type_nullable_parser_nodes__AAnnotations.id;
112 if(var_pannotationsnode5 == NULL) {
113 var14 = 1;
114 } else {
115 if(cltype15 >= var_pannotationsnode5->type->table_size) {
116 var14 = 0;
117 } else {
118 var14 = var_pannotationsnode5->type->type_table[cltype15] == idtype16;
119 }
120 }
121 if (!var14) {
122 fprintf(stderr, "Runtime error: %s", "Assert failed");
123 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4043);
124 exit(1);
125 }
126 var17 = NEW_parser_nodes__AModuledecl(&type_parser_nodes__AModuledecl);
127 ((void (*)(val*, val*, val*, val*, val*))(var17->class->vft[COLOR_parser_prod__AModuledecl__init_amoduledecl]))(var17, var_pdocnode2, var_tkwmodulenode3, var_pmodulenamenode4, var_pannotationsnode5) /* init_amoduledecl on <var17:AModuledecl>*/;
128 CHECK_NEW_parser_nodes__AModuledecl(var17);
129 var_pmoduledeclnode1 = var17;
130 var_node_list = var_pmoduledeclnode1;
131 var18 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction65> */
132 var19 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var18) /* go_to on <var_p:Parser>*/;
133 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var19, var_node_list) /* push on <var_p:Parser>*/;
134 RET_LABEL:;
135 }
136 /* method parser#ReduceAction65#action for (self: Object, Parser) */
137 void VIRTUAL_parser__ReduceAction65__action(val* self, val* p0) {
138 parser__ReduceAction65__action(self, p0);
139 RET_LABEL:;
140 }
141 /* method parser#ReduceAction66#action for (self: ReduceAction66, Parser) */
142 void parser__ReduceAction66__action(val* self, val* p0) {
143 val* var_p /* var p: Parser */;
144 val* var /* : null */;
145 val* var_node_list /* var node_list: nullable Object */;
146 val* var1 /* : nullable Object */;
147 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
148 val* var2 /* : nullable Object */;
149 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
150 val* var3 /* : nullable Object */;
151 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
152 val* var4 /* : nullable Object */;
153 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
154 val* var5 /* : nullable Object */;
155 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
156 val* var6 /* : nullable Object */;
157 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
158 val* var_pvisibilitynode2 /* var pvisibilitynode2: nullable Object */;
159 short int var7 /* : Bool */;
160 int cltype;
161 int idtype;
162 val* var_tkwimportnode3 /* var tkwimportnode3: nullable Object */;
163 short int var8 /* : Bool */;
164 int cltype9;
165 int idtype10;
166 val* var_pmodulenamenode4 /* var pmodulenamenode4: nullable Object */;
167 short int var11 /* : Bool */;
168 int cltype12;
169 int idtype13;
170 val* var14 /* : AStdImport */;
171 val* var15 /* : null */;
172 val* var_pimportnode1 /* var pimportnode1: nullable AStdImport */;
173 long var16 /* : Int */;
174 long var17 /* : Int */;
175 var_p = p0;
176 var = NULL;
177 var_node_list = var;
178 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
179 var_nodearraylist6 = var1;
180 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
181 var_nodearraylist5 = var2;
182 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
183 var_nodearraylist4 = var3;
184 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
185 var_nodearraylist3 = var4;
186 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
187 var_nodearraylist2 = var5;
188 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
189 var_nodearraylist1 = var6;
190 var_pvisibilitynode2 = var_nodearraylist2;
191 /* <var_pvisibilitynode2:nullable Object> isa nullable AVisibility */
192 cltype = type_nullable_parser_nodes__AVisibility.color;
193 idtype = type_nullable_parser_nodes__AVisibility.id;
194 if(var_pvisibilitynode2 == NULL) {
195 var7 = 1;
196 } else {
197 if(cltype >= var_pvisibilitynode2->type->table_size) {
198 var7 = 0;
199 } else {
200 var7 = var_pvisibilitynode2->type->type_table[cltype] == idtype;
201 }
202 }
203 if (!var7) {
204 fprintf(stderr, "Runtime error: %s", "Assert failed");
205 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4066);
206 exit(1);
207 }
208 var_tkwimportnode3 = var_nodearraylist3;
209 /* <var_tkwimportnode3:nullable Object> isa nullable TKwimport */
210 cltype9 = type_nullable_parser_nodes__TKwimport.color;
211 idtype10 = type_nullable_parser_nodes__TKwimport.id;
212 if(var_tkwimportnode3 == NULL) {
213 var8 = 1;
214 } else {
215 if(cltype9 >= var_tkwimportnode3->type->table_size) {
216 var8 = 0;
217 } else {
218 var8 = var_tkwimportnode3->type->type_table[cltype9] == idtype10;
219 }
220 }
221 if (!var8) {
222 fprintf(stderr, "Runtime error: %s", "Assert failed");
223 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4068);
224 exit(1);
225 }
226 var_pmodulenamenode4 = var_nodearraylist5;
227 /* <var_pmodulenamenode4:nullable Object> isa nullable AModuleName */
228 cltype12 = type_nullable_parser_nodes__AModuleName.color;
229 idtype13 = type_nullable_parser_nodes__AModuleName.id;
230 if(var_pmodulenamenode4 == NULL) {
231 var11 = 1;
232 } else {
233 if(cltype12 >= var_pmodulenamenode4->type->table_size) {
234 var11 = 0;
235 } else {
236 var11 = var_pmodulenamenode4->type->type_table[cltype12] == idtype13;
237 }
238 }
239 if (!var11) {
240 fprintf(stderr, "Runtime error: %s", "Assert failed");
241 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4070);
242 exit(1);
243 }
244 var14 = NEW_parser_nodes__AStdImport(&type_parser_nodes__AStdImport);
245 var15 = NULL;
246 ((void (*)(val*, val*, val*, val*, val*))(var14->class->vft[COLOR_parser_prod__AStdImport__init_astdimport]))(var14, var_pvisibilitynode2, var_tkwimportnode3, var_pmodulenamenode4, var15) /* init_astdimport on <var14:AStdImport>*/;
247 CHECK_NEW_parser_nodes__AStdImport(var14);
248 var_pimportnode1 = var14;
249 var_node_list = var_pimportnode1;
250 var16 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction66> */
251 var17 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var16) /* go_to on <var_p:Parser>*/;
252 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var17, var_node_list) /* push on <var_p:Parser>*/;
253 RET_LABEL:;
254 }
255 /* method parser#ReduceAction66#action for (self: Object, Parser) */
256 void VIRTUAL_parser__ReduceAction66__action(val* self, val* p0) {
257 parser__ReduceAction66__action(self, p0);
258 RET_LABEL:;
259 }
260 /* method parser#ReduceAction67#action for (self: ReduceAction67, Parser) */
261 void parser__ReduceAction67__action(val* self, val* p0) {
262 val* var_p /* var p: Parser */;
263 val* var /* : null */;
264 val* var_node_list /* var node_list: nullable Object */;
265 val* var1 /* : nullable Object */;
266 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
267 val* var2 /* : nullable Object */;
268 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
269 val* var3 /* : nullable Object */;
270 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
271 val* var4 /* : nullable Object */;
272 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
273 val* var5 /* : nullable Object */;
274 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
275 val* var6 /* : nullable Object */;
276 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
277 val* var7 /* : nullable Object */;
278 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
279 val* var_pvisibilitynode2 /* var pvisibilitynode2: nullable Object */;
280 short int var8 /* : Bool */;
281 int cltype;
282 int idtype;
283 val* var_tkwimportnode3 /* var tkwimportnode3: nullable Object */;
284 short int var9 /* : Bool */;
285 int cltype10;
286 int idtype11;
287 val* var_pmodulenamenode4 /* var pmodulenamenode4: nullable Object */;
288 short int var12 /* : Bool */;
289 int cltype13;
290 int idtype14;
291 val* var_pannotationsnode5 /* var pannotationsnode5: nullable Object */;
292 short int var15 /* : Bool */;
293 int cltype16;
294 int idtype17;
295 val* var18 /* : AStdImport */;
296 val* var_pimportnode1 /* var pimportnode1: nullable AStdImport */;
297 long var19 /* : Int */;
298 long var20 /* : Int */;
299 var_p = p0;
300 var = NULL;
301 var_node_list = var;
302 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
303 var_nodearraylist7 = var1;
304 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
305 var_nodearraylist6 = var2;
306 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
307 var_nodearraylist5 = var3;
308 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
309 var_nodearraylist4 = var4;
310 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
311 var_nodearraylist3 = var5;
312 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
313 var_nodearraylist2 = var6;
314 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
315 var_nodearraylist1 = var7;
316 var_pvisibilitynode2 = var_nodearraylist2;
317 /* <var_pvisibilitynode2:nullable Object> isa nullable AVisibility */
318 cltype = type_nullable_parser_nodes__AVisibility.color;
319 idtype = type_nullable_parser_nodes__AVisibility.id;
320 if(var_pvisibilitynode2 == NULL) {
321 var8 = 1;
322 } else {
323 if(cltype >= var_pvisibilitynode2->type->table_size) {
324 var8 = 0;
325 } else {
326 var8 = var_pvisibilitynode2->type->type_table[cltype] == idtype;
327 }
328 }
329 if (!var8) {
330 fprintf(stderr, "Runtime error: %s", "Assert failed");
331 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4094);
332 exit(1);
333 }
334 var_tkwimportnode3 = var_nodearraylist3;
335 /* <var_tkwimportnode3:nullable Object> isa nullable TKwimport */
336 cltype10 = type_nullable_parser_nodes__TKwimport.color;
337 idtype11 = type_nullable_parser_nodes__TKwimport.id;
338 if(var_tkwimportnode3 == NULL) {
339 var9 = 1;
340 } else {
341 if(cltype10 >= var_tkwimportnode3->type->table_size) {
342 var9 = 0;
343 } else {
344 var9 = var_tkwimportnode3->type->type_table[cltype10] == idtype11;
345 }
346 }
347 if (!var9) {
348 fprintf(stderr, "Runtime error: %s", "Assert failed");
349 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4096);
350 exit(1);
351 }
352 var_pmodulenamenode4 = var_nodearraylist5;
353 /* <var_pmodulenamenode4:nullable Object> isa nullable AModuleName */
354 cltype13 = type_nullable_parser_nodes__AModuleName.color;
355 idtype14 = type_nullable_parser_nodes__AModuleName.id;
356 if(var_pmodulenamenode4 == NULL) {
357 var12 = 1;
358 } else {
359 if(cltype13 >= var_pmodulenamenode4->type->table_size) {
360 var12 = 0;
361 } else {
362 var12 = var_pmodulenamenode4->type->type_table[cltype13] == idtype14;
363 }
364 }
365 if (!var12) {
366 fprintf(stderr, "Runtime error: %s", "Assert failed");
367 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4098);
368 exit(1);
369 }
370 var_pannotationsnode5 = var_nodearraylist6;
371 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
372 cltype16 = type_nullable_parser_nodes__AAnnotations.color;
373 idtype17 = type_nullable_parser_nodes__AAnnotations.id;
374 if(var_pannotationsnode5 == NULL) {
375 var15 = 1;
376 } else {
377 if(cltype16 >= var_pannotationsnode5->type->table_size) {
378 var15 = 0;
379 } else {
380 var15 = var_pannotationsnode5->type->type_table[cltype16] == idtype17;
381 }
382 }
383 if (!var15) {
384 fprintf(stderr, "Runtime error: %s", "Assert failed");
385 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4100);
386 exit(1);
387 }
388 var18 = NEW_parser_nodes__AStdImport(&type_parser_nodes__AStdImport);
389 ((void (*)(val*, val*, val*, val*, val*))(var18->class->vft[COLOR_parser_prod__AStdImport__init_astdimport]))(var18, var_pvisibilitynode2, var_tkwimportnode3, var_pmodulenamenode4, var_pannotationsnode5) /* init_astdimport on <var18:AStdImport>*/;
390 CHECK_NEW_parser_nodes__AStdImport(var18);
391 var_pimportnode1 = var18;
392 var_node_list = var_pimportnode1;
393 var19 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction67> */
394 var20 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var19) /* go_to on <var_p:Parser>*/;
395 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var20, var_node_list) /* push on <var_p:Parser>*/;
396 RET_LABEL:;
397 }
398 /* method parser#ReduceAction67#action for (self: Object, Parser) */
399 void VIRTUAL_parser__ReduceAction67__action(val* self, val* p0) {
400 parser__ReduceAction67__action(self, p0);
401 RET_LABEL:;
402 }
403 /* method parser#ReduceAction68#action for (self: ReduceAction68, Parser) */
404 void parser__ReduceAction68__action(val* self, val* p0) {
405 val* var_p /* var p: Parser */;
406 val* var /* : null */;
407 val* var_node_list /* var node_list: nullable Object */;
408 val* var1 /* : nullable Object */;
409 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
410 val* var2 /* : nullable Object */;
411 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
412 val* var3 /* : nullable Object */;
413 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
414 val* var4 /* : nullable Object */;
415 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
416 val* var5 /* : nullable Object */;
417 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
418 val* var6 /* : nullable Object */;
419 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
420 val* var_pvisibilitynode2 /* var pvisibilitynode2: nullable Object */;
421 short int var7 /* : Bool */;
422 int cltype;
423 int idtype;
424 val* var_tkwimportnode3 /* var tkwimportnode3: nullable Object */;
425 short int var8 /* : Bool */;
426 int cltype9;
427 int idtype10;
428 val* var_tkwendnode4 /* var tkwendnode4: nullable Object */;
429 short int var11 /* : Bool */;
430 int cltype12;
431 int idtype13;
432 val* var14 /* : ANoImport */;
433 val* var_pimportnode1 /* var pimportnode1: nullable ANoImport */;
434 long var15 /* : Int */;
435 long var16 /* : Int */;
436 var_p = p0;
437 var = NULL;
438 var_node_list = var;
439 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
440 var_nodearraylist6 = var1;
441 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
442 var_nodearraylist5 = var2;
443 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
444 var_nodearraylist4 = var3;
445 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
446 var_nodearraylist3 = var4;
447 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
448 var_nodearraylist2 = var5;
449 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
450 var_nodearraylist1 = var6;
451 var_pvisibilitynode2 = var_nodearraylist2;
452 /* <var_pvisibilitynode2:nullable Object> isa nullable AVisibility */
453 cltype = type_nullable_parser_nodes__AVisibility.color;
454 idtype = type_nullable_parser_nodes__AVisibility.id;
455 if(var_pvisibilitynode2 == NULL) {
456 var7 = 1;
457 } else {
458 if(cltype >= var_pvisibilitynode2->type->table_size) {
459 var7 = 0;
460 } else {
461 var7 = var_pvisibilitynode2->type->type_table[cltype] == idtype;
462 }
463 }
464 if (!var7) {
465 fprintf(stderr, "Runtime error: %s", "Assert failed");
466 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4123);
467 exit(1);
468 }
469 var_tkwimportnode3 = var_nodearraylist3;
470 /* <var_tkwimportnode3:nullable Object> isa nullable TKwimport */
471 cltype9 = type_nullable_parser_nodes__TKwimport.color;
472 idtype10 = type_nullable_parser_nodes__TKwimport.id;
473 if(var_tkwimportnode3 == NULL) {
474 var8 = 1;
475 } else {
476 if(cltype9 >= var_tkwimportnode3->type->table_size) {
477 var8 = 0;
478 } else {
479 var8 = var_tkwimportnode3->type->type_table[cltype9] == idtype10;
480 }
481 }
482 if (!var8) {
483 fprintf(stderr, "Runtime error: %s", "Assert failed");
484 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4125);
485 exit(1);
486 }
487 var_tkwendnode4 = var_nodearraylist5;
488 /* <var_tkwendnode4:nullable Object> isa nullable TKwend */
489 cltype12 = type_nullable_parser_nodes__TKwend.color;
490 idtype13 = type_nullable_parser_nodes__TKwend.id;
491 if(var_tkwendnode4 == NULL) {
492 var11 = 1;
493 } else {
494 if(cltype12 >= var_tkwendnode4->type->table_size) {
495 var11 = 0;
496 } else {
497 var11 = var_tkwendnode4->type->type_table[cltype12] == idtype13;
498 }
499 }
500 if (!var11) {
501 fprintf(stderr, "Runtime error: %s", "Assert failed");
502 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4127);
503 exit(1);
504 }
505 var14 = NEW_parser_nodes__ANoImport(&type_parser_nodes__ANoImport);
506 ((void (*)(val*, val*, val*, val*))(var14->class->vft[COLOR_parser_prod__ANoImport__init_anoimport]))(var14, var_pvisibilitynode2, var_tkwimportnode3, var_tkwendnode4) /* init_anoimport on <var14:ANoImport>*/;
507 CHECK_NEW_parser_nodes__ANoImport(var14);
508 var_pimportnode1 = var14;
509 var_node_list = var_pimportnode1;
510 var15 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction68> */
511 var16 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var15) /* go_to on <var_p:Parser>*/;
512 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var16, var_node_list) /* push on <var_p:Parser>*/;
513 RET_LABEL:;
514 }
515 /* method parser#ReduceAction68#action for (self: Object, Parser) */
516 void VIRTUAL_parser__ReduceAction68__action(val* self, val* p0) {
517 parser__ReduceAction68__action(self, p0);
518 RET_LABEL:;
519 }
520 /* method parser#ReduceAction69#action for (self: ReduceAction69, Parser) */
521 void parser__ReduceAction69__action(val* self, val* p0) {
522 val* var_p /* var p: Parser */;
523 val* var /* : null */;
524 val* var_node_list /* var node_list: nullable Object */;
525 val* var1 /* : nullable Object */;
526 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
527 val* var2 /* : Array[Object] */;
528 val* var_listnode3 /* var listnode3: Array[Object] */;
529 val* var_ppropdefnode2 /* var ppropdefnode2: nullable Object */;
530 short int var3 /* : Bool */;
531 int cltype;
532 int idtype;
533 val* var4 /* : null */;
534 short int var5 /* : Bool */;
535 val* var6 /* : AMainClassdef */;
536 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AMainClassdef */;
537 long var7 /* : Int */;
538 long var8 /* : Int */;
539 var_p = p0;
540 var = NULL;
541 var_node_list = var;
542 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
543 var_nodearraylist1 = var1;
544 var2 = NEW_array__Array(&type_array__Arraykernel__Object);
545 ((void (*)(val*))(var2->class->vft[COLOR_array__Array__init]))(var2) /* init on <var2:Array[Object]>*/;
546 CHECK_NEW_array__Array(var2);
547 var_listnode3 = var2;
548 var_ppropdefnode2 = var_nodearraylist1;
549 /* <var_ppropdefnode2:nullable Object> isa nullable APropdef */
550 cltype = type_nullable_parser_nodes__APropdef.color;
551 idtype = type_nullable_parser_nodes__APropdef.id;
552 if(var_ppropdefnode2 == NULL) {
553 var3 = 1;
554 } else {
555 if(cltype >= var_ppropdefnode2->type->table_size) {
556 var3 = 0;
557 } else {
558 var3 = var_ppropdefnode2->type->type_table[cltype] == idtype;
559 }
560 }
561 if (!var3) {
562 fprintf(stderr, "Runtime error: %s", "Assert failed");
563 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4145);
564 exit(1);
565 }
566 var4 = NULL;
567 if (var_ppropdefnode2 == NULL) {
568 var5 = 0; /* is null */
569 } else {
570 var5 = 1; /* arg is null and recv is not */
571 }
572 if (var5){
573 ((void (*)(val*, val*))(var_listnode3->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_listnode3, var_ppropdefnode2) /* add on <var_listnode3:Array[Object]>*/;
574 } else {
575 }
576 var6 = NEW_parser_nodes__AMainClassdef(&type_parser_nodes__AMainClassdef);
577 ((void (*)(val*, val*))(var6->class->vft[COLOR_parser_prod__AMainClassdef__init_amainclassdef]))(var6, var_listnode3) /* init_amainclassdef on <var6:AMainClassdef>*/;
578 CHECK_NEW_parser_nodes__AMainClassdef(var6);
579 var_pclassdefnode1 = var6;
580 var_node_list = var_pclassdefnode1;
581 var7 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction69> */
582 var8 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var7) /* go_to on <var_p:Parser>*/;
583 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var8, var_node_list) /* push on <var_p:Parser>*/;
584 RET_LABEL:;
585 }
586 /* method parser#ReduceAction69#action for (self: Object, Parser) */
587 void VIRTUAL_parser__ReduceAction69__action(val* self, val* p0) {
588 parser__ReduceAction69__action(self, p0);
589 RET_LABEL:;
590 }
591 /* method parser#ReduceAction70#action for (self: ReduceAction70, Parser) */
592 void parser__ReduceAction70__action(val* self, val* p0) {
593 val* var_p /* var p: Parser */;
594 val* var /* : null */;
595 val* var_node_list /* var node_list: nullable Object */;
596 val* var1 /* : nullable Object */;
597 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
598 val* var2 /* : null */;
599 long var3 /* : Int */;
600 long var4 /* : Int */;
601 var_p = p0;
602 var = NULL;
603 var_node_list = var;
604 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
605 var_nodearraylist1 = var1;
606 var2 = NULL;
607 var_node_list = var2;
608 var3 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction70> */
609 var4 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var3) /* go_to on <var_p:Parser>*/;
610 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var4, var_node_list) /* push on <var_p:Parser>*/;
611 RET_LABEL:;
612 }
613 /* method parser#ReduceAction70#action for (self: Object, Parser) */
614 void VIRTUAL_parser__ReduceAction70__action(val* self, val* p0) {
615 parser__ReduceAction70__action(self, p0);
616 RET_LABEL:;
617 }
618 /* method parser#ReduceAction71#action for (self: ReduceAction71, Parser) */
619 void parser__ReduceAction71__action(val* self, val* p0) {
620 val* var_p /* var p: Parser */;
621 val* var /* : null */;
622 val* var_node_list /* var node_list: nullable Object */;
623 val* var1 /* : nullable Object */;
624 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
625 val* var2 /* : nullable Object */;
626 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
627 val* var_pexprnode3 /* var pexprnode3: nullable Object */;
628 short int var3 /* : Bool */;
629 int cltype;
630 int idtype;
631 val* var4 /* : AMainMethPropdef */;
632 val* var5 /* : null */;
633 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMainMethPropdef */;
634 long var6 /* : Int */;
635 long var7 /* : Int */;
636 var_p = p0;
637 var = NULL;
638 var_node_list = var;
639 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
640 var_nodearraylist2 = var1;
641 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
642 var_nodearraylist1 = var2;
643 var_pexprnode3 = var_nodearraylist2;
644 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
645 cltype = type_nullable_parser_nodes__AExpr.color;
646 idtype = type_nullable_parser_nodes__AExpr.id;
647 if(var_pexprnode3 == NULL) {
648 var3 = 1;
649 } else {
650 if(cltype >= var_pexprnode3->type->table_size) {
651 var3 = 0;
652 } else {
653 var3 = var_pexprnode3->type->type_table[cltype] == idtype;
654 }
655 }
656 if (!var3) {
657 fprintf(stderr, "Runtime error: %s", "Assert failed");
658 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4174);
659 exit(1);
660 }
661 var4 = NEW_parser_nodes__AMainMethPropdef(&type_parser_nodes__AMainMethPropdef);
662 var5 = NULL;
663 ((void (*)(val*, val*, val*))(var4->class->vft[COLOR_parser_prod__AMainMethPropdef__init_amainmethpropdef]))(var4, var5, var_pexprnode3) /* init_amainmethpropdef on <var4:AMainMethPropdef>*/;
664 CHECK_NEW_parser_nodes__AMainMethPropdef(var4);
665 var_ppropdefnode1 = var4;
666 var_node_list = var_ppropdefnode1;
667 var6 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction71> */
668 var7 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var6) /* go_to on <var_p:Parser>*/;
669 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var7, var_node_list) /* push on <var_p:Parser>*/;
670 RET_LABEL:;
671 }
672 /* method parser#ReduceAction71#action for (self: Object, Parser) */
673 void VIRTUAL_parser__ReduceAction71__action(val* self, val* p0) {
674 parser__ReduceAction71__action(self, p0);
675 RET_LABEL:;
676 }
677 /* method parser#ReduceAction73#action for (self: ReduceAction73, Parser) */
678 void parser__ReduceAction73__action(val* self, val* p0) {
679 val* var_p /* var p: Parser */;
680 val* var /* : null */;
681 val* var_node_list /* var node_list: nullable Object */;
682 val* var1 /* : nullable Object */;
683 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
684 val* var2 /* : nullable Object */;
685 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
686 val* var3 /* : nullable Object */;
687 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
688 val* var4 /* : nullable Object */;
689 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
690 val* var5 /* : nullable Object */;
691 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
692 val* var6 /* : nullable Object */;
693 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
694 val* var7 /* : nullable Object */;
695 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
696 val* var8 /* : Array[Object] */;
697 val* var_listnode7 /* var listnode7: Array[Object] */;
698 val* var9 /* : Array[Object] */;
699 val* var_listnode10 /* var listnode10: Array[Object] */;
700 val* var10 /* : Array[Object] */;
701 val* var_listnode11 /* var listnode11: Array[Object] */;
702 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
703 short int var11 /* : Bool */;
704 int cltype;
705 int idtype;
706 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
707 short int var12 /* : Bool */;
708 int cltype13;
709 int idtype14;
710 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
711 short int var15 /* : Bool */;
712 int cltype16;
713 int idtype17;
714 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
715 short int var18 /* : Bool */;
716 int cltype19;
717 int idtype20;
718 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
719 short int var21 /* : Bool */;
720 int cltype22;
721 int idtype23;
722 val* var24 /* : AStdClassdef */;
723 val* var25 /* : null */;
724 val* var26 /* : null */;
725 val* var27 /* : null */;
726 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
727 long var28 /* : Int */;
728 long var29 /* : Int */;
729 var_p = p0;
730 var = NULL;
731 var_node_list = var;
732 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
733 var_nodearraylist7 = var1;
734 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
735 var_nodearraylist6 = var2;
736 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
737 var_nodearraylist5 = var3;
738 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
739 var_nodearraylist4 = var4;
740 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
741 var_nodearraylist3 = var5;
742 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
743 var_nodearraylist2 = var6;
744 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
745 var_nodearraylist1 = var7;
746 var8 = NEW_array__Array(&type_array__Arraykernel__Object);
747 ((void (*)(val*))(var8->class->vft[COLOR_array__Array__init]))(var8) /* init on <var8:Array[Object]>*/;
748 CHECK_NEW_array__Array(var8);
749 var_listnode7 = var8;
750 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
751 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
752 CHECK_NEW_array__Array(var9);
753 var_listnode10 = var9;
754 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
755 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
756 CHECK_NEW_array__Array(var10);
757 var_listnode11 = var10;
758 var_pdocnode2 = var_nodearraylist1;
759 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
760 cltype = type_nullable_parser_nodes__ADoc.color;
761 idtype = type_nullable_parser_nodes__ADoc.id;
762 if(var_pdocnode2 == NULL) {
763 var11 = 1;
764 } else {
765 if(cltype >= var_pdocnode2->type->table_size) {
766 var11 = 0;
767 } else {
768 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
769 }
770 }
771 if (!var11) {
772 fprintf(stderr, "Runtime error: %s", "Assert failed");
773 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4199);
774 exit(1);
775 }
776 var_pvisibilitynode4 = var_nodearraylist2;
777 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
778 cltype13 = type_nullable_parser_nodes__AVisibility.color;
779 idtype14 = type_nullable_parser_nodes__AVisibility.id;
780 if(var_pvisibilitynode4 == NULL) {
781 var12 = 1;
782 } else {
783 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
784 var12 = 0;
785 } else {
786 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
787 }
788 }
789 if (!var12) {
790 fprintf(stderr, "Runtime error: %s", "Assert failed");
791 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4201);
792 exit(1);
793 }
794 var_pclasskindnode5 = var_nodearraylist3;
795 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
796 cltype16 = type_nullable_parser_nodes__AClasskind.color;
797 idtype17 = type_nullable_parser_nodes__AClasskind.id;
798 if(var_pclasskindnode5 == NULL) {
799 var15 = 1;
800 } else {
801 if(cltype16 >= var_pclasskindnode5->type->table_size) {
802 var15 = 0;
803 } else {
804 var15 = var_pclasskindnode5->type->type_table[cltype16] == idtype17;
805 }
806 }
807 if (!var15) {
808 fprintf(stderr, "Runtime error: %s", "Assert failed");
809 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4203);
810 exit(1);
811 }
812 var_tclassidnode6 = var_nodearraylist5;
813 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
814 cltype19 = type_nullable_parser_nodes__TClassid.color;
815 idtype20 = type_nullable_parser_nodes__TClassid.id;
816 if(var_tclassidnode6 == NULL) {
817 var18 = 1;
818 } else {
819 if(cltype19 >= var_tclassidnode6->type->table_size) {
820 var18 = 0;
821 } else {
822 var18 = var_tclassidnode6->type->type_table[cltype19] == idtype20;
823 }
824 }
825 if (!var18) {
826 fprintf(stderr, "Runtime error: %s", "Assert failed");
827 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4205);
828 exit(1);
829 }
830 var_tkwendnode12 = var_nodearraylist7;
831 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
832 cltype22 = type_nullable_parser_nodes__TKwend.color;
833 idtype23 = type_nullable_parser_nodes__TKwend.id;
834 if(var_tkwendnode12 == NULL) {
835 var21 = 1;
836 } else {
837 if(cltype22 >= var_tkwendnode12->type->table_size) {
838 var21 = 0;
839 } else {
840 var21 = var_tkwendnode12->type->type_table[cltype22] == idtype23;
841 }
842 }
843 if (!var21) {
844 fprintf(stderr, "Runtime error: %s", "Assert failed");
845 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4207);
846 exit(1);
847 }
848 var24 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
849 var25 = NULL;
850 var26 = NULL;
851 var27 = NULL;
852 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var24->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var24, var_pdocnode2, var25, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var26, var27, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var24:AStdClassdef>*/;
853 CHECK_NEW_parser_nodes__AStdClassdef(var24);
854 var_pclassdefnode1 = var24;
855 var_node_list = var_pclassdefnode1;
856 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction73> */
857 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
858 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
859 RET_LABEL:;
860 }
861 /* method parser#ReduceAction73#action for (self: Object, Parser) */
862 void VIRTUAL_parser__ReduceAction73__action(val* self, val* p0) {
863 parser__ReduceAction73__action(self, p0);
864 RET_LABEL:;
865 }
866 /* method parser#ReduceAction74#action for (self: ReduceAction74, Parser) */
867 void parser__ReduceAction74__action(val* self, val* p0) {
868 val* var_p /* var p: Parser */;
869 val* var /* : null */;
870 val* var_node_list /* var node_list: nullable Object */;
871 val* var1 /* : nullable Object */;
872 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
873 val* var2 /* : nullable Object */;
874 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
875 val* var3 /* : nullable Object */;
876 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
877 val* var4 /* : nullable Object */;
878 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
879 val* var5 /* : nullable Object */;
880 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
881 val* var6 /* : nullable Object */;
882 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
883 val* var7 /* : nullable Object */;
884 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
885 val* var8 /* : nullable Object */;
886 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
887 val* var9 /* : Array[Object] */;
888 val* var_listnode7 /* var listnode7: Array[Object] */;
889 val* var10 /* : Array[Object] */;
890 val* var_listnode10 /* var listnode10: Array[Object] */;
891 val* var11 /* : Array[Object] */;
892 val* var_listnode11 /* var listnode11: Array[Object] */;
893 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
894 short int var12 /* : Bool */;
895 int cltype;
896 int idtype;
897 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
898 short int var13 /* : Bool */;
899 int cltype14;
900 int idtype15;
901 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
902 short int var16 /* : Bool */;
903 int cltype17;
904 int idtype18;
905 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
906 short int var19 /* : Bool */;
907 int cltype20;
908 int idtype21;
909 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
910 short int var22 /* : Bool */;
911 int cltype23;
912 int idtype24;
913 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
914 short int var25 /* : Bool */;
915 int cltype26;
916 int idtype27;
917 val* var28 /* : AStdClassdef */;
918 val* var29 /* : null */;
919 val* var30 /* : null */;
920 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
921 long var31 /* : Int */;
922 long var32 /* : Int */;
923 var_p = p0;
924 var = NULL;
925 var_node_list = var;
926 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
927 var_nodearraylist8 = var1;
928 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
929 var_nodearraylist7 = var2;
930 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
931 var_nodearraylist6 = var3;
932 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
933 var_nodearraylist5 = var4;
934 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
935 var_nodearraylist4 = var5;
936 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
937 var_nodearraylist3 = var6;
938 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
939 var_nodearraylist2 = var7;
940 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
941 var_nodearraylist1 = var8;
942 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
943 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
944 CHECK_NEW_array__Array(var9);
945 var_listnode7 = var9;
946 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
947 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
948 CHECK_NEW_array__Array(var10);
949 var_listnode10 = var10;
950 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
951 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
952 CHECK_NEW_array__Array(var11);
953 var_listnode11 = var11;
954 var_pdocnode2 = var_nodearraylist1;
955 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
956 cltype = type_nullable_parser_nodes__ADoc.color;
957 idtype = type_nullable_parser_nodes__ADoc.id;
958 if(var_pdocnode2 == NULL) {
959 var12 = 1;
960 } else {
961 if(cltype >= var_pdocnode2->type->table_size) {
962 var12 = 0;
963 } else {
964 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
965 }
966 }
967 if (!var12) {
968 fprintf(stderr, "Runtime error: %s", "Assert failed");
969 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4242);
970 exit(1);
971 }
972 var_tkwredefnode3 = var_nodearraylist2;
973 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
974 cltype14 = type_nullable_parser_nodes__TKwredef.color;
975 idtype15 = type_nullable_parser_nodes__TKwredef.id;
976 if(var_tkwredefnode3 == NULL) {
977 var13 = 1;
978 } else {
979 if(cltype14 >= var_tkwredefnode3->type->table_size) {
980 var13 = 0;
981 } else {
982 var13 = var_tkwredefnode3->type->type_table[cltype14] == idtype15;
983 }
984 }
985 if (!var13) {
986 fprintf(stderr, "Runtime error: %s", "Assert failed");
987 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4244);
988 exit(1);
989 }
990 var_pvisibilitynode4 = var_nodearraylist3;
991 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
992 cltype17 = type_nullable_parser_nodes__AVisibility.color;
993 idtype18 = type_nullable_parser_nodes__AVisibility.id;
994 if(var_pvisibilitynode4 == NULL) {
995 var16 = 1;
996 } else {
997 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
998 var16 = 0;
999 } else {
1000 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
1001 }
1002 }
1003 if (!var16) {
1004 fprintf(stderr, "Runtime error: %s", "Assert failed");
1005 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4246);
1006 exit(1);
1007 }
1008 var_pclasskindnode5 = var_nodearraylist4;
1009 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1010 cltype20 = type_nullable_parser_nodes__AClasskind.color;
1011 idtype21 = type_nullable_parser_nodes__AClasskind.id;
1012 if(var_pclasskindnode5 == NULL) {
1013 var19 = 1;
1014 } else {
1015 if(cltype20 >= var_pclasskindnode5->type->table_size) {
1016 var19 = 0;
1017 } else {
1018 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
1019 }
1020 }
1021 if (!var19) {
1022 fprintf(stderr, "Runtime error: %s", "Assert failed");
1023 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4248);
1024 exit(1);
1025 }
1026 var_tclassidnode6 = var_nodearraylist6;
1027 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1028 cltype23 = type_nullable_parser_nodes__TClassid.color;
1029 idtype24 = type_nullable_parser_nodes__TClassid.id;
1030 if(var_tclassidnode6 == NULL) {
1031 var22 = 1;
1032 } else {
1033 if(cltype23 >= var_tclassidnode6->type->table_size) {
1034 var22 = 0;
1035 } else {
1036 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
1037 }
1038 }
1039 if (!var22) {
1040 fprintf(stderr, "Runtime error: %s", "Assert failed");
1041 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4250);
1042 exit(1);
1043 }
1044 var_tkwendnode12 = var_nodearraylist8;
1045 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
1046 cltype26 = type_nullable_parser_nodes__TKwend.color;
1047 idtype27 = type_nullable_parser_nodes__TKwend.id;
1048 if(var_tkwendnode12 == NULL) {
1049 var25 = 1;
1050 } else {
1051 if(cltype26 >= var_tkwendnode12->type->table_size) {
1052 var25 = 0;
1053 } else {
1054 var25 = var_tkwendnode12->type->type_table[cltype26] == idtype27;
1055 }
1056 }
1057 if (!var25) {
1058 fprintf(stderr, "Runtime error: %s", "Assert failed");
1059 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4252);
1060 exit(1);
1061 }
1062 var28 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1063 var29 = NULL;
1064 var30 = NULL;
1065 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var28, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var29, var30, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var28:AStdClassdef>*/;
1066 CHECK_NEW_parser_nodes__AStdClassdef(var28);
1067 var_pclassdefnode1 = var28;
1068 var_node_list = var_pclassdefnode1;
1069 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction74> */
1070 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
1071 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
1072 RET_LABEL:;
1073 }
1074 /* method parser#ReduceAction74#action for (self: Object, Parser) */
1075 void VIRTUAL_parser__ReduceAction74__action(val* self, val* p0) {
1076 parser__ReduceAction74__action(self, p0);
1077 RET_LABEL:;
1078 }
1079 /* method parser#ReduceAction75#action for (self: ReduceAction75, Parser) */
1080 void parser__ReduceAction75__action(val* self, val* p0) {
1081 val* var_p /* var p: Parser */;
1082 val* var /* : null */;
1083 val* var_node_list /* var node_list: nullable Object */;
1084 val* var1 /* : nullable Object */;
1085 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1086 val* var2 /* : nullable Object */;
1087 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1088 val* var3 /* : nullable Object */;
1089 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1090 val* var4 /* : nullable Object */;
1091 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1092 val* var5 /* : nullable Object */;
1093 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1094 val* var6 /* : nullable Object */;
1095 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1096 val* var7 /* : nullable Object */;
1097 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1098 val* var8 /* : nullable Object */;
1099 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1100 val* var9 /* : Array[Object] */;
1101 val* var_listnode7 /* var listnode7: Array[Object] */;
1102 val* var10 /* : Array[Object] */;
1103 val* var_listnode10 /* var listnode10: Array[Object] */;
1104 val* var11 /* : Array[Object] */;
1105 val* var_listnode11 /* var listnode11: Array[Object] */;
1106 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1107 short int var12 /* : Bool */;
1108 int cltype;
1109 int idtype;
1110 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1111 short int var13 /* : Bool */;
1112 int cltype14;
1113 int idtype15;
1114 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1115 short int var16 /* : Bool */;
1116 int cltype17;
1117 int idtype18;
1118 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1119 short int var19 /* : Bool */;
1120 int cltype20;
1121 int idtype21;
1122 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
1123 short int var22 /* : Bool */;
1124 int cltype23;
1125 int idtype24;
1126 val* var25 /* : AStdClassdef */;
1127 val* var26 /* : null */;
1128 val* var27 /* : null */;
1129 val* var28 /* : null */;
1130 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1131 long var29 /* : Int */;
1132 long var30 /* : Int */;
1133 var_p = p0;
1134 var = NULL;
1135 var_node_list = var;
1136 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1137 var_nodearraylist8 = var1;
1138 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1139 var_nodearraylist7 = var2;
1140 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1141 var_nodearraylist6 = var3;
1142 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1143 var_nodearraylist5 = var4;
1144 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1145 var_nodearraylist4 = var5;
1146 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1147 var_nodearraylist3 = var6;
1148 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1149 var_nodearraylist2 = var7;
1150 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1151 var_nodearraylist1 = var8;
1152 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
1153 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
1154 CHECK_NEW_array__Array(var9);
1155 var_listnode7 = var9;
1156 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
1157 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
1158 CHECK_NEW_array__Array(var10);
1159 var_listnode10 = var10;
1160 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1161 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1162 CHECK_NEW_array__Array(var11);
1163 var_listnode11 = var11;
1164 var_pdocnode2 = var_nodearraylist1;
1165 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1166 cltype = type_nullable_parser_nodes__ADoc.color;
1167 idtype = type_nullable_parser_nodes__ADoc.id;
1168 if(var_pdocnode2 == NULL) {
1169 var12 = 1;
1170 } else {
1171 if(cltype >= var_pdocnode2->type->table_size) {
1172 var12 = 0;
1173 } else {
1174 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
1175 }
1176 }
1177 if (!var12) {
1178 fprintf(stderr, "Runtime error: %s", "Assert failed");
1179 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4287);
1180 exit(1);
1181 }
1182 var_pvisibilitynode4 = var_nodearraylist2;
1183 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1184 cltype14 = type_nullable_parser_nodes__AVisibility.color;
1185 idtype15 = type_nullable_parser_nodes__AVisibility.id;
1186 if(var_pvisibilitynode4 == NULL) {
1187 var13 = 1;
1188 } else {
1189 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
1190 var13 = 0;
1191 } else {
1192 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
1193 }
1194 }
1195 if (!var13) {
1196 fprintf(stderr, "Runtime error: %s", "Assert failed");
1197 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4289);
1198 exit(1);
1199 }
1200 var_pclasskindnode5 = var_nodearraylist3;
1201 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1202 cltype17 = type_nullable_parser_nodes__AClasskind.color;
1203 idtype18 = type_nullable_parser_nodes__AClasskind.id;
1204 if(var_pclasskindnode5 == NULL) {
1205 var16 = 1;
1206 } else {
1207 if(cltype17 >= var_pclasskindnode5->type->table_size) {
1208 var16 = 0;
1209 } else {
1210 var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18;
1211 }
1212 }
1213 if (!var16) {
1214 fprintf(stderr, "Runtime error: %s", "Assert failed");
1215 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4291);
1216 exit(1);
1217 }
1218 var_tclassidnode6 = var_nodearraylist6;
1219 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1220 cltype20 = type_nullable_parser_nodes__TClassid.color;
1221 idtype21 = type_nullable_parser_nodes__TClassid.id;
1222 if(var_tclassidnode6 == NULL) {
1223 var19 = 1;
1224 } else {
1225 if(cltype20 >= var_tclassidnode6->type->table_size) {
1226 var19 = 0;
1227 } else {
1228 var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21;
1229 }
1230 }
1231 if (!var19) {
1232 fprintf(stderr, "Runtime error: %s", "Assert failed");
1233 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4293);
1234 exit(1);
1235 }
1236 var_tkwendnode12 = var_nodearraylist8;
1237 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
1238 cltype23 = type_nullable_parser_nodes__TKwend.color;
1239 idtype24 = type_nullable_parser_nodes__TKwend.id;
1240 if(var_tkwendnode12 == NULL) {
1241 var22 = 1;
1242 } else {
1243 if(cltype23 >= var_tkwendnode12->type->table_size) {
1244 var22 = 0;
1245 } else {
1246 var22 = var_tkwendnode12->type->type_table[cltype23] == idtype24;
1247 }
1248 }
1249 if (!var22) {
1250 fprintf(stderr, "Runtime error: %s", "Assert failed");
1251 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4295);
1252 exit(1);
1253 }
1254 var25 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1255 var26 = NULL;
1256 var27 = NULL;
1257 var28 = NULL;
1258 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var27, var28, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var25:AStdClassdef>*/;
1259 CHECK_NEW_parser_nodes__AStdClassdef(var25);
1260 var_pclassdefnode1 = var25;
1261 var_node_list = var_pclassdefnode1;
1262 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction75> */
1263 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
1264 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
1265 RET_LABEL:;
1266 }
1267 /* method parser#ReduceAction75#action for (self: Object, Parser) */
1268 void VIRTUAL_parser__ReduceAction75__action(val* self, val* p0) {
1269 parser__ReduceAction75__action(self, p0);
1270 RET_LABEL:;
1271 }
1272 /* method parser#ReduceAction76#action for (self: ReduceAction76, Parser) */
1273 void parser__ReduceAction76__action(val* self, val* p0) {
1274 val* var_p /* var p: Parser */;
1275 val* var /* : null */;
1276 val* var_node_list /* var node_list: nullable Object */;
1277 val* var1 /* : nullable Object */;
1278 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1279 val* var2 /* : nullable Object */;
1280 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1281 val* var3 /* : nullable Object */;
1282 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1283 val* var4 /* : nullable Object */;
1284 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1285 val* var5 /* : nullable Object */;
1286 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1287 val* var6 /* : nullable Object */;
1288 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1289 val* var7 /* : nullable Object */;
1290 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1291 val* var8 /* : nullable Object */;
1292 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1293 val* var9 /* : nullable Object */;
1294 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1295 val* var10 /* : Array[Object] */;
1296 val* var_listnode7 /* var listnode7: Array[Object] */;
1297 val* var11 /* : Array[Object] */;
1298 val* var_listnode10 /* var listnode10: Array[Object] */;
1299 val* var12 /* : Array[Object] */;
1300 val* var_listnode11 /* var listnode11: Array[Object] */;
1301 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1302 short int var13 /* : Bool */;
1303 int cltype;
1304 int idtype;
1305 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1306 short int var14 /* : Bool */;
1307 int cltype15;
1308 int idtype16;
1309 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1310 short int var17 /* : Bool */;
1311 int cltype18;
1312 int idtype19;
1313 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1314 short int var20 /* : Bool */;
1315 int cltype21;
1316 int idtype22;
1317 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
1318 short int var23 /* : Bool */;
1319 int cltype24;
1320 int idtype25;
1321 val* var26 /* : AStdClassdef */;
1322 val* var27 /* : null */;
1323 val* var28 /* : null */;
1324 val* var29 /* : null */;
1325 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1326 long var30 /* : Int */;
1327 long var31 /* : Int */;
1328 var_p = p0;
1329 var = NULL;
1330 var_node_list = var;
1331 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1332 var_nodearraylist9 = var1;
1333 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1334 var_nodearraylist8 = var2;
1335 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1336 var_nodearraylist7 = var3;
1337 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1338 var_nodearraylist6 = var4;
1339 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1340 var_nodearraylist5 = var5;
1341 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1342 var_nodearraylist4 = var6;
1343 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1344 var_nodearraylist3 = var7;
1345 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1346 var_nodearraylist2 = var8;
1347 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1348 var_nodearraylist1 = var9;
1349 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
1350 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
1351 CHECK_NEW_array__Array(var10);
1352 var_listnode7 = var10;
1353 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1354 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1355 CHECK_NEW_array__Array(var11);
1356 var_listnode10 = var11;
1357 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1358 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1359 CHECK_NEW_array__Array(var12);
1360 var_listnode11 = var12;
1361 var_pdocnode2 = var_nodearraylist1;
1362 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1363 cltype = type_nullable_parser_nodes__ADoc.color;
1364 idtype = type_nullable_parser_nodes__ADoc.id;
1365 if(var_pdocnode2 == NULL) {
1366 var13 = 1;
1367 } else {
1368 if(cltype >= var_pdocnode2->type->table_size) {
1369 var13 = 0;
1370 } else {
1371 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
1372 }
1373 }
1374 if (!var13) {
1375 fprintf(stderr, "Runtime error: %s", "Assert failed");
1376 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4331);
1377 exit(1);
1378 }
1379 var_pvisibilitynode4 = var_nodearraylist2;
1380 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1381 cltype15 = type_nullable_parser_nodes__AVisibility.color;
1382 idtype16 = type_nullable_parser_nodes__AVisibility.id;
1383 if(var_pvisibilitynode4 == NULL) {
1384 var14 = 1;
1385 } else {
1386 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
1387 var14 = 0;
1388 } else {
1389 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
1390 }
1391 }
1392 if (!var14) {
1393 fprintf(stderr, "Runtime error: %s", "Assert failed");
1394 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4333);
1395 exit(1);
1396 }
1397 var_pclasskindnode5 = var_nodearraylist3;
1398 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1399 cltype18 = type_nullable_parser_nodes__AClasskind.color;
1400 idtype19 = type_nullable_parser_nodes__AClasskind.id;
1401 if(var_pclasskindnode5 == NULL) {
1402 var17 = 1;
1403 } else {
1404 if(cltype18 >= var_pclasskindnode5->type->table_size) {
1405 var17 = 0;
1406 } else {
1407 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
1408 }
1409 }
1410 if (!var17) {
1411 fprintf(stderr, "Runtime error: %s", "Assert failed");
1412 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4335);
1413 exit(1);
1414 }
1415 var_tclassidnode6 = var_nodearraylist7;
1416 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1417 cltype21 = type_nullable_parser_nodes__TClassid.color;
1418 idtype22 = type_nullable_parser_nodes__TClassid.id;
1419 if(var_tclassidnode6 == NULL) {
1420 var20 = 1;
1421 } else {
1422 if(cltype21 >= var_tclassidnode6->type->table_size) {
1423 var20 = 0;
1424 } else {
1425 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
1426 }
1427 }
1428 if (!var20) {
1429 fprintf(stderr, "Runtime error: %s", "Assert failed");
1430 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4337);
1431 exit(1);
1432 }
1433 var_tkwendnode12 = var_nodearraylist9;
1434 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
1435 cltype24 = type_nullable_parser_nodes__TKwend.color;
1436 idtype25 = type_nullable_parser_nodes__TKwend.id;
1437 if(var_tkwendnode12 == NULL) {
1438 var23 = 1;
1439 } else {
1440 if(cltype24 >= var_tkwendnode12->type->table_size) {
1441 var23 = 0;
1442 } else {
1443 var23 = var_tkwendnode12->type->type_table[cltype24] == idtype25;
1444 }
1445 }
1446 if (!var23) {
1447 fprintf(stderr, "Runtime error: %s", "Assert failed");
1448 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4339);
1449 exit(1);
1450 }
1451 var26 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1452 var27 = NULL;
1453 var28 = NULL;
1454 var29 = NULL;
1455 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var26->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var26, var_pdocnode2, var27, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var28, var29, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var26:AStdClassdef>*/;
1456 CHECK_NEW_parser_nodes__AStdClassdef(var26);
1457 var_pclassdefnode1 = var26;
1458 var_node_list = var_pclassdefnode1;
1459 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction76> */
1460 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
1461 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
1462 RET_LABEL:;
1463 }
1464 /* method parser#ReduceAction76#action for (self: Object, Parser) */
1465 void VIRTUAL_parser__ReduceAction76__action(val* self, val* p0) {
1466 parser__ReduceAction76__action(self, p0);
1467 RET_LABEL:;
1468 }
1469 /* method parser#ReduceAction78#action for (self: ReduceAction78, Parser) */
1470 void parser__ReduceAction78__action(val* self, val* p0) {
1471 val* var_p /* var p: Parser */;
1472 val* var /* : null */;
1473 val* var_node_list /* var node_list: nullable Object */;
1474 val* var1 /* : nullable Object */;
1475 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1476 val* var2 /* : nullable Object */;
1477 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1478 val* var3 /* : nullable Object */;
1479 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1480 val* var4 /* : nullable Object */;
1481 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1482 val* var5 /* : nullable Object */;
1483 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1484 val* var6 /* : nullable Object */;
1485 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1486 val* var7 /* : nullable Object */;
1487 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1488 val* var8 /* : nullable Object */;
1489 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1490 val* var9 /* : nullable Object */;
1491 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1492 val* var10 /* : Array[Object] */;
1493 val* var_listnode7 /* var listnode7: Array[Object] */;
1494 val* var11 /* : Array[Object] */;
1495 val* var_listnode10 /* var listnode10: Array[Object] */;
1496 val* var12 /* : Array[Object] */;
1497 val* var_listnode11 /* var listnode11: Array[Object] */;
1498 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1499 short int var13 /* : Bool */;
1500 int cltype;
1501 int idtype;
1502 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1503 short int var14 /* : Bool */;
1504 int cltype15;
1505 int idtype16;
1506 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1507 short int var17 /* : Bool */;
1508 int cltype18;
1509 int idtype19;
1510 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1511 short int var20 /* : Bool */;
1512 int cltype21;
1513 int idtype22;
1514 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1515 short int var23 /* : Bool */;
1516 int cltype24;
1517 int idtype25;
1518 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
1519 short int var26 /* : Bool */;
1520 int cltype27;
1521 int idtype28;
1522 val* var29 /* : AStdClassdef */;
1523 val* var30 /* : null */;
1524 val* var31 /* : null */;
1525 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1526 long var32 /* : Int */;
1527 long var33 /* : Int */;
1528 var_p = p0;
1529 var = NULL;
1530 var_node_list = var;
1531 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1532 var_nodearraylist9 = var1;
1533 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1534 var_nodearraylist8 = var2;
1535 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1536 var_nodearraylist7 = var3;
1537 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1538 var_nodearraylist6 = var4;
1539 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1540 var_nodearraylist5 = var5;
1541 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1542 var_nodearraylist4 = var6;
1543 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1544 var_nodearraylist3 = var7;
1545 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1546 var_nodearraylist2 = var8;
1547 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1548 var_nodearraylist1 = var9;
1549 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
1550 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
1551 CHECK_NEW_array__Array(var10);
1552 var_listnode7 = var10;
1553 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1554 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1555 CHECK_NEW_array__Array(var11);
1556 var_listnode10 = var11;
1557 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1558 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1559 CHECK_NEW_array__Array(var12);
1560 var_listnode11 = var12;
1561 var_pdocnode2 = var_nodearraylist1;
1562 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1563 cltype = type_nullable_parser_nodes__ADoc.color;
1564 idtype = type_nullable_parser_nodes__ADoc.id;
1565 if(var_pdocnode2 == NULL) {
1566 var13 = 1;
1567 } else {
1568 if(cltype >= var_pdocnode2->type->table_size) {
1569 var13 = 0;
1570 } else {
1571 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
1572 }
1573 }
1574 if (!var13) {
1575 fprintf(stderr, "Runtime error: %s", "Assert failed");
1576 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4375);
1577 exit(1);
1578 }
1579 var_tkwredefnode3 = var_nodearraylist2;
1580 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1581 cltype15 = type_nullable_parser_nodes__TKwredef.color;
1582 idtype16 = type_nullable_parser_nodes__TKwredef.id;
1583 if(var_tkwredefnode3 == NULL) {
1584 var14 = 1;
1585 } else {
1586 if(cltype15 >= var_tkwredefnode3->type->table_size) {
1587 var14 = 0;
1588 } else {
1589 var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16;
1590 }
1591 }
1592 if (!var14) {
1593 fprintf(stderr, "Runtime error: %s", "Assert failed");
1594 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4377);
1595 exit(1);
1596 }
1597 var_pvisibilitynode4 = var_nodearraylist3;
1598 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1599 cltype18 = type_nullable_parser_nodes__AVisibility.color;
1600 idtype19 = type_nullable_parser_nodes__AVisibility.id;
1601 if(var_pvisibilitynode4 == NULL) {
1602 var17 = 1;
1603 } else {
1604 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
1605 var17 = 0;
1606 } else {
1607 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
1608 }
1609 }
1610 if (!var17) {
1611 fprintf(stderr, "Runtime error: %s", "Assert failed");
1612 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4379);
1613 exit(1);
1614 }
1615 var_pclasskindnode5 = var_nodearraylist4;
1616 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1617 cltype21 = type_nullable_parser_nodes__AClasskind.color;
1618 idtype22 = type_nullable_parser_nodes__AClasskind.id;
1619 if(var_pclasskindnode5 == NULL) {
1620 var20 = 1;
1621 } else {
1622 if(cltype21 >= var_pclasskindnode5->type->table_size) {
1623 var20 = 0;
1624 } else {
1625 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
1626 }
1627 }
1628 if (!var20) {
1629 fprintf(stderr, "Runtime error: %s", "Assert failed");
1630 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4381);
1631 exit(1);
1632 }
1633 var_tclassidnode6 = var_nodearraylist7;
1634 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1635 cltype24 = type_nullable_parser_nodes__TClassid.color;
1636 idtype25 = type_nullable_parser_nodes__TClassid.id;
1637 if(var_tclassidnode6 == NULL) {
1638 var23 = 1;
1639 } else {
1640 if(cltype24 >= var_tclassidnode6->type->table_size) {
1641 var23 = 0;
1642 } else {
1643 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
1644 }
1645 }
1646 if (!var23) {
1647 fprintf(stderr, "Runtime error: %s", "Assert failed");
1648 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4383);
1649 exit(1);
1650 }
1651 var_tkwendnode12 = var_nodearraylist9;
1652 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
1653 cltype27 = type_nullable_parser_nodes__TKwend.color;
1654 idtype28 = type_nullable_parser_nodes__TKwend.id;
1655 if(var_tkwendnode12 == NULL) {
1656 var26 = 1;
1657 } else {
1658 if(cltype27 >= var_tkwendnode12->type->table_size) {
1659 var26 = 0;
1660 } else {
1661 var26 = var_tkwendnode12->type->type_table[cltype27] == idtype28;
1662 }
1663 }
1664 if (!var26) {
1665 fprintf(stderr, "Runtime error: %s", "Assert failed");
1666 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4385);
1667 exit(1);
1668 }
1669 var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1670 var30 = NULL;
1671 var31 = NULL;
1672 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var30, var31, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var29:AStdClassdef>*/;
1673 CHECK_NEW_parser_nodes__AStdClassdef(var29);
1674 var_pclassdefnode1 = var29;
1675 var_node_list = var_pclassdefnode1;
1676 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction78> */
1677 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
1678 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
1679 RET_LABEL:;
1680 }
1681 /* method parser#ReduceAction78#action for (self: Object, Parser) */
1682 void VIRTUAL_parser__ReduceAction78__action(val* self, val* p0) {
1683 parser__ReduceAction78__action(self, p0);
1684 RET_LABEL:;
1685 }
1686 /* method parser#ReduceAction79#action for (self: ReduceAction79, Parser) */
1687 void parser__ReduceAction79__action(val* self, val* p0) {
1688 val* var_p /* var p: Parser */;
1689 val* var /* : null */;
1690 val* var_node_list /* var node_list: nullable Object */;
1691 val* var1 /* : nullable Object */;
1692 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1693 val* var2 /* : nullable Object */;
1694 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1695 val* var3 /* : nullable Object */;
1696 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1697 val* var4 /* : nullable Object */;
1698 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1699 val* var5 /* : nullable Object */;
1700 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1701 val* var6 /* : nullable Object */;
1702 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1703 val* var7 /* : nullable Object */;
1704 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1705 val* var8 /* : nullable Object */;
1706 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1707 val* var9 /* : nullable Object */;
1708 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1709 val* var10 /* : nullable Object */;
1710 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1711 val* var11 /* : Array[Object] */;
1712 val* var_listnode7 /* var listnode7: Array[Object] */;
1713 val* var12 /* : Array[Object] */;
1714 val* var_listnode10 /* var listnode10: Array[Object] */;
1715 val* var13 /* : Array[Object] */;
1716 val* var_listnode11 /* var listnode11: Array[Object] */;
1717 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1718 short int var14 /* : Bool */;
1719 int cltype;
1720 int idtype;
1721 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1722 short int var15 /* : Bool */;
1723 int cltype16;
1724 int idtype17;
1725 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1726 short int var18 /* : Bool */;
1727 int cltype19;
1728 int idtype20;
1729 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1730 short int var21 /* : Bool */;
1731 int cltype22;
1732 int idtype23;
1733 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1734 short int var24 /* : Bool */;
1735 int cltype25;
1736 int idtype26;
1737 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
1738 short int var27 /* : Bool */;
1739 int cltype28;
1740 int idtype29;
1741 val* var30 /* : AStdClassdef */;
1742 val* var31 /* : null */;
1743 val* var32 /* : null */;
1744 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1745 long var33 /* : Int */;
1746 long var34 /* : Int */;
1747 var_p = p0;
1748 var = NULL;
1749 var_node_list = var;
1750 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1751 var_nodearraylist10 = var1;
1752 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1753 var_nodearraylist9 = var2;
1754 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1755 var_nodearraylist8 = var3;
1756 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1757 var_nodearraylist7 = var4;
1758 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1759 var_nodearraylist6 = var5;
1760 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1761 var_nodearraylist5 = var6;
1762 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1763 var_nodearraylist4 = var7;
1764 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1765 var_nodearraylist3 = var8;
1766 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1767 var_nodearraylist2 = var9;
1768 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1769 var_nodearraylist1 = var10;
1770 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1771 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1772 CHECK_NEW_array__Array(var11);
1773 var_listnode7 = var11;
1774 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1775 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1776 CHECK_NEW_array__Array(var12);
1777 var_listnode10 = var12;
1778 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1779 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1780 CHECK_NEW_array__Array(var13);
1781 var_listnode11 = var13;
1782 var_pdocnode2 = var_nodearraylist1;
1783 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1784 cltype = type_nullable_parser_nodes__ADoc.color;
1785 idtype = type_nullable_parser_nodes__ADoc.id;
1786 if(var_pdocnode2 == NULL) {
1787 var14 = 1;
1788 } else {
1789 if(cltype >= var_pdocnode2->type->table_size) {
1790 var14 = 0;
1791 } else {
1792 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
1793 }
1794 }
1795 if (!var14) {
1796 fprintf(stderr, "Runtime error: %s", "Assert failed");
1797 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4422);
1798 exit(1);
1799 }
1800 var_tkwredefnode3 = var_nodearraylist2;
1801 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1802 cltype16 = type_nullable_parser_nodes__TKwredef.color;
1803 idtype17 = type_nullable_parser_nodes__TKwredef.id;
1804 if(var_tkwredefnode3 == NULL) {
1805 var15 = 1;
1806 } else {
1807 if(cltype16 >= var_tkwredefnode3->type->table_size) {
1808 var15 = 0;
1809 } else {
1810 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
1811 }
1812 }
1813 if (!var15) {
1814 fprintf(stderr, "Runtime error: %s", "Assert failed");
1815 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4424);
1816 exit(1);
1817 }
1818 var_pvisibilitynode4 = var_nodearraylist3;
1819 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1820 cltype19 = type_nullable_parser_nodes__AVisibility.color;
1821 idtype20 = type_nullable_parser_nodes__AVisibility.id;
1822 if(var_pvisibilitynode4 == NULL) {
1823 var18 = 1;
1824 } else {
1825 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
1826 var18 = 0;
1827 } else {
1828 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
1829 }
1830 }
1831 if (!var18) {
1832 fprintf(stderr, "Runtime error: %s", "Assert failed");
1833 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4426);
1834 exit(1);
1835 }
1836 var_pclasskindnode5 = var_nodearraylist4;
1837 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1838 cltype22 = type_nullable_parser_nodes__AClasskind.color;
1839 idtype23 = type_nullable_parser_nodes__AClasskind.id;
1840 if(var_pclasskindnode5 == NULL) {
1841 var21 = 1;
1842 } else {
1843 if(cltype22 >= var_pclasskindnode5->type->table_size) {
1844 var21 = 0;
1845 } else {
1846 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
1847 }
1848 }
1849 if (!var21) {
1850 fprintf(stderr, "Runtime error: %s", "Assert failed");
1851 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4428);
1852 exit(1);
1853 }
1854 var_tclassidnode6 = var_nodearraylist8;
1855 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1856 cltype25 = type_nullable_parser_nodes__TClassid.color;
1857 idtype26 = type_nullable_parser_nodes__TClassid.id;
1858 if(var_tclassidnode6 == NULL) {
1859 var24 = 1;
1860 } else {
1861 if(cltype25 >= var_tclassidnode6->type->table_size) {
1862 var24 = 0;
1863 } else {
1864 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
1865 }
1866 }
1867 if (!var24) {
1868 fprintf(stderr, "Runtime error: %s", "Assert failed");
1869 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4430);
1870 exit(1);
1871 }
1872 var_tkwendnode12 = var_nodearraylist10;
1873 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
1874 cltype28 = type_nullable_parser_nodes__TKwend.color;
1875 idtype29 = type_nullable_parser_nodes__TKwend.id;
1876 if(var_tkwendnode12 == NULL) {
1877 var27 = 1;
1878 } else {
1879 if(cltype28 >= var_tkwendnode12->type->table_size) {
1880 var27 = 0;
1881 } else {
1882 var27 = var_tkwendnode12->type->type_table[cltype28] == idtype29;
1883 }
1884 }
1885 if (!var27) {
1886 fprintf(stderr, "Runtime error: %s", "Assert failed");
1887 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4432);
1888 exit(1);
1889 }
1890 var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1891 var31 = NULL;
1892 var32 = NULL;
1893 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var30, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var31, var32, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var30:AStdClassdef>*/;
1894 CHECK_NEW_parser_nodes__AStdClassdef(var30);
1895 var_pclassdefnode1 = var30;
1896 var_node_list = var_pclassdefnode1;
1897 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction79> */
1898 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
1899 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
1900 RET_LABEL:;
1901 }
1902 /* method parser#ReduceAction79#action for (self: Object, Parser) */
1903 void VIRTUAL_parser__ReduceAction79__action(val* self, val* p0) {
1904 parser__ReduceAction79__action(self, p0);
1905 RET_LABEL:;
1906 }
1907 /* method parser#ReduceAction81#action for (self: ReduceAction81, Parser) */
1908 void parser__ReduceAction81__action(val* self, val* p0) {
1909 val* var_p /* var p: Parser */;
1910 val* var /* : null */;
1911 val* var_node_list /* var node_list: nullable Object */;
1912 val* var1 /* : nullable Object */;
1913 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1914 val* var2 /* : nullable Object */;
1915 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1916 val* var3 /* : nullable Object */;
1917 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1918 val* var4 /* : nullable Object */;
1919 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1920 val* var5 /* : nullable Object */;
1921 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1922 val* var6 /* : nullable Object */;
1923 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1924 val* var7 /* : nullable Object */;
1925 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1926 val* var8 /* : nullable Object */;
1927 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1928 val* var9 /* : Array[Object] */;
1929 val* var_listnode8 /* var listnode8: Array[Object] */;
1930 val* var10 /* : Array[Object] */;
1931 val* var_listnode11 /* var listnode11: Array[Object] */;
1932 val* var11 /* : Array[Object] */;
1933 val* var_listnode12 /* var listnode12: Array[Object] */;
1934 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1935 short int var12 /* : Bool */;
1936 int cltype;
1937 int idtype;
1938 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1939 short int var13 /* : Bool */;
1940 int cltype14;
1941 int idtype15;
1942 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1943 short int var16 /* : Bool */;
1944 int cltype17;
1945 int idtype18;
1946 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1947 short int var19 /* : Bool */;
1948 int cltype20;
1949 int idtype21;
1950 val* var_listnode7 /* var listnode7: nullable Object */;
1951 short int var22 /* : Bool */;
1952 int cltype23;
1953 int idtype24;
1954 val* var25 /* : Array[Object] */;
1955 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
1956 short int var26 /* : Bool */;
1957 int cltype27;
1958 int idtype28;
1959 val* var29 /* : AStdClassdef */;
1960 val* var30 /* : null */;
1961 val* var31 /* : null */;
1962 val* var32 /* : null */;
1963 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1964 long var33 /* : Int */;
1965 long var34 /* : Int */;
1966 var_p = p0;
1967 var = NULL;
1968 var_node_list = var;
1969 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1970 var_nodearraylist8 = var1;
1971 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1972 var_nodearraylist7 = var2;
1973 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1974 var_nodearraylist6 = var3;
1975 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1976 var_nodearraylist5 = var4;
1977 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1978 var_nodearraylist4 = var5;
1979 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1980 var_nodearraylist3 = var6;
1981 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1982 var_nodearraylist2 = var7;
1983 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1984 var_nodearraylist1 = var8;
1985 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
1986 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
1987 CHECK_NEW_array__Array(var9);
1988 var_listnode8 = var9;
1989 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
1990 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
1991 CHECK_NEW_array__Array(var10);
1992 var_listnode11 = var10;
1993 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1994 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1995 CHECK_NEW_array__Array(var11);
1996 var_listnode12 = var11;
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 var12 = 1;
2003 } else {
2004 if(cltype >= var_pdocnode2->type->table_size) {
2005 var12 = 0;
2006 } else {
2007 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
2008 }
2009 }
2010 if (!var12) {
2011 fprintf(stderr, "Runtime error: %s", "Assert failed");
2012 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4467);
2013 exit(1);
2014 }
2015 var_pvisibilitynode4 = var_nodearraylist2;
2016 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2017 cltype14 = type_nullable_parser_nodes__AVisibility.color;
2018 idtype15 = type_nullable_parser_nodes__AVisibility.id;
2019 if(var_pvisibilitynode4 == NULL) {
2020 var13 = 1;
2021 } else {
2022 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
2023 var13 = 0;
2024 } else {
2025 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
2026 }
2027 }
2028 if (!var13) {
2029 fprintf(stderr, "Runtime error: %s", "Assert failed");
2030 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4469);
2031 exit(1);
2032 }
2033 var_pclasskindnode5 = var_nodearraylist3;
2034 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2035 cltype17 = type_nullable_parser_nodes__AClasskind.color;
2036 idtype18 = type_nullable_parser_nodes__AClasskind.id;
2037 if(var_pclasskindnode5 == NULL) {
2038 var16 = 1;
2039 } else {
2040 if(cltype17 >= var_pclasskindnode5->type->table_size) {
2041 var16 = 0;
2042 } else {
2043 var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18;
2044 }
2045 }
2046 if (!var16) {
2047 fprintf(stderr, "Runtime error: %s", "Assert failed");
2048 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4471);
2049 exit(1);
2050 }
2051 var_tclassidnode6 = var_nodearraylist5;
2052 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2053 cltype20 = type_nullable_parser_nodes__TClassid.color;
2054 idtype21 = type_nullable_parser_nodes__TClassid.id;
2055 if(var_tclassidnode6 == NULL) {
2056 var19 = 1;
2057 } else {
2058 if(cltype20 >= var_tclassidnode6->type->table_size) {
2059 var19 = 0;
2060 } else {
2061 var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21;
2062 }
2063 }
2064 if (!var19) {
2065 fprintf(stderr, "Runtime error: %s", "Assert failed");
2066 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4473);
2067 exit(1);
2068 }
2069 var_listnode7 = var_nodearraylist6;
2070 /* <var_listnode7:nullable Object> isa Array[Object] */
2071 cltype23 = type_array__Arraykernel__Object.color;
2072 idtype24 = type_array__Arraykernel__Object.id;
2073 if(var_listnode7 == NULL) {
2074 var22 = 0;
2075 } else {
2076 if(cltype23 >= var_listnode7->type->table_size) {
2077 var22 = 0;
2078 } else {
2079 var22 = var_listnode7->type->type_table[cltype23] == idtype24;
2080 }
2081 }
2082 if (!var22) {
2083 fprintf(stderr, "Runtime error: %s", "Assert failed");
2084 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4475);
2085 exit(1);
2086 }
2087 var25 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction81>*/;
2088 var_listnode8 = var25;
2089 var_tkwendnode13 = var_nodearraylist8;
2090 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2091 cltype27 = type_nullable_parser_nodes__TKwend.color;
2092 idtype28 = type_nullable_parser_nodes__TKwend.id;
2093 if(var_tkwendnode13 == NULL) {
2094 var26 = 1;
2095 } else {
2096 if(cltype27 >= var_tkwendnode13->type->table_size) {
2097 var26 = 0;
2098 } else {
2099 var26 = var_tkwendnode13->type->type_table[cltype27] == idtype28;
2100 }
2101 }
2102 if (!var26) {
2103 fprintf(stderr, "Runtime error: %s", "Assert failed");
2104 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4478);
2105 exit(1);
2106 }
2107 var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2108 var30 = NULL;
2109 var31 = NULL;
2110 var32 = NULL;
2111 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var31, var32, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var29:AStdClassdef>*/;
2112 CHECK_NEW_parser_nodes__AStdClassdef(var29);
2113 var_pclassdefnode1 = var29;
2114 var_node_list = var_pclassdefnode1;
2115 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction81> */
2116 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
2117 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
2118 RET_LABEL:;
2119 }
2120 /* method parser#ReduceAction81#action for (self: Object, Parser) */
2121 void VIRTUAL_parser__ReduceAction81__action(val* self, val* p0) {
2122 parser__ReduceAction81__action(self, p0);
2123 RET_LABEL:;
2124 }
2125 /* method parser#ReduceAction82#action for (self: ReduceAction82, Parser) */
2126 void parser__ReduceAction82__action(val* self, val* p0) {
2127 val* var_p /* var p: Parser */;
2128 val* var /* : null */;
2129 val* var_node_list /* var node_list: nullable Object */;
2130 val* var1 /* : nullable Object */;
2131 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2132 val* var2 /* : nullable Object */;
2133 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2134 val* var3 /* : nullable Object */;
2135 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2136 val* var4 /* : nullable Object */;
2137 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2138 val* var5 /* : nullable Object */;
2139 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2140 val* var6 /* : nullable Object */;
2141 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2142 val* var7 /* : nullable Object */;
2143 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2144 val* var8 /* : nullable Object */;
2145 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2146 val* var9 /* : nullable Object */;
2147 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2148 val* var10 /* : Array[Object] */;
2149 val* var_listnode8 /* var listnode8: Array[Object] */;
2150 val* var11 /* : Array[Object] */;
2151 val* var_listnode11 /* var listnode11: Array[Object] */;
2152 val* var12 /* : Array[Object] */;
2153 val* var_listnode12 /* var listnode12: Array[Object] */;
2154 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2155 short int var13 /* : Bool */;
2156 int cltype;
2157 int idtype;
2158 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2159 short int var14 /* : Bool */;
2160 int cltype15;
2161 int idtype16;
2162 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2163 short int var17 /* : Bool */;
2164 int cltype18;
2165 int idtype19;
2166 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2167 short int var20 /* : Bool */;
2168 int cltype21;
2169 int idtype22;
2170 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2171 short int var23 /* : Bool */;
2172 int cltype24;
2173 int idtype25;
2174 val* var_listnode7 /* var listnode7: nullable Object */;
2175 short int var26 /* : Bool */;
2176 int cltype27;
2177 int idtype28;
2178 val* var29 /* : Array[Object] */;
2179 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2180 short int var30 /* : Bool */;
2181 int cltype31;
2182 int idtype32;
2183 val* var33 /* : AStdClassdef */;
2184 val* var34 /* : null */;
2185 val* var35 /* : null */;
2186 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2187 long var36 /* : Int */;
2188 long var37 /* : Int */;
2189 var_p = p0;
2190 var = NULL;
2191 var_node_list = var;
2192 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2193 var_nodearraylist9 = var1;
2194 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2195 var_nodearraylist8 = var2;
2196 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2197 var_nodearraylist7 = var3;
2198 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2199 var_nodearraylist6 = var4;
2200 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2201 var_nodearraylist5 = var5;
2202 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2203 var_nodearraylist4 = var6;
2204 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2205 var_nodearraylist3 = var7;
2206 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2207 var_nodearraylist2 = var8;
2208 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2209 var_nodearraylist1 = var9;
2210 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
2211 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
2212 CHECK_NEW_array__Array(var10);
2213 var_listnode8 = var10;
2214 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2215 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2216 CHECK_NEW_array__Array(var11);
2217 var_listnode11 = var11;
2218 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2219 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2220 CHECK_NEW_array__Array(var12);
2221 var_listnode12 = var12;
2222 var_pdocnode2 = var_nodearraylist1;
2223 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2224 cltype = type_nullable_parser_nodes__ADoc.color;
2225 idtype = type_nullable_parser_nodes__ADoc.id;
2226 if(var_pdocnode2 == NULL) {
2227 var13 = 1;
2228 } else {
2229 if(cltype >= var_pdocnode2->type->table_size) {
2230 var13 = 0;
2231 } else {
2232 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
2233 }
2234 }
2235 if (!var13) {
2236 fprintf(stderr, "Runtime error: %s", "Assert failed");
2237 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4514);
2238 exit(1);
2239 }
2240 var_tkwredefnode3 = var_nodearraylist2;
2241 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2242 cltype15 = type_nullable_parser_nodes__TKwredef.color;
2243 idtype16 = type_nullable_parser_nodes__TKwredef.id;
2244 if(var_tkwredefnode3 == NULL) {
2245 var14 = 1;
2246 } else {
2247 if(cltype15 >= var_tkwredefnode3->type->table_size) {
2248 var14 = 0;
2249 } else {
2250 var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16;
2251 }
2252 }
2253 if (!var14) {
2254 fprintf(stderr, "Runtime error: %s", "Assert failed");
2255 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4516);
2256 exit(1);
2257 }
2258 var_pvisibilitynode4 = var_nodearraylist3;
2259 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2260 cltype18 = type_nullable_parser_nodes__AVisibility.color;
2261 idtype19 = type_nullable_parser_nodes__AVisibility.id;
2262 if(var_pvisibilitynode4 == NULL) {
2263 var17 = 1;
2264 } else {
2265 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
2266 var17 = 0;
2267 } else {
2268 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
2269 }
2270 }
2271 if (!var17) {
2272 fprintf(stderr, "Runtime error: %s", "Assert failed");
2273 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4518);
2274 exit(1);
2275 }
2276 var_pclasskindnode5 = var_nodearraylist4;
2277 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2278 cltype21 = type_nullable_parser_nodes__AClasskind.color;
2279 idtype22 = type_nullable_parser_nodes__AClasskind.id;
2280 if(var_pclasskindnode5 == NULL) {
2281 var20 = 1;
2282 } else {
2283 if(cltype21 >= var_pclasskindnode5->type->table_size) {
2284 var20 = 0;
2285 } else {
2286 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
2287 }
2288 }
2289 if (!var20) {
2290 fprintf(stderr, "Runtime error: %s", "Assert failed");
2291 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4520);
2292 exit(1);
2293 }
2294 var_tclassidnode6 = var_nodearraylist6;
2295 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2296 cltype24 = type_nullable_parser_nodes__TClassid.color;
2297 idtype25 = type_nullable_parser_nodes__TClassid.id;
2298 if(var_tclassidnode6 == NULL) {
2299 var23 = 1;
2300 } else {
2301 if(cltype24 >= var_tclassidnode6->type->table_size) {
2302 var23 = 0;
2303 } else {
2304 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
2305 }
2306 }
2307 if (!var23) {
2308 fprintf(stderr, "Runtime error: %s", "Assert failed");
2309 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4522);
2310 exit(1);
2311 }
2312 var_listnode7 = var_nodearraylist7;
2313 /* <var_listnode7:nullable Object> isa Array[Object] */
2314 cltype27 = type_array__Arraykernel__Object.color;
2315 idtype28 = type_array__Arraykernel__Object.id;
2316 if(var_listnode7 == NULL) {
2317 var26 = 0;
2318 } else {
2319 if(cltype27 >= var_listnode7->type->table_size) {
2320 var26 = 0;
2321 } else {
2322 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
2323 }
2324 }
2325 if (!var26) {
2326 fprintf(stderr, "Runtime error: %s", "Assert failed");
2327 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4524);
2328 exit(1);
2329 }
2330 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction82>*/;
2331 var_listnode8 = var29;
2332 var_tkwendnode13 = var_nodearraylist9;
2333 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2334 cltype31 = type_nullable_parser_nodes__TKwend.color;
2335 idtype32 = type_nullable_parser_nodes__TKwend.id;
2336 if(var_tkwendnode13 == NULL) {
2337 var30 = 1;
2338 } else {
2339 if(cltype31 >= var_tkwendnode13->type->table_size) {
2340 var30 = 0;
2341 } else {
2342 var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32;
2343 }
2344 }
2345 if (!var30) {
2346 fprintf(stderr, "Runtime error: %s", "Assert failed");
2347 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4527);
2348 exit(1);
2349 }
2350 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2351 var34 = NULL;
2352 var35 = NULL;
2353 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var34, var35, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var33:AStdClassdef>*/;
2354 CHECK_NEW_parser_nodes__AStdClassdef(var33);
2355 var_pclassdefnode1 = var33;
2356 var_node_list = var_pclassdefnode1;
2357 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction82> */
2358 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
2359 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
2360 RET_LABEL:;
2361 }
2362 /* method parser#ReduceAction82#action for (self: Object, Parser) */
2363 void VIRTUAL_parser__ReduceAction82__action(val* self, val* p0) {
2364 parser__ReduceAction82__action(self, p0);
2365 RET_LABEL:;
2366 }
2367 /* method parser#ReduceAction83#action for (self: ReduceAction83, Parser) */
2368 void parser__ReduceAction83__action(val* self, val* p0) {
2369 val* var_p /* var p: Parser */;
2370 val* var /* : null */;
2371 val* var_node_list /* var node_list: nullable Object */;
2372 val* var1 /* : nullable Object */;
2373 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2374 val* var2 /* : nullable Object */;
2375 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2376 val* var3 /* : nullable Object */;
2377 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2378 val* var4 /* : nullable Object */;
2379 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2380 val* var5 /* : nullable Object */;
2381 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2382 val* var6 /* : nullable Object */;
2383 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2384 val* var7 /* : nullable Object */;
2385 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2386 val* var8 /* : nullable Object */;
2387 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2388 val* var9 /* : nullable Object */;
2389 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2390 val* var10 /* : Array[Object] */;
2391 val* var_listnode8 /* var listnode8: Array[Object] */;
2392 val* var11 /* : Array[Object] */;
2393 val* var_listnode11 /* var listnode11: Array[Object] */;
2394 val* var12 /* : Array[Object] */;
2395 val* var_listnode12 /* var listnode12: Array[Object] */;
2396 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2397 short int var13 /* : Bool */;
2398 int cltype;
2399 int idtype;
2400 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2401 short int var14 /* : Bool */;
2402 int cltype15;
2403 int idtype16;
2404 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2405 short int var17 /* : Bool */;
2406 int cltype18;
2407 int idtype19;
2408 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2409 short int var20 /* : Bool */;
2410 int cltype21;
2411 int idtype22;
2412 val* var_listnode7 /* var listnode7: nullable Object */;
2413 short int var23 /* : Bool */;
2414 int cltype24;
2415 int idtype25;
2416 val* var26 /* : Array[Object] */;
2417 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2418 short int var27 /* : Bool */;
2419 int cltype28;
2420 int idtype29;
2421 val* var30 /* : AStdClassdef */;
2422 val* var31 /* : null */;
2423 val* var32 /* : null */;
2424 val* var33 /* : null */;
2425 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2426 long var34 /* : Int */;
2427 long var35 /* : Int */;
2428 var_p = p0;
2429 var = NULL;
2430 var_node_list = var;
2431 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2432 var_nodearraylist9 = var1;
2433 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2434 var_nodearraylist8 = var2;
2435 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2436 var_nodearraylist7 = var3;
2437 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2438 var_nodearraylist6 = var4;
2439 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2440 var_nodearraylist5 = var5;
2441 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2442 var_nodearraylist4 = var6;
2443 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2444 var_nodearraylist3 = var7;
2445 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2446 var_nodearraylist2 = var8;
2447 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2448 var_nodearraylist1 = var9;
2449 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
2450 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
2451 CHECK_NEW_array__Array(var10);
2452 var_listnode8 = var10;
2453 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2454 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2455 CHECK_NEW_array__Array(var11);
2456 var_listnode11 = var11;
2457 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2458 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2459 CHECK_NEW_array__Array(var12);
2460 var_listnode12 = var12;
2461 var_pdocnode2 = var_nodearraylist1;
2462 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2463 cltype = type_nullable_parser_nodes__ADoc.color;
2464 idtype = type_nullable_parser_nodes__ADoc.id;
2465 if(var_pdocnode2 == NULL) {
2466 var13 = 1;
2467 } else {
2468 if(cltype >= var_pdocnode2->type->table_size) {
2469 var13 = 0;
2470 } else {
2471 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
2472 }
2473 }
2474 if (!var13) {
2475 fprintf(stderr, "Runtime error: %s", "Assert failed");
2476 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4563);
2477 exit(1);
2478 }
2479 var_pvisibilitynode4 = var_nodearraylist2;
2480 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2481 cltype15 = type_nullable_parser_nodes__AVisibility.color;
2482 idtype16 = type_nullable_parser_nodes__AVisibility.id;
2483 if(var_pvisibilitynode4 == NULL) {
2484 var14 = 1;
2485 } else {
2486 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
2487 var14 = 0;
2488 } else {
2489 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
2490 }
2491 }
2492 if (!var14) {
2493 fprintf(stderr, "Runtime error: %s", "Assert failed");
2494 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4565);
2495 exit(1);
2496 }
2497 var_pclasskindnode5 = var_nodearraylist3;
2498 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2499 cltype18 = type_nullable_parser_nodes__AClasskind.color;
2500 idtype19 = type_nullable_parser_nodes__AClasskind.id;
2501 if(var_pclasskindnode5 == NULL) {
2502 var17 = 1;
2503 } else {
2504 if(cltype18 >= var_pclasskindnode5->type->table_size) {
2505 var17 = 0;
2506 } else {
2507 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
2508 }
2509 }
2510 if (!var17) {
2511 fprintf(stderr, "Runtime error: %s", "Assert failed");
2512 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4567);
2513 exit(1);
2514 }
2515 var_tclassidnode6 = var_nodearraylist6;
2516 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2517 cltype21 = type_nullable_parser_nodes__TClassid.color;
2518 idtype22 = type_nullable_parser_nodes__TClassid.id;
2519 if(var_tclassidnode6 == NULL) {
2520 var20 = 1;
2521 } else {
2522 if(cltype21 >= var_tclassidnode6->type->table_size) {
2523 var20 = 0;
2524 } else {
2525 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
2526 }
2527 }
2528 if (!var20) {
2529 fprintf(stderr, "Runtime error: %s", "Assert failed");
2530 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4569);
2531 exit(1);
2532 }
2533 var_listnode7 = var_nodearraylist7;
2534 /* <var_listnode7:nullable Object> isa Array[Object] */
2535 cltype24 = type_array__Arraykernel__Object.color;
2536 idtype25 = type_array__Arraykernel__Object.id;
2537 if(var_listnode7 == NULL) {
2538 var23 = 0;
2539 } else {
2540 if(cltype24 >= var_listnode7->type->table_size) {
2541 var23 = 0;
2542 } else {
2543 var23 = var_listnode7->type->type_table[cltype24] == idtype25;
2544 }
2545 }
2546 if (!var23) {
2547 fprintf(stderr, "Runtime error: %s", "Assert failed");
2548 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4571);
2549 exit(1);
2550 }
2551 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction83>*/;
2552 var_listnode8 = var26;
2553 var_tkwendnode13 = var_nodearraylist9;
2554 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2555 cltype28 = type_nullable_parser_nodes__TKwend.color;
2556 idtype29 = type_nullable_parser_nodes__TKwend.id;
2557 if(var_tkwendnode13 == NULL) {
2558 var27 = 1;
2559 } else {
2560 if(cltype28 >= var_tkwendnode13->type->table_size) {
2561 var27 = 0;
2562 } else {
2563 var27 = var_tkwendnode13->type->type_table[cltype28] == idtype29;
2564 }
2565 }
2566 if (!var27) {
2567 fprintf(stderr, "Runtime error: %s", "Assert failed");
2568 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4574);
2569 exit(1);
2570 }
2571 var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2572 var31 = NULL;
2573 var32 = NULL;
2574 var33 = NULL;
2575 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var30, var_pdocnode2, var31, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var32, var33, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var30:AStdClassdef>*/;
2576 CHECK_NEW_parser_nodes__AStdClassdef(var30);
2577 var_pclassdefnode1 = var30;
2578 var_node_list = var_pclassdefnode1;
2579 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction83> */
2580 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
2581 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
2582 RET_LABEL:;
2583 }
2584 /* method parser#ReduceAction83#action for (self: Object, Parser) */
2585 void VIRTUAL_parser__ReduceAction83__action(val* self, val* p0) {
2586 parser__ReduceAction83__action(self, p0);
2587 RET_LABEL:;
2588 }
2589 /* method parser#ReduceAction84#action for (self: ReduceAction84, Parser) */
2590 void parser__ReduceAction84__action(val* self, val* p0) {
2591 val* var_p /* var p: Parser */;
2592 val* var /* : null */;
2593 val* var_node_list /* var node_list: nullable Object */;
2594 val* var1 /* : nullable Object */;
2595 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2596 val* var2 /* : nullable Object */;
2597 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2598 val* var3 /* : nullable Object */;
2599 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2600 val* var4 /* : nullable Object */;
2601 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2602 val* var5 /* : nullable Object */;
2603 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2604 val* var6 /* : nullable Object */;
2605 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2606 val* var7 /* : nullable Object */;
2607 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2608 val* var8 /* : nullable Object */;
2609 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2610 val* var9 /* : nullable Object */;
2611 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2612 val* var10 /* : nullable Object */;
2613 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2614 val* var11 /* : Array[Object] */;
2615 val* var_listnode8 /* var listnode8: Array[Object] */;
2616 val* var12 /* : Array[Object] */;
2617 val* var_listnode11 /* var listnode11: Array[Object] */;
2618 val* var13 /* : Array[Object] */;
2619 val* var_listnode12 /* var listnode12: Array[Object] */;
2620 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2621 short int var14 /* : Bool */;
2622 int cltype;
2623 int idtype;
2624 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2625 short int var15 /* : Bool */;
2626 int cltype16;
2627 int idtype17;
2628 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2629 short int var18 /* : Bool */;
2630 int cltype19;
2631 int idtype20;
2632 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2633 short int var21 /* : Bool */;
2634 int cltype22;
2635 int idtype23;
2636 val* var_listnode7 /* var listnode7: nullable Object */;
2637 short int var24 /* : Bool */;
2638 int cltype25;
2639 int idtype26;
2640 val* var27 /* : Array[Object] */;
2641 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2642 short int var28 /* : Bool */;
2643 int cltype29;
2644 int idtype30;
2645 val* var31 /* : AStdClassdef */;
2646 val* var32 /* : null */;
2647 val* var33 /* : null */;
2648 val* var34 /* : null */;
2649 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2650 long var35 /* : Int */;
2651 long var36 /* : Int */;
2652 var_p = p0;
2653 var = NULL;
2654 var_node_list = var;
2655 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2656 var_nodearraylist10 = var1;
2657 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2658 var_nodearraylist9 = var2;
2659 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2660 var_nodearraylist8 = var3;
2661 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2662 var_nodearraylist7 = var4;
2663 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2664 var_nodearraylist6 = var5;
2665 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2666 var_nodearraylist5 = var6;
2667 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2668 var_nodearraylist4 = var7;
2669 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2670 var_nodearraylist3 = var8;
2671 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2672 var_nodearraylist2 = var9;
2673 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2674 var_nodearraylist1 = var10;
2675 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2676 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2677 CHECK_NEW_array__Array(var11);
2678 var_listnode8 = var11;
2679 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2680 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2681 CHECK_NEW_array__Array(var12);
2682 var_listnode11 = var12;
2683 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2684 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2685 CHECK_NEW_array__Array(var13);
2686 var_listnode12 = var13;
2687 var_pdocnode2 = var_nodearraylist1;
2688 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2689 cltype = type_nullable_parser_nodes__ADoc.color;
2690 idtype = type_nullable_parser_nodes__ADoc.id;
2691 if(var_pdocnode2 == NULL) {
2692 var14 = 1;
2693 } else {
2694 if(cltype >= var_pdocnode2->type->table_size) {
2695 var14 = 0;
2696 } else {
2697 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
2698 }
2699 }
2700 if (!var14) {
2701 fprintf(stderr, "Runtime error: %s", "Assert failed");
2702 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4611);
2703 exit(1);
2704 }
2705 var_pvisibilitynode4 = var_nodearraylist2;
2706 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2707 cltype16 = type_nullable_parser_nodes__AVisibility.color;
2708 idtype17 = type_nullable_parser_nodes__AVisibility.id;
2709 if(var_pvisibilitynode4 == NULL) {
2710 var15 = 1;
2711 } else {
2712 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
2713 var15 = 0;
2714 } else {
2715 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
2716 }
2717 }
2718 if (!var15) {
2719 fprintf(stderr, "Runtime error: %s", "Assert failed");
2720 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4613);
2721 exit(1);
2722 }
2723 var_pclasskindnode5 = var_nodearraylist3;
2724 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2725 cltype19 = type_nullable_parser_nodes__AClasskind.color;
2726 idtype20 = type_nullable_parser_nodes__AClasskind.id;
2727 if(var_pclasskindnode5 == NULL) {
2728 var18 = 1;
2729 } else {
2730 if(cltype19 >= var_pclasskindnode5->type->table_size) {
2731 var18 = 0;
2732 } else {
2733 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
2734 }
2735 }
2736 if (!var18) {
2737 fprintf(stderr, "Runtime error: %s", "Assert failed");
2738 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4615);
2739 exit(1);
2740 }
2741 var_tclassidnode6 = var_nodearraylist7;
2742 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2743 cltype22 = type_nullable_parser_nodes__TClassid.color;
2744 idtype23 = type_nullable_parser_nodes__TClassid.id;
2745 if(var_tclassidnode6 == NULL) {
2746 var21 = 1;
2747 } else {
2748 if(cltype22 >= var_tclassidnode6->type->table_size) {
2749 var21 = 0;
2750 } else {
2751 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
2752 }
2753 }
2754 if (!var21) {
2755 fprintf(stderr, "Runtime error: %s", "Assert failed");
2756 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4617);
2757 exit(1);
2758 }
2759 var_listnode7 = var_nodearraylist8;
2760 /* <var_listnode7:nullable Object> isa Array[Object] */
2761 cltype25 = type_array__Arraykernel__Object.color;
2762 idtype26 = type_array__Arraykernel__Object.id;
2763 if(var_listnode7 == NULL) {
2764 var24 = 0;
2765 } else {
2766 if(cltype25 >= var_listnode7->type->table_size) {
2767 var24 = 0;
2768 } else {
2769 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
2770 }
2771 }
2772 if (!var24) {
2773 fprintf(stderr, "Runtime error: %s", "Assert failed");
2774 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4619);
2775 exit(1);
2776 }
2777 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction84>*/;
2778 var_listnode8 = var27;
2779 var_tkwendnode13 = var_nodearraylist10;
2780 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2781 cltype29 = type_nullable_parser_nodes__TKwend.color;
2782 idtype30 = type_nullable_parser_nodes__TKwend.id;
2783 if(var_tkwendnode13 == NULL) {
2784 var28 = 1;
2785 } else {
2786 if(cltype29 >= var_tkwendnode13->type->table_size) {
2787 var28 = 0;
2788 } else {
2789 var28 = var_tkwendnode13->type->type_table[cltype29] == idtype30;
2790 }
2791 }
2792 if (!var28) {
2793 fprintf(stderr, "Runtime error: %s", "Assert failed");
2794 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4622);
2795 exit(1);
2796 }
2797 var31 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2798 var32 = NULL;
2799 var33 = NULL;
2800 var34 = NULL;
2801 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var31, var_pdocnode2, var32, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var33, var34, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var31:AStdClassdef>*/;
2802 CHECK_NEW_parser_nodes__AStdClassdef(var31);
2803 var_pclassdefnode1 = var31;
2804 var_node_list = var_pclassdefnode1;
2805 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction84> */
2806 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
2807 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
2808 RET_LABEL:;
2809 }
2810 /* method parser#ReduceAction84#action for (self: Object, Parser) */
2811 void VIRTUAL_parser__ReduceAction84__action(val* self, val* p0) {
2812 parser__ReduceAction84__action(self, p0);
2813 RET_LABEL:;
2814 }
2815 /* method parser#ReduceAction86#action for (self: ReduceAction86, Parser) */
2816 void parser__ReduceAction86__action(val* self, val* p0) {
2817 val* var_p /* var p: Parser */;
2818 val* var /* : null */;
2819 val* var_node_list /* var node_list: nullable Object */;
2820 val* var1 /* : nullable Object */;
2821 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2822 val* var2 /* : nullable Object */;
2823 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2824 val* var3 /* : nullable Object */;
2825 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2826 val* var4 /* : nullable Object */;
2827 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2828 val* var5 /* : nullable Object */;
2829 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2830 val* var6 /* : nullable Object */;
2831 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2832 val* var7 /* : nullable Object */;
2833 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2834 val* var8 /* : nullable Object */;
2835 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2836 val* var9 /* : nullable Object */;
2837 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2838 val* var10 /* : nullable Object */;
2839 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2840 val* var11 /* : Array[Object] */;
2841 val* var_listnode8 /* var listnode8: Array[Object] */;
2842 val* var12 /* : Array[Object] */;
2843 val* var_listnode11 /* var listnode11: Array[Object] */;
2844 val* var13 /* : Array[Object] */;
2845 val* var_listnode12 /* var listnode12: Array[Object] */;
2846 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2847 short int var14 /* : Bool */;
2848 int cltype;
2849 int idtype;
2850 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2851 short int var15 /* : Bool */;
2852 int cltype16;
2853 int idtype17;
2854 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2855 short int var18 /* : Bool */;
2856 int cltype19;
2857 int idtype20;
2858 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2859 short int var21 /* : Bool */;
2860 int cltype22;
2861 int idtype23;
2862 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2863 short int var24 /* : Bool */;
2864 int cltype25;
2865 int idtype26;
2866 val* var_listnode7 /* var listnode7: nullable Object */;
2867 short int var27 /* : Bool */;
2868 int cltype28;
2869 int idtype29;
2870 val* var30 /* : Array[Object] */;
2871 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2872 short int var31 /* : Bool */;
2873 int cltype32;
2874 int idtype33;
2875 val* var34 /* : AStdClassdef */;
2876 val* var35 /* : null */;
2877 val* var36 /* : null */;
2878 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2879 long var37 /* : Int */;
2880 long var38 /* : Int */;
2881 var_p = p0;
2882 var = NULL;
2883 var_node_list = var;
2884 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2885 var_nodearraylist10 = var1;
2886 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2887 var_nodearraylist9 = var2;
2888 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2889 var_nodearraylist8 = var3;
2890 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2891 var_nodearraylist7 = var4;
2892 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2893 var_nodearraylist6 = var5;
2894 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2895 var_nodearraylist5 = var6;
2896 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2897 var_nodearraylist4 = var7;
2898 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2899 var_nodearraylist3 = var8;
2900 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2901 var_nodearraylist2 = var9;
2902 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2903 var_nodearraylist1 = var10;
2904 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2905 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2906 CHECK_NEW_array__Array(var11);
2907 var_listnode8 = var11;
2908 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2909 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2910 CHECK_NEW_array__Array(var12);
2911 var_listnode11 = var12;
2912 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2913 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2914 CHECK_NEW_array__Array(var13);
2915 var_listnode12 = var13;
2916 var_pdocnode2 = var_nodearraylist1;
2917 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2918 cltype = type_nullable_parser_nodes__ADoc.color;
2919 idtype = type_nullable_parser_nodes__ADoc.id;
2920 if(var_pdocnode2 == NULL) {
2921 var14 = 1;
2922 } else {
2923 if(cltype >= var_pdocnode2->type->table_size) {
2924 var14 = 0;
2925 } else {
2926 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
2927 }
2928 }
2929 if (!var14) {
2930 fprintf(stderr, "Runtime error: %s", "Assert failed");
2931 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4659);
2932 exit(1);
2933 }
2934 var_tkwredefnode3 = var_nodearraylist2;
2935 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2936 cltype16 = type_nullable_parser_nodes__TKwredef.color;
2937 idtype17 = type_nullable_parser_nodes__TKwredef.id;
2938 if(var_tkwredefnode3 == NULL) {
2939 var15 = 1;
2940 } else {
2941 if(cltype16 >= var_tkwredefnode3->type->table_size) {
2942 var15 = 0;
2943 } else {
2944 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
2945 }
2946 }
2947 if (!var15) {
2948 fprintf(stderr, "Runtime error: %s", "Assert failed");
2949 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4661);
2950 exit(1);
2951 }
2952 var_pvisibilitynode4 = var_nodearraylist3;
2953 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2954 cltype19 = type_nullable_parser_nodes__AVisibility.color;
2955 idtype20 = type_nullable_parser_nodes__AVisibility.id;
2956 if(var_pvisibilitynode4 == NULL) {
2957 var18 = 1;
2958 } else {
2959 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
2960 var18 = 0;
2961 } else {
2962 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
2963 }
2964 }
2965 if (!var18) {
2966 fprintf(stderr, "Runtime error: %s", "Assert failed");
2967 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4663);
2968 exit(1);
2969 }
2970 var_pclasskindnode5 = var_nodearraylist4;
2971 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2972 cltype22 = type_nullable_parser_nodes__AClasskind.color;
2973 idtype23 = type_nullable_parser_nodes__AClasskind.id;
2974 if(var_pclasskindnode5 == NULL) {
2975 var21 = 1;
2976 } else {
2977 if(cltype22 >= var_pclasskindnode5->type->table_size) {
2978 var21 = 0;
2979 } else {
2980 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
2981 }
2982 }
2983 if (!var21) {
2984 fprintf(stderr, "Runtime error: %s", "Assert failed");
2985 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4665);
2986 exit(1);
2987 }
2988 var_tclassidnode6 = var_nodearraylist7;
2989 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2990 cltype25 = type_nullable_parser_nodes__TClassid.color;
2991 idtype26 = type_nullable_parser_nodes__TClassid.id;
2992 if(var_tclassidnode6 == NULL) {
2993 var24 = 1;
2994 } else {
2995 if(cltype25 >= var_tclassidnode6->type->table_size) {
2996 var24 = 0;
2997 } else {
2998 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
2999 }
3000 }
3001 if (!var24) {
3002 fprintf(stderr, "Runtime error: %s", "Assert failed");
3003 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4667);
3004 exit(1);
3005 }
3006 var_listnode7 = var_nodearraylist8;
3007 /* <var_listnode7:nullable Object> isa Array[Object] */
3008 cltype28 = type_array__Arraykernel__Object.color;
3009 idtype29 = type_array__Arraykernel__Object.id;
3010 if(var_listnode7 == NULL) {
3011 var27 = 0;
3012 } else {
3013 if(cltype28 >= var_listnode7->type->table_size) {
3014 var27 = 0;
3015 } else {
3016 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
3017 }
3018 }
3019 if (!var27) {
3020 fprintf(stderr, "Runtime error: %s", "Assert failed");
3021 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4669);
3022 exit(1);
3023 }
3024 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction86>*/;
3025 var_listnode8 = var30;
3026 var_tkwendnode13 = var_nodearraylist10;
3027 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
3028 cltype32 = type_nullable_parser_nodes__TKwend.color;
3029 idtype33 = type_nullable_parser_nodes__TKwend.id;
3030 if(var_tkwendnode13 == NULL) {
3031 var31 = 1;
3032 } else {
3033 if(cltype32 >= var_tkwendnode13->type->table_size) {
3034 var31 = 0;
3035 } else {
3036 var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33;
3037 }
3038 }
3039 if (!var31) {
3040 fprintf(stderr, "Runtime error: %s", "Assert failed");
3041 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4672);
3042 exit(1);
3043 }
3044 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3045 var35 = NULL;
3046 var36 = NULL;
3047 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var35, var36, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var34:AStdClassdef>*/;
3048 CHECK_NEW_parser_nodes__AStdClassdef(var34);
3049 var_pclassdefnode1 = var34;
3050 var_node_list = var_pclassdefnode1;
3051 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction86> */
3052 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
3053 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
3054 RET_LABEL:;
3055 }
3056 /* method parser#ReduceAction86#action for (self: Object, Parser) */
3057 void VIRTUAL_parser__ReduceAction86__action(val* self, val* p0) {
3058 parser__ReduceAction86__action(self, p0);
3059 RET_LABEL:;
3060 }
3061 /* method parser#ReduceAction87#action for (self: ReduceAction87, Parser) */
3062 void parser__ReduceAction87__action(val* self, val* p0) {
3063 val* var_p /* var p: Parser */;
3064 val* var /* : null */;
3065 val* var_node_list /* var node_list: nullable Object */;
3066 val* var1 /* : nullable Object */;
3067 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3068 val* var2 /* : nullable Object */;
3069 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3070 val* var3 /* : nullable Object */;
3071 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3072 val* var4 /* : nullable Object */;
3073 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3074 val* var5 /* : nullable Object */;
3075 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3076 val* var6 /* : nullable Object */;
3077 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3078 val* var7 /* : nullable Object */;
3079 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3080 val* var8 /* : nullable Object */;
3081 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3082 val* var9 /* : nullable Object */;
3083 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3084 val* var10 /* : nullable Object */;
3085 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3086 val* var11 /* : nullable Object */;
3087 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3088 val* var12 /* : Array[Object] */;
3089 val* var_listnode8 /* var listnode8: Array[Object] */;
3090 val* var13 /* : Array[Object] */;
3091 val* var_listnode11 /* var listnode11: Array[Object] */;
3092 val* var14 /* : Array[Object] */;
3093 val* var_listnode12 /* var listnode12: Array[Object] */;
3094 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3095 short int var15 /* : Bool */;
3096 int cltype;
3097 int idtype;
3098 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3099 short int var16 /* : Bool */;
3100 int cltype17;
3101 int idtype18;
3102 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3103 short int var19 /* : Bool */;
3104 int cltype20;
3105 int idtype21;
3106 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3107 short int var22 /* : Bool */;
3108 int cltype23;
3109 int idtype24;
3110 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3111 short int var25 /* : Bool */;
3112 int cltype26;
3113 int idtype27;
3114 val* var_listnode7 /* var listnode7: nullable Object */;
3115 short int var28 /* : Bool */;
3116 int cltype29;
3117 int idtype30;
3118 val* var31 /* : Array[Object] */;
3119 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
3120 short int var32 /* : Bool */;
3121 int cltype33;
3122 int idtype34;
3123 val* var35 /* : AStdClassdef */;
3124 val* var36 /* : null */;
3125 val* var37 /* : null */;
3126 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3127 long var38 /* : Int */;
3128 long var39 /* : Int */;
3129 var_p = p0;
3130 var = NULL;
3131 var_node_list = var;
3132 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3133 var_nodearraylist11 = var1;
3134 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3135 var_nodearraylist10 = var2;
3136 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3137 var_nodearraylist9 = var3;
3138 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3139 var_nodearraylist8 = var4;
3140 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3141 var_nodearraylist7 = var5;
3142 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3143 var_nodearraylist6 = var6;
3144 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3145 var_nodearraylist5 = var7;
3146 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3147 var_nodearraylist4 = var8;
3148 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3149 var_nodearraylist3 = var9;
3150 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3151 var_nodearraylist2 = var10;
3152 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3153 var_nodearraylist1 = var11;
3154 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3155 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3156 CHECK_NEW_array__Array(var12);
3157 var_listnode8 = var12;
3158 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3159 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3160 CHECK_NEW_array__Array(var13);
3161 var_listnode11 = var13;
3162 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3163 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3164 CHECK_NEW_array__Array(var14);
3165 var_listnode12 = var14;
3166 var_pdocnode2 = var_nodearraylist1;
3167 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3168 cltype = type_nullable_parser_nodes__ADoc.color;
3169 idtype = type_nullable_parser_nodes__ADoc.id;
3170 if(var_pdocnode2 == NULL) {
3171 var15 = 1;
3172 } else {
3173 if(cltype >= var_pdocnode2->type->table_size) {
3174 var15 = 0;
3175 } else {
3176 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
3177 }
3178 }
3179 if (!var15) {
3180 fprintf(stderr, "Runtime error: %s", "Assert failed");
3181 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4710);
3182 exit(1);
3183 }
3184 var_tkwredefnode3 = var_nodearraylist2;
3185 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3186 cltype17 = type_nullable_parser_nodes__TKwredef.color;
3187 idtype18 = type_nullable_parser_nodes__TKwredef.id;
3188 if(var_tkwredefnode3 == NULL) {
3189 var16 = 1;
3190 } else {
3191 if(cltype17 >= var_tkwredefnode3->type->table_size) {
3192 var16 = 0;
3193 } else {
3194 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
3195 }
3196 }
3197 if (!var16) {
3198 fprintf(stderr, "Runtime error: %s", "Assert failed");
3199 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4712);
3200 exit(1);
3201 }
3202 var_pvisibilitynode4 = var_nodearraylist3;
3203 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3204 cltype20 = type_nullable_parser_nodes__AVisibility.color;
3205 idtype21 = type_nullable_parser_nodes__AVisibility.id;
3206 if(var_pvisibilitynode4 == NULL) {
3207 var19 = 1;
3208 } else {
3209 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
3210 var19 = 0;
3211 } else {
3212 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
3213 }
3214 }
3215 if (!var19) {
3216 fprintf(stderr, "Runtime error: %s", "Assert failed");
3217 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4714);
3218 exit(1);
3219 }
3220 var_pclasskindnode5 = var_nodearraylist4;
3221 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3222 cltype23 = type_nullable_parser_nodes__AClasskind.color;
3223 idtype24 = type_nullable_parser_nodes__AClasskind.id;
3224 if(var_pclasskindnode5 == NULL) {
3225 var22 = 1;
3226 } else {
3227 if(cltype23 >= var_pclasskindnode5->type->table_size) {
3228 var22 = 0;
3229 } else {
3230 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
3231 }
3232 }
3233 if (!var22) {
3234 fprintf(stderr, "Runtime error: %s", "Assert failed");
3235 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4716);
3236 exit(1);
3237 }
3238 var_tclassidnode6 = var_nodearraylist8;
3239 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3240 cltype26 = type_nullable_parser_nodes__TClassid.color;
3241 idtype27 = type_nullable_parser_nodes__TClassid.id;
3242 if(var_tclassidnode6 == NULL) {
3243 var25 = 1;
3244 } else {
3245 if(cltype26 >= var_tclassidnode6->type->table_size) {
3246 var25 = 0;
3247 } else {
3248 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
3249 }
3250 }
3251 if (!var25) {
3252 fprintf(stderr, "Runtime error: %s", "Assert failed");
3253 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4718);
3254 exit(1);
3255 }
3256 var_listnode7 = var_nodearraylist9;
3257 /* <var_listnode7:nullable Object> isa Array[Object] */
3258 cltype29 = type_array__Arraykernel__Object.color;
3259 idtype30 = type_array__Arraykernel__Object.id;
3260 if(var_listnode7 == NULL) {
3261 var28 = 0;
3262 } else {
3263 if(cltype29 >= var_listnode7->type->table_size) {
3264 var28 = 0;
3265 } else {
3266 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
3267 }
3268 }
3269 if (!var28) {
3270 fprintf(stderr, "Runtime error: %s", "Assert failed");
3271 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4720);
3272 exit(1);
3273 }
3274 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction87>*/;
3275 var_listnode8 = var31;
3276 var_tkwendnode13 = var_nodearraylist11;
3277 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
3278 cltype33 = type_nullable_parser_nodes__TKwend.color;
3279 idtype34 = type_nullable_parser_nodes__TKwend.id;
3280 if(var_tkwendnode13 == NULL) {
3281 var32 = 1;
3282 } else {
3283 if(cltype33 >= var_tkwendnode13->type->table_size) {
3284 var32 = 0;
3285 } else {
3286 var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34;
3287 }
3288 }
3289 if (!var32) {
3290 fprintf(stderr, "Runtime error: %s", "Assert failed");
3291 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4723);
3292 exit(1);
3293 }
3294 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3295 var36 = NULL;
3296 var37 = NULL;
3297 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var36, var37, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var35:AStdClassdef>*/;
3298 CHECK_NEW_parser_nodes__AStdClassdef(var35);
3299 var_pclassdefnode1 = var35;
3300 var_node_list = var_pclassdefnode1;
3301 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction87> */
3302 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
3303 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
3304 RET_LABEL:;
3305 }
3306 /* method parser#ReduceAction87#action for (self: Object, Parser) */
3307 void VIRTUAL_parser__ReduceAction87__action(val* self, val* p0) {
3308 parser__ReduceAction87__action(self, p0);
3309 RET_LABEL:;
3310 }
3311 /* method parser#ReduceAction89#action for (self: ReduceAction89, Parser) */
3312 void parser__ReduceAction89__action(val* self, val* p0) {
3313 val* var_p /* var p: Parser */;
3314 val* var /* : null */;
3315 val* var_node_list /* var node_list: nullable Object */;
3316 val* var1 /* : nullable Object */;
3317 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3318 val* var2 /* : nullable Object */;
3319 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3320 val* var3 /* : nullable Object */;
3321 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3322 val* var4 /* : nullable Object */;
3323 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3324 val* var5 /* : nullable Object */;
3325 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3326 val* var6 /* : nullable Object */;
3327 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3328 val* var7 /* : nullable Object */;
3329 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3330 val* var8 /* : nullable Object */;
3331 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3332 val* var9 /* : Array[Object] */;
3333 val* var_listnode7 /* var listnode7: Array[Object] */;
3334 val* var10 /* : Array[Object] */;
3335 val* var_listnode15 /* var listnode15: Array[Object] */;
3336 val* var11 /* : Array[Object] */;
3337 val* var_listnode16 /* var listnode16: Array[Object] */;
3338 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3339 short int var12 /* : Bool */;
3340 int cltype;
3341 int idtype;
3342 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3343 short int var13 /* : Bool */;
3344 int cltype14;
3345 int idtype15;
3346 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3347 short int var16 /* : Bool */;
3348 int cltype17;
3349 int idtype18;
3350 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3351 short int var19 /* : Bool */;
3352 int cltype20;
3353 int idtype21;
3354 val* var22 /* : Array[Object] */;
3355 val* var_listnode12 /* var listnode12: Array[Object] */;
3356 val* var_listnode11 /* var listnode11: nullable Object */;
3357 short int var23 /* : Bool */;
3358 int cltype24;
3359 int idtype25;
3360 val* var26 /* : Array[Object] */;
3361 val* var27 /* : AAnnotations */;
3362 val* var28 /* : null */;
3363 val* var29 /* : null */;
3364 val* var30 /* : null */;
3365 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3366 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
3367 short int var31 /* : Bool */;
3368 int cltype32;
3369 int idtype33;
3370 val* var34 /* : AStdClassdef */;
3371 val* var35 /* : null */;
3372 val* var36 /* : null */;
3373 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3374 long var37 /* : Int */;
3375 long var38 /* : Int */;
3376 var_p = p0;
3377 var = NULL;
3378 var_node_list = var;
3379 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3380 var_nodearraylist8 = var1;
3381 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3382 var_nodearraylist7 = var2;
3383 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3384 var_nodearraylist6 = var3;
3385 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3386 var_nodearraylist5 = var4;
3387 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3388 var_nodearraylist4 = var5;
3389 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3390 var_nodearraylist3 = var6;
3391 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3392 var_nodearraylist2 = var7;
3393 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3394 var_nodearraylist1 = var8;
3395 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
3396 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
3397 CHECK_NEW_array__Array(var9);
3398 var_listnode7 = var9;
3399 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
3400 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
3401 CHECK_NEW_array__Array(var10);
3402 var_listnode15 = var10;
3403 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3404 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3405 CHECK_NEW_array__Array(var11);
3406 var_listnode16 = var11;
3407 var_pdocnode2 = var_nodearraylist1;
3408 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3409 cltype = type_nullable_parser_nodes__ADoc.color;
3410 idtype = type_nullable_parser_nodes__ADoc.id;
3411 if(var_pdocnode2 == NULL) {
3412 var12 = 1;
3413 } else {
3414 if(cltype >= var_pdocnode2->type->table_size) {
3415 var12 = 0;
3416 } else {
3417 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
3418 }
3419 }
3420 if (!var12) {
3421 fprintf(stderr, "Runtime error: %s", "Assert failed");
3422 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4758);
3423 exit(1);
3424 }
3425 var_pvisibilitynode4 = var_nodearraylist2;
3426 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3427 cltype14 = type_nullable_parser_nodes__AVisibility.color;
3428 idtype15 = type_nullable_parser_nodes__AVisibility.id;
3429 if(var_pvisibilitynode4 == NULL) {
3430 var13 = 1;
3431 } else {
3432 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
3433 var13 = 0;
3434 } else {
3435 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
3436 }
3437 }
3438 if (!var13) {
3439 fprintf(stderr, "Runtime error: %s", "Assert failed");
3440 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4760);
3441 exit(1);
3442 }
3443 var_pclasskindnode5 = var_nodearraylist3;
3444 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3445 cltype17 = type_nullable_parser_nodes__AClasskind.color;
3446 idtype18 = type_nullable_parser_nodes__AClasskind.id;
3447 if(var_pclasskindnode5 == NULL) {
3448 var16 = 1;
3449 } else {
3450 if(cltype17 >= var_pclasskindnode5->type->table_size) {
3451 var16 = 0;
3452 } else {
3453 var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18;
3454 }
3455 }
3456 if (!var16) {
3457 fprintf(stderr, "Runtime error: %s", "Assert failed");
3458 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4762);
3459 exit(1);
3460 }
3461 var_tclassidnode6 = var_nodearraylist5;
3462 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3463 cltype20 = type_nullable_parser_nodes__TClassid.color;
3464 idtype21 = type_nullable_parser_nodes__TClassid.id;
3465 if(var_tclassidnode6 == NULL) {
3466 var19 = 1;
3467 } else {
3468 if(cltype20 >= var_tclassidnode6->type->table_size) {
3469 var19 = 0;
3470 } else {
3471 var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21;
3472 }
3473 }
3474 if (!var19) {
3475 fprintf(stderr, "Runtime error: %s", "Assert failed");
3476 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4764);
3477 exit(1);
3478 }
3479 var22 = NEW_array__Array(&type_array__Arraykernel__Object);
3480 ((void (*)(val*))(var22->class->vft[COLOR_array__Array__init]))(var22) /* init on <var22:Array[Object]>*/;
3481 CHECK_NEW_array__Array(var22);
3482 var_listnode12 = var22;
3483 var_listnode11 = var_nodearraylist6;
3484 /* <var_listnode11:nullable Object> isa Array[Object] */
3485 cltype24 = type_array__Arraykernel__Object.color;
3486 idtype25 = type_array__Arraykernel__Object.id;
3487 if(var_listnode11 == NULL) {
3488 var23 = 0;
3489 } else {
3490 if(cltype24 >= var_listnode11->type->table_size) {
3491 var23 = 0;
3492 } else {
3493 var23 = var_listnode11->type->type_table[cltype24] == idtype25;
3494 }
3495 }
3496 if (!var23) {
3497 fprintf(stderr, "Runtime error: %s", "Assert failed");
3498 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4767);
3499 exit(1);
3500 }
3501 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction89>*/;
3502 var_listnode12 = var26;
3503 var27 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3504 var28 = NULL;
3505 var29 = NULL;
3506 var30 = NULL;
3507 ((void (*)(val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var27, var28, var29, var_listnode12, var30) /* init_aannotations on <var27:AAnnotations>*/;
3508 CHECK_NEW_parser_nodes__AAnnotations(var27);
3509 var_pannotationsnode8 = var27;
3510 var_tkwendnode17 = var_nodearraylist8;
3511 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
3512 cltype32 = type_nullable_parser_nodes__TKwend.color;
3513 idtype33 = type_nullable_parser_nodes__TKwend.id;
3514 if(var_tkwendnode17 == NULL) {
3515 var31 = 1;
3516 } else {
3517 if(cltype32 >= var_tkwendnode17->type->table_size) {
3518 var31 = 0;
3519 } else {
3520 var31 = var_tkwendnode17->type->type_table[cltype32] == idtype33;
3521 }
3522 }
3523 if (!var31) {
3524 fprintf(stderr, "Runtime error: %s", "Assert failed");
3525 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4776);
3526 exit(1);
3527 }
3528 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3529 var35 = NULL;
3530 var36 = NULL;
3531 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var35, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var36, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var34:AStdClassdef>*/;
3532 CHECK_NEW_parser_nodes__AStdClassdef(var34);
3533 var_pclassdefnode1 = var34;
3534 var_node_list = var_pclassdefnode1;
3535 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction89> */
3536 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
3537 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
3538 RET_LABEL:;
3539 }
3540 /* method parser#ReduceAction89#action for (self: Object, Parser) */
3541 void VIRTUAL_parser__ReduceAction89__action(val* self, val* p0) {
3542 parser__ReduceAction89__action(self, p0);
3543 RET_LABEL:;
3544 }
3545 /* method parser#ReduceAction90#action for (self: ReduceAction90, Parser) */
3546 void parser__ReduceAction90__action(val* self, val* p0) {
3547 val* var_p /* var p: Parser */;
3548 val* var /* : null */;
3549 val* var_node_list /* var node_list: nullable Object */;
3550 val* var1 /* : nullable Object */;
3551 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3552 val* var2 /* : nullable Object */;
3553 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3554 val* var3 /* : nullable Object */;
3555 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3556 val* var4 /* : nullable Object */;
3557 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3558 val* var5 /* : nullable Object */;
3559 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3560 val* var6 /* : nullable Object */;
3561 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3562 val* var7 /* : nullable Object */;
3563 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3564 val* var8 /* : nullable Object */;
3565 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3566 val* var9 /* : nullable Object */;
3567 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3568 val* var10 /* : Array[Object] */;
3569 val* var_listnode7 /* var listnode7: Array[Object] */;
3570 val* var11 /* : Array[Object] */;
3571 val* var_listnode15 /* var listnode15: Array[Object] */;
3572 val* var12 /* : Array[Object] */;
3573 val* var_listnode16 /* var listnode16: Array[Object] */;
3574 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3575 short int var13 /* : Bool */;
3576 int cltype;
3577 int idtype;
3578 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3579 short int var14 /* : Bool */;
3580 int cltype15;
3581 int idtype16;
3582 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3583 short int var17 /* : Bool */;
3584 int cltype18;
3585 int idtype19;
3586 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3587 short int var20 /* : Bool */;
3588 int cltype21;
3589 int idtype22;
3590 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3591 short int var23 /* : Bool */;
3592 int cltype24;
3593 int idtype25;
3594 val* var26 /* : Array[Object] */;
3595 val* var_listnode12 /* var listnode12: Array[Object] */;
3596 val* var_listnode11 /* var listnode11: nullable Object */;
3597 short int var27 /* : Bool */;
3598 int cltype28;
3599 int idtype29;
3600 val* var30 /* : Array[Object] */;
3601 val* var31 /* : AAnnotations */;
3602 val* var32 /* : null */;
3603 val* var33 /* : null */;
3604 val* var34 /* : null */;
3605 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3606 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
3607 short int var35 /* : Bool */;
3608 int cltype36;
3609 int idtype37;
3610 val* var38 /* : AStdClassdef */;
3611 val* var39 /* : null */;
3612 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3613 long var40 /* : Int */;
3614 long var41 /* : Int */;
3615 var_p = p0;
3616 var = NULL;
3617 var_node_list = var;
3618 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3619 var_nodearraylist9 = var1;
3620 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3621 var_nodearraylist8 = var2;
3622 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3623 var_nodearraylist7 = var3;
3624 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3625 var_nodearraylist6 = var4;
3626 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3627 var_nodearraylist5 = var5;
3628 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3629 var_nodearraylist4 = var6;
3630 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3631 var_nodearraylist3 = var7;
3632 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3633 var_nodearraylist2 = var8;
3634 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3635 var_nodearraylist1 = var9;
3636 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
3637 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
3638 CHECK_NEW_array__Array(var10);
3639 var_listnode7 = var10;
3640 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3641 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3642 CHECK_NEW_array__Array(var11);
3643 var_listnode15 = var11;
3644 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3645 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3646 CHECK_NEW_array__Array(var12);
3647 var_listnode16 = var12;
3648 var_pdocnode2 = var_nodearraylist1;
3649 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3650 cltype = type_nullable_parser_nodes__ADoc.color;
3651 idtype = type_nullable_parser_nodes__ADoc.id;
3652 if(var_pdocnode2 == NULL) {
3653 var13 = 1;
3654 } else {
3655 if(cltype >= var_pdocnode2->type->table_size) {
3656 var13 = 0;
3657 } else {
3658 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
3659 }
3660 }
3661 if (!var13) {
3662 fprintf(stderr, "Runtime error: %s", "Assert failed");
3663 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4812);
3664 exit(1);
3665 }
3666 var_tkwredefnode3 = var_nodearraylist2;
3667 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3668 cltype15 = type_nullable_parser_nodes__TKwredef.color;
3669 idtype16 = type_nullable_parser_nodes__TKwredef.id;
3670 if(var_tkwredefnode3 == NULL) {
3671 var14 = 1;
3672 } else {
3673 if(cltype15 >= var_tkwredefnode3->type->table_size) {
3674 var14 = 0;
3675 } else {
3676 var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16;
3677 }
3678 }
3679 if (!var14) {
3680 fprintf(stderr, "Runtime error: %s", "Assert failed");
3681 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4814);
3682 exit(1);
3683 }
3684 var_pvisibilitynode4 = var_nodearraylist3;
3685 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3686 cltype18 = type_nullable_parser_nodes__AVisibility.color;
3687 idtype19 = type_nullable_parser_nodes__AVisibility.id;
3688 if(var_pvisibilitynode4 == NULL) {
3689 var17 = 1;
3690 } else {
3691 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
3692 var17 = 0;
3693 } else {
3694 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
3695 }
3696 }
3697 if (!var17) {
3698 fprintf(stderr, "Runtime error: %s", "Assert failed");
3699 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4816);
3700 exit(1);
3701 }
3702 var_pclasskindnode5 = var_nodearraylist4;
3703 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3704 cltype21 = type_nullable_parser_nodes__AClasskind.color;
3705 idtype22 = type_nullable_parser_nodes__AClasskind.id;
3706 if(var_pclasskindnode5 == NULL) {
3707 var20 = 1;
3708 } else {
3709 if(cltype21 >= var_pclasskindnode5->type->table_size) {
3710 var20 = 0;
3711 } else {
3712 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
3713 }
3714 }
3715 if (!var20) {
3716 fprintf(stderr, "Runtime error: %s", "Assert failed");
3717 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4818);
3718 exit(1);
3719 }
3720 var_tclassidnode6 = var_nodearraylist6;
3721 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3722 cltype24 = type_nullable_parser_nodes__TClassid.color;
3723 idtype25 = type_nullable_parser_nodes__TClassid.id;
3724 if(var_tclassidnode6 == NULL) {
3725 var23 = 1;
3726 } else {
3727 if(cltype24 >= var_tclassidnode6->type->table_size) {
3728 var23 = 0;
3729 } else {
3730 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
3731 }
3732 }
3733 if (!var23) {
3734 fprintf(stderr, "Runtime error: %s", "Assert failed");
3735 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4820);
3736 exit(1);
3737 }
3738 var26 = NEW_array__Array(&type_array__Arraykernel__Object);
3739 ((void (*)(val*))(var26->class->vft[COLOR_array__Array__init]))(var26) /* init on <var26:Array[Object]>*/;
3740 CHECK_NEW_array__Array(var26);
3741 var_listnode12 = var26;
3742 var_listnode11 = var_nodearraylist7;
3743 /* <var_listnode11:nullable Object> isa Array[Object] */
3744 cltype28 = type_array__Arraykernel__Object.color;
3745 idtype29 = type_array__Arraykernel__Object.id;
3746 if(var_listnode11 == NULL) {
3747 var27 = 0;
3748 } else {
3749 if(cltype28 >= var_listnode11->type->table_size) {
3750 var27 = 0;
3751 } else {
3752 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
3753 }
3754 }
3755 if (!var27) {
3756 fprintf(stderr, "Runtime error: %s", "Assert failed");
3757 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4823);
3758 exit(1);
3759 }
3760 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction90>*/;
3761 var_listnode12 = var30;
3762 var31 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3763 var32 = NULL;
3764 var33 = NULL;
3765 var34 = NULL;
3766 ((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>*/;
3767 CHECK_NEW_parser_nodes__AAnnotations(var31);
3768 var_pannotationsnode8 = var31;
3769 var_tkwendnode17 = var_nodearraylist9;
3770 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
3771 cltype36 = type_nullable_parser_nodes__TKwend.color;
3772 idtype37 = type_nullable_parser_nodes__TKwend.id;
3773 if(var_tkwendnode17 == NULL) {
3774 var35 = 1;
3775 } else {
3776 if(cltype36 >= var_tkwendnode17->type->table_size) {
3777 var35 = 0;
3778 } else {
3779 var35 = var_tkwendnode17->type->type_table[cltype36] == idtype37;
3780 }
3781 }
3782 if (!var35) {
3783 fprintf(stderr, "Runtime error: %s", "Assert failed");
3784 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4832);
3785 exit(1);
3786 }
3787 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3788 var39 = NULL;
3789 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var39, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var38:AStdClassdef>*/;
3790 CHECK_NEW_parser_nodes__AStdClassdef(var38);
3791 var_pclassdefnode1 = var38;
3792 var_node_list = var_pclassdefnode1;
3793 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction90> */
3794 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
3795 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
3796 RET_LABEL:;
3797 }
3798 /* method parser#ReduceAction90#action for (self: Object, Parser) */
3799 void VIRTUAL_parser__ReduceAction90__action(val* self, val* p0) {
3800 parser__ReduceAction90__action(self, p0);
3801 RET_LABEL:;
3802 }
3803 /* method parser#ReduceAction91#action for (self: ReduceAction91, Parser) */
3804 void parser__ReduceAction91__action(val* self, val* p0) {
3805 val* var_p /* var p: Parser */;
3806 val* var /* : null */;
3807 val* var_node_list /* var node_list: nullable Object */;
3808 val* var1 /* : nullable Object */;
3809 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3810 val* var2 /* : nullable Object */;
3811 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3812 val* var3 /* : nullable Object */;
3813 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3814 val* var4 /* : nullable Object */;
3815 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3816 val* var5 /* : nullable Object */;
3817 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3818 val* var6 /* : nullable Object */;
3819 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3820 val* var7 /* : nullable Object */;
3821 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3822 val* var8 /* : nullable Object */;
3823 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3824 val* var9 /* : nullable Object */;
3825 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3826 val* var10 /* : Array[Object] */;
3827 val* var_listnode7 /* var listnode7: Array[Object] */;
3828 val* var11 /* : Array[Object] */;
3829 val* var_listnode15 /* var listnode15: Array[Object] */;
3830 val* var12 /* : Array[Object] */;
3831 val* var_listnode16 /* var listnode16: Array[Object] */;
3832 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3833 short int var13 /* : Bool */;
3834 int cltype;
3835 int idtype;
3836 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3837 short int var14 /* : Bool */;
3838 int cltype15;
3839 int idtype16;
3840 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3841 short int var17 /* : Bool */;
3842 int cltype18;
3843 int idtype19;
3844 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3845 short int var20 /* : Bool */;
3846 int cltype21;
3847 int idtype22;
3848 val* var23 /* : Array[Object] */;
3849 val* var_listnode12 /* var listnode12: Array[Object] */;
3850 val* var_listnode11 /* var listnode11: nullable Object */;
3851 short int var24 /* : Bool */;
3852 int cltype25;
3853 int idtype26;
3854 val* var27 /* : Array[Object] */;
3855 val* var28 /* : AAnnotations */;
3856 val* var29 /* : null */;
3857 val* var30 /* : null */;
3858 val* var31 /* : null */;
3859 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3860 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
3861 short int var32 /* : Bool */;
3862 int cltype33;
3863 int idtype34;
3864 val* var35 /* : AStdClassdef */;
3865 val* var36 /* : null */;
3866 val* var37 /* : null */;
3867 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3868 long var38 /* : Int */;
3869 long var39 /* : Int */;
3870 var_p = p0;
3871 var = NULL;
3872 var_node_list = var;
3873 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3874 var_nodearraylist9 = var1;
3875 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3876 var_nodearraylist8 = var2;
3877 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3878 var_nodearraylist7 = var3;
3879 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3880 var_nodearraylist6 = var4;
3881 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3882 var_nodearraylist5 = var5;
3883 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3884 var_nodearraylist4 = var6;
3885 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3886 var_nodearraylist3 = var7;
3887 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3888 var_nodearraylist2 = var8;
3889 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3890 var_nodearraylist1 = var9;
3891 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
3892 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
3893 CHECK_NEW_array__Array(var10);
3894 var_listnode7 = var10;
3895 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3896 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3897 CHECK_NEW_array__Array(var11);
3898 var_listnode15 = var11;
3899 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3900 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3901 CHECK_NEW_array__Array(var12);
3902 var_listnode16 = var12;
3903 var_pdocnode2 = var_nodearraylist1;
3904 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3905 cltype = type_nullable_parser_nodes__ADoc.color;
3906 idtype = type_nullable_parser_nodes__ADoc.id;
3907 if(var_pdocnode2 == NULL) {
3908 var13 = 1;
3909 } else {
3910 if(cltype >= var_pdocnode2->type->table_size) {
3911 var13 = 0;
3912 } else {
3913 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
3914 }
3915 }
3916 if (!var13) {
3917 fprintf(stderr, "Runtime error: %s", "Assert failed");
3918 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4868);
3919 exit(1);
3920 }
3921 var_pvisibilitynode4 = var_nodearraylist2;
3922 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3923 cltype15 = type_nullable_parser_nodes__AVisibility.color;
3924 idtype16 = type_nullable_parser_nodes__AVisibility.id;
3925 if(var_pvisibilitynode4 == NULL) {
3926 var14 = 1;
3927 } else {
3928 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
3929 var14 = 0;
3930 } else {
3931 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
3932 }
3933 }
3934 if (!var14) {
3935 fprintf(stderr, "Runtime error: %s", "Assert failed");
3936 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4870);
3937 exit(1);
3938 }
3939 var_pclasskindnode5 = var_nodearraylist3;
3940 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3941 cltype18 = type_nullable_parser_nodes__AClasskind.color;
3942 idtype19 = type_nullable_parser_nodes__AClasskind.id;
3943 if(var_pclasskindnode5 == NULL) {
3944 var17 = 1;
3945 } else {
3946 if(cltype18 >= var_pclasskindnode5->type->table_size) {
3947 var17 = 0;
3948 } else {
3949 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
3950 }
3951 }
3952 if (!var17) {
3953 fprintf(stderr, "Runtime error: %s", "Assert failed");
3954 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4872);
3955 exit(1);
3956 }
3957 var_tclassidnode6 = var_nodearraylist6;
3958 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3959 cltype21 = type_nullable_parser_nodes__TClassid.color;
3960 idtype22 = type_nullable_parser_nodes__TClassid.id;
3961 if(var_tclassidnode6 == NULL) {
3962 var20 = 1;
3963 } else {
3964 if(cltype21 >= var_tclassidnode6->type->table_size) {
3965 var20 = 0;
3966 } else {
3967 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
3968 }
3969 }
3970 if (!var20) {
3971 fprintf(stderr, "Runtime error: %s", "Assert failed");
3972 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4874);
3973 exit(1);
3974 }
3975 var23 = NEW_array__Array(&type_array__Arraykernel__Object);
3976 ((void (*)(val*))(var23->class->vft[COLOR_array__Array__init]))(var23) /* init on <var23:Array[Object]>*/;
3977 CHECK_NEW_array__Array(var23);
3978 var_listnode12 = var23;
3979 var_listnode11 = var_nodearraylist7;
3980 /* <var_listnode11:nullable Object> isa Array[Object] */
3981 cltype25 = type_array__Arraykernel__Object.color;
3982 idtype26 = type_array__Arraykernel__Object.id;
3983 if(var_listnode11 == NULL) {
3984 var24 = 0;
3985 } else {
3986 if(cltype25 >= var_listnode11->type->table_size) {
3987 var24 = 0;
3988 } else {
3989 var24 = var_listnode11->type->type_table[cltype25] == idtype26;
3990 }
3991 }
3992 if (!var24) {
3993 fprintf(stderr, "Runtime error: %s", "Assert failed");
3994 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4877);
3995 exit(1);
3996 }
3997 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction91>*/;
3998 var_listnode12 = var27;
3999 var28 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4000 var29 = NULL;
4001 var30 = NULL;
4002 var31 = NULL;
4003 ((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>*/;
4004 CHECK_NEW_parser_nodes__AAnnotations(var28);
4005 var_pannotationsnode8 = var28;
4006 var_tkwendnode17 = var_nodearraylist9;
4007 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
4008 cltype33 = type_nullable_parser_nodes__TKwend.color;
4009 idtype34 = type_nullable_parser_nodes__TKwend.id;
4010 if(var_tkwendnode17 == NULL) {
4011 var32 = 1;
4012 } else {
4013 if(cltype33 >= var_tkwendnode17->type->table_size) {
4014 var32 = 0;
4015 } else {
4016 var32 = var_tkwendnode17->type->type_table[cltype33] == idtype34;
4017 }
4018 }
4019 if (!var32) {
4020 fprintf(stderr, "Runtime error: %s", "Assert failed");
4021 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4886);
4022 exit(1);
4023 }
4024 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4025 var36 = NULL;
4026 var37 = NULL;
4027 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var36, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var37, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var35:AStdClassdef>*/;
4028 CHECK_NEW_parser_nodes__AStdClassdef(var35);
4029 var_pclassdefnode1 = var35;
4030 var_node_list = var_pclassdefnode1;
4031 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction91> */
4032 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
4033 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
4034 RET_LABEL:;
4035 }
4036 /* method parser#ReduceAction91#action for (self: Object, Parser) */
4037 void VIRTUAL_parser__ReduceAction91__action(val* self, val* p0) {
4038 parser__ReduceAction91__action(self, p0);
4039 RET_LABEL:;
4040 }
4041 /* method parser#ReduceAction92#action for (self: ReduceAction92, Parser) */
4042 void parser__ReduceAction92__action(val* self, val* p0) {
4043 val* var_p /* var p: Parser */;
4044 val* var /* : null */;
4045 val* var_node_list /* var node_list: nullable Object */;
4046 val* var1 /* : nullable Object */;
4047 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4048 val* var2 /* : nullable Object */;
4049 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4050 val* var3 /* : nullable Object */;
4051 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4052 val* var4 /* : nullable Object */;
4053 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4054 val* var5 /* : nullable Object */;
4055 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4056 val* var6 /* : nullable Object */;
4057 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4058 val* var7 /* : nullable Object */;
4059 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4060 val* var8 /* : nullable Object */;
4061 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4062 val* var9 /* : nullable Object */;
4063 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4064 val* var10 /* : nullable Object */;
4065 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4066 val* var11 /* : Array[Object] */;
4067 val* var_listnode7 /* var listnode7: Array[Object] */;
4068 val* var12 /* : Array[Object] */;
4069 val* var_listnode15 /* var listnode15: Array[Object] */;
4070 val* var13 /* : Array[Object] */;
4071 val* var_listnode16 /* var listnode16: Array[Object] */;
4072 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4073 short int var14 /* : Bool */;
4074 int cltype;
4075 int idtype;
4076 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4077 short int var15 /* : Bool */;
4078 int cltype16;
4079 int idtype17;
4080 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4081 short int var18 /* : Bool */;
4082 int cltype19;
4083 int idtype20;
4084 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4085 short int var21 /* : Bool */;
4086 int cltype22;
4087 int idtype23;
4088 val* var24 /* : Array[Object] */;
4089 val* var_listnode12 /* var listnode12: Array[Object] */;
4090 val* var_listnode11 /* var listnode11: nullable Object */;
4091 short int var25 /* : Bool */;
4092 int cltype26;
4093 int idtype27;
4094 val* var28 /* : Array[Object] */;
4095 val* var29 /* : AAnnotations */;
4096 val* var30 /* : null */;
4097 val* var31 /* : null */;
4098 val* var32 /* : null */;
4099 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
4100 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
4101 short int var33 /* : Bool */;
4102 int cltype34;
4103 int idtype35;
4104 val* var36 /* : AStdClassdef */;
4105 val* var37 /* : null */;
4106 val* var38 /* : null */;
4107 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4108 long var39 /* : Int */;
4109 long var40 /* : Int */;
4110 var_p = p0;
4111 var = NULL;
4112 var_node_list = var;
4113 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4114 var_nodearraylist10 = var1;
4115 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4116 var_nodearraylist9 = var2;
4117 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4118 var_nodearraylist8 = var3;
4119 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4120 var_nodearraylist7 = var4;
4121 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4122 var_nodearraylist6 = var5;
4123 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4124 var_nodearraylist5 = var6;
4125 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4126 var_nodearraylist4 = var7;
4127 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4128 var_nodearraylist3 = var8;
4129 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4130 var_nodearraylist2 = var9;
4131 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4132 var_nodearraylist1 = var10;
4133 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
4134 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
4135 CHECK_NEW_array__Array(var11);
4136 var_listnode7 = var11;
4137 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4138 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4139 CHECK_NEW_array__Array(var12);
4140 var_listnode15 = var12;
4141 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4142 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4143 CHECK_NEW_array__Array(var13);
4144 var_listnode16 = var13;
4145 var_pdocnode2 = var_nodearraylist1;
4146 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4147 cltype = type_nullable_parser_nodes__ADoc.color;
4148 idtype = type_nullable_parser_nodes__ADoc.id;
4149 if(var_pdocnode2 == NULL) {
4150 var14 = 1;
4151 } else {
4152 if(cltype >= var_pdocnode2->type->table_size) {
4153 var14 = 0;
4154 } else {
4155 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
4156 }
4157 }
4158 if (!var14) {
4159 fprintf(stderr, "Runtime error: %s", "Assert failed");
4160 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4923);
4161 exit(1);
4162 }
4163 var_pvisibilitynode4 = var_nodearraylist2;
4164 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4165 cltype16 = type_nullable_parser_nodes__AVisibility.color;
4166 idtype17 = type_nullable_parser_nodes__AVisibility.id;
4167 if(var_pvisibilitynode4 == NULL) {
4168 var15 = 1;
4169 } else {
4170 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
4171 var15 = 0;
4172 } else {
4173 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
4174 }
4175 }
4176 if (!var15) {
4177 fprintf(stderr, "Runtime error: %s", "Assert failed");
4178 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4925);
4179 exit(1);
4180 }
4181 var_pclasskindnode5 = var_nodearraylist3;
4182 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4183 cltype19 = type_nullable_parser_nodes__AClasskind.color;
4184 idtype20 = type_nullable_parser_nodes__AClasskind.id;
4185 if(var_pclasskindnode5 == NULL) {
4186 var18 = 1;
4187 } else {
4188 if(cltype19 >= var_pclasskindnode5->type->table_size) {
4189 var18 = 0;
4190 } else {
4191 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
4192 }
4193 }
4194 if (!var18) {
4195 fprintf(stderr, "Runtime error: %s", "Assert failed");
4196 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4927);
4197 exit(1);
4198 }
4199 var_tclassidnode6 = var_nodearraylist7;
4200 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4201 cltype22 = type_nullable_parser_nodes__TClassid.color;
4202 idtype23 = type_nullable_parser_nodes__TClassid.id;
4203 if(var_tclassidnode6 == NULL) {
4204 var21 = 1;
4205 } else {
4206 if(cltype22 >= var_tclassidnode6->type->table_size) {
4207 var21 = 0;
4208 } else {
4209 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
4210 }
4211 }
4212 if (!var21) {
4213 fprintf(stderr, "Runtime error: %s", "Assert failed");
4214 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4929);
4215 exit(1);
4216 }
4217 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
4218 ((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on <var24:Array[Object]>*/;
4219 CHECK_NEW_array__Array(var24);
4220 var_listnode12 = var24;
4221 var_listnode11 = var_nodearraylist8;
4222 /* <var_listnode11:nullable Object> isa Array[Object] */
4223 cltype26 = type_array__Arraykernel__Object.color;
4224 idtype27 = type_array__Arraykernel__Object.id;
4225 if(var_listnode11 == NULL) {
4226 var25 = 0;
4227 } else {
4228 if(cltype26 >= var_listnode11->type->table_size) {
4229 var25 = 0;
4230 } else {
4231 var25 = var_listnode11->type->type_table[cltype26] == idtype27;
4232 }
4233 }
4234 if (!var25) {
4235 fprintf(stderr, "Runtime error: %s", "Assert failed");
4236 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4932);
4237 exit(1);
4238 }
4239 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction92>*/;
4240 var_listnode12 = var28;
4241 var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4242 var30 = NULL;
4243 var31 = NULL;
4244 var32 = NULL;
4245 ((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>*/;
4246 CHECK_NEW_parser_nodes__AAnnotations(var29);
4247 var_pannotationsnode8 = var29;
4248 var_tkwendnode17 = var_nodearraylist10;
4249 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
4250 cltype34 = type_nullable_parser_nodes__TKwend.color;
4251 idtype35 = type_nullable_parser_nodes__TKwend.id;
4252 if(var_tkwendnode17 == NULL) {
4253 var33 = 1;
4254 } else {
4255 if(cltype34 >= var_tkwendnode17->type->table_size) {
4256 var33 = 0;
4257 } else {
4258 var33 = var_tkwendnode17->type->type_table[cltype34] == idtype35;
4259 }
4260 }
4261 if (!var33) {
4262 fprintf(stderr, "Runtime error: %s", "Assert failed");
4263 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4941);
4264 exit(1);
4265 }
4266 var36 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4267 var37 = NULL;
4268 var38 = NULL;
4269 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var36, var_pdocnode2, var37, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var38, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var36:AStdClassdef>*/;
4270 CHECK_NEW_parser_nodes__AStdClassdef(var36);
4271 var_pclassdefnode1 = var36;
4272 var_node_list = var_pclassdefnode1;
4273 var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction92> */
4274 var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on <var_p:Parser>*/;
4275 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on <var_p:Parser>*/;
4276 RET_LABEL:;
4277 }
4278 /* method parser#ReduceAction92#action for (self: Object, Parser) */
4279 void VIRTUAL_parser__ReduceAction92__action(val* self, val* p0) {
4280 parser__ReduceAction92__action(self, p0);
4281 RET_LABEL:;
4282 }
4283 /* method parser#ReduceAction94#action for (self: ReduceAction94, Parser) */
4284 void parser__ReduceAction94__action(val* self, val* p0) {
4285 val* var_p /* var p: Parser */;
4286 val* var /* : null */;
4287 val* var_node_list /* var node_list: nullable Object */;
4288 val* var1 /* : nullable Object */;
4289 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4290 val* var2 /* : nullable Object */;
4291 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4292 val* var3 /* : nullable Object */;
4293 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4294 val* var4 /* : nullable Object */;
4295 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4296 val* var5 /* : nullable Object */;
4297 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4298 val* var6 /* : nullable Object */;
4299 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4300 val* var7 /* : nullable Object */;
4301 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4302 val* var8 /* : nullable Object */;
4303 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4304 val* var9 /* : nullable Object */;
4305 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4306 val* var10 /* : nullable Object */;
4307 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4308 val* var11 /* : Array[Object] */;
4309 val* var_listnode7 /* var listnode7: Array[Object] */;
4310 val* var12 /* : Array[Object] */;
4311 val* var_listnode15 /* var listnode15: Array[Object] */;
4312 val* var13 /* : Array[Object] */;
4313 val* var_listnode16 /* var listnode16: Array[Object] */;
4314 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4315 short int var14 /* : Bool */;
4316 int cltype;
4317 int idtype;
4318 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4319 short int var15 /* : Bool */;
4320 int cltype16;
4321 int idtype17;
4322 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4323 short int var18 /* : Bool */;
4324 int cltype19;
4325 int idtype20;
4326 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4327 short int var21 /* : Bool */;
4328 int cltype22;
4329 int idtype23;
4330 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4331 short int var24 /* : Bool */;
4332 int cltype25;
4333 int idtype26;
4334 val* var27 /* : Array[Object] */;
4335 val* var_listnode12 /* var listnode12: Array[Object] */;
4336 val* var_listnode11 /* var listnode11: nullable Object */;
4337 short int var28 /* : Bool */;
4338 int cltype29;
4339 int idtype30;
4340 val* var31 /* : Array[Object] */;
4341 val* var32 /* : AAnnotations */;
4342 val* var33 /* : null */;
4343 val* var34 /* : null */;
4344 val* var35 /* : null */;
4345 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
4346 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
4347 short int var36 /* : Bool */;
4348 int cltype37;
4349 int idtype38;
4350 val* var39 /* : AStdClassdef */;
4351 val* var40 /* : null */;
4352 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4353 long var41 /* : Int */;
4354 long var42 /* : Int */;
4355 var_p = p0;
4356 var = NULL;
4357 var_node_list = var;
4358 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4359 var_nodearraylist10 = var1;
4360 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4361 var_nodearraylist9 = var2;
4362 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4363 var_nodearraylist8 = var3;
4364 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4365 var_nodearraylist7 = var4;
4366 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4367 var_nodearraylist6 = var5;
4368 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4369 var_nodearraylist5 = var6;
4370 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4371 var_nodearraylist4 = var7;
4372 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4373 var_nodearraylist3 = var8;
4374 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4375 var_nodearraylist2 = var9;
4376 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4377 var_nodearraylist1 = var10;
4378 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
4379 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
4380 CHECK_NEW_array__Array(var11);
4381 var_listnode7 = var11;
4382 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4383 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4384 CHECK_NEW_array__Array(var12);
4385 var_listnode15 = var12;
4386 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4387 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4388 CHECK_NEW_array__Array(var13);
4389 var_listnode16 = var13;
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 var14 = 1;
4396 } else {
4397 if(cltype >= var_pdocnode2->type->table_size) {
4398 var14 = 0;
4399 } else {
4400 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
4401 }
4402 }
4403 if (!var14) {
4404 fprintf(stderr, "Runtime error: %s", "Assert failed");
4405 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4978);
4406 exit(1);
4407 }
4408 var_tkwredefnode3 = var_nodearraylist2;
4409 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4410 cltype16 = type_nullable_parser_nodes__TKwredef.color;
4411 idtype17 = type_nullable_parser_nodes__TKwredef.id;
4412 if(var_tkwredefnode3 == NULL) {
4413 var15 = 1;
4414 } else {
4415 if(cltype16 >= var_tkwredefnode3->type->table_size) {
4416 var15 = 0;
4417 } else {
4418 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
4419 }
4420 }
4421 if (!var15) {
4422 fprintf(stderr, "Runtime error: %s", "Assert failed");
4423 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4980);
4424 exit(1);
4425 }
4426 var_pvisibilitynode4 = var_nodearraylist3;
4427 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4428 cltype19 = type_nullable_parser_nodes__AVisibility.color;
4429 idtype20 = type_nullable_parser_nodes__AVisibility.id;
4430 if(var_pvisibilitynode4 == NULL) {
4431 var18 = 1;
4432 } else {
4433 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
4434 var18 = 0;
4435 } else {
4436 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
4437 }
4438 }
4439 if (!var18) {
4440 fprintf(stderr, "Runtime error: %s", "Assert failed");
4441 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4982);
4442 exit(1);
4443 }
4444 var_pclasskindnode5 = var_nodearraylist4;
4445 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4446 cltype22 = type_nullable_parser_nodes__AClasskind.color;
4447 idtype23 = type_nullable_parser_nodes__AClasskind.id;
4448 if(var_pclasskindnode5 == NULL) {
4449 var21 = 1;
4450 } else {
4451 if(cltype22 >= var_pclasskindnode5->type->table_size) {
4452 var21 = 0;
4453 } else {
4454 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
4455 }
4456 }
4457 if (!var21) {
4458 fprintf(stderr, "Runtime error: %s", "Assert failed");
4459 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4984);
4460 exit(1);
4461 }
4462 var_tclassidnode6 = var_nodearraylist7;
4463 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4464 cltype25 = type_nullable_parser_nodes__TClassid.color;
4465 idtype26 = type_nullable_parser_nodes__TClassid.id;
4466 if(var_tclassidnode6 == NULL) {
4467 var24 = 1;
4468 } else {
4469 if(cltype25 >= var_tclassidnode6->type->table_size) {
4470 var24 = 0;
4471 } else {
4472 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
4473 }
4474 }
4475 if (!var24) {
4476 fprintf(stderr, "Runtime error: %s", "Assert failed");
4477 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4986);
4478 exit(1);
4479 }
4480 var27 = NEW_array__Array(&type_array__Arraykernel__Object);
4481 ((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on <var27:Array[Object]>*/;
4482 CHECK_NEW_array__Array(var27);
4483 var_listnode12 = var27;
4484 var_listnode11 = var_nodearraylist8;
4485 /* <var_listnode11:nullable Object> isa Array[Object] */
4486 cltype29 = type_array__Arraykernel__Object.color;
4487 idtype30 = type_array__Arraykernel__Object.id;
4488 if(var_listnode11 == NULL) {
4489 var28 = 0;
4490 } else {
4491 if(cltype29 >= var_listnode11->type->table_size) {
4492 var28 = 0;
4493 } else {
4494 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
4495 }
4496 }
4497 if (!var28) {
4498 fprintf(stderr, "Runtime error: %s", "Assert failed");
4499 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4989);
4500 exit(1);
4501 }
4502 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction94>*/;
4503 var_listnode12 = var31;
4504 var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4505 var33 = NULL;
4506 var34 = NULL;
4507 var35 = NULL;
4508 ((void (*)(val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var32, var33, var34, var_listnode12, var35) /* init_aannotations on <var32:AAnnotations>*/;
4509 CHECK_NEW_parser_nodes__AAnnotations(var32);
4510 var_pannotationsnode8 = var32;
4511 var_tkwendnode17 = var_nodearraylist10;
4512 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
4513 cltype37 = type_nullable_parser_nodes__TKwend.color;
4514 idtype38 = type_nullable_parser_nodes__TKwend.id;
4515 if(var_tkwendnode17 == NULL) {
4516 var36 = 1;
4517 } else {
4518 if(cltype37 >= var_tkwendnode17->type->table_size) {
4519 var36 = 0;
4520 } else {
4521 var36 = var_tkwendnode17->type->type_table[cltype37] == idtype38;
4522 }
4523 }
4524 if (!var36) {
4525 fprintf(stderr, "Runtime error: %s", "Assert failed");
4526 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 4998);
4527 exit(1);
4528 }
4529 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4530 var40 = NULL;
4531 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var40, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var39:AStdClassdef>*/;
4532 CHECK_NEW_parser_nodes__AStdClassdef(var39);
4533 var_pclassdefnode1 = var39;
4534 var_node_list = var_pclassdefnode1;
4535 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction94> */
4536 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
4537 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
4538 RET_LABEL:;
4539 }
4540 /* method parser#ReduceAction94#action for (self: Object, Parser) */
4541 void VIRTUAL_parser__ReduceAction94__action(val* self, val* p0) {
4542 parser__ReduceAction94__action(self, p0);
4543 RET_LABEL:;
4544 }
4545 /* method parser#ReduceAction95#action for (self: ReduceAction95, Parser) */
4546 void parser__ReduceAction95__action(val* self, val* p0) {
4547 val* var_p /* var p: Parser */;
4548 val* var /* : null */;
4549 val* var_node_list /* var node_list: nullable Object */;
4550 val* var1 /* : nullable Object */;
4551 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4552 val* var2 /* : nullable Object */;
4553 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4554 val* var3 /* : nullable Object */;
4555 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4556 val* var4 /* : nullable Object */;
4557 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4558 val* var5 /* : nullable Object */;
4559 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4560 val* var6 /* : nullable Object */;
4561 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4562 val* var7 /* : nullable Object */;
4563 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4564 val* var8 /* : nullable Object */;
4565 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4566 val* var9 /* : nullable Object */;
4567 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4568 val* var10 /* : nullable Object */;
4569 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4570 val* var11 /* : nullable Object */;
4571 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4572 val* var12 /* : Array[Object] */;
4573 val* var_listnode7 /* var listnode7: Array[Object] */;
4574 val* var13 /* : Array[Object] */;
4575 val* var_listnode15 /* var listnode15: Array[Object] */;
4576 val* var14 /* : Array[Object] */;
4577 val* var_listnode16 /* var listnode16: Array[Object] */;
4578 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4579 short int var15 /* : Bool */;
4580 int cltype;
4581 int idtype;
4582 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4583 short int var16 /* : Bool */;
4584 int cltype17;
4585 int idtype18;
4586 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4587 short int var19 /* : Bool */;
4588 int cltype20;
4589 int idtype21;
4590 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4591 short int var22 /* : Bool */;
4592 int cltype23;
4593 int idtype24;
4594 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4595 short int var25 /* : Bool */;
4596 int cltype26;
4597 int idtype27;
4598 val* var28 /* : Array[Object] */;
4599 val* var_listnode12 /* var listnode12: Array[Object] */;
4600 val* var_listnode11 /* var listnode11: nullable Object */;
4601 short int var29 /* : Bool */;
4602 int cltype30;
4603 int idtype31;
4604 val* var32 /* : Array[Object] */;
4605 val* var33 /* : AAnnotations */;
4606 val* var34 /* : null */;
4607 val* var35 /* : null */;
4608 val* var36 /* : null */;
4609 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
4610 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
4611 short int var37 /* : Bool */;
4612 int cltype38;
4613 int idtype39;
4614 val* var40 /* : AStdClassdef */;
4615 val* var41 /* : null */;
4616 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4617 long var42 /* : Int */;
4618 long var43 /* : Int */;
4619 var_p = p0;
4620 var = NULL;
4621 var_node_list = var;
4622 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4623 var_nodearraylist11 = var1;
4624 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4625 var_nodearraylist10 = var2;
4626 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4627 var_nodearraylist9 = var3;
4628 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4629 var_nodearraylist8 = var4;
4630 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4631 var_nodearraylist7 = var5;
4632 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4633 var_nodearraylist6 = var6;
4634 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4635 var_nodearraylist5 = var7;
4636 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4637 var_nodearraylist4 = var8;
4638 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4639 var_nodearraylist3 = var9;
4640 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4641 var_nodearraylist2 = var10;
4642 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4643 var_nodearraylist1 = var11;
4644 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4645 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4646 CHECK_NEW_array__Array(var12);
4647 var_listnode7 = var12;
4648 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4649 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4650 CHECK_NEW_array__Array(var13);
4651 var_listnode15 = var13;
4652 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4653 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4654 CHECK_NEW_array__Array(var14);
4655 var_listnode16 = var14;
4656 var_pdocnode2 = var_nodearraylist1;
4657 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4658 cltype = type_nullable_parser_nodes__ADoc.color;
4659 idtype = type_nullable_parser_nodes__ADoc.id;
4660 if(var_pdocnode2 == NULL) {
4661 var15 = 1;
4662 } else {
4663 if(cltype >= var_pdocnode2->type->table_size) {
4664 var15 = 0;
4665 } else {
4666 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
4667 }
4668 }
4669 if (!var15) {
4670 fprintf(stderr, "Runtime error: %s", "Assert failed");
4671 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5036);
4672 exit(1);
4673 }
4674 var_tkwredefnode3 = var_nodearraylist2;
4675 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4676 cltype17 = type_nullable_parser_nodes__TKwredef.color;
4677 idtype18 = type_nullable_parser_nodes__TKwredef.id;
4678 if(var_tkwredefnode3 == NULL) {
4679 var16 = 1;
4680 } else {
4681 if(cltype17 >= var_tkwredefnode3->type->table_size) {
4682 var16 = 0;
4683 } else {
4684 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
4685 }
4686 }
4687 if (!var16) {
4688 fprintf(stderr, "Runtime error: %s", "Assert failed");
4689 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5038);
4690 exit(1);
4691 }
4692 var_pvisibilitynode4 = var_nodearraylist3;
4693 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4694 cltype20 = type_nullable_parser_nodes__AVisibility.color;
4695 idtype21 = type_nullable_parser_nodes__AVisibility.id;
4696 if(var_pvisibilitynode4 == NULL) {
4697 var19 = 1;
4698 } else {
4699 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
4700 var19 = 0;
4701 } else {
4702 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
4703 }
4704 }
4705 if (!var19) {
4706 fprintf(stderr, "Runtime error: %s", "Assert failed");
4707 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5040);
4708 exit(1);
4709 }
4710 var_pclasskindnode5 = var_nodearraylist4;
4711 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4712 cltype23 = type_nullable_parser_nodes__AClasskind.color;
4713 idtype24 = type_nullable_parser_nodes__AClasskind.id;
4714 if(var_pclasskindnode5 == NULL) {
4715 var22 = 1;
4716 } else {
4717 if(cltype23 >= var_pclasskindnode5->type->table_size) {
4718 var22 = 0;
4719 } else {
4720 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
4721 }
4722 }
4723 if (!var22) {
4724 fprintf(stderr, "Runtime error: %s", "Assert failed");
4725 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5042);
4726 exit(1);
4727 }
4728 var_tclassidnode6 = var_nodearraylist8;
4729 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4730 cltype26 = type_nullable_parser_nodes__TClassid.color;
4731 idtype27 = type_nullable_parser_nodes__TClassid.id;
4732 if(var_tclassidnode6 == NULL) {
4733 var25 = 1;
4734 } else {
4735 if(cltype26 >= var_tclassidnode6->type->table_size) {
4736 var25 = 0;
4737 } else {
4738 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
4739 }
4740 }
4741 if (!var25) {
4742 fprintf(stderr, "Runtime error: %s", "Assert failed");
4743 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5044);
4744 exit(1);
4745 }
4746 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
4747 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
4748 CHECK_NEW_array__Array(var28);
4749 var_listnode12 = var28;
4750 var_listnode11 = var_nodearraylist9;
4751 /* <var_listnode11:nullable Object> isa Array[Object] */
4752 cltype30 = type_array__Arraykernel__Object.color;
4753 idtype31 = type_array__Arraykernel__Object.id;
4754 if(var_listnode11 == NULL) {
4755 var29 = 0;
4756 } else {
4757 if(cltype30 >= var_listnode11->type->table_size) {
4758 var29 = 0;
4759 } else {
4760 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
4761 }
4762 }
4763 if (!var29) {
4764 fprintf(stderr, "Runtime error: %s", "Assert failed");
4765 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5047);
4766 exit(1);
4767 }
4768 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction95>*/;
4769 var_listnode12 = var32;
4770 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4771 var34 = NULL;
4772 var35 = NULL;
4773 var36 = NULL;
4774 ((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>*/;
4775 CHECK_NEW_parser_nodes__AAnnotations(var33);
4776 var_pannotationsnode8 = var33;
4777 var_tkwendnode17 = var_nodearraylist11;
4778 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
4779 cltype38 = type_nullable_parser_nodes__TKwend.color;
4780 idtype39 = type_nullable_parser_nodes__TKwend.id;
4781 if(var_tkwendnode17 == NULL) {
4782 var37 = 1;
4783 } else {
4784 if(cltype38 >= var_tkwendnode17->type->table_size) {
4785 var37 = 0;
4786 } else {
4787 var37 = var_tkwendnode17->type->type_table[cltype38] == idtype39;
4788 }
4789 }
4790 if (!var37) {
4791 fprintf(stderr, "Runtime error: %s", "Assert failed");
4792 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5056);
4793 exit(1);
4794 }
4795 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4796 var41 = NULL;
4797 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var41, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var40:AStdClassdef>*/;
4798 CHECK_NEW_parser_nodes__AStdClassdef(var40);
4799 var_pclassdefnode1 = var40;
4800 var_node_list = var_pclassdefnode1;
4801 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction95> */
4802 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
4803 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
4804 RET_LABEL:;
4805 }
4806 /* method parser#ReduceAction95#action for (self: Object, Parser) */
4807 void VIRTUAL_parser__ReduceAction95__action(val* self, val* p0) {
4808 parser__ReduceAction95__action(self, p0);
4809 RET_LABEL:;
4810 }
4811 /* method parser#ReduceAction97#action for (self: ReduceAction97, Parser) */
4812 void parser__ReduceAction97__action(val* self, val* p0) {
4813 val* var_p /* var p: Parser */;
4814 val* var /* : null */;
4815 val* var_node_list /* var node_list: nullable Object */;
4816 val* var1 /* : nullable Object */;
4817 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4818 val* var2 /* : nullable Object */;
4819 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4820 val* var3 /* : nullable Object */;
4821 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4822 val* var4 /* : nullable Object */;
4823 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4824 val* var5 /* : nullable Object */;
4825 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4826 val* var6 /* : nullable Object */;
4827 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4828 val* var7 /* : nullable Object */;
4829 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4830 val* var8 /* : nullable Object */;
4831 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4832 val* var9 /* : nullable Object */;
4833 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4834 val* var10 /* : Array[Object] */;
4835 val* var_listnode8 /* var listnode8: Array[Object] */;
4836 val* var11 /* : Array[Object] */;
4837 val* var_listnode16 /* var listnode16: Array[Object] */;
4838 val* var12 /* : Array[Object] */;
4839 val* var_listnode17 /* var listnode17: Array[Object] */;
4840 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4841 short int var13 /* : Bool */;
4842 int cltype;
4843 int idtype;
4844 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4845 short int var14 /* : Bool */;
4846 int cltype15;
4847 int idtype16;
4848 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4849 short int var17 /* : Bool */;
4850 int cltype18;
4851 int idtype19;
4852 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4853 short int var20 /* : Bool */;
4854 int cltype21;
4855 int idtype22;
4856 val* var_listnode7 /* var listnode7: nullable Object */;
4857 short int var23 /* : Bool */;
4858 int cltype24;
4859 int idtype25;
4860 val* var26 /* : Array[Object] */;
4861 val* var27 /* : Array[Object] */;
4862 val* var_listnode13 /* var listnode13: Array[Object] */;
4863 val* var_listnode12 /* var listnode12: nullable Object */;
4864 short int var28 /* : Bool */;
4865 int cltype29;
4866 int idtype30;
4867 val* var31 /* : Array[Object] */;
4868 val* var32 /* : AAnnotations */;
4869 val* var33 /* : null */;
4870 val* var34 /* : null */;
4871 val* var35 /* : null */;
4872 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4873 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
4874 short int var36 /* : Bool */;
4875 int cltype37;
4876 int idtype38;
4877 val* var39 /* : AStdClassdef */;
4878 val* var40 /* : null */;
4879 val* var41 /* : null */;
4880 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4881 long var42 /* : Int */;
4882 long var43 /* : Int */;
4883 var_p = p0;
4884 var = NULL;
4885 var_node_list = var;
4886 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4887 var_nodearraylist9 = var1;
4888 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4889 var_nodearraylist8 = var2;
4890 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4891 var_nodearraylist7 = var3;
4892 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4893 var_nodearraylist6 = var4;
4894 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4895 var_nodearraylist5 = var5;
4896 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4897 var_nodearraylist4 = var6;
4898 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4899 var_nodearraylist3 = var7;
4900 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4901 var_nodearraylist2 = var8;
4902 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4903 var_nodearraylist1 = var9;
4904 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
4905 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
4906 CHECK_NEW_array__Array(var10);
4907 var_listnode8 = var10;
4908 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
4909 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
4910 CHECK_NEW_array__Array(var11);
4911 var_listnode16 = var11;
4912 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4913 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4914 CHECK_NEW_array__Array(var12);
4915 var_listnode17 = var12;
4916 var_pdocnode2 = var_nodearraylist1;
4917 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4918 cltype = type_nullable_parser_nodes__ADoc.color;
4919 idtype = type_nullable_parser_nodes__ADoc.id;
4920 if(var_pdocnode2 == NULL) {
4921 var13 = 1;
4922 } else {
4923 if(cltype >= var_pdocnode2->type->table_size) {
4924 var13 = 0;
4925 } else {
4926 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
4927 }
4928 }
4929 if (!var13) {
4930 fprintf(stderr, "Runtime error: %s", "Assert failed");
4931 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5092);
4932 exit(1);
4933 }
4934 var_pvisibilitynode4 = var_nodearraylist2;
4935 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4936 cltype15 = type_nullable_parser_nodes__AVisibility.color;
4937 idtype16 = type_nullable_parser_nodes__AVisibility.id;
4938 if(var_pvisibilitynode4 == NULL) {
4939 var14 = 1;
4940 } else {
4941 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
4942 var14 = 0;
4943 } else {
4944 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
4945 }
4946 }
4947 if (!var14) {
4948 fprintf(stderr, "Runtime error: %s", "Assert failed");
4949 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5094);
4950 exit(1);
4951 }
4952 var_pclasskindnode5 = var_nodearraylist3;
4953 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4954 cltype18 = type_nullable_parser_nodes__AClasskind.color;
4955 idtype19 = type_nullable_parser_nodes__AClasskind.id;
4956 if(var_pclasskindnode5 == NULL) {
4957 var17 = 1;
4958 } else {
4959 if(cltype18 >= var_pclasskindnode5->type->table_size) {
4960 var17 = 0;
4961 } else {
4962 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
4963 }
4964 }
4965 if (!var17) {
4966 fprintf(stderr, "Runtime error: %s", "Assert failed");
4967 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5096);
4968 exit(1);
4969 }
4970 var_tclassidnode6 = var_nodearraylist5;
4971 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4972 cltype21 = type_nullable_parser_nodes__TClassid.color;
4973 idtype22 = type_nullable_parser_nodes__TClassid.id;
4974 if(var_tclassidnode6 == NULL) {
4975 var20 = 1;
4976 } else {
4977 if(cltype21 >= var_tclassidnode6->type->table_size) {
4978 var20 = 0;
4979 } else {
4980 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
4981 }
4982 }
4983 if (!var20) {
4984 fprintf(stderr, "Runtime error: %s", "Assert failed");
4985 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5098);
4986 exit(1);
4987 }
4988 var_listnode7 = var_nodearraylist6;
4989 /* <var_listnode7:nullable Object> isa Array[Object] */
4990 cltype24 = type_array__Arraykernel__Object.color;
4991 idtype25 = type_array__Arraykernel__Object.id;
4992 if(var_listnode7 == NULL) {
4993 var23 = 0;
4994 } else {
4995 if(cltype24 >= var_listnode7->type->table_size) {
4996 var23 = 0;
4997 } else {
4998 var23 = var_listnode7->type->type_table[cltype24] == idtype25;
4999 }
5000 }
5001 if (!var23) {
5002 fprintf(stderr, "Runtime error: %s", "Assert failed");
5003 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5100);
5004 exit(1);
5005 }
5006 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction97>*/;
5007 var_listnode8 = var26;
5008 var27 = NEW_array__Array(&type_array__Arraykernel__Object);
5009 ((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on <var27:Array[Object]>*/;
5010 CHECK_NEW_array__Array(var27);
5011 var_listnode13 = var27;
5012 var_listnode12 = var_nodearraylist7;
5013 /* <var_listnode12:nullable Object> isa Array[Object] */
5014 cltype29 = type_array__Arraykernel__Object.color;
5015 idtype30 = type_array__Arraykernel__Object.id;
5016 if(var_listnode12 == NULL) {
5017 var28 = 0;
5018 } else {
5019 if(cltype29 >= var_listnode12->type->table_size) {
5020 var28 = 0;
5021 } else {
5022 var28 = var_listnode12->type->type_table[cltype29] == idtype30;
5023 }
5024 }
5025 if (!var28) {
5026 fprintf(stderr, "Runtime error: %s", "Assert failed");
5027 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5104);
5028 exit(1);
5029 }
5030 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction97>*/;
5031 var_listnode13 = var31;
5032 var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5033 var33 = NULL;
5034 var34 = NULL;
5035 var35 = NULL;
5036 ((void (*)(val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var32, var33, var34, var_listnode13, var35) /* init_aannotations on <var32:AAnnotations>*/;
5037 CHECK_NEW_parser_nodes__AAnnotations(var32);
5038 var_pannotationsnode9 = var32;
5039 var_tkwendnode18 = var_nodearraylist9;
5040 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
5041 cltype37 = type_nullable_parser_nodes__TKwend.color;
5042 idtype38 = type_nullable_parser_nodes__TKwend.id;
5043 if(var_tkwendnode18 == NULL) {
5044 var36 = 1;
5045 } else {
5046 if(cltype37 >= var_tkwendnode18->type->table_size) {
5047 var36 = 0;
5048 } else {
5049 var36 = var_tkwendnode18->type->type_table[cltype37] == idtype38;
5050 }
5051 }
5052 if (!var36) {
5053 fprintf(stderr, "Runtime error: %s", "Assert failed");
5054 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5113);
5055 exit(1);
5056 }
5057 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5058 var40 = NULL;
5059 var41 = NULL;
5060 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var40, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var41, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var39:AStdClassdef>*/;
5061 CHECK_NEW_parser_nodes__AStdClassdef(var39);
5062 var_pclassdefnode1 = var39;
5063 var_node_list = var_pclassdefnode1;
5064 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction97> */
5065 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
5066 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
5067 RET_LABEL:;
5068 }
5069 /* method parser#ReduceAction97#action for (self: Object, Parser) */
5070 void VIRTUAL_parser__ReduceAction97__action(val* self, val* p0) {
5071 parser__ReduceAction97__action(self, p0);
5072 RET_LABEL:;
5073 }
5074 /* method parser#ReduceAction98#action for (self: ReduceAction98, Parser) */
5075 void parser__ReduceAction98__action(val* self, val* p0) {
5076 val* var_p /* var p: Parser */;
5077 val* var /* : null */;
5078 val* var_node_list /* var node_list: nullable Object */;
5079 val* var1 /* : nullable Object */;
5080 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5081 val* var2 /* : nullable Object */;
5082 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5083 val* var3 /* : nullable Object */;
5084 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5085 val* var4 /* : nullable Object */;
5086 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5087 val* var5 /* : nullable Object */;
5088 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5089 val* var6 /* : nullable Object */;
5090 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5091 val* var7 /* : nullable Object */;
5092 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5093 val* var8 /* : nullable Object */;
5094 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5095 val* var9 /* : nullable Object */;
5096 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5097 val* var10 /* : nullable Object */;
5098 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5099 val* var11 /* : Array[Object] */;
5100 val* var_listnode8 /* var listnode8: Array[Object] */;
5101 val* var12 /* : Array[Object] */;
5102 val* var_listnode16 /* var listnode16: Array[Object] */;
5103 val* var13 /* : Array[Object] */;
5104 val* var_listnode17 /* var listnode17: Array[Object] */;
5105 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5106 short int var14 /* : Bool */;
5107 int cltype;
5108 int idtype;
5109 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5110 short int var15 /* : Bool */;
5111 int cltype16;
5112 int idtype17;
5113 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5114 short int var18 /* : Bool */;
5115 int cltype19;
5116 int idtype20;
5117 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5118 short int var21 /* : Bool */;
5119 int cltype22;
5120 int idtype23;
5121 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5122 short int var24 /* : Bool */;
5123 int cltype25;
5124 int idtype26;
5125 val* var_listnode7 /* var listnode7: nullable Object */;
5126 short int var27 /* : Bool */;
5127 int cltype28;
5128 int idtype29;
5129 val* var30 /* : Array[Object] */;
5130 val* var31 /* : Array[Object] */;
5131 val* var_listnode13 /* var listnode13: Array[Object] */;
5132 val* var_listnode12 /* var listnode12: nullable Object */;
5133 short int var32 /* : Bool */;
5134 int cltype33;
5135 int idtype34;
5136 val* var35 /* : Array[Object] */;
5137 val* var36 /* : AAnnotations */;
5138 val* var37 /* : null */;
5139 val* var38 /* : null */;
5140 val* var39 /* : null */;
5141 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5142 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5143 short int var40 /* : Bool */;
5144 int cltype41;
5145 int idtype42;
5146 val* var43 /* : AStdClassdef */;
5147 val* var44 /* : null */;
5148 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5149 long var45 /* : Int */;
5150 long var46 /* : Int */;
5151 var_p = p0;
5152 var = NULL;
5153 var_node_list = var;
5154 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5155 var_nodearraylist10 = var1;
5156 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5157 var_nodearraylist9 = var2;
5158 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5159 var_nodearraylist8 = var3;
5160 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5161 var_nodearraylist7 = var4;
5162 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5163 var_nodearraylist6 = var5;
5164 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5165 var_nodearraylist5 = var6;
5166 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5167 var_nodearraylist4 = var7;
5168 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5169 var_nodearraylist3 = var8;
5170 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5171 var_nodearraylist2 = var9;
5172 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5173 var_nodearraylist1 = var10;
5174 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
5175 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
5176 CHECK_NEW_array__Array(var11);
5177 var_listnode8 = var11;
5178 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5179 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5180 CHECK_NEW_array__Array(var12);
5181 var_listnode16 = var12;
5182 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5183 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5184 CHECK_NEW_array__Array(var13);
5185 var_listnode17 = var13;
5186 var_pdocnode2 = var_nodearraylist1;
5187 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5188 cltype = type_nullable_parser_nodes__ADoc.color;
5189 idtype = type_nullable_parser_nodes__ADoc.id;
5190 if(var_pdocnode2 == NULL) {
5191 var14 = 1;
5192 } else {
5193 if(cltype >= var_pdocnode2->type->table_size) {
5194 var14 = 0;
5195 } else {
5196 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
5197 }
5198 }
5199 if (!var14) {
5200 fprintf(stderr, "Runtime error: %s", "Assert failed");
5201 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5150);
5202 exit(1);
5203 }
5204 var_tkwredefnode3 = var_nodearraylist2;
5205 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5206 cltype16 = type_nullable_parser_nodes__TKwredef.color;
5207 idtype17 = type_nullable_parser_nodes__TKwredef.id;
5208 if(var_tkwredefnode3 == NULL) {
5209 var15 = 1;
5210 } else {
5211 if(cltype16 >= var_tkwredefnode3->type->table_size) {
5212 var15 = 0;
5213 } else {
5214 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
5215 }
5216 }
5217 if (!var15) {
5218 fprintf(stderr, "Runtime error: %s", "Assert failed");
5219 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5152);
5220 exit(1);
5221 }
5222 var_pvisibilitynode4 = var_nodearraylist3;
5223 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5224 cltype19 = type_nullable_parser_nodes__AVisibility.color;
5225 idtype20 = type_nullable_parser_nodes__AVisibility.id;
5226 if(var_pvisibilitynode4 == NULL) {
5227 var18 = 1;
5228 } else {
5229 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
5230 var18 = 0;
5231 } else {
5232 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
5233 }
5234 }
5235 if (!var18) {
5236 fprintf(stderr, "Runtime error: %s", "Assert failed");
5237 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5154);
5238 exit(1);
5239 }
5240 var_pclasskindnode5 = var_nodearraylist4;
5241 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5242 cltype22 = type_nullable_parser_nodes__AClasskind.color;
5243 idtype23 = type_nullable_parser_nodes__AClasskind.id;
5244 if(var_pclasskindnode5 == NULL) {
5245 var21 = 1;
5246 } else {
5247 if(cltype22 >= var_pclasskindnode5->type->table_size) {
5248 var21 = 0;
5249 } else {
5250 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
5251 }
5252 }
5253 if (!var21) {
5254 fprintf(stderr, "Runtime error: %s", "Assert failed");
5255 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5156);
5256 exit(1);
5257 }
5258 var_tclassidnode6 = var_nodearraylist6;
5259 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5260 cltype25 = type_nullable_parser_nodes__TClassid.color;
5261 idtype26 = type_nullable_parser_nodes__TClassid.id;
5262 if(var_tclassidnode6 == NULL) {
5263 var24 = 1;
5264 } else {
5265 if(cltype25 >= var_tclassidnode6->type->table_size) {
5266 var24 = 0;
5267 } else {
5268 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
5269 }
5270 }
5271 if (!var24) {
5272 fprintf(stderr, "Runtime error: %s", "Assert failed");
5273 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5158);
5274 exit(1);
5275 }
5276 var_listnode7 = var_nodearraylist7;
5277 /* <var_listnode7:nullable Object> isa Array[Object] */
5278 cltype28 = type_array__Arraykernel__Object.color;
5279 idtype29 = type_array__Arraykernel__Object.id;
5280 if(var_listnode7 == NULL) {
5281 var27 = 0;
5282 } else {
5283 if(cltype28 >= var_listnode7->type->table_size) {
5284 var27 = 0;
5285 } else {
5286 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
5287 }
5288 }
5289 if (!var27) {
5290 fprintf(stderr, "Runtime error: %s", "Assert failed");
5291 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5160);
5292 exit(1);
5293 }
5294 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction98>*/;
5295 var_listnode8 = var30;
5296 var31 = NEW_array__Array(&type_array__Arraykernel__Object);
5297 ((void (*)(val*))(var31->class->vft[COLOR_array__Array__init]))(var31) /* init on <var31:Array[Object]>*/;
5298 CHECK_NEW_array__Array(var31);
5299 var_listnode13 = var31;
5300 var_listnode12 = var_nodearraylist8;
5301 /* <var_listnode12:nullable Object> isa Array[Object] */
5302 cltype33 = type_array__Arraykernel__Object.color;
5303 idtype34 = type_array__Arraykernel__Object.id;
5304 if(var_listnode12 == NULL) {
5305 var32 = 0;
5306 } else {
5307 if(cltype33 >= var_listnode12->type->table_size) {
5308 var32 = 0;
5309 } else {
5310 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
5311 }
5312 }
5313 if (!var32) {
5314 fprintf(stderr, "Runtime error: %s", "Assert failed");
5315 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5164);
5316 exit(1);
5317 }
5318 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction98>*/;
5319 var_listnode13 = var35;
5320 var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5321 var37 = NULL;
5322 var38 = NULL;
5323 var39 = NULL;
5324 ((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>*/;
5325 CHECK_NEW_parser_nodes__AAnnotations(var36);
5326 var_pannotationsnode9 = var36;
5327 var_tkwendnode18 = var_nodearraylist10;
5328 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
5329 cltype41 = type_nullable_parser_nodes__TKwend.color;
5330 idtype42 = type_nullable_parser_nodes__TKwend.id;
5331 if(var_tkwendnode18 == NULL) {
5332 var40 = 1;
5333 } else {
5334 if(cltype41 >= var_tkwendnode18->type->table_size) {
5335 var40 = 0;
5336 } else {
5337 var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42;
5338 }
5339 }
5340 if (!var40) {
5341 fprintf(stderr, "Runtime error: %s", "Assert failed");
5342 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5173);
5343 exit(1);
5344 }
5345 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5346 var44 = NULL;
5347 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var44, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var43:AStdClassdef>*/;
5348 CHECK_NEW_parser_nodes__AStdClassdef(var43);
5349 var_pclassdefnode1 = var43;
5350 var_node_list = var_pclassdefnode1;
5351 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction98> */
5352 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
5353 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
5354 RET_LABEL:;
5355 }
5356 /* method parser#ReduceAction98#action for (self: Object, Parser) */
5357 void VIRTUAL_parser__ReduceAction98__action(val* self, val* p0) {
5358 parser__ReduceAction98__action(self, p0);
5359 RET_LABEL:;
5360 }
5361 /* method parser#ReduceAction99#action for (self: ReduceAction99, Parser) */
5362 void parser__ReduceAction99__action(val* self, val* p0) {
5363 val* var_p /* var p: Parser */;
5364 val* var /* : null */;
5365 val* var_node_list /* var node_list: nullable Object */;
5366 val* var1 /* : nullable Object */;
5367 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5368 val* var2 /* : nullable Object */;
5369 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5370 val* var3 /* : nullable Object */;
5371 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5372 val* var4 /* : nullable Object */;
5373 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5374 val* var5 /* : nullable Object */;
5375 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5376 val* var6 /* : nullable Object */;
5377 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5378 val* var7 /* : nullable Object */;
5379 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5380 val* var8 /* : nullable Object */;
5381 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5382 val* var9 /* : nullable Object */;
5383 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5384 val* var10 /* : nullable Object */;
5385 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5386 val* var11 /* : Array[Object] */;
5387 val* var_listnode8 /* var listnode8: Array[Object] */;
5388 val* var12 /* : Array[Object] */;
5389 val* var_listnode16 /* var listnode16: Array[Object] */;
5390 val* var13 /* : Array[Object] */;
5391 val* var_listnode17 /* var listnode17: Array[Object] */;
5392 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5393 short int var14 /* : Bool */;
5394 int cltype;
5395 int idtype;
5396 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5397 short int var15 /* : Bool */;
5398 int cltype16;
5399 int idtype17;
5400 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5401 short int var18 /* : Bool */;
5402 int cltype19;
5403 int idtype20;
5404 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5405 short int var21 /* : Bool */;
5406 int cltype22;
5407 int idtype23;
5408 val* var_listnode7 /* var listnode7: nullable Object */;
5409 short int var24 /* : Bool */;
5410 int cltype25;
5411 int idtype26;
5412 val* var27 /* : Array[Object] */;
5413 val* var28 /* : Array[Object] */;
5414 val* var_listnode13 /* var listnode13: Array[Object] */;
5415 val* var_listnode12 /* var listnode12: nullable Object */;
5416 short int var29 /* : Bool */;
5417 int cltype30;
5418 int idtype31;
5419 val* var32 /* : Array[Object] */;
5420 val* var33 /* : AAnnotations */;
5421 val* var34 /* : null */;
5422 val* var35 /* : null */;
5423 val* var36 /* : null */;
5424 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5425 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5426 short int var37 /* : Bool */;
5427 int cltype38;
5428 int idtype39;
5429 val* var40 /* : AStdClassdef */;
5430 val* var41 /* : null */;
5431 val* var42 /* : null */;
5432 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5433 long var43 /* : Int */;
5434 long var44 /* : Int */;
5435 var_p = p0;
5436 var = NULL;
5437 var_node_list = var;
5438 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5439 var_nodearraylist10 = var1;
5440 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5441 var_nodearraylist9 = var2;
5442 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5443 var_nodearraylist8 = var3;
5444 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5445 var_nodearraylist7 = var4;
5446 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5447 var_nodearraylist6 = var5;
5448 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5449 var_nodearraylist5 = var6;
5450 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5451 var_nodearraylist4 = var7;
5452 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5453 var_nodearraylist3 = var8;
5454 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5455 var_nodearraylist2 = var9;
5456 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5457 var_nodearraylist1 = var10;
5458 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
5459 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
5460 CHECK_NEW_array__Array(var11);
5461 var_listnode8 = var11;
5462 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5463 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5464 CHECK_NEW_array__Array(var12);
5465 var_listnode16 = var12;
5466 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5467 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5468 CHECK_NEW_array__Array(var13);
5469 var_listnode17 = var13;
5470 var_pdocnode2 = var_nodearraylist1;
5471 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5472 cltype = type_nullable_parser_nodes__ADoc.color;
5473 idtype = type_nullable_parser_nodes__ADoc.id;
5474 if(var_pdocnode2 == NULL) {
5475 var14 = 1;
5476 } else {
5477 if(cltype >= var_pdocnode2->type->table_size) {
5478 var14 = 0;
5479 } else {
5480 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
5481 }
5482 }
5483 if (!var14) {
5484 fprintf(stderr, "Runtime error: %s", "Assert failed");
5485 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5210);
5486 exit(1);
5487 }
5488 var_pvisibilitynode4 = var_nodearraylist2;
5489 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5490 cltype16 = type_nullable_parser_nodes__AVisibility.color;
5491 idtype17 = type_nullable_parser_nodes__AVisibility.id;
5492 if(var_pvisibilitynode4 == NULL) {
5493 var15 = 1;
5494 } else {
5495 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
5496 var15 = 0;
5497 } else {
5498 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
5499 }
5500 }
5501 if (!var15) {
5502 fprintf(stderr, "Runtime error: %s", "Assert failed");
5503 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5212);
5504 exit(1);
5505 }
5506 var_pclasskindnode5 = var_nodearraylist3;
5507 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5508 cltype19 = type_nullable_parser_nodes__AClasskind.color;
5509 idtype20 = type_nullable_parser_nodes__AClasskind.id;
5510 if(var_pclasskindnode5 == NULL) {
5511 var18 = 1;
5512 } else {
5513 if(cltype19 >= var_pclasskindnode5->type->table_size) {
5514 var18 = 0;
5515 } else {
5516 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
5517 }
5518 }
5519 if (!var18) {
5520 fprintf(stderr, "Runtime error: %s", "Assert failed");
5521 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5214);
5522 exit(1);
5523 }
5524 var_tclassidnode6 = var_nodearraylist6;
5525 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5526 cltype22 = type_nullable_parser_nodes__TClassid.color;
5527 idtype23 = type_nullable_parser_nodes__TClassid.id;
5528 if(var_tclassidnode6 == NULL) {
5529 var21 = 1;
5530 } else {
5531 if(cltype22 >= var_tclassidnode6->type->table_size) {
5532 var21 = 0;
5533 } else {
5534 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
5535 }
5536 }
5537 if (!var21) {
5538 fprintf(stderr, "Runtime error: %s", "Assert failed");
5539 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5216);
5540 exit(1);
5541 }
5542 var_listnode7 = var_nodearraylist7;
5543 /* <var_listnode7:nullable Object> isa Array[Object] */
5544 cltype25 = type_array__Arraykernel__Object.color;
5545 idtype26 = type_array__Arraykernel__Object.id;
5546 if(var_listnode7 == NULL) {
5547 var24 = 0;
5548 } else {
5549 if(cltype25 >= var_listnode7->type->table_size) {
5550 var24 = 0;
5551 } else {
5552 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
5553 }
5554 }
5555 if (!var24) {
5556 fprintf(stderr, "Runtime error: %s", "Assert failed");
5557 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5218);
5558 exit(1);
5559 }
5560 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction99>*/;
5561 var_listnode8 = var27;
5562 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
5563 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
5564 CHECK_NEW_array__Array(var28);
5565 var_listnode13 = var28;
5566 var_listnode12 = var_nodearraylist8;
5567 /* <var_listnode12:nullable Object> isa Array[Object] */
5568 cltype30 = type_array__Arraykernel__Object.color;
5569 idtype31 = type_array__Arraykernel__Object.id;
5570 if(var_listnode12 == NULL) {
5571 var29 = 0;
5572 } else {
5573 if(cltype30 >= var_listnode12->type->table_size) {
5574 var29 = 0;
5575 } else {
5576 var29 = var_listnode12->type->type_table[cltype30] == idtype31;
5577 }
5578 }
5579 if (!var29) {
5580 fprintf(stderr, "Runtime error: %s", "Assert failed");
5581 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5222);
5582 exit(1);
5583 }
5584 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction99>*/;
5585 var_listnode13 = var32;
5586 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5587 var34 = NULL;
5588 var35 = NULL;
5589 var36 = NULL;
5590 ((void (*)(val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var33, var34, var35, var_listnode13, var36) /* init_aannotations on <var33:AAnnotations>*/;
5591 CHECK_NEW_parser_nodes__AAnnotations(var33);
5592 var_pannotationsnode9 = var33;
5593 var_tkwendnode18 = var_nodearraylist10;
5594 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
5595 cltype38 = type_nullable_parser_nodes__TKwend.color;
5596 idtype39 = type_nullable_parser_nodes__TKwend.id;
5597 if(var_tkwendnode18 == NULL) {
5598 var37 = 1;
5599 } else {
5600 if(cltype38 >= var_tkwendnode18->type->table_size) {
5601 var37 = 0;
5602 } else {
5603 var37 = var_tkwendnode18->type->type_table[cltype38] == idtype39;
5604 }
5605 }
5606 if (!var37) {
5607 fprintf(stderr, "Runtime error: %s", "Assert failed");
5608 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5231);
5609 exit(1);
5610 }
5611 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5612 var41 = NULL;
5613 var42 = NULL;
5614 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var41, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var42, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var40:AStdClassdef>*/;
5615 CHECK_NEW_parser_nodes__AStdClassdef(var40);
5616 var_pclassdefnode1 = var40;
5617 var_node_list = var_pclassdefnode1;
5618 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction99> */
5619 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
5620 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
5621 RET_LABEL:;
5622 }
5623 /* method parser#ReduceAction99#action for (self: Object, Parser) */
5624 void VIRTUAL_parser__ReduceAction99__action(val* self, val* p0) {
5625 parser__ReduceAction99__action(self, p0);
5626 RET_LABEL:;
5627 }
5628 /* method parser#ReduceAction100#action for (self: ReduceAction100, Parser) */
5629 void parser__ReduceAction100__action(val* self, val* p0) {
5630 val* var_p /* var p: Parser */;
5631 val* var /* : null */;
5632 val* var_node_list /* var node_list: nullable Object */;
5633 val* var1 /* : nullable Object */;
5634 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5635 val* var2 /* : nullable Object */;
5636 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5637 val* var3 /* : nullable Object */;
5638 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5639 val* var4 /* : nullable Object */;
5640 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5641 val* var5 /* : nullable Object */;
5642 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5643 val* var6 /* : nullable Object */;
5644 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5645 val* var7 /* : nullable Object */;
5646 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5647 val* var8 /* : nullable Object */;
5648 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5649 val* var9 /* : nullable Object */;
5650 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5651 val* var10 /* : nullable Object */;
5652 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5653 val* var11 /* : nullable Object */;
5654 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5655 val* var12 /* : Array[Object] */;
5656 val* var_listnode8 /* var listnode8: Array[Object] */;
5657 val* var13 /* : Array[Object] */;
5658 val* var_listnode16 /* var listnode16: Array[Object] */;
5659 val* var14 /* : Array[Object] */;
5660 val* var_listnode17 /* var listnode17: Array[Object] */;
5661 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5662 short int var15 /* : Bool */;
5663 int cltype;
5664 int idtype;
5665 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5666 short int var16 /* : Bool */;
5667 int cltype17;
5668 int idtype18;
5669 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5670 short int var19 /* : Bool */;
5671 int cltype20;
5672 int idtype21;
5673 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5674 short int var22 /* : Bool */;
5675 int cltype23;
5676 int idtype24;
5677 val* var_listnode7 /* var listnode7: nullable Object */;
5678 short int var25 /* : Bool */;
5679 int cltype26;
5680 int idtype27;
5681 val* var28 /* : Array[Object] */;
5682 val* var29 /* : Array[Object] */;
5683 val* var_listnode13 /* var listnode13: Array[Object] */;
5684 val* var_listnode12 /* var listnode12: nullable Object */;
5685 short int var30 /* : Bool */;
5686 int cltype31;
5687 int idtype32;
5688 val* var33 /* : Array[Object] */;
5689 val* var34 /* : AAnnotations */;
5690 val* var35 /* : null */;
5691 val* var36 /* : null */;
5692 val* var37 /* : null */;
5693 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5694 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5695 short int var38 /* : Bool */;
5696 int cltype39;
5697 int idtype40;
5698 val* var41 /* : AStdClassdef */;
5699 val* var42 /* : null */;
5700 val* var43 /* : null */;
5701 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5702 long var44 /* : Int */;
5703 long var45 /* : Int */;
5704 var_p = p0;
5705 var = NULL;
5706 var_node_list = var;
5707 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5708 var_nodearraylist11 = var1;
5709 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5710 var_nodearraylist10 = var2;
5711 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5712 var_nodearraylist9 = var3;
5713 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5714 var_nodearraylist8 = var4;
5715 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5716 var_nodearraylist7 = var5;
5717 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5718 var_nodearraylist6 = var6;
5719 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5720 var_nodearraylist5 = var7;
5721 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5722 var_nodearraylist4 = var8;
5723 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5724 var_nodearraylist3 = var9;
5725 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5726 var_nodearraylist2 = var10;
5727 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5728 var_nodearraylist1 = var11;
5729 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5730 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5731 CHECK_NEW_array__Array(var12);
5732 var_listnode8 = var12;
5733 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5734 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5735 CHECK_NEW_array__Array(var13);
5736 var_listnode16 = var13;
5737 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5738 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5739 CHECK_NEW_array__Array(var14);
5740 var_listnode17 = var14;
5741 var_pdocnode2 = var_nodearraylist1;
5742 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5743 cltype = type_nullable_parser_nodes__ADoc.color;
5744 idtype = type_nullable_parser_nodes__ADoc.id;
5745 if(var_pdocnode2 == NULL) {
5746 var15 = 1;
5747 } else {
5748 if(cltype >= var_pdocnode2->type->table_size) {
5749 var15 = 0;
5750 } else {
5751 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
5752 }
5753 }
5754 if (!var15) {
5755 fprintf(stderr, "Runtime error: %s", "Assert failed");
5756 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5269);
5757 exit(1);
5758 }
5759 var_pvisibilitynode4 = var_nodearraylist2;
5760 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5761 cltype17 = type_nullable_parser_nodes__AVisibility.color;
5762 idtype18 = type_nullable_parser_nodes__AVisibility.id;
5763 if(var_pvisibilitynode4 == NULL) {
5764 var16 = 1;
5765 } else {
5766 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
5767 var16 = 0;
5768 } else {
5769 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
5770 }
5771 }
5772 if (!var16) {
5773 fprintf(stderr, "Runtime error: %s", "Assert failed");
5774 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5271);
5775 exit(1);
5776 }
5777 var_pclasskindnode5 = var_nodearraylist3;
5778 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5779 cltype20 = type_nullable_parser_nodes__AClasskind.color;
5780 idtype21 = type_nullable_parser_nodes__AClasskind.id;
5781 if(var_pclasskindnode5 == NULL) {
5782 var19 = 1;
5783 } else {
5784 if(cltype20 >= var_pclasskindnode5->type->table_size) {
5785 var19 = 0;
5786 } else {
5787 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
5788 }
5789 }
5790 if (!var19) {
5791 fprintf(stderr, "Runtime error: %s", "Assert failed");
5792 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5273);
5793 exit(1);
5794 }
5795 var_tclassidnode6 = var_nodearraylist7;
5796 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5797 cltype23 = type_nullable_parser_nodes__TClassid.color;
5798 idtype24 = type_nullable_parser_nodes__TClassid.id;
5799 if(var_tclassidnode6 == NULL) {
5800 var22 = 1;
5801 } else {
5802 if(cltype23 >= var_tclassidnode6->type->table_size) {
5803 var22 = 0;
5804 } else {
5805 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
5806 }
5807 }
5808 if (!var22) {
5809 fprintf(stderr, "Runtime error: %s", "Assert failed");
5810 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5275);
5811 exit(1);
5812 }
5813 var_listnode7 = var_nodearraylist8;
5814 /* <var_listnode7:nullable Object> isa Array[Object] */
5815 cltype26 = type_array__Arraykernel__Object.color;
5816 idtype27 = type_array__Arraykernel__Object.id;
5817 if(var_listnode7 == NULL) {
5818 var25 = 0;
5819 } else {
5820 if(cltype26 >= var_listnode7->type->table_size) {
5821 var25 = 0;
5822 } else {
5823 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
5824 }
5825 }
5826 if (!var25) {
5827 fprintf(stderr, "Runtime error: %s", "Assert failed");
5828 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5277);
5829 exit(1);
5830 }
5831 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction100>*/;
5832 var_listnode8 = var28;
5833 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
5834 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
5835 CHECK_NEW_array__Array(var29);
5836 var_listnode13 = var29;
5837 var_listnode12 = var_nodearraylist9;
5838 /* <var_listnode12:nullable Object> isa Array[Object] */
5839 cltype31 = type_array__Arraykernel__Object.color;
5840 idtype32 = type_array__Arraykernel__Object.id;
5841 if(var_listnode12 == NULL) {
5842 var30 = 0;
5843 } else {
5844 if(cltype31 >= var_listnode12->type->table_size) {
5845 var30 = 0;
5846 } else {
5847 var30 = var_listnode12->type->type_table[cltype31] == idtype32;
5848 }
5849 }
5850 if (!var30) {
5851 fprintf(stderr, "Runtime error: %s", "Assert failed");
5852 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5281);
5853 exit(1);
5854 }
5855 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction100>*/;
5856 var_listnode13 = var33;
5857 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5858 var35 = NULL;
5859 var36 = NULL;
5860 var37 = NULL;
5861 ((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>*/;
5862 CHECK_NEW_parser_nodes__AAnnotations(var34);
5863 var_pannotationsnode9 = var34;
5864 var_tkwendnode18 = var_nodearraylist11;
5865 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
5866 cltype39 = type_nullable_parser_nodes__TKwend.color;
5867 idtype40 = type_nullable_parser_nodes__TKwend.id;
5868 if(var_tkwendnode18 == NULL) {
5869 var38 = 1;
5870 } else {
5871 if(cltype39 >= var_tkwendnode18->type->table_size) {
5872 var38 = 0;
5873 } else {
5874 var38 = var_tkwendnode18->type->type_table[cltype39] == idtype40;
5875 }
5876 }
5877 if (!var38) {
5878 fprintf(stderr, "Runtime error: %s", "Assert failed");
5879 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5290);
5880 exit(1);
5881 }
5882 var41 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5883 var42 = NULL;
5884 var43 = NULL;
5885 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var41->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var41, var_pdocnode2, var42, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var43, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var41:AStdClassdef>*/;
5886 CHECK_NEW_parser_nodes__AStdClassdef(var41);
5887 var_pclassdefnode1 = var41;
5888 var_node_list = var_pclassdefnode1;
5889 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction100> */
5890 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
5891 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
5892 RET_LABEL:;
5893 }
5894 /* method parser#ReduceAction100#action for (self: Object, Parser) */
5895 void VIRTUAL_parser__ReduceAction100__action(val* self, val* p0) {
5896 parser__ReduceAction100__action(self, p0);
5897 RET_LABEL:;
5898 }
5899 /* method parser#ReduceAction102#action for (self: ReduceAction102, Parser) */
5900 void parser__ReduceAction102__action(val* self, val* p0) {
5901 val* var_p /* var p: Parser */;
5902 val* var /* : null */;
5903 val* var_node_list /* var node_list: nullable Object */;
5904 val* var1 /* : nullable Object */;
5905 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5906 val* var2 /* : nullable Object */;
5907 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5908 val* var3 /* : nullable Object */;
5909 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5910 val* var4 /* : nullable Object */;
5911 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5912 val* var5 /* : nullable Object */;
5913 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5914 val* var6 /* : nullable Object */;
5915 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5916 val* var7 /* : nullable Object */;
5917 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5918 val* var8 /* : nullable Object */;
5919 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5920 val* var9 /* : nullable Object */;
5921 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5922 val* var10 /* : nullable Object */;
5923 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5924 val* var11 /* : nullable Object */;
5925 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5926 val* var12 /* : Array[Object] */;
5927 val* var_listnode8 /* var listnode8: Array[Object] */;
5928 val* var13 /* : Array[Object] */;
5929 val* var_listnode16 /* var listnode16: Array[Object] */;
5930 val* var14 /* : Array[Object] */;
5931 val* var_listnode17 /* var listnode17: Array[Object] */;
5932 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5933 short int var15 /* : Bool */;
5934 int cltype;
5935 int idtype;
5936 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5937 short int var16 /* : Bool */;
5938 int cltype17;
5939 int idtype18;
5940 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5941 short int var19 /* : Bool */;
5942 int cltype20;
5943 int idtype21;
5944 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5945 short int var22 /* : Bool */;
5946 int cltype23;
5947 int idtype24;
5948 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5949 short int var25 /* : Bool */;
5950 int cltype26;
5951 int idtype27;
5952 val* var_listnode7 /* var listnode7: nullable Object */;
5953 short int var28 /* : Bool */;
5954 int cltype29;
5955 int idtype30;
5956 val* var31 /* : Array[Object] */;
5957 val* var32 /* : Array[Object] */;
5958 val* var_listnode13 /* var listnode13: Array[Object] */;
5959 val* var_listnode12 /* var listnode12: nullable Object */;
5960 short int var33 /* : Bool */;
5961 int cltype34;
5962 int idtype35;
5963 val* var36 /* : Array[Object] */;
5964 val* var37 /* : AAnnotations */;
5965 val* var38 /* : null */;
5966 val* var39 /* : null */;
5967 val* var40 /* : null */;
5968 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5969 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5970 short int var41 /* : Bool */;
5971 int cltype42;
5972 int idtype43;
5973 val* var44 /* : AStdClassdef */;
5974 val* var45 /* : null */;
5975 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5976 long var46 /* : Int */;
5977 long var47 /* : Int */;
5978 var_p = p0;
5979 var = NULL;
5980 var_node_list = var;
5981 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5982 var_nodearraylist11 = var1;
5983 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5984 var_nodearraylist10 = var2;
5985 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5986 var_nodearraylist9 = var3;
5987 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5988 var_nodearraylist8 = var4;
5989 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5990 var_nodearraylist7 = var5;
5991 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5992 var_nodearraylist6 = var6;
5993 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5994 var_nodearraylist5 = var7;
5995 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5996 var_nodearraylist4 = var8;
5997 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5998 var_nodearraylist3 = var9;
5999 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6000 var_nodearraylist2 = var10;
6001 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6002 var_nodearraylist1 = var11;
6003 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6004 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6005 CHECK_NEW_array__Array(var12);
6006 var_listnode8 = var12;
6007 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6008 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6009 CHECK_NEW_array__Array(var13);
6010 var_listnode16 = var13;
6011 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6012 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6013 CHECK_NEW_array__Array(var14);
6014 var_listnode17 = var14;
6015 var_pdocnode2 = var_nodearraylist1;
6016 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6017 cltype = type_nullable_parser_nodes__ADoc.color;
6018 idtype = type_nullable_parser_nodes__ADoc.id;
6019 if(var_pdocnode2 == NULL) {
6020 var15 = 1;
6021 } else {
6022 if(cltype >= var_pdocnode2->type->table_size) {
6023 var15 = 0;
6024 } else {
6025 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
6026 }
6027 }
6028 if (!var15) {
6029 fprintf(stderr, "Runtime error: %s", "Assert failed");
6030 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5328);
6031 exit(1);
6032 }
6033 var_tkwredefnode3 = var_nodearraylist2;
6034 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6035 cltype17 = type_nullable_parser_nodes__TKwredef.color;
6036 idtype18 = type_nullable_parser_nodes__TKwredef.id;
6037 if(var_tkwredefnode3 == NULL) {
6038 var16 = 1;
6039 } else {
6040 if(cltype17 >= var_tkwredefnode3->type->table_size) {
6041 var16 = 0;
6042 } else {
6043 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
6044 }
6045 }
6046 if (!var16) {
6047 fprintf(stderr, "Runtime error: %s", "Assert failed");
6048 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5330);
6049 exit(1);
6050 }
6051 var_pvisibilitynode4 = var_nodearraylist3;
6052 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6053 cltype20 = type_nullable_parser_nodes__AVisibility.color;
6054 idtype21 = type_nullable_parser_nodes__AVisibility.id;
6055 if(var_pvisibilitynode4 == NULL) {
6056 var19 = 1;
6057 } else {
6058 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
6059 var19 = 0;
6060 } else {
6061 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
6062 }
6063 }
6064 if (!var19) {
6065 fprintf(stderr, "Runtime error: %s", "Assert failed");
6066 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5332);
6067 exit(1);
6068 }
6069 var_pclasskindnode5 = var_nodearraylist4;
6070 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6071 cltype23 = type_nullable_parser_nodes__AClasskind.color;
6072 idtype24 = type_nullable_parser_nodes__AClasskind.id;
6073 if(var_pclasskindnode5 == NULL) {
6074 var22 = 1;
6075 } else {
6076 if(cltype23 >= var_pclasskindnode5->type->table_size) {
6077 var22 = 0;
6078 } else {
6079 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
6080 }
6081 }
6082 if (!var22) {
6083 fprintf(stderr, "Runtime error: %s", "Assert failed");
6084 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5334);
6085 exit(1);
6086 }
6087 var_tclassidnode6 = var_nodearraylist7;
6088 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6089 cltype26 = type_nullable_parser_nodes__TClassid.color;
6090 idtype27 = type_nullable_parser_nodes__TClassid.id;
6091 if(var_tclassidnode6 == NULL) {
6092 var25 = 1;
6093 } else {
6094 if(cltype26 >= var_tclassidnode6->type->table_size) {
6095 var25 = 0;
6096 } else {
6097 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
6098 }
6099 }
6100 if (!var25) {
6101 fprintf(stderr, "Runtime error: %s", "Assert failed");
6102 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5336);
6103 exit(1);
6104 }
6105 var_listnode7 = var_nodearraylist8;
6106 /* <var_listnode7:nullable Object> isa Array[Object] */
6107 cltype29 = type_array__Arraykernel__Object.color;
6108 idtype30 = type_array__Arraykernel__Object.id;
6109 if(var_listnode7 == NULL) {
6110 var28 = 0;
6111 } else {
6112 if(cltype29 >= var_listnode7->type->table_size) {
6113 var28 = 0;
6114 } else {
6115 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
6116 }
6117 }
6118 if (!var28) {
6119 fprintf(stderr, "Runtime error: %s", "Assert failed");
6120 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5338);
6121 exit(1);
6122 }
6123 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction102>*/;
6124 var_listnode8 = var31;
6125 var32 = NEW_array__Array(&type_array__Arraykernel__Object);
6126 ((void (*)(val*))(var32->class->vft[COLOR_array__Array__init]))(var32) /* init on <var32:Array[Object]>*/;
6127 CHECK_NEW_array__Array(var32);
6128 var_listnode13 = var32;
6129 var_listnode12 = var_nodearraylist9;
6130 /* <var_listnode12:nullable Object> isa Array[Object] */
6131 cltype34 = type_array__Arraykernel__Object.color;
6132 idtype35 = type_array__Arraykernel__Object.id;
6133 if(var_listnode12 == NULL) {
6134 var33 = 0;
6135 } else {
6136 if(cltype34 >= var_listnode12->type->table_size) {
6137 var33 = 0;
6138 } else {
6139 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
6140 }
6141 }
6142 if (!var33) {
6143 fprintf(stderr, "Runtime error: %s", "Assert failed");
6144 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5342);
6145 exit(1);
6146 }
6147 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction102>*/;
6148 var_listnode13 = var36;
6149 var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6150 var38 = NULL;
6151 var39 = NULL;
6152 var40 = NULL;
6153 ((void (*)(val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var37, var38, var39, var_listnode13, var40) /* init_aannotations on <var37:AAnnotations>*/;
6154 CHECK_NEW_parser_nodes__AAnnotations(var37);
6155 var_pannotationsnode9 = var37;
6156 var_tkwendnode18 = var_nodearraylist11;
6157 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
6158 cltype42 = type_nullable_parser_nodes__TKwend.color;
6159 idtype43 = type_nullable_parser_nodes__TKwend.id;
6160 if(var_tkwendnode18 == NULL) {
6161 var41 = 1;
6162 } else {
6163 if(cltype42 >= var_tkwendnode18->type->table_size) {
6164 var41 = 0;
6165 } else {
6166 var41 = var_tkwendnode18->type->type_table[cltype42] == idtype43;
6167 }
6168 }
6169 if (!var41) {
6170 fprintf(stderr, "Runtime error: %s", "Assert failed");
6171 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5351);
6172 exit(1);
6173 }
6174 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6175 var45 = NULL;
6176 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var45, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var44:AStdClassdef>*/;
6177 CHECK_NEW_parser_nodes__AStdClassdef(var44);
6178 var_pclassdefnode1 = var44;
6179 var_node_list = var_pclassdefnode1;
6180 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction102> */
6181 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
6182 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
6183 RET_LABEL:;
6184 }
6185 /* method parser#ReduceAction102#action for (self: Object, Parser) */
6186 void VIRTUAL_parser__ReduceAction102__action(val* self, val* p0) {
6187 parser__ReduceAction102__action(self, p0);
6188 RET_LABEL:;
6189 }
6190 /* method parser#ReduceAction103#action for (self: ReduceAction103, Parser) */
6191 void parser__ReduceAction103__action(val* self, val* p0) {
6192 val* var_p /* var p: Parser */;
6193 val* var /* : null */;
6194 val* var_node_list /* var node_list: nullable Object */;
6195 val* var1 /* : nullable Object */;
6196 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
6197 val* var2 /* : nullable Object */;
6198 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6199 val* var3 /* : nullable Object */;
6200 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6201 val* var4 /* : nullable Object */;
6202 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6203 val* var5 /* : nullable Object */;
6204 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6205 val* var6 /* : nullable Object */;
6206 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6207 val* var7 /* : nullable Object */;
6208 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6209 val* var8 /* : nullable Object */;
6210 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6211 val* var9 /* : nullable Object */;
6212 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6213 val* var10 /* : nullable Object */;
6214 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6215 val* var11 /* : nullable Object */;
6216 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6217 val* var12 /* : nullable Object */;
6218 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6219 val* var13 /* : Array[Object] */;
6220 val* var_listnode8 /* var listnode8: Array[Object] */;
6221 val* var14 /* : Array[Object] */;
6222 val* var_listnode16 /* var listnode16: Array[Object] */;
6223 val* var15 /* : Array[Object] */;
6224 val* var_listnode17 /* var listnode17: Array[Object] */;
6225 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6226 short int var16 /* : Bool */;
6227 int cltype;
6228 int idtype;
6229 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6230 short int var17 /* : Bool */;
6231 int cltype18;
6232 int idtype19;
6233 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6234 short int var20 /* : Bool */;
6235 int cltype21;
6236 int idtype22;
6237 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6238 short int var23 /* : Bool */;
6239 int cltype24;
6240 int idtype25;
6241 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6242 short int var26 /* : Bool */;
6243 int cltype27;
6244 int idtype28;
6245 val* var_listnode7 /* var listnode7: nullable Object */;
6246 short int var29 /* : Bool */;
6247 int cltype30;
6248 int idtype31;
6249 val* var32 /* : Array[Object] */;
6250 val* var33 /* : Array[Object] */;
6251 val* var_listnode13 /* var listnode13: Array[Object] */;
6252 val* var_listnode12 /* var listnode12: nullable Object */;
6253 short int var34 /* : Bool */;
6254 int cltype35;
6255 int idtype36;
6256 val* var37 /* : Array[Object] */;
6257 val* var38 /* : AAnnotations */;
6258 val* var39 /* : null */;
6259 val* var40 /* : null */;
6260 val* var41 /* : null */;
6261 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
6262 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
6263 short int var42 /* : Bool */;
6264 int cltype43;
6265 int idtype44;
6266 val* var45 /* : AStdClassdef */;
6267 val* var46 /* : null */;
6268 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6269 long var47 /* : Int */;
6270 long var48 /* : Int */;
6271 var_p = p0;
6272 var = NULL;
6273 var_node_list = var;
6274 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6275 var_nodearraylist12 = var1;
6276 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6277 var_nodearraylist11 = var2;
6278 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6279 var_nodearraylist10 = var3;
6280 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6281 var_nodearraylist9 = var4;
6282 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6283 var_nodearraylist8 = var5;
6284 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6285 var_nodearraylist7 = var6;
6286 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6287 var_nodearraylist6 = var7;
6288 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6289 var_nodearraylist5 = var8;
6290 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6291 var_nodearraylist4 = var9;
6292 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6293 var_nodearraylist3 = var10;
6294 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6295 var_nodearraylist2 = var11;
6296 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6297 var_nodearraylist1 = var12;
6298 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6299 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6300 CHECK_NEW_array__Array(var13);
6301 var_listnode8 = var13;
6302 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6303 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6304 CHECK_NEW_array__Array(var14);
6305 var_listnode16 = var14;
6306 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
6307 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
6308 CHECK_NEW_array__Array(var15);
6309 var_listnode17 = var15;
6310 var_pdocnode2 = var_nodearraylist1;
6311 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6312 cltype = type_nullable_parser_nodes__ADoc.color;
6313 idtype = type_nullable_parser_nodes__ADoc.id;
6314 if(var_pdocnode2 == NULL) {
6315 var16 = 1;
6316 } else {
6317 if(cltype >= var_pdocnode2->type->table_size) {
6318 var16 = 0;
6319 } else {
6320 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
6321 }
6322 }
6323 if (!var16) {
6324 fprintf(stderr, "Runtime error: %s", "Assert failed");
6325 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5390);
6326 exit(1);
6327 }
6328 var_tkwredefnode3 = var_nodearraylist2;
6329 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6330 cltype18 = type_nullable_parser_nodes__TKwredef.color;
6331 idtype19 = type_nullable_parser_nodes__TKwredef.id;
6332 if(var_tkwredefnode3 == NULL) {
6333 var17 = 1;
6334 } else {
6335 if(cltype18 >= var_tkwredefnode3->type->table_size) {
6336 var17 = 0;
6337 } else {
6338 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
6339 }
6340 }
6341 if (!var17) {
6342 fprintf(stderr, "Runtime error: %s", "Assert failed");
6343 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5392);
6344 exit(1);
6345 }
6346 var_pvisibilitynode4 = var_nodearraylist3;
6347 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6348 cltype21 = type_nullable_parser_nodes__AVisibility.color;
6349 idtype22 = type_nullable_parser_nodes__AVisibility.id;
6350 if(var_pvisibilitynode4 == NULL) {
6351 var20 = 1;
6352 } else {
6353 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
6354 var20 = 0;
6355 } else {
6356 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
6357 }
6358 }
6359 if (!var20) {
6360 fprintf(stderr, "Runtime error: %s", "Assert failed");
6361 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5394);
6362 exit(1);
6363 }
6364 var_pclasskindnode5 = var_nodearraylist4;
6365 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6366 cltype24 = type_nullable_parser_nodes__AClasskind.color;
6367 idtype25 = type_nullable_parser_nodes__AClasskind.id;
6368 if(var_pclasskindnode5 == NULL) {
6369 var23 = 1;
6370 } else {
6371 if(cltype24 >= var_pclasskindnode5->type->table_size) {
6372 var23 = 0;
6373 } else {
6374 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
6375 }
6376 }
6377 if (!var23) {
6378 fprintf(stderr, "Runtime error: %s", "Assert failed");
6379 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5396);
6380 exit(1);
6381 }
6382 var_tclassidnode6 = var_nodearraylist8;
6383 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6384 cltype27 = type_nullable_parser_nodes__TClassid.color;
6385 idtype28 = type_nullable_parser_nodes__TClassid.id;
6386 if(var_tclassidnode6 == NULL) {
6387 var26 = 1;
6388 } else {
6389 if(cltype27 >= var_tclassidnode6->type->table_size) {
6390 var26 = 0;
6391 } else {
6392 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
6393 }
6394 }
6395 if (!var26) {
6396 fprintf(stderr, "Runtime error: %s", "Assert failed");
6397 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5398);
6398 exit(1);
6399 }
6400 var_listnode7 = var_nodearraylist9;
6401 /* <var_listnode7:nullable Object> isa Array[Object] */
6402 cltype30 = type_array__Arraykernel__Object.color;
6403 idtype31 = type_array__Arraykernel__Object.id;
6404 if(var_listnode7 == NULL) {
6405 var29 = 0;
6406 } else {
6407 if(cltype30 >= var_listnode7->type->table_size) {
6408 var29 = 0;
6409 } else {
6410 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
6411 }
6412 }
6413 if (!var29) {
6414 fprintf(stderr, "Runtime error: %s", "Assert failed");
6415 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5400);
6416 exit(1);
6417 }
6418 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction103>*/;
6419 var_listnode8 = var32;
6420 var33 = NEW_array__Array(&type_array__Arraykernel__Object);
6421 ((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on <var33:Array[Object]>*/;
6422 CHECK_NEW_array__Array(var33);
6423 var_listnode13 = var33;
6424 var_listnode12 = var_nodearraylist10;
6425 /* <var_listnode12:nullable Object> isa Array[Object] */
6426 cltype35 = type_array__Arraykernel__Object.color;
6427 idtype36 = type_array__Arraykernel__Object.id;
6428 if(var_listnode12 == NULL) {
6429 var34 = 0;
6430 } else {
6431 if(cltype35 >= var_listnode12->type->table_size) {
6432 var34 = 0;
6433 } else {
6434 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
6435 }
6436 }
6437 if (!var34) {
6438 fprintf(stderr, "Runtime error: %s", "Assert failed");
6439 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5404);
6440 exit(1);
6441 }
6442 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction103>*/;
6443 var_listnode13 = var37;
6444 var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6445 var39 = NULL;
6446 var40 = NULL;
6447 var41 = NULL;
6448 ((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>*/;
6449 CHECK_NEW_parser_nodes__AAnnotations(var38);
6450 var_pannotationsnode9 = var38;
6451 var_tkwendnode18 = var_nodearraylist12;
6452 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
6453 cltype43 = type_nullable_parser_nodes__TKwend.color;
6454 idtype44 = type_nullable_parser_nodes__TKwend.id;
6455 if(var_tkwendnode18 == NULL) {
6456 var42 = 1;
6457 } else {
6458 if(cltype43 >= var_tkwendnode18->type->table_size) {
6459 var42 = 0;
6460 } else {
6461 var42 = var_tkwendnode18->type->type_table[cltype43] == idtype44;
6462 }
6463 }
6464 if (!var42) {
6465 fprintf(stderr, "Runtime error: %s", "Assert failed");
6466 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5413);
6467 exit(1);
6468 }
6469 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6470 var46 = NULL;
6471 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var46, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var45:AStdClassdef>*/;
6472 CHECK_NEW_parser_nodes__AStdClassdef(var45);
6473 var_pclassdefnode1 = var45;
6474 var_node_list = var_pclassdefnode1;
6475 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction103> */
6476 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
6477 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
6478 RET_LABEL:;
6479 }
6480 /* method parser#ReduceAction103#action for (self: Object, Parser) */
6481 void VIRTUAL_parser__ReduceAction103__action(val* self, val* p0) {
6482 parser__ReduceAction103__action(self, p0);
6483 RET_LABEL:;
6484 }
6485 /* method parser#ReduceAction105#action for (self: ReduceAction105, Parser) */
6486 void parser__ReduceAction105__action(val* self, val* p0) {
6487 val* var_p /* var p: Parser */;
6488 val* var /* : null */;
6489 val* var_node_list /* var node_list: nullable Object */;
6490 val* var1 /* : nullable Object */;
6491 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6492 val* var2 /* : nullable Object */;
6493 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6494 val* var3 /* : nullable Object */;
6495 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6496 val* var4 /* : nullable Object */;
6497 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6498 val* var5 /* : nullable Object */;
6499 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6500 val* var6 /* : nullable Object */;
6501 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6502 val* var7 /* : nullable Object */;
6503 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6504 val* var8 /* : nullable Object */;
6505 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6506 val* var9 /* : Array[Object] */;
6507 val* var_listnode7 /* var listnode7: Array[Object] */;
6508 val* var10 /* : Array[Object] */;
6509 val* var_listnode10 /* var listnode10: Array[Object] */;
6510 val* var11 /* : Array[Object] */;
6511 val* var_listnode11 /* var listnode11: Array[Object] */;
6512 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6513 short int var12 /* : Bool */;
6514 int cltype;
6515 int idtype;
6516 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6517 short int var13 /* : Bool */;
6518 int cltype14;
6519 int idtype15;
6520 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6521 short int var16 /* : Bool */;
6522 int cltype17;
6523 int idtype18;
6524 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6525 short int var19 /* : Bool */;
6526 int cltype20;
6527 int idtype21;
6528 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
6529 short int var22 /* : Bool */;
6530 int cltype23;
6531 int idtype24;
6532 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
6533 short int var25 /* : Bool */;
6534 int cltype26;
6535 int idtype27;
6536 val* var28 /* : AStdClassdef */;
6537 val* var29 /* : null */;
6538 val* var30 /* : null */;
6539 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6540 long var31 /* : Int */;
6541 long var32 /* : Int */;
6542 var_p = p0;
6543 var = NULL;
6544 var_node_list = var;
6545 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6546 var_nodearraylist8 = var1;
6547 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6548 var_nodearraylist7 = var2;
6549 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6550 var_nodearraylist6 = var3;
6551 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6552 var_nodearraylist5 = var4;
6553 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6554 var_nodearraylist4 = var5;
6555 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6556 var_nodearraylist3 = var6;
6557 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6558 var_nodearraylist2 = var7;
6559 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6560 var_nodearraylist1 = var8;
6561 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
6562 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
6563 CHECK_NEW_array__Array(var9);
6564 var_listnode7 = var9;
6565 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
6566 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
6567 CHECK_NEW_array__Array(var10);
6568 var_listnode10 = var10;
6569 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6570 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6571 CHECK_NEW_array__Array(var11);
6572 var_listnode11 = var11;
6573 var_pdocnode2 = var_nodearraylist1;
6574 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6575 cltype = type_nullable_parser_nodes__ADoc.color;
6576 idtype = type_nullable_parser_nodes__ADoc.id;
6577 if(var_pdocnode2 == NULL) {
6578 var12 = 1;
6579 } else {
6580 if(cltype >= var_pdocnode2->type->table_size) {
6581 var12 = 0;
6582 } else {
6583 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
6584 }
6585 }
6586 if (!var12) {
6587 fprintf(stderr, "Runtime error: %s", "Assert failed");
6588 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5448);
6589 exit(1);
6590 }
6591 var_pvisibilitynode4 = var_nodearraylist2;
6592 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6593 cltype14 = type_nullable_parser_nodes__AVisibility.color;
6594 idtype15 = type_nullable_parser_nodes__AVisibility.id;
6595 if(var_pvisibilitynode4 == NULL) {
6596 var13 = 1;
6597 } else {
6598 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
6599 var13 = 0;
6600 } else {
6601 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
6602 }
6603 }
6604 if (!var13) {
6605 fprintf(stderr, "Runtime error: %s", "Assert failed");
6606 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5450);
6607 exit(1);
6608 }
6609 var_pclasskindnode5 = var_nodearraylist3;
6610 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6611 cltype17 = type_nullable_parser_nodes__AClasskind.color;
6612 idtype18 = type_nullable_parser_nodes__AClasskind.id;
6613 if(var_pclasskindnode5 == NULL) {
6614 var16 = 1;
6615 } else {
6616 if(cltype17 >= var_pclasskindnode5->type->table_size) {
6617 var16 = 0;
6618 } else {
6619 var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18;
6620 }
6621 }
6622 if (!var16) {
6623 fprintf(stderr, "Runtime error: %s", "Assert failed");
6624 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5452);
6625 exit(1);
6626 }
6627 var_tclassidnode6 = var_nodearraylist5;
6628 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6629 cltype20 = type_nullable_parser_nodes__TClassid.color;
6630 idtype21 = type_nullable_parser_nodes__TClassid.id;
6631 if(var_tclassidnode6 == NULL) {
6632 var19 = 1;
6633 } else {
6634 if(cltype20 >= var_tclassidnode6->type->table_size) {
6635 var19 = 0;
6636 } else {
6637 var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21;
6638 }
6639 }
6640 if (!var19) {
6641 fprintf(stderr, "Runtime error: %s", "Assert failed");
6642 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5454);
6643 exit(1);
6644 }
6645 var_pexterncodeblocknode9 = var_nodearraylist6;
6646 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
6647 cltype23 = type_nullable_parser_nodes__AExternCodeBlock.color;
6648 idtype24 = type_nullable_parser_nodes__AExternCodeBlock.id;
6649 if(var_pexterncodeblocknode9 == NULL) {
6650 var22 = 1;
6651 } else {
6652 if(cltype23 >= var_pexterncodeblocknode9->type->table_size) {
6653 var22 = 0;
6654 } else {
6655 var22 = var_pexterncodeblocknode9->type->type_table[cltype23] == idtype24;
6656 }
6657 }
6658 if (!var22) {
6659 fprintf(stderr, "Runtime error: %s", "Assert failed");
6660 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5456);
6661 exit(1);
6662 }
6663 var_tkwendnode12 = var_nodearraylist8;
6664 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
6665 cltype26 = type_nullable_parser_nodes__TKwend.color;
6666 idtype27 = type_nullable_parser_nodes__TKwend.id;
6667 if(var_tkwendnode12 == NULL) {
6668 var25 = 1;
6669 } else {
6670 if(cltype26 >= var_tkwendnode12->type->table_size) {
6671 var25 = 0;
6672 } else {
6673 var25 = var_tkwendnode12->type->type_table[cltype26] == idtype27;
6674 }
6675 }
6676 if (!var25) {
6677 fprintf(stderr, "Runtime error: %s", "Assert failed");
6678 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5458);
6679 exit(1);
6680 }
6681 var28 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6682 var29 = NULL;
6683 var30 = NULL;
6684 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var28, var_pdocnode2, var29, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var30, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var28:AStdClassdef>*/;
6685 CHECK_NEW_parser_nodes__AStdClassdef(var28);
6686 var_pclassdefnode1 = var28;
6687 var_node_list = var_pclassdefnode1;
6688 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction105> */
6689 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
6690 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
6691 RET_LABEL:;
6692 }
6693 /* method parser#ReduceAction105#action for (self: Object, Parser) */
6694 void VIRTUAL_parser__ReduceAction105__action(val* self, val* p0) {
6695 parser__ReduceAction105__action(self, p0);
6696 RET_LABEL:;
6697 }
6698 /* method parser#ReduceAction106#action for (self: ReduceAction106, Parser) */
6699 void parser__ReduceAction106__action(val* self, val* p0) {
6700 val* var_p /* var p: Parser */;
6701 val* var /* : null */;
6702 val* var_node_list /* var node_list: nullable Object */;
6703 val* var1 /* : nullable Object */;
6704 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6705 val* var2 /* : nullable Object */;
6706 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6707 val* var3 /* : nullable Object */;
6708 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6709 val* var4 /* : nullable Object */;
6710 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6711 val* var5 /* : nullable Object */;
6712 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6713 val* var6 /* : nullable Object */;
6714 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6715 val* var7 /* : nullable Object */;
6716 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6717 val* var8 /* : nullable Object */;
6718 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6719 val* var9 /* : nullable Object */;
6720 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6721 val* var10 /* : Array[Object] */;
6722 val* var_listnode7 /* var listnode7: Array[Object] */;
6723 val* var11 /* : Array[Object] */;
6724 val* var_listnode10 /* var listnode10: Array[Object] */;
6725 val* var12 /* : Array[Object] */;
6726 val* var_listnode11 /* var listnode11: Array[Object] */;
6727 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6728 short int var13 /* : Bool */;
6729 int cltype;
6730 int idtype;
6731 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6732 short int var14 /* : Bool */;
6733 int cltype15;
6734 int idtype16;
6735 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6736 short int var17 /* : Bool */;
6737 int cltype18;
6738 int idtype19;
6739 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6740 short int var20 /* : Bool */;
6741 int cltype21;
6742 int idtype22;
6743 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6744 short int var23 /* : Bool */;
6745 int cltype24;
6746 int idtype25;
6747 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
6748 short int var26 /* : Bool */;
6749 int cltype27;
6750 int idtype28;
6751 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
6752 short int var29 /* : Bool */;
6753 int cltype30;
6754 int idtype31;
6755 val* var32 /* : AStdClassdef */;
6756 val* var33 /* : null */;
6757 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6758 long var34 /* : Int */;
6759 long var35 /* : Int */;
6760 var_p = p0;
6761 var = NULL;
6762 var_node_list = var;
6763 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6764 var_nodearraylist9 = var1;
6765 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6766 var_nodearraylist8 = var2;
6767 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6768 var_nodearraylist7 = var3;
6769 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6770 var_nodearraylist6 = var4;
6771 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6772 var_nodearraylist5 = var5;
6773 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6774 var_nodearraylist4 = var6;
6775 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6776 var_nodearraylist3 = var7;
6777 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6778 var_nodearraylist2 = var8;
6779 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6780 var_nodearraylist1 = var9;
6781 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
6782 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
6783 CHECK_NEW_array__Array(var10);
6784 var_listnode7 = var10;
6785 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6786 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6787 CHECK_NEW_array__Array(var11);
6788 var_listnode10 = var11;
6789 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6790 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6791 CHECK_NEW_array__Array(var12);
6792 var_listnode11 = var12;
6793 var_pdocnode2 = var_nodearraylist1;
6794 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6795 cltype = type_nullable_parser_nodes__ADoc.color;
6796 idtype = type_nullable_parser_nodes__ADoc.id;
6797 if(var_pdocnode2 == NULL) {
6798 var13 = 1;
6799 } else {
6800 if(cltype >= var_pdocnode2->type->table_size) {
6801 var13 = 0;
6802 } else {
6803 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
6804 }
6805 }
6806 if (!var13) {
6807 fprintf(stderr, "Runtime error: %s", "Assert failed");
6808 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5494);
6809 exit(1);
6810 }
6811 var_tkwredefnode3 = var_nodearraylist2;
6812 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6813 cltype15 = type_nullable_parser_nodes__TKwredef.color;
6814 idtype16 = type_nullable_parser_nodes__TKwredef.id;
6815 if(var_tkwredefnode3 == NULL) {
6816 var14 = 1;
6817 } else {
6818 if(cltype15 >= var_tkwredefnode3->type->table_size) {
6819 var14 = 0;
6820 } else {
6821 var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16;
6822 }
6823 }
6824 if (!var14) {
6825 fprintf(stderr, "Runtime error: %s", "Assert failed");
6826 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5496);
6827 exit(1);
6828 }
6829 var_pvisibilitynode4 = var_nodearraylist3;
6830 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6831 cltype18 = type_nullable_parser_nodes__AVisibility.color;
6832 idtype19 = type_nullable_parser_nodes__AVisibility.id;
6833 if(var_pvisibilitynode4 == NULL) {
6834 var17 = 1;
6835 } else {
6836 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
6837 var17 = 0;
6838 } else {
6839 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
6840 }
6841 }
6842 if (!var17) {
6843 fprintf(stderr, "Runtime error: %s", "Assert failed");
6844 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5498);
6845 exit(1);
6846 }
6847 var_pclasskindnode5 = var_nodearraylist4;
6848 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6849 cltype21 = type_nullable_parser_nodes__AClasskind.color;
6850 idtype22 = type_nullable_parser_nodes__AClasskind.id;
6851 if(var_pclasskindnode5 == NULL) {
6852 var20 = 1;
6853 } else {
6854 if(cltype21 >= var_pclasskindnode5->type->table_size) {
6855 var20 = 0;
6856 } else {
6857 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
6858 }
6859 }
6860 if (!var20) {
6861 fprintf(stderr, "Runtime error: %s", "Assert failed");
6862 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5500);
6863 exit(1);
6864 }
6865 var_tclassidnode6 = var_nodearraylist6;
6866 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6867 cltype24 = type_nullable_parser_nodes__TClassid.color;
6868 idtype25 = type_nullable_parser_nodes__TClassid.id;
6869 if(var_tclassidnode6 == NULL) {
6870 var23 = 1;
6871 } else {
6872 if(cltype24 >= var_tclassidnode6->type->table_size) {
6873 var23 = 0;
6874 } else {
6875 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
6876 }
6877 }
6878 if (!var23) {
6879 fprintf(stderr, "Runtime error: %s", "Assert failed");
6880 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5502);
6881 exit(1);
6882 }
6883 var_pexterncodeblocknode9 = var_nodearraylist7;
6884 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
6885 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
6886 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
6887 if(var_pexterncodeblocknode9 == NULL) {
6888 var26 = 1;
6889 } else {
6890 if(cltype27 >= var_pexterncodeblocknode9->type->table_size) {
6891 var26 = 0;
6892 } else {
6893 var26 = var_pexterncodeblocknode9->type->type_table[cltype27] == idtype28;
6894 }
6895 }
6896 if (!var26) {
6897 fprintf(stderr, "Runtime error: %s", "Assert failed");
6898 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5504);
6899 exit(1);
6900 }
6901 var_tkwendnode12 = var_nodearraylist9;
6902 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
6903 cltype30 = type_nullable_parser_nodes__TKwend.color;
6904 idtype31 = type_nullable_parser_nodes__TKwend.id;
6905 if(var_tkwendnode12 == NULL) {
6906 var29 = 1;
6907 } else {
6908 if(cltype30 >= var_tkwendnode12->type->table_size) {
6909 var29 = 0;
6910 } else {
6911 var29 = var_tkwendnode12->type->type_table[cltype30] == idtype31;
6912 }
6913 }
6914 if (!var29) {
6915 fprintf(stderr, "Runtime error: %s", "Assert failed");
6916 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5506);
6917 exit(1);
6918 }
6919 var32 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6920 var33 = NULL;
6921 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var32, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var33, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var32:AStdClassdef>*/;
6922 CHECK_NEW_parser_nodes__AStdClassdef(var32);
6923 var_pclassdefnode1 = var32;
6924 var_node_list = var_pclassdefnode1;
6925 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction106> */
6926 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
6927 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
6928 RET_LABEL:;
6929 }
6930 /* method parser#ReduceAction106#action for (self: Object, Parser) */
6931 void VIRTUAL_parser__ReduceAction106__action(val* self, val* p0) {
6932 parser__ReduceAction106__action(self, p0);
6933 RET_LABEL:;
6934 }
6935 /* method parser#ReduceAction107#action for (self: ReduceAction107, Parser) */
6936 void parser__ReduceAction107__action(val* self, val* p0) {
6937 val* var_p /* var p: Parser */;
6938 val* var /* : null */;
6939 val* var_node_list /* var node_list: nullable Object */;
6940 val* var1 /* : nullable Object */;
6941 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6942 val* var2 /* : nullable Object */;
6943 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6944 val* var3 /* : nullable Object */;
6945 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6946 val* var4 /* : nullable Object */;
6947 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6948 val* var5 /* : nullable Object */;
6949 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6950 val* var6 /* : nullable Object */;
6951 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6952 val* var7 /* : nullable Object */;
6953 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6954 val* var8 /* : nullable Object */;
6955 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6956 val* var9 /* : nullable Object */;
6957 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6958 val* var10 /* : Array[Object] */;
6959 val* var_listnode7 /* var listnode7: Array[Object] */;
6960 val* var11 /* : Array[Object] */;
6961 val* var_listnode10 /* var listnode10: Array[Object] */;
6962 val* var12 /* : Array[Object] */;
6963 val* var_listnode11 /* var listnode11: Array[Object] */;
6964 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6965 short int var13 /* : Bool */;
6966 int cltype;
6967 int idtype;
6968 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6969 short int var14 /* : Bool */;
6970 int cltype15;
6971 int idtype16;
6972 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6973 short int var17 /* : Bool */;
6974 int cltype18;
6975 int idtype19;
6976 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6977 short int var20 /* : Bool */;
6978 int cltype21;
6979 int idtype22;
6980 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
6981 short int var23 /* : Bool */;
6982 int cltype24;
6983 int idtype25;
6984 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
6985 short int var26 /* : Bool */;
6986 int cltype27;
6987 int idtype28;
6988 val* var29 /* : AStdClassdef */;
6989 val* var30 /* : null */;
6990 val* var31 /* : null */;
6991 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6992 long var32 /* : Int */;
6993 long var33 /* : Int */;
6994 var_p = p0;
6995 var = NULL;
6996 var_node_list = var;
6997 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6998 var_nodearraylist9 = var1;
6999 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7000 var_nodearraylist8 = var2;
7001 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7002 var_nodearraylist7 = var3;
7003 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7004 var_nodearraylist6 = var4;
7005 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7006 var_nodearraylist5 = var5;
7007 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7008 var_nodearraylist4 = var6;
7009 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7010 var_nodearraylist3 = var7;
7011 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7012 var_nodearraylist2 = var8;
7013 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7014 var_nodearraylist1 = var9;
7015 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
7016 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
7017 CHECK_NEW_array__Array(var10);
7018 var_listnode7 = var10;
7019 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
7020 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
7021 CHECK_NEW_array__Array(var11);
7022 var_listnode10 = var11;
7023 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7024 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7025 CHECK_NEW_array__Array(var12);
7026 var_listnode11 = var12;
7027 var_pdocnode2 = var_nodearraylist1;
7028 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7029 cltype = type_nullable_parser_nodes__ADoc.color;
7030 idtype = type_nullable_parser_nodes__ADoc.id;
7031 if(var_pdocnode2 == NULL) {
7032 var13 = 1;
7033 } else {
7034 if(cltype >= var_pdocnode2->type->table_size) {
7035 var13 = 0;
7036 } else {
7037 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
7038 }
7039 }
7040 if (!var13) {
7041 fprintf(stderr, "Runtime error: %s", "Assert failed");
7042 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5542);
7043 exit(1);
7044 }
7045 var_pvisibilitynode4 = var_nodearraylist2;
7046 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7047 cltype15 = type_nullable_parser_nodes__AVisibility.color;
7048 idtype16 = type_nullable_parser_nodes__AVisibility.id;
7049 if(var_pvisibilitynode4 == NULL) {
7050 var14 = 1;
7051 } else {
7052 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
7053 var14 = 0;
7054 } else {
7055 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
7056 }
7057 }
7058 if (!var14) {
7059 fprintf(stderr, "Runtime error: %s", "Assert failed");
7060 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5544);
7061 exit(1);
7062 }
7063 var_pclasskindnode5 = var_nodearraylist3;
7064 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7065 cltype18 = type_nullable_parser_nodes__AClasskind.color;
7066 idtype19 = type_nullable_parser_nodes__AClasskind.id;
7067 if(var_pclasskindnode5 == NULL) {
7068 var17 = 1;
7069 } else {
7070 if(cltype18 >= var_pclasskindnode5->type->table_size) {
7071 var17 = 0;
7072 } else {
7073 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
7074 }
7075 }
7076 if (!var17) {
7077 fprintf(stderr, "Runtime error: %s", "Assert failed");
7078 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5546);
7079 exit(1);
7080 }
7081 var_tclassidnode6 = var_nodearraylist6;
7082 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7083 cltype21 = type_nullable_parser_nodes__TClassid.color;
7084 idtype22 = type_nullable_parser_nodes__TClassid.id;
7085 if(var_tclassidnode6 == NULL) {
7086 var20 = 1;
7087 } else {
7088 if(cltype21 >= var_tclassidnode6->type->table_size) {
7089 var20 = 0;
7090 } else {
7091 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
7092 }
7093 }
7094 if (!var20) {
7095 fprintf(stderr, "Runtime error: %s", "Assert failed");
7096 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5548);
7097 exit(1);
7098 }
7099 var_pexterncodeblocknode9 = var_nodearraylist7;
7100 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
7101 cltype24 = type_nullable_parser_nodes__AExternCodeBlock.color;
7102 idtype25 = type_nullable_parser_nodes__AExternCodeBlock.id;
7103 if(var_pexterncodeblocknode9 == NULL) {
7104 var23 = 1;
7105 } else {
7106 if(cltype24 >= var_pexterncodeblocknode9->type->table_size) {
7107 var23 = 0;
7108 } else {
7109 var23 = var_pexterncodeblocknode9->type->type_table[cltype24] == idtype25;
7110 }
7111 }
7112 if (!var23) {
7113 fprintf(stderr, "Runtime error: %s", "Assert failed");
7114 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5550);
7115 exit(1);
7116 }
7117 var_tkwendnode12 = var_nodearraylist9;
7118 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
7119 cltype27 = type_nullable_parser_nodes__TKwend.color;
7120 idtype28 = type_nullable_parser_nodes__TKwend.id;
7121 if(var_tkwendnode12 == NULL) {
7122 var26 = 1;
7123 } else {
7124 if(cltype27 >= var_tkwendnode12->type->table_size) {
7125 var26 = 0;
7126 } else {
7127 var26 = var_tkwendnode12->type->type_table[cltype27] == idtype28;
7128 }
7129 }
7130 if (!var26) {
7131 fprintf(stderr, "Runtime error: %s", "Assert failed");
7132 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5552);
7133 exit(1);
7134 }
7135 var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7136 var30 = NULL;
7137 var31 = NULL;
7138 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var31, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var29:AStdClassdef>*/;
7139 CHECK_NEW_parser_nodes__AStdClassdef(var29);
7140 var_pclassdefnode1 = var29;
7141 var_node_list = var_pclassdefnode1;
7142 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction107> */
7143 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
7144 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
7145 RET_LABEL:;
7146 }
7147 /* method parser#ReduceAction107#action for (self: Object, Parser) */
7148 void VIRTUAL_parser__ReduceAction107__action(val* self, val* p0) {
7149 parser__ReduceAction107__action(self, p0);
7150 RET_LABEL:;
7151 }
7152 /* method parser#ReduceAction108#action for (self: ReduceAction108, Parser) */
7153 void parser__ReduceAction108__action(val* self, val* p0) {
7154 val* var_p /* var p: Parser */;
7155 val* var /* : null */;
7156 val* var_node_list /* var node_list: nullable Object */;
7157 val* var1 /* : nullable Object */;
7158 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7159 val* var2 /* : nullable Object */;
7160 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7161 val* var3 /* : nullable Object */;
7162 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7163 val* var4 /* : nullable Object */;
7164 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7165 val* var5 /* : nullable Object */;
7166 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7167 val* var6 /* : nullable Object */;
7168 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7169 val* var7 /* : nullable Object */;
7170 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7171 val* var8 /* : nullable Object */;
7172 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7173 val* var9 /* : nullable Object */;
7174 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7175 val* var10 /* : nullable Object */;
7176 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7177 val* var11 /* : Array[Object] */;
7178 val* var_listnode7 /* var listnode7: Array[Object] */;
7179 val* var12 /* : Array[Object] */;
7180 val* var_listnode10 /* var listnode10: Array[Object] */;
7181 val* var13 /* : Array[Object] */;
7182 val* var_listnode11 /* var listnode11: Array[Object] */;
7183 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7184 short int var14 /* : Bool */;
7185 int cltype;
7186 int idtype;
7187 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7188 short int var15 /* : Bool */;
7189 int cltype16;
7190 int idtype17;
7191 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7192 short int var18 /* : Bool */;
7193 int cltype19;
7194 int idtype20;
7195 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7196 short int var21 /* : Bool */;
7197 int cltype22;
7198 int idtype23;
7199 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
7200 short int var24 /* : Bool */;
7201 int cltype25;
7202 int idtype26;
7203 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
7204 short int var27 /* : Bool */;
7205 int cltype28;
7206 int idtype29;
7207 val* var30 /* : AStdClassdef */;
7208 val* var31 /* : null */;
7209 val* var32 /* : null */;
7210 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7211 long var33 /* : Int */;
7212 long var34 /* : Int */;
7213 var_p = p0;
7214 var = NULL;
7215 var_node_list = var;
7216 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7217 var_nodearraylist10 = var1;
7218 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7219 var_nodearraylist9 = var2;
7220 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7221 var_nodearraylist8 = var3;
7222 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7223 var_nodearraylist7 = var4;
7224 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7225 var_nodearraylist6 = var5;
7226 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7227 var_nodearraylist5 = var6;
7228 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7229 var_nodearraylist4 = var7;
7230 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7231 var_nodearraylist3 = var8;
7232 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7233 var_nodearraylist2 = var9;
7234 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7235 var_nodearraylist1 = var10;
7236 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
7237 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
7238 CHECK_NEW_array__Array(var11);
7239 var_listnode7 = var11;
7240 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7241 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7242 CHECK_NEW_array__Array(var12);
7243 var_listnode10 = var12;
7244 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7245 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7246 CHECK_NEW_array__Array(var13);
7247 var_listnode11 = var13;
7248 var_pdocnode2 = var_nodearraylist1;
7249 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7250 cltype = type_nullable_parser_nodes__ADoc.color;
7251 idtype = type_nullable_parser_nodes__ADoc.id;
7252 if(var_pdocnode2 == NULL) {
7253 var14 = 1;
7254 } else {
7255 if(cltype >= var_pdocnode2->type->table_size) {
7256 var14 = 0;
7257 } else {
7258 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
7259 }
7260 }
7261 if (!var14) {
7262 fprintf(stderr, "Runtime error: %s", "Assert failed");
7263 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5589);
7264 exit(1);
7265 }
7266 var_pvisibilitynode4 = var_nodearraylist2;
7267 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7268 cltype16 = type_nullable_parser_nodes__AVisibility.color;
7269 idtype17 = type_nullable_parser_nodes__AVisibility.id;
7270 if(var_pvisibilitynode4 == NULL) {
7271 var15 = 1;
7272 } else {
7273 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
7274 var15 = 0;
7275 } else {
7276 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
7277 }
7278 }
7279 if (!var15) {
7280 fprintf(stderr, "Runtime error: %s", "Assert failed");
7281 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5591);
7282 exit(1);
7283 }
7284 var_pclasskindnode5 = var_nodearraylist3;
7285 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7286 cltype19 = type_nullable_parser_nodes__AClasskind.color;
7287 idtype20 = type_nullable_parser_nodes__AClasskind.id;
7288 if(var_pclasskindnode5 == NULL) {
7289 var18 = 1;
7290 } else {
7291 if(cltype19 >= var_pclasskindnode5->type->table_size) {
7292 var18 = 0;
7293 } else {
7294 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
7295 }
7296 }
7297 if (!var18) {
7298 fprintf(stderr, "Runtime error: %s", "Assert failed");
7299 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5593);
7300 exit(1);
7301 }
7302 var_tclassidnode6 = var_nodearraylist7;
7303 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7304 cltype22 = type_nullable_parser_nodes__TClassid.color;
7305 idtype23 = type_nullable_parser_nodes__TClassid.id;
7306 if(var_tclassidnode6 == NULL) {
7307 var21 = 1;
7308 } else {
7309 if(cltype22 >= var_tclassidnode6->type->table_size) {
7310 var21 = 0;
7311 } else {
7312 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
7313 }
7314 }
7315 if (!var21) {
7316 fprintf(stderr, "Runtime error: %s", "Assert failed");
7317 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5595);
7318 exit(1);
7319 }
7320 var_pexterncodeblocknode9 = var_nodearraylist8;
7321 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
7322 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
7323 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
7324 if(var_pexterncodeblocknode9 == NULL) {
7325 var24 = 1;
7326 } else {
7327 if(cltype25 >= var_pexterncodeblocknode9->type->table_size) {
7328 var24 = 0;
7329 } else {
7330 var24 = var_pexterncodeblocknode9->type->type_table[cltype25] == idtype26;
7331 }
7332 }
7333 if (!var24) {
7334 fprintf(stderr, "Runtime error: %s", "Assert failed");
7335 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5597);
7336 exit(1);
7337 }
7338 var_tkwendnode12 = var_nodearraylist10;
7339 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
7340 cltype28 = type_nullable_parser_nodes__TKwend.color;
7341 idtype29 = type_nullable_parser_nodes__TKwend.id;
7342 if(var_tkwendnode12 == NULL) {
7343 var27 = 1;
7344 } else {
7345 if(cltype28 >= var_tkwendnode12->type->table_size) {
7346 var27 = 0;
7347 } else {
7348 var27 = var_tkwendnode12->type->type_table[cltype28] == idtype29;
7349 }
7350 }
7351 if (!var27) {
7352 fprintf(stderr, "Runtime error: %s", "Assert failed");
7353 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5599);
7354 exit(1);
7355 }
7356 var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7357 var31 = NULL;
7358 var32 = NULL;
7359 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var30, var_pdocnode2, var31, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var32, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var30:AStdClassdef>*/;
7360 CHECK_NEW_parser_nodes__AStdClassdef(var30);
7361 var_pclassdefnode1 = var30;
7362 var_node_list = var_pclassdefnode1;
7363 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction108> */
7364 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
7365 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
7366 RET_LABEL:;
7367 }
7368 /* method parser#ReduceAction108#action for (self: Object, Parser) */
7369 void VIRTUAL_parser__ReduceAction108__action(val* self, val* p0) {
7370 parser__ReduceAction108__action(self, p0);
7371 RET_LABEL:;
7372 }
7373 /* method parser#ReduceAction110#action for (self: ReduceAction110, Parser) */
7374 void parser__ReduceAction110__action(val* self, val* p0) {
7375 val* var_p /* var p: Parser */;
7376 val* var /* : null */;
7377 val* var_node_list /* var node_list: nullable Object */;
7378 val* var1 /* : nullable Object */;
7379 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7380 val* var2 /* : nullable Object */;
7381 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7382 val* var3 /* : nullable Object */;
7383 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7384 val* var4 /* : nullable Object */;
7385 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7386 val* var5 /* : nullable Object */;
7387 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7388 val* var6 /* : nullable Object */;
7389 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7390 val* var7 /* : nullable Object */;
7391 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7392 val* var8 /* : nullable Object */;
7393 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7394 val* var9 /* : nullable Object */;
7395 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7396 val* var10 /* : nullable Object */;
7397 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7398 val* var11 /* : Array[Object] */;
7399 val* var_listnode7 /* var listnode7: Array[Object] */;
7400 val* var12 /* : Array[Object] */;
7401 val* var_listnode10 /* var listnode10: Array[Object] */;
7402 val* var13 /* : Array[Object] */;
7403 val* var_listnode11 /* var listnode11: Array[Object] */;
7404 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7405 short int var14 /* : Bool */;
7406 int cltype;
7407 int idtype;
7408 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7409 short int var15 /* : Bool */;
7410 int cltype16;
7411 int idtype17;
7412 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7413 short int var18 /* : Bool */;
7414 int cltype19;
7415 int idtype20;
7416 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7417 short int var21 /* : Bool */;
7418 int cltype22;
7419 int idtype23;
7420 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7421 short int var24 /* : Bool */;
7422 int cltype25;
7423 int idtype26;
7424 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
7425 short int var27 /* : Bool */;
7426 int cltype28;
7427 int idtype29;
7428 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
7429 short int var30 /* : Bool */;
7430 int cltype31;
7431 int idtype32;
7432 val* var33 /* : AStdClassdef */;
7433 val* var34 /* : null */;
7434 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7435 long var35 /* : Int */;
7436 long var36 /* : Int */;
7437 var_p = p0;
7438 var = NULL;
7439 var_node_list = var;
7440 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7441 var_nodearraylist10 = var1;
7442 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7443 var_nodearraylist9 = var2;
7444 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7445 var_nodearraylist8 = var3;
7446 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7447 var_nodearraylist7 = var4;
7448 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7449 var_nodearraylist6 = var5;
7450 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7451 var_nodearraylist5 = var6;
7452 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7453 var_nodearraylist4 = var7;
7454 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7455 var_nodearraylist3 = var8;
7456 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7457 var_nodearraylist2 = var9;
7458 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7459 var_nodearraylist1 = var10;
7460 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
7461 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
7462 CHECK_NEW_array__Array(var11);
7463 var_listnode7 = var11;
7464 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7465 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7466 CHECK_NEW_array__Array(var12);
7467 var_listnode10 = var12;
7468 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7469 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7470 CHECK_NEW_array__Array(var13);
7471 var_listnode11 = var13;
7472 var_pdocnode2 = var_nodearraylist1;
7473 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7474 cltype = type_nullable_parser_nodes__ADoc.color;
7475 idtype = type_nullable_parser_nodes__ADoc.id;
7476 if(var_pdocnode2 == NULL) {
7477 var14 = 1;
7478 } else {
7479 if(cltype >= var_pdocnode2->type->table_size) {
7480 var14 = 0;
7481 } else {
7482 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
7483 }
7484 }
7485 if (!var14) {
7486 fprintf(stderr, "Runtime error: %s", "Assert failed");
7487 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5636);
7488 exit(1);
7489 }
7490 var_tkwredefnode3 = var_nodearraylist2;
7491 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7492 cltype16 = type_nullable_parser_nodes__TKwredef.color;
7493 idtype17 = type_nullable_parser_nodes__TKwredef.id;
7494 if(var_tkwredefnode3 == NULL) {
7495 var15 = 1;
7496 } else {
7497 if(cltype16 >= var_tkwredefnode3->type->table_size) {
7498 var15 = 0;
7499 } else {
7500 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
7501 }
7502 }
7503 if (!var15) {
7504 fprintf(stderr, "Runtime error: %s", "Assert failed");
7505 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5638);
7506 exit(1);
7507 }
7508 var_pvisibilitynode4 = var_nodearraylist3;
7509 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7510 cltype19 = type_nullable_parser_nodes__AVisibility.color;
7511 idtype20 = type_nullable_parser_nodes__AVisibility.id;
7512 if(var_pvisibilitynode4 == NULL) {
7513 var18 = 1;
7514 } else {
7515 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
7516 var18 = 0;
7517 } else {
7518 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
7519 }
7520 }
7521 if (!var18) {
7522 fprintf(stderr, "Runtime error: %s", "Assert failed");
7523 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5640);
7524 exit(1);
7525 }
7526 var_pclasskindnode5 = var_nodearraylist4;
7527 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7528 cltype22 = type_nullable_parser_nodes__AClasskind.color;
7529 idtype23 = type_nullable_parser_nodes__AClasskind.id;
7530 if(var_pclasskindnode5 == NULL) {
7531 var21 = 1;
7532 } else {
7533 if(cltype22 >= var_pclasskindnode5->type->table_size) {
7534 var21 = 0;
7535 } else {
7536 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
7537 }
7538 }
7539 if (!var21) {
7540 fprintf(stderr, "Runtime error: %s", "Assert failed");
7541 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5642);
7542 exit(1);
7543 }
7544 var_tclassidnode6 = var_nodearraylist7;
7545 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7546 cltype25 = type_nullable_parser_nodes__TClassid.color;
7547 idtype26 = type_nullable_parser_nodes__TClassid.id;
7548 if(var_tclassidnode6 == NULL) {
7549 var24 = 1;
7550 } else {
7551 if(cltype25 >= var_tclassidnode6->type->table_size) {
7552 var24 = 0;
7553 } else {
7554 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
7555 }
7556 }
7557 if (!var24) {
7558 fprintf(stderr, "Runtime error: %s", "Assert failed");
7559 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5644);
7560 exit(1);
7561 }
7562 var_pexterncodeblocknode9 = var_nodearraylist8;
7563 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
7564 cltype28 = type_nullable_parser_nodes__AExternCodeBlock.color;
7565 idtype29 = type_nullable_parser_nodes__AExternCodeBlock.id;
7566 if(var_pexterncodeblocknode9 == NULL) {
7567 var27 = 1;
7568 } else {
7569 if(cltype28 >= var_pexterncodeblocknode9->type->table_size) {
7570 var27 = 0;
7571 } else {
7572 var27 = var_pexterncodeblocknode9->type->type_table[cltype28] == idtype29;
7573 }
7574 }
7575 if (!var27) {
7576 fprintf(stderr, "Runtime error: %s", "Assert failed");
7577 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5646);
7578 exit(1);
7579 }
7580 var_tkwendnode12 = var_nodearraylist10;
7581 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
7582 cltype31 = type_nullable_parser_nodes__TKwend.color;
7583 idtype32 = type_nullable_parser_nodes__TKwend.id;
7584 if(var_tkwendnode12 == NULL) {
7585 var30 = 1;
7586 } else {
7587 if(cltype31 >= var_tkwendnode12->type->table_size) {
7588 var30 = 0;
7589 } else {
7590 var30 = var_tkwendnode12->type->type_table[cltype31] == idtype32;
7591 }
7592 }
7593 if (!var30) {
7594 fprintf(stderr, "Runtime error: %s", "Assert failed");
7595 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5648);
7596 exit(1);
7597 }
7598 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7599 var34 = NULL;
7600 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var34, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var33:AStdClassdef>*/;
7601 CHECK_NEW_parser_nodes__AStdClassdef(var33);
7602 var_pclassdefnode1 = var33;
7603 var_node_list = var_pclassdefnode1;
7604 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction110> */
7605 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
7606 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
7607 RET_LABEL:;
7608 }
7609 /* method parser#ReduceAction110#action for (self: Object, Parser) */
7610 void VIRTUAL_parser__ReduceAction110__action(val* self, val* p0) {
7611 parser__ReduceAction110__action(self, p0);
7612 RET_LABEL:;
7613 }
7614 /* method parser#ReduceAction111#action for (self: ReduceAction111, Parser) */
7615 void parser__ReduceAction111__action(val* self, val* p0) {
7616 val* var_p /* var p: Parser */;
7617 val* var /* : null */;
7618 val* var_node_list /* var node_list: nullable Object */;
7619 val* var1 /* : nullable Object */;
7620 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7621 val* var2 /* : nullable Object */;
7622 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7623 val* var3 /* : nullable Object */;
7624 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7625 val* var4 /* : nullable Object */;
7626 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7627 val* var5 /* : nullable Object */;
7628 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7629 val* var6 /* : nullable Object */;
7630 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7631 val* var7 /* : nullable Object */;
7632 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7633 val* var8 /* : nullable Object */;
7634 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7635 val* var9 /* : nullable Object */;
7636 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7637 val* var10 /* : nullable Object */;
7638 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7639 val* var11 /* : nullable Object */;
7640 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7641 val* var12 /* : Array[Object] */;
7642 val* var_listnode7 /* var listnode7: Array[Object] */;
7643 val* var13 /* : Array[Object] */;
7644 val* var_listnode10 /* var listnode10: Array[Object] */;
7645 val* var14 /* : Array[Object] */;
7646 val* var_listnode11 /* var listnode11: Array[Object] */;
7647 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7648 short int var15 /* : Bool */;
7649 int cltype;
7650 int idtype;
7651 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7652 short int var16 /* : Bool */;
7653 int cltype17;
7654 int idtype18;
7655 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7656 short int var19 /* : Bool */;
7657 int cltype20;
7658 int idtype21;
7659 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7660 short int var22 /* : Bool */;
7661 int cltype23;
7662 int idtype24;
7663 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7664 short int var25 /* : Bool */;
7665 int cltype26;
7666 int idtype27;
7667 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
7668 short int var28 /* : Bool */;
7669 int cltype29;
7670 int idtype30;
7671 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
7672 short int var31 /* : Bool */;
7673 int cltype32;
7674 int idtype33;
7675 val* var34 /* : AStdClassdef */;
7676 val* var35 /* : null */;
7677 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7678 long var36 /* : Int */;
7679 long var37 /* : Int */;
7680 var_p = p0;
7681 var = NULL;
7682 var_node_list = var;
7683 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7684 var_nodearraylist11 = var1;
7685 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7686 var_nodearraylist10 = var2;
7687 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7688 var_nodearraylist9 = var3;
7689 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7690 var_nodearraylist8 = var4;
7691 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7692 var_nodearraylist7 = var5;
7693 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7694 var_nodearraylist6 = var6;
7695 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7696 var_nodearraylist5 = var7;
7697 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7698 var_nodearraylist4 = var8;
7699 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7700 var_nodearraylist3 = var9;
7701 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7702 var_nodearraylist2 = var10;
7703 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7704 var_nodearraylist1 = var11;
7705 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7706 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7707 CHECK_NEW_array__Array(var12);
7708 var_listnode7 = var12;
7709 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7710 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7711 CHECK_NEW_array__Array(var13);
7712 var_listnode10 = var13;
7713 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7714 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7715 CHECK_NEW_array__Array(var14);
7716 var_listnode11 = var14;
7717 var_pdocnode2 = var_nodearraylist1;
7718 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7719 cltype = type_nullable_parser_nodes__ADoc.color;
7720 idtype = type_nullable_parser_nodes__ADoc.id;
7721 if(var_pdocnode2 == NULL) {
7722 var15 = 1;
7723 } else {
7724 if(cltype >= var_pdocnode2->type->table_size) {
7725 var15 = 0;
7726 } else {
7727 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
7728 }
7729 }
7730 if (!var15) {
7731 fprintf(stderr, "Runtime error: %s", "Assert failed");
7732 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5686);
7733 exit(1);
7734 }
7735 var_tkwredefnode3 = var_nodearraylist2;
7736 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7737 cltype17 = type_nullable_parser_nodes__TKwredef.color;
7738 idtype18 = type_nullable_parser_nodes__TKwredef.id;
7739 if(var_tkwredefnode3 == NULL) {
7740 var16 = 1;
7741 } else {
7742 if(cltype17 >= var_tkwredefnode3->type->table_size) {
7743 var16 = 0;
7744 } else {
7745 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
7746 }
7747 }
7748 if (!var16) {
7749 fprintf(stderr, "Runtime error: %s", "Assert failed");
7750 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5688);
7751 exit(1);
7752 }
7753 var_pvisibilitynode4 = var_nodearraylist3;
7754 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7755 cltype20 = type_nullable_parser_nodes__AVisibility.color;
7756 idtype21 = type_nullable_parser_nodes__AVisibility.id;
7757 if(var_pvisibilitynode4 == NULL) {
7758 var19 = 1;
7759 } else {
7760 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
7761 var19 = 0;
7762 } else {
7763 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
7764 }
7765 }
7766 if (!var19) {
7767 fprintf(stderr, "Runtime error: %s", "Assert failed");
7768 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5690);
7769 exit(1);
7770 }
7771 var_pclasskindnode5 = var_nodearraylist4;
7772 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7773 cltype23 = type_nullable_parser_nodes__AClasskind.color;
7774 idtype24 = type_nullable_parser_nodes__AClasskind.id;
7775 if(var_pclasskindnode5 == NULL) {
7776 var22 = 1;
7777 } else {
7778 if(cltype23 >= var_pclasskindnode5->type->table_size) {
7779 var22 = 0;
7780 } else {
7781 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
7782 }
7783 }
7784 if (!var22) {
7785 fprintf(stderr, "Runtime error: %s", "Assert failed");
7786 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5692);
7787 exit(1);
7788 }
7789 var_tclassidnode6 = var_nodearraylist8;
7790 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7791 cltype26 = type_nullable_parser_nodes__TClassid.color;
7792 idtype27 = type_nullable_parser_nodes__TClassid.id;
7793 if(var_tclassidnode6 == NULL) {
7794 var25 = 1;
7795 } else {
7796 if(cltype26 >= var_tclassidnode6->type->table_size) {
7797 var25 = 0;
7798 } else {
7799 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
7800 }
7801 }
7802 if (!var25) {
7803 fprintf(stderr, "Runtime error: %s", "Assert failed");
7804 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5694);
7805 exit(1);
7806 }
7807 var_pexterncodeblocknode9 = var_nodearraylist9;
7808 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
7809 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
7810 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
7811 if(var_pexterncodeblocknode9 == NULL) {
7812 var28 = 1;
7813 } else {
7814 if(cltype29 >= var_pexterncodeblocknode9->type->table_size) {
7815 var28 = 0;
7816 } else {
7817 var28 = var_pexterncodeblocknode9->type->type_table[cltype29] == idtype30;
7818 }
7819 }
7820 if (!var28) {
7821 fprintf(stderr, "Runtime error: %s", "Assert failed");
7822 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5696);
7823 exit(1);
7824 }
7825 var_tkwendnode12 = var_nodearraylist11;
7826 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
7827 cltype32 = type_nullable_parser_nodes__TKwend.color;
7828 idtype33 = type_nullable_parser_nodes__TKwend.id;
7829 if(var_tkwendnode12 == NULL) {
7830 var31 = 1;
7831 } else {
7832 if(cltype32 >= var_tkwendnode12->type->table_size) {
7833 var31 = 0;
7834 } else {
7835 var31 = var_tkwendnode12->type->type_table[cltype32] == idtype33;
7836 }
7837 }
7838 if (!var31) {
7839 fprintf(stderr, "Runtime error: %s", "Assert failed");
7840 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5698);
7841 exit(1);
7842 }
7843 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7844 var35 = NULL;
7845 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var35, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var34:AStdClassdef>*/;
7846 CHECK_NEW_parser_nodes__AStdClassdef(var34);
7847 var_pclassdefnode1 = var34;
7848 var_node_list = var_pclassdefnode1;
7849 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction111> */
7850 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
7851 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
7852 RET_LABEL:;
7853 }
7854 /* method parser#ReduceAction111#action for (self: Object, Parser) */
7855 void VIRTUAL_parser__ReduceAction111__action(val* self, val* p0) {
7856 parser__ReduceAction111__action(self, p0);
7857 RET_LABEL:;
7858 }
7859 /* method parser#ReduceAction113#action for (self: ReduceAction113, Parser) */
7860 void parser__ReduceAction113__action(val* self, val* p0) {
7861 val* var_p /* var p: Parser */;
7862 val* var /* : null */;
7863 val* var_node_list /* var node_list: nullable Object */;
7864 val* var1 /* : nullable Object */;
7865 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7866 val* var2 /* : nullable Object */;
7867 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7868 val* var3 /* : nullable Object */;
7869 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7870 val* var4 /* : nullable Object */;
7871 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7872 val* var5 /* : nullable Object */;
7873 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7874 val* var6 /* : nullable Object */;
7875 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7876 val* var7 /* : nullable Object */;
7877 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7878 val* var8 /* : nullable Object */;
7879 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7880 val* var9 /* : nullable Object */;
7881 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7882 val* var10 /* : Array[Object] */;
7883 val* var_listnode8 /* var listnode8: Array[Object] */;
7884 val* var11 /* : Array[Object] */;
7885 val* var_listnode11 /* var listnode11: Array[Object] */;
7886 val* var12 /* : Array[Object] */;
7887 val* var_listnode12 /* var listnode12: Array[Object] */;
7888 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7889 short int var13 /* : Bool */;
7890 int cltype;
7891 int idtype;
7892 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7893 short int var14 /* : Bool */;
7894 int cltype15;
7895 int idtype16;
7896 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7897 short int var17 /* : Bool */;
7898 int cltype18;
7899 int idtype19;
7900 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7901 short int var20 /* : Bool */;
7902 int cltype21;
7903 int idtype22;
7904 val* var_listnode7 /* var listnode7: nullable Object */;
7905 short int var23 /* : Bool */;
7906 int cltype24;
7907 int idtype25;
7908 val* var26 /* : Array[Object] */;
7909 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
7910 short int var27 /* : Bool */;
7911 int cltype28;
7912 int idtype29;
7913 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
7914 short int var30 /* : Bool */;
7915 int cltype31;
7916 int idtype32;
7917 val* var33 /* : AStdClassdef */;
7918 val* var34 /* : null */;
7919 val* var35 /* : null */;
7920 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7921 long var36 /* : Int */;
7922 long var37 /* : Int */;
7923 var_p = p0;
7924 var = NULL;
7925 var_node_list = var;
7926 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7927 var_nodearraylist9 = var1;
7928 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7929 var_nodearraylist8 = var2;
7930 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7931 var_nodearraylist7 = var3;
7932 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7933 var_nodearraylist6 = var4;
7934 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7935 var_nodearraylist5 = var5;
7936 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7937 var_nodearraylist4 = var6;
7938 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7939 var_nodearraylist3 = var7;
7940 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7941 var_nodearraylist2 = var8;
7942 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7943 var_nodearraylist1 = var9;
7944 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
7945 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
7946 CHECK_NEW_array__Array(var10);
7947 var_listnode8 = var10;
7948 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
7949 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
7950 CHECK_NEW_array__Array(var11);
7951 var_listnode11 = var11;
7952 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7953 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7954 CHECK_NEW_array__Array(var12);
7955 var_listnode12 = var12;
7956 var_pdocnode2 = var_nodearraylist1;
7957 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7958 cltype = type_nullable_parser_nodes__ADoc.color;
7959 idtype = type_nullable_parser_nodes__ADoc.id;
7960 if(var_pdocnode2 == NULL) {
7961 var13 = 1;
7962 } else {
7963 if(cltype >= var_pdocnode2->type->table_size) {
7964 var13 = 0;
7965 } else {
7966 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
7967 }
7968 }
7969 if (!var13) {
7970 fprintf(stderr, "Runtime error: %s", "Assert failed");
7971 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5734);
7972 exit(1);
7973 }
7974 var_pvisibilitynode4 = var_nodearraylist2;
7975 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7976 cltype15 = type_nullable_parser_nodes__AVisibility.color;
7977 idtype16 = type_nullable_parser_nodes__AVisibility.id;
7978 if(var_pvisibilitynode4 == NULL) {
7979 var14 = 1;
7980 } else {
7981 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
7982 var14 = 0;
7983 } else {
7984 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
7985 }
7986 }
7987 if (!var14) {
7988 fprintf(stderr, "Runtime error: %s", "Assert failed");
7989 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5736);
7990 exit(1);
7991 }
7992 var_pclasskindnode5 = var_nodearraylist3;
7993 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7994 cltype18 = type_nullable_parser_nodes__AClasskind.color;
7995 idtype19 = type_nullable_parser_nodes__AClasskind.id;
7996 if(var_pclasskindnode5 == NULL) {
7997 var17 = 1;
7998 } else {
7999 if(cltype18 >= var_pclasskindnode5->type->table_size) {
8000 var17 = 0;
8001 } else {
8002 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
8003 }
8004 }
8005 if (!var17) {
8006 fprintf(stderr, "Runtime error: %s", "Assert failed");
8007 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5738);
8008 exit(1);
8009 }
8010 var_tclassidnode6 = var_nodearraylist5;
8011 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8012 cltype21 = type_nullable_parser_nodes__TClassid.color;
8013 idtype22 = type_nullable_parser_nodes__TClassid.id;
8014 if(var_tclassidnode6 == NULL) {
8015 var20 = 1;
8016 } else {
8017 if(cltype21 >= var_tclassidnode6->type->table_size) {
8018 var20 = 0;
8019 } else {
8020 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
8021 }
8022 }
8023 if (!var20) {
8024 fprintf(stderr, "Runtime error: %s", "Assert failed");
8025 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5740);
8026 exit(1);
8027 }
8028 var_listnode7 = var_nodearraylist6;
8029 /* <var_listnode7:nullable Object> isa Array[Object] */
8030 cltype24 = type_array__Arraykernel__Object.color;
8031 idtype25 = type_array__Arraykernel__Object.id;
8032 if(var_listnode7 == NULL) {
8033 var23 = 0;
8034 } else {
8035 if(cltype24 >= var_listnode7->type->table_size) {
8036 var23 = 0;
8037 } else {
8038 var23 = var_listnode7->type->type_table[cltype24] == idtype25;
8039 }
8040 }
8041 if (!var23) {
8042 fprintf(stderr, "Runtime error: %s", "Assert failed");
8043 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5742);
8044 exit(1);
8045 }
8046 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction113>*/;
8047 var_listnode8 = var26;
8048 var_pexterncodeblocknode10 = var_nodearraylist7;
8049 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8050 cltype28 = type_nullable_parser_nodes__AExternCodeBlock.color;
8051 idtype29 = type_nullable_parser_nodes__AExternCodeBlock.id;
8052 if(var_pexterncodeblocknode10 == NULL) {
8053 var27 = 1;
8054 } else {
8055 if(cltype28 >= var_pexterncodeblocknode10->type->table_size) {
8056 var27 = 0;
8057 } else {
8058 var27 = var_pexterncodeblocknode10->type->type_table[cltype28] == idtype29;
8059 }
8060 }
8061 if (!var27) {
8062 fprintf(stderr, "Runtime error: %s", "Assert failed");
8063 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5745);
8064 exit(1);
8065 }
8066 var_tkwendnode13 = var_nodearraylist9;
8067 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
8068 cltype31 = type_nullable_parser_nodes__TKwend.color;
8069 idtype32 = type_nullable_parser_nodes__TKwend.id;
8070 if(var_tkwendnode13 == NULL) {
8071 var30 = 1;
8072 } else {
8073 if(cltype31 >= var_tkwendnode13->type->table_size) {
8074 var30 = 0;
8075 } else {
8076 var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32;
8077 }
8078 }
8079 if (!var30) {
8080 fprintf(stderr, "Runtime error: %s", "Assert failed");
8081 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5747);
8082 exit(1);
8083 }
8084 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8085 var34 = NULL;
8086 var35 = NULL;
8087 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var34, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var35, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var33:AStdClassdef>*/;
8088 CHECK_NEW_parser_nodes__AStdClassdef(var33);
8089 var_pclassdefnode1 = var33;
8090 var_node_list = var_pclassdefnode1;
8091 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction113> */
8092 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
8093 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
8094 RET_LABEL:;
8095 }
8096 /* method parser#ReduceAction113#action for (self: Object, Parser) */
8097 void VIRTUAL_parser__ReduceAction113__action(val* self, val* p0) {
8098 parser__ReduceAction113__action(self, p0);
8099 RET_LABEL:;
8100 }
8101 /* method parser#ReduceAction114#action for (self: ReduceAction114, Parser) */
8102 void parser__ReduceAction114__action(val* self, val* p0) {
8103 val* var_p /* var p: Parser */;
8104 val* var /* : null */;
8105 val* var_node_list /* var node_list: nullable Object */;
8106 val* var1 /* : nullable Object */;
8107 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8108 val* var2 /* : nullable Object */;
8109 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8110 val* var3 /* : nullable Object */;
8111 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8112 val* var4 /* : nullable Object */;
8113 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8114 val* var5 /* : nullable Object */;
8115 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8116 val* var6 /* : nullable Object */;
8117 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8118 val* var7 /* : nullable Object */;
8119 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8120 val* var8 /* : nullable Object */;
8121 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8122 val* var9 /* : nullable Object */;
8123 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8124 val* var10 /* : nullable Object */;
8125 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8126 val* var11 /* : Array[Object] */;
8127 val* var_listnode8 /* var listnode8: Array[Object] */;
8128 val* var12 /* : Array[Object] */;
8129 val* var_listnode11 /* var listnode11: Array[Object] */;
8130 val* var13 /* : Array[Object] */;
8131 val* var_listnode12 /* var listnode12: Array[Object] */;
8132 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8133 short int var14 /* : Bool */;
8134 int cltype;
8135 int idtype;
8136 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8137 short int var15 /* : Bool */;
8138 int cltype16;
8139 int idtype17;
8140 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8141 short int var18 /* : Bool */;
8142 int cltype19;
8143 int idtype20;
8144 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8145 short int var21 /* : Bool */;
8146 int cltype22;
8147 int idtype23;
8148 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8149 short int var24 /* : Bool */;
8150 int cltype25;
8151 int idtype26;
8152 val* var_listnode7 /* var listnode7: nullable Object */;
8153 short int var27 /* : Bool */;
8154 int cltype28;
8155 int idtype29;
8156 val* var30 /* : Array[Object] */;
8157 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8158 short int var31 /* : Bool */;
8159 int cltype32;
8160 int idtype33;
8161 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
8162 short int var34 /* : Bool */;
8163 int cltype35;
8164 int idtype36;
8165 val* var37 /* : AStdClassdef */;
8166 val* var38 /* : null */;
8167 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8168 long var39 /* : Int */;
8169 long var40 /* : Int */;
8170 var_p = p0;
8171 var = NULL;
8172 var_node_list = var;
8173 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8174 var_nodearraylist10 = var1;
8175 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8176 var_nodearraylist9 = var2;
8177 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8178 var_nodearraylist8 = var3;
8179 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8180 var_nodearraylist7 = var4;
8181 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8182 var_nodearraylist6 = var5;
8183 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8184 var_nodearraylist5 = var6;
8185 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8186 var_nodearraylist4 = var7;
8187 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8188 var_nodearraylist3 = var8;
8189 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8190 var_nodearraylist2 = var9;
8191 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8192 var_nodearraylist1 = var10;
8193 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
8194 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
8195 CHECK_NEW_array__Array(var11);
8196 var_listnode8 = var11;
8197 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8198 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8199 CHECK_NEW_array__Array(var12);
8200 var_listnode11 = var12;
8201 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8202 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8203 CHECK_NEW_array__Array(var13);
8204 var_listnode12 = var13;
8205 var_pdocnode2 = var_nodearraylist1;
8206 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8207 cltype = type_nullable_parser_nodes__ADoc.color;
8208 idtype = type_nullable_parser_nodes__ADoc.id;
8209 if(var_pdocnode2 == NULL) {
8210 var14 = 1;
8211 } else {
8212 if(cltype >= var_pdocnode2->type->table_size) {
8213 var14 = 0;
8214 } else {
8215 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
8216 }
8217 }
8218 if (!var14) {
8219 fprintf(stderr, "Runtime error: %s", "Assert failed");
8220 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5784);
8221 exit(1);
8222 }
8223 var_tkwredefnode3 = var_nodearraylist2;
8224 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8225 cltype16 = type_nullable_parser_nodes__TKwredef.color;
8226 idtype17 = type_nullable_parser_nodes__TKwredef.id;
8227 if(var_tkwredefnode3 == NULL) {
8228 var15 = 1;
8229 } else {
8230 if(cltype16 >= var_tkwredefnode3->type->table_size) {
8231 var15 = 0;
8232 } else {
8233 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
8234 }
8235 }
8236 if (!var15) {
8237 fprintf(stderr, "Runtime error: %s", "Assert failed");
8238 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5786);
8239 exit(1);
8240 }
8241 var_pvisibilitynode4 = var_nodearraylist3;
8242 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8243 cltype19 = type_nullable_parser_nodes__AVisibility.color;
8244 idtype20 = type_nullable_parser_nodes__AVisibility.id;
8245 if(var_pvisibilitynode4 == NULL) {
8246 var18 = 1;
8247 } else {
8248 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
8249 var18 = 0;
8250 } else {
8251 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
8252 }
8253 }
8254 if (!var18) {
8255 fprintf(stderr, "Runtime error: %s", "Assert failed");
8256 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5788);
8257 exit(1);
8258 }
8259 var_pclasskindnode5 = var_nodearraylist4;
8260 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8261 cltype22 = type_nullable_parser_nodes__AClasskind.color;
8262 idtype23 = type_nullable_parser_nodes__AClasskind.id;
8263 if(var_pclasskindnode5 == NULL) {
8264 var21 = 1;
8265 } else {
8266 if(cltype22 >= var_pclasskindnode5->type->table_size) {
8267 var21 = 0;
8268 } else {
8269 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
8270 }
8271 }
8272 if (!var21) {
8273 fprintf(stderr, "Runtime error: %s", "Assert failed");
8274 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5790);
8275 exit(1);
8276 }
8277 var_tclassidnode6 = var_nodearraylist6;
8278 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8279 cltype25 = type_nullable_parser_nodes__TClassid.color;
8280 idtype26 = type_nullable_parser_nodes__TClassid.id;
8281 if(var_tclassidnode6 == NULL) {
8282 var24 = 1;
8283 } else {
8284 if(cltype25 >= var_tclassidnode6->type->table_size) {
8285 var24 = 0;
8286 } else {
8287 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
8288 }
8289 }
8290 if (!var24) {
8291 fprintf(stderr, "Runtime error: %s", "Assert failed");
8292 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5792);
8293 exit(1);
8294 }
8295 var_listnode7 = var_nodearraylist7;
8296 /* <var_listnode7:nullable Object> isa Array[Object] */
8297 cltype28 = type_array__Arraykernel__Object.color;
8298 idtype29 = type_array__Arraykernel__Object.id;
8299 if(var_listnode7 == NULL) {
8300 var27 = 0;
8301 } else {
8302 if(cltype28 >= var_listnode7->type->table_size) {
8303 var27 = 0;
8304 } else {
8305 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
8306 }
8307 }
8308 if (!var27) {
8309 fprintf(stderr, "Runtime error: %s", "Assert failed");
8310 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5794);
8311 exit(1);
8312 }
8313 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction114>*/;
8314 var_listnode8 = var30;
8315 var_pexterncodeblocknode10 = var_nodearraylist8;
8316 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8317 cltype32 = type_nullable_parser_nodes__AExternCodeBlock.color;
8318 idtype33 = type_nullable_parser_nodes__AExternCodeBlock.id;
8319 if(var_pexterncodeblocknode10 == NULL) {
8320 var31 = 1;
8321 } else {
8322 if(cltype32 >= var_pexterncodeblocknode10->type->table_size) {
8323 var31 = 0;
8324 } else {
8325 var31 = var_pexterncodeblocknode10->type->type_table[cltype32] == idtype33;
8326 }
8327 }
8328 if (!var31) {
8329 fprintf(stderr, "Runtime error: %s", "Assert failed");
8330 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5797);
8331 exit(1);
8332 }
8333 var_tkwendnode13 = var_nodearraylist10;
8334 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
8335 cltype35 = type_nullable_parser_nodes__TKwend.color;
8336 idtype36 = type_nullable_parser_nodes__TKwend.id;
8337 if(var_tkwendnode13 == NULL) {
8338 var34 = 1;
8339 } else {
8340 if(cltype35 >= var_tkwendnode13->type->table_size) {
8341 var34 = 0;
8342 } else {
8343 var34 = var_tkwendnode13->type->type_table[cltype35] == idtype36;
8344 }
8345 }
8346 if (!var34) {
8347 fprintf(stderr, "Runtime error: %s", "Assert failed");
8348 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5799);
8349 exit(1);
8350 }
8351 var37 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8352 var38 = NULL;
8353 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var37, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var38, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var37:AStdClassdef>*/;
8354 CHECK_NEW_parser_nodes__AStdClassdef(var37);
8355 var_pclassdefnode1 = var37;
8356 var_node_list = var_pclassdefnode1;
8357 var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction114> */
8358 var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on <var_p:Parser>*/;
8359 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on <var_p:Parser>*/;
8360 RET_LABEL:;
8361 }
8362 /* method parser#ReduceAction114#action for (self: Object, Parser) */
8363 void VIRTUAL_parser__ReduceAction114__action(val* self, val* p0) {
8364 parser__ReduceAction114__action(self, p0);
8365 RET_LABEL:;
8366 }
8367 /* method parser#ReduceAction115#action for (self: ReduceAction115, Parser) */
8368 void parser__ReduceAction115__action(val* self, val* p0) {
8369 val* var_p /* var p: Parser */;
8370 val* var /* : null */;
8371 val* var_node_list /* var node_list: nullable Object */;
8372 val* var1 /* : nullable Object */;
8373 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8374 val* var2 /* : nullable Object */;
8375 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8376 val* var3 /* : nullable Object */;
8377 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8378 val* var4 /* : nullable Object */;
8379 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8380 val* var5 /* : nullable Object */;
8381 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8382 val* var6 /* : nullable Object */;
8383 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8384 val* var7 /* : nullable Object */;
8385 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8386 val* var8 /* : nullable Object */;
8387 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8388 val* var9 /* : nullable Object */;
8389 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8390 val* var10 /* : nullable Object */;
8391 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8392 val* var11 /* : Array[Object] */;
8393 val* var_listnode8 /* var listnode8: Array[Object] */;
8394 val* var12 /* : Array[Object] */;
8395 val* var_listnode11 /* var listnode11: Array[Object] */;
8396 val* var13 /* : Array[Object] */;
8397 val* var_listnode12 /* var listnode12: Array[Object] */;
8398 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8399 short int var14 /* : Bool */;
8400 int cltype;
8401 int idtype;
8402 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8403 short int var15 /* : Bool */;
8404 int cltype16;
8405 int idtype17;
8406 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8407 short int var18 /* : Bool */;
8408 int cltype19;
8409 int idtype20;
8410 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8411 short int var21 /* : Bool */;
8412 int cltype22;
8413 int idtype23;
8414 val* var_listnode7 /* var listnode7: nullable Object */;
8415 short int var24 /* : Bool */;
8416 int cltype25;
8417 int idtype26;
8418 val* var27 /* : Array[Object] */;
8419 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8420 short int var28 /* : Bool */;
8421 int cltype29;
8422 int idtype30;
8423 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
8424 short int var31 /* : Bool */;
8425 int cltype32;
8426 int idtype33;
8427 val* var34 /* : AStdClassdef */;
8428 val* var35 /* : null */;
8429 val* var36 /* : null */;
8430 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8431 long var37 /* : Int */;
8432 long var38 /* : Int */;
8433 var_p = p0;
8434 var = NULL;
8435 var_node_list = var;
8436 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8437 var_nodearraylist10 = var1;
8438 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8439 var_nodearraylist9 = var2;
8440 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8441 var_nodearraylist8 = var3;
8442 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8443 var_nodearraylist7 = var4;
8444 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8445 var_nodearraylist6 = var5;
8446 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8447 var_nodearraylist5 = var6;
8448 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8449 var_nodearraylist4 = var7;
8450 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8451 var_nodearraylist3 = var8;
8452 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8453 var_nodearraylist2 = var9;
8454 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8455 var_nodearraylist1 = var10;
8456 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
8457 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
8458 CHECK_NEW_array__Array(var11);
8459 var_listnode8 = var11;
8460 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8461 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8462 CHECK_NEW_array__Array(var12);
8463 var_listnode11 = var12;
8464 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8465 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8466 CHECK_NEW_array__Array(var13);
8467 var_listnode12 = var13;
8468 var_pdocnode2 = var_nodearraylist1;
8469 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8470 cltype = type_nullable_parser_nodes__ADoc.color;
8471 idtype = type_nullable_parser_nodes__ADoc.id;
8472 if(var_pdocnode2 == NULL) {
8473 var14 = 1;
8474 } else {
8475 if(cltype >= var_pdocnode2->type->table_size) {
8476 var14 = 0;
8477 } else {
8478 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
8479 }
8480 }
8481 if (!var14) {
8482 fprintf(stderr, "Runtime error: %s", "Assert failed");
8483 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5836);
8484 exit(1);
8485 }
8486 var_pvisibilitynode4 = var_nodearraylist2;
8487 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8488 cltype16 = type_nullable_parser_nodes__AVisibility.color;
8489 idtype17 = type_nullable_parser_nodes__AVisibility.id;
8490 if(var_pvisibilitynode4 == NULL) {
8491 var15 = 1;
8492 } else {
8493 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
8494 var15 = 0;
8495 } else {
8496 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
8497 }
8498 }
8499 if (!var15) {
8500 fprintf(stderr, "Runtime error: %s", "Assert failed");
8501 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5838);
8502 exit(1);
8503 }
8504 var_pclasskindnode5 = var_nodearraylist3;
8505 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8506 cltype19 = type_nullable_parser_nodes__AClasskind.color;
8507 idtype20 = type_nullable_parser_nodes__AClasskind.id;
8508 if(var_pclasskindnode5 == NULL) {
8509 var18 = 1;
8510 } else {
8511 if(cltype19 >= var_pclasskindnode5->type->table_size) {
8512 var18 = 0;
8513 } else {
8514 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
8515 }
8516 }
8517 if (!var18) {
8518 fprintf(stderr, "Runtime error: %s", "Assert failed");
8519 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5840);
8520 exit(1);
8521 }
8522 var_tclassidnode6 = var_nodearraylist6;
8523 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8524 cltype22 = type_nullable_parser_nodes__TClassid.color;
8525 idtype23 = type_nullable_parser_nodes__TClassid.id;
8526 if(var_tclassidnode6 == NULL) {
8527 var21 = 1;
8528 } else {
8529 if(cltype22 >= var_tclassidnode6->type->table_size) {
8530 var21 = 0;
8531 } else {
8532 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
8533 }
8534 }
8535 if (!var21) {
8536 fprintf(stderr, "Runtime error: %s", "Assert failed");
8537 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5842);
8538 exit(1);
8539 }
8540 var_listnode7 = var_nodearraylist7;
8541 /* <var_listnode7:nullable Object> isa Array[Object] */
8542 cltype25 = type_array__Arraykernel__Object.color;
8543 idtype26 = type_array__Arraykernel__Object.id;
8544 if(var_listnode7 == NULL) {
8545 var24 = 0;
8546 } else {
8547 if(cltype25 >= var_listnode7->type->table_size) {
8548 var24 = 0;
8549 } else {
8550 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
8551 }
8552 }
8553 if (!var24) {
8554 fprintf(stderr, "Runtime error: %s", "Assert failed");
8555 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5844);
8556 exit(1);
8557 }
8558 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction115>*/;
8559 var_listnode8 = var27;
8560 var_pexterncodeblocknode10 = var_nodearraylist8;
8561 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8562 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
8563 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
8564 if(var_pexterncodeblocknode10 == NULL) {
8565 var28 = 1;
8566 } else {
8567 if(cltype29 >= var_pexterncodeblocknode10->type->table_size) {
8568 var28 = 0;
8569 } else {
8570 var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30;
8571 }
8572 }
8573 if (!var28) {
8574 fprintf(stderr, "Runtime error: %s", "Assert failed");
8575 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5847);
8576 exit(1);
8577 }
8578 var_tkwendnode13 = var_nodearraylist10;
8579 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
8580 cltype32 = type_nullable_parser_nodes__TKwend.color;
8581 idtype33 = type_nullable_parser_nodes__TKwend.id;
8582 if(var_tkwendnode13 == NULL) {
8583 var31 = 1;
8584 } else {
8585 if(cltype32 >= var_tkwendnode13->type->table_size) {
8586 var31 = 0;
8587 } else {
8588 var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33;
8589 }
8590 }
8591 if (!var31) {
8592 fprintf(stderr, "Runtime error: %s", "Assert failed");
8593 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5849);
8594 exit(1);
8595 }
8596 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8597 var35 = NULL;
8598 var36 = NULL;
8599 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var35, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var36, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var34:AStdClassdef>*/;
8600 CHECK_NEW_parser_nodes__AStdClassdef(var34);
8601 var_pclassdefnode1 = var34;
8602 var_node_list = var_pclassdefnode1;
8603 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction115> */
8604 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
8605 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
8606 RET_LABEL:;
8607 }
8608 /* method parser#ReduceAction115#action for (self: Object, Parser) */
8609 void VIRTUAL_parser__ReduceAction115__action(val* self, val* p0) {
8610 parser__ReduceAction115__action(self, p0);
8611 RET_LABEL:;
8612 }
8613 /* method parser#ReduceAction116#action for (self: ReduceAction116, Parser) */
8614 void parser__ReduceAction116__action(val* self, val* p0) {
8615 val* var_p /* var p: Parser */;
8616 val* var /* : null */;
8617 val* var_node_list /* var node_list: nullable Object */;
8618 val* var1 /* : nullable Object */;
8619 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8620 val* var2 /* : nullable Object */;
8621 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8622 val* var3 /* : nullable Object */;
8623 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8624 val* var4 /* : nullable Object */;
8625 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8626 val* var5 /* : nullable Object */;
8627 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8628 val* var6 /* : nullable Object */;
8629 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8630 val* var7 /* : nullable Object */;
8631 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8632 val* var8 /* : nullable Object */;
8633 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8634 val* var9 /* : nullable Object */;
8635 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8636 val* var10 /* : nullable Object */;
8637 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8638 val* var11 /* : nullable Object */;
8639 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8640 val* var12 /* : Array[Object] */;
8641 val* var_listnode8 /* var listnode8: Array[Object] */;
8642 val* var13 /* : Array[Object] */;
8643 val* var_listnode11 /* var listnode11: Array[Object] */;
8644 val* var14 /* : Array[Object] */;
8645 val* var_listnode12 /* var listnode12: Array[Object] */;
8646 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8647 short int var15 /* : Bool */;
8648 int cltype;
8649 int idtype;
8650 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8651 short int var16 /* : Bool */;
8652 int cltype17;
8653 int idtype18;
8654 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8655 short int var19 /* : Bool */;
8656 int cltype20;
8657 int idtype21;
8658 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8659 short int var22 /* : Bool */;
8660 int cltype23;
8661 int idtype24;
8662 val* var_listnode7 /* var listnode7: nullable Object */;
8663 short int var25 /* : Bool */;
8664 int cltype26;
8665 int idtype27;
8666 val* var28 /* : Array[Object] */;
8667 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8668 short int var29 /* : Bool */;
8669 int cltype30;
8670 int idtype31;
8671 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
8672 short int var32 /* : Bool */;
8673 int cltype33;
8674 int idtype34;
8675 val* var35 /* : AStdClassdef */;
8676 val* var36 /* : null */;
8677 val* var37 /* : null */;
8678 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8679 long var38 /* : Int */;
8680 long var39 /* : Int */;
8681 var_p = p0;
8682 var = NULL;
8683 var_node_list = var;
8684 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8685 var_nodearraylist11 = var1;
8686 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8687 var_nodearraylist10 = var2;
8688 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8689 var_nodearraylist9 = var3;
8690 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8691 var_nodearraylist8 = var4;
8692 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8693 var_nodearraylist7 = var5;
8694 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8695 var_nodearraylist6 = var6;
8696 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8697 var_nodearraylist5 = var7;
8698 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8699 var_nodearraylist4 = var8;
8700 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8701 var_nodearraylist3 = var9;
8702 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8703 var_nodearraylist2 = var10;
8704 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8705 var_nodearraylist1 = var11;
8706 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8707 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8708 CHECK_NEW_array__Array(var12);
8709 var_listnode8 = var12;
8710 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8711 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8712 CHECK_NEW_array__Array(var13);
8713 var_listnode11 = var13;
8714 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8715 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8716 CHECK_NEW_array__Array(var14);
8717 var_listnode12 = var14;
8718 var_pdocnode2 = var_nodearraylist1;
8719 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8720 cltype = type_nullable_parser_nodes__ADoc.color;
8721 idtype = type_nullable_parser_nodes__ADoc.id;
8722 if(var_pdocnode2 == NULL) {
8723 var15 = 1;
8724 } else {
8725 if(cltype >= var_pdocnode2->type->table_size) {
8726 var15 = 0;
8727 } else {
8728 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
8729 }
8730 }
8731 if (!var15) {
8732 fprintf(stderr, "Runtime error: %s", "Assert failed");
8733 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5887);
8734 exit(1);
8735 }
8736 var_pvisibilitynode4 = var_nodearraylist2;
8737 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8738 cltype17 = type_nullable_parser_nodes__AVisibility.color;
8739 idtype18 = type_nullable_parser_nodes__AVisibility.id;
8740 if(var_pvisibilitynode4 == NULL) {
8741 var16 = 1;
8742 } else {
8743 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
8744 var16 = 0;
8745 } else {
8746 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
8747 }
8748 }
8749 if (!var16) {
8750 fprintf(stderr, "Runtime error: %s", "Assert failed");
8751 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5889);
8752 exit(1);
8753 }
8754 var_pclasskindnode5 = var_nodearraylist3;
8755 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8756 cltype20 = type_nullable_parser_nodes__AClasskind.color;
8757 idtype21 = type_nullable_parser_nodes__AClasskind.id;
8758 if(var_pclasskindnode5 == NULL) {
8759 var19 = 1;
8760 } else {
8761 if(cltype20 >= var_pclasskindnode5->type->table_size) {
8762 var19 = 0;
8763 } else {
8764 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
8765 }
8766 }
8767 if (!var19) {
8768 fprintf(stderr, "Runtime error: %s", "Assert failed");
8769 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5891);
8770 exit(1);
8771 }
8772 var_tclassidnode6 = var_nodearraylist7;
8773 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8774 cltype23 = type_nullable_parser_nodes__TClassid.color;
8775 idtype24 = type_nullable_parser_nodes__TClassid.id;
8776 if(var_tclassidnode6 == NULL) {
8777 var22 = 1;
8778 } else {
8779 if(cltype23 >= var_tclassidnode6->type->table_size) {
8780 var22 = 0;
8781 } else {
8782 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
8783 }
8784 }
8785 if (!var22) {
8786 fprintf(stderr, "Runtime error: %s", "Assert failed");
8787 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5893);
8788 exit(1);
8789 }
8790 var_listnode7 = var_nodearraylist8;
8791 /* <var_listnode7:nullable Object> isa Array[Object] */
8792 cltype26 = type_array__Arraykernel__Object.color;
8793 idtype27 = type_array__Arraykernel__Object.id;
8794 if(var_listnode7 == NULL) {
8795 var25 = 0;
8796 } else {
8797 if(cltype26 >= var_listnode7->type->table_size) {
8798 var25 = 0;
8799 } else {
8800 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
8801 }
8802 }
8803 if (!var25) {
8804 fprintf(stderr, "Runtime error: %s", "Assert failed");
8805 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5895);
8806 exit(1);
8807 }
8808 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction116>*/;
8809 var_listnode8 = var28;
8810 var_pexterncodeblocknode10 = var_nodearraylist9;
8811 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8812 cltype30 = type_nullable_parser_nodes__AExternCodeBlock.color;
8813 idtype31 = type_nullable_parser_nodes__AExternCodeBlock.id;
8814 if(var_pexterncodeblocknode10 == NULL) {
8815 var29 = 1;
8816 } else {
8817 if(cltype30 >= var_pexterncodeblocknode10->type->table_size) {
8818 var29 = 0;
8819 } else {
8820 var29 = var_pexterncodeblocknode10->type->type_table[cltype30] == idtype31;
8821 }
8822 }
8823 if (!var29) {
8824 fprintf(stderr, "Runtime error: %s", "Assert failed");
8825 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5898);
8826 exit(1);
8827 }
8828 var_tkwendnode13 = var_nodearraylist11;
8829 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
8830 cltype33 = type_nullable_parser_nodes__TKwend.color;
8831 idtype34 = type_nullable_parser_nodes__TKwend.id;
8832 if(var_tkwendnode13 == NULL) {
8833 var32 = 1;
8834 } else {
8835 if(cltype33 >= var_tkwendnode13->type->table_size) {
8836 var32 = 0;
8837 } else {
8838 var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34;
8839 }
8840 }
8841 if (!var32) {
8842 fprintf(stderr, "Runtime error: %s", "Assert failed");
8843 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5900);
8844 exit(1);
8845 }
8846 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8847 var36 = NULL;
8848 var37 = NULL;
8849 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var36, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var37, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var35:AStdClassdef>*/;
8850 CHECK_NEW_parser_nodes__AStdClassdef(var35);
8851 var_pclassdefnode1 = var35;
8852 var_node_list = var_pclassdefnode1;
8853 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction116> */
8854 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
8855 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
8856 RET_LABEL:;
8857 }
8858 /* method parser#ReduceAction116#action for (self: Object, Parser) */
8859 void VIRTUAL_parser__ReduceAction116__action(val* self, val* p0) {
8860 parser__ReduceAction116__action(self, p0);
8861 RET_LABEL:;
8862 }
8863 /* method parser#ReduceAction118#action for (self: ReduceAction118, Parser) */
8864 void parser__ReduceAction118__action(val* self, val* p0) {
8865 val* var_p /* var p: Parser */;
8866 val* var /* : null */;
8867 val* var_node_list /* var node_list: nullable Object */;
8868 val* var1 /* : nullable Object */;
8869 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8870 val* var2 /* : nullable Object */;
8871 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8872 val* var3 /* : nullable Object */;
8873 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8874 val* var4 /* : nullable Object */;
8875 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8876 val* var5 /* : nullable Object */;
8877 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8878 val* var6 /* : nullable Object */;
8879 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8880 val* var7 /* : nullable Object */;
8881 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8882 val* var8 /* : nullable Object */;
8883 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8884 val* var9 /* : nullable Object */;
8885 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8886 val* var10 /* : nullable Object */;
8887 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8888 val* var11 /* : nullable Object */;
8889 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8890 val* var12 /* : Array[Object] */;
8891 val* var_listnode8 /* var listnode8: Array[Object] */;
8892 val* var13 /* : Array[Object] */;
8893 val* var_listnode11 /* var listnode11: Array[Object] */;
8894 val* var14 /* : Array[Object] */;
8895 val* var_listnode12 /* var listnode12: Array[Object] */;
8896 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8897 short int var15 /* : Bool */;
8898 int cltype;
8899 int idtype;
8900 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8901 short int var16 /* : Bool */;
8902 int cltype17;
8903 int idtype18;
8904 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8905 short int var19 /* : Bool */;
8906 int cltype20;
8907 int idtype21;
8908 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8909 short int var22 /* : Bool */;
8910 int cltype23;
8911 int idtype24;
8912 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8913 short int var25 /* : Bool */;
8914 int cltype26;
8915 int idtype27;
8916 val* var_listnode7 /* var listnode7: nullable Object */;
8917 short int var28 /* : Bool */;
8918 int cltype29;
8919 int idtype30;
8920 val* var31 /* : Array[Object] */;
8921 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8922 short int var32 /* : Bool */;
8923 int cltype33;
8924 int idtype34;
8925 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
8926 short int var35 /* : Bool */;
8927 int cltype36;
8928 int idtype37;
8929 val* var38 /* : AStdClassdef */;
8930 val* var39 /* : null */;
8931 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8932 long var40 /* : Int */;
8933 long var41 /* : Int */;
8934 var_p = p0;
8935 var = NULL;
8936 var_node_list = var;
8937 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8938 var_nodearraylist11 = var1;
8939 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8940 var_nodearraylist10 = var2;
8941 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8942 var_nodearraylist9 = var3;
8943 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8944 var_nodearraylist8 = var4;
8945 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8946 var_nodearraylist7 = var5;
8947 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8948 var_nodearraylist6 = var6;
8949 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8950 var_nodearraylist5 = var7;
8951 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8952 var_nodearraylist4 = var8;
8953 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8954 var_nodearraylist3 = var9;
8955 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8956 var_nodearraylist2 = var10;
8957 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8958 var_nodearraylist1 = var11;
8959 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8960 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8961 CHECK_NEW_array__Array(var12);
8962 var_listnode8 = var12;
8963 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8964 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8965 CHECK_NEW_array__Array(var13);
8966 var_listnode11 = var13;
8967 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8968 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8969 CHECK_NEW_array__Array(var14);
8970 var_listnode12 = var14;
8971 var_pdocnode2 = var_nodearraylist1;
8972 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8973 cltype = type_nullable_parser_nodes__ADoc.color;
8974 idtype = type_nullable_parser_nodes__ADoc.id;
8975 if(var_pdocnode2 == NULL) {
8976 var15 = 1;
8977 } else {
8978 if(cltype >= var_pdocnode2->type->table_size) {
8979 var15 = 0;
8980 } else {
8981 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
8982 }
8983 }
8984 if (!var15) {
8985 fprintf(stderr, "Runtime error: %s", "Assert failed");
8986 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5938);
8987 exit(1);
8988 }
8989 var_tkwredefnode3 = var_nodearraylist2;
8990 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8991 cltype17 = type_nullable_parser_nodes__TKwredef.color;
8992 idtype18 = type_nullable_parser_nodes__TKwredef.id;
8993 if(var_tkwredefnode3 == NULL) {
8994 var16 = 1;
8995 } else {
8996 if(cltype17 >= var_tkwredefnode3->type->table_size) {
8997 var16 = 0;
8998 } else {
8999 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
9000 }
9001 }
9002 if (!var16) {
9003 fprintf(stderr, "Runtime error: %s", "Assert failed");
9004 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5940);
9005 exit(1);
9006 }
9007 var_pvisibilitynode4 = var_nodearraylist3;
9008 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9009 cltype20 = type_nullable_parser_nodes__AVisibility.color;
9010 idtype21 = type_nullable_parser_nodes__AVisibility.id;
9011 if(var_pvisibilitynode4 == NULL) {
9012 var19 = 1;
9013 } else {
9014 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
9015 var19 = 0;
9016 } else {
9017 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
9018 }
9019 }
9020 if (!var19) {
9021 fprintf(stderr, "Runtime error: %s", "Assert failed");
9022 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5942);
9023 exit(1);
9024 }
9025 var_pclasskindnode5 = var_nodearraylist4;
9026 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9027 cltype23 = type_nullable_parser_nodes__AClasskind.color;
9028 idtype24 = type_nullable_parser_nodes__AClasskind.id;
9029 if(var_pclasskindnode5 == NULL) {
9030 var22 = 1;
9031 } else {
9032 if(cltype23 >= var_pclasskindnode5->type->table_size) {
9033 var22 = 0;
9034 } else {
9035 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
9036 }
9037 }
9038 if (!var22) {
9039 fprintf(stderr, "Runtime error: %s", "Assert failed");
9040 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5944);
9041 exit(1);
9042 }
9043 var_tclassidnode6 = var_nodearraylist7;
9044 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9045 cltype26 = type_nullable_parser_nodes__TClassid.color;
9046 idtype27 = type_nullable_parser_nodes__TClassid.id;
9047 if(var_tclassidnode6 == NULL) {
9048 var25 = 1;
9049 } else {
9050 if(cltype26 >= var_tclassidnode6->type->table_size) {
9051 var25 = 0;
9052 } else {
9053 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
9054 }
9055 }
9056 if (!var25) {
9057 fprintf(stderr, "Runtime error: %s", "Assert failed");
9058 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5946);
9059 exit(1);
9060 }
9061 var_listnode7 = var_nodearraylist8;
9062 /* <var_listnode7:nullable Object> isa Array[Object] */
9063 cltype29 = type_array__Arraykernel__Object.color;
9064 idtype30 = type_array__Arraykernel__Object.id;
9065 if(var_listnode7 == NULL) {
9066 var28 = 0;
9067 } else {
9068 if(cltype29 >= var_listnode7->type->table_size) {
9069 var28 = 0;
9070 } else {
9071 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
9072 }
9073 }
9074 if (!var28) {
9075 fprintf(stderr, "Runtime error: %s", "Assert failed");
9076 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5948);
9077 exit(1);
9078 }
9079 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction118>*/;
9080 var_listnode8 = var31;
9081 var_pexterncodeblocknode10 = var_nodearraylist9;
9082 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
9083 cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color;
9084 idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id;
9085 if(var_pexterncodeblocknode10 == NULL) {
9086 var32 = 1;
9087 } else {
9088 if(cltype33 >= var_pexterncodeblocknode10->type->table_size) {
9089 var32 = 0;
9090 } else {
9091 var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34;
9092 }
9093 }
9094 if (!var32) {
9095 fprintf(stderr, "Runtime error: %s", "Assert failed");
9096 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5951);
9097 exit(1);
9098 }
9099 var_tkwendnode13 = var_nodearraylist11;
9100 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
9101 cltype36 = type_nullable_parser_nodes__TKwend.color;
9102 idtype37 = type_nullable_parser_nodes__TKwend.id;
9103 if(var_tkwendnode13 == NULL) {
9104 var35 = 1;
9105 } else {
9106 if(cltype36 >= var_tkwendnode13->type->table_size) {
9107 var35 = 0;
9108 } else {
9109 var35 = var_tkwendnode13->type->type_table[cltype36] == idtype37;
9110 }
9111 }
9112 if (!var35) {
9113 fprintf(stderr, "Runtime error: %s", "Assert failed");
9114 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5953);
9115 exit(1);
9116 }
9117 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9118 var39 = NULL;
9119 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var39, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var38:AStdClassdef>*/;
9120 CHECK_NEW_parser_nodes__AStdClassdef(var38);
9121 var_pclassdefnode1 = var38;
9122 var_node_list = var_pclassdefnode1;
9123 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction118> */
9124 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
9125 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
9126 RET_LABEL:;
9127 }
9128 /* method parser#ReduceAction118#action for (self: Object, Parser) */
9129 void VIRTUAL_parser__ReduceAction118__action(val* self, val* p0) {
9130 parser__ReduceAction118__action(self, p0);
9131 RET_LABEL:;
9132 }
9133 /* method parser#ReduceAction119#action for (self: ReduceAction119, Parser) */
9134 void parser__ReduceAction119__action(val* self, val* p0) {
9135 val* var_p /* var p: Parser */;
9136 val* var /* : null */;
9137 val* var_node_list /* var node_list: nullable Object */;
9138 val* var1 /* : nullable Object */;
9139 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
9140 val* var2 /* : nullable Object */;
9141 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9142 val* var3 /* : nullable Object */;
9143 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9144 val* var4 /* : nullable Object */;
9145 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9146 val* var5 /* : nullable Object */;
9147 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9148 val* var6 /* : nullable Object */;
9149 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9150 val* var7 /* : nullable Object */;
9151 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9152 val* var8 /* : nullable Object */;
9153 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9154 val* var9 /* : nullable Object */;
9155 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9156 val* var10 /* : nullable Object */;
9157 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9158 val* var11 /* : nullable Object */;
9159 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9160 val* var12 /* : nullable Object */;
9161 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9162 val* var13 /* : Array[Object] */;
9163 val* var_listnode8 /* var listnode8: Array[Object] */;
9164 val* var14 /* : Array[Object] */;
9165 val* var_listnode11 /* var listnode11: Array[Object] */;
9166 val* var15 /* : Array[Object] */;
9167 val* var_listnode12 /* var listnode12: Array[Object] */;
9168 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9169 short int var16 /* : Bool */;
9170 int cltype;
9171 int idtype;
9172 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9173 short int var17 /* : Bool */;
9174 int cltype18;
9175 int idtype19;
9176 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9177 short int var20 /* : Bool */;
9178 int cltype21;
9179 int idtype22;
9180 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9181 short int var23 /* : Bool */;
9182 int cltype24;
9183 int idtype25;
9184 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9185 short int var26 /* : Bool */;
9186 int cltype27;
9187 int idtype28;
9188 val* var_listnode7 /* var listnode7: nullable Object */;
9189 short int var29 /* : Bool */;
9190 int cltype30;
9191 int idtype31;
9192 val* var32 /* : Array[Object] */;
9193 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
9194 short int var33 /* : Bool */;
9195 int cltype34;
9196 int idtype35;
9197 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
9198 short int var36 /* : Bool */;
9199 int cltype37;
9200 int idtype38;
9201 val* var39 /* : AStdClassdef */;
9202 val* var40 /* : null */;
9203 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9204 long var41 /* : Int */;
9205 long var42 /* : Int */;
9206 var_p = p0;
9207 var = NULL;
9208 var_node_list = var;
9209 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9210 var_nodearraylist12 = var1;
9211 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9212 var_nodearraylist11 = var2;
9213 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9214 var_nodearraylist10 = var3;
9215 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9216 var_nodearraylist9 = var4;
9217 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9218 var_nodearraylist8 = var5;
9219 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9220 var_nodearraylist7 = var6;
9221 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9222 var_nodearraylist6 = var7;
9223 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9224 var_nodearraylist5 = var8;
9225 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9226 var_nodearraylist4 = var9;
9227 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9228 var_nodearraylist3 = var10;
9229 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9230 var_nodearraylist2 = var11;
9231 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9232 var_nodearraylist1 = var12;
9233 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9234 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9235 CHECK_NEW_array__Array(var13);
9236 var_listnode8 = var13;
9237 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9238 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9239 CHECK_NEW_array__Array(var14);
9240 var_listnode11 = var14;
9241 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
9242 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
9243 CHECK_NEW_array__Array(var15);
9244 var_listnode12 = var15;
9245 var_pdocnode2 = var_nodearraylist1;
9246 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9247 cltype = type_nullable_parser_nodes__ADoc.color;
9248 idtype = type_nullable_parser_nodes__ADoc.id;
9249 if(var_pdocnode2 == NULL) {
9250 var16 = 1;
9251 } else {
9252 if(cltype >= var_pdocnode2->type->table_size) {
9253 var16 = 0;
9254 } else {
9255 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
9256 }
9257 }
9258 if (!var16) {
9259 fprintf(stderr, "Runtime error: %s", "Assert failed");
9260 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5992);
9261 exit(1);
9262 }
9263 var_tkwredefnode3 = var_nodearraylist2;
9264 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9265 cltype18 = type_nullable_parser_nodes__TKwredef.color;
9266 idtype19 = type_nullable_parser_nodes__TKwredef.id;
9267 if(var_tkwredefnode3 == NULL) {
9268 var17 = 1;
9269 } else {
9270 if(cltype18 >= var_tkwredefnode3->type->table_size) {
9271 var17 = 0;
9272 } else {
9273 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
9274 }
9275 }
9276 if (!var17) {
9277 fprintf(stderr, "Runtime error: %s", "Assert failed");
9278 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5994);
9279 exit(1);
9280 }
9281 var_pvisibilitynode4 = var_nodearraylist3;
9282 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9283 cltype21 = type_nullable_parser_nodes__AVisibility.color;
9284 idtype22 = type_nullable_parser_nodes__AVisibility.id;
9285 if(var_pvisibilitynode4 == NULL) {
9286 var20 = 1;
9287 } else {
9288 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
9289 var20 = 0;
9290 } else {
9291 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
9292 }
9293 }
9294 if (!var20) {
9295 fprintf(stderr, "Runtime error: %s", "Assert failed");
9296 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5996);
9297 exit(1);
9298 }
9299 var_pclasskindnode5 = var_nodearraylist4;
9300 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9301 cltype24 = type_nullable_parser_nodes__AClasskind.color;
9302 idtype25 = type_nullable_parser_nodes__AClasskind.id;
9303 if(var_pclasskindnode5 == NULL) {
9304 var23 = 1;
9305 } else {
9306 if(cltype24 >= var_pclasskindnode5->type->table_size) {
9307 var23 = 0;
9308 } else {
9309 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
9310 }
9311 }
9312 if (!var23) {
9313 fprintf(stderr, "Runtime error: %s", "Assert failed");
9314 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 5998);
9315 exit(1);
9316 }
9317 var_tclassidnode6 = var_nodearraylist8;
9318 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9319 cltype27 = type_nullable_parser_nodes__TClassid.color;
9320 idtype28 = type_nullable_parser_nodes__TClassid.id;
9321 if(var_tclassidnode6 == NULL) {
9322 var26 = 1;
9323 } else {
9324 if(cltype27 >= var_tclassidnode6->type->table_size) {
9325 var26 = 0;
9326 } else {
9327 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
9328 }
9329 }
9330 if (!var26) {
9331 fprintf(stderr, "Runtime error: %s", "Assert failed");
9332 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6000);
9333 exit(1);
9334 }
9335 var_listnode7 = var_nodearraylist9;
9336 /* <var_listnode7:nullable Object> isa Array[Object] */
9337 cltype30 = type_array__Arraykernel__Object.color;
9338 idtype31 = type_array__Arraykernel__Object.id;
9339 if(var_listnode7 == NULL) {
9340 var29 = 0;
9341 } else {
9342 if(cltype30 >= var_listnode7->type->table_size) {
9343 var29 = 0;
9344 } else {
9345 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
9346 }
9347 }
9348 if (!var29) {
9349 fprintf(stderr, "Runtime error: %s", "Assert failed");
9350 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6002);
9351 exit(1);
9352 }
9353 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction119>*/;
9354 var_listnode8 = var32;
9355 var_pexterncodeblocknode10 = var_nodearraylist10;
9356 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
9357 cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color;
9358 idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id;
9359 if(var_pexterncodeblocknode10 == NULL) {
9360 var33 = 1;
9361 } else {
9362 if(cltype34 >= var_pexterncodeblocknode10->type->table_size) {
9363 var33 = 0;
9364 } else {
9365 var33 = var_pexterncodeblocknode10->type->type_table[cltype34] == idtype35;
9366 }
9367 }
9368 if (!var33) {
9369 fprintf(stderr, "Runtime error: %s", "Assert failed");
9370 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6005);
9371 exit(1);
9372 }
9373 var_tkwendnode13 = var_nodearraylist12;
9374 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
9375 cltype37 = type_nullable_parser_nodes__TKwend.color;
9376 idtype38 = type_nullable_parser_nodes__TKwend.id;
9377 if(var_tkwendnode13 == NULL) {
9378 var36 = 1;
9379 } else {
9380 if(cltype37 >= var_tkwendnode13->type->table_size) {
9381 var36 = 0;
9382 } else {
9383 var36 = var_tkwendnode13->type->type_table[cltype37] == idtype38;
9384 }
9385 }
9386 if (!var36) {
9387 fprintf(stderr, "Runtime error: %s", "Assert failed");
9388 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6007);
9389 exit(1);
9390 }
9391 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9392 var40 = NULL;
9393 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var40, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var39:AStdClassdef>*/;
9394 CHECK_NEW_parser_nodes__AStdClassdef(var39);
9395 var_pclassdefnode1 = var39;
9396 var_node_list = var_pclassdefnode1;
9397 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction119> */
9398 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
9399 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
9400 RET_LABEL:;
9401 }
9402 /* method parser#ReduceAction119#action for (self: Object, Parser) */
9403 void VIRTUAL_parser__ReduceAction119__action(val* self, val* p0) {
9404 parser__ReduceAction119__action(self, p0);
9405 RET_LABEL:;
9406 }
9407 /* method parser#ReduceAction121#action for (self: ReduceAction121, Parser) */
9408 void parser__ReduceAction121__action(val* self, val* p0) {
9409 val* var_p /* var p: Parser */;
9410 val* var /* : null */;
9411 val* var_node_list /* var node_list: nullable Object */;
9412 val* var1 /* : nullable Object */;
9413 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9414 val* var2 /* : nullable Object */;
9415 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9416 val* var3 /* : nullable Object */;
9417 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9418 val* var4 /* : nullable Object */;
9419 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9420 val* var5 /* : nullable Object */;
9421 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9422 val* var6 /* : nullable Object */;
9423 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9424 val* var7 /* : nullable Object */;
9425 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9426 val* var8 /* : nullable Object */;
9427 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9428 val* var9 /* : nullable Object */;
9429 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9430 val* var10 /* : Array[Object] */;
9431 val* var_listnode7 /* var listnode7: Array[Object] */;
9432 val* var11 /* : Array[Object] */;
9433 val* var_listnode15 /* var listnode15: Array[Object] */;
9434 val* var12 /* : Array[Object] */;
9435 val* var_listnode16 /* var listnode16: Array[Object] */;
9436 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9437 short int var13 /* : Bool */;
9438 int cltype;
9439 int idtype;
9440 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9441 short int var14 /* : Bool */;
9442 int cltype15;
9443 int idtype16;
9444 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9445 short int var17 /* : Bool */;
9446 int cltype18;
9447 int idtype19;
9448 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9449 short int var20 /* : Bool */;
9450 int cltype21;
9451 int idtype22;
9452 val* var23 /* : Array[Object] */;
9453 val* var_listnode12 /* var listnode12: Array[Object] */;
9454 val* var_listnode11 /* var listnode11: nullable Object */;
9455 short int var24 /* : Bool */;
9456 int cltype25;
9457 int idtype26;
9458 val* var27 /* : Array[Object] */;
9459 val* var28 /* : AAnnotations */;
9460 val* var29 /* : null */;
9461 val* var30 /* : null */;
9462 val* var31 /* : null */;
9463 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
9464 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
9465 short int var32 /* : Bool */;
9466 int cltype33;
9467 int idtype34;
9468 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
9469 short int var35 /* : Bool */;
9470 int cltype36;
9471 int idtype37;
9472 val* var38 /* : AStdClassdef */;
9473 val* var39 /* : null */;
9474 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9475 long var40 /* : Int */;
9476 long var41 /* : Int */;
9477 var_p = p0;
9478 var = NULL;
9479 var_node_list = var;
9480 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9481 var_nodearraylist9 = var1;
9482 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9483 var_nodearraylist8 = var2;
9484 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9485 var_nodearraylist7 = var3;
9486 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9487 var_nodearraylist6 = var4;
9488 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9489 var_nodearraylist5 = var5;
9490 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9491 var_nodearraylist4 = var6;
9492 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9493 var_nodearraylist3 = var7;
9494 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9495 var_nodearraylist2 = var8;
9496 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9497 var_nodearraylist1 = var9;
9498 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
9499 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
9500 CHECK_NEW_array__Array(var10);
9501 var_listnode7 = var10;
9502 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
9503 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
9504 CHECK_NEW_array__Array(var11);
9505 var_listnode15 = var11;
9506 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9507 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9508 CHECK_NEW_array__Array(var12);
9509 var_listnode16 = var12;
9510 var_pdocnode2 = var_nodearraylist1;
9511 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9512 cltype = type_nullable_parser_nodes__ADoc.color;
9513 idtype = type_nullable_parser_nodes__ADoc.id;
9514 if(var_pdocnode2 == NULL) {
9515 var13 = 1;
9516 } else {
9517 if(cltype >= var_pdocnode2->type->table_size) {
9518 var13 = 0;
9519 } else {
9520 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
9521 }
9522 }
9523 if (!var13) {
9524 fprintf(stderr, "Runtime error: %s", "Assert failed");
9525 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6043);
9526 exit(1);
9527 }
9528 var_pvisibilitynode4 = var_nodearraylist2;
9529 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9530 cltype15 = type_nullable_parser_nodes__AVisibility.color;
9531 idtype16 = type_nullable_parser_nodes__AVisibility.id;
9532 if(var_pvisibilitynode4 == NULL) {
9533 var14 = 1;
9534 } else {
9535 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
9536 var14 = 0;
9537 } else {
9538 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
9539 }
9540 }
9541 if (!var14) {
9542 fprintf(stderr, "Runtime error: %s", "Assert failed");
9543 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6045);
9544 exit(1);
9545 }
9546 var_pclasskindnode5 = var_nodearraylist3;
9547 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9548 cltype18 = type_nullable_parser_nodes__AClasskind.color;
9549 idtype19 = type_nullable_parser_nodes__AClasskind.id;
9550 if(var_pclasskindnode5 == NULL) {
9551 var17 = 1;
9552 } else {
9553 if(cltype18 >= var_pclasskindnode5->type->table_size) {
9554 var17 = 0;
9555 } else {
9556 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
9557 }
9558 }
9559 if (!var17) {
9560 fprintf(stderr, "Runtime error: %s", "Assert failed");
9561 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6047);
9562 exit(1);
9563 }
9564 var_tclassidnode6 = var_nodearraylist5;
9565 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9566 cltype21 = type_nullable_parser_nodes__TClassid.color;
9567 idtype22 = type_nullable_parser_nodes__TClassid.id;
9568 if(var_tclassidnode6 == NULL) {
9569 var20 = 1;
9570 } else {
9571 if(cltype21 >= var_tclassidnode6->type->table_size) {
9572 var20 = 0;
9573 } else {
9574 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
9575 }
9576 }
9577 if (!var20) {
9578 fprintf(stderr, "Runtime error: %s", "Assert failed");
9579 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6049);
9580 exit(1);
9581 }
9582 var23 = NEW_array__Array(&type_array__Arraykernel__Object);
9583 ((void (*)(val*))(var23->class->vft[COLOR_array__Array__init]))(var23) /* init on <var23:Array[Object]>*/;
9584 CHECK_NEW_array__Array(var23);
9585 var_listnode12 = var23;
9586 var_listnode11 = var_nodearraylist6;
9587 /* <var_listnode11:nullable Object> isa Array[Object] */
9588 cltype25 = type_array__Arraykernel__Object.color;
9589 idtype26 = type_array__Arraykernel__Object.id;
9590 if(var_listnode11 == NULL) {
9591 var24 = 0;
9592 } else {
9593 if(cltype25 >= var_listnode11->type->table_size) {
9594 var24 = 0;
9595 } else {
9596 var24 = var_listnode11->type->type_table[cltype25] == idtype26;
9597 }
9598 }
9599 if (!var24) {
9600 fprintf(stderr, "Runtime error: %s", "Assert failed");
9601 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6052);
9602 exit(1);
9603 }
9604 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction121>*/;
9605 var_listnode12 = var27;
9606 var28 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9607 var29 = NULL;
9608 var30 = NULL;
9609 var31 = NULL;
9610 ((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>*/;
9611 CHECK_NEW_parser_nodes__AAnnotations(var28);
9612 var_pannotationsnode8 = var28;
9613 var_pexterncodeblocknode14 = var_nodearraylist7;
9614 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
9615 cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color;
9616 idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id;
9617 if(var_pexterncodeblocknode14 == NULL) {
9618 var32 = 1;
9619 } else {
9620 if(cltype33 >= var_pexterncodeblocknode14->type->table_size) {
9621 var32 = 0;
9622 } else {
9623 var32 = var_pexterncodeblocknode14->type->type_table[cltype33] == idtype34;
9624 }
9625 }
9626 if (!var32) {
9627 fprintf(stderr, "Runtime error: %s", "Assert failed");
9628 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6061);
9629 exit(1);
9630 }
9631 var_tkwendnode17 = var_nodearraylist9;
9632 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
9633 cltype36 = type_nullable_parser_nodes__TKwend.color;
9634 idtype37 = type_nullable_parser_nodes__TKwend.id;
9635 if(var_tkwendnode17 == NULL) {
9636 var35 = 1;
9637 } else {
9638 if(cltype36 >= var_tkwendnode17->type->table_size) {
9639 var35 = 0;
9640 } else {
9641 var35 = var_tkwendnode17->type->type_table[cltype36] == idtype37;
9642 }
9643 }
9644 if (!var35) {
9645 fprintf(stderr, "Runtime error: %s", "Assert failed");
9646 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6063);
9647 exit(1);
9648 }
9649 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9650 var39 = NULL;
9651 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var39, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var38:AStdClassdef>*/;
9652 CHECK_NEW_parser_nodes__AStdClassdef(var38);
9653 var_pclassdefnode1 = var38;
9654 var_node_list = var_pclassdefnode1;
9655 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction121> */
9656 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
9657 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
9658 RET_LABEL:;
9659 }
9660 /* method parser#ReduceAction121#action for (self: Object, Parser) */
9661 void VIRTUAL_parser__ReduceAction121__action(val* self, val* p0) {
9662 parser__ReduceAction121__action(self, p0);
9663 RET_LABEL:;
9664 }
9665 /* method parser#ReduceAction122#action for (self: ReduceAction122, Parser) */
9666 void parser__ReduceAction122__action(val* self, val* p0) {
9667 val* var_p /* var p: Parser */;
9668 val* var /* : null */;
9669 val* var_node_list /* var node_list: nullable Object */;
9670 val* var1 /* : nullable Object */;
9671 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9672 val* var2 /* : nullable Object */;
9673 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9674 val* var3 /* : nullable Object */;
9675 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9676 val* var4 /* : nullable Object */;
9677 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9678 val* var5 /* : nullable Object */;
9679 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9680 val* var6 /* : nullable Object */;
9681 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9682 val* var7 /* : nullable Object */;
9683 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9684 val* var8 /* : nullable Object */;
9685 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9686 val* var9 /* : nullable Object */;
9687 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9688 val* var10 /* : nullable Object */;
9689 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9690 val* var11 /* : Array[Object] */;
9691 val* var_listnode7 /* var listnode7: Array[Object] */;
9692 val* var12 /* : Array[Object] */;
9693 val* var_listnode15 /* var listnode15: Array[Object] */;
9694 val* var13 /* : Array[Object] */;
9695 val* var_listnode16 /* var listnode16: Array[Object] */;
9696 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9697 short int var14 /* : Bool */;
9698 int cltype;
9699 int idtype;
9700 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9701 short int var15 /* : Bool */;
9702 int cltype16;
9703 int idtype17;
9704 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9705 short int var18 /* : Bool */;
9706 int cltype19;
9707 int idtype20;
9708 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9709 short int var21 /* : Bool */;
9710 int cltype22;
9711 int idtype23;
9712 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9713 short int var24 /* : Bool */;
9714 int cltype25;
9715 int idtype26;
9716 val* var27 /* : Array[Object] */;
9717 val* var_listnode12 /* var listnode12: Array[Object] */;
9718 val* var_listnode11 /* var listnode11: nullable Object */;
9719 short int var28 /* : Bool */;
9720 int cltype29;
9721 int idtype30;
9722 val* var31 /* : Array[Object] */;
9723 val* var32 /* : AAnnotations */;
9724 val* var33 /* : null */;
9725 val* var34 /* : null */;
9726 val* var35 /* : null */;
9727 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
9728 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
9729 short int var36 /* : Bool */;
9730 int cltype37;
9731 int idtype38;
9732 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
9733 short int var39 /* : Bool */;
9734 int cltype40;
9735 int idtype41;
9736 val* var42 /* : AStdClassdef */;
9737 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9738 long var43 /* : Int */;
9739 long var44 /* : Int */;
9740 var_p = p0;
9741 var = NULL;
9742 var_node_list = var;
9743 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9744 var_nodearraylist10 = var1;
9745 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9746 var_nodearraylist9 = var2;
9747 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9748 var_nodearraylist8 = var3;
9749 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9750 var_nodearraylist7 = var4;
9751 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9752 var_nodearraylist6 = var5;
9753 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9754 var_nodearraylist5 = var6;
9755 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9756 var_nodearraylist4 = var7;
9757 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9758 var_nodearraylist3 = var8;
9759 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9760 var_nodearraylist2 = var9;
9761 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9762 var_nodearraylist1 = var10;
9763 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
9764 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
9765 CHECK_NEW_array__Array(var11);
9766 var_listnode7 = var11;
9767 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9768 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9769 CHECK_NEW_array__Array(var12);
9770 var_listnode15 = var12;
9771 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9772 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9773 CHECK_NEW_array__Array(var13);
9774 var_listnode16 = var13;
9775 var_pdocnode2 = var_nodearraylist1;
9776 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9777 cltype = type_nullable_parser_nodes__ADoc.color;
9778 idtype = type_nullable_parser_nodes__ADoc.id;
9779 if(var_pdocnode2 == NULL) {
9780 var14 = 1;
9781 } else {
9782 if(cltype >= var_pdocnode2->type->table_size) {
9783 var14 = 0;
9784 } else {
9785 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
9786 }
9787 }
9788 if (!var14) {
9789 fprintf(stderr, "Runtime error: %s", "Assert failed");
9790 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6100);
9791 exit(1);
9792 }
9793 var_tkwredefnode3 = var_nodearraylist2;
9794 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9795 cltype16 = type_nullable_parser_nodes__TKwredef.color;
9796 idtype17 = type_nullable_parser_nodes__TKwredef.id;
9797 if(var_tkwredefnode3 == NULL) {
9798 var15 = 1;
9799 } else {
9800 if(cltype16 >= var_tkwredefnode3->type->table_size) {
9801 var15 = 0;
9802 } else {
9803 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
9804 }
9805 }
9806 if (!var15) {
9807 fprintf(stderr, "Runtime error: %s", "Assert failed");
9808 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6102);
9809 exit(1);
9810 }
9811 var_pvisibilitynode4 = var_nodearraylist3;
9812 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9813 cltype19 = type_nullable_parser_nodes__AVisibility.color;
9814 idtype20 = type_nullable_parser_nodes__AVisibility.id;
9815 if(var_pvisibilitynode4 == NULL) {
9816 var18 = 1;
9817 } else {
9818 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
9819 var18 = 0;
9820 } else {
9821 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
9822 }
9823 }
9824 if (!var18) {
9825 fprintf(stderr, "Runtime error: %s", "Assert failed");
9826 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6104);
9827 exit(1);
9828 }
9829 var_pclasskindnode5 = var_nodearraylist4;
9830 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9831 cltype22 = type_nullable_parser_nodes__AClasskind.color;
9832 idtype23 = type_nullable_parser_nodes__AClasskind.id;
9833 if(var_pclasskindnode5 == NULL) {
9834 var21 = 1;
9835 } else {
9836 if(cltype22 >= var_pclasskindnode5->type->table_size) {
9837 var21 = 0;
9838 } else {
9839 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
9840 }
9841 }
9842 if (!var21) {
9843 fprintf(stderr, "Runtime error: %s", "Assert failed");
9844 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6106);
9845 exit(1);
9846 }
9847 var_tclassidnode6 = var_nodearraylist6;
9848 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9849 cltype25 = type_nullable_parser_nodes__TClassid.color;
9850 idtype26 = type_nullable_parser_nodes__TClassid.id;
9851 if(var_tclassidnode6 == NULL) {
9852 var24 = 1;
9853 } else {
9854 if(cltype25 >= var_tclassidnode6->type->table_size) {
9855 var24 = 0;
9856 } else {
9857 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
9858 }
9859 }
9860 if (!var24) {
9861 fprintf(stderr, "Runtime error: %s", "Assert failed");
9862 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6108);
9863 exit(1);
9864 }
9865 var27 = NEW_array__Array(&type_array__Arraykernel__Object);
9866 ((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on <var27:Array[Object]>*/;
9867 CHECK_NEW_array__Array(var27);
9868 var_listnode12 = var27;
9869 var_listnode11 = var_nodearraylist7;
9870 /* <var_listnode11:nullable Object> isa Array[Object] */
9871 cltype29 = type_array__Arraykernel__Object.color;
9872 idtype30 = type_array__Arraykernel__Object.id;
9873 if(var_listnode11 == NULL) {
9874 var28 = 0;
9875 } else {
9876 if(cltype29 >= var_listnode11->type->table_size) {
9877 var28 = 0;
9878 } else {
9879 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
9880 }
9881 }
9882 if (!var28) {
9883 fprintf(stderr, "Runtime error: %s", "Assert failed");
9884 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6111);
9885 exit(1);
9886 }
9887 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction122>*/;
9888 var_listnode12 = var31;
9889 var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9890 var33 = NULL;
9891 var34 = NULL;
9892 var35 = NULL;
9893 ((void (*)(val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var32, var33, var34, var_listnode12, var35) /* init_aannotations on <var32:AAnnotations>*/;
9894 CHECK_NEW_parser_nodes__AAnnotations(var32);
9895 var_pannotationsnode8 = var32;
9896 var_pexterncodeblocknode14 = var_nodearraylist8;
9897 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
9898 cltype37 = type_nullable_parser_nodes__AExternCodeBlock.color;
9899 idtype38 = type_nullable_parser_nodes__AExternCodeBlock.id;
9900 if(var_pexterncodeblocknode14 == NULL) {
9901 var36 = 1;
9902 } else {
9903 if(cltype37 >= var_pexterncodeblocknode14->type->table_size) {
9904 var36 = 0;
9905 } else {
9906 var36 = var_pexterncodeblocknode14->type->type_table[cltype37] == idtype38;
9907 }
9908 }
9909 if (!var36) {
9910 fprintf(stderr, "Runtime error: %s", "Assert failed");
9911 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6120);
9912 exit(1);
9913 }
9914 var_tkwendnode17 = var_nodearraylist10;
9915 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
9916 cltype40 = type_nullable_parser_nodes__TKwend.color;
9917 idtype41 = type_nullable_parser_nodes__TKwend.id;
9918 if(var_tkwendnode17 == NULL) {
9919 var39 = 1;
9920 } else {
9921 if(cltype40 >= var_tkwendnode17->type->table_size) {
9922 var39 = 0;
9923 } else {
9924 var39 = var_tkwendnode17->type->type_table[cltype40] == idtype41;
9925 }
9926 }
9927 if (!var39) {
9928 fprintf(stderr, "Runtime error: %s", "Assert failed");
9929 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6122);
9930 exit(1);
9931 }
9932 var42 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9933 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var42->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var42, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var42:AStdClassdef>*/;
9934 CHECK_NEW_parser_nodes__AStdClassdef(var42);
9935 var_pclassdefnode1 = var42;
9936 var_node_list = var_pclassdefnode1;
9937 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction122> */
9938 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
9939 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
9940 RET_LABEL:;
9941 }
9942 /* method parser#ReduceAction122#action for (self: Object, Parser) */
9943 void VIRTUAL_parser__ReduceAction122__action(val* self, val* p0) {
9944 parser__ReduceAction122__action(self, p0);
9945 RET_LABEL:;
9946 }