nitdoc: migrate github commitbox to jQuery.UI widget
[nit.git] / c_src / parser.sep.9.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction307#action for (self: ReduceAction307, Parser) */
3 void parser__ReduceAction307__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_nodearraylist12 /* var nodearraylist12: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
19 val* var7 /* : nullable Object */;
20 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
21 val* var8 /* : nullable Object */;
22 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
23 val* var9 /* : nullable Object */;
24 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
25 val* var10 /* : nullable Object */;
26 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
27 val* var11 /* : nullable Object */;
28 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
29 val* var12 /* : nullable Object */;
30 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
31 val* var13 /* : Array[Object] */;
32 val* var_listnode8 /* var listnode8: Array[Object] */;
33 val* var14 /* : Array[Object] */;
34 val* var_listnode12 /* var listnode12: Array[Object] */;
35 val* var15 /* : Array[Object] */;
36 val* var_listnode14 /* var listnode14: Array[Object] */;
37 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
38 short int var16 /* : Bool */;
39 int cltype;
40 int idtype;
41 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
42 short int var17 /* : Bool */;
43 int cltype18;
44 int idtype19;
45 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
46 short int var20 /* : Bool */;
47 int cltype21;
48 int idtype22;
49 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
50 short int var23 /* : Bool */;
51 int cltype24;
52 int idtype25;
53 val* var_listnode7 /* var listnode7: nullable Object */;
54 short int var26 /* : Bool */;
55 int cltype27;
56 int idtype28;
57 val* var29 /* : Array[Object] */;
58 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
59 short int var30 /* : Bool */;
60 int cltype31;
61 int idtype32;
62 val* var_listnode11 /* var listnode11: nullable Object */;
63 short int var33 /* : Bool */;
64 int cltype34;
65 int idtype35;
66 val* var36 /* : Array[Object] */;
67 val* var_listnode13 /* var listnode13: nullable Object */;
68 short int var37 /* : Bool */;
69 int cltype38;
70 int idtype39;
71 val* var40 /* : Array[Object] */;
72 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
73 short int var41 /* : Bool */;
74 int cltype42;
75 int idtype43;
76 val* var44 /* : AStdClassdef */;
77 val* var45 /* : null */;
78 val* var46 /* : null */;
79 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
80 long var47 /* : Int */;
81 long var48 /* : Int */;
82 var_p = p0;
83 var = NULL;
84 var_node_list = var;
85 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
86 var_nodearraylist12 = var1;
87 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
88 var_nodearraylist11 = var2;
89 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
90 var_nodearraylist10 = var3;
91 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
92 var_nodearraylist9 = var4;
93 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
94 var_nodearraylist8 = var5;
95 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
96 var_nodearraylist7 = var6;
97 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
98 var_nodearraylist6 = var7;
99 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
100 var_nodearraylist5 = var8;
101 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
102 var_nodearraylist4 = var9;
103 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
104 var_nodearraylist3 = var10;
105 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
106 var_nodearraylist2 = var11;
107 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
108 var_nodearraylist1 = var12;
109 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
110 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
111 CHECK_NEW_array__Array(var13);
112 var_listnode8 = var13;
113 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
114 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
115 CHECK_NEW_array__Array(var14);
116 var_listnode12 = var14;
117 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
118 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
119 CHECK_NEW_array__Array(var15);
120 var_listnode14 = var15;
121 var_pdocnode2 = var_nodearraylist1;
122 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
123 cltype = type_nullable_parser_nodes__ADoc.color;
124 idtype = type_nullable_parser_nodes__ADoc.id;
125 if(var_pdocnode2 == NULL) {
126 var16 = 1;
127 } else {
128 if(cltype >= var_pdocnode2->type->table_size) {
129 var16 = 0;
130 } else {
131 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
132 }
133 }
134 if (!var16) {
135 fprintf(stderr, "Runtime error: %s", "Assert failed");
136 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14182);
137 exit(1);
138 }
139 var_pvisibilitynode4 = var_nodearraylist2;
140 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
141 cltype18 = type_nullable_parser_nodes__AVisibility.color;
142 idtype19 = type_nullable_parser_nodes__AVisibility.id;
143 if(var_pvisibilitynode4 == NULL) {
144 var17 = 1;
145 } else {
146 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
147 var17 = 0;
148 } else {
149 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
150 }
151 }
152 if (!var17) {
153 fprintf(stderr, "Runtime error: %s", "Assert failed");
154 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14184);
155 exit(1);
156 }
157 var_pclasskindnode5 = var_nodearraylist3;
158 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
159 cltype21 = type_nullable_parser_nodes__AClasskind.color;
160 idtype22 = type_nullable_parser_nodes__AClasskind.id;
161 if(var_pclasskindnode5 == NULL) {
162 var20 = 1;
163 } else {
164 if(cltype21 >= var_pclasskindnode5->type->table_size) {
165 var20 = 0;
166 } else {
167 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
168 }
169 }
170 if (!var20) {
171 fprintf(stderr, "Runtime error: %s", "Assert failed");
172 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14186);
173 exit(1);
174 }
175 var_tclassidnode6 = var_nodearraylist6;
176 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
177 cltype24 = type_nullable_parser_nodes__TClassid.color;
178 idtype25 = type_nullable_parser_nodes__TClassid.id;
179 if(var_tclassidnode6 == NULL) {
180 var23 = 1;
181 } else {
182 if(cltype24 >= var_tclassidnode6->type->table_size) {
183 var23 = 0;
184 } else {
185 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
186 }
187 }
188 if (!var23) {
189 fprintf(stderr, "Runtime error: %s", "Assert failed");
190 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14188);
191 exit(1);
192 }
193 var_listnode7 = var_nodearraylist7;
194 /* <var_listnode7:nullable Object> isa Array[Object] */
195 cltype27 = type_array__Arraykernel__Object.color;
196 idtype28 = type_array__Arraykernel__Object.id;
197 if(var_listnode7 == NULL) {
198 var26 = 0;
199 } else {
200 if(cltype27 >= var_listnode7->type->table_size) {
201 var26 = 0;
202 } else {
203 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
204 }
205 }
206 if (!var26) {
207 fprintf(stderr, "Runtime error: %s", "Assert failed");
208 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14190);
209 exit(1);
210 }
211 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction307>*/;
212 var_listnode8 = var29;
213 var_pexterncodeblocknode10 = var_nodearraylist8;
214 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
215 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
216 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
217 if(var_pexterncodeblocknode10 == NULL) {
218 var30 = 1;
219 } else {
220 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
221 var30 = 0;
222 } else {
223 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
224 }
225 }
226 if (!var30) {
227 fprintf(stderr, "Runtime error: %s", "Assert failed");
228 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14193);
229 exit(1);
230 }
231 var_listnode11 = var_nodearraylist9;
232 /* <var_listnode11:nullable Object> isa Array[Object] */
233 cltype34 = type_array__Arraykernel__Object.color;
234 idtype35 = type_array__Arraykernel__Object.id;
235 if(var_listnode11 == NULL) {
236 var33 = 0;
237 } else {
238 if(cltype34 >= var_listnode11->type->table_size) {
239 var33 = 0;
240 } else {
241 var33 = var_listnode11->type->type_table[cltype34] == idtype35;
242 }
243 }
244 if (!var33) {
245 fprintf(stderr, "Runtime error: %s", "Assert failed");
246 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14195);
247 exit(1);
248 }
249 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction307>*/;
250 var_listnode12 = var36;
251 var_listnode13 = var_nodearraylist10;
252 /* <var_listnode13:nullable Object> isa Array[Object] */
253 cltype38 = type_array__Arraykernel__Object.color;
254 idtype39 = type_array__Arraykernel__Object.id;
255 if(var_listnode13 == NULL) {
256 var37 = 0;
257 } else {
258 if(cltype38 >= var_listnode13->type->table_size) {
259 var37 = 0;
260 } else {
261 var37 = var_listnode13->type->type_table[cltype38] == idtype39;
262 }
263 }
264 if (!var37) {
265 fprintf(stderr, "Runtime error: %s", "Assert failed");
266 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14198);
267 exit(1);
268 }
269 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction307>*/;
270 var_listnode14 = var40;
271 var_tkwendnode15 = var_nodearraylist12;
272 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
273 cltype42 = type_nullable_parser_nodes__TKwend.color;
274 idtype43 = type_nullable_parser_nodes__TKwend.id;
275 if(var_tkwendnode15 == NULL) {
276 var41 = 1;
277 } else {
278 if(cltype42 >= var_tkwendnode15->type->table_size) {
279 var41 = 0;
280 } else {
281 var41 = var_tkwendnode15->type->type_table[cltype42] == idtype43;
282 }
283 }
284 if (!var41) {
285 fprintf(stderr, "Runtime error: %s", "Assert failed");
286 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14201);
287 exit(1);
288 }
289 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
290 var45 = NULL;
291 var46 = NULL;
292 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var45, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var46, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var44:AStdClassdef>*/;
293 CHECK_NEW_parser_nodes__AStdClassdef(var44);
294 var_pclassdefnode1 = var44;
295 var_node_list = var_pclassdefnode1;
296 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction307> */
297 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
298 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
299 RET_LABEL:;
300 }
301 /* method parser#ReduceAction307#action for (self: Object, Parser) */
302 void VIRTUAL_parser__ReduceAction307__action(val* self, val* p0) {
303 parser__ReduceAction307__action(self, p0);
304 RET_LABEL:;
305 }
306 /* method parser#ReduceAction308#action for (self: ReduceAction308, Parser) */
307 void parser__ReduceAction308__action(val* self, val* p0) {
308 val* var_p /* var p: Parser */;
309 val* var /* : null */;
310 val* var_node_list /* var node_list: nullable Object */;
311 val* var1 /* : nullable Object */;
312 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
313 val* var2 /* : nullable Object */;
314 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
315 val* var3 /* : nullable Object */;
316 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
317 val* var4 /* : nullable Object */;
318 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
319 val* var5 /* : nullable Object */;
320 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
321 val* var6 /* : nullable Object */;
322 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
323 val* var7 /* : nullable Object */;
324 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
325 val* var8 /* : nullable Object */;
326 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
327 val* var9 /* : nullable Object */;
328 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
329 val* var10 /* : nullable Object */;
330 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
331 val* var11 /* : nullable Object */;
332 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
333 val* var12 /* : nullable Object */;
334 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
335 val* var13 /* : nullable Object */;
336 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
337 val* var14 /* : Array[Object] */;
338 val* var_listnode8 /* var listnode8: Array[Object] */;
339 val* var15 /* : Array[Object] */;
340 val* var_listnode12 /* var listnode12: Array[Object] */;
341 val* var16 /* : Array[Object] */;
342 val* var_listnode14 /* var listnode14: Array[Object] */;
343 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
344 short int var17 /* : Bool */;
345 int cltype;
346 int idtype;
347 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
348 short int var18 /* : Bool */;
349 int cltype19;
350 int idtype20;
351 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
352 short int var21 /* : Bool */;
353 int cltype22;
354 int idtype23;
355 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
356 short int var24 /* : Bool */;
357 int cltype25;
358 int idtype26;
359 val* var_listnode7 /* var listnode7: nullable Object */;
360 short int var27 /* : Bool */;
361 int cltype28;
362 int idtype29;
363 val* var30 /* : Array[Object] */;
364 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
365 short int var31 /* : Bool */;
366 int cltype32;
367 int idtype33;
368 val* var_listnode11 /* var listnode11: nullable Object */;
369 short int var34 /* : Bool */;
370 int cltype35;
371 int idtype36;
372 val* var37 /* : Array[Object] */;
373 val* var_listnode13 /* var listnode13: nullable Object */;
374 short int var38 /* : Bool */;
375 int cltype39;
376 int idtype40;
377 val* var41 /* : Array[Object] */;
378 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
379 short int var42 /* : Bool */;
380 int cltype43;
381 int idtype44;
382 val* var45 /* : AStdClassdef */;
383 val* var46 /* : null */;
384 val* var47 /* : null */;
385 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
386 long var48 /* : Int */;
387 long var49 /* : Int */;
388 var_p = p0;
389 var = NULL;
390 var_node_list = var;
391 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
392 var_nodearraylist13 = var1;
393 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
394 var_nodearraylist12 = var2;
395 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
396 var_nodearraylist11 = var3;
397 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
398 var_nodearraylist10 = var4;
399 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
400 var_nodearraylist9 = var5;
401 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
402 var_nodearraylist8 = var6;
403 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
404 var_nodearraylist7 = var7;
405 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
406 var_nodearraylist6 = var8;
407 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
408 var_nodearraylist5 = var9;
409 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
410 var_nodearraylist4 = var10;
411 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
412 var_nodearraylist3 = var11;
413 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
414 var_nodearraylist2 = var12;
415 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
416 var_nodearraylist1 = var13;
417 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
418 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
419 CHECK_NEW_array__Array(var14);
420 var_listnode8 = var14;
421 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
422 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
423 CHECK_NEW_array__Array(var15);
424 var_listnode12 = var15;
425 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
426 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
427 CHECK_NEW_array__Array(var16);
428 var_listnode14 = var16;
429 var_pdocnode2 = var_nodearraylist1;
430 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
431 cltype = type_nullable_parser_nodes__ADoc.color;
432 idtype = type_nullable_parser_nodes__ADoc.id;
433 if(var_pdocnode2 == NULL) {
434 var17 = 1;
435 } else {
436 if(cltype >= var_pdocnode2->type->table_size) {
437 var17 = 0;
438 } else {
439 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
440 }
441 }
442 if (!var17) {
443 fprintf(stderr, "Runtime error: %s", "Assert failed");
444 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14241);
445 exit(1);
446 }
447 var_pvisibilitynode4 = var_nodearraylist2;
448 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
449 cltype19 = type_nullable_parser_nodes__AVisibility.color;
450 idtype20 = type_nullable_parser_nodes__AVisibility.id;
451 if(var_pvisibilitynode4 == NULL) {
452 var18 = 1;
453 } else {
454 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
455 var18 = 0;
456 } else {
457 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
458 }
459 }
460 if (!var18) {
461 fprintf(stderr, "Runtime error: %s", "Assert failed");
462 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14243);
463 exit(1);
464 }
465 var_pclasskindnode5 = var_nodearraylist3;
466 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
467 cltype22 = type_nullable_parser_nodes__AClasskind.color;
468 idtype23 = type_nullable_parser_nodes__AClasskind.id;
469 if(var_pclasskindnode5 == NULL) {
470 var21 = 1;
471 } else {
472 if(cltype22 >= var_pclasskindnode5->type->table_size) {
473 var21 = 0;
474 } else {
475 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
476 }
477 }
478 if (!var21) {
479 fprintf(stderr, "Runtime error: %s", "Assert failed");
480 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14245);
481 exit(1);
482 }
483 var_tclassidnode6 = var_nodearraylist7;
484 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
485 cltype25 = type_nullable_parser_nodes__TClassid.color;
486 idtype26 = type_nullable_parser_nodes__TClassid.id;
487 if(var_tclassidnode6 == NULL) {
488 var24 = 1;
489 } else {
490 if(cltype25 >= var_tclassidnode6->type->table_size) {
491 var24 = 0;
492 } else {
493 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
494 }
495 }
496 if (!var24) {
497 fprintf(stderr, "Runtime error: %s", "Assert failed");
498 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14247);
499 exit(1);
500 }
501 var_listnode7 = var_nodearraylist8;
502 /* <var_listnode7:nullable Object> isa Array[Object] */
503 cltype28 = type_array__Arraykernel__Object.color;
504 idtype29 = type_array__Arraykernel__Object.id;
505 if(var_listnode7 == NULL) {
506 var27 = 0;
507 } else {
508 if(cltype28 >= var_listnode7->type->table_size) {
509 var27 = 0;
510 } else {
511 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
512 }
513 }
514 if (!var27) {
515 fprintf(stderr, "Runtime error: %s", "Assert failed");
516 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14249);
517 exit(1);
518 }
519 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction308>*/;
520 var_listnode8 = var30;
521 var_pexterncodeblocknode10 = var_nodearraylist9;
522 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
523 cltype32 = type_nullable_parser_nodes__AExternCodeBlock.color;
524 idtype33 = type_nullable_parser_nodes__AExternCodeBlock.id;
525 if(var_pexterncodeblocknode10 == NULL) {
526 var31 = 1;
527 } else {
528 if(cltype32 >= var_pexterncodeblocknode10->type->table_size) {
529 var31 = 0;
530 } else {
531 var31 = var_pexterncodeblocknode10->type->type_table[cltype32] == idtype33;
532 }
533 }
534 if (!var31) {
535 fprintf(stderr, "Runtime error: %s", "Assert failed");
536 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14252);
537 exit(1);
538 }
539 var_listnode11 = var_nodearraylist10;
540 /* <var_listnode11:nullable Object> isa Array[Object] */
541 cltype35 = type_array__Arraykernel__Object.color;
542 idtype36 = type_array__Arraykernel__Object.id;
543 if(var_listnode11 == NULL) {
544 var34 = 0;
545 } else {
546 if(cltype35 >= var_listnode11->type->table_size) {
547 var34 = 0;
548 } else {
549 var34 = var_listnode11->type->type_table[cltype35] == idtype36;
550 }
551 }
552 if (!var34) {
553 fprintf(stderr, "Runtime error: %s", "Assert failed");
554 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14254);
555 exit(1);
556 }
557 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction308>*/;
558 var_listnode12 = var37;
559 var_listnode13 = var_nodearraylist11;
560 /* <var_listnode13:nullable Object> isa Array[Object] */
561 cltype39 = type_array__Arraykernel__Object.color;
562 idtype40 = type_array__Arraykernel__Object.id;
563 if(var_listnode13 == NULL) {
564 var38 = 0;
565 } else {
566 if(cltype39 >= var_listnode13->type->table_size) {
567 var38 = 0;
568 } else {
569 var38 = var_listnode13->type->type_table[cltype39] == idtype40;
570 }
571 }
572 if (!var38) {
573 fprintf(stderr, "Runtime error: %s", "Assert failed");
574 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14257);
575 exit(1);
576 }
577 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction308>*/;
578 var_listnode14 = var41;
579 var_tkwendnode15 = var_nodearraylist13;
580 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
581 cltype43 = type_nullable_parser_nodes__TKwend.color;
582 idtype44 = type_nullable_parser_nodes__TKwend.id;
583 if(var_tkwendnode15 == NULL) {
584 var42 = 1;
585 } else {
586 if(cltype43 >= var_tkwendnode15->type->table_size) {
587 var42 = 0;
588 } else {
589 var42 = var_tkwendnode15->type->type_table[cltype43] == idtype44;
590 }
591 }
592 if (!var42) {
593 fprintf(stderr, "Runtime error: %s", "Assert failed");
594 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14260);
595 exit(1);
596 }
597 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
598 var46 = NULL;
599 var47 = NULL;
600 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var46, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var47, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var45:AStdClassdef>*/;
601 CHECK_NEW_parser_nodes__AStdClassdef(var45);
602 var_pclassdefnode1 = var45;
603 var_node_list = var_pclassdefnode1;
604 var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction308> */
605 var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on <var_p:Parser>*/;
606 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on <var_p:Parser>*/;
607 RET_LABEL:;
608 }
609 /* method parser#ReduceAction308#action for (self: Object, Parser) */
610 void VIRTUAL_parser__ReduceAction308__action(val* self, val* p0) {
611 parser__ReduceAction308__action(self, p0);
612 RET_LABEL:;
613 }
614 /* method parser#ReduceAction310#action for (self: ReduceAction310, Parser) */
615 void parser__ReduceAction310__action(val* self, val* p0) {
616 val* var_p /* var p: Parser */;
617 val* var /* : null */;
618 val* var_node_list /* var node_list: nullable Object */;
619 val* var1 /* : nullable Object */;
620 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
621 val* var2 /* : nullable Object */;
622 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
623 val* var3 /* : nullable Object */;
624 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
625 val* var4 /* : nullable Object */;
626 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
627 val* var5 /* : nullable Object */;
628 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
629 val* var6 /* : nullable Object */;
630 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
631 val* var7 /* : nullable Object */;
632 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
633 val* var8 /* : nullable Object */;
634 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
635 val* var9 /* : nullable Object */;
636 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
637 val* var10 /* : nullable Object */;
638 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
639 val* var11 /* : nullable Object */;
640 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
641 val* var12 /* : nullable Object */;
642 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
643 val* var13 /* : nullable Object */;
644 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
645 val* var14 /* : Array[Object] */;
646 val* var_listnode8 /* var listnode8: Array[Object] */;
647 val* var15 /* : Array[Object] */;
648 val* var_listnode12 /* var listnode12: Array[Object] */;
649 val* var16 /* : Array[Object] */;
650 val* var_listnode14 /* var listnode14: Array[Object] */;
651 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
652 short int var17 /* : Bool */;
653 int cltype;
654 int idtype;
655 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
656 short int var18 /* : Bool */;
657 int cltype19;
658 int idtype20;
659 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
660 short int var21 /* : Bool */;
661 int cltype22;
662 int idtype23;
663 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
664 short int var24 /* : Bool */;
665 int cltype25;
666 int idtype26;
667 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
668 short int var27 /* : Bool */;
669 int cltype28;
670 int idtype29;
671 val* var_listnode7 /* var listnode7: nullable Object */;
672 short int var30 /* : Bool */;
673 int cltype31;
674 int idtype32;
675 val* var33 /* : Array[Object] */;
676 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
677 short int var34 /* : Bool */;
678 int cltype35;
679 int idtype36;
680 val* var_listnode11 /* var listnode11: nullable Object */;
681 short int var37 /* : Bool */;
682 int cltype38;
683 int idtype39;
684 val* var40 /* : Array[Object] */;
685 val* var_listnode13 /* var listnode13: nullable Object */;
686 short int var41 /* : Bool */;
687 int cltype42;
688 int idtype43;
689 val* var44 /* : Array[Object] */;
690 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
691 short int var45 /* : Bool */;
692 int cltype46;
693 int idtype47;
694 val* var48 /* : AStdClassdef */;
695 val* var49 /* : null */;
696 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
697 long var50 /* : Int */;
698 long var51 /* : Int */;
699 var_p = p0;
700 var = NULL;
701 var_node_list = var;
702 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
703 var_nodearraylist13 = var1;
704 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
705 var_nodearraylist12 = var2;
706 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
707 var_nodearraylist11 = var3;
708 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
709 var_nodearraylist10 = var4;
710 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
711 var_nodearraylist9 = var5;
712 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
713 var_nodearraylist8 = var6;
714 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
715 var_nodearraylist7 = var7;
716 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
717 var_nodearraylist6 = var8;
718 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
719 var_nodearraylist5 = var9;
720 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
721 var_nodearraylist4 = var10;
722 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
723 var_nodearraylist3 = var11;
724 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
725 var_nodearraylist2 = var12;
726 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
727 var_nodearraylist1 = var13;
728 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
729 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
730 CHECK_NEW_array__Array(var14);
731 var_listnode8 = var14;
732 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
733 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
734 CHECK_NEW_array__Array(var15);
735 var_listnode12 = var15;
736 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
737 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
738 CHECK_NEW_array__Array(var16);
739 var_listnode14 = var16;
740 var_pdocnode2 = var_nodearraylist1;
741 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
742 cltype = type_nullable_parser_nodes__ADoc.color;
743 idtype = type_nullable_parser_nodes__ADoc.id;
744 if(var_pdocnode2 == NULL) {
745 var17 = 1;
746 } else {
747 if(cltype >= var_pdocnode2->type->table_size) {
748 var17 = 0;
749 } else {
750 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
751 }
752 }
753 if (!var17) {
754 fprintf(stderr, "Runtime error: %s", "Assert failed");
755 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14300);
756 exit(1);
757 }
758 var_tkwredefnode3 = var_nodearraylist2;
759 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
760 cltype19 = type_nullable_parser_nodes__TKwredef.color;
761 idtype20 = type_nullable_parser_nodes__TKwredef.id;
762 if(var_tkwredefnode3 == NULL) {
763 var18 = 1;
764 } else {
765 if(cltype19 >= var_tkwredefnode3->type->table_size) {
766 var18 = 0;
767 } else {
768 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
769 }
770 }
771 if (!var18) {
772 fprintf(stderr, "Runtime error: %s", "Assert failed");
773 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14302);
774 exit(1);
775 }
776 var_pvisibilitynode4 = var_nodearraylist3;
777 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
778 cltype22 = type_nullable_parser_nodes__AVisibility.color;
779 idtype23 = type_nullable_parser_nodes__AVisibility.id;
780 if(var_pvisibilitynode4 == NULL) {
781 var21 = 1;
782 } else {
783 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
784 var21 = 0;
785 } else {
786 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
787 }
788 }
789 if (!var21) {
790 fprintf(stderr, "Runtime error: %s", "Assert failed");
791 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14304);
792 exit(1);
793 }
794 var_pclasskindnode5 = var_nodearraylist4;
795 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
796 cltype25 = type_nullable_parser_nodes__AClasskind.color;
797 idtype26 = type_nullable_parser_nodes__AClasskind.id;
798 if(var_pclasskindnode5 == NULL) {
799 var24 = 1;
800 } else {
801 if(cltype25 >= var_pclasskindnode5->type->table_size) {
802 var24 = 0;
803 } else {
804 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
805 }
806 }
807 if (!var24) {
808 fprintf(stderr, "Runtime error: %s", "Assert failed");
809 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14306);
810 exit(1);
811 }
812 var_tclassidnode6 = var_nodearraylist7;
813 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
814 cltype28 = type_nullable_parser_nodes__TClassid.color;
815 idtype29 = type_nullable_parser_nodes__TClassid.id;
816 if(var_tclassidnode6 == NULL) {
817 var27 = 1;
818 } else {
819 if(cltype28 >= var_tclassidnode6->type->table_size) {
820 var27 = 0;
821 } else {
822 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
823 }
824 }
825 if (!var27) {
826 fprintf(stderr, "Runtime error: %s", "Assert failed");
827 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14308);
828 exit(1);
829 }
830 var_listnode7 = var_nodearraylist8;
831 /* <var_listnode7:nullable Object> isa Array[Object] */
832 cltype31 = type_array__Arraykernel__Object.color;
833 idtype32 = type_array__Arraykernel__Object.id;
834 if(var_listnode7 == NULL) {
835 var30 = 0;
836 } else {
837 if(cltype31 >= var_listnode7->type->table_size) {
838 var30 = 0;
839 } else {
840 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
841 }
842 }
843 if (!var30) {
844 fprintf(stderr, "Runtime error: %s", "Assert failed");
845 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14310);
846 exit(1);
847 }
848 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction310>*/;
849 var_listnode8 = var33;
850 var_pexterncodeblocknode10 = var_nodearraylist9;
851 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
852 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
853 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
854 if(var_pexterncodeblocknode10 == NULL) {
855 var34 = 1;
856 } else {
857 if(cltype35 >= var_pexterncodeblocknode10->type->table_size) {
858 var34 = 0;
859 } else {
860 var34 = var_pexterncodeblocknode10->type->type_table[cltype35] == idtype36;
861 }
862 }
863 if (!var34) {
864 fprintf(stderr, "Runtime error: %s", "Assert failed");
865 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14313);
866 exit(1);
867 }
868 var_listnode11 = var_nodearraylist10;
869 /* <var_listnode11:nullable Object> isa Array[Object] */
870 cltype38 = type_array__Arraykernel__Object.color;
871 idtype39 = type_array__Arraykernel__Object.id;
872 if(var_listnode11 == NULL) {
873 var37 = 0;
874 } else {
875 if(cltype38 >= var_listnode11->type->table_size) {
876 var37 = 0;
877 } else {
878 var37 = var_listnode11->type->type_table[cltype38] == idtype39;
879 }
880 }
881 if (!var37) {
882 fprintf(stderr, "Runtime error: %s", "Assert failed");
883 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14315);
884 exit(1);
885 }
886 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction310>*/;
887 var_listnode12 = var40;
888 var_listnode13 = var_nodearraylist11;
889 /* <var_listnode13:nullable Object> isa Array[Object] */
890 cltype42 = type_array__Arraykernel__Object.color;
891 idtype43 = type_array__Arraykernel__Object.id;
892 if(var_listnode13 == NULL) {
893 var41 = 0;
894 } else {
895 if(cltype42 >= var_listnode13->type->table_size) {
896 var41 = 0;
897 } else {
898 var41 = var_listnode13->type->type_table[cltype42] == idtype43;
899 }
900 }
901 if (!var41) {
902 fprintf(stderr, "Runtime error: %s", "Assert failed");
903 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14318);
904 exit(1);
905 }
906 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction310>*/;
907 var_listnode14 = var44;
908 var_tkwendnode15 = var_nodearraylist13;
909 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
910 cltype46 = type_nullable_parser_nodes__TKwend.color;
911 idtype47 = type_nullable_parser_nodes__TKwend.id;
912 if(var_tkwendnode15 == NULL) {
913 var45 = 1;
914 } else {
915 if(cltype46 >= var_tkwendnode15->type->table_size) {
916 var45 = 0;
917 } else {
918 var45 = var_tkwendnode15->type->type_table[cltype46] == idtype47;
919 }
920 }
921 if (!var45) {
922 fprintf(stderr, "Runtime error: %s", "Assert failed");
923 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14321);
924 exit(1);
925 }
926 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
927 var49 = NULL;
928 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var48->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var49, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var48:AStdClassdef>*/;
929 CHECK_NEW_parser_nodes__AStdClassdef(var48);
930 var_pclassdefnode1 = var48;
931 var_node_list = var_pclassdefnode1;
932 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction310> */
933 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
934 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
935 RET_LABEL:;
936 }
937 /* method parser#ReduceAction310#action for (self: Object, Parser) */
938 void VIRTUAL_parser__ReduceAction310__action(val* self, val* p0) {
939 parser__ReduceAction310__action(self, p0);
940 RET_LABEL:;
941 }
942 /* method parser#ReduceAction311#action for (self: ReduceAction311, Parser) */
943 void parser__ReduceAction311__action(val* self, val* p0) {
944 val* var_p /* var p: Parser */;
945 val* var /* : null */;
946 val* var_node_list /* var node_list: nullable Object */;
947 val* var1 /* : nullable Object */;
948 val* var_nodearraylist14 /* var nodearraylist14: nullable Object */;
949 val* var2 /* : nullable Object */;
950 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
951 val* var3 /* : nullable Object */;
952 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
953 val* var4 /* : nullable Object */;
954 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
955 val* var5 /* : nullable Object */;
956 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
957 val* var6 /* : nullable Object */;
958 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
959 val* var7 /* : nullable Object */;
960 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
961 val* var8 /* : nullable Object */;
962 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
963 val* var9 /* : nullable Object */;
964 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
965 val* var10 /* : nullable Object */;
966 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
967 val* var11 /* : nullable Object */;
968 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
969 val* var12 /* : nullable Object */;
970 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
971 val* var13 /* : nullable Object */;
972 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
973 val* var14 /* : nullable Object */;
974 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
975 val* var15 /* : Array[Object] */;
976 val* var_listnode8 /* var listnode8: Array[Object] */;
977 val* var16 /* : Array[Object] */;
978 val* var_listnode12 /* var listnode12: Array[Object] */;
979 val* var17 /* : Array[Object] */;
980 val* var_listnode14 /* var listnode14: Array[Object] */;
981 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
982 short int var18 /* : Bool */;
983 int cltype;
984 int idtype;
985 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
986 short int var19 /* : Bool */;
987 int cltype20;
988 int idtype21;
989 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
990 short int var22 /* : Bool */;
991 int cltype23;
992 int idtype24;
993 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
994 short int var25 /* : Bool */;
995 int cltype26;
996 int idtype27;
997 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
998 short int var28 /* : Bool */;
999 int cltype29;
1000 int idtype30;
1001 val* var_listnode7 /* var listnode7: nullable Object */;
1002 short int var31 /* : Bool */;
1003 int cltype32;
1004 int idtype33;
1005 val* var34 /* : Array[Object] */;
1006 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1007 short int var35 /* : Bool */;
1008 int cltype36;
1009 int idtype37;
1010 val* var_listnode11 /* var listnode11: nullable Object */;
1011 short int var38 /* : Bool */;
1012 int cltype39;
1013 int idtype40;
1014 val* var41 /* : Array[Object] */;
1015 val* var_listnode13 /* var listnode13: nullable Object */;
1016 short int var42 /* : Bool */;
1017 int cltype43;
1018 int idtype44;
1019 val* var45 /* : Array[Object] */;
1020 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
1021 short int var46 /* : Bool */;
1022 int cltype47;
1023 int idtype48;
1024 val* var49 /* : AStdClassdef */;
1025 val* var50 /* : null */;
1026 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1027 long var51 /* : Int */;
1028 long var52 /* : Int */;
1029 var_p = p0;
1030 var = NULL;
1031 var_node_list = var;
1032 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1033 var_nodearraylist14 = var1;
1034 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1035 var_nodearraylist13 = var2;
1036 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1037 var_nodearraylist12 = var3;
1038 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1039 var_nodearraylist11 = var4;
1040 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1041 var_nodearraylist10 = var5;
1042 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1043 var_nodearraylist9 = var6;
1044 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1045 var_nodearraylist8 = var7;
1046 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1047 var_nodearraylist7 = var8;
1048 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1049 var_nodearraylist6 = var9;
1050 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1051 var_nodearraylist5 = var10;
1052 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1053 var_nodearraylist4 = var11;
1054 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1055 var_nodearraylist3 = var12;
1056 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1057 var_nodearraylist2 = var13;
1058 var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1059 var_nodearraylist1 = var14;
1060 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1061 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1062 CHECK_NEW_array__Array(var15);
1063 var_listnode8 = var15;
1064 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
1065 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
1066 CHECK_NEW_array__Array(var16);
1067 var_listnode12 = var16;
1068 var17 = NEW_array__Array(&type_array__Arraykernel__Object);
1069 ((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on <var17:Array[Object]>*/;
1070 CHECK_NEW_array__Array(var17);
1071 var_listnode14 = var17;
1072 var_pdocnode2 = var_nodearraylist1;
1073 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1074 cltype = type_nullable_parser_nodes__ADoc.color;
1075 idtype = type_nullable_parser_nodes__ADoc.id;
1076 if(var_pdocnode2 == NULL) {
1077 var18 = 1;
1078 } else {
1079 if(cltype >= var_pdocnode2->type->table_size) {
1080 var18 = 0;
1081 } else {
1082 var18 = var_pdocnode2->type->type_table[cltype] == idtype;
1083 }
1084 }
1085 if (!var18) {
1086 fprintf(stderr, "Runtime error: %s", "Assert failed");
1087 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14362);
1088 exit(1);
1089 }
1090 var_tkwredefnode3 = var_nodearraylist2;
1091 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1092 cltype20 = type_nullable_parser_nodes__TKwredef.color;
1093 idtype21 = type_nullable_parser_nodes__TKwredef.id;
1094 if(var_tkwredefnode3 == NULL) {
1095 var19 = 1;
1096 } else {
1097 if(cltype20 >= var_tkwredefnode3->type->table_size) {
1098 var19 = 0;
1099 } else {
1100 var19 = var_tkwredefnode3->type->type_table[cltype20] == idtype21;
1101 }
1102 }
1103 if (!var19) {
1104 fprintf(stderr, "Runtime error: %s", "Assert failed");
1105 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14364);
1106 exit(1);
1107 }
1108 var_pvisibilitynode4 = var_nodearraylist3;
1109 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1110 cltype23 = type_nullable_parser_nodes__AVisibility.color;
1111 idtype24 = type_nullable_parser_nodes__AVisibility.id;
1112 if(var_pvisibilitynode4 == NULL) {
1113 var22 = 1;
1114 } else {
1115 if(cltype23 >= var_pvisibilitynode4->type->table_size) {
1116 var22 = 0;
1117 } else {
1118 var22 = var_pvisibilitynode4->type->type_table[cltype23] == idtype24;
1119 }
1120 }
1121 if (!var22) {
1122 fprintf(stderr, "Runtime error: %s", "Assert failed");
1123 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14366);
1124 exit(1);
1125 }
1126 var_pclasskindnode5 = var_nodearraylist4;
1127 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1128 cltype26 = type_nullable_parser_nodes__AClasskind.color;
1129 idtype27 = type_nullable_parser_nodes__AClasskind.id;
1130 if(var_pclasskindnode5 == NULL) {
1131 var25 = 1;
1132 } else {
1133 if(cltype26 >= var_pclasskindnode5->type->table_size) {
1134 var25 = 0;
1135 } else {
1136 var25 = var_pclasskindnode5->type->type_table[cltype26] == idtype27;
1137 }
1138 }
1139 if (!var25) {
1140 fprintf(stderr, "Runtime error: %s", "Assert failed");
1141 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14368);
1142 exit(1);
1143 }
1144 var_tclassidnode6 = var_nodearraylist8;
1145 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1146 cltype29 = type_nullable_parser_nodes__TClassid.color;
1147 idtype30 = type_nullable_parser_nodes__TClassid.id;
1148 if(var_tclassidnode6 == NULL) {
1149 var28 = 1;
1150 } else {
1151 if(cltype29 >= var_tclassidnode6->type->table_size) {
1152 var28 = 0;
1153 } else {
1154 var28 = var_tclassidnode6->type->type_table[cltype29] == idtype30;
1155 }
1156 }
1157 if (!var28) {
1158 fprintf(stderr, "Runtime error: %s", "Assert failed");
1159 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14370);
1160 exit(1);
1161 }
1162 var_listnode7 = var_nodearraylist9;
1163 /* <var_listnode7:nullable Object> isa Array[Object] */
1164 cltype32 = type_array__Arraykernel__Object.color;
1165 idtype33 = type_array__Arraykernel__Object.id;
1166 if(var_listnode7 == NULL) {
1167 var31 = 0;
1168 } else {
1169 if(cltype32 >= var_listnode7->type->table_size) {
1170 var31 = 0;
1171 } else {
1172 var31 = var_listnode7->type->type_table[cltype32] == idtype33;
1173 }
1174 }
1175 if (!var31) {
1176 fprintf(stderr, "Runtime error: %s", "Assert failed");
1177 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14372);
1178 exit(1);
1179 }
1180 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction311>*/;
1181 var_listnode8 = var34;
1182 var_pexterncodeblocknode10 = var_nodearraylist10;
1183 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1184 cltype36 = type_nullable_parser_nodes__AExternCodeBlock.color;
1185 idtype37 = type_nullable_parser_nodes__AExternCodeBlock.id;
1186 if(var_pexterncodeblocknode10 == NULL) {
1187 var35 = 1;
1188 } else {
1189 if(cltype36 >= var_pexterncodeblocknode10->type->table_size) {
1190 var35 = 0;
1191 } else {
1192 var35 = var_pexterncodeblocknode10->type->type_table[cltype36] == idtype37;
1193 }
1194 }
1195 if (!var35) {
1196 fprintf(stderr, "Runtime error: %s", "Assert failed");
1197 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14375);
1198 exit(1);
1199 }
1200 var_listnode11 = var_nodearraylist11;
1201 /* <var_listnode11:nullable Object> isa Array[Object] */
1202 cltype39 = type_array__Arraykernel__Object.color;
1203 idtype40 = type_array__Arraykernel__Object.id;
1204 if(var_listnode11 == NULL) {
1205 var38 = 0;
1206 } else {
1207 if(cltype39 >= var_listnode11->type->table_size) {
1208 var38 = 0;
1209 } else {
1210 var38 = var_listnode11->type->type_table[cltype39] == idtype40;
1211 }
1212 }
1213 if (!var38) {
1214 fprintf(stderr, "Runtime error: %s", "Assert failed");
1215 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14377);
1216 exit(1);
1217 }
1218 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction311>*/;
1219 var_listnode12 = var41;
1220 var_listnode13 = var_nodearraylist12;
1221 /* <var_listnode13:nullable Object> isa Array[Object] */
1222 cltype43 = type_array__Arraykernel__Object.color;
1223 idtype44 = type_array__Arraykernel__Object.id;
1224 if(var_listnode13 == NULL) {
1225 var42 = 0;
1226 } else {
1227 if(cltype43 >= var_listnode13->type->table_size) {
1228 var42 = 0;
1229 } else {
1230 var42 = var_listnode13->type->type_table[cltype43] == idtype44;
1231 }
1232 }
1233 if (!var42) {
1234 fprintf(stderr, "Runtime error: %s", "Assert failed");
1235 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14380);
1236 exit(1);
1237 }
1238 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction311>*/;
1239 var_listnode14 = var45;
1240 var_tkwendnode15 = var_nodearraylist14;
1241 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
1242 cltype47 = type_nullable_parser_nodes__TKwend.color;
1243 idtype48 = type_nullable_parser_nodes__TKwend.id;
1244 if(var_tkwendnode15 == NULL) {
1245 var46 = 1;
1246 } else {
1247 if(cltype47 >= var_tkwendnode15->type->table_size) {
1248 var46 = 0;
1249 } else {
1250 var46 = var_tkwendnode15->type->type_table[cltype47] == idtype48;
1251 }
1252 }
1253 if (!var46) {
1254 fprintf(stderr, "Runtime error: %s", "Assert failed");
1255 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14383);
1256 exit(1);
1257 }
1258 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1259 var50 = NULL;
1260 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var49->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var49, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var50, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var49:AStdClassdef>*/;
1261 CHECK_NEW_parser_nodes__AStdClassdef(var49);
1262 var_pclassdefnode1 = var49;
1263 var_node_list = var_pclassdefnode1;
1264 var51 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction311> */
1265 var52 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var51) /* go_to on <var_p:Parser>*/;
1266 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var52, var_node_list) /* push on <var_p:Parser>*/;
1267 RET_LABEL:;
1268 }
1269 /* method parser#ReduceAction311#action for (self: Object, Parser) */
1270 void VIRTUAL_parser__ReduceAction311__action(val* self, val* p0) {
1271 parser__ReduceAction311__action(self, p0);
1272 RET_LABEL:;
1273 }
1274 /* method parser#ReduceAction313#action for (self: ReduceAction313, Parser) */
1275 void parser__ReduceAction313__action(val* self, val* p0) {
1276 val* var_p /* var p: Parser */;
1277 val* var /* : null */;
1278 val* var_node_list /* var node_list: nullable Object */;
1279 val* var1 /* : nullable Object */;
1280 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1281 val* var2 /* : nullable Object */;
1282 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1283 val* var3 /* : nullable Object */;
1284 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1285 val* var4 /* : nullable Object */;
1286 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1287 val* var5 /* : nullable Object */;
1288 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1289 val* var6 /* : nullable Object */;
1290 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1291 val* var7 /* : nullable Object */;
1292 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1293 val* var8 /* : nullable Object */;
1294 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1295 val* var9 /* : nullable Object */;
1296 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1297 val* var10 /* : nullable Object */;
1298 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1299 val* var11 /* : nullable Object */;
1300 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1301 val* var12 /* : Array[Object] */;
1302 val* var_listnode7 /* var listnode7: Array[Object] */;
1303 val* var13 /* : Array[Object] */;
1304 val* var_listnode16 /* var listnode16: Array[Object] */;
1305 val* var14 /* : Array[Object] */;
1306 val* var_listnode18 /* var listnode18: Array[Object] */;
1307 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1308 short int var15 /* : Bool */;
1309 int cltype;
1310 int idtype;
1311 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1312 short int var16 /* : Bool */;
1313 int cltype17;
1314 int idtype18;
1315 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1316 short int var19 /* : Bool */;
1317 int cltype20;
1318 int idtype21;
1319 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1320 short int var22 /* : Bool */;
1321 int cltype23;
1322 int idtype24;
1323 val* var25 /* : Array[Object] */;
1324 val* var_listnode12 /* var listnode12: Array[Object] */;
1325 val* var_listnode11 /* var listnode11: nullable Object */;
1326 short int var26 /* : Bool */;
1327 int cltype27;
1328 int idtype28;
1329 val* var29 /* : Array[Object] */;
1330 val* var30 /* : AAnnotations */;
1331 val* var31 /* : null */;
1332 val* var32 /* : null */;
1333 val* var33 /* : null */;
1334 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
1335 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
1336 short int var34 /* : Bool */;
1337 int cltype35;
1338 int idtype36;
1339 val* var_listnode15 /* var listnode15: nullable Object */;
1340 short int var37 /* : Bool */;
1341 int cltype38;
1342 int idtype39;
1343 val* var40 /* : Array[Object] */;
1344 val* var_listnode17 /* var listnode17: nullable Object */;
1345 short int var41 /* : Bool */;
1346 int cltype42;
1347 int idtype43;
1348 val* var44 /* : Array[Object] */;
1349 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
1350 short int var45 /* : Bool */;
1351 int cltype46;
1352 int idtype47;
1353 val* var48 /* : AStdClassdef */;
1354 val* var49 /* : null */;
1355 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1356 long var50 /* : Int */;
1357 long var51 /* : Int */;
1358 var_p = p0;
1359 var = NULL;
1360 var_node_list = var;
1361 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1362 var_nodearraylist11 = var1;
1363 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1364 var_nodearraylist10 = var2;
1365 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1366 var_nodearraylist9 = var3;
1367 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1368 var_nodearraylist8 = var4;
1369 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1370 var_nodearraylist7 = var5;
1371 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1372 var_nodearraylist6 = var6;
1373 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1374 var_nodearraylist5 = var7;
1375 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1376 var_nodearraylist4 = var8;
1377 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1378 var_nodearraylist3 = var9;
1379 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1380 var_nodearraylist2 = var10;
1381 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1382 var_nodearraylist1 = var11;
1383 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1384 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1385 CHECK_NEW_array__Array(var12);
1386 var_listnode7 = var12;
1387 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1388 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1389 CHECK_NEW_array__Array(var13);
1390 var_listnode16 = var13;
1391 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1392 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1393 CHECK_NEW_array__Array(var14);
1394 var_listnode18 = var14;
1395 var_pdocnode2 = var_nodearraylist1;
1396 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1397 cltype = type_nullable_parser_nodes__ADoc.color;
1398 idtype = type_nullable_parser_nodes__ADoc.id;
1399 if(var_pdocnode2 == NULL) {
1400 var15 = 1;
1401 } else {
1402 if(cltype >= var_pdocnode2->type->table_size) {
1403 var15 = 0;
1404 } else {
1405 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
1406 }
1407 }
1408 if (!var15) {
1409 fprintf(stderr, "Runtime error: %s", "Assert failed");
1410 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14421);
1411 exit(1);
1412 }
1413 var_pvisibilitynode4 = var_nodearraylist2;
1414 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1415 cltype17 = type_nullable_parser_nodes__AVisibility.color;
1416 idtype18 = type_nullable_parser_nodes__AVisibility.id;
1417 if(var_pvisibilitynode4 == NULL) {
1418 var16 = 1;
1419 } else {
1420 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
1421 var16 = 0;
1422 } else {
1423 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
1424 }
1425 }
1426 if (!var16) {
1427 fprintf(stderr, "Runtime error: %s", "Assert failed");
1428 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14423);
1429 exit(1);
1430 }
1431 var_pclasskindnode5 = var_nodearraylist3;
1432 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1433 cltype20 = type_nullable_parser_nodes__AClasskind.color;
1434 idtype21 = type_nullable_parser_nodes__AClasskind.id;
1435 if(var_pclasskindnode5 == NULL) {
1436 var19 = 1;
1437 } else {
1438 if(cltype20 >= var_pclasskindnode5->type->table_size) {
1439 var19 = 0;
1440 } else {
1441 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
1442 }
1443 }
1444 if (!var19) {
1445 fprintf(stderr, "Runtime error: %s", "Assert failed");
1446 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14425);
1447 exit(1);
1448 }
1449 var_tclassidnode6 = var_nodearraylist5;
1450 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1451 cltype23 = type_nullable_parser_nodes__TClassid.color;
1452 idtype24 = type_nullable_parser_nodes__TClassid.id;
1453 if(var_tclassidnode6 == NULL) {
1454 var22 = 1;
1455 } else {
1456 if(cltype23 >= var_tclassidnode6->type->table_size) {
1457 var22 = 0;
1458 } else {
1459 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
1460 }
1461 }
1462 if (!var22) {
1463 fprintf(stderr, "Runtime error: %s", "Assert failed");
1464 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14427);
1465 exit(1);
1466 }
1467 var25 = NEW_array__Array(&type_array__Arraykernel__Object);
1468 ((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on <var25:Array[Object]>*/;
1469 CHECK_NEW_array__Array(var25);
1470 var_listnode12 = var25;
1471 var_listnode11 = var_nodearraylist6;
1472 /* <var_listnode11:nullable Object> isa Array[Object] */
1473 cltype27 = type_array__Arraykernel__Object.color;
1474 idtype28 = type_array__Arraykernel__Object.id;
1475 if(var_listnode11 == NULL) {
1476 var26 = 0;
1477 } else {
1478 if(cltype27 >= var_listnode11->type->table_size) {
1479 var26 = 0;
1480 } else {
1481 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
1482 }
1483 }
1484 if (!var26) {
1485 fprintf(stderr, "Runtime error: %s", "Assert failed");
1486 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14430);
1487 exit(1);
1488 }
1489 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction313>*/;
1490 var_listnode12 = var29;
1491 var30 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1492 var31 = NULL;
1493 var32 = NULL;
1494 var33 = NULL;
1495 ((void (*)(val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var30, var31, var32, var_listnode12, var33) /* init_aannotations on <var30:AAnnotations>*/;
1496 CHECK_NEW_parser_nodes__AAnnotations(var30);
1497 var_pannotationsnode8 = var30;
1498 var_pexterncodeblocknode14 = var_nodearraylist7;
1499 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
1500 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
1501 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
1502 if(var_pexterncodeblocknode14 == NULL) {
1503 var34 = 1;
1504 } else {
1505 if(cltype35 >= var_pexterncodeblocknode14->type->table_size) {
1506 var34 = 0;
1507 } else {
1508 var34 = var_pexterncodeblocknode14->type->type_table[cltype35] == idtype36;
1509 }
1510 }
1511 if (!var34) {
1512 fprintf(stderr, "Runtime error: %s", "Assert failed");
1513 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14439);
1514 exit(1);
1515 }
1516 var_listnode15 = var_nodearraylist8;
1517 /* <var_listnode15:nullable Object> isa Array[Object] */
1518 cltype38 = type_array__Arraykernel__Object.color;
1519 idtype39 = type_array__Arraykernel__Object.id;
1520 if(var_listnode15 == NULL) {
1521 var37 = 0;
1522 } else {
1523 if(cltype38 >= var_listnode15->type->table_size) {
1524 var37 = 0;
1525 } else {
1526 var37 = var_listnode15->type->type_table[cltype38] == idtype39;
1527 }
1528 }
1529 if (!var37) {
1530 fprintf(stderr, "Runtime error: %s", "Assert failed");
1531 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14441);
1532 exit(1);
1533 }
1534 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction313>*/;
1535 var_listnode16 = var40;
1536 var_listnode17 = var_nodearraylist9;
1537 /* <var_listnode17:nullable Object> isa Array[Object] */
1538 cltype42 = type_array__Arraykernel__Object.color;
1539 idtype43 = type_array__Arraykernel__Object.id;
1540 if(var_listnode17 == NULL) {
1541 var41 = 0;
1542 } else {
1543 if(cltype42 >= var_listnode17->type->table_size) {
1544 var41 = 0;
1545 } else {
1546 var41 = var_listnode17->type->type_table[cltype42] == idtype43;
1547 }
1548 }
1549 if (!var41) {
1550 fprintf(stderr, "Runtime error: %s", "Assert failed");
1551 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14444);
1552 exit(1);
1553 }
1554 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction313>*/;
1555 var_listnode18 = var44;
1556 var_tkwendnode19 = var_nodearraylist11;
1557 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
1558 cltype46 = type_nullable_parser_nodes__TKwend.color;
1559 idtype47 = type_nullable_parser_nodes__TKwend.id;
1560 if(var_tkwendnode19 == NULL) {
1561 var45 = 1;
1562 } else {
1563 if(cltype46 >= var_tkwendnode19->type->table_size) {
1564 var45 = 0;
1565 } else {
1566 var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47;
1567 }
1568 }
1569 if (!var45) {
1570 fprintf(stderr, "Runtime error: %s", "Assert failed");
1571 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14447);
1572 exit(1);
1573 }
1574 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1575 var49 = NULL;
1576 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var48->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var48, var_pdocnode2, var49, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var48:AStdClassdef>*/;
1577 CHECK_NEW_parser_nodes__AStdClassdef(var48);
1578 var_pclassdefnode1 = var48;
1579 var_node_list = var_pclassdefnode1;
1580 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction313> */
1581 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
1582 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
1583 RET_LABEL:;
1584 }
1585 /* method parser#ReduceAction313#action for (self: Object, Parser) */
1586 void VIRTUAL_parser__ReduceAction313__action(val* self, val* p0) {
1587 parser__ReduceAction313__action(self, p0);
1588 RET_LABEL:;
1589 }
1590 /* method parser#ReduceAction314#action for (self: ReduceAction314, Parser) */
1591 void parser__ReduceAction314__action(val* self, val* p0) {
1592 val* var_p /* var p: Parser */;
1593 val* var /* : null */;
1594 val* var_node_list /* var node_list: nullable Object */;
1595 val* var1 /* : nullable Object */;
1596 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1597 val* var2 /* : nullable Object */;
1598 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1599 val* var3 /* : nullable Object */;
1600 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1601 val* var4 /* : nullable Object */;
1602 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1603 val* var5 /* : nullable Object */;
1604 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1605 val* var6 /* : nullable Object */;
1606 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1607 val* var7 /* : nullable Object */;
1608 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1609 val* var8 /* : nullable Object */;
1610 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1611 val* var9 /* : nullable Object */;
1612 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1613 val* var10 /* : nullable Object */;
1614 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1615 val* var11 /* : nullable Object */;
1616 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1617 val* var12 /* : nullable Object */;
1618 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1619 val* var13 /* : Array[Object] */;
1620 val* var_listnode7 /* var listnode7: Array[Object] */;
1621 val* var14 /* : Array[Object] */;
1622 val* var_listnode16 /* var listnode16: Array[Object] */;
1623 val* var15 /* : Array[Object] */;
1624 val* var_listnode18 /* var listnode18: Array[Object] */;
1625 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1626 short int var16 /* : Bool */;
1627 int cltype;
1628 int idtype;
1629 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1630 short int var17 /* : Bool */;
1631 int cltype18;
1632 int idtype19;
1633 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1634 short int var20 /* : Bool */;
1635 int cltype21;
1636 int idtype22;
1637 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1638 short int var23 /* : Bool */;
1639 int cltype24;
1640 int idtype25;
1641 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1642 short int var26 /* : Bool */;
1643 int cltype27;
1644 int idtype28;
1645 val* var29 /* : Array[Object] */;
1646 val* var_listnode12 /* var listnode12: Array[Object] */;
1647 val* var_listnode11 /* var listnode11: nullable Object */;
1648 short int var30 /* : Bool */;
1649 int cltype31;
1650 int idtype32;
1651 val* var33 /* : Array[Object] */;
1652 val* var34 /* : AAnnotations */;
1653 val* var35 /* : null */;
1654 val* var36 /* : null */;
1655 val* var37 /* : null */;
1656 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
1657 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
1658 short int var38 /* : Bool */;
1659 int cltype39;
1660 int idtype40;
1661 val* var_listnode15 /* var listnode15: nullable Object */;
1662 short int var41 /* : Bool */;
1663 int cltype42;
1664 int idtype43;
1665 val* var44 /* : Array[Object] */;
1666 val* var_listnode17 /* var listnode17: nullable Object */;
1667 short int var45 /* : Bool */;
1668 int cltype46;
1669 int idtype47;
1670 val* var48 /* : Array[Object] */;
1671 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
1672 short int var49 /* : Bool */;
1673 int cltype50;
1674 int idtype51;
1675 val* var52 /* : AStdClassdef */;
1676 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1677 long var53 /* : Int */;
1678 long var54 /* : Int */;
1679 var_p = p0;
1680 var = NULL;
1681 var_node_list = var;
1682 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1683 var_nodearraylist12 = var1;
1684 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1685 var_nodearraylist11 = var2;
1686 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1687 var_nodearraylist10 = var3;
1688 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1689 var_nodearraylist9 = var4;
1690 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1691 var_nodearraylist8 = var5;
1692 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1693 var_nodearraylist7 = var6;
1694 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1695 var_nodearraylist6 = var7;
1696 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1697 var_nodearraylist5 = var8;
1698 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1699 var_nodearraylist4 = var9;
1700 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1701 var_nodearraylist3 = var10;
1702 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1703 var_nodearraylist2 = var11;
1704 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1705 var_nodearraylist1 = var12;
1706 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1707 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1708 CHECK_NEW_array__Array(var13);
1709 var_listnode7 = var13;
1710 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1711 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1712 CHECK_NEW_array__Array(var14);
1713 var_listnode16 = var14;
1714 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1715 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1716 CHECK_NEW_array__Array(var15);
1717 var_listnode18 = var15;
1718 var_pdocnode2 = var_nodearraylist1;
1719 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1720 cltype = type_nullable_parser_nodes__ADoc.color;
1721 idtype = type_nullable_parser_nodes__ADoc.id;
1722 if(var_pdocnode2 == NULL) {
1723 var16 = 1;
1724 } else {
1725 if(cltype >= var_pdocnode2->type->table_size) {
1726 var16 = 0;
1727 } else {
1728 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
1729 }
1730 }
1731 if (!var16) {
1732 fprintf(stderr, "Runtime error: %s", "Assert failed");
1733 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14486);
1734 exit(1);
1735 }
1736 var_tkwredefnode3 = var_nodearraylist2;
1737 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1738 cltype18 = type_nullable_parser_nodes__TKwredef.color;
1739 idtype19 = type_nullable_parser_nodes__TKwredef.id;
1740 if(var_tkwredefnode3 == NULL) {
1741 var17 = 1;
1742 } else {
1743 if(cltype18 >= var_tkwredefnode3->type->table_size) {
1744 var17 = 0;
1745 } else {
1746 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
1747 }
1748 }
1749 if (!var17) {
1750 fprintf(stderr, "Runtime error: %s", "Assert failed");
1751 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14488);
1752 exit(1);
1753 }
1754 var_pvisibilitynode4 = var_nodearraylist3;
1755 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1756 cltype21 = type_nullable_parser_nodes__AVisibility.color;
1757 idtype22 = type_nullable_parser_nodes__AVisibility.id;
1758 if(var_pvisibilitynode4 == NULL) {
1759 var20 = 1;
1760 } else {
1761 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
1762 var20 = 0;
1763 } else {
1764 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
1765 }
1766 }
1767 if (!var20) {
1768 fprintf(stderr, "Runtime error: %s", "Assert failed");
1769 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14490);
1770 exit(1);
1771 }
1772 var_pclasskindnode5 = var_nodearraylist4;
1773 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1774 cltype24 = type_nullable_parser_nodes__AClasskind.color;
1775 idtype25 = type_nullable_parser_nodes__AClasskind.id;
1776 if(var_pclasskindnode5 == NULL) {
1777 var23 = 1;
1778 } else {
1779 if(cltype24 >= var_pclasskindnode5->type->table_size) {
1780 var23 = 0;
1781 } else {
1782 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
1783 }
1784 }
1785 if (!var23) {
1786 fprintf(stderr, "Runtime error: %s", "Assert failed");
1787 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14492);
1788 exit(1);
1789 }
1790 var_tclassidnode6 = var_nodearraylist6;
1791 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1792 cltype27 = type_nullable_parser_nodes__TClassid.color;
1793 idtype28 = type_nullable_parser_nodes__TClassid.id;
1794 if(var_tclassidnode6 == NULL) {
1795 var26 = 1;
1796 } else {
1797 if(cltype27 >= var_tclassidnode6->type->table_size) {
1798 var26 = 0;
1799 } else {
1800 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
1801 }
1802 }
1803 if (!var26) {
1804 fprintf(stderr, "Runtime error: %s", "Assert failed");
1805 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14494);
1806 exit(1);
1807 }
1808 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
1809 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
1810 CHECK_NEW_array__Array(var29);
1811 var_listnode12 = var29;
1812 var_listnode11 = var_nodearraylist7;
1813 /* <var_listnode11:nullable Object> isa Array[Object] */
1814 cltype31 = type_array__Arraykernel__Object.color;
1815 idtype32 = type_array__Arraykernel__Object.id;
1816 if(var_listnode11 == NULL) {
1817 var30 = 0;
1818 } else {
1819 if(cltype31 >= var_listnode11->type->table_size) {
1820 var30 = 0;
1821 } else {
1822 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
1823 }
1824 }
1825 if (!var30) {
1826 fprintf(stderr, "Runtime error: %s", "Assert failed");
1827 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14497);
1828 exit(1);
1829 }
1830 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction314>*/;
1831 var_listnode12 = var33;
1832 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1833 var35 = NULL;
1834 var36 = NULL;
1835 var37 = NULL;
1836 ((void (*)(val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var34, var35, var36, var_listnode12, var37) /* init_aannotations on <var34:AAnnotations>*/;
1837 CHECK_NEW_parser_nodes__AAnnotations(var34);
1838 var_pannotationsnode8 = var34;
1839 var_pexterncodeblocknode14 = var_nodearraylist8;
1840 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
1841 cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color;
1842 idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id;
1843 if(var_pexterncodeblocknode14 == NULL) {
1844 var38 = 1;
1845 } else {
1846 if(cltype39 >= var_pexterncodeblocknode14->type->table_size) {
1847 var38 = 0;
1848 } else {
1849 var38 = var_pexterncodeblocknode14->type->type_table[cltype39] == idtype40;
1850 }
1851 }
1852 if (!var38) {
1853 fprintf(stderr, "Runtime error: %s", "Assert failed");
1854 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14506);
1855 exit(1);
1856 }
1857 var_listnode15 = var_nodearraylist9;
1858 /* <var_listnode15:nullable Object> isa Array[Object] */
1859 cltype42 = type_array__Arraykernel__Object.color;
1860 idtype43 = type_array__Arraykernel__Object.id;
1861 if(var_listnode15 == NULL) {
1862 var41 = 0;
1863 } else {
1864 if(cltype42 >= var_listnode15->type->table_size) {
1865 var41 = 0;
1866 } else {
1867 var41 = var_listnode15->type->type_table[cltype42] == idtype43;
1868 }
1869 }
1870 if (!var41) {
1871 fprintf(stderr, "Runtime error: %s", "Assert failed");
1872 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14508);
1873 exit(1);
1874 }
1875 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction314>*/;
1876 var_listnode16 = var44;
1877 var_listnode17 = var_nodearraylist10;
1878 /* <var_listnode17:nullable Object> isa Array[Object] */
1879 cltype46 = type_array__Arraykernel__Object.color;
1880 idtype47 = type_array__Arraykernel__Object.id;
1881 if(var_listnode17 == NULL) {
1882 var45 = 0;
1883 } else {
1884 if(cltype46 >= var_listnode17->type->table_size) {
1885 var45 = 0;
1886 } else {
1887 var45 = var_listnode17->type->type_table[cltype46] == idtype47;
1888 }
1889 }
1890 if (!var45) {
1891 fprintf(stderr, "Runtime error: %s", "Assert failed");
1892 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14511);
1893 exit(1);
1894 }
1895 var48 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction314>*/;
1896 var_listnode18 = var48;
1897 var_tkwendnode19 = var_nodearraylist12;
1898 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
1899 cltype50 = type_nullable_parser_nodes__TKwend.color;
1900 idtype51 = type_nullable_parser_nodes__TKwend.id;
1901 if(var_tkwendnode19 == NULL) {
1902 var49 = 1;
1903 } else {
1904 if(cltype50 >= var_tkwendnode19->type->table_size) {
1905 var49 = 0;
1906 } else {
1907 var49 = var_tkwendnode19->type->type_table[cltype50] == idtype51;
1908 }
1909 }
1910 if (!var49) {
1911 fprintf(stderr, "Runtime error: %s", "Assert failed");
1912 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14514);
1913 exit(1);
1914 }
1915 var52 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1916 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var52->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var52, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var52:AStdClassdef>*/;
1917 CHECK_NEW_parser_nodes__AStdClassdef(var52);
1918 var_pclassdefnode1 = var52;
1919 var_node_list = var_pclassdefnode1;
1920 var53 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction314> */
1921 var54 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var53) /* go_to on <var_p:Parser>*/;
1922 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var54, var_node_list) /* push on <var_p:Parser>*/;
1923 RET_LABEL:;
1924 }
1925 /* method parser#ReduceAction314#action for (self: Object, Parser) */
1926 void VIRTUAL_parser__ReduceAction314__action(val* self, val* p0) {
1927 parser__ReduceAction314__action(self, p0);
1928 RET_LABEL:;
1929 }
1930 /* method parser#ReduceAction315#action for (self: ReduceAction315, Parser) */
1931 void parser__ReduceAction315__action(val* self, val* p0) {
1932 val* var_p /* var p: Parser */;
1933 val* var /* : null */;
1934 val* var_node_list /* var node_list: nullable Object */;
1935 val* var1 /* : nullable Object */;
1936 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1937 val* var2 /* : nullable Object */;
1938 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1939 val* var3 /* : nullable Object */;
1940 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1941 val* var4 /* : nullable Object */;
1942 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1943 val* var5 /* : nullable Object */;
1944 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1945 val* var6 /* : nullable Object */;
1946 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1947 val* var7 /* : nullable Object */;
1948 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1949 val* var8 /* : nullable Object */;
1950 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1951 val* var9 /* : nullable Object */;
1952 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1953 val* var10 /* : nullable Object */;
1954 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1955 val* var11 /* : nullable Object */;
1956 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1957 val* var12 /* : nullable Object */;
1958 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1959 val* var13 /* : Array[Object] */;
1960 val* var_listnode7 /* var listnode7: Array[Object] */;
1961 val* var14 /* : Array[Object] */;
1962 val* var_listnode16 /* var listnode16: Array[Object] */;
1963 val* var15 /* : Array[Object] */;
1964 val* var_listnode18 /* var listnode18: Array[Object] */;
1965 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1966 short int var16 /* : Bool */;
1967 int cltype;
1968 int idtype;
1969 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1970 short int var17 /* : Bool */;
1971 int cltype18;
1972 int idtype19;
1973 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1974 short int var20 /* : Bool */;
1975 int cltype21;
1976 int idtype22;
1977 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1978 short int var23 /* : Bool */;
1979 int cltype24;
1980 int idtype25;
1981 val* var26 /* : Array[Object] */;
1982 val* var_listnode12 /* var listnode12: Array[Object] */;
1983 val* var_listnode11 /* var listnode11: nullable Object */;
1984 short int var27 /* : Bool */;
1985 int cltype28;
1986 int idtype29;
1987 val* var30 /* : Array[Object] */;
1988 val* var31 /* : AAnnotations */;
1989 val* var32 /* : null */;
1990 val* var33 /* : null */;
1991 val* var34 /* : null */;
1992 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
1993 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
1994 short int var35 /* : Bool */;
1995 int cltype36;
1996 int idtype37;
1997 val* var_listnode15 /* var listnode15: nullable Object */;
1998 short int var38 /* : Bool */;
1999 int cltype39;
2000 int idtype40;
2001 val* var41 /* : Array[Object] */;
2002 val* var_listnode17 /* var listnode17: nullable Object */;
2003 short int var42 /* : Bool */;
2004 int cltype43;
2005 int idtype44;
2006 val* var45 /* : Array[Object] */;
2007 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
2008 short int var46 /* : Bool */;
2009 int cltype47;
2010 int idtype48;
2011 val* var49 /* : AStdClassdef */;
2012 val* var50 /* : null */;
2013 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2014 long var51 /* : Int */;
2015 long var52 /* : Int */;
2016 var_p = p0;
2017 var = NULL;
2018 var_node_list = var;
2019 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2020 var_nodearraylist12 = var1;
2021 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2022 var_nodearraylist11 = var2;
2023 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2024 var_nodearraylist10 = var3;
2025 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2026 var_nodearraylist9 = var4;
2027 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2028 var_nodearraylist8 = var5;
2029 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2030 var_nodearraylist7 = var6;
2031 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2032 var_nodearraylist6 = var7;
2033 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2034 var_nodearraylist5 = var8;
2035 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2036 var_nodearraylist4 = var9;
2037 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2038 var_nodearraylist3 = var10;
2039 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2040 var_nodearraylist2 = var11;
2041 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2042 var_nodearraylist1 = var12;
2043 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2044 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2045 CHECK_NEW_array__Array(var13);
2046 var_listnode7 = var13;
2047 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2048 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2049 CHECK_NEW_array__Array(var14);
2050 var_listnode16 = var14;
2051 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
2052 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
2053 CHECK_NEW_array__Array(var15);
2054 var_listnode18 = var15;
2055 var_pdocnode2 = var_nodearraylist1;
2056 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2057 cltype = type_nullable_parser_nodes__ADoc.color;
2058 idtype = type_nullable_parser_nodes__ADoc.id;
2059 if(var_pdocnode2 == NULL) {
2060 var16 = 1;
2061 } else {
2062 if(cltype >= var_pdocnode2->type->table_size) {
2063 var16 = 0;
2064 } else {
2065 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
2066 }
2067 }
2068 if (!var16) {
2069 fprintf(stderr, "Runtime error: %s", "Assert failed");
2070 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14553);
2071 exit(1);
2072 }
2073 var_pvisibilitynode4 = var_nodearraylist2;
2074 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2075 cltype18 = type_nullable_parser_nodes__AVisibility.color;
2076 idtype19 = type_nullable_parser_nodes__AVisibility.id;
2077 if(var_pvisibilitynode4 == NULL) {
2078 var17 = 1;
2079 } else {
2080 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
2081 var17 = 0;
2082 } else {
2083 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
2084 }
2085 }
2086 if (!var17) {
2087 fprintf(stderr, "Runtime error: %s", "Assert failed");
2088 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14555);
2089 exit(1);
2090 }
2091 var_pclasskindnode5 = var_nodearraylist3;
2092 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2093 cltype21 = type_nullable_parser_nodes__AClasskind.color;
2094 idtype22 = type_nullable_parser_nodes__AClasskind.id;
2095 if(var_pclasskindnode5 == NULL) {
2096 var20 = 1;
2097 } else {
2098 if(cltype21 >= var_pclasskindnode5->type->table_size) {
2099 var20 = 0;
2100 } else {
2101 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
2102 }
2103 }
2104 if (!var20) {
2105 fprintf(stderr, "Runtime error: %s", "Assert failed");
2106 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14557);
2107 exit(1);
2108 }
2109 var_tclassidnode6 = var_nodearraylist6;
2110 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2111 cltype24 = type_nullable_parser_nodes__TClassid.color;
2112 idtype25 = type_nullable_parser_nodes__TClassid.id;
2113 if(var_tclassidnode6 == NULL) {
2114 var23 = 1;
2115 } else {
2116 if(cltype24 >= var_tclassidnode6->type->table_size) {
2117 var23 = 0;
2118 } else {
2119 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
2120 }
2121 }
2122 if (!var23) {
2123 fprintf(stderr, "Runtime error: %s", "Assert failed");
2124 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14559);
2125 exit(1);
2126 }
2127 var26 = NEW_array__Array(&type_array__Arraykernel__Object);
2128 ((void (*)(val*))(var26->class->vft[COLOR_array__Array__init]))(var26) /* init on <var26:Array[Object]>*/;
2129 CHECK_NEW_array__Array(var26);
2130 var_listnode12 = var26;
2131 var_listnode11 = var_nodearraylist7;
2132 /* <var_listnode11:nullable Object> isa Array[Object] */
2133 cltype28 = type_array__Arraykernel__Object.color;
2134 idtype29 = type_array__Arraykernel__Object.id;
2135 if(var_listnode11 == NULL) {
2136 var27 = 0;
2137 } else {
2138 if(cltype28 >= var_listnode11->type->table_size) {
2139 var27 = 0;
2140 } else {
2141 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
2142 }
2143 }
2144 if (!var27) {
2145 fprintf(stderr, "Runtime error: %s", "Assert failed");
2146 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14562);
2147 exit(1);
2148 }
2149 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction315>*/;
2150 var_listnode12 = var30;
2151 var31 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2152 var32 = NULL;
2153 var33 = NULL;
2154 var34 = NULL;
2155 ((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>*/;
2156 CHECK_NEW_parser_nodes__AAnnotations(var31);
2157 var_pannotationsnode8 = var31;
2158 var_pexterncodeblocknode14 = var_nodearraylist8;
2159 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
2160 cltype36 = type_nullable_parser_nodes__AExternCodeBlock.color;
2161 idtype37 = type_nullable_parser_nodes__AExternCodeBlock.id;
2162 if(var_pexterncodeblocknode14 == NULL) {
2163 var35 = 1;
2164 } else {
2165 if(cltype36 >= var_pexterncodeblocknode14->type->table_size) {
2166 var35 = 0;
2167 } else {
2168 var35 = var_pexterncodeblocknode14->type->type_table[cltype36] == idtype37;
2169 }
2170 }
2171 if (!var35) {
2172 fprintf(stderr, "Runtime error: %s", "Assert failed");
2173 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14571);
2174 exit(1);
2175 }
2176 var_listnode15 = var_nodearraylist9;
2177 /* <var_listnode15:nullable Object> isa Array[Object] */
2178 cltype39 = type_array__Arraykernel__Object.color;
2179 idtype40 = type_array__Arraykernel__Object.id;
2180 if(var_listnode15 == NULL) {
2181 var38 = 0;
2182 } else {
2183 if(cltype39 >= var_listnode15->type->table_size) {
2184 var38 = 0;
2185 } else {
2186 var38 = var_listnode15->type->type_table[cltype39] == idtype40;
2187 }
2188 }
2189 if (!var38) {
2190 fprintf(stderr, "Runtime error: %s", "Assert failed");
2191 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14573);
2192 exit(1);
2193 }
2194 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction315>*/;
2195 var_listnode16 = var41;
2196 var_listnode17 = var_nodearraylist10;
2197 /* <var_listnode17:nullable Object> isa Array[Object] */
2198 cltype43 = type_array__Arraykernel__Object.color;
2199 idtype44 = type_array__Arraykernel__Object.id;
2200 if(var_listnode17 == NULL) {
2201 var42 = 0;
2202 } else {
2203 if(cltype43 >= var_listnode17->type->table_size) {
2204 var42 = 0;
2205 } else {
2206 var42 = var_listnode17->type->type_table[cltype43] == idtype44;
2207 }
2208 }
2209 if (!var42) {
2210 fprintf(stderr, "Runtime error: %s", "Assert failed");
2211 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14576);
2212 exit(1);
2213 }
2214 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction315>*/;
2215 var_listnode18 = var45;
2216 var_tkwendnode19 = var_nodearraylist12;
2217 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
2218 cltype47 = type_nullable_parser_nodes__TKwend.color;
2219 idtype48 = type_nullable_parser_nodes__TKwend.id;
2220 if(var_tkwendnode19 == NULL) {
2221 var46 = 1;
2222 } else {
2223 if(cltype47 >= var_tkwendnode19->type->table_size) {
2224 var46 = 0;
2225 } else {
2226 var46 = var_tkwendnode19->type->type_table[cltype47] == idtype48;
2227 }
2228 }
2229 if (!var46) {
2230 fprintf(stderr, "Runtime error: %s", "Assert failed");
2231 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14579);
2232 exit(1);
2233 }
2234 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2235 var50 = NULL;
2236 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var49->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var49, var_pdocnode2, var50, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var49:AStdClassdef>*/;
2237 CHECK_NEW_parser_nodes__AStdClassdef(var49);
2238 var_pclassdefnode1 = var49;
2239 var_node_list = var_pclassdefnode1;
2240 var51 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction315> */
2241 var52 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var51) /* go_to on <var_p:Parser>*/;
2242 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var52, var_node_list) /* push on <var_p:Parser>*/;
2243 RET_LABEL:;
2244 }
2245 /* method parser#ReduceAction315#action for (self: Object, Parser) */
2246 void VIRTUAL_parser__ReduceAction315__action(val* self, val* p0) {
2247 parser__ReduceAction315__action(self, p0);
2248 RET_LABEL:;
2249 }
2250 /* method parser#ReduceAction316#action for (self: ReduceAction316, Parser) */
2251 void parser__ReduceAction316__action(val* self, val* p0) {
2252 val* var_p /* var p: Parser */;
2253 val* var /* : null */;
2254 val* var_node_list /* var node_list: nullable Object */;
2255 val* var1 /* : nullable Object */;
2256 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
2257 val* var2 /* : nullable Object */;
2258 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
2259 val* var3 /* : nullable Object */;
2260 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2261 val* var4 /* : nullable Object */;
2262 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2263 val* var5 /* : nullable Object */;
2264 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2265 val* var6 /* : nullable Object */;
2266 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2267 val* var7 /* : nullable Object */;
2268 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2269 val* var8 /* : nullable Object */;
2270 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2271 val* var9 /* : nullable Object */;
2272 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2273 val* var10 /* : nullable Object */;
2274 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2275 val* var11 /* : nullable Object */;
2276 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2277 val* var12 /* : nullable Object */;
2278 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2279 val* var13 /* : nullable Object */;
2280 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2281 val* var14 /* : Array[Object] */;
2282 val* var_listnode7 /* var listnode7: Array[Object] */;
2283 val* var15 /* : Array[Object] */;
2284 val* var_listnode16 /* var listnode16: Array[Object] */;
2285 val* var16 /* : Array[Object] */;
2286 val* var_listnode18 /* var listnode18: Array[Object] */;
2287 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2288 short int var17 /* : Bool */;
2289 int cltype;
2290 int idtype;
2291 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2292 short int var18 /* : Bool */;
2293 int cltype19;
2294 int idtype20;
2295 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2296 short int var21 /* : Bool */;
2297 int cltype22;
2298 int idtype23;
2299 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2300 short int var24 /* : Bool */;
2301 int cltype25;
2302 int idtype26;
2303 val* var27 /* : Array[Object] */;
2304 val* var_listnode12 /* var listnode12: Array[Object] */;
2305 val* var_listnode11 /* var listnode11: nullable Object */;
2306 short int var28 /* : Bool */;
2307 int cltype29;
2308 int idtype30;
2309 val* var31 /* : Array[Object] */;
2310 val* var32 /* : AAnnotations */;
2311 val* var33 /* : null */;
2312 val* var34 /* : null */;
2313 val* var35 /* : null */;
2314 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
2315 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
2316 short int var36 /* : Bool */;
2317 int cltype37;
2318 int idtype38;
2319 val* var_listnode15 /* var listnode15: nullable Object */;
2320 short int var39 /* : Bool */;
2321 int cltype40;
2322 int idtype41;
2323 val* var42 /* : Array[Object] */;
2324 val* var_listnode17 /* var listnode17: nullable Object */;
2325 short int var43 /* : Bool */;
2326 int cltype44;
2327 int idtype45;
2328 val* var46 /* : Array[Object] */;
2329 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
2330 short int var47 /* : Bool */;
2331 int cltype48;
2332 int idtype49;
2333 val* var50 /* : AStdClassdef */;
2334 val* var51 /* : null */;
2335 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2336 long var52 /* : Int */;
2337 long var53 /* : Int */;
2338 var_p = p0;
2339 var = NULL;
2340 var_node_list = var;
2341 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2342 var_nodearraylist13 = var1;
2343 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2344 var_nodearraylist12 = var2;
2345 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2346 var_nodearraylist11 = var3;
2347 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2348 var_nodearraylist10 = var4;
2349 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2350 var_nodearraylist9 = var5;
2351 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2352 var_nodearraylist8 = var6;
2353 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2354 var_nodearraylist7 = var7;
2355 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2356 var_nodearraylist6 = var8;
2357 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2358 var_nodearraylist5 = var9;
2359 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2360 var_nodearraylist4 = var10;
2361 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2362 var_nodearraylist3 = var11;
2363 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2364 var_nodearraylist2 = var12;
2365 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2366 var_nodearraylist1 = var13;
2367 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2368 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2369 CHECK_NEW_array__Array(var14);
2370 var_listnode7 = var14;
2371 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
2372 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
2373 CHECK_NEW_array__Array(var15);
2374 var_listnode16 = var15;
2375 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
2376 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
2377 CHECK_NEW_array__Array(var16);
2378 var_listnode18 = var16;
2379 var_pdocnode2 = var_nodearraylist1;
2380 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2381 cltype = type_nullable_parser_nodes__ADoc.color;
2382 idtype = type_nullable_parser_nodes__ADoc.id;
2383 if(var_pdocnode2 == NULL) {
2384 var17 = 1;
2385 } else {
2386 if(cltype >= var_pdocnode2->type->table_size) {
2387 var17 = 0;
2388 } else {
2389 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
2390 }
2391 }
2392 if (!var17) {
2393 fprintf(stderr, "Runtime error: %s", "Assert failed");
2394 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14619);
2395 exit(1);
2396 }
2397 var_pvisibilitynode4 = var_nodearraylist2;
2398 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2399 cltype19 = type_nullable_parser_nodes__AVisibility.color;
2400 idtype20 = type_nullable_parser_nodes__AVisibility.id;
2401 if(var_pvisibilitynode4 == NULL) {
2402 var18 = 1;
2403 } else {
2404 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
2405 var18 = 0;
2406 } else {
2407 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
2408 }
2409 }
2410 if (!var18) {
2411 fprintf(stderr, "Runtime error: %s", "Assert failed");
2412 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14621);
2413 exit(1);
2414 }
2415 var_pclasskindnode5 = var_nodearraylist3;
2416 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2417 cltype22 = type_nullable_parser_nodes__AClasskind.color;
2418 idtype23 = type_nullable_parser_nodes__AClasskind.id;
2419 if(var_pclasskindnode5 == NULL) {
2420 var21 = 1;
2421 } else {
2422 if(cltype22 >= var_pclasskindnode5->type->table_size) {
2423 var21 = 0;
2424 } else {
2425 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
2426 }
2427 }
2428 if (!var21) {
2429 fprintf(stderr, "Runtime error: %s", "Assert failed");
2430 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14623);
2431 exit(1);
2432 }
2433 var_tclassidnode6 = var_nodearraylist7;
2434 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2435 cltype25 = type_nullable_parser_nodes__TClassid.color;
2436 idtype26 = type_nullable_parser_nodes__TClassid.id;
2437 if(var_tclassidnode6 == NULL) {
2438 var24 = 1;
2439 } else {
2440 if(cltype25 >= var_tclassidnode6->type->table_size) {
2441 var24 = 0;
2442 } else {
2443 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
2444 }
2445 }
2446 if (!var24) {
2447 fprintf(stderr, "Runtime error: %s", "Assert failed");
2448 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14625);
2449 exit(1);
2450 }
2451 var27 = NEW_array__Array(&type_array__Arraykernel__Object);
2452 ((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on <var27:Array[Object]>*/;
2453 CHECK_NEW_array__Array(var27);
2454 var_listnode12 = var27;
2455 var_listnode11 = var_nodearraylist8;
2456 /* <var_listnode11:nullable Object> isa Array[Object] */
2457 cltype29 = type_array__Arraykernel__Object.color;
2458 idtype30 = type_array__Arraykernel__Object.id;
2459 if(var_listnode11 == NULL) {
2460 var28 = 0;
2461 } else {
2462 if(cltype29 >= var_listnode11->type->table_size) {
2463 var28 = 0;
2464 } else {
2465 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
2466 }
2467 }
2468 if (!var28) {
2469 fprintf(stderr, "Runtime error: %s", "Assert failed");
2470 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14628);
2471 exit(1);
2472 }
2473 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction316>*/;
2474 var_listnode12 = var31;
2475 var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2476 var33 = NULL;
2477 var34 = NULL;
2478 var35 = NULL;
2479 ((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>*/;
2480 CHECK_NEW_parser_nodes__AAnnotations(var32);
2481 var_pannotationsnode8 = var32;
2482 var_pexterncodeblocknode14 = var_nodearraylist9;
2483 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
2484 cltype37 = type_nullable_parser_nodes__AExternCodeBlock.color;
2485 idtype38 = type_nullable_parser_nodes__AExternCodeBlock.id;
2486 if(var_pexterncodeblocknode14 == NULL) {
2487 var36 = 1;
2488 } else {
2489 if(cltype37 >= var_pexterncodeblocknode14->type->table_size) {
2490 var36 = 0;
2491 } else {
2492 var36 = var_pexterncodeblocknode14->type->type_table[cltype37] == idtype38;
2493 }
2494 }
2495 if (!var36) {
2496 fprintf(stderr, "Runtime error: %s", "Assert failed");
2497 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14637);
2498 exit(1);
2499 }
2500 var_listnode15 = var_nodearraylist10;
2501 /* <var_listnode15:nullable Object> isa Array[Object] */
2502 cltype40 = type_array__Arraykernel__Object.color;
2503 idtype41 = type_array__Arraykernel__Object.id;
2504 if(var_listnode15 == NULL) {
2505 var39 = 0;
2506 } else {
2507 if(cltype40 >= var_listnode15->type->table_size) {
2508 var39 = 0;
2509 } else {
2510 var39 = var_listnode15->type->type_table[cltype40] == idtype41;
2511 }
2512 }
2513 if (!var39) {
2514 fprintf(stderr, "Runtime error: %s", "Assert failed");
2515 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14639);
2516 exit(1);
2517 }
2518 var42 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction316>*/;
2519 var_listnode16 = var42;
2520 var_listnode17 = var_nodearraylist11;
2521 /* <var_listnode17:nullable Object> isa Array[Object] */
2522 cltype44 = type_array__Arraykernel__Object.color;
2523 idtype45 = type_array__Arraykernel__Object.id;
2524 if(var_listnode17 == NULL) {
2525 var43 = 0;
2526 } else {
2527 if(cltype44 >= var_listnode17->type->table_size) {
2528 var43 = 0;
2529 } else {
2530 var43 = var_listnode17->type->type_table[cltype44] == idtype45;
2531 }
2532 }
2533 if (!var43) {
2534 fprintf(stderr, "Runtime error: %s", "Assert failed");
2535 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14642);
2536 exit(1);
2537 }
2538 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction316>*/;
2539 var_listnode18 = var46;
2540 var_tkwendnode19 = var_nodearraylist13;
2541 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
2542 cltype48 = type_nullable_parser_nodes__TKwend.color;
2543 idtype49 = type_nullable_parser_nodes__TKwend.id;
2544 if(var_tkwendnode19 == NULL) {
2545 var47 = 1;
2546 } else {
2547 if(cltype48 >= var_tkwendnode19->type->table_size) {
2548 var47 = 0;
2549 } else {
2550 var47 = var_tkwendnode19->type->type_table[cltype48] == idtype49;
2551 }
2552 }
2553 if (!var47) {
2554 fprintf(stderr, "Runtime error: %s", "Assert failed");
2555 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14645);
2556 exit(1);
2557 }
2558 var50 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2559 var51 = NULL;
2560 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var50->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var50, var_pdocnode2, var51, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var50:AStdClassdef>*/;
2561 CHECK_NEW_parser_nodes__AStdClassdef(var50);
2562 var_pclassdefnode1 = var50;
2563 var_node_list = var_pclassdefnode1;
2564 var52 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction316> */
2565 var53 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var52) /* go_to on <var_p:Parser>*/;
2566 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var53, var_node_list) /* push on <var_p:Parser>*/;
2567 RET_LABEL:;
2568 }
2569 /* method parser#ReduceAction316#action for (self: Object, Parser) */
2570 void VIRTUAL_parser__ReduceAction316__action(val* self, val* p0) {
2571 parser__ReduceAction316__action(self, p0);
2572 RET_LABEL:;
2573 }
2574 /* method parser#ReduceAction318#action for (self: ReduceAction318, Parser) */
2575 void parser__ReduceAction318__action(val* self, val* p0) {
2576 val* var_p /* var p: Parser */;
2577 val* var /* : null */;
2578 val* var_node_list /* var node_list: nullable Object */;
2579 val* var1 /* : nullable Object */;
2580 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
2581 val* var2 /* : nullable Object */;
2582 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
2583 val* var3 /* : nullable Object */;
2584 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2585 val* var4 /* : nullable Object */;
2586 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2587 val* var5 /* : nullable Object */;
2588 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2589 val* var6 /* : nullable Object */;
2590 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2591 val* var7 /* : nullable Object */;
2592 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2593 val* var8 /* : nullable Object */;
2594 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2595 val* var9 /* : nullable Object */;
2596 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2597 val* var10 /* : nullable Object */;
2598 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2599 val* var11 /* : nullable Object */;
2600 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2601 val* var12 /* : nullable Object */;
2602 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2603 val* var13 /* : nullable Object */;
2604 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2605 val* var14 /* : Array[Object] */;
2606 val* var_listnode7 /* var listnode7: Array[Object] */;
2607 val* var15 /* : Array[Object] */;
2608 val* var_listnode16 /* var listnode16: Array[Object] */;
2609 val* var16 /* : Array[Object] */;
2610 val* var_listnode18 /* var listnode18: Array[Object] */;
2611 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2612 short int var17 /* : Bool */;
2613 int cltype;
2614 int idtype;
2615 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2616 short int var18 /* : Bool */;
2617 int cltype19;
2618 int idtype20;
2619 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2620 short int var21 /* : Bool */;
2621 int cltype22;
2622 int idtype23;
2623 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2624 short int var24 /* : Bool */;
2625 int cltype25;
2626 int idtype26;
2627 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2628 short int var27 /* : Bool */;
2629 int cltype28;
2630 int idtype29;
2631 val* var30 /* : Array[Object] */;
2632 val* var_listnode12 /* var listnode12: Array[Object] */;
2633 val* var_listnode11 /* var listnode11: nullable Object */;
2634 short int var31 /* : Bool */;
2635 int cltype32;
2636 int idtype33;
2637 val* var34 /* : Array[Object] */;
2638 val* var35 /* : AAnnotations */;
2639 val* var36 /* : null */;
2640 val* var37 /* : null */;
2641 val* var38 /* : null */;
2642 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
2643 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
2644 short int var39 /* : Bool */;
2645 int cltype40;
2646 int idtype41;
2647 val* var_listnode15 /* var listnode15: nullable Object */;
2648 short int var42 /* : Bool */;
2649 int cltype43;
2650 int idtype44;
2651 val* var45 /* : Array[Object] */;
2652 val* var_listnode17 /* var listnode17: nullable Object */;
2653 short int var46 /* : Bool */;
2654 int cltype47;
2655 int idtype48;
2656 val* var49 /* : Array[Object] */;
2657 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
2658 short int var50 /* : Bool */;
2659 int cltype51;
2660 int idtype52;
2661 val* var53 /* : AStdClassdef */;
2662 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2663 long var54 /* : Int */;
2664 long var55 /* : Int */;
2665 var_p = p0;
2666 var = NULL;
2667 var_node_list = var;
2668 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2669 var_nodearraylist13 = var1;
2670 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2671 var_nodearraylist12 = var2;
2672 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2673 var_nodearraylist11 = var3;
2674 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2675 var_nodearraylist10 = var4;
2676 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2677 var_nodearraylist9 = var5;
2678 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2679 var_nodearraylist8 = var6;
2680 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2681 var_nodearraylist7 = var7;
2682 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2683 var_nodearraylist6 = var8;
2684 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2685 var_nodearraylist5 = var9;
2686 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2687 var_nodearraylist4 = var10;
2688 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2689 var_nodearraylist3 = var11;
2690 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2691 var_nodearraylist2 = var12;
2692 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2693 var_nodearraylist1 = var13;
2694 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2695 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2696 CHECK_NEW_array__Array(var14);
2697 var_listnode7 = var14;
2698 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
2699 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
2700 CHECK_NEW_array__Array(var15);
2701 var_listnode16 = var15;
2702 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
2703 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
2704 CHECK_NEW_array__Array(var16);
2705 var_listnode18 = var16;
2706 var_pdocnode2 = var_nodearraylist1;
2707 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2708 cltype = type_nullable_parser_nodes__ADoc.color;
2709 idtype = type_nullable_parser_nodes__ADoc.id;
2710 if(var_pdocnode2 == NULL) {
2711 var17 = 1;
2712 } else {
2713 if(cltype >= var_pdocnode2->type->table_size) {
2714 var17 = 0;
2715 } else {
2716 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
2717 }
2718 }
2719 if (!var17) {
2720 fprintf(stderr, "Runtime error: %s", "Assert failed");
2721 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14685);
2722 exit(1);
2723 }
2724 var_tkwredefnode3 = var_nodearraylist2;
2725 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2726 cltype19 = type_nullable_parser_nodes__TKwredef.color;
2727 idtype20 = type_nullable_parser_nodes__TKwredef.id;
2728 if(var_tkwredefnode3 == NULL) {
2729 var18 = 1;
2730 } else {
2731 if(cltype19 >= var_tkwredefnode3->type->table_size) {
2732 var18 = 0;
2733 } else {
2734 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
2735 }
2736 }
2737 if (!var18) {
2738 fprintf(stderr, "Runtime error: %s", "Assert failed");
2739 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14687);
2740 exit(1);
2741 }
2742 var_pvisibilitynode4 = var_nodearraylist3;
2743 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2744 cltype22 = type_nullable_parser_nodes__AVisibility.color;
2745 idtype23 = type_nullable_parser_nodes__AVisibility.id;
2746 if(var_pvisibilitynode4 == NULL) {
2747 var21 = 1;
2748 } else {
2749 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
2750 var21 = 0;
2751 } else {
2752 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
2753 }
2754 }
2755 if (!var21) {
2756 fprintf(stderr, "Runtime error: %s", "Assert failed");
2757 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14689);
2758 exit(1);
2759 }
2760 var_pclasskindnode5 = var_nodearraylist4;
2761 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2762 cltype25 = type_nullable_parser_nodes__AClasskind.color;
2763 idtype26 = type_nullable_parser_nodes__AClasskind.id;
2764 if(var_pclasskindnode5 == NULL) {
2765 var24 = 1;
2766 } else {
2767 if(cltype25 >= var_pclasskindnode5->type->table_size) {
2768 var24 = 0;
2769 } else {
2770 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
2771 }
2772 }
2773 if (!var24) {
2774 fprintf(stderr, "Runtime error: %s", "Assert failed");
2775 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14691);
2776 exit(1);
2777 }
2778 var_tclassidnode6 = var_nodearraylist7;
2779 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2780 cltype28 = type_nullable_parser_nodes__TClassid.color;
2781 idtype29 = type_nullable_parser_nodes__TClassid.id;
2782 if(var_tclassidnode6 == NULL) {
2783 var27 = 1;
2784 } else {
2785 if(cltype28 >= var_tclassidnode6->type->table_size) {
2786 var27 = 0;
2787 } else {
2788 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
2789 }
2790 }
2791 if (!var27) {
2792 fprintf(stderr, "Runtime error: %s", "Assert failed");
2793 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14693);
2794 exit(1);
2795 }
2796 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
2797 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
2798 CHECK_NEW_array__Array(var30);
2799 var_listnode12 = var30;
2800 var_listnode11 = var_nodearraylist8;
2801 /* <var_listnode11:nullable Object> isa Array[Object] */
2802 cltype32 = type_array__Arraykernel__Object.color;
2803 idtype33 = type_array__Arraykernel__Object.id;
2804 if(var_listnode11 == NULL) {
2805 var31 = 0;
2806 } else {
2807 if(cltype32 >= var_listnode11->type->table_size) {
2808 var31 = 0;
2809 } else {
2810 var31 = var_listnode11->type->type_table[cltype32] == idtype33;
2811 }
2812 }
2813 if (!var31) {
2814 fprintf(stderr, "Runtime error: %s", "Assert failed");
2815 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14696);
2816 exit(1);
2817 }
2818 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction318>*/;
2819 var_listnode12 = var34;
2820 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2821 var36 = NULL;
2822 var37 = NULL;
2823 var38 = NULL;
2824 ((void (*)(val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var35, var36, var37, var_listnode12, var38) /* init_aannotations on <var35:AAnnotations>*/;
2825 CHECK_NEW_parser_nodes__AAnnotations(var35);
2826 var_pannotationsnode8 = var35;
2827 var_pexterncodeblocknode14 = var_nodearraylist9;
2828 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
2829 cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color;
2830 idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id;
2831 if(var_pexterncodeblocknode14 == NULL) {
2832 var39 = 1;
2833 } else {
2834 if(cltype40 >= var_pexterncodeblocknode14->type->table_size) {
2835 var39 = 0;
2836 } else {
2837 var39 = var_pexterncodeblocknode14->type->type_table[cltype40] == idtype41;
2838 }
2839 }
2840 if (!var39) {
2841 fprintf(stderr, "Runtime error: %s", "Assert failed");
2842 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14705);
2843 exit(1);
2844 }
2845 var_listnode15 = var_nodearraylist10;
2846 /* <var_listnode15:nullable Object> isa Array[Object] */
2847 cltype43 = type_array__Arraykernel__Object.color;
2848 idtype44 = type_array__Arraykernel__Object.id;
2849 if(var_listnode15 == NULL) {
2850 var42 = 0;
2851 } else {
2852 if(cltype43 >= var_listnode15->type->table_size) {
2853 var42 = 0;
2854 } else {
2855 var42 = var_listnode15->type->type_table[cltype43] == idtype44;
2856 }
2857 }
2858 if (!var42) {
2859 fprintf(stderr, "Runtime error: %s", "Assert failed");
2860 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14707);
2861 exit(1);
2862 }
2863 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction318>*/;
2864 var_listnode16 = var45;
2865 var_listnode17 = var_nodearraylist11;
2866 /* <var_listnode17:nullable Object> isa Array[Object] */
2867 cltype47 = type_array__Arraykernel__Object.color;
2868 idtype48 = type_array__Arraykernel__Object.id;
2869 if(var_listnode17 == NULL) {
2870 var46 = 0;
2871 } else {
2872 if(cltype47 >= var_listnode17->type->table_size) {
2873 var46 = 0;
2874 } else {
2875 var46 = var_listnode17->type->type_table[cltype47] == idtype48;
2876 }
2877 }
2878 if (!var46) {
2879 fprintf(stderr, "Runtime error: %s", "Assert failed");
2880 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14710);
2881 exit(1);
2882 }
2883 var49 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction318>*/;
2884 var_listnode18 = var49;
2885 var_tkwendnode19 = var_nodearraylist13;
2886 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
2887 cltype51 = type_nullable_parser_nodes__TKwend.color;
2888 idtype52 = type_nullable_parser_nodes__TKwend.id;
2889 if(var_tkwendnode19 == NULL) {
2890 var50 = 1;
2891 } else {
2892 if(cltype51 >= var_tkwendnode19->type->table_size) {
2893 var50 = 0;
2894 } else {
2895 var50 = var_tkwendnode19->type->type_table[cltype51] == idtype52;
2896 }
2897 }
2898 if (!var50) {
2899 fprintf(stderr, "Runtime error: %s", "Assert failed");
2900 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14713);
2901 exit(1);
2902 }
2903 var53 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2904 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var53->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var53, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var53:AStdClassdef>*/;
2905 CHECK_NEW_parser_nodes__AStdClassdef(var53);
2906 var_pclassdefnode1 = var53;
2907 var_node_list = var_pclassdefnode1;
2908 var54 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction318> */
2909 var55 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var54) /* go_to on <var_p:Parser>*/;
2910 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var55, var_node_list) /* push on <var_p:Parser>*/;
2911 RET_LABEL:;
2912 }
2913 /* method parser#ReduceAction318#action for (self: Object, Parser) */
2914 void VIRTUAL_parser__ReduceAction318__action(val* self, val* p0) {
2915 parser__ReduceAction318__action(self, p0);
2916 RET_LABEL:;
2917 }
2918 /* method parser#ReduceAction319#action for (self: ReduceAction319, Parser) */
2919 void parser__ReduceAction319__action(val* self, val* p0) {
2920 val* var_p /* var p: Parser */;
2921 val* var /* : null */;
2922 val* var_node_list /* var node_list: nullable Object */;
2923 val* var1 /* : nullable Object */;
2924 val* var_nodearraylist14 /* var nodearraylist14: nullable Object */;
2925 val* var2 /* : nullable Object */;
2926 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
2927 val* var3 /* : nullable Object */;
2928 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
2929 val* var4 /* : nullable Object */;
2930 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2931 val* var5 /* : nullable Object */;
2932 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2933 val* var6 /* : nullable Object */;
2934 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2935 val* var7 /* : nullable Object */;
2936 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2937 val* var8 /* : nullable Object */;
2938 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2939 val* var9 /* : nullable Object */;
2940 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2941 val* var10 /* : nullable Object */;
2942 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2943 val* var11 /* : nullable Object */;
2944 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2945 val* var12 /* : nullable Object */;
2946 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2947 val* var13 /* : nullable Object */;
2948 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2949 val* var14 /* : nullable Object */;
2950 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2951 val* var15 /* : Array[Object] */;
2952 val* var_listnode7 /* var listnode7: Array[Object] */;
2953 val* var16 /* : Array[Object] */;
2954 val* var_listnode16 /* var listnode16: Array[Object] */;
2955 val* var17 /* : Array[Object] */;
2956 val* var_listnode18 /* var listnode18: Array[Object] */;
2957 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2958 short int var18 /* : Bool */;
2959 int cltype;
2960 int idtype;
2961 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2962 short int var19 /* : Bool */;
2963 int cltype20;
2964 int idtype21;
2965 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2966 short int var22 /* : Bool */;
2967 int cltype23;
2968 int idtype24;
2969 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2970 short int var25 /* : Bool */;
2971 int cltype26;
2972 int idtype27;
2973 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2974 short int var28 /* : Bool */;
2975 int cltype29;
2976 int idtype30;
2977 val* var31 /* : Array[Object] */;
2978 val* var_listnode12 /* var listnode12: Array[Object] */;
2979 val* var_listnode11 /* var listnode11: nullable Object */;
2980 short int var32 /* : Bool */;
2981 int cltype33;
2982 int idtype34;
2983 val* var35 /* : Array[Object] */;
2984 val* var36 /* : AAnnotations */;
2985 val* var37 /* : null */;
2986 val* var38 /* : null */;
2987 val* var39 /* : null */;
2988 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
2989 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
2990 short int var40 /* : Bool */;
2991 int cltype41;
2992 int idtype42;
2993 val* var_listnode15 /* var listnode15: nullable Object */;
2994 short int var43 /* : Bool */;
2995 int cltype44;
2996 int idtype45;
2997 val* var46 /* : Array[Object] */;
2998 val* var_listnode17 /* var listnode17: nullable Object */;
2999 short int var47 /* : Bool */;
3000 int cltype48;
3001 int idtype49;
3002 val* var50 /* : Array[Object] */;
3003 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
3004 short int var51 /* : Bool */;
3005 int cltype52;
3006 int idtype53;
3007 val* var54 /* : AStdClassdef */;
3008 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3009 long var55 /* : Int */;
3010 long var56 /* : Int */;
3011 var_p = p0;
3012 var = NULL;
3013 var_node_list = var;
3014 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3015 var_nodearraylist14 = var1;
3016 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3017 var_nodearraylist13 = var2;
3018 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3019 var_nodearraylist12 = var3;
3020 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3021 var_nodearraylist11 = var4;
3022 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3023 var_nodearraylist10 = var5;
3024 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3025 var_nodearraylist9 = var6;
3026 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3027 var_nodearraylist8 = var7;
3028 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3029 var_nodearraylist7 = var8;
3030 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3031 var_nodearraylist6 = var9;
3032 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3033 var_nodearraylist5 = var10;
3034 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3035 var_nodearraylist4 = var11;
3036 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3037 var_nodearraylist3 = var12;
3038 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3039 var_nodearraylist2 = var13;
3040 var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3041 var_nodearraylist1 = var14;
3042 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
3043 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
3044 CHECK_NEW_array__Array(var15);
3045 var_listnode7 = var15;
3046 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
3047 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
3048 CHECK_NEW_array__Array(var16);
3049 var_listnode16 = var16;
3050 var17 = NEW_array__Array(&type_array__Arraykernel__Object);
3051 ((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on <var17:Array[Object]>*/;
3052 CHECK_NEW_array__Array(var17);
3053 var_listnode18 = var17;
3054 var_pdocnode2 = var_nodearraylist1;
3055 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3056 cltype = type_nullable_parser_nodes__ADoc.color;
3057 idtype = type_nullable_parser_nodes__ADoc.id;
3058 if(var_pdocnode2 == NULL) {
3059 var18 = 1;
3060 } else {
3061 if(cltype >= var_pdocnode2->type->table_size) {
3062 var18 = 0;
3063 } else {
3064 var18 = var_pdocnode2->type->type_table[cltype] == idtype;
3065 }
3066 }
3067 if (!var18) {
3068 fprintf(stderr, "Runtime error: %s", "Assert failed");
3069 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14754);
3070 exit(1);
3071 }
3072 var_tkwredefnode3 = var_nodearraylist2;
3073 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3074 cltype20 = type_nullable_parser_nodes__TKwredef.color;
3075 idtype21 = type_nullable_parser_nodes__TKwredef.id;
3076 if(var_tkwredefnode3 == NULL) {
3077 var19 = 1;
3078 } else {
3079 if(cltype20 >= var_tkwredefnode3->type->table_size) {
3080 var19 = 0;
3081 } else {
3082 var19 = var_tkwredefnode3->type->type_table[cltype20] == idtype21;
3083 }
3084 }
3085 if (!var19) {
3086 fprintf(stderr, "Runtime error: %s", "Assert failed");
3087 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14756);
3088 exit(1);
3089 }
3090 var_pvisibilitynode4 = var_nodearraylist3;
3091 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3092 cltype23 = type_nullable_parser_nodes__AVisibility.color;
3093 idtype24 = type_nullable_parser_nodes__AVisibility.id;
3094 if(var_pvisibilitynode4 == NULL) {
3095 var22 = 1;
3096 } else {
3097 if(cltype23 >= var_pvisibilitynode4->type->table_size) {
3098 var22 = 0;
3099 } else {
3100 var22 = var_pvisibilitynode4->type->type_table[cltype23] == idtype24;
3101 }
3102 }
3103 if (!var22) {
3104 fprintf(stderr, "Runtime error: %s", "Assert failed");
3105 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14758);
3106 exit(1);
3107 }
3108 var_pclasskindnode5 = var_nodearraylist4;
3109 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3110 cltype26 = type_nullable_parser_nodes__AClasskind.color;
3111 idtype27 = type_nullable_parser_nodes__AClasskind.id;
3112 if(var_pclasskindnode5 == NULL) {
3113 var25 = 1;
3114 } else {
3115 if(cltype26 >= var_pclasskindnode5->type->table_size) {
3116 var25 = 0;
3117 } else {
3118 var25 = var_pclasskindnode5->type->type_table[cltype26] == idtype27;
3119 }
3120 }
3121 if (!var25) {
3122 fprintf(stderr, "Runtime error: %s", "Assert failed");
3123 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14760);
3124 exit(1);
3125 }
3126 var_tclassidnode6 = var_nodearraylist8;
3127 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3128 cltype29 = type_nullable_parser_nodes__TClassid.color;
3129 idtype30 = type_nullable_parser_nodes__TClassid.id;
3130 if(var_tclassidnode6 == NULL) {
3131 var28 = 1;
3132 } else {
3133 if(cltype29 >= var_tclassidnode6->type->table_size) {
3134 var28 = 0;
3135 } else {
3136 var28 = var_tclassidnode6->type->type_table[cltype29] == idtype30;
3137 }
3138 }
3139 if (!var28) {
3140 fprintf(stderr, "Runtime error: %s", "Assert failed");
3141 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14762);
3142 exit(1);
3143 }
3144 var31 = NEW_array__Array(&type_array__Arraykernel__Object);
3145 ((void (*)(val*))(var31->class->vft[COLOR_array__Array__init]))(var31) /* init on <var31:Array[Object]>*/;
3146 CHECK_NEW_array__Array(var31);
3147 var_listnode12 = var31;
3148 var_listnode11 = var_nodearraylist9;
3149 /* <var_listnode11:nullable Object> isa Array[Object] */
3150 cltype33 = type_array__Arraykernel__Object.color;
3151 idtype34 = type_array__Arraykernel__Object.id;
3152 if(var_listnode11 == NULL) {
3153 var32 = 0;
3154 } else {
3155 if(cltype33 >= var_listnode11->type->table_size) {
3156 var32 = 0;
3157 } else {
3158 var32 = var_listnode11->type->type_table[cltype33] == idtype34;
3159 }
3160 }
3161 if (!var32) {
3162 fprintf(stderr, "Runtime error: %s", "Assert failed");
3163 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14765);
3164 exit(1);
3165 }
3166 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction319>*/;
3167 var_listnode12 = var35;
3168 var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3169 var37 = NULL;
3170 var38 = NULL;
3171 var39 = NULL;
3172 ((void (*)(val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var36, var37, var38, var_listnode12, var39) /* init_aannotations on <var36:AAnnotations>*/;
3173 CHECK_NEW_parser_nodes__AAnnotations(var36);
3174 var_pannotationsnode8 = var36;
3175 var_pexterncodeblocknode14 = var_nodearraylist10;
3176 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
3177 cltype41 = type_nullable_parser_nodes__AExternCodeBlock.color;
3178 idtype42 = type_nullable_parser_nodes__AExternCodeBlock.id;
3179 if(var_pexterncodeblocknode14 == NULL) {
3180 var40 = 1;
3181 } else {
3182 if(cltype41 >= var_pexterncodeblocknode14->type->table_size) {
3183 var40 = 0;
3184 } else {
3185 var40 = var_pexterncodeblocknode14->type->type_table[cltype41] == idtype42;
3186 }
3187 }
3188 if (!var40) {
3189 fprintf(stderr, "Runtime error: %s", "Assert failed");
3190 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14774);
3191 exit(1);
3192 }
3193 var_listnode15 = var_nodearraylist11;
3194 /* <var_listnode15:nullable Object> isa Array[Object] */
3195 cltype44 = type_array__Arraykernel__Object.color;
3196 idtype45 = type_array__Arraykernel__Object.id;
3197 if(var_listnode15 == NULL) {
3198 var43 = 0;
3199 } else {
3200 if(cltype44 >= var_listnode15->type->table_size) {
3201 var43 = 0;
3202 } else {
3203 var43 = var_listnode15->type->type_table[cltype44] == idtype45;
3204 }
3205 }
3206 if (!var43) {
3207 fprintf(stderr, "Runtime error: %s", "Assert failed");
3208 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14776);
3209 exit(1);
3210 }
3211 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction319>*/;
3212 var_listnode16 = var46;
3213 var_listnode17 = var_nodearraylist12;
3214 /* <var_listnode17:nullable Object> isa Array[Object] */
3215 cltype48 = type_array__Arraykernel__Object.color;
3216 idtype49 = type_array__Arraykernel__Object.id;
3217 if(var_listnode17 == NULL) {
3218 var47 = 0;
3219 } else {
3220 if(cltype48 >= var_listnode17->type->table_size) {
3221 var47 = 0;
3222 } else {
3223 var47 = var_listnode17->type->type_table[cltype48] == idtype49;
3224 }
3225 }
3226 if (!var47) {
3227 fprintf(stderr, "Runtime error: %s", "Assert failed");
3228 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14779);
3229 exit(1);
3230 }
3231 var50 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction319>*/;
3232 var_listnode18 = var50;
3233 var_tkwendnode19 = var_nodearraylist14;
3234 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
3235 cltype52 = type_nullable_parser_nodes__TKwend.color;
3236 idtype53 = type_nullable_parser_nodes__TKwend.id;
3237 if(var_tkwendnode19 == NULL) {
3238 var51 = 1;
3239 } else {
3240 if(cltype52 >= var_tkwendnode19->type->table_size) {
3241 var51 = 0;
3242 } else {
3243 var51 = var_tkwendnode19->type->type_table[cltype52] == idtype53;
3244 }
3245 }
3246 if (!var51) {
3247 fprintf(stderr, "Runtime error: %s", "Assert failed");
3248 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14782);
3249 exit(1);
3250 }
3251 var54 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3252 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var54->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var54, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var54:AStdClassdef>*/;
3253 CHECK_NEW_parser_nodes__AStdClassdef(var54);
3254 var_pclassdefnode1 = var54;
3255 var_node_list = var_pclassdefnode1;
3256 var55 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction319> */
3257 var56 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var55) /* go_to on <var_p:Parser>*/;
3258 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var56, var_node_list) /* push on <var_p:Parser>*/;
3259 RET_LABEL:;
3260 }
3261 /* method parser#ReduceAction319#action for (self: Object, Parser) */
3262 void VIRTUAL_parser__ReduceAction319__action(val* self, val* p0) {
3263 parser__ReduceAction319__action(self, p0);
3264 RET_LABEL:;
3265 }
3266 /* method parser#ReduceAction321#action for (self: ReduceAction321, Parser) */
3267 void parser__ReduceAction321__action(val* self, val* p0) {
3268 val* var_p /* var p: Parser */;
3269 val* var /* : null */;
3270 val* var_node_list /* var node_list: nullable Object */;
3271 val* var1 /* : nullable Object */;
3272 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
3273 val* var2 /* : nullable Object */;
3274 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3275 val* var3 /* : nullable Object */;
3276 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3277 val* var4 /* : nullable Object */;
3278 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3279 val* var5 /* : nullable Object */;
3280 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3281 val* var6 /* : nullable Object */;
3282 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3283 val* var7 /* : nullable Object */;
3284 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3285 val* var8 /* : nullable Object */;
3286 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3287 val* var9 /* : nullable Object */;
3288 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3289 val* var10 /* : nullable Object */;
3290 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3291 val* var11 /* : nullable Object */;
3292 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3293 val* var12 /* : nullable Object */;
3294 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3295 val* var13 /* : Array[Object] */;
3296 val* var_listnode8 /* var listnode8: Array[Object] */;
3297 val* var14 /* : Array[Object] */;
3298 val* var_listnode17 /* var listnode17: Array[Object] */;
3299 val* var15 /* : Array[Object] */;
3300 val* var_listnode19 /* var listnode19: Array[Object] */;
3301 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3302 short int var16 /* : Bool */;
3303 int cltype;
3304 int idtype;
3305 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3306 short int var17 /* : Bool */;
3307 int cltype18;
3308 int idtype19;
3309 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3310 short int var20 /* : Bool */;
3311 int cltype21;
3312 int idtype22;
3313 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3314 short int var23 /* : Bool */;
3315 int cltype24;
3316 int idtype25;
3317 val* var_listnode7 /* var listnode7: nullable Object */;
3318 short int var26 /* : Bool */;
3319 int cltype27;
3320 int idtype28;
3321 val* var29 /* : Array[Object] */;
3322 val* var30 /* : Array[Object] */;
3323 val* var_listnode13 /* var listnode13: Array[Object] */;
3324 val* var_listnode12 /* var listnode12: nullable Object */;
3325 short int var31 /* : Bool */;
3326 int cltype32;
3327 int idtype33;
3328 val* var34 /* : Array[Object] */;
3329 val* var35 /* : AAnnotations */;
3330 val* var36 /* : null */;
3331 val* var37 /* : null */;
3332 val* var38 /* : null */;
3333 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
3334 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
3335 short int var39 /* : Bool */;
3336 int cltype40;
3337 int idtype41;
3338 val* var_listnode16 /* var listnode16: nullable Object */;
3339 short int var42 /* : Bool */;
3340 int cltype43;
3341 int idtype44;
3342 val* var45 /* : Array[Object] */;
3343 val* var_listnode18 /* var listnode18: nullable Object */;
3344 short int var46 /* : Bool */;
3345 int cltype47;
3346 int idtype48;
3347 val* var49 /* : Array[Object] */;
3348 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
3349 short int var50 /* : Bool */;
3350 int cltype51;
3351 int idtype52;
3352 val* var53 /* : AStdClassdef */;
3353 val* var54 /* : null */;
3354 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3355 long var55 /* : Int */;
3356 long var56 /* : Int */;
3357 var_p = p0;
3358 var = NULL;
3359 var_node_list = var;
3360 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3361 var_nodearraylist12 = var1;
3362 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3363 var_nodearraylist11 = var2;
3364 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3365 var_nodearraylist10 = var3;
3366 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3367 var_nodearraylist9 = var4;
3368 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3369 var_nodearraylist8 = var5;
3370 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3371 var_nodearraylist7 = var6;
3372 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3373 var_nodearraylist6 = var7;
3374 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3375 var_nodearraylist5 = var8;
3376 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3377 var_nodearraylist4 = var9;
3378 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3379 var_nodearraylist3 = var10;
3380 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3381 var_nodearraylist2 = var11;
3382 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3383 var_nodearraylist1 = var12;
3384 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3385 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3386 CHECK_NEW_array__Array(var13);
3387 var_listnode8 = var13;
3388 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3389 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3390 CHECK_NEW_array__Array(var14);
3391 var_listnode17 = var14;
3392 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
3393 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
3394 CHECK_NEW_array__Array(var15);
3395 var_listnode19 = var15;
3396 var_pdocnode2 = var_nodearraylist1;
3397 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3398 cltype = type_nullable_parser_nodes__ADoc.color;
3399 idtype = type_nullable_parser_nodes__ADoc.id;
3400 if(var_pdocnode2 == NULL) {
3401 var16 = 1;
3402 } else {
3403 if(cltype >= var_pdocnode2->type->table_size) {
3404 var16 = 0;
3405 } else {
3406 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
3407 }
3408 }
3409 if (!var16) {
3410 fprintf(stderr, "Runtime error: %s", "Assert failed");
3411 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14821);
3412 exit(1);
3413 }
3414 var_pvisibilitynode4 = var_nodearraylist2;
3415 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3416 cltype18 = type_nullable_parser_nodes__AVisibility.color;
3417 idtype19 = type_nullable_parser_nodes__AVisibility.id;
3418 if(var_pvisibilitynode4 == NULL) {
3419 var17 = 1;
3420 } else {
3421 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
3422 var17 = 0;
3423 } else {
3424 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
3425 }
3426 }
3427 if (!var17) {
3428 fprintf(stderr, "Runtime error: %s", "Assert failed");
3429 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14823);
3430 exit(1);
3431 }
3432 var_pclasskindnode5 = var_nodearraylist3;
3433 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3434 cltype21 = type_nullable_parser_nodes__AClasskind.color;
3435 idtype22 = type_nullable_parser_nodes__AClasskind.id;
3436 if(var_pclasskindnode5 == NULL) {
3437 var20 = 1;
3438 } else {
3439 if(cltype21 >= var_pclasskindnode5->type->table_size) {
3440 var20 = 0;
3441 } else {
3442 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
3443 }
3444 }
3445 if (!var20) {
3446 fprintf(stderr, "Runtime error: %s", "Assert failed");
3447 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14825);
3448 exit(1);
3449 }
3450 var_tclassidnode6 = var_nodearraylist5;
3451 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3452 cltype24 = type_nullable_parser_nodes__TClassid.color;
3453 idtype25 = type_nullable_parser_nodes__TClassid.id;
3454 if(var_tclassidnode6 == NULL) {
3455 var23 = 1;
3456 } else {
3457 if(cltype24 >= var_tclassidnode6->type->table_size) {
3458 var23 = 0;
3459 } else {
3460 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
3461 }
3462 }
3463 if (!var23) {
3464 fprintf(stderr, "Runtime error: %s", "Assert failed");
3465 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14827);
3466 exit(1);
3467 }
3468 var_listnode7 = var_nodearraylist6;
3469 /* <var_listnode7:nullable Object> isa Array[Object] */
3470 cltype27 = type_array__Arraykernel__Object.color;
3471 idtype28 = type_array__Arraykernel__Object.id;
3472 if(var_listnode7 == NULL) {
3473 var26 = 0;
3474 } else {
3475 if(cltype27 >= var_listnode7->type->table_size) {
3476 var26 = 0;
3477 } else {
3478 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
3479 }
3480 }
3481 if (!var26) {
3482 fprintf(stderr, "Runtime error: %s", "Assert failed");
3483 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14829);
3484 exit(1);
3485 }
3486 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction321>*/;
3487 var_listnode8 = var29;
3488 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
3489 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
3490 CHECK_NEW_array__Array(var30);
3491 var_listnode13 = var30;
3492 var_listnode12 = var_nodearraylist7;
3493 /* <var_listnode12:nullable Object> isa Array[Object] */
3494 cltype32 = type_array__Arraykernel__Object.color;
3495 idtype33 = type_array__Arraykernel__Object.id;
3496 if(var_listnode12 == NULL) {
3497 var31 = 0;
3498 } else {
3499 if(cltype32 >= var_listnode12->type->table_size) {
3500 var31 = 0;
3501 } else {
3502 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
3503 }
3504 }
3505 if (!var31) {
3506 fprintf(stderr, "Runtime error: %s", "Assert failed");
3507 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14833);
3508 exit(1);
3509 }
3510 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction321>*/;
3511 var_listnode13 = var34;
3512 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3513 var36 = NULL;
3514 var37 = NULL;
3515 var38 = NULL;
3516 ((void (*)(val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var35, var36, var37, var_listnode13, var38) /* init_aannotations on <var35:AAnnotations>*/;
3517 CHECK_NEW_parser_nodes__AAnnotations(var35);
3518 var_pannotationsnode9 = var35;
3519 var_pexterncodeblocknode15 = var_nodearraylist8;
3520 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
3521 cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color;
3522 idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id;
3523 if(var_pexterncodeblocknode15 == NULL) {
3524 var39 = 1;
3525 } else {
3526 if(cltype40 >= var_pexterncodeblocknode15->type->table_size) {
3527 var39 = 0;
3528 } else {
3529 var39 = var_pexterncodeblocknode15->type->type_table[cltype40] == idtype41;
3530 }
3531 }
3532 if (!var39) {
3533 fprintf(stderr, "Runtime error: %s", "Assert failed");
3534 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14842);
3535 exit(1);
3536 }
3537 var_listnode16 = var_nodearraylist9;
3538 /* <var_listnode16:nullable Object> isa Array[Object] */
3539 cltype43 = type_array__Arraykernel__Object.color;
3540 idtype44 = type_array__Arraykernel__Object.id;
3541 if(var_listnode16 == NULL) {
3542 var42 = 0;
3543 } else {
3544 if(cltype43 >= var_listnode16->type->table_size) {
3545 var42 = 0;
3546 } else {
3547 var42 = var_listnode16->type->type_table[cltype43] == idtype44;
3548 }
3549 }
3550 if (!var42) {
3551 fprintf(stderr, "Runtime error: %s", "Assert failed");
3552 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14844);
3553 exit(1);
3554 }
3555 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction321>*/;
3556 var_listnode17 = var45;
3557 var_listnode18 = var_nodearraylist10;
3558 /* <var_listnode18:nullable Object> isa Array[Object] */
3559 cltype47 = type_array__Arraykernel__Object.color;
3560 idtype48 = type_array__Arraykernel__Object.id;
3561 if(var_listnode18 == NULL) {
3562 var46 = 0;
3563 } else {
3564 if(cltype47 >= var_listnode18->type->table_size) {
3565 var46 = 0;
3566 } else {
3567 var46 = var_listnode18->type->type_table[cltype47] == idtype48;
3568 }
3569 }
3570 if (!var46) {
3571 fprintf(stderr, "Runtime error: %s", "Assert failed");
3572 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14847);
3573 exit(1);
3574 }
3575 var49 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction321>*/;
3576 var_listnode19 = var49;
3577 var_tkwendnode20 = var_nodearraylist12;
3578 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
3579 cltype51 = type_nullable_parser_nodes__TKwend.color;
3580 idtype52 = type_nullable_parser_nodes__TKwend.id;
3581 if(var_tkwendnode20 == NULL) {
3582 var50 = 1;
3583 } else {
3584 if(cltype51 >= var_tkwendnode20->type->table_size) {
3585 var50 = 0;
3586 } else {
3587 var50 = var_tkwendnode20->type->type_table[cltype51] == idtype52;
3588 }
3589 }
3590 if (!var50) {
3591 fprintf(stderr, "Runtime error: %s", "Assert failed");
3592 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14850);
3593 exit(1);
3594 }
3595 var53 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3596 var54 = NULL;
3597 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var53->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var53, var_pdocnode2, var54, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var53:AStdClassdef>*/;
3598 CHECK_NEW_parser_nodes__AStdClassdef(var53);
3599 var_pclassdefnode1 = var53;
3600 var_node_list = var_pclassdefnode1;
3601 var55 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction321> */
3602 var56 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var55) /* go_to on <var_p:Parser>*/;
3603 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var56, var_node_list) /* push on <var_p:Parser>*/;
3604 RET_LABEL:;
3605 }
3606 /* method parser#ReduceAction321#action for (self: Object, Parser) */
3607 void VIRTUAL_parser__ReduceAction321__action(val* self, val* p0) {
3608 parser__ReduceAction321__action(self, p0);
3609 RET_LABEL:;
3610 }
3611 /* method parser#ReduceAction322#action for (self: ReduceAction322, Parser) */
3612 void parser__ReduceAction322__action(val* self, val* p0) {
3613 val* var_p /* var p: Parser */;
3614 val* var /* : null */;
3615 val* var_node_list /* var node_list: nullable Object */;
3616 val* var1 /* : nullable Object */;
3617 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
3618 val* var2 /* : nullable Object */;
3619 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
3620 val* var3 /* : nullable Object */;
3621 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3622 val* var4 /* : nullable Object */;
3623 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3624 val* var5 /* : nullable Object */;
3625 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3626 val* var6 /* : nullable Object */;
3627 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3628 val* var7 /* : nullable Object */;
3629 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3630 val* var8 /* : nullable Object */;
3631 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3632 val* var9 /* : nullable Object */;
3633 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3634 val* var10 /* : nullable Object */;
3635 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3636 val* var11 /* : nullable Object */;
3637 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3638 val* var12 /* : nullable Object */;
3639 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3640 val* var13 /* : nullable Object */;
3641 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3642 val* var14 /* : Array[Object] */;
3643 val* var_listnode8 /* var listnode8: Array[Object] */;
3644 val* var15 /* : Array[Object] */;
3645 val* var_listnode17 /* var listnode17: Array[Object] */;
3646 val* var16 /* : Array[Object] */;
3647 val* var_listnode19 /* var listnode19: Array[Object] */;
3648 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3649 short int var17 /* : Bool */;
3650 int cltype;
3651 int idtype;
3652 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3653 short int var18 /* : Bool */;
3654 int cltype19;
3655 int idtype20;
3656 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3657 short int var21 /* : Bool */;
3658 int cltype22;
3659 int idtype23;
3660 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3661 short int var24 /* : Bool */;
3662 int cltype25;
3663 int idtype26;
3664 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3665 short int var27 /* : Bool */;
3666 int cltype28;
3667 int idtype29;
3668 val* var_listnode7 /* var listnode7: nullable Object */;
3669 short int var30 /* : Bool */;
3670 int cltype31;
3671 int idtype32;
3672 val* var33 /* : Array[Object] */;
3673 val* var34 /* : Array[Object] */;
3674 val* var_listnode13 /* var listnode13: Array[Object] */;
3675 val* var_listnode12 /* var listnode12: nullable Object */;
3676 short int var35 /* : Bool */;
3677 int cltype36;
3678 int idtype37;
3679 val* var38 /* : Array[Object] */;
3680 val* var39 /* : AAnnotations */;
3681 val* var40 /* : null */;
3682 val* var41 /* : null */;
3683 val* var42 /* : null */;
3684 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
3685 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
3686 short int var43 /* : Bool */;
3687 int cltype44;
3688 int idtype45;
3689 val* var_listnode16 /* var listnode16: nullable Object */;
3690 short int var46 /* : Bool */;
3691 int cltype47;
3692 int idtype48;
3693 val* var49 /* : Array[Object] */;
3694 val* var_listnode18 /* var listnode18: nullable Object */;
3695 short int var50 /* : Bool */;
3696 int cltype51;
3697 int idtype52;
3698 val* var53 /* : Array[Object] */;
3699 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
3700 short int var54 /* : Bool */;
3701 int cltype55;
3702 int idtype56;
3703 val* var57 /* : AStdClassdef */;
3704 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3705 long var58 /* : Int */;
3706 long var59 /* : Int */;
3707 var_p = p0;
3708 var = NULL;
3709 var_node_list = var;
3710 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3711 var_nodearraylist13 = var1;
3712 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3713 var_nodearraylist12 = var2;
3714 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3715 var_nodearraylist11 = var3;
3716 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3717 var_nodearraylist10 = var4;
3718 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3719 var_nodearraylist9 = var5;
3720 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3721 var_nodearraylist8 = var6;
3722 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3723 var_nodearraylist7 = var7;
3724 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3725 var_nodearraylist6 = var8;
3726 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3727 var_nodearraylist5 = var9;
3728 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3729 var_nodearraylist4 = var10;
3730 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3731 var_nodearraylist3 = var11;
3732 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3733 var_nodearraylist2 = var12;
3734 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3735 var_nodearraylist1 = var13;
3736 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3737 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3738 CHECK_NEW_array__Array(var14);
3739 var_listnode8 = var14;
3740 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
3741 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
3742 CHECK_NEW_array__Array(var15);
3743 var_listnode17 = var15;
3744 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
3745 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
3746 CHECK_NEW_array__Array(var16);
3747 var_listnode19 = var16;
3748 var_pdocnode2 = var_nodearraylist1;
3749 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3750 cltype = type_nullable_parser_nodes__ADoc.color;
3751 idtype = type_nullable_parser_nodes__ADoc.id;
3752 if(var_pdocnode2 == NULL) {
3753 var17 = 1;
3754 } else {
3755 if(cltype >= var_pdocnode2->type->table_size) {
3756 var17 = 0;
3757 } else {
3758 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
3759 }
3760 }
3761 if (!var17) {
3762 fprintf(stderr, "Runtime error: %s", "Assert failed");
3763 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14890);
3764 exit(1);
3765 }
3766 var_tkwredefnode3 = var_nodearraylist2;
3767 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3768 cltype19 = type_nullable_parser_nodes__TKwredef.color;
3769 idtype20 = type_nullable_parser_nodes__TKwredef.id;
3770 if(var_tkwredefnode3 == NULL) {
3771 var18 = 1;
3772 } else {
3773 if(cltype19 >= var_tkwredefnode3->type->table_size) {
3774 var18 = 0;
3775 } else {
3776 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
3777 }
3778 }
3779 if (!var18) {
3780 fprintf(stderr, "Runtime error: %s", "Assert failed");
3781 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14892);
3782 exit(1);
3783 }
3784 var_pvisibilitynode4 = var_nodearraylist3;
3785 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3786 cltype22 = type_nullable_parser_nodes__AVisibility.color;
3787 idtype23 = type_nullable_parser_nodes__AVisibility.id;
3788 if(var_pvisibilitynode4 == NULL) {
3789 var21 = 1;
3790 } else {
3791 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
3792 var21 = 0;
3793 } else {
3794 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
3795 }
3796 }
3797 if (!var21) {
3798 fprintf(stderr, "Runtime error: %s", "Assert failed");
3799 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14894);
3800 exit(1);
3801 }
3802 var_pclasskindnode5 = var_nodearraylist4;
3803 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3804 cltype25 = type_nullable_parser_nodes__AClasskind.color;
3805 idtype26 = type_nullable_parser_nodes__AClasskind.id;
3806 if(var_pclasskindnode5 == NULL) {
3807 var24 = 1;
3808 } else {
3809 if(cltype25 >= var_pclasskindnode5->type->table_size) {
3810 var24 = 0;
3811 } else {
3812 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
3813 }
3814 }
3815 if (!var24) {
3816 fprintf(stderr, "Runtime error: %s", "Assert failed");
3817 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14896);
3818 exit(1);
3819 }
3820 var_tclassidnode6 = var_nodearraylist6;
3821 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3822 cltype28 = type_nullable_parser_nodes__TClassid.color;
3823 idtype29 = type_nullable_parser_nodes__TClassid.id;
3824 if(var_tclassidnode6 == NULL) {
3825 var27 = 1;
3826 } else {
3827 if(cltype28 >= var_tclassidnode6->type->table_size) {
3828 var27 = 0;
3829 } else {
3830 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
3831 }
3832 }
3833 if (!var27) {
3834 fprintf(stderr, "Runtime error: %s", "Assert failed");
3835 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14898);
3836 exit(1);
3837 }
3838 var_listnode7 = var_nodearraylist7;
3839 /* <var_listnode7:nullable Object> isa Array[Object] */
3840 cltype31 = type_array__Arraykernel__Object.color;
3841 idtype32 = type_array__Arraykernel__Object.id;
3842 if(var_listnode7 == NULL) {
3843 var30 = 0;
3844 } else {
3845 if(cltype31 >= var_listnode7->type->table_size) {
3846 var30 = 0;
3847 } else {
3848 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
3849 }
3850 }
3851 if (!var30) {
3852 fprintf(stderr, "Runtime error: %s", "Assert failed");
3853 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14900);
3854 exit(1);
3855 }
3856 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction322>*/;
3857 var_listnode8 = var33;
3858 var34 = NEW_array__Array(&type_array__Arraykernel__Object);
3859 ((void (*)(val*))(var34->class->vft[COLOR_array__Array__init]))(var34) /* init on <var34:Array[Object]>*/;
3860 CHECK_NEW_array__Array(var34);
3861 var_listnode13 = var34;
3862 var_listnode12 = var_nodearraylist8;
3863 /* <var_listnode12:nullable Object> isa Array[Object] */
3864 cltype36 = type_array__Arraykernel__Object.color;
3865 idtype37 = type_array__Arraykernel__Object.id;
3866 if(var_listnode12 == NULL) {
3867 var35 = 0;
3868 } else {
3869 if(cltype36 >= var_listnode12->type->table_size) {
3870 var35 = 0;
3871 } else {
3872 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
3873 }
3874 }
3875 if (!var35) {
3876 fprintf(stderr, "Runtime error: %s", "Assert failed");
3877 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14904);
3878 exit(1);
3879 }
3880 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction322>*/;
3881 var_listnode13 = var38;
3882 var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3883 var40 = NULL;
3884 var41 = NULL;
3885 var42 = NULL;
3886 ((void (*)(val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var39, var40, var41, var_listnode13, var42) /* init_aannotations on <var39:AAnnotations>*/;
3887 CHECK_NEW_parser_nodes__AAnnotations(var39);
3888 var_pannotationsnode9 = var39;
3889 var_pexterncodeblocknode15 = var_nodearraylist9;
3890 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
3891 cltype44 = type_nullable_parser_nodes__AExternCodeBlock.color;
3892 idtype45 = type_nullable_parser_nodes__AExternCodeBlock.id;
3893 if(var_pexterncodeblocknode15 == NULL) {
3894 var43 = 1;
3895 } else {
3896 if(cltype44 >= var_pexterncodeblocknode15->type->table_size) {
3897 var43 = 0;
3898 } else {
3899 var43 = var_pexterncodeblocknode15->type->type_table[cltype44] == idtype45;
3900 }
3901 }
3902 if (!var43) {
3903 fprintf(stderr, "Runtime error: %s", "Assert failed");
3904 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14913);
3905 exit(1);
3906 }
3907 var_listnode16 = var_nodearraylist10;
3908 /* <var_listnode16:nullable Object> isa Array[Object] */
3909 cltype47 = type_array__Arraykernel__Object.color;
3910 idtype48 = type_array__Arraykernel__Object.id;
3911 if(var_listnode16 == NULL) {
3912 var46 = 0;
3913 } else {
3914 if(cltype47 >= var_listnode16->type->table_size) {
3915 var46 = 0;
3916 } else {
3917 var46 = var_listnode16->type->type_table[cltype47] == idtype48;
3918 }
3919 }
3920 if (!var46) {
3921 fprintf(stderr, "Runtime error: %s", "Assert failed");
3922 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14915);
3923 exit(1);
3924 }
3925 var49 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction322>*/;
3926 var_listnode17 = var49;
3927 var_listnode18 = var_nodearraylist11;
3928 /* <var_listnode18:nullable Object> isa Array[Object] */
3929 cltype51 = type_array__Arraykernel__Object.color;
3930 idtype52 = type_array__Arraykernel__Object.id;
3931 if(var_listnode18 == NULL) {
3932 var50 = 0;
3933 } else {
3934 if(cltype51 >= var_listnode18->type->table_size) {
3935 var50 = 0;
3936 } else {
3937 var50 = var_listnode18->type->type_table[cltype51] == idtype52;
3938 }
3939 }
3940 if (!var50) {
3941 fprintf(stderr, "Runtime error: %s", "Assert failed");
3942 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14918);
3943 exit(1);
3944 }
3945 var53 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction322>*/;
3946 var_listnode19 = var53;
3947 var_tkwendnode20 = var_nodearraylist13;
3948 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
3949 cltype55 = type_nullable_parser_nodes__TKwend.color;
3950 idtype56 = type_nullable_parser_nodes__TKwend.id;
3951 if(var_tkwendnode20 == NULL) {
3952 var54 = 1;
3953 } else {
3954 if(cltype55 >= var_tkwendnode20->type->table_size) {
3955 var54 = 0;
3956 } else {
3957 var54 = var_tkwendnode20->type->type_table[cltype55] == idtype56;
3958 }
3959 }
3960 if (!var54) {
3961 fprintf(stderr, "Runtime error: %s", "Assert failed");
3962 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14921);
3963 exit(1);
3964 }
3965 var57 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3966 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var57->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var57, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var57:AStdClassdef>*/;
3967 CHECK_NEW_parser_nodes__AStdClassdef(var57);
3968 var_pclassdefnode1 = var57;
3969 var_node_list = var_pclassdefnode1;
3970 var58 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction322> */
3971 var59 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var58) /* go_to on <var_p:Parser>*/;
3972 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var59, var_node_list) /* push on <var_p:Parser>*/;
3973 RET_LABEL:;
3974 }
3975 /* method parser#ReduceAction322#action for (self: Object, Parser) */
3976 void VIRTUAL_parser__ReduceAction322__action(val* self, val* p0) {
3977 parser__ReduceAction322__action(self, p0);
3978 RET_LABEL:;
3979 }
3980 /* method parser#ReduceAction323#action for (self: ReduceAction323, Parser) */
3981 void parser__ReduceAction323__action(val* self, val* p0) {
3982 val* var_p /* var p: Parser */;
3983 val* var /* : null */;
3984 val* var_node_list /* var node_list: nullable Object */;
3985 val* var1 /* : nullable Object */;
3986 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
3987 val* var2 /* : nullable Object */;
3988 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
3989 val* var3 /* : nullable Object */;
3990 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3991 val* var4 /* : nullable Object */;
3992 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3993 val* var5 /* : nullable Object */;
3994 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3995 val* var6 /* : nullable Object */;
3996 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3997 val* var7 /* : nullable Object */;
3998 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3999 val* var8 /* : nullable Object */;
4000 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4001 val* var9 /* : nullable Object */;
4002 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4003 val* var10 /* : nullable Object */;
4004 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4005 val* var11 /* : nullable Object */;
4006 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4007 val* var12 /* : nullable Object */;
4008 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4009 val* var13 /* : nullable Object */;
4010 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4011 val* var14 /* : Array[Object] */;
4012 val* var_listnode8 /* var listnode8: Array[Object] */;
4013 val* var15 /* : Array[Object] */;
4014 val* var_listnode17 /* var listnode17: Array[Object] */;
4015 val* var16 /* : Array[Object] */;
4016 val* var_listnode19 /* var listnode19: Array[Object] */;
4017 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4018 short int var17 /* : Bool */;
4019 int cltype;
4020 int idtype;
4021 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4022 short int var18 /* : Bool */;
4023 int cltype19;
4024 int idtype20;
4025 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4026 short int var21 /* : Bool */;
4027 int cltype22;
4028 int idtype23;
4029 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4030 short int var24 /* : Bool */;
4031 int cltype25;
4032 int idtype26;
4033 val* var_listnode7 /* var listnode7: nullable Object */;
4034 short int var27 /* : Bool */;
4035 int cltype28;
4036 int idtype29;
4037 val* var30 /* : Array[Object] */;
4038 val* var31 /* : Array[Object] */;
4039 val* var_listnode13 /* var listnode13: Array[Object] */;
4040 val* var_listnode12 /* var listnode12: nullable Object */;
4041 short int var32 /* : Bool */;
4042 int cltype33;
4043 int idtype34;
4044 val* var35 /* : Array[Object] */;
4045 val* var36 /* : AAnnotations */;
4046 val* var37 /* : null */;
4047 val* var38 /* : null */;
4048 val* var39 /* : null */;
4049 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4050 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
4051 short int var40 /* : Bool */;
4052 int cltype41;
4053 int idtype42;
4054 val* var_listnode16 /* var listnode16: nullable Object */;
4055 short int var43 /* : Bool */;
4056 int cltype44;
4057 int idtype45;
4058 val* var46 /* : Array[Object] */;
4059 val* var_listnode18 /* var listnode18: nullable Object */;
4060 short int var47 /* : Bool */;
4061 int cltype48;
4062 int idtype49;
4063 val* var50 /* : Array[Object] */;
4064 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
4065 short int var51 /* : Bool */;
4066 int cltype52;
4067 int idtype53;
4068 val* var54 /* : AStdClassdef */;
4069 val* var55 /* : null */;
4070 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4071 long var56 /* : Int */;
4072 long var57 /* : Int */;
4073 var_p = p0;
4074 var = NULL;
4075 var_node_list = var;
4076 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4077 var_nodearraylist13 = var1;
4078 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4079 var_nodearraylist12 = var2;
4080 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4081 var_nodearraylist11 = var3;
4082 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4083 var_nodearraylist10 = var4;
4084 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4085 var_nodearraylist9 = var5;
4086 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4087 var_nodearraylist8 = var6;
4088 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4089 var_nodearraylist7 = var7;
4090 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4091 var_nodearraylist6 = var8;
4092 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4093 var_nodearraylist5 = var9;
4094 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4095 var_nodearraylist4 = var10;
4096 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4097 var_nodearraylist3 = var11;
4098 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4099 var_nodearraylist2 = var12;
4100 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4101 var_nodearraylist1 = var13;
4102 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4103 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4104 CHECK_NEW_array__Array(var14);
4105 var_listnode8 = var14;
4106 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
4107 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
4108 CHECK_NEW_array__Array(var15);
4109 var_listnode17 = var15;
4110 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
4111 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
4112 CHECK_NEW_array__Array(var16);
4113 var_listnode19 = var16;
4114 var_pdocnode2 = var_nodearraylist1;
4115 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4116 cltype = type_nullable_parser_nodes__ADoc.color;
4117 idtype = type_nullable_parser_nodes__ADoc.id;
4118 if(var_pdocnode2 == NULL) {
4119 var17 = 1;
4120 } else {
4121 if(cltype >= var_pdocnode2->type->table_size) {
4122 var17 = 0;
4123 } else {
4124 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
4125 }
4126 }
4127 if (!var17) {
4128 fprintf(stderr, "Runtime error: %s", "Assert failed");
4129 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14961);
4130 exit(1);
4131 }
4132 var_pvisibilitynode4 = var_nodearraylist2;
4133 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4134 cltype19 = type_nullable_parser_nodes__AVisibility.color;
4135 idtype20 = type_nullable_parser_nodes__AVisibility.id;
4136 if(var_pvisibilitynode4 == NULL) {
4137 var18 = 1;
4138 } else {
4139 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
4140 var18 = 0;
4141 } else {
4142 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
4143 }
4144 }
4145 if (!var18) {
4146 fprintf(stderr, "Runtime error: %s", "Assert failed");
4147 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14963);
4148 exit(1);
4149 }
4150 var_pclasskindnode5 = var_nodearraylist3;
4151 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4152 cltype22 = type_nullable_parser_nodes__AClasskind.color;
4153 idtype23 = type_nullable_parser_nodes__AClasskind.id;
4154 if(var_pclasskindnode5 == NULL) {
4155 var21 = 1;
4156 } else {
4157 if(cltype22 >= var_pclasskindnode5->type->table_size) {
4158 var21 = 0;
4159 } else {
4160 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
4161 }
4162 }
4163 if (!var21) {
4164 fprintf(stderr, "Runtime error: %s", "Assert failed");
4165 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14965);
4166 exit(1);
4167 }
4168 var_tclassidnode6 = var_nodearraylist6;
4169 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4170 cltype25 = type_nullable_parser_nodes__TClassid.color;
4171 idtype26 = type_nullable_parser_nodes__TClassid.id;
4172 if(var_tclassidnode6 == NULL) {
4173 var24 = 1;
4174 } else {
4175 if(cltype25 >= var_tclassidnode6->type->table_size) {
4176 var24 = 0;
4177 } else {
4178 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
4179 }
4180 }
4181 if (!var24) {
4182 fprintf(stderr, "Runtime error: %s", "Assert failed");
4183 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14967);
4184 exit(1);
4185 }
4186 var_listnode7 = var_nodearraylist7;
4187 /* <var_listnode7:nullable Object> isa Array[Object] */
4188 cltype28 = type_array__Arraykernel__Object.color;
4189 idtype29 = type_array__Arraykernel__Object.id;
4190 if(var_listnode7 == NULL) {
4191 var27 = 0;
4192 } else {
4193 if(cltype28 >= var_listnode7->type->table_size) {
4194 var27 = 0;
4195 } else {
4196 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
4197 }
4198 }
4199 if (!var27) {
4200 fprintf(stderr, "Runtime error: %s", "Assert failed");
4201 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14969);
4202 exit(1);
4203 }
4204 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction323>*/;
4205 var_listnode8 = var30;
4206 var31 = NEW_array__Array(&type_array__Arraykernel__Object);
4207 ((void (*)(val*))(var31->class->vft[COLOR_array__Array__init]))(var31) /* init on <var31:Array[Object]>*/;
4208 CHECK_NEW_array__Array(var31);
4209 var_listnode13 = var31;
4210 var_listnode12 = var_nodearraylist8;
4211 /* <var_listnode12:nullable Object> isa Array[Object] */
4212 cltype33 = type_array__Arraykernel__Object.color;
4213 idtype34 = type_array__Arraykernel__Object.id;
4214 if(var_listnode12 == NULL) {
4215 var32 = 0;
4216 } else {
4217 if(cltype33 >= var_listnode12->type->table_size) {
4218 var32 = 0;
4219 } else {
4220 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
4221 }
4222 }
4223 if (!var32) {
4224 fprintf(stderr, "Runtime error: %s", "Assert failed");
4225 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14973);
4226 exit(1);
4227 }
4228 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction323>*/;
4229 var_listnode13 = var35;
4230 var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4231 var37 = NULL;
4232 var38 = NULL;
4233 var39 = NULL;
4234 ((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>*/;
4235 CHECK_NEW_parser_nodes__AAnnotations(var36);
4236 var_pannotationsnode9 = var36;
4237 var_pexterncodeblocknode15 = var_nodearraylist9;
4238 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
4239 cltype41 = type_nullable_parser_nodes__AExternCodeBlock.color;
4240 idtype42 = type_nullable_parser_nodes__AExternCodeBlock.id;
4241 if(var_pexterncodeblocknode15 == NULL) {
4242 var40 = 1;
4243 } else {
4244 if(cltype41 >= var_pexterncodeblocknode15->type->table_size) {
4245 var40 = 0;
4246 } else {
4247 var40 = var_pexterncodeblocknode15->type->type_table[cltype41] == idtype42;
4248 }
4249 }
4250 if (!var40) {
4251 fprintf(stderr, "Runtime error: %s", "Assert failed");
4252 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14982);
4253 exit(1);
4254 }
4255 var_listnode16 = var_nodearraylist10;
4256 /* <var_listnode16:nullable Object> isa Array[Object] */
4257 cltype44 = type_array__Arraykernel__Object.color;
4258 idtype45 = type_array__Arraykernel__Object.id;
4259 if(var_listnode16 == NULL) {
4260 var43 = 0;
4261 } else {
4262 if(cltype44 >= var_listnode16->type->table_size) {
4263 var43 = 0;
4264 } else {
4265 var43 = var_listnode16->type->type_table[cltype44] == idtype45;
4266 }
4267 }
4268 if (!var43) {
4269 fprintf(stderr, "Runtime error: %s", "Assert failed");
4270 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14984);
4271 exit(1);
4272 }
4273 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction323>*/;
4274 var_listnode17 = var46;
4275 var_listnode18 = var_nodearraylist11;
4276 /* <var_listnode18:nullable Object> isa Array[Object] */
4277 cltype48 = type_array__Arraykernel__Object.color;
4278 idtype49 = type_array__Arraykernel__Object.id;
4279 if(var_listnode18 == NULL) {
4280 var47 = 0;
4281 } else {
4282 if(cltype48 >= var_listnode18->type->table_size) {
4283 var47 = 0;
4284 } else {
4285 var47 = var_listnode18->type->type_table[cltype48] == idtype49;
4286 }
4287 }
4288 if (!var47) {
4289 fprintf(stderr, "Runtime error: %s", "Assert failed");
4290 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14987);
4291 exit(1);
4292 }
4293 var50 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction323>*/;
4294 var_listnode19 = var50;
4295 var_tkwendnode20 = var_nodearraylist13;
4296 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
4297 cltype52 = type_nullable_parser_nodes__TKwend.color;
4298 idtype53 = type_nullable_parser_nodes__TKwend.id;
4299 if(var_tkwendnode20 == NULL) {
4300 var51 = 1;
4301 } else {
4302 if(cltype52 >= var_tkwendnode20->type->table_size) {
4303 var51 = 0;
4304 } else {
4305 var51 = var_tkwendnode20->type->type_table[cltype52] == idtype53;
4306 }
4307 }
4308 if (!var51) {
4309 fprintf(stderr, "Runtime error: %s", "Assert failed");
4310 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14990);
4311 exit(1);
4312 }
4313 var54 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4314 var55 = NULL;
4315 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var54->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var54, var_pdocnode2, var55, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var54:AStdClassdef>*/;
4316 CHECK_NEW_parser_nodes__AStdClassdef(var54);
4317 var_pclassdefnode1 = var54;
4318 var_node_list = var_pclassdefnode1;
4319 var56 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction323> */
4320 var57 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var56) /* go_to on <var_p:Parser>*/;
4321 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var57, var_node_list) /* push on <var_p:Parser>*/;
4322 RET_LABEL:;
4323 }
4324 /* method parser#ReduceAction323#action for (self: Object, Parser) */
4325 void VIRTUAL_parser__ReduceAction323__action(val* self, val* p0) {
4326 parser__ReduceAction323__action(self, p0);
4327 RET_LABEL:;
4328 }
4329 /* method parser#ReduceAction324#action for (self: ReduceAction324, Parser) */
4330 void parser__ReduceAction324__action(val* self, val* p0) {
4331 val* var_p /* var p: Parser */;
4332 val* var /* : null */;
4333 val* var_node_list /* var node_list: nullable Object */;
4334 val* var1 /* : nullable Object */;
4335 val* var_nodearraylist14 /* var nodearraylist14: nullable Object */;
4336 val* var2 /* : nullable Object */;
4337 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
4338 val* var3 /* : nullable Object */;
4339 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4340 val* var4 /* : nullable Object */;
4341 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4342 val* var5 /* : nullable Object */;
4343 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4344 val* var6 /* : nullable Object */;
4345 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4346 val* var7 /* : nullable Object */;
4347 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4348 val* var8 /* : nullable Object */;
4349 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4350 val* var9 /* : nullable Object */;
4351 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4352 val* var10 /* : nullable Object */;
4353 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4354 val* var11 /* : nullable Object */;
4355 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4356 val* var12 /* : nullable Object */;
4357 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4358 val* var13 /* : nullable Object */;
4359 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4360 val* var14 /* : nullable Object */;
4361 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4362 val* var15 /* : Array[Object] */;
4363 val* var_listnode8 /* var listnode8: Array[Object] */;
4364 val* var16 /* : Array[Object] */;
4365 val* var_listnode17 /* var listnode17: Array[Object] */;
4366 val* var17 /* : Array[Object] */;
4367 val* var_listnode19 /* var listnode19: Array[Object] */;
4368 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4369 short int var18 /* : Bool */;
4370 int cltype;
4371 int idtype;
4372 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4373 short int var19 /* : Bool */;
4374 int cltype20;
4375 int idtype21;
4376 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4377 short int var22 /* : Bool */;
4378 int cltype23;
4379 int idtype24;
4380 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4381 short int var25 /* : Bool */;
4382 int cltype26;
4383 int idtype27;
4384 val* var_listnode7 /* var listnode7: nullable Object */;
4385 short int var28 /* : Bool */;
4386 int cltype29;
4387 int idtype30;
4388 val* var31 /* : Array[Object] */;
4389 val* var32 /* : Array[Object] */;
4390 val* var_listnode13 /* var listnode13: Array[Object] */;
4391 val* var_listnode12 /* var listnode12: nullable Object */;
4392 short int var33 /* : Bool */;
4393 int cltype34;
4394 int idtype35;
4395 val* var36 /* : Array[Object] */;
4396 val* var37 /* : AAnnotations */;
4397 val* var38 /* : null */;
4398 val* var39 /* : null */;
4399 val* var40 /* : null */;
4400 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4401 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
4402 short int var41 /* : Bool */;
4403 int cltype42;
4404 int idtype43;
4405 val* var_listnode16 /* var listnode16: nullable Object */;
4406 short int var44 /* : Bool */;
4407 int cltype45;
4408 int idtype46;
4409 val* var47 /* : Array[Object] */;
4410 val* var_listnode18 /* var listnode18: nullable Object */;
4411 short int var48 /* : Bool */;
4412 int cltype49;
4413 int idtype50;
4414 val* var51 /* : Array[Object] */;
4415 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
4416 short int var52 /* : Bool */;
4417 int cltype53;
4418 int idtype54;
4419 val* var55 /* : AStdClassdef */;
4420 val* var56 /* : null */;
4421 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4422 long var57 /* : Int */;
4423 long var58 /* : Int */;
4424 var_p = p0;
4425 var = NULL;
4426 var_node_list = var;
4427 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4428 var_nodearraylist14 = var1;
4429 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4430 var_nodearraylist13 = var2;
4431 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4432 var_nodearraylist12 = var3;
4433 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4434 var_nodearraylist11 = var4;
4435 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4436 var_nodearraylist10 = var5;
4437 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4438 var_nodearraylist9 = var6;
4439 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4440 var_nodearraylist8 = var7;
4441 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4442 var_nodearraylist7 = var8;
4443 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4444 var_nodearraylist6 = var9;
4445 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4446 var_nodearraylist5 = var10;
4447 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4448 var_nodearraylist4 = var11;
4449 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4450 var_nodearraylist3 = var12;
4451 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4452 var_nodearraylist2 = var13;
4453 var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4454 var_nodearraylist1 = var14;
4455 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
4456 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
4457 CHECK_NEW_array__Array(var15);
4458 var_listnode8 = var15;
4459 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
4460 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
4461 CHECK_NEW_array__Array(var16);
4462 var_listnode17 = var16;
4463 var17 = NEW_array__Array(&type_array__Arraykernel__Object);
4464 ((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on <var17:Array[Object]>*/;
4465 CHECK_NEW_array__Array(var17);
4466 var_listnode19 = var17;
4467 var_pdocnode2 = var_nodearraylist1;
4468 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4469 cltype = type_nullable_parser_nodes__ADoc.color;
4470 idtype = type_nullable_parser_nodes__ADoc.id;
4471 if(var_pdocnode2 == NULL) {
4472 var18 = 1;
4473 } else {
4474 if(cltype >= var_pdocnode2->type->table_size) {
4475 var18 = 0;
4476 } else {
4477 var18 = var_pdocnode2->type->type_table[cltype] == idtype;
4478 }
4479 }
4480 if (!var18) {
4481 fprintf(stderr, "Runtime error: %s", "Assert failed");
4482 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15031);
4483 exit(1);
4484 }
4485 var_pvisibilitynode4 = var_nodearraylist2;
4486 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4487 cltype20 = type_nullable_parser_nodes__AVisibility.color;
4488 idtype21 = type_nullable_parser_nodes__AVisibility.id;
4489 if(var_pvisibilitynode4 == NULL) {
4490 var19 = 1;
4491 } else {
4492 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
4493 var19 = 0;
4494 } else {
4495 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
4496 }
4497 }
4498 if (!var19) {
4499 fprintf(stderr, "Runtime error: %s", "Assert failed");
4500 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15033);
4501 exit(1);
4502 }
4503 var_pclasskindnode5 = var_nodearraylist3;
4504 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4505 cltype23 = type_nullable_parser_nodes__AClasskind.color;
4506 idtype24 = type_nullable_parser_nodes__AClasskind.id;
4507 if(var_pclasskindnode5 == NULL) {
4508 var22 = 1;
4509 } else {
4510 if(cltype23 >= var_pclasskindnode5->type->table_size) {
4511 var22 = 0;
4512 } else {
4513 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
4514 }
4515 }
4516 if (!var22) {
4517 fprintf(stderr, "Runtime error: %s", "Assert failed");
4518 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15035);
4519 exit(1);
4520 }
4521 var_tclassidnode6 = var_nodearraylist7;
4522 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4523 cltype26 = type_nullable_parser_nodes__TClassid.color;
4524 idtype27 = type_nullable_parser_nodes__TClassid.id;
4525 if(var_tclassidnode6 == NULL) {
4526 var25 = 1;
4527 } else {
4528 if(cltype26 >= var_tclassidnode6->type->table_size) {
4529 var25 = 0;
4530 } else {
4531 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
4532 }
4533 }
4534 if (!var25) {
4535 fprintf(stderr, "Runtime error: %s", "Assert failed");
4536 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15037);
4537 exit(1);
4538 }
4539 var_listnode7 = var_nodearraylist8;
4540 /* <var_listnode7:nullable Object> isa Array[Object] */
4541 cltype29 = type_array__Arraykernel__Object.color;
4542 idtype30 = type_array__Arraykernel__Object.id;
4543 if(var_listnode7 == NULL) {
4544 var28 = 0;
4545 } else {
4546 if(cltype29 >= var_listnode7->type->table_size) {
4547 var28 = 0;
4548 } else {
4549 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
4550 }
4551 }
4552 if (!var28) {
4553 fprintf(stderr, "Runtime error: %s", "Assert failed");
4554 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15039);
4555 exit(1);
4556 }
4557 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction324>*/;
4558 var_listnode8 = var31;
4559 var32 = NEW_array__Array(&type_array__Arraykernel__Object);
4560 ((void (*)(val*))(var32->class->vft[COLOR_array__Array__init]))(var32) /* init on <var32:Array[Object]>*/;
4561 CHECK_NEW_array__Array(var32);
4562 var_listnode13 = var32;
4563 var_listnode12 = var_nodearraylist9;
4564 /* <var_listnode12:nullable Object> isa Array[Object] */
4565 cltype34 = type_array__Arraykernel__Object.color;
4566 idtype35 = type_array__Arraykernel__Object.id;
4567 if(var_listnode12 == NULL) {
4568 var33 = 0;
4569 } else {
4570 if(cltype34 >= var_listnode12->type->table_size) {
4571 var33 = 0;
4572 } else {
4573 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
4574 }
4575 }
4576 if (!var33) {
4577 fprintf(stderr, "Runtime error: %s", "Assert failed");
4578 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15043);
4579 exit(1);
4580 }
4581 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction324>*/;
4582 var_listnode13 = var36;
4583 var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4584 var38 = NULL;
4585 var39 = NULL;
4586 var40 = NULL;
4587 ((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>*/;
4588 CHECK_NEW_parser_nodes__AAnnotations(var37);
4589 var_pannotationsnode9 = var37;
4590 var_pexterncodeblocknode15 = var_nodearraylist10;
4591 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
4592 cltype42 = type_nullable_parser_nodes__AExternCodeBlock.color;
4593 idtype43 = type_nullable_parser_nodes__AExternCodeBlock.id;
4594 if(var_pexterncodeblocknode15 == NULL) {
4595 var41 = 1;
4596 } else {
4597 if(cltype42 >= var_pexterncodeblocknode15->type->table_size) {
4598 var41 = 0;
4599 } else {
4600 var41 = var_pexterncodeblocknode15->type->type_table[cltype42] == idtype43;
4601 }
4602 }
4603 if (!var41) {
4604 fprintf(stderr, "Runtime error: %s", "Assert failed");
4605 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15052);
4606 exit(1);
4607 }
4608 var_listnode16 = var_nodearraylist11;
4609 /* <var_listnode16:nullable Object> isa Array[Object] */
4610 cltype45 = type_array__Arraykernel__Object.color;
4611 idtype46 = type_array__Arraykernel__Object.id;
4612 if(var_listnode16 == NULL) {
4613 var44 = 0;
4614 } else {
4615 if(cltype45 >= var_listnode16->type->table_size) {
4616 var44 = 0;
4617 } else {
4618 var44 = var_listnode16->type->type_table[cltype45] == idtype46;
4619 }
4620 }
4621 if (!var44) {
4622 fprintf(stderr, "Runtime error: %s", "Assert failed");
4623 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15054);
4624 exit(1);
4625 }
4626 var47 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction324>*/;
4627 var_listnode17 = var47;
4628 var_listnode18 = var_nodearraylist12;
4629 /* <var_listnode18:nullable Object> isa Array[Object] */
4630 cltype49 = type_array__Arraykernel__Object.color;
4631 idtype50 = type_array__Arraykernel__Object.id;
4632 if(var_listnode18 == NULL) {
4633 var48 = 0;
4634 } else {
4635 if(cltype49 >= var_listnode18->type->table_size) {
4636 var48 = 0;
4637 } else {
4638 var48 = var_listnode18->type->type_table[cltype49] == idtype50;
4639 }
4640 }
4641 if (!var48) {
4642 fprintf(stderr, "Runtime error: %s", "Assert failed");
4643 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15057);
4644 exit(1);
4645 }
4646 var51 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction324>*/;
4647 var_listnode19 = var51;
4648 var_tkwendnode20 = var_nodearraylist14;
4649 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
4650 cltype53 = type_nullable_parser_nodes__TKwend.color;
4651 idtype54 = type_nullable_parser_nodes__TKwend.id;
4652 if(var_tkwendnode20 == NULL) {
4653 var52 = 1;
4654 } else {
4655 if(cltype53 >= var_tkwendnode20->type->table_size) {
4656 var52 = 0;
4657 } else {
4658 var52 = var_tkwendnode20->type->type_table[cltype53] == idtype54;
4659 }
4660 }
4661 if (!var52) {
4662 fprintf(stderr, "Runtime error: %s", "Assert failed");
4663 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15060);
4664 exit(1);
4665 }
4666 var55 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4667 var56 = NULL;
4668 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var55->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var55, var_pdocnode2, var56, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var55:AStdClassdef>*/;
4669 CHECK_NEW_parser_nodes__AStdClassdef(var55);
4670 var_pclassdefnode1 = var55;
4671 var_node_list = var_pclassdefnode1;
4672 var57 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction324> */
4673 var58 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var57) /* go_to on <var_p:Parser>*/;
4674 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var58, var_node_list) /* push on <var_p:Parser>*/;
4675 RET_LABEL:;
4676 }
4677 /* method parser#ReduceAction324#action for (self: Object, Parser) */
4678 void VIRTUAL_parser__ReduceAction324__action(val* self, val* p0) {
4679 parser__ReduceAction324__action(self, p0);
4680 RET_LABEL:;
4681 }
4682 /* method parser#ReduceAction326#action for (self: ReduceAction326, Parser) */
4683 void parser__ReduceAction326__action(val* self, val* p0) {
4684 val* var_p /* var p: Parser */;
4685 val* var /* : null */;
4686 val* var_node_list /* var node_list: nullable Object */;
4687 val* var1 /* : nullable Object */;
4688 val* var_nodearraylist14 /* var nodearraylist14: nullable Object */;
4689 val* var2 /* : nullable Object */;
4690 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
4691 val* var3 /* : nullable Object */;
4692 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4693 val* var4 /* : nullable Object */;
4694 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4695 val* var5 /* : nullable Object */;
4696 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4697 val* var6 /* : nullable Object */;
4698 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4699 val* var7 /* : nullable Object */;
4700 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4701 val* var8 /* : nullable Object */;
4702 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4703 val* var9 /* : nullable Object */;
4704 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4705 val* var10 /* : nullable Object */;
4706 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4707 val* var11 /* : nullable Object */;
4708 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4709 val* var12 /* : nullable Object */;
4710 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4711 val* var13 /* : nullable Object */;
4712 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4713 val* var14 /* : nullable Object */;
4714 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4715 val* var15 /* : Array[Object] */;
4716 val* var_listnode8 /* var listnode8: Array[Object] */;
4717 val* var16 /* : Array[Object] */;
4718 val* var_listnode17 /* var listnode17: Array[Object] */;
4719 val* var17 /* : Array[Object] */;
4720 val* var_listnode19 /* var listnode19: Array[Object] */;
4721 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4722 short int var18 /* : Bool */;
4723 int cltype;
4724 int idtype;
4725 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4726 short int var19 /* : Bool */;
4727 int cltype20;
4728 int idtype21;
4729 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4730 short int var22 /* : Bool */;
4731 int cltype23;
4732 int idtype24;
4733 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4734 short int var25 /* : Bool */;
4735 int cltype26;
4736 int idtype27;
4737 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4738 short int var28 /* : Bool */;
4739 int cltype29;
4740 int idtype30;
4741 val* var_listnode7 /* var listnode7: nullable Object */;
4742 short int var31 /* : Bool */;
4743 int cltype32;
4744 int idtype33;
4745 val* var34 /* : Array[Object] */;
4746 val* var35 /* : Array[Object] */;
4747 val* var_listnode13 /* var listnode13: Array[Object] */;
4748 val* var_listnode12 /* var listnode12: nullable Object */;
4749 short int var36 /* : Bool */;
4750 int cltype37;
4751 int idtype38;
4752 val* var39 /* : Array[Object] */;
4753 val* var40 /* : AAnnotations */;
4754 val* var41 /* : null */;
4755 val* var42 /* : null */;
4756 val* var43 /* : null */;
4757 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4758 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
4759 short int var44 /* : Bool */;
4760 int cltype45;
4761 int idtype46;
4762 val* var_listnode16 /* var listnode16: nullable Object */;
4763 short int var47 /* : Bool */;
4764 int cltype48;
4765 int idtype49;
4766 val* var50 /* : Array[Object] */;
4767 val* var_listnode18 /* var listnode18: nullable Object */;
4768 short int var51 /* : Bool */;
4769 int cltype52;
4770 int idtype53;
4771 val* var54 /* : Array[Object] */;
4772 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
4773 short int var55 /* : Bool */;
4774 int cltype56;
4775 int idtype57;
4776 val* var58 /* : AStdClassdef */;
4777 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4778 long var59 /* : Int */;
4779 long var60 /* : Int */;
4780 var_p = p0;
4781 var = NULL;
4782 var_node_list = var;
4783 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4784 var_nodearraylist14 = var1;
4785 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4786 var_nodearraylist13 = var2;
4787 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4788 var_nodearraylist12 = var3;
4789 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4790 var_nodearraylist11 = var4;
4791 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4792 var_nodearraylist10 = var5;
4793 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4794 var_nodearraylist9 = var6;
4795 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4796 var_nodearraylist8 = var7;
4797 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4798 var_nodearraylist7 = var8;
4799 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4800 var_nodearraylist6 = var9;
4801 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4802 var_nodearraylist5 = var10;
4803 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4804 var_nodearraylist4 = var11;
4805 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4806 var_nodearraylist3 = var12;
4807 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4808 var_nodearraylist2 = var13;
4809 var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4810 var_nodearraylist1 = var14;
4811 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
4812 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
4813 CHECK_NEW_array__Array(var15);
4814 var_listnode8 = var15;
4815 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
4816 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
4817 CHECK_NEW_array__Array(var16);
4818 var_listnode17 = var16;
4819 var17 = NEW_array__Array(&type_array__Arraykernel__Object);
4820 ((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on <var17:Array[Object]>*/;
4821 CHECK_NEW_array__Array(var17);
4822 var_listnode19 = var17;
4823 var_pdocnode2 = var_nodearraylist1;
4824 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4825 cltype = type_nullable_parser_nodes__ADoc.color;
4826 idtype = type_nullable_parser_nodes__ADoc.id;
4827 if(var_pdocnode2 == NULL) {
4828 var18 = 1;
4829 } else {
4830 if(cltype >= var_pdocnode2->type->table_size) {
4831 var18 = 0;
4832 } else {
4833 var18 = var_pdocnode2->type->type_table[cltype] == idtype;
4834 }
4835 }
4836 if (!var18) {
4837 fprintf(stderr, "Runtime error: %s", "Assert failed");
4838 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15101);
4839 exit(1);
4840 }
4841 var_tkwredefnode3 = var_nodearraylist2;
4842 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4843 cltype20 = type_nullable_parser_nodes__TKwredef.color;
4844 idtype21 = type_nullable_parser_nodes__TKwredef.id;
4845 if(var_tkwredefnode3 == NULL) {
4846 var19 = 1;
4847 } else {
4848 if(cltype20 >= var_tkwredefnode3->type->table_size) {
4849 var19 = 0;
4850 } else {
4851 var19 = var_tkwredefnode3->type->type_table[cltype20] == idtype21;
4852 }
4853 }
4854 if (!var19) {
4855 fprintf(stderr, "Runtime error: %s", "Assert failed");
4856 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15103);
4857 exit(1);
4858 }
4859 var_pvisibilitynode4 = var_nodearraylist3;
4860 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4861 cltype23 = type_nullable_parser_nodes__AVisibility.color;
4862 idtype24 = type_nullable_parser_nodes__AVisibility.id;
4863 if(var_pvisibilitynode4 == NULL) {
4864 var22 = 1;
4865 } else {
4866 if(cltype23 >= var_pvisibilitynode4->type->table_size) {
4867 var22 = 0;
4868 } else {
4869 var22 = var_pvisibilitynode4->type->type_table[cltype23] == idtype24;
4870 }
4871 }
4872 if (!var22) {
4873 fprintf(stderr, "Runtime error: %s", "Assert failed");
4874 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15105);
4875 exit(1);
4876 }
4877 var_pclasskindnode5 = var_nodearraylist4;
4878 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4879 cltype26 = type_nullable_parser_nodes__AClasskind.color;
4880 idtype27 = type_nullable_parser_nodes__AClasskind.id;
4881 if(var_pclasskindnode5 == NULL) {
4882 var25 = 1;
4883 } else {
4884 if(cltype26 >= var_pclasskindnode5->type->table_size) {
4885 var25 = 0;
4886 } else {
4887 var25 = var_pclasskindnode5->type->type_table[cltype26] == idtype27;
4888 }
4889 }
4890 if (!var25) {
4891 fprintf(stderr, "Runtime error: %s", "Assert failed");
4892 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15107);
4893 exit(1);
4894 }
4895 var_tclassidnode6 = var_nodearraylist7;
4896 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4897 cltype29 = type_nullable_parser_nodes__TClassid.color;
4898 idtype30 = type_nullable_parser_nodes__TClassid.id;
4899 if(var_tclassidnode6 == NULL) {
4900 var28 = 1;
4901 } else {
4902 if(cltype29 >= var_tclassidnode6->type->table_size) {
4903 var28 = 0;
4904 } else {
4905 var28 = var_tclassidnode6->type->type_table[cltype29] == idtype30;
4906 }
4907 }
4908 if (!var28) {
4909 fprintf(stderr, "Runtime error: %s", "Assert failed");
4910 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15109);
4911 exit(1);
4912 }
4913 var_listnode7 = var_nodearraylist8;
4914 /* <var_listnode7:nullable Object> isa Array[Object] */
4915 cltype32 = type_array__Arraykernel__Object.color;
4916 idtype33 = type_array__Arraykernel__Object.id;
4917 if(var_listnode7 == NULL) {
4918 var31 = 0;
4919 } else {
4920 if(cltype32 >= var_listnode7->type->table_size) {
4921 var31 = 0;
4922 } else {
4923 var31 = var_listnode7->type->type_table[cltype32] == idtype33;
4924 }
4925 }
4926 if (!var31) {
4927 fprintf(stderr, "Runtime error: %s", "Assert failed");
4928 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15111);
4929 exit(1);
4930 }
4931 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction326>*/;
4932 var_listnode8 = var34;
4933 var35 = NEW_array__Array(&type_array__Arraykernel__Object);
4934 ((void (*)(val*))(var35->class->vft[COLOR_array__Array__init]))(var35) /* init on <var35:Array[Object]>*/;
4935 CHECK_NEW_array__Array(var35);
4936 var_listnode13 = var35;
4937 var_listnode12 = var_nodearraylist9;
4938 /* <var_listnode12:nullable Object> isa Array[Object] */
4939 cltype37 = type_array__Arraykernel__Object.color;
4940 idtype38 = type_array__Arraykernel__Object.id;
4941 if(var_listnode12 == NULL) {
4942 var36 = 0;
4943 } else {
4944 if(cltype37 >= var_listnode12->type->table_size) {
4945 var36 = 0;
4946 } else {
4947 var36 = var_listnode12->type->type_table[cltype37] == idtype38;
4948 }
4949 }
4950 if (!var36) {
4951 fprintf(stderr, "Runtime error: %s", "Assert failed");
4952 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15115);
4953 exit(1);
4954 }
4955 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction326>*/;
4956 var_listnode13 = var39;
4957 var40 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4958 var41 = NULL;
4959 var42 = NULL;
4960 var43 = NULL;
4961 ((void (*)(val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var40, var41, var42, var_listnode13, var43) /* init_aannotations on <var40:AAnnotations>*/;
4962 CHECK_NEW_parser_nodes__AAnnotations(var40);
4963 var_pannotationsnode9 = var40;
4964 var_pexterncodeblocknode15 = var_nodearraylist10;
4965 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
4966 cltype45 = type_nullable_parser_nodes__AExternCodeBlock.color;
4967 idtype46 = type_nullable_parser_nodes__AExternCodeBlock.id;
4968 if(var_pexterncodeblocknode15 == NULL) {
4969 var44 = 1;
4970 } else {
4971 if(cltype45 >= var_pexterncodeblocknode15->type->table_size) {
4972 var44 = 0;
4973 } else {
4974 var44 = var_pexterncodeblocknode15->type->type_table[cltype45] == idtype46;
4975 }
4976 }
4977 if (!var44) {
4978 fprintf(stderr, "Runtime error: %s", "Assert failed");
4979 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15124);
4980 exit(1);
4981 }
4982 var_listnode16 = var_nodearraylist11;
4983 /* <var_listnode16:nullable Object> isa Array[Object] */
4984 cltype48 = type_array__Arraykernel__Object.color;
4985 idtype49 = type_array__Arraykernel__Object.id;
4986 if(var_listnode16 == NULL) {
4987 var47 = 0;
4988 } else {
4989 if(cltype48 >= var_listnode16->type->table_size) {
4990 var47 = 0;
4991 } else {
4992 var47 = var_listnode16->type->type_table[cltype48] == idtype49;
4993 }
4994 }
4995 if (!var47) {
4996 fprintf(stderr, "Runtime error: %s", "Assert failed");
4997 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15126);
4998 exit(1);
4999 }
5000 var50 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction326>*/;
5001 var_listnode17 = var50;
5002 var_listnode18 = var_nodearraylist12;
5003 /* <var_listnode18:nullable Object> isa Array[Object] */
5004 cltype52 = type_array__Arraykernel__Object.color;
5005 idtype53 = type_array__Arraykernel__Object.id;
5006 if(var_listnode18 == NULL) {
5007 var51 = 0;
5008 } else {
5009 if(cltype52 >= var_listnode18->type->table_size) {
5010 var51 = 0;
5011 } else {
5012 var51 = var_listnode18->type->type_table[cltype52] == idtype53;
5013 }
5014 }
5015 if (!var51) {
5016 fprintf(stderr, "Runtime error: %s", "Assert failed");
5017 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15129);
5018 exit(1);
5019 }
5020 var54 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction326>*/;
5021 var_listnode19 = var54;
5022 var_tkwendnode20 = var_nodearraylist14;
5023 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
5024 cltype56 = type_nullable_parser_nodes__TKwend.color;
5025 idtype57 = type_nullable_parser_nodes__TKwend.id;
5026 if(var_tkwendnode20 == NULL) {
5027 var55 = 1;
5028 } else {
5029 if(cltype56 >= var_tkwendnode20->type->table_size) {
5030 var55 = 0;
5031 } else {
5032 var55 = var_tkwendnode20->type->type_table[cltype56] == idtype57;
5033 }
5034 }
5035 if (!var55) {
5036 fprintf(stderr, "Runtime error: %s", "Assert failed");
5037 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15132);
5038 exit(1);
5039 }
5040 var58 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5041 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var58->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var58, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var58:AStdClassdef>*/;
5042 CHECK_NEW_parser_nodes__AStdClassdef(var58);
5043 var_pclassdefnode1 = var58;
5044 var_node_list = var_pclassdefnode1;
5045 var59 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction326> */
5046 var60 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var59) /* go_to on <var_p:Parser>*/;
5047 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var60, var_node_list) /* push on <var_p:Parser>*/;
5048 RET_LABEL:;
5049 }
5050 /* method parser#ReduceAction326#action for (self: Object, Parser) */
5051 void VIRTUAL_parser__ReduceAction326__action(val* self, val* p0) {
5052 parser__ReduceAction326__action(self, p0);
5053 RET_LABEL:;
5054 }
5055 /* method parser#ReduceAction327#action for (self: ReduceAction327, Parser) */
5056 void parser__ReduceAction327__action(val* self, val* p0) {
5057 val* var_p /* var p: Parser */;
5058 val* var /* : null */;
5059 val* var_node_list /* var node_list: nullable Object */;
5060 val* var1 /* : nullable Object */;
5061 val* var_nodearraylist15 /* var nodearraylist15: nullable Object */;
5062 val* var2 /* : nullable Object */;
5063 val* var_nodearraylist14 /* var nodearraylist14: nullable Object */;
5064 val* var3 /* : nullable Object */;
5065 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
5066 val* var4 /* : nullable Object */;
5067 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
5068 val* var5 /* : nullable Object */;
5069 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5070 val* var6 /* : nullable Object */;
5071 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5072 val* var7 /* : nullable Object */;
5073 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5074 val* var8 /* : nullable Object */;
5075 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5076 val* var9 /* : nullable Object */;
5077 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5078 val* var10 /* : nullable Object */;
5079 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5080 val* var11 /* : nullable Object */;
5081 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5082 val* var12 /* : nullable Object */;
5083 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5084 val* var13 /* : nullable Object */;
5085 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5086 val* var14 /* : nullable Object */;
5087 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5088 val* var15 /* : nullable Object */;
5089 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5090 val* var16 /* : Array[Object] */;
5091 val* var_listnode8 /* var listnode8: Array[Object] */;
5092 val* var17 /* : Array[Object] */;
5093 val* var_listnode17 /* var listnode17: Array[Object] */;
5094 val* var18 /* : Array[Object] */;
5095 val* var_listnode19 /* var listnode19: Array[Object] */;
5096 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5097 short int var19 /* : Bool */;
5098 int cltype;
5099 int idtype;
5100 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5101 short int var20 /* : Bool */;
5102 int cltype21;
5103 int idtype22;
5104 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5105 short int var23 /* : Bool */;
5106 int cltype24;
5107 int idtype25;
5108 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5109 short int var26 /* : Bool */;
5110 int cltype27;
5111 int idtype28;
5112 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5113 short int var29 /* : Bool */;
5114 int cltype30;
5115 int idtype31;
5116 val* var_listnode7 /* var listnode7: nullable Object */;
5117 short int var32 /* : Bool */;
5118 int cltype33;
5119 int idtype34;
5120 val* var35 /* : Array[Object] */;
5121 val* var36 /* : Array[Object] */;
5122 val* var_listnode13 /* var listnode13: Array[Object] */;
5123 val* var_listnode12 /* var listnode12: nullable Object */;
5124 short int var37 /* : Bool */;
5125 int cltype38;
5126 int idtype39;
5127 val* var40 /* : Array[Object] */;
5128 val* var41 /* : AAnnotations */;
5129 val* var42 /* : null */;
5130 val* var43 /* : null */;
5131 val* var44 /* : null */;
5132 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5133 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
5134 short int var45 /* : Bool */;
5135 int cltype46;
5136 int idtype47;
5137 val* var_listnode16 /* var listnode16: nullable Object */;
5138 short int var48 /* : Bool */;
5139 int cltype49;
5140 int idtype50;
5141 val* var51 /* : Array[Object] */;
5142 val* var_listnode18 /* var listnode18: nullable Object */;
5143 short int var52 /* : Bool */;
5144 int cltype53;
5145 int idtype54;
5146 val* var55 /* : Array[Object] */;
5147 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
5148 short int var56 /* : Bool */;
5149 int cltype57;
5150 int idtype58;
5151 val* var59 /* : AStdClassdef */;
5152 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5153 long var60 /* : Int */;
5154 long var61 /* : Int */;
5155 var_p = p0;
5156 var = NULL;
5157 var_node_list = var;
5158 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5159 var_nodearraylist15 = var1;
5160 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5161 var_nodearraylist14 = var2;
5162 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5163 var_nodearraylist13 = var3;
5164 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5165 var_nodearraylist12 = var4;
5166 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5167 var_nodearraylist11 = var5;
5168 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5169 var_nodearraylist10 = var6;
5170 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5171 var_nodearraylist9 = var7;
5172 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5173 var_nodearraylist8 = var8;
5174 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5175 var_nodearraylist7 = var9;
5176 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5177 var_nodearraylist6 = var10;
5178 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5179 var_nodearraylist5 = var11;
5180 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5181 var_nodearraylist4 = var12;
5182 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5183 var_nodearraylist3 = var13;
5184 var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5185 var_nodearraylist2 = var14;
5186 var15 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5187 var_nodearraylist1 = var15;
5188 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
5189 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
5190 CHECK_NEW_array__Array(var16);
5191 var_listnode8 = var16;
5192 var17 = NEW_array__Array(&type_array__Arraykernel__Object);
5193 ((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on <var17:Array[Object]>*/;
5194 CHECK_NEW_array__Array(var17);
5195 var_listnode17 = var17;
5196 var18 = NEW_array__Array(&type_array__Arraykernel__Object);
5197 ((void (*)(val*))(var18->class->vft[COLOR_array__Array__init]))(var18) /* init on <var18:Array[Object]>*/;
5198 CHECK_NEW_array__Array(var18);
5199 var_listnode19 = var18;
5200 var_pdocnode2 = var_nodearraylist1;
5201 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5202 cltype = type_nullable_parser_nodes__ADoc.color;
5203 idtype = type_nullable_parser_nodes__ADoc.id;
5204 if(var_pdocnode2 == NULL) {
5205 var19 = 1;
5206 } else {
5207 if(cltype >= var_pdocnode2->type->table_size) {
5208 var19 = 0;
5209 } else {
5210 var19 = var_pdocnode2->type->type_table[cltype] == idtype;
5211 }
5212 }
5213 if (!var19) {
5214 fprintf(stderr, "Runtime error: %s", "Assert failed");
5215 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15174);
5216 exit(1);
5217 }
5218 var_tkwredefnode3 = var_nodearraylist2;
5219 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5220 cltype21 = type_nullable_parser_nodes__TKwredef.color;
5221 idtype22 = type_nullable_parser_nodes__TKwredef.id;
5222 if(var_tkwredefnode3 == NULL) {
5223 var20 = 1;
5224 } else {
5225 if(cltype21 >= var_tkwredefnode3->type->table_size) {
5226 var20 = 0;
5227 } else {
5228 var20 = var_tkwredefnode3->type->type_table[cltype21] == idtype22;
5229 }
5230 }
5231 if (!var20) {
5232 fprintf(stderr, "Runtime error: %s", "Assert failed");
5233 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15176);
5234 exit(1);
5235 }
5236 var_pvisibilitynode4 = var_nodearraylist3;
5237 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5238 cltype24 = type_nullable_parser_nodes__AVisibility.color;
5239 idtype25 = type_nullable_parser_nodes__AVisibility.id;
5240 if(var_pvisibilitynode4 == NULL) {
5241 var23 = 1;
5242 } else {
5243 if(cltype24 >= var_pvisibilitynode4->type->table_size) {
5244 var23 = 0;
5245 } else {
5246 var23 = var_pvisibilitynode4->type->type_table[cltype24] == idtype25;
5247 }
5248 }
5249 if (!var23) {
5250 fprintf(stderr, "Runtime error: %s", "Assert failed");
5251 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15178);
5252 exit(1);
5253 }
5254 var_pclasskindnode5 = var_nodearraylist4;
5255 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5256 cltype27 = type_nullable_parser_nodes__AClasskind.color;
5257 idtype28 = type_nullable_parser_nodes__AClasskind.id;
5258 if(var_pclasskindnode5 == NULL) {
5259 var26 = 1;
5260 } else {
5261 if(cltype27 >= var_pclasskindnode5->type->table_size) {
5262 var26 = 0;
5263 } else {
5264 var26 = var_pclasskindnode5->type->type_table[cltype27] == idtype28;
5265 }
5266 }
5267 if (!var26) {
5268 fprintf(stderr, "Runtime error: %s", "Assert failed");
5269 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15180);
5270 exit(1);
5271 }
5272 var_tclassidnode6 = var_nodearraylist8;
5273 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5274 cltype30 = type_nullable_parser_nodes__TClassid.color;
5275 idtype31 = type_nullable_parser_nodes__TClassid.id;
5276 if(var_tclassidnode6 == NULL) {
5277 var29 = 1;
5278 } else {
5279 if(cltype30 >= var_tclassidnode6->type->table_size) {
5280 var29 = 0;
5281 } else {
5282 var29 = var_tclassidnode6->type->type_table[cltype30] == idtype31;
5283 }
5284 }
5285 if (!var29) {
5286 fprintf(stderr, "Runtime error: %s", "Assert failed");
5287 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15182);
5288 exit(1);
5289 }
5290 var_listnode7 = var_nodearraylist9;
5291 /* <var_listnode7:nullable Object> isa Array[Object] */
5292 cltype33 = type_array__Arraykernel__Object.color;
5293 idtype34 = type_array__Arraykernel__Object.id;
5294 if(var_listnode7 == NULL) {
5295 var32 = 0;
5296 } else {
5297 if(cltype33 >= var_listnode7->type->table_size) {
5298 var32 = 0;
5299 } else {
5300 var32 = var_listnode7->type->type_table[cltype33] == idtype34;
5301 }
5302 }
5303 if (!var32) {
5304 fprintf(stderr, "Runtime error: %s", "Assert failed");
5305 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15184);
5306 exit(1);
5307 }
5308 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction327>*/;
5309 var_listnode8 = var35;
5310 var36 = NEW_array__Array(&type_array__Arraykernel__Object);
5311 ((void (*)(val*))(var36->class->vft[COLOR_array__Array__init]))(var36) /* init on <var36:Array[Object]>*/;
5312 CHECK_NEW_array__Array(var36);
5313 var_listnode13 = var36;
5314 var_listnode12 = var_nodearraylist10;
5315 /* <var_listnode12:nullable Object> isa Array[Object] */
5316 cltype38 = type_array__Arraykernel__Object.color;
5317 idtype39 = type_array__Arraykernel__Object.id;
5318 if(var_listnode12 == NULL) {
5319 var37 = 0;
5320 } else {
5321 if(cltype38 >= var_listnode12->type->table_size) {
5322 var37 = 0;
5323 } else {
5324 var37 = var_listnode12->type->type_table[cltype38] == idtype39;
5325 }
5326 }
5327 if (!var37) {
5328 fprintf(stderr, "Runtime error: %s", "Assert failed");
5329 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15188);
5330 exit(1);
5331 }
5332 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction327>*/;
5333 var_listnode13 = var40;
5334 var41 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5335 var42 = NULL;
5336 var43 = NULL;
5337 var44 = NULL;
5338 ((void (*)(val*, val*, val*, val*, val*))(var41->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var41, var42, var43, var_listnode13, var44) /* init_aannotations on <var41:AAnnotations>*/;
5339 CHECK_NEW_parser_nodes__AAnnotations(var41);
5340 var_pannotationsnode9 = var41;
5341 var_pexterncodeblocknode15 = var_nodearraylist11;
5342 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
5343 cltype46 = type_nullable_parser_nodes__AExternCodeBlock.color;
5344 idtype47 = type_nullable_parser_nodes__AExternCodeBlock.id;
5345 if(var_pexterncodeblocknode15 == NULL) {
5346 var45 = 1;
5347 } else {
5348 if(cltype46 >= var_pexterncodeblocknode15->type->table_size) {
5349 var45 = 0;
5350 } else {
5351 var45 = var_pexterncodeblocknode15->type->type_table[cltype46] == idtype47;
5352 }
5353 }
5354 if (!var45) {
5355 fprintf(stderr, "Runtime error: %s", "Assert failed");
5356 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15197);
5357 exit(1);
5358 }
5359 var_listnode16 = var_nodearraylist12;
5360 /* <var_listnode16:nullable Object> isa Array[Object] */
5361 cltype49 = type_array__Arraykernel__Object.color;
5362 idtype50 = type_array__Arraykernel__Object.id;
5363 if(var_listnode16 == NULL) {
5364 var48 = 0;
5365 } else {
5366 if(cltype49 >= var_listnode16->type->table_size) {
5367 var48 = 0;
5368 } else {
5369 var48 = var_listnode16->type->type_table[cltype49] == idtype50;
5370 }
5371 }
5372 if (!var48) {
5373 fprintf(stderr, "Runtime error: %s", "Assert failed");
5374 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15199);
5375 exit(1);
5376 }
5377 var51 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction327>*/;
5378 var_listnode17 = var51;
5379 var_listnode18 = var_nodearraylist13;
5380 /* <var_listnode18:nullable Object> isa Array[Object] */
5381 cltype53 = type_array__Arraykernel__Object.color;
5382 idtype54 = type_array__Arraykernel__Object.id;
5383 if(var_listnode18 == NULL) {
5384 var52 = 0;
5385 } else {
5386 if(cltype53 >= var_listnode18->type->table_size) {
5387 var52 = 0;
5388 } else {
5389 var52 = var_listnode18->type->type_table[cltype53] == idtype54;
5390 }
5391 }
5392 if (!var52) {
5393 fprintf(stderr, "Runtime error: %s", "Assert failed");
5394 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15202);
5395 exit(1);
5396 }
5397 var55 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction327>*/;
5398 var_listnode19 = var55;
5399 var_tkwendnode20 = var_nodearraylist15;
5400 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
5401 cltype57 = type_nullable_parser_nodes__TKwend.color;
5402 idtype58 = type_nullable_parser_nodes__TKwend.id;
5403 if(var_tkwendnode20 == NULL) {
5404 var56 = 1;
5405 } else {
5406 if(cltype57 >= var_tkwendnode20->type->table_size) {
5407 var56 = 0;
5408 } else {
5409 var56 = var_tkwendnode20->type->type_table[cltype57] == idtype58;
5410 }
5411 }
5412 if (!var56) {
5413 fprintf(stderr, "Runtime error: %s", "Assert failed");
5414 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15205);
5415 exit(1);
5416 }
5417 var59 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5418 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var59->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var59, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var59:AStdClassdef>*/;
5419 CHECK_NEW_parser_nodes__AStdClassdef(var59);
5420 var_pclassdefnode1 = var59;
5421 var_node_list = var_pclassdefnode1;
5422 var60 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction327> */
5423 var61 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var60) /* go_to on <var_p:Parser>*/;
5424 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var61, var_node_list) /* push on <var_p:Parser>*/;
5425 RET_LABEL:;
5426 }
5427 /* method parser#ReduceAction327#action for (self: Object, Parser) */
5428 void VIRTUAL_parser__ReduceAction327__action(val* self, val* p0) {
5429 parser__ReduceAction327__action(self, p0);
5430 RET_LABEL:;
5431 }
5432 /* method parser#ReduceAction329#action for (self: ReduceAction329, Parser) */
5433 void parser__ReduceAction329__action(val* self, val* p0) {
5434 val* var_p /* var p: Parser */;
5435 val* var /* : null */;
5436 val* var_node_list /* var node_list: nullable Object */;
5437 val* var1 /* : nullable Object */;
5438 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5439 val* var_tkwclassnode2 /* var tkwclassnode2: nullable Object */;
5440 short int var2 /* : Bool */;
5441 int cltype;
5442 int idtype;
5443 val* var3 /* : AConcreteClasskind */;
5444 val* var_pclasskindnode1 /* var pclasskindnode1: nullable AConcreteClasskind */;
5445 long var4 /* : Int */;
5446 long var5 /* : Int */;
5447 var_p = p0;
5448 var = NULL;
5449 var_node_list = var;
5450 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5451 var_nodearraylist1 = var1;
5452 var_tkwclassnode2 = var_nodearraylist1;
5453 /* <var_tkwclassnode2:nullable Object> isa nullable TKwclass */
5454 cltype = type_nullable_parser_nodes__TKwclass.color;
5455 idtype = type_nullable_parser_nodes__TKwclass.id;
5456 if(var_tkwclassnode2 == NULL) {
5457 var2 = 1;
5458 } else {
5459 if(cltype >= var_tkwclassnode2->type->table_size) {
5460 var2 = 0;
5461 } else {
5462 var2 = var_tkwclassnode2->type->type_table[cltype] == idtype;
5463 }
5464 }
5465 if (!var2) {
5466 fprintf(stderr, "Runtime error: %s", "Assert failed");
5467 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15230);
5468 exit(1);
5469 }
5470 var3 = NEW_parser_nodes__AConcreteClasskind(&type_parser_nodes__AConcreteClasskind);
5471 ((void (*)(val*, val*))(var3->class->vft[COLOR_parser_prod__AConcreteClasskind__init_aconcreteclasskind]))(var3, var_tkwclassnode2) /* init_aconcreteclasskind on <var3:AConcreteClasskind>*/;
5472 CHECK_NEW_parser_nodes__AConcreteClasskind(var3);
5473 var_pclasskindnode1 = var3;
5474 var_node_list = var_pclasskindnode1;
5475 var4 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction329> */
5476 var5 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var4) /* go_to on <var_p:Parser>*/;
5477 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var5, var_node_list) /* push on <var_p:Parser>*/;
5478 RET_LABEL:;
5479 }
5480 /* method parser#ReduceAction329#action for (self: Object, Parser) */
5481 void VIRTUAL_parser__ReduceAction329__action(val* self, val* p0) {
5482 parser__ReduceAction329__action(self, p0);
5483 RET_LABEL:;
5484 }
5485 /* method parser#ReduceAction330#action for (self: ReduceAction330, Parser) */
5486 void parser__ReduceAction330__action(val* self, val* p0) {
5487 val* var_p /* var p: Parser */;
5488 val* var /* : null */;
5489 val* var_node_list /* var node_list: nullable Object */;
5490 val* var1 /* : nullable Object */;
5491 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5492 val* var2 /* : nullable Object */;
5493 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5494 val* var_tkwabstractnode2 /* var tkwabstractnode2: nullable Object */;
5495 short int var3 /* : Bool */;
5496 int cltype;
5497 int idtype;
5498 val* var_tkwclassnode3 /* var tkwclassnode3: nullable Object */;
5499 short int var4 /* : Bool */;
5500 int cltype5;
5501 int idtype6;
5502 val* var7 /* : AAbstractClasskind */;
5503 val* var_pclasskindnode1 /* var pclasskindnode1: nullable AAbstractClasskind */;
5504 long var8 /* : Int */;
5505 long var9 /* : Int */;
5506 var_p = p0;
5507 var = NULL;
5508 var_node_list = var;
5509 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5510 var_nodearraylist2 = var1;
5511 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5512 var_nodearraylist1 = var2;
5513 var_tkwabstractnode2 = var_nodearraylist1;
5514 /* <var_tkwabstractnode2:nullable Object> isa nullable TKwabstract */
5515 cltype = type_nullable_parser_nodes__TKwabstract.color;
5516 idtype = type_nullable_parser_nodes__TKwabstract.id;
5517 if(var_tkwabstractnode2 == NULL) {
5518 var3 = 1;
5519 } else {
5520 if(cltype >= var_tkwabstractnode2->type->table_size) {
5521 var3 = 0;
5522 } else {
5523 var3 = var_tkwabstractnode2->type->type_table[cltype] == idtype;
5524 }
5525 }
5526 if (!var3) {
5527 fprintf(stderr, "Runtime error: %s", "Assert failed");
5528 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15246);
5529 exit(1);
5530 }
5531 var_tkwclassnode3 = var_nodearraylist2;
5532 /* <var_tkwclassnode3:nullable Object> isa nullable TKwclass */
5533 cltype5 = type_nullable_parser_nodes__TKwclass.color;
5534 idtype6 = type_nullable_parser_nodes__TKwclass.id;
5535 if(var_tkwclassnode3 == NULL) {
5536 var4 = 1;
5537 } else {
5538 if(cltype5 >= var_tkwclassnode3->type->table_size) {
5539 var4 = 0;
5540 } else {
5541 var4 = var_tkwclassnode3->type->type_table[cltype5] == idtype6;
5542 }
5543 }
5544 if (!var4) {
5545 fprintf(stderr, "Runtime error: %s", "Assert failed");
5546 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15248);
5547 exit(1);
5548 }
5549 var7 = NEW_parser_nodes__AAbstractClasskind(&type_parser_nodes__AAbstractClasskind);
5550 ((void (*)(val*, val*, val*))(var7->class->vft[COLOR_parser_prod__AAbstractClasskind__init_aabstractclasskind]))(var7, var_tkwabstractnode2, var_tkwclassnode3) /* init_aabstractclasskind on <var7:AAbstractClasskind>*/;
5551 CHECK_NEW_parser_nodes__AAbstractClasskind(var7);
5552 var_pclasskindnode1 = var7;
5553 var_node_list = var_pclasskindnode1;
5554 var8 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction330> */
5555 var9 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var8) /* go_to on <var_p:Parser>*/;
5556 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var9, var_node_list) /* push on <var_p:Parser>*/;
5557 RET_LABEL:;
5558 }
5559 /* method parser#ReduceAction330#action for (self: Object, Parser) */
5560 void VIRTUAL_parser__ReduceAction330__action(val* self, val* p0) {
5561 parser__ReduceAction330__action(self, p0);
5562 RET_LABEL:;
5563 }
5564 /* method parser#ReduceAction331#action for (self: ReduceAction331, Parser) */
5565 void parser__ReduceAction331__action(val* self, val* p0) {
5566 val* var_p /* var p: Parser */;
5567 val* var /* : null */;
5568 val* var_node_list /* var node_list: nullable Object */;
5569 val* var1 /* : nullable Object */;
5570 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5571 val* var_tkwinterfacenode2 /* var tkwinterfacenode2: nullable Object */;
5572 short int var2 /* : Bool */;
5573 int cltype;
5574 int idtype;
5575 val* var3 /* : AInterfaceClasskind */;
5576 val* var_pclasskindnode1 /* var pclasskindnode1: nullable AInterfaceClasskind */;
5577 long var4 /* : Int */;
5578 long var5 /* : Int */;
5579 var_p = p0;
5580 var = NULL;
5581 var_node_list = var;
5582 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5583 var_nodearraylist1 = var1;
5584 var_tkwinterfacenode2 = var_nodearraylist1;
5585 /* <var_tkwinterfacenode2:nullable Object> isa nullable TKwinterface */
5586 cltype = type_nullable_parser_nodes__TKwinterface.color;
5587 idtype = type_nullable_parser_nodes__TKwinterface.id;
5588 if(var_tkwinterfacenode2 == NULL) {
5589 var2 = 1;
5590 } else {
5591 if(cltype >= var_tkwinterfacenode2->type->table_size) {
5592 var2 = 0;
5593 } else {
5594 var2 = var_tkwinterfacenode2->type->type_table[cltype] == idtype;
5595 }
5596 }
5597 if (!var2) {
5598 fprintf(stderr, "Runtime error: %s", "Assert failed");
5599 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15264);
5600 exit(1);
5601 }
5602 var3 = NEW_parser_nodes__AInterfaceClasskind(&type_parser_nodes__AInterfaceClasskind);
5603 ((void (*)(val*, val*))(var3->class->vft[COLOR_parser_prod__AInterfaceClasskind__init_ainterfaceclasskind]))(var3, var_tkwinterfacenode2) /* init_ainterfaceclasskind on <var3:AInterfaceClasskind>*/;
5604 CHECK_NEW_parser_nodes__AInterfaceClasskind(var3);
5605 var_pclasskindnode1 = var3;
5606 var_node_list = var_pclasskindnode1;
5607 var4 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction331> */
5608 var5 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var4) /* go_to on <var_p:Parser>*/;
5609 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var5, var_node_list) /* push on <var_p:Parser>*/;
5610 RET_LABEL:;
5611 }
5612 /* method parser#ReduceAction331#action for (self: Object, Parser) */
5613 void VIRTUAL_parser__ReduceAction331__action(val* self, val* p0) {
5614 parser__ReduceAction331__action(self, p0);
5615 RET_LABEL:;
5616 }
5617 /* method parser#ReduceAction332#action for (self: ReduceAction332, Parser) */
5618 void parser__ReduceAction332__action(val* self, val* p0) {
5619 val* var_p /* var p: Parser */;
5620 val* var /* : null */;
5621 val* var_node_list /* var node_list: nullable Object */;
5622 val* var1 /* : nullable Object */;
5623 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5624 val* var_tkwenumnode2 /* var tkwenumnode2: nullable Object */;
5625 short int var2 /* : Bool */;
5626 int cltype;
5627 int idtype;
5628 val* var3 /* : AEnumClasskind */;
5629 val* var_pclasskindnode1 /* var pclasskindnode1: nullable AEnumClasskind */;
5630 long var4 /* : Int */;
5631 long var5 /* : Int */;
5632 var_p = p0;
5633 var = NULL;
5634 var_node_list = var;
5635 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5636 var_nodearraylist1 = var1;
5637 var_tkwenumnode2 = var_nodearraylist1;
5638 /* <var_tkwenumnode2:nullable Object> isa nullable TKwenum */
5639 cltype = type_nullable_parser_nodes__TKwenum.color;
5640 idtype = type_nullable_parser_nodes__TKwenum.id;
5641 if(var_tkwenumnode2 == NULL) {
5642 var2 = 1;
5643 } else {
5644 if(cltype >= var_tkwenumnode2->type->table_size) {
5645 var2 = 0;
5646 } else {
5647 var2 = var_tkwenumnode2->type->type_table[cltype] == idtype;
5648 }
5649 }
5650 if (!var2) {
5651 fprintf(stderr, "Runtime error: %s", "Assert failed");
5652 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15279);
5653 exit(1);
5654 }
5655 var3 = NEW_parser_nodes__AEnumClasskind(&type_parser_nodes__AEnumClasskind);
5656 ((void (*)(val*, val*))(var3->class->vft[COLOR_parser_prod__AEnumClasskind__init_aenumclasskind]))(var3, var_tkwenumnode2) /* init_aenumclasskind on <var3:AEnumClasskind>*/;
5657 CHECK_NEW_parser_nodes__AEnumClasskind(var3);
5658 var_pclasskindnode1 = var3;
5659 var_node_list = var_pclasskindnode1;
5660 var4 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction332> */
5661 var5 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var4) /* go_to on <var_p:Parser>*/;
5662 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var5, var_node_list) /* push on <var_p:Parser>*/;
5663 RET_LABEL:;
5664 }
5665 /* method parser#ReduceAction332#action for (self: Object, Parser) */
5666 void VIRTUAL_parser__ReduceAction332__action(val* self, val* p0) {
5667 parser__ReduceAction332__action(self, p0);
5668 RET_LABEL:;
5669 }
5670 /* method parser#ReduceAction333#action for (self: ReduceAction333, Parser) */
5671 void parser__ReduceAction333__action(val* self, val* p0) {
5672 val* var_p /* var p: Parser */;
5673 val* var /* : null */;
5674 val* var_node_list /* var node_list: nullable Object */;
5675 val* var1 /* : nullable Object */;
5676 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5677 val* var_tkwexternnode2 /* var tkwexternnode2: nullable Object */;
5678 short int var2 /* : Bool */;
5679 int cltype;
5680 int idtype;
5681 val* var3 /* : AExternClasskind */;
5682 val* var4 /* : null */;
5683 val* var_pclasskindnode1 /* var pclasskindnode1: nullable AExternClasskind */;
5684 long var5 /* : Int */;
5685 long var6 /* : Int */;
5686 var_p = p0;
5687 var = NULL;
5688 var_node_list = var;
5689 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5690 var_nodearraylist1 = var1;
5691 var_tkwexternnode2 = var_nodearraylist1;
5692 /* <var_tkwexternnode2:nullable Object> isa nullable TKwextern */
5693 cltype = type_nullable_parser_nodes__TKwextern.color;
5694 idtype = type_nullable_parser_nodes__TKwextern.id;
5695 if(var_tkwexternnode2 == NULL) {
5696 var2 = 1;
5697 } else {
5698 if(cltype >= var_tkwexternnode2->type->table_size) {
5699 var2 = 0;
5700 } else {
5701 var2 = var_tkwexternnode2->type->type_table[cltype] == idtype;
5702 }
5703 }
5704 if (!var2) {
5705 fprintf(stderr, "Runtime error: %s", "Assert failed");
5706 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15294);
5707 exit(1);
5708 }
5709 var3 = NEW_parser_nodes__AExternClasskind(&type_parser_nodes__AExternClasskind);
5710 var4 = NULL;
5711 ((void (*)(val*, val*, val*))(var3->class->vft[COLOR_parser_prod__AExternClasskind__init_aexternclasskind]))(var3, var_tkwexternnode2, var4) /* init_aexternclasskind on <var3:AExternClasskind>*/;
5712 CHECK_NEW_parser_nodes__AExternClasskind(var3);
5713 var_pclasskindnode1 = var3;
5714 var_node_list = var_pclasskindnode1;
5715 var5 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction333> */
5716 var6 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var5) /* go_to on <var_p:Parser>*/;
5717 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var6, var_node_list) /* push on <var_p:Parser>*/;
5718 RET_LABEL:;
5719 }
5720 /* method parser#ReduceAction333#action for (self: Object, Parser) */
5721 void VIRTUAL_parser__ReduceAction333__action(val* self, val* p0) {
5722 parser__ReduceAction333__action(self, p0);
5723 RET_LABEL:;
5724 }
5725 /* method parser#ReduceAction334#action for (self: ReduceAction334, Parser) */
5726 void parser__ReduceAction334__action(val* self, val* p0) {
5727 val* var_p /* var p: Parser */;
5728 val* var /* : null */;
5729 val* var_node_list /* var node_list: nullable Object */;
5730 val* var1 /* : nullable Object */;
5731 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5732 val* var2 /* : nullable Object */;
5733 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5734 val* var_tkwexternnode2 /* var tkwexternnode2: nullable Object */;
5735 short int var3 /* : Bool */;
5736 int cltype;
5737 int idtype;
5738 val* var_tkwclassnode3 /* var tkwclassnode3: nullable Object */;
5739 short int var4 /* : Bool */;
5740 int cltype5;
5741 int idtype6;
5742 val* var7 /* : AExternClasskind */;
5743 val* var_pclasskindnode1 /* var pclasskindnode1: nullable AExternClasskind */;
5744 long var8 /* : Int */;
5745 long var9 /* : Int */;
5746 var_p = p0;
5747 var = NULL;
5748 var_node_list = var;
5749 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5750 var_nodearraylist2 = var1;
5751 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5752 var_nodearraylist1 = var2;
5753 var_tkwexternnode2 = var_nodearraylist1;
5754 /* <var_tkwexternnode2:nullable Object> isa nullable TKwextern */
5755 cltype = type_nullable_parser_nodes__TKwextern.color;
5756 idtype = type_nullable_parser_nodes__TKwextern.id;
5757 if(var_tkwexternnode2 == NULL) {
5758 var3 = 1;
5759 } else {
5760 if(cltype >= var_tkwexternnode2->type->table_size) {
5761 var3 = 0;
5762 } else {
5763 var3 = var_tkwexternnode2->type->type_table[cltype] == idtype;
5764 }
5765 }
5766 if (!var3) {
5767 fprintf(stderr, "Runtime error: %s", "Assert failed");
5768 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15311);
5769 exit(1);
5770 }
5771 var_tkwclassnode3 = var_nodearraylist2;
5772 /* <var_tkwclassnode3:nullable Object> isa nullable TKwclass */
5773 cltype5 = type_nullable_parser_nodes__TKwclass.color;
5774 idtype6 = type_nullable_parser_nodes__TKwclass.id;
5775 if(var_tkwclassnode3 == NULL) {
5776 var4 = 1;
5777 } else {
5778 if(cltype5 >= var_tkwclassnode3->type->table_size) {
5779 var4 = 0;
5780 } else {
5781 var4 = var_tkwclassnode3->type->type_table[cltype5] == idtype6;
5782 }
5783 }
5784 if (!var4) {
5785 fprintf(stderr, "Runtime error: %s", "Assert failed");
5786 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15313);
5787 exit(1);
5788 }
5789 var7 = NEW_parser_nodes__AExternClasskind(&type_parser_nodes__AExternClasskind);
5790 ((void (*)(val*, val*, val*))(var7->class->vft[COLOR_parser_prod__AExternClasskind__init_aexternclasskind]))(var7, var_tkwexternnode2, var_tkwclassnode3) /* init_aexternclasskind on <var7:AExternClasskind>*/;
5791 CHECK_NEW_parser_nodes__AExternClasskind(var7);
5792 var_pclasskindnode1 = var7;
5793 var_node_list = var_pclasskindnode1;
5794 var8 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction334> */
5795 var9 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var8) /* go_to on <var_p:Parser>*/;
5796 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var9, var_node_list) /* push on <var_p:Parser>*/;
5797 RET_LABEL:;
5798 }
5799 /* method parser#ReduceAction334#action for (self: Object, Parser) */
5800 void VIRTUAL_parser__ReduceAction334__action(val* self, val* p0) {
5801 parser__ReduceAction334__action(self, p0);
5802 RET_LABEL:;
5803 }
5804 /* method parser#ReduceAction335#action for (self: ReduceAction335, Parser) */
5805 void parser__ReduceAction335__action(val* self, val* p0) {
5806 val* var_p /* var p: Parser */;
5807 val* var /* : null */;
5808 val* var_node_list /* var node_list: nullable Object */;
5809 val* var1 /* : nullable Object */;
5810 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5811 val* var2 /* : nullable Object */;
5812 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5813 val* var3 /* : nullable Object */;
5814 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5815 val* var4 /* : nullable Object */;
5816 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5817 val* var5 /* : nullable Object */;
5818 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5819 val* var6 /* : Array[Object] */;
5820 val* var_listnode2 /* var listnode2: Array[Object] */;
5821 val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */;
5822 val* var7 /* : null */;
5823 short int var8 /* : Bool */;
5824 long var9 /* : Int */;
5825 long var10 /* : Int */;
5826 var_p = p0;
5827 var = NULL;
5828 var_node_list = var;
5829 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5830 var_nodearraylist5 = var1;
5831 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5832 var_nodearraylist4 = var2;
5833 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5834 var_nodearraylist3 = var3;
5835 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5836 var_nodearraylist2 = var4;
5837 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5838 var_nodearraylist1 = var5;
5839 var6 = NEW_array__Array(&type_array__Arraykernel__Object);
5840 ((void (*)(val*))(var6->class->vft[COLOR_array__Array__init]))(var6) /* init on <var6:Array[Object]>*/;
5841 CHECK_NEW_array__Array(var6);
5842 var_listnode2 = var6;
5843 var_pformaldefnode1 = var_nodearraylist3;
5844 var7 = NULL;
5845 if (var_pformaldefnode1 == NULL) {
5846 var8 = 0; /* is null */
5847 } else {
5848 var8 = 1; /* arg is null and recv is not */
5849 }
5850 if (var8){
5851 ((void (*)(val*, val*))(var_listnode2->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_listnode2, var_pformaldefnode1) /* add on <var_listnode2:Array[Object]>*/;
5852 } else {
5853 }
5854 var_node_list = var_listnode2;
5855 var9 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction335> */
5856 var10 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var9) /* go_to on <var_p:Parser>*/;
5857 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var10, var_node_list) /* push on <var_p:Parser>*/;
5858 RET_LABEL:;
5859 }
5860 /* method parser#ReduceAction335#action for (self: Object, Parser) */
5861 void VIRTUAL_parser__ReduceAction335__action(val* self, val* p0) {
5862 parser__ReduceAction335__action(self, p0);
5863 RET_LABEL:;
5864 }
5865 /* method parser#ReduceAction336#action for (self: ReduceAction336, Parser) */
5866 void parser__ReduceAction336__action(val* self, val* p0) {
5867 val* var_p /* var p: Parser */;
5868 val* var /* : null */;
5869 val* var_node_list /* var node_list: nullable Object */;
5870 val* var1 /* : nullable Object */;
5871 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5872 val* var2 /* : nullable Object */;
5873 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5874 val* var3 /* : nullable Object */;
5875 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5876 val* var4 /* : nullable Object */;
5877 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5878 val* var5 /* : nullable Object */;
5879 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5880 val* var6 /* : nullable Object */;
5881 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5882 val* var7 /* : Array[Object] */;
5883 val* var_listnode3 /* var listnode3: Array[Object] */;
5884 val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */;
5885 val* var_listnode2 /* var listnode2: nullable Object */;
5886 short int var8 /* : Bool */;
5887 int cltype;
5888 int idtype;
5889 val* var9 /* : null */;
5890 short int var10 /* : Bool */;
5891 val* var11 /* : Array[Object] */;
5892 long var12 /* : Int */;
5893 long var13 /* : Int */;
5894 var_p = p0;
5895 var = NULL;
5896 var_node_list = var;
5897 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5898 var_nodearraylist6 = var1;
5899 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5900 var_nodearraylist5 = var2;
5901 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5902 var_nodearraylist4 = var3;
5903 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5904 var_nodearraylist3 = var4;
5905 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5906 var_nodearraylist2 = var5;
5907 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5908 var_nodearraylist1 = var6;
5909 var7 = NEW_array__Array(&type_array__Arraykernel__Object);
5910 ((void (*)(val*))(var7->class->vft[COLOR_array__Array__init]))(var7) /* init on <var7:Array[Object]>*/;
5911 CHECK_NEW_array__Array(var7);
5912 var_listnode3 = var7;
5913 var_pformaldefnode1 = var_nodearraylist3;
5914 var_listnode2 = var_nodearraylist4;
5915 /* <var_listnode2:nullable Object> isa Array[Object] */
5916 cltype = type_array__Arraykernel__Object.color;
5917 idtype = type_array__Arraykernel__Object.id;
5918 if(var_listnode2 == NULL) {
5919 var8 = 0;
5920 } else {
5921 if(cltype >= var_listnode2->type->table_size) {
5922 var8 = 0;
5923 } else {
5924 var8 = var_listnode2->type->type_table[cltype] == idtype;
5925 }
5926 }
5927 if (!var8) {
5928 fprintf(stderr, "Runtime error: %s", "Assert failed");
5929 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15355);
5930 exit(1);
5931 }
5932 var9 = NULL;
5933 if (var_pformaldefnode1 == NULL) {
5934 var10 = 0; /* is null */
5935 } else {
5936 var10 = 1; /* arg is null and recv is not */
5937 }
5938 if (var10){
5939 ((void (*)(val*, val*))(var_listnode3->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_listnode3, var_pformaldefnode1) /* add on <var_listnode3:Array[Object]>*/;
5940 } else {
5941 }
5942 var11 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode3, var_listnode2) /* concat on <self:ReduceAction336>*/;
5943 var_listnode3 = var11;
5944 var_node_list = var_listnode3;
5945 var12 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction336> */
5946 var13 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var12) /* go_to on <var_p:Parser>*/;
5947 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var13, var_node_list) /* push on <var_p:Parser>*/;
5948 RET_LABEL:;
5949 }
5950 /* method parser#ReduceAction336#action for (self: Object, Parser) */
5951 void VIRTUAL_parser__ReduceAction336__action(val* self, val* p0) {
5952 parser__ReduceAction336__action(self, p0);
5953 RET_LABEL:;
5954 }
5955 /* method parser#ReduceAction337#action for (self: ReduceAction337, Parser) */
5956 void parser__ReduceAction337__action(val* self, val* p0) {
5957 val* var_p /* var p: Parser */;
5958 val* var /* : null */;
5959 val* var_node_list /* var node_list: nullable Object */;
5960 val* var1 /* : nullable Object */;
5961 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5962 val* var2 /* : nullable Object */;
5963 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5964 val* var3 /* : nullable Object */;
5965 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5966 val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */;
5967 long var4 /* : Int */;
5968 long var5 /* : Int */;
5969 var_p = p0;
5970 var = NULL;
5971 var_node_list = var;
5972 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5973 var_nodearraylist3 = var1;
5974 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5975 var_nodearraylist2 = var2;
5976 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5977 var_nodearraylist1 = var3;
5978 var_pformaldefnode1 = var_nodearraylist3;
5979 var_node_list = var_pformaldefnode1;
5980 var4 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction337> */
5981 var5 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var4) /* go_to on <var_p:Parser>*/;
5982 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var5, var_node_list) /* push on <var_p:Parser>*/;
5983 RET_LABEL:;
5984 }
5985 /* method parser#ReduceAction337#action for (self: Object, Parser) */
5986 void VIRTUAL_parser__ReduceAction337__action(val* self, val* p0) {
5987 parser__ReduceAction337__action(self, p0);
5988 RET_LABEL:;
5989 }
5990 /* method parser#ReduceAction338#action for (self: ReduceAction338, Parser) */
5991 void parser__ReduceAction338__action(val* self, val* p0) {
5992 val* var_p /* var p: Parser */;
5993 val* var /* : null */;
5994 val* var_node_list /* var node_list: nullable Object */;
5995 val* var1 /* : nullable Object */;
5996 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5997 val* var_tclassidnode2 /* var tclassidnode2: nullable Object */;
5998 short int var2 /* : Bool */;
5999 int cltype;
6000 int idtype;
6001 val* var3 /* : AFormaldef */;
6002 val* var4 /* : null */;
6003 val* var5 /* : null */;
6004 val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */;
6005 long var6 /* : Int */;
6006 long var7 /* : Int */;
6007 var_p = p0;
6008 var = NULL;
6009 var_node_list = var;
6010 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6011 var_nodearraylist1 = var1;
6012 var_tclassidnode2 = var_nodearraylist1;
6013 /* <var_tclassidnode2:nullable Object> isa nullable TClassid */
6014 cltype = type_nullable_parser_nodes__TClassid.color;
6015 idtype = type_nullable_parser_nodes__TClassid.id;
6016 if(var_tclassidnode2 == NULL) {
6017 var2 = 1;
6018 } else {
6019 if(cltype >= var_tclassidnode2->type->table_size) {
6020 var2 = 0;
6021 } else {
6022 var2 = var_tclassidnode2->type->type_table[cltype] == idtype;
6023 }
6024 }
6025 if (!var2) {
6026 fprintf(stderr, "Runtime error: %s", "Assert failed");
6027 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15384);
6028 exit(1);
6029 }
6030 var3 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef);
6031 var4 = NULL;
6032 var5 = NULL;
6033 ((void (*)(val*, val*, val*, val*))(var3->class->vft[COLOR_parser_prod__AFormaldef__init_aformaldef]))(var3, var_tclassidnode2, var4, var5) /* init_aformaldef on <var3:AFormaldef>*/;
6034 CHECK_NEW_parser_nodes__AFormaldef(var3);
6035 var_pformaldefnode1 = var3;
6036 var_node_list = var_pformaldefnode1;
6037 var6 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction338> */
6038 var7 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var6) /* go_to on <var_p:Parser>*/;
6039 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var7, var_node_list) /* push on <var_p:Parser>*/;
6040 RET_LABEL:;
6041 }
6042 /* method parser#ReduceAction338#action for (self: Object, Parser) */
6043 void VIRTUAL_parser__ReduceAction338__action(val* self, val* p0) {
6044 parser__ReduceAction338__action(self, p0);
6045 RET_LABEL:;
6046 }
6047 /* method parser#ReduceAction339#action for (self: ReduceAction339, Parser) */
6048 void parser__ReduceAction339__action(val* self, val* p0) {
6049 val* var_p /* var p: Parser */;
6050 val* var /* : null */;
6051 val* var_node_list /* var node_list: nullable Object */;
6052 val* var1 /* : nullable Object */;
6053 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6054 val* var2 /* : nullable Object */;
6055 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6056 val* var_tclassidnode2 /* var tclassidnode2: nullable Object */;
6057 short int var3 /* : Bool */;
6058 int cltype;
6059 int idtype;
6060 val* var_pannotationsnode4 /* var pannotationsnode4: nullable Object */;
6061 short int var4 /* : Bool */;
6062 int cltype5;
6063 int idtype6;
6064 val* var7 /* : AFormaldef */;
6065 val* var8 /* : null */;
6066 val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */;
6067 long var9 /* : Int */;
6068 long var10 /* : Int */;
6069 var_p = p0;
6070 var = NULL;
6071 var_node_list = var;
6072 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6073 var_nodearraylist2 = var1;
6074 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6075 var_nodearraylist1 = var2;
6076 var_tclassidnode2 = var_nodearraylist1;
6077 /* <var_tclassidnode2:nullable Object> isa nullable TClassid */
6078 cltype = type_nullable_parser_nodes__TClassid.color;
6079 idtype = type_nullable_parser_nodes__TClassid.id;
6080 if(var_tclassidnode2 == NULL) {
6081 var3 = 1;
6082 } else {
6083 if(cltype >= var_tclassidnode2->type->table_size) {
6084 var3 = 0;
6085 } else {
6086 var3 = var_tclassidnode2->type->type_table[cltype] == idtype;
6087 }
6088 }
6089 if (!var3) {
6090 fprintf(stderr, "Runtime error: %s", "Assert failed");
6091 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15402);
6092 exit(1);
6093 }
6094 var_pannotationsnode4 = var_nodearraylist2;
6095 /* <var_pannotationsnode4:nullable Object> isa nullable AAnnotations */
6096 cltype5 = type_nullable_parser_nodes__AAnnotations.color;
6097 idtype6 = type_nullable_parser_nodes__AAnnotations.id;
6098 if(var_pannotationsnode4 == NULL) {
6099 var4 = 1;
6100 } else {
6101 if(cltype5 >= var_pannotationsnode4->type->table_size) {
6102 var4 = 0;
6103 } else {
6104 var4 = var_pannotationsnode4->type->type_table[cltype5] == idtype6;
6105 }
6106 }
6107 if (!var4) {
6108 fprintf(stderr, "Runtime error: %s", "Assert failed");
6109 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15404);
6110 exit(1);
6111 }
6112 var7 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef);
6113 var8 = NULL;
6114 ((void (*)(val*, val*, val*, val*))(var7->class->vft[COLOR_parser_prod__AFormaldef__init_aformaldef]))(var7, var_tclassidnode2, var8, var_pannotationsnode4) /* init_aformaldef on <var7:AFormaldef>*/;
6115 CHECK_NEW_parser_nodes__AFormaldef(var7);
6116 var_pformaldefnode1 = var7;
6117 var_node_list = var_pformaldefnode1;
6118 var9 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction339> */
6119 var10 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var9) /* go_to on <var_p:Parser>*/;
6120 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var10, var_node_list) /* push on <var_p:Parser>*/;
6121 RET_LABEL:;
6122 }
6123 /* method parser#ReduceAction339#action for (self: Object, Parser) */
6124 void VIRTUAL_parser__ReduceAction339__action(val* self, val* p0) {
6125 parser__ReduceAction339__action(self, p0);
6126 RET_LABEL:;
6127 }
6128 /* method parser#ReduceAction340#action for (self: ReduceAction340, Parser) */
6129 void parser__ReduceAction340__action(val* self, val* p0) {
6130 val* var_p /* var p: Parser */;
6131 val* var /* : null */;
6132 val* var_node_list /* var node_list: nullable Object */;
6133 val* var1 /* : nullable Object */;
6134 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6135 val* var2 /* : nullable Object */;
6136 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6137 val* var_tclassidnode2 /* var tclassidnode2: nullable Object */;
6138 short int var3 /* : Bool */;
6139 int cltype;
6140 int idtype;
6141 val* var_ptypenode3 /* var ptypenode3: nullable Object */;
6142 short int var4 /* : Bool */;
6143 int cltype5;
6144 int idtype6;
6145 val* var7 /* : AFormaldef */;
6146 val* var8 /* : null */;
6147 val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */;
6148 long var9 /* : Int */;
6149 long var10 /* : Int */;
6150 var_p = p0;
6151 var = NULL;
6152 var_node_list = var;
6153 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6154 var_nodearraylist2 = var1;
6155 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6156 var_nodearraylist1 = var2;
6157 var_tclassidnode2 = var_nodearraylist1;
6158 /* <var_tclassidnode2:nullable Object> isa nullable TClassid */
6159 cltype = type_nullable_parser_nodes__TClassid.color;
6160 idtype = type_nullable_parser_nodes__TClassid.id;
6161 if(var_tclassidnode2 == NULL) {
6162 var3 = 1;
6163 } else {
6164 if(cltype >= var_tclassidnode2->type->table_size) {
6165 var3 = 0;
6166 } else {
6167 var3 = var_tclassidnode2->type->type_table[cltype] == idtype;
6168 }
6169 }
6170 if (!var3) {
6171 fprintf(stderr, "Runtime error: %s", "Assert failed");
6172 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15422);
6173 exit(1);
6174 }
6175 var_ptypenode3 = var_nodearraylist2;
6176 /* <var_ptypenode3:nullable Object> isa nullable AType */
6177 cltype5 = type_nullable_parser_nodes__AType.color;
6178 idtype6 = type_nullable_parser_nodes__AType.id;
6179 if(var_ptypenode3 == NULL) {
6180 var4 = 1;
6181 } else {
6182 if(cltype5 >= var_ptypenode3->type->table_size) {
6183 var4 = 0;
6184 } else {
6185 var4 = var_ptypenode3->type->type_table[cltype5] == idtype6;
6186 }
6187 }
6188 if (!var4) {
6189 fprintf(stderr, "Runtime error: %s", "Assert failed");
6190 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15424);
6191 exit(1);
6192 }
6193 var7 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef);
6194 var8 = NULL;
6195 ((void (*)(val*, val*, val*, val*))(var7->class->vft[COLOR_parser_prod__AFormaldef__init_aformaldef]))(var7, var_tclassidnode2, var_ptypenode3, var8) /* init_aformaldef on <var7:AFormaldef>*/;
6196 CHECK_NEW_parser_nodes__AFormaldef(var7);
6197 var_pformaldefnode1 = var7;
6198 var_node_list = var_pformaldefnode1;
6199 var9 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction340> */
6200 var10 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var9) /* go_to on <var_p:Parser>*/;
6201 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var10, var_node_list) /* push on <var_p:Parser>*/;
6202 RET_LABEL:;
6203 }
6204 /* method parser#ReduceAction340#action for (self: Object, Parser) */
6205 void VIRTUAL_parser__ReduceAction340__action(val* self, val* p0) {
6206 parser__ReduceAction340__action(self, p0);
6207 RET_LABEL:;
6208 }
6209 /* method parser#ReduceAction341#action for (self: ReduceAction341, Parser) */
6210 void parser__ReduceAction341__action(val* self, val* p0) {
6211 val* var_p /* var p: Parser */;
6212 val* var /* : null */;
6213 val* var_node_list /* var node_list: nullable Object */;
6214 val* var1 /* : nullable Object */;
6215 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6216 val* var2 /* : nullable Object */;
6217 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6218 val* var3 /* : nullable Object */;
6219 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6220 val* var_tclassidnode2 /* var tclassidnode2: nullable Object */;
6221 short int var4 /* : Bool */;
6222 int cltype;
6223 int idtype;
6224 val* var_ptypenode3 /* var ptypenode3: nullable Object */;
6225 short int var5 /* : Bool */;
6226 int cltype6;
6227 int idtype7;
6228 val* var_pannotationsnode4 /* var pannotationsnode4: nullable Object */;
6229 short int var8 /* : Bool */;
6230 int cltype9;
6231 int idtype10;
6232 val* var11 /* : AFormaldef */;
6233 val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */;
6234 long var12 /* : Int */;
6235 long var13 /* : Int */;
6236 var_p = p0;
6237 var = NULL;
6238 var_node_list = var;
6239 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6240 var_nodearraylist3 = var1;
6241 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6242 var_nodearraylist2 = var2;
6243 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6244 var_nodearraylist1 = var3;
6245 var_tclassidnode2 = var_nodearraylist1;
6246 /* <var_tclassidnode2:nullable Object> isa nullable TClassid */
6247 cltype = type_nullable_parser_nodes__TClassid.color;
6248 idtype = type_nullable_parser_nodes__TClassid.id;
6249 if(var_tclassidnode2 == NULL) {
6250 var4 = 1;
6251 } else {
6252 if(cltype >= var_tclassidnode2->type->table_size) {
6253 var4 = 0;
6254 } else {
6255 var4 = var_tclassidnode2->type->type_table[cltype] == idtype;
6256 }
6257 }
6258 if (!var4) {
6259 fprintf(stderr, "Runtime error: %s", "Assert failed");
6260 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15443);
6261 exit(1);
6262 }
6263 var_ptypenode3 = var_nodearraylist3;
6264 /* <var_ptypenode3:nullable Object> isa nullable AType */
6265 cltype6 = type_nullable_parser_nodes__AType.color;
6266 idtype7 = type_nullable_parser_nodes__AType.id;
6267 if(var_ptypenode3 == NULL) {
6268 var5 = 1;
6269 } else {
6270 if(cltype6 >= var_ptypenode3->type->table_size) {
6271 var5 = 0;
6272 } else {
6273 var5 = var_ptypenode3->type->type_table[cltype6] == idtype7;
6274 }
6275 }
6276 if (!var5) {
6277 fprintf(stderr, "Runtime error: %s", "Assert failed");
6278 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15445);
6279 exit(1);
6280 }
6281 var_pannotationsnode4 = var_nodearraylist2;
6282 /* <var_pannotationsnode4:nullable Object> isa nullable AAnnotations */
6283 cltype9 = type_nullable_parser_nodes__AAnnotations.color;
6284 idtype10 = type_nullable_parser_nodes__AAnnotations.id;
6285 if(var_pannotationsnode4 == NULL) {
6286 var8 = 1;
6287 } else {
6288 if(cltype9 >= var_pannotationsnode4->type->table_size) {
6289 var8 = 0;
6290 } else {
6291 var8 = var_pannotationsnode4->type->type_table[cltype9] == idtype10;
6292 }
6293 }
6294 if (!var8) {
6295 fprintf(stderr, "Runtime error: %s", "Assert failed");
6296 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15447);
6297 exit(1);
6298 }
6299 var11 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef);
6300 ((void (*)(val*, val*, val*, val*))(var11->class->vft[COLOR_parser_prod__AFormaldef__init_aformaldef]))(var11, var_tclassidnode2, var_ptypenode3, var_pannotationsnode4) /* init_aformaldef on <var11:AFormaldef>*/;
6301 CHECK_NEW_parser_nodes__AFormaldef(var11);
6302 var_pformaldefnode1 = var11;
6303 var_node_list = var_pformaldefnode1;
6304 var12 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction341> */
6305 var13 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var12) /* go_to on <var_p:Parser>*/;
6306 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var13, var_node_list) /* push on <var_p:Parser>*/;
6307 RET_LABEL:;
6308 }
6309 /* method parser#ReduceAction341#action for (self: Object, Parser) */
6310 void VIRTUAL_parser__ReduceAction341__action(val* self, val* p0) {
6311 parser__ReduceAction341__action(self, p0);
6312 RET_LABEL:;
6313 }
6314 /* method parser#ReduceAction342#action for (self: ReduceAction342, Parser) */
6315 void parser__ReduceAction342__action(val* self, val* p0) {
6316 val* var_p /* var p: Parser */;
6317 val* var /* : null */;
6318 val* var_node_list /* var node_list: nullable Object */;
6319 val* var1 /* : nullable Object */;
6320 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6321 val* var2 /* : nullable Object */;
6322 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6323 val* var3 /* : nullable Object */;
6324 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6325 val* var4 /* : nullable Object */;
6326 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6327 val* var_tkwsupernode2 /* var tkwsupernode2: nullable Object */;
6328 short int var5 /* : Bool */;
6329 int cltype;
6330 int idtype;
6331 val* var_ptypenode3 /* var ptypenode3: nullable Object */;
6332 short int var6 /* : Bool */;
6333 int cltype7;
6334 int idtype8;
6335 val* var9 /* : ASuperclass */;
6336 val* var10 /* : null */;
6337 val* var_psuperclassnode1 /* var psuperclassnode1: nullable ASuperclass */;
6338 long var11 /* : Int */;
6339 long var12 /* : Int */;
6340 var_p = p0;
6341 var = NULL;
6342 var_node_list = var;
6343 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6344 var_nodearraylist4 = var1;
6345 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6346 var_nodearraylist3 = var2;
6347 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6348 var_nodearraylist2 = var3;
6349 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6350 var_nodearraylist1 = var4;
6351 var_tkwsupernode2 = var_nodearraylist2;
6352 /* <var_tkwsupernode2:nullable Object> isa nullable TKwsuper */
6353 cltype = type_nullable_parser_nodes__TKwsuper.color;
6354 idtype = type_nullable_parser_nodes__TKwsuper.id;
6355 if(var_tkwsupernode2 == NULL) {
6356 var5 = 1;
6357 } else {
6358 if(cltype >= var_tkwsupernode2->type->table_size) {
6359 var5 = 0;
6360 } else {
6361 var5 = var_tkwsupernode2->type->type_table[cltype] == idtype;
6362 }
6363 }
6364 if (!var5) {
6365 fprintf(stderr, "Runtime error: %s", "Assert failed");
6366 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15467);
6367 exit(1);
6368 }
6369 var_ptypenode3 = var_nodearraylist4;
6370 /* <var_ptypenode3:nullable Object> isa nullable AType */
6371 cltype7 = type_nullable_parser_nodes__AType.color;
6372 idtype8 = type_nullable_parser_nodes__AType.id;
6373 if(var_ptypenode3 == NULL) {
6374 var6 = 1;
6375 } else {
6376 if(cltype7 >= var_ptypenode3->type->table_size) {
6377 var6 = 0;
6378 } else {
6379 var6 = var_ptypenode3->type->type_table[cltype7] == idtype8;
6380 }
6381 }
6382 if (!var6) {
6383 fprintf(stderr, "Runtime error: %s", "Assert failed");
6384 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15469);
6385 exit(1);
6386 }
6387 var9 = NEW_parser_nodes__ASuperclass(&type_parser_nodes__ASuperclass);
6388 var10 = NULL;
6389 ((void (*)(val*, val*, val*, val*))(var9->class->vft[COLOR_parser_prod__ASuperclass__init_asuperclass]))(var9, var_tkwsupernode2, var_ptypenode3, var10) /* init_asuperclass on <var9:ASuperclass>*/;
6390 CHECK_NEW_parser_nodes__ASuperclass(var9);
6391 var_psuperclassnode1 = var9;
6392 var_node_list = var_psuperclassnode1;
6393 var11 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction342> */
6394 var12 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var11) /* go_to on <var_p:Parser>*/;
6395 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var12, var_node_list) /* push on <var_p:Parser>*/;
6396 RET_LABEL:;
6397 }
6398 /* method parser#ReduceAction342#action for (self: Object, Parser) */
6399 void VIRTUAL_parser__ReduceAction342__action(val* self, val* p0) {
6400 parser__ReduceAction342__action(self, p0);
6401 RET_LABEL:;
6402 }
6403 /* method parser#ReduceAction343#action for (self: ReduceAction343, Parser) */
6404 void parser__ReduceAction343__action(val* self, val* p0) {
6405 val* var_p /* var p: Parser */;
6406 val* var /* : null */;
6407 val* var_node_list /* var node_list: nullable Object */;
6408 val* var1 /* : nullable Object */;
6409 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6410 val* var2 /* : nullable Object */;
6411 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6412 val* var3 /* : nullable Object */;
6413 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6414 val* var4 /* : nullable Object */;
6415 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6416 val* var5 /* : nullable Object */;
6417 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6418 val* var_tkwsupernode2 /* var tkwsupernode2: nullable Object */;
6419 short int var6 /* : Bool */;
6420 int cltype;
6421 int idtype;
6422 val* var_ptypenode3 /* var ptypenode3: nullable Object */;
6423 short int var7 /* : Bool */;
6424 int cltype8;
6425 int idtype9;
6426 val* var_pannotationsnode4 /* var pannotationsnode4: nullable Object */;
6427 short int var10 /* : Bool */;
6428 int cltype11;
6429 int idtype12;
6430 val* var13 /* : ASuperclass */;
6431 val* var_psuperclassnode1 /* var psuperclassnode1: nullable ASuperclass */;
6432 long var14 /* : Int */;
6433 long var15 /* : Int */;
6434 var_p = p0;
6435 var = NULL;
6436 var_node_list = var;
6437 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6438 var_nodearraylist5 = var1;
6439 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6440 var_nodearraylist4 = var2;
6441 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6442 var_nodearraylist3 = var3;
6443 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6444 var_nodearraylist2 = var4;
6445 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6446 var_nodearraylist1 = var5;
6447 var_tkwsupernode2 = var_nodearraylist2;
6448 /* <var_tkwsupernode2:nullable Object> isa nullable TKwsuper */
6449 cltype = type_nullable_parser_nodes__TKwsuper.color;
6450 idtype = type_nullable_parser_nodes__TKwsuper.id;
6451 if(var_tkwsupernode2 == NULL) {
6452 var6 = 1;
6453 } else {
6454 if(cltype >= var_tkwsupernode2->type->table_size) {
6455 var6 = 0;
6456 } else {
6457 var6 = var_tkwsupernode2->type->type_table[cltype] == idtype;
6458 }
6459 }
6460 if (!var6) {
6461 fprintf(stderr, "Runtime error: %s", "Assert failed");
6462 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15490);
6463 exit(1);
6464 }
6465 var_ptypenode3 = var_nodearraylist4;
6466 /* <var_ptypenode3:nullable Object> isa nullable AType */
6467 cltype8 = type_nullable_parser_nodes__AType.color;
6468 idtype9 = type_nullable_parser_nodes__AType.id;
6469 if(var_ptypenode3 == NULL) {
6470 var7 = 1;
6471 } else {
6472 if(cltype8 >= var_ptypenode3->type->table_size) {
6473 var7 = 0;
6474 } else {
6475 var7 = var_ptypenode3->type->type_table[cltype8] == idtype9;
6476 }
6477 }
6478 if (!var7) {
6479 fprintf(stderr, "Runtime error: %s", "Assert failed");
6480 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15492);
6481 exit(1);
6482 }
6483 var_pannotationsnode4 = var_nodearraylist5;
6484 /* <var_pannotationsnode4:nullable Object> isa nullable AAnnotations */
6485 cltype11 = type_nullable_parser_nodes__AAnnotations.color;
6486 idtype12 = type_nullable_parser_nodes__AAnnotations.id;
6487 if(var_pannotationsnode4 == NULL) {
6488 var10 = 1;
6489 } else {
6490 if(cltype11 >= var_pannotationsnode4->type->table_size) {
6491 var10 = 0;
6492 } else {
6493 var10 = var_pannotationsnode4->type->type_table[cltype11] == idtype12;
6494 }
6495 }
6496 if (!var10) {
6497 fprintf(stderr, "Runtime error: %s", "Assert failed");
6498 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15494);
6499 exit(1);
6500 }
6501 var13 = NEW_parser_nodes__ASuperclass(&type_parser_nodes__ASuperclass);
6502 ((void (*)(val*, val*, val*, val*))(var13->class->vft[COLOR_parser_prod__ASuperclass__init_asuperclass]))(var13, var_tkwsupernode2, var_ptypenode3, var_pannotationsnode4) /* init_asuperclass on <var13:ASuperclass>*/;
6503 CHECK_NEW_parser_nodes__ASuperclass(var13);
6504 var_psuperclassnode1 = var13;
6505 var_node_list = var_psuperclassnode1;
6506 var14 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction343> */
6507 var15 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var14) /* go_to on <var_p:Parser>*/;
6508 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var15, var_node_list) /* push on <var_p:Parser>*/;
6509 RET_LABEL:;
6510 }
6511 /* method parser#ReduceAction343#action for (self: Object, Parser) */
6512 void VIRTUAL_parser__ReduceAction343__action(val* self, val* p0) {
6513 parser__ReduceAction343__action(self, p0);
6514 RET_LABEL:;
6515 }
6516 /* method parser#ReduceAction344#action for (self: ReduceAction344, Parser) */
6517 void parser__ReduceAction344__action(val* self, val* p0) {
6518 val* var_p /* var p: Parser */;
6519 val* var /* : null */;
6520 val* var_node_list /* var node_list: nullable Object */;
6521 val* var1 /* : nullable Object */;
6522 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6523 val* var2 /* : nullable Object */;
6524 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6525 val* var_ppropdefnode1 /* var ppropdefnode1: nullable Object */;
6526 long var3 /* : Int */;
6527 long var4 /* : Int */;
6528 var_p = p0;
6529 var = NULL;
6530 var_node_list = var;
6531 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6532 var_nodearraylist2 = var1;
6533 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6534 var_nodearraylist1 = var2;
6535 var_ppropdefnode1 = var_nodearraylist1;
6536 var_node_list = var_ppropdefnode1;
6537 var3 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction344> */
6538 var4 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var3) /* go_to on <var_p:Parser>*/;
6539 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var4, var_node_list) /* push on <var_p:Parser>*/;
6540 RET_LABEL:;
6541 }
6542 /* method parser#ReduceAction344#action for (self: Object, Parser) */
6543 void VIRTUAL_parser__ReduceAction344__action(val* self, val* p0) {
6544 parser__ReduceAction344__action(self, p0);
6545 RET_LABEL:;
6546 }
6547 /* method parser#ReduceAction345#action for (self: ReduceAction345, Parser) */
6548 void parser__ReduceAction345__action(val* self, val* p0) {
6549 val* var_p /* var p: Parser */;
6550 val* var /* : null */;
6551 val* var_node_list /* var node_list: nullable Object */;
6552 val* var1 /* : nullable Object */;
6553 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6554 val* var2 /* : nullable Object */;
6555 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6556 val* var3 /* : nullable Object */;
6557 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6558 val* var4 /* : nullable Object */;
6559 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6560 val* var5 /* : nullable Object */;
6561 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6562 val* var6 /* : nullable Object */;
6563 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6564 val* var7 /* : nullable Object */;
6565 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6566 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6567 short int var8 /* : Bool */;
6568 int cltype;
6569 int idtype;
6570 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6571 short int var9 /* : Bool */;
6572 int cltype10;
6573 int idtype11;
6574 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
6575 short int var12 /* : Bool */;
6576 int cltype13;
6577 int idtype14;
6578 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
6579 short int var15 /* : Bool */;
6580 int cltype16;
6581 int idtype17;
6582 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6583 short int var18 /* : Bool */;
6584 int cltype19;
6585 int idtype20;
6586 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
6587 short int var21 /* : Bool */;
6588 int cltype22;
6589 int idtype23;
6590 val* var24 /* : AConcreteMethPropdef */;
6591 val* var25 /* : null */;
6592 val* var26 /* : null */;
6593 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
6594 long var27 /* : Int */;
6595 long var28 /* : Int */;
6596 var_p = p0;
6597 var = NULL;
6598 var_node_list = var;
6599 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6600 var_nodearraylist7 = var1;
6601 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6602 var_nodearraylist6 = var2;
6603 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6604 var_nodearraylist5 = var3;
6605 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6606 var_nodearraylist4 = var4;
6607 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6608 var_nodearraylist3 = var5;
6609 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6610 var_nodearraylist2 = var6;
6611 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6612 var_nodearraylist1 = var7;
6613 var_pdocnode2 = var_nodearraylist1;
6614 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6615 cltype = type_nullable_parser_nodes__ADoc.color;
6616 idtype = type_nullable_parser_nodes__ADoc.id;
6617 if(var_pdocnode2 == NULL) {
6618 var8 = 1;
6619 } else {
6620 if(cltype >= var_pdocnode2->type->table_size) {
6621 var8 = 0;
6622 } else {
6623 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
6624 }
6625 }
6626 if (!var8) {
6627 fprintf(stderr, "Runtime error: %s", "Assert failed");
6628 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15529);
6629 exit(1);
6630 }
6631 var_pvisibilitynode4 = var_nodearraylist2;
6632 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6633 cltype10 = type_nullable_parser_nodes__AVisibility.color;
6634 idtype11 = type_nullable_parser_nodes__AVisibility.id;
6635 if(var_pvisibilitynode4 == NULL) {
6636 var9 = 1;
6637 } else {
6638 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
6639 var9 = 0;
6640 } else {
6641 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
6642 }
6643 }
6644 if (!var9) {
6645 fprintf(stderr, "Runtime error: %s", "Assert failed");
6646 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15531);
6647 exit(1);
6648 }
6649 var_tkwmethnode5 = var_nodearraylist3;
6650 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
6651 cltype13 = type_nullable_parser_nodes__TKwmeth.color;
6652 idtype14 = type_nullable_parser_nodes__TKwmeth.id;
6653 if(var_tkwmethnode5 == NULL) {
6654 var12 = 1;
6655 } else {
6656 if(cltype13 >= var_tkwmethnode5->type->table_size) {
6657 var12 = 0;
6658 } else {
6659 var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14;
6660 }
6661 }
6662 if (!var12) {
6663 fprintf(stderr, "Runtime error: %s", "Assert failed");
6664 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15533);
6665 exit(1);
6666 }
6667 var_pmethidnode6 = var_nodearraylist4;
6668 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
6669 cltype16 = type_nullable_parser_nodes__AMethid.color;
6670 idtype17 = type_nullable_parser_nodes__AMethid.id;
6671 if(var_pmethidnode6 == NULL) {
6672 var15 = 1;
6673 } else {
6674 if(cltype16 >= var_pmethidnode6->type->table_size) {
6675 var15 = 0;
6676 } else {
6677 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
6678 }
6679 }
6680 if (!var15) {
6681 fprintf(stderr, "Runtime error: %s", "Assert failed");
6682 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15535);
6683 exit(1);
6684 }
6685 var_psignaturenode7 = var_nodearraylist5;
6686 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6687 cltype19 = type_nullable_parser_nodes__ASignature.color;
6688 idtype20 = type_nullable_parser_nodes__ASignature.id;
6689 if(var_psignaturenode7 == NULL) {
6690 var18 = 1;
6691 } else {
6692 if(cltype19 >= var_psignaturenode7->type->table_size) {
6693 var18 = 0;
6694 } else {
6695 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
6696 }
6697 }
6698 if (!var18) {
6699 fprintf(stderr, "Runtime error: %s", "Assert failed");
6700 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15537);
6701 exit(1);
6702 }
6703 var_pexprnode9 = var_nodearraylist7;
6704 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
6705 cltype22 = type_nullable_parser_nodes__AExpr.color;
6706 idtype23 = type_nullable_parser_nodes__AExpr.id;
6707 if(var_pexprnode9 == NULL) {
6708 var21 = 1;
6709 } else {
6710 if(cltype22 >= var_pexprnode9->type->table_size) {
6711 var21 = 0;
6712 } else {
6713 var21 = var_pexprnode9->type->type_table[cltype22] == idtype23;
6714 }
6715 }
6716 if (!var21) {
6717 fprintf(stderr, "Runtime error: %s", "Assert failed");
6718 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15539);
6719 exit(1);
6720 }
6721 var24 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
6722 var25 = NULL;
6723 var26 = NULL;
6724 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var24->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var24, var_pdocnode2, var25, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var26, var_pexprnode9) /* init_aconcretemethpropdef on <var24:AConcreteMethPropdef>*/;
6725 CHECK_NEW_parser_nodes__AConcreteMethPropdef(var24);
6726 var_ppropdefnode1 = var24;
6727 var_node_list = var_ppropdefnode1;
6728 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction345> */
6729 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
6730 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
6731 RET_LABEL:;
6732 }
6733 /* method parser#ReduceAction345#action for (self: Object, Parser) */
6734 void VIRTUAL_parser__ReduceAction345__action(val* self, val* p0) {
6735 parser__ReduceAction345__action(self, p0);
6736 RET_LABEL:;
6737 }
6738 /* method parser#ReduceAction346#action for (self: ReduceAction346, Parser) */
6739 void parser__ReduceAction346__action(val* self, val* p0) {
6740 val* var_p /* var p: Parser */;
6741 val* var /* : null */;
6742 val* var_node_list /* var node_list: nullable Object */;
6743 val* var1 /* : nullable Object */;
6744 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6745 val* var2 /* : nullable Object */;
6746 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6747 val* var3 /* : nullable Object */;
6748 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6749 val* var4 /* : nullable Object */;
6750 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6751 val* var5 /* : nullable Object */;
6752 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6753 val* var6 /* : nullable Object */;
6754 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6755 val* var7 /* : nullable Object */;
6756 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6757 val* var8 /* : nullable Object */;
6758 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6759 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6760 short int var9 /* : Bool */;
6761 int cltype;
6762 int idtype;
6763 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6764 short int var10 /* : Bool */;
6765 int cltype11;
6766 int idtype12;
6767 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6768 short int var13 /* : Bool */;
6769 int cltype14;
6770 int idtype15;
6771 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
6772 short int var16 /* : Bool */;
6773 int cltype17;
6774 int idtype18;
6775 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
6776 short int var19 /* : Bool */;
6777 int cltype20;
6778 int idtype21;
6779 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6780 short int var22 /* : Bool */;
6781 int cltype23;
6782 int idtype24;
6783 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
6784 short int var25 /* : Bool */;
6785 int cltype26;
6786 int idtype27;
6787 val* var28 /* : AConcreteMethPropdef */;
6788 val* var29 /* : null */;
6789 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
6790 long var30 /* : Int */;
6791 long var31 /* : Int */;
6792 var_p = p0;
6793 var = NULL;
6794 var_node_list = var;
6795 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6796 var_nodearraylist8 = var1;
6797 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6798 var_nodearraylist7 = var2;
6799 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6800 var_nodearraylist6 = var3;
6801 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6802 var_nodearraylist5 = var4;
6803 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6804 var_nodearraylist4 = var5;
6805 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6806 var_nodearraylist3 = var6;
6807 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6808 var_nodearraylist2 = var7;
6809 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6810 var_nodearraylist1 = var8;
6811 var_pdocnode2 = var_nodearraylist1;
6812 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6813 cltype = type_nullable_parser_nodes__ADoc.color;
6814 idtype = type_nullable_parser_nodes__ADoc.id;
6815 if(var_pdocnode2 == NULL) {
6816 var9 = 1;
6817 } else {
6818 if(cltype >= var_pdocnode2->type->table_size) {
6819 var9 = 0;
6820 } else {
6821 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
6822 }
6823 }
6824 if (!var9) {
6825 fprintf(stderr, "Runtime error: %s", "Assert failed");
6826 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15568);
6827 exit(1);
6828 }
6829 var_tkwredefnode3 = var_nodearraylist2;
6830 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6831 cltype11 = type_nullable_parser_nodes__TKwredef.color;
6832 idtype12 = type_nullable_parser_nodes__TKwredef.id;
6833 if(var_tkwredefnode3 == NULL) {
6834 var10 = 1;
6835 } else {
6836 if(cltype11 >= var_tkwredefnode3->type->table_size) {
6837 var10 = 0;
6838 } else {
6839 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
6840 }
6841 }
6842 if (!var10) {
6843 fprintf(stderr, "Runtime error: %s", "Assert failed");
6844 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15570);
6845 exit(1);
6846 }
6847 var_pvisibilitynode4 = var_nodearraylist3;
6848 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6849 cltype14 = type_nullable_parser_nodes__AVisibility.color;
6850 idtype15 = type_nullable_parser_nodes__AVisibility.id;
6851 if(var_pvisibilitynode4 == NULL) {
6852 var13 = 1;
6853 } else {
6854 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
6855 var13 = 0;
6856 } else {
6857 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
6858 }
6859 }
6860 if (!var13) {
6861 fprintf(stderr, "Runtime error: %s", "Assert failed");
6862 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15572);
6863 exit(1);
6864 }
6865 var_tkwmethnode5 = var_nodearraylist4;
6866 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
6867 cltype17 = type_nullable_parser_nodes__TKwmeth.color;
6868 idtype18 = type_nullable_parser_nodes__TKwmeth.id;
6869 if(var_tkwmethnode5 == NULL) {
6870 var16 = 1;
6871 } else {
6872 if(cltype17 >= var_tkwmethnode5->type->table_size) {
6873 var16 = 0;
6874 } else {
6875 var16 = var_tkwmethnode5->type->type_table[cltype17] == idtype18;
6876 }
6877 }
6878 if (!var16) {
6879 fprintf(stderr, "Runtime error: %s", "Assert failed");
6880 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15574);
6881 exit(1);
6882 }
6883 var_pmethidnode6 = var_nodearraylist5;
6884 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
6885 cltype20 = type_nullable_parser_nodes__AMethid.color;
6886 idtype21 = type_nullable_parser_nodes__AMethid.id;
6887 if(var_pmethidnode6 == NULL) {
6888 var19 = 1;
6889 } else {
6890 if(cltype20 >= var_pmethidnode6->type->table_size) {
6891 var19 = 0;
6892 } else {
6893 var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
6894 }
6895 }
6896 if (!var19) {
6897 fprintf(stderr, "Runtime error: %s", "Assert failed");
6898 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15576);
6899 exit(1);
6900 }
6901 var_psignaturenode7 = var_nodearraylist6;
6902 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6903 cltype23 = type_nullable_parser_nodes__ASignature.color;
6904 idtype24 = type_nullable_parser_nodes__ASignature.id;
6905 if(var_psignaturenode7 == NULL) {
6906 var22 = 1;
6907 } else {
6908 if(cltype23 >= var_psignaturenode7->type->table_size) {
6909 var22 = 0;
6910 } else {
6911 var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
6912 }
6913 }
6914 if (!var22) {
6915 fprintf(stderr, "Runtime error: %s", "Assert failed");
6916 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15578);
6917 exit(1);
6918 }
6919 var_pexprnode9 = var_nodearraylist8;
6920 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
6921 cltype26 = type_nullable_parser_nodes__AExpr.color;
6922 idtype27 = type_nullable_parser_nodes__AExpr.id;
6923 if(var_pexprnode9 == NULL) {
6924 var25 = 1;
6925 } else {
6926 if(cltype26 >= var_pexprnode9->type->table_size) {
6927 var25 = 0;
6928 } else {
6929 var25 = var_pexprnode9->type->type_table[cltype26] == idtype27;
6930 }
6931 }
6932 if (!var25) {
6933 fprintf(stderr, "Runtime error: %s", "Assert failed");
6934 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15580);
6935 exit(1);
6936 }
6937 var28 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
6938 var29 = NULL;
6939 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var28, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var29, var_pexprnode9) /* init_aconcretemethpropdef on <var28:AConcreteMethPropdef>*/;
6940 CHECK_NEW_parser_nodes__AConcreteMethPropdef(var28);
6941 var_ppropdefnode1 = var28;
6942 var_node_list = var_ppropdefnode1;
6943 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction346> */
6944 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
6945 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
6946 RET_LABEL:;
6947 }
6948 /* method parser#ReduceAction346#action for (self: Object, Parser) */
6949 void VIRTUAL_parser__ReduceAction346__action(val* self, val* p0) {
6950 parser__ReduceAction346__action(self, p0);
6951 RET_LABEL:;
6952 }
6953 /* method parser#ReduceAction347#action for (self: ReduceAction347, Parser) */
6954 void parser__ReduceAction347__action(val* self, val* p0) {
6955 val* var_p /* var p: Parser */;
6956 val* var /* : null */;
6957 val* var_node_list /* var node_list: nullable Object */;
6958 val* var1 /* : nullable Object */;
6959 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6960 val* var2 /* : nullable Object */;
6961 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6962 val* var3 /* : nullable Object */;
6963 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6964 val* var4 /* : nullable Object */;
6965 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6966 val* var5 /* : nullable Object */;
6967 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6968 val* var6 /* : nullable Object */;
6969 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6970 val* var7 /* : nullable Object */;
6971 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6972 val* var8 /* : nullable Object */;
6973 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6974 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6975 short int var9 /* : Bool */;
6976 int cltype;
6977 int idtype;
6978 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6979 short int var10 /* : Bool */;
6980 int cltype11;
6981 int idtype12;
6982 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
6983 short int var13 /* : Bool */;
6984 int cltype14;
6985 int idtype15;
6986 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
6987 short int var16 /* : Bool */;
6988 int cltype17;
6989 int idtype18;
6990 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6991 short int var19 /* : Bool */;
6992 int cltype20;
6993 int idtype21;
6994 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
6995 short int var22 /* : Bool */;
6996 int cltype23;
6997 int idtype24;
6998 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
6999 short int var25 /* : Bool */;
7000 int cltype26;
7001 int idtype27;
7002 val* var28 /* : AConcreteMethPropdef */;
7003 val* var29 /* : null */;
7004 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
7005 long var30 /* : Int */;
7006 long var31 /* : Int */;
7007 var_p = p0;
7008 var = NULL;
7009 var_node_list = var;
7010 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7011 var_nodearraylist8 = var1;
7012 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7013 var_nodearraylist7 = var2;
7014 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7015 var_nodearraylist6 = var3;
7016 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7017 var_nodearraylist5 = var4;
7018 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7019 var_nodearraylist4 = var5;
7020 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7021 var_nodearraylist3 = var6;
7022 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7023 var_nodearraylist2 = var7;
7024 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7025 var_nodearraylist1 = var8;
7026 var_pdocnode2 = var_nodearraylist1;
7027 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7028 cltype = type_nullable_parser_nodes__ADoc.color;
7029 idtype = type_nullable_parser_nodes__ADoc.id;
7030 if(var_pdocnode2 == NULL) {
7031 var9 = 1;
7032 } else {
7033 if(cltype >= var_pdocnode2->type->table_size) {
7034 var9 = 0;
7035 } else {
7036 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
7037 }
7038 }
7039 if (!var9) {
7040 fprintf(stderr, "Runtime error: %s", "Assert failed");
7041 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15609);
7042 exit(1);
7043 }
7044 var_pvisibilitynode4 = var_nodearraylist2;
7045 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7046 cltype11 = type_nullable_parser_nodes__AVisibility.color;
7047 idtype12 = type_nullable_parser_nodes__AVisibility.id;
7048 if(var_pvisibilitynode4 == NULL) {
7049 var10 = 1;
7050 } else {
7051 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
7052 var10 = 0;
7053 } else {
7054 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
7055 }
7056 }
7057 if (!var10) {
7058 fprintf(stderr, "Runtime error: %s", "Assert failed");
7059 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15611);
7060 exit(1);
7061 }
7062 var_tkwmethnode5 = var_nodearraylist3;
7063 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
7064 cltype14 = type_nullable_parser_nodes__TKwmeth.color;
7065 idtype15 = type_nullable_parser_nodes__TKwmeth.id;
7066 if(var_tkwmethnode5 == NULL) {
7067 var13 = 1;
7068 } else {
7069 if(cltype14 >= var_tkwmethnode5->type->table_size) {
7070 var13 = 0;
7071 } else {
7072 var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15;
7073 }
7074 }
7075 if (!var13) {
7076 fprintf(stderr, "Runtime error: %s", "Assert failed");
7077 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15613);
7078 exit(1);
7079 }
7080 var_pmethidnode6 = var_nodearraylist4;
7081 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7082 cltype17 = type_nullable_parser_nodes__AMethid.color;
7083 idtype18 = type_nullable_parser_nodes__AMethid.id;
7084 if(var_pmethidnode6 == NULL) {
7085 var16 = 1;
7086 } else {
7087 if(cltype17 >= var_pmethidnode6->type->table_size) {
7088 var16 = 0;
7089 } else {
7090 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
7091 }
7092 }
7093 if (!var16) {
7094 fprintf(stderr, "Runtime error: %s", "Assert failed");
7095 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15615);
7096 exit(1);
7097 }
7098 var_psignaturenode7 = var_nodearraylist5;
7099 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7100 cltype20 = type_nullable_parser_nodes__ASignature.color;
7101 idtype21 = type_nullable_parser_nodes__ASignature.id;
7102 if(var_psignaturenode7 == NULL) {
7103 var19 = 1;
7104 } else {
7105 if(cltype20 >= var_psignaturenode7->type->table_size) {
7106 var19 = 0;
7107 } else {
7108 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
7109 }
7110 }
7111 if (!var19) {
7112 fprintf(stderr, "Runtime error: %s", "Assert failed");
7113 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15617);
7114 exit(1);
7115 }
7116 var_pannotationsnode8 = var_nodearraylist6;
7117 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
7118 cltype23 = type_nullable_parser_nodes__AAnnotations.color;
7119 idtype24 = type_nullable_parser_nodes__AAnnotations.id;
7120 if(var_pannotationsnode8 == NULL) {
7121 var22 = 1;
7122 } else {
7123 if(cltype23 >= var_pannotationsnode8->type->table_size) {
7124 var22 = 0;
7125 } else {
7126 var22 = var_pannotationsnode8->type->type_table[cltype23] == idtype24;
7127 }
7128 }
7129 if (!var22) {
7130 fprintf(stderr, "Runtime error: %s", "Assert failed");
7131 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15619);
7132 exit(1);
7133 }
7134 var_pexprnode9 = var_nodearraylist8;
7135 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
7136 cltype26 = type_nullable_parser_nodes__AExpr.color;
7137 idtype27 = type_nullable_parser_nodes__AExpr.id;
7138 if(var_pexprnode9 == NULL) {
7139 var25 = 1;
7140 } else {
7141 if(cltype26 >= var_pexprnode9->type->table_size) {
7142 var25 = 0;
7143 } else {
7144 var25 = var_pexprnode9->type->type_table[cltype26] == idtype27;
7145 }
7146 }
7147 if (!var25) {
7148 fprintf(stderr, "Runtime error: %s", "Assert failed");
7149 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15621);
7150 exit(1);
7151 }
7152 var28 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
7153 var29 = NULL;
7154 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var28, var_pdocnode2, var29, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcretemethpropdef on <var28:AConcreteMethPropdef>*/;
7155 CHECK_NEW_parser_nodes__AConcreteMethPropdef(var28);
7156 var_ppropdefnode1 = var28;
7157 var_node_list = var_ppropdefnode1;
7158 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction347> */
7159 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
7160 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
7161 RET_LABEL:;
7162 }
7163 /* method parser#ReduceAction347#action for (self: Object, Parser) */
7164 void VIRTUAL_parser__ReduceAction347__action(val* self, val* p0) {
7165 parser__ReduceAction347__action(self, p0);
7166 RET_LABEL:;
7167 }
7168 /* method parser#ReduceAction348#action for (self: ReduceAction348, Parser) */
7169 void parser__ReduceAction348__action(val* self, val* p0) {
7170 val* var_p /* var p: Parser */;
7171 val* var /* : null */;
7172 val* var_node_list /* var node_list: nullable Object */;
7173 val* var1 /* : nullable Object */;
7174 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7175 val* var2 /* : nullable Object */;
7176 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7177 val* var3 /* : nullable Object */;
7178 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7179 val* var4 /* : nullable Object */;
7180 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7181 val* var5 /* : nullable Object */;
7182 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7183 val* var6 /* : nullable Object */;
7184 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7185 val* var7 /* : nullable Object */;
7186 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7187 val* var8 /* : nullable Object */;
7188 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7189 val* var9 /* : nullable Object */;
7190 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7191 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7192 short int var10 /* : Bool */;
7193 int cltype;
7194 int idtype;
7195 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7196 short int var11 /* : Bool */;
7197 int cltype12;
7198 int idtype13;
7199 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7200 short int var14 /* : Bool */;
7201 int cltype15;
7202 int idtype16;
7203 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
7204 short int var17 /* : Bool */;
7205 int cltype18;
7206 int idtype19;
7207 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7208 short int var20 /* : Bool */;
7209 int cltype21;
7210 int idtype22;
7211 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7212 short int var23 /* : Bool */;
7213 int cltype24;
7214 int idtype25;
7215 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
7216 short int var26 /* : Bool */;
7217 int cltype27;
7218 int idtype28;
7219 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
7220 short int var29 /* : Bool */;
7221 int cltype30;
7222 int idtype31;
7223 val* var32 /* : AConcreteMethPropdef */;
7224 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
7225 long var33 /* : Int */;
7226 long var34 /* : Int */;
7227 var_p = p0;
7228 var = NULL;
7229 var_node_list = var;
7230 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7231 var_nodearraylist9 = var1;
7232 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7233 var_nodearraylist8 = var2;
7234 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7235 var_nodearraylist7 = var3;
7236 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7237 var_nodearraylist6 = var4;
7238 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7239 var_nodearraylist5 = var5;
7240 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7241 var_nodearraylist4 = var6;
7242 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7243 var_nodearraylist3 = var7;
7244 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7245 var_nodearraylist2 = var8;
7246 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7247 var_nodearraylist1 = var9;
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 var10 = 1;
7254 } else {
7255 if(cltype >= var_pdocnode2->type->table_size) {
7256 var10 = 0;
7257 } else {
7258 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
7259 }
7260 }
7261 if (!var10) {
7262 fprintf(stderr, "Runtime error: %s", "Assert failed");
7263 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15651);
7264 exit(1);
7265 }
7266 var_tkwredefnode3 = var_nodearraylist2;
7267 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7268 cltype12 = type_nullable_parser_nodes__TKwredef.color;
7269 idtype13 = type_nullable_parser_nodes__TKwredef.id;
7270 if(var_tkwredefnode3 == NULL) {
7271 var11 = 1;
7272 } else {
7273 if(cltype12 >= var_tkwredefnode3->type->table_size) {
7274 var11 = 0;
7275 } else {
7276 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
7277 }
7278 }
7279 if (!var11) {
7280 fprintf(stderr, "Runtime error: %s", "Assert failed");
7281 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15653);
7282 exit(1);
7283 }
7284 var_pvisibilitynode4 = var_nodearraylist3;
7285 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7286 cltype15 = type_nullable_parser_nodes__AVisibility.color;
7287 idtype16 = type_nullable_parser_nodes__AVisibility.id;
7288 if(var_pvisibilitynode4 == NULL) {
7289 var14 = 1;
7290 } else {
7291 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
7292 var14 = 0;
7293 } else {
7294 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
7295 }
7296 }
7297 if (!var14) {
7298 fprintf(stderr, "Runtime error: %s", "Assert failed");
7299 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15655);
7300 exit(1);
7301 }
7302 var_tkwmethnode5 = var_nodearraylist4;
7303 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
7304 cltype18 = type_nullable_parser_nodes__TKwmeth.color;
7305 idtype19 = type_nullable_parser_nodes__TKwmeth.id;
7306 if(var_tkwmethnode5 == NULL) {
7307 var17 = 1;
7308 } else {
7309 if(cltype18 >= var_tkwmethnode5->type->table_size) {
7310 var17 = 0;
7311 } else {
7312 var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19;
7313 }
7314 }
7315 if (!var17) {
7316 fprintf(stderr, "Runtime error: %s", "Assert failed");
7317 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15657);
7318 exit(1);
7319 }
7320 var_pmethidnode6 = var_nodearraylist5;
7321 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7322 cltype21 = type_nullable_parser_nodes__AMethid.color;
7323 idtype22 = type_nullable_parser_nodes__AMethid.id;
7324 if(var_pmethidnode6 == NULL) {
7325 var20 = 1;
7326 } else {
7327 if(cltype21 >= var_pmethidnode6->type->table_size) {
7328 var20 = 0;
7329 } else {
7330 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
7331 }
7332 }
7333 if (!var20) {
7334 fprintf(stderr, "Runtime error: %s", "Assert failed");
7335 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15659);
7336 exit(1);
7337 }
7338 var_psignaturenode7 = var_nodearraylist6;
7339 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7340 cltype24 = type_nullable_parser_nodes__ASignature.color;
7341 idtype25 = type_nullable_parser_nodes__ASignature.id;
7342 if(var_psignaturenode7 == NULL) {
7343 var23 = 1;
7344 } else {
7345 if(cltype24 >= var_psignaturenode7->type->table_size) {
7346 var23 = 0;
7347 } else {
7348 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
7349 }
7350 }
7351 if (!var23) {
7352 fprintf(stderr, "Runtime error: %s", "Assert failed");
7353 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15661);
7354 exit(1);
7355 }
7356 var_pannotationsnode8 = var_nodearraylist7;
7357 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
7358 cltype27 = type_nullable_parser_nodes__AAnnotations.color;
7359 idtype28 = type_nullable_parser_nodes__AAnnotations.id;
7360 if(var_pannotationsnode8 == NULL) {
7361 var26 = 1;
7362 } else {
7363 if(cltype27 >= var_pannotationsnode8->type->table_size) {
7364 var26 = 0;
7365 } else {
7366 var26 = var_pannotationsnode8->type->type_table[cltype27] == idtype28;
7367 }
7368 }
7369 if (!var26) {
7370 fprintf(stderr, "Runtime error: %s", "Assert failed");
7371 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15663);
7372 exit(1);
7373 }
7374 var_pexprnode9 = var_nodearraylist9;
7375 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
7376 cltype30 = type_nullable_parser_nodes__AExpr.color;
7377 idtype31 = type_nullable_parser_nodes__AExpr.id;
7378 if(var_pexprnode9 == NULL) {
7379 var29 = 1;
7380 } else {
7381 if(cltype30 >= var_pexprnode9->type->table_size) {
7382 var29 = 0;
7383 } else {
7384 var29 = var_pexprnode9->type->type_table[cltype30] == idtype31;
7385 }
7386 }
7387 if (!var29) {
7388 fprintf(stderr, "Runtime error: %s", "Assert failed");
7389 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15665);
7390 exit(1);
7391 }
7392 var32 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
7393 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var32, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcretemethpropdef on <var32:AConcreteMethPropdef>*/;
7394 CHECK_NEW_parser_nodes__AConcreteMethPropdef(var32);
7395 var_ppropdefnode1 = var32;
7396 var_node_list = var_ppropdefnode1;
7397 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction348> */
7398 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
7399 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
7400 RET_LABEL:;
7401 }
7402 /* method parser#ReduceAction348#action for (self: Object, Parser) */
7403 void VIRTUAL_parser__ReduceAction348__action(val* self, val* p0) {
7404 parser__ReduceAction348__action(self, p0);
7405 RET_LABEL:;
7406 }
7407 /* method parser#ReduceAction349#action for (self: ReduceAction349, Parser) */
7408 void parser__ReduceAction349__action(val* self, val* p0) {
7409 val* var_p /* var p: Parser */;
7410 val* var /* : null */;
7411 val* var_node_list /* var node_list: nullable Object */;
7412 val* var1 /* : nullable Object */;
7413 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7414 val* var2 /* : nullable Object */;
7415 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7416 val* var3 /* : nullable Object */;
7417 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7418 val* var4 /* : nullable Object */;
7419 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7420 val* var5 /* : nullable Object */;
7421 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7422 val* var6 /* : nullable Object */;
7423 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7424 val* var7 /* : nullable Object */;
7425 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7426 val* var8 /* : nullable Object */;
7427 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7428 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7429 short int var9 /* : Bool */;
7430 int cltype;
7431 int idtype;
7432 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7433 short int var10 /* : Bool */;
7434 int cltype11;
7435 int idtype12;
7436 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
7437 short int var13 /* : Bool */;
7438 int cltype14;
7439 int idtype15;
7440 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7441 short int var16 /* : Bool */;
7442 int cltype17;
7443 int idtype18;
7444 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7445 short int var19 /* : Bool */;
7446 int cltype20;
7447 int idtype21;
7448 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
7449 short int var22 /* : Bool */;
7450 int cltype23;
7451 int idtype24;
7452 val* var25 /* : AConcreteMethPropdef */;
7453 val* var26 /* : null */;
7454 val* var27 /* : null */;
7455 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
7456 long var28 /* : Int */;
7457 long var29 /* : Int */;
7458 var_p = p0;
7459 var = NULL;
7460 var_node_list = var;
7461 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7462 var_nodearraylist8 = var1;
7463 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7464 var_nodearraylist7 = var2;
7465 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7466 var_nodearraylist6 = var3;
7467 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7468 var_nodearraylist5 = var4;
7469 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7470 var_nodearraylist4 = var5;
7471 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7472 var_nodearraylist3 = var6;
7473 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7474 var_nodearraylist2 = var7;
7475 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7476 var_nodearraylist1 = var8;
7477 var_pdocnode2 = var_nodearraylist1;
7478 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7479 cltype = type_nullable_parser_nodes__ADoc.color;
7480 idtype = type_nullable_parser_nodes__ADoc.id;
7481 if(var_pdocnode2 == NULL) {
7482 var9 = 1;
7483 } else {
7484 if(cltype >= var_pdocnode2->type->table_size) {
7485 var9 = 0;
7486 } else {
7487 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
7488 }
7489 }
7490 if (!var9) {
7491 fprintf(stderr, "Runtime error: %s", "Assert failed");
7492 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15694);
7493 exit(1);
7494 }
7495 var_pvisibilitynode4 = var_nodearraylist2;
7496 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7497 cltype11 = type_nullable_parser_nodes__AVisibility.color;
7498 idtype12 = type_nullable_parser_nodes__AVisibility.id;
7499 if(var_pvisibilitynode4 == NULL) {
7500 var10 = 1;
7501 } else {
7502 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
7503 var10 = 0;
7504 } else {
7505 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
7506 }
7507 }
7508 if (!var10) {
7509 fprintf(stderr, "Runtime error: %s", "Assert failed");
7510 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15696);
7511 exit(1);
7512 }
7513 var_tkwmethnode5 = var_nodearraylist3;
7514 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
7515 cltype14 = type_nullable_parser_nodes__TKwmeth.color;
7516 idtype15 = type_nullable_parser_nodes__TKwmeth.id;
7517 if(var_tkwmethnode5 == NULL) {
7518 var13 = 1;
7519 } else {
7520 if(cltype14 >= var_tkwmethnode5->type->table_size) {
7521 var13 = 0;
7522 } else {
7523 var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15;
7524 }
7525 }
7526 if (!var13) {
7527 fprintf(stderr, "Runtime error: %s", "Assert failed");
7528 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15698);
7529 exit(1);
7530 }
7531 var_pmethidnode6 = var_nodearraylist4;
7532 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7533 cltype17 = type_nullable_parser_nodes__AMethid.color;
7534 idtype18 = type_nullable_parser_nodes__AMethid.id;
7535 if(var_pmethidnode6 == NULL) {
7536 var16 = 1;
7537 } else {
7538 if(cltype17 >= var_pmethidnode6->type->table_size) {
7539 var16 = 0;
7540 } else {
7541 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
7542 }
7543 }
7544 if (!var16) {
7545 fprintf(stderr, "Runtime error: %s", "Assert failed");
7546 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15700);
7547 exit(1);
7548 }
7549 var_psignaturenode7 = var_nodearraylist5;
7550 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7551 cltype20 = type_nullable_parser_nodes__ASignature.color;
7552 idtype21 = type_nullable_parser_nodes__ASignature.id;
7553 if(var_psignaturenode7 == NULL) {
7554 var19 = 1;
7555 } else {
7556 if(cltype20 >= var_psignaturenode7->type->table_size) {
7557 var19 = 0;
7558 } else {
7559 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
7560 }
7561 }
7562 if (!var19) {
7563 fprintf(stderr, "Runtime error: %s", "Assert failed");
7564 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15702);
7565 exit(1);
7566 }
7567 var_pexprnode9 = var_nodearraylist7;
7568 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
7569 cltype23 = type_nullable_parser_nodes__AExpr.color;
7570 idtype24 = type_nullable_parser_nodes__AExpr.id;
7571 if(var_pexprnode9 == NULL) {
7572 var22 = 1;
7573 } else {
7574 if(cltype23 >= var_pexprnode9->type->table_size) {
7575 var22 = 0;
7576 } else {
7577 var22 = var_pexprnode9->type->type_table[cltype23] == idtype24;
7578 }
7579 }
7580 if (!var22) {
7581 fprintf(stderr, "Runtime error: %s", "Assert failed");
7582 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15704);
7583 exit(1);
7584 }
7585 var25 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
7586 var26 = NULL;
7587 var27 = NULL;
7588 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var27, var_pexprnode9) /* init_aconcretemethpropdef on <var25:AConcreteMethPropdef>*/;
7589 CHECK_NEW_parser_nodes__AConcreteMethPropdef(var25);
7590 var_ppropdefnode1 = var25;
7591 var_node_list = var_ppropdefnode1;
7592 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction349> */
7593 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
7594 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
7595 RET_LABEL:;
7596 }
7597 /* method parser#ReduceAction349#action for (self: Object, Parser) */
7598 void VIRTUAL_parser__ReduceAction349__action(val* self, val* p0) {
7599 parser__ReduceAction349__action(self, p0);
7600 RET_LABEL:;
7601 }
7602 /* method parser#ReduceAction350#action for (self: ReduceAction350, Parser) */
7603 void parser__ReduceAction350__action(val* self, val* p0) {
7604 val* var_p /* var p: Parser */;
7605 val* var /* : null */;
7606 val* var_node_list /* var node_list: nullable Object */;
7607 val* var1 /* : nullable Object */;
7608 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7609 val* var2 /* : nullable Object */;
7610 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7611 val* var3 /* : nullable Object */;
7612 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7613 val* var4 /* : nullable Object */;
7614 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7615 val* var5 /* : nullable Object */;
7616 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7617 val* var6 /* : nullable Object */;
7618 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7619 val* var7 /* : nullable Object */;
7620 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7621 val* var8 /* : nullable Object */;
7622 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7623 val* var9 /* : nullable Object */;
7624 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7625 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7626 short int var10 /* : Bool */;
7627 int cltype;
7628 int idtype;
7629 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7630 short int var11 /* : Bool */;
7631 int cltype12;
7632 int idtype13;
7633 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7634 short int var14 /* : Bool */;
7635 int cltype15;
7636 int idtype16;
7637 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
7638 short int var17 /* : Bool */;
7639 int cltype18;
7640 int idtype19;
7641 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7642 short int var20 /* : Bool */;
7643 int cltype21;
7644 int idtype22;
7645 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7646 short int var23 /* : Bool */;
7647 int cltype24;
7648 int idtype25;
7649 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
7650 short int var26 /* : Bool */;
7651 int cltype27;
7652 int idtype28;
7653 val* var29 /* : AConcreteMethPropdef */;
7654 val* var30 /* : null */;
7655 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
7656 long var31 /* : Int */;
7657 long var32 /* : Int */;
7658 var_p = p0;
7659 var = NULL;
7660 var_node_list = var;
7661 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7662 var_nodearraylist9 = var1;
7663 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7664 var_nodearraylist8 = var2;
7665 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7666 var_nodearraylist7 = var3;
7667 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7668 var_nodearraylist6 = var4;
7669 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7670 var_nodearraylist5 = var5;
7671 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7672 var_nodearraylist4 = var6;
7673 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7674 var_nodearraylist3 = var7;
7675 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7676 var_nodearraylist2 = var8;
7677 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7678 var_nodearraylist1 = var9;
7679 var_pdocnode2 = var_nodearraylist1;
7680 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7681 cltype = type_nullable_parser_nodes__ADoc.color;
7682 idtype = type_nullable_parser_nodes__ADoc.id;
7683 if(var_pdocnode2 == NULL) {
7684 var10 = 1;
7685 } else {
7686 if(cltype >= var_pdocnode2->type->table_size) {
7687 var10 = 0;
7688 } else {
7689 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
7690 }
7691 }
7692 if (!var10) {
7693 fprintf(stderr, "Runtime error: %s", "Assert failed");
7694 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15734);
7695 exit(1);
7696 }
7697 var_tkwredefnode3 = var_nodearraylist2;
7698 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7699 cltype12 = type_nullable_parser_nodes__TKwredef.color;
7700 idtype13 = type_nullable_parser_nodes__TKwredef.id;
7701 if(var_tkwredefnode3 == NULL) {
7702 var11 = 1;
7703 } else {
7704 if(cltype12 >= var_tkwredefnode3->type->table_size) {
7705 var11 = 0;
7706 } else {
7707 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
7708 }
7709 }
7710 if (!var11) {
7711 fprintf(stderr, "Runtime error: %s", "Assert failed");
7712 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15736);
7713 exit(1);
7714 }
7715 var_pvisibilitynode4 = var_nodearraylist3;
7716 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7717 cltype15 = type_nullable_parser_nodes__AVisibility.color;
7718 idtype16 = type_nullable_parser_nodes__AVisibility.id;
7719 if(var_pvisibilitynode4 == NULL) {
7720 var14 = 1;
7721 } else {
7722 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
7723 var14 = 0;
7724 } else {
7725 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
7726 }
7727 }
7728 if (!var14) {
7729 fprintf(stderr, "Runtime error: %s", "Assert failed");
7730 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15738);
7731 exit(1);
7732 }
7733 var_tkwmethnode5 = var_nodearraylist4;
7734 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
7735 cltype18 = type_nullable_parser_nodes__TKwmeth.color;
7736 idtype19 = type_nullable_parser_nodes__TKwmeth.id;
7737 if(var_tkwmethnode5 == NULL) {
7738 var17 = 1;
7739 } else {
7740 if(cltype18 >= var_tkwmethnode5->type->table_size) {
7741 var17 = 0;
7742 } else {
7743 var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19;
7744 }
7745 }
7746 if (!var17) {
7747 fprintf(stderr, "Runtime error: %s", "Assert failed");
7748 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15740);
7749 exit(1);
7750 }
7751 var_pmethidnode6 = var_nodearraylist5;
7752 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7753 cltype21 = type_nullable_parser_nodes__AMethid.color;
7754 idtype22 = type_nullable_parser_nodes__AMethid.id;
7755 if(var_pmethidnode6 == NULL) {
7756 var20 = 1;
7757 } else {
7758 if(cltype21 >= var_pmethidnode6->type->table_size) {
7759 var20 = 0;
7760 } else {
7761 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
7762 }
7763 }
7764 if (!var20) {
7765 fprintf(stderr, "Runtime error: %s", "Assert failed");
7766 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15742);
7767 exit(1);
7768 }
7769 var_psignaturenode7 = var_nodearraylist6;
7770 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7771 cltype24 = type_nullable_parser_nodes__ASignature.color;
7772 idtype25 = type_nullable_parser_nodes__ASignature.id;
7773 if(var_psignaturenode7 == NULL) {
7774 var23 = 1;
7775 } else {
7776 if(cltype24 >= var_psignaturenode7->type->table_size) {
7777 var23 = 0;
7778 } else {
7779 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
7780 }
7781 }
7782 if (!var23) {
7783 fprintf(stderr, "Runtime error: %s", "Assert failed");
7784 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15744);
7785 exit(1);
7786 }
7787 var_pexprnode9 = var_nodearraylist8;
7788 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
7789 cltype27 = type_nullable_parser_nodes__AExpr.color;
7790 idtype28 = type_nullable_parser_nodes__AExpr.id;
7791 if(var_pexprnode9 == NULL) {
7792 var26 = 1;
7793 } else {
7794 if(cltype27 >= var_pexprnode9->type->table_size) {
7795 var26 = 0;
7796 } else {
7797 var26 = var_pexprnode9->type->type_table[cltype27] == idtype28;
7798 }
7799 }
7800 if (!var26) {
7801 fprintf(stderr, "Runtime error: %s", "Assert failed");
7802 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15746);
7803 exit(1);
7804 }
7805 var29 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
7806 var30 = NULL;
7807 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var30, var_pexprnode9) /* init_aconcretemethpropdef on <var29:AConcreteMethPropdef>*/;
7808 CHECK_NEW_parser_nodes__AConcreteMethPropdef(var29);
7809 var_ppropdefnode1 = var29;
7810 var_node_list = var_ppropdefnode1;
7811 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction350> */
7812 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
7813 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
7814 RET_LABEL:;
7815 }
7816 /* method parser#ReduceAction350#action for (self: Object, Parser) */
7817 void VIRTUAL_parser__ReduceAction350__action(val* self, val* p0) {
7818 parser__ReduceAction350__action(self, p0);
7819 RET_LABEL:;
7820 }
7821 /* method parser#ReduceAction351#action for (self: ReduceAction351, Parser) */
7822 void parser__ReduceAction351__action(val* self, val* p0) {
7823 val* var_p /* var p: Parser */;
7824 val* var /* : null */;
7825 val* var_node_list /* var node_list: nullable Object */;
7826 val* var1 /* : nullable Object */;
7827 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7828 val* var2 /* : nullable Object */;
7829 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7830 val* var3 /* : nullable Object */;
7831 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7832 val* var4 /* : nullable Object */;
7833 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7834 val* var5 /* : nullable Object */;
7835 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7836 val* var6 /* : nullable Object */;
7837 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7838 val* var7 /* : nullable Object */;
7839 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7840 val* var8 /* : nullable Object */;
7841 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7842 val* var9 /* : nullable Object */;
7843 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7844 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7845 short int var10 /* : Bool */;
7846 int cltype;
7847 int idtype;
7848 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7849 short int var11 /* : Bool */;
7850 int cltype12;
7851 int idtype13;
7852 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
7853 short int var14 /* : Bool */;
7854 int cltype15;
7855 int idtype16;
7856 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7857 short int var17 /* : Bool */;
7858 int cltype18;
7859 int idtype19;
7860 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7861 short int var20 /* : Bool */;
7862 int cltype21;
7863 int idtype22;
7864 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
7865 short int var23 /* : Bool */;
7866 int cltype24;
7867 int idtype25;
7868 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
7869 short int var26 /* : Bool */;
7870 int cltype27;
7871 int idtype28;
7872 val* var29 /* : AConcreteMethPropdef */;
7873 val* var30 /* : null */;
7874 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
7875 long var31 /* : Int */;
7876 long var32 /* : Int */;
7877 var_p = p0;
7878 var = NULL;
7879 var_node_list = var;
7880 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7881 var_nodearraylist9 = var1;
7882 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7883 var_nodearraylist8 = var2;
7884 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7885 var_nodearraylist7 = var3;
7886 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7887 var_nodearraylist6 = var4;
7888 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7889 var_nodearraylist5 = var5;
7890 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7891 var_nodearraylist4 = var6;
7892 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7893 var_nodearraylist3 = var7;
7894 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7895 var_nodearraylist2 = var8;
7896 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7897 var_nodearraylist1 = var9;
7898 var_pdocnode2 = var_nodearraylist1;
7899 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7900 cltype = type_nullable_parser_nodes__ADoc.color;
7901 idtype = type_nullable_parser_nodes__ADoc.id;
7902 if(var_pdocnode2 == NULL) {
7903 var10 = 1;
7904 } else {
7905 if(cltype >= var_pdocnode2->type->table_size) {
7906 var10 = 0;
7907 } else {
7908 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
7909 }
7910 }
7911 if (!var10) {
7912 fprintf(stderr, "Runtime error: %s", "Assert failed");
7913 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15776);
7914 exit(1);
7915 }
7916 var_pvisibilitynode4 = var_nodearraylist2;
7917 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7918 cltype12 = type_nullable_parser_nodes__AVisibility.color;
7919 idtype13 = type_nullable_parser_nodes__AVisibility.id;
7920 if(var_pvisibilitynode4 == NULL) {
7921 var11 = 1;
7922 } else {
7923 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
7924 var11 = 0;
7925 } else {
7926 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
7927 }
7928 }
7929 if (!var11) {
7930 fprintf(stderr, "Runtime error: %s", "Assert failed");
7931 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15778);
7932 exit(1);
7933 }
7934 var_tkwmethnode5 = var_nodearraylist3;
7935 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
7936 cltype15 = type_nullable_parser_nodes__TKwmeth.color;
7937 idtype16 = type_nullable_parser_nodes__TKwmeth.id;
7938 if(var_tkwmethnode5 == NULL) {
7939 var14 = 1;
7940 } else {
7941 if(cltype15 >= var_tkwmethnode5->type->table_size) {
7942 var14 = 0;
7943 } else {
7944 var14 = var_tkwmethnode5->type->type_table[cltype15] == idtype16;
7945 }
7946 }
7947 if (!var14) {
7948 fprintf(stderr, "Runtime error: %s", "Assert failed");
7949 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15780);
7950 exit(1);
7951 }
7952 var_pmethidnode6 = var_nodearraylist4;
7953 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7954 cltype18 = type_nullable_parser_nodes__AMethid.color;
7955 idtype19 = type_nullable_parser_nodes__AMethid.id;
7956 if(var_pmethidnode6 == NULL) {
7957 var17 = 1;
7958 } else {
7959 if(cltype18 >= var_pmethidnode6->type->table_size) {
7960 var17 = 0;
7961 } else {
7962 var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
7963 }
7964 }
7965 if (!var17) {
7966 fprintf(stderr, "Runtime error: %s", "Assert failed");
7967 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15782);
7968 exit(1);
7969 }
7970 var_psignaturenode7 = var_nodearraylist5;
7971 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7972 cltype21 = type_nullable_parser_nodes__ASignature.color;
7973 idtype22 = type_nullable_parser_nodes__ASignature.id;
7974 if(var_psignaturenode7 == NULL) {
7975 var20 = 1;
7976 } else {
7977 if(cltype21 >= var_psignaturenode7->type->table_size) {
7978 var20 = 0;
7979 } else {
7980 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
7981 }
7982 }
7983 if (!var20) {
7984 fprintf(stderr, "Runtime error: %s", "Assert failed");
7985 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15784);
7986 exit(1);
7987 }
7988 var_pannotationsnode8 = var_nodearraylist6;
7989 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
7990 cltype24 = type_nullable_parser_nodes__AAnnotations.color;
7991 idtype25 = type_nullable_parser_nodes__AAnnotations.id;
7992 if(var_pannotationsnode8 == NULL) {
7993 var23 = 1;
7994 } else {
7995 if(cltype24 >= var_pannotationsnode8->type->table_size) {
7996 var23 = 0;
7997 } else {
7998 var23 = var_pannotationsnode8->type->type_table[cltype24] == idtype25;
7999 }
8000 }
8001 if (!var23) {
8002 fprintf(stderr, "Runtime error: %s", "Assert failed");
8003 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15786);
8004 exit(1);
8005 }
8006 var_pexprnode9 = var_nodearraylist8;
8007 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
8008 cltype27 = type_nullable_parser_nodes__AExpr.color;
8009 idtype28 = type_nullable_parser_nodes__AExpr.id;
8010 if(var_pexprnode9 == NULL) {
8011 var26 = 1;
8012 } else {
8013 if(cltype27 >= var_pexprnode9->type->table_size) {
8014 var26 = 0;
8015 } else {
8016 var26 = var_pexprnode9->type->type_table[cltype27] == idtype28;
8017 }
8018 }
8019 if (!var26) {
8020 fprintf(stderr, "Runtime error: %s", "Assert failed");
8021 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15788);
8022 exit(1);
8023 }
8024 var29 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
8025 var30 = NULL;
8026 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcretemethpropdef on <var29:AConcreteMethPropdef>*/;
8027 CHECK_NEW_parser_nodes__AConcreteMethPropdef(var29);
8028 var_ppropdefnode1 = var29;
8029 var_node_list = var_ppropdefnode1;
8030 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction351> */
8031 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
8032 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
8033 RET_LABEL:;
8034 }
8035 /* method parser#ReduceAction351#action for (self: Object, Parser) */
8036 void VIRTUAL_parser__ReduceAction351__action(val* self, val* p0) {
8037 parser__ReduceAction351__action(self, p0);
8038 RET_LABEL:;
8039 }
8040 /* method parser#ReduceAction352#action for (self: ReduceAction352, Parser) */
8041 void parser__ReduceAction352__action(val* self, val* p0) {
8042 val* var_p /* var p: Parser */;
8043 val* var /* : null */;
8044 val* var_node_list /* var node_list: nullable Object */;
8045 val* var1 /* : nullable Object */;
8046 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8047 val* var2 /* : nullable Object */;
8048 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8049 val* var3 /* : nullable Object */;
8050 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8051 val* var4 /* : nullable Object */;
8052 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8053 val* var5 /* : nullable Object */;
8054 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8055 val* var6 /* : nullable Object */;
8056 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8057 val* var7 /* : nullable Object */;
8058 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8059 val* var8 /* : nullable Object */;
8060 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8061 val* var9 /* : nullable Object */;
8062 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8063 val* var10 /* : nullable Object */;
8064 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8065 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8066 short int var11 /* : Bool */;
8067 int cltype;
8068 int idtype;
8069 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8070 short int var12 /* : Bool */;
8071 int cltype13;
8072 int idtype14;
8073 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8074 short int var15 /* : Bool */;
8075 int cltype16;
8076 int idtype17;
8077 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
8078 short int var18 /* : Bool */;
8079 int cltype19;
8080 int idtype20;
8081 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8082 short int var21 /* : Bool */;
8083 int cltype22;
8084 int idtype23;
8085 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8086 short int var24 /* : Bool */;
8087 int cltype25;
8088 int idtype26;
8089 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
8090 short int var27 /* : Bool */;
8091 int cltype28;
8092 int idtype29;
8093 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
8094 short int var30 /* : Bool */;
8095 int cltype31;
8096 int idtype32;
8097 val* var33 /* : AConcreteMethPropdef */;
8098 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
8099 long var34 /* : Int */;
8100 long var35 /* : Int */;
8101 var_p = p0;
8102 var = NULL;
8103 var_node_list = var;
8104 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8105 var_nodearraylist10 = var1;
8106 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8107 var_nodearraylist9 = var2;
8108 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8109 var_nodearraylist8 = var3;
8110 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8111 var_nodearraylist7 = var4;
8112 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8113 var_nodearraylist6 = var5;
8114 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8115 var_nodearraylist5 = var6;
8116 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8117 var_nodearraylist4 = var7;
8118 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8119 var_nodearraylist3 = var8;
8120 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8121 var_nodearraylist2 = var9;
8122 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8123 var_nodearraylist1 = var10;
8124 var_pdocnode2 = var_nodearraylist1;
8125 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8126 cltype = type_nullable_parser_nodes__ADoc.color;
8127 idtype = type_nullable_parser_nodes__ADoc.id;
8128 if(var_pdocnode2 == NULL) {
8129 var11 = 1;
8130 } else {
8131 if(cltype >= var_pdocnode2->type->table_size) {
8132 var11 = 0;
8133 } else {
8134 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
8135 }
8136 }
8137 if (!var11) {
8138 fprintf(stderr, "Runtime error: %s", "Assert failed");
8139 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15819);
8140 exit(1);
8141 }
8142 var_tkwredefnode3 = var_nodearraylist2;
8143 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8144 cltype13 = type_nullable_parser_nodes__TKwredef.color;
8145 idtype14 = type_nullable_parser_nodes__TKwredef.id;
8146 if(var_tkwredefnode3 == NULL) {
8147 var12 = 1;
8148 } else {
8149 if(cltype13 >= var_tkwredefnode3->type->table_size) {
8150 var12 = 0;
8151 } else {
8152 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
8153 }
8154 }
8155 if (!var12) {
8156 fprintf(stderr, "Runtime error: %s", "Assert failed");
8157 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15821);
8158 exit(1);
8159 }
8160 var_pvisibilitynode4 = var_nodearraylist3;
8161 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8162 cltype16 = type_nullable_parser_nodes__AVisibility.color;
8163 idtype17 = type_nullable_parser_nodes__AVisibility.id;
8164 if(var_pvisibilitynode4 == NULL) {
8165 var15 = 1;
8166 } else {
8167 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
8168 var15 = 0;
8169 } else {
8170 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
8171 }
8172 }
8173 if (!var15) {
8174 fprintf(stderr, "Runtime error: %s", "Assert failed");
8175 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15823);
8176 exit(1);
8177 }
8178 var_tkwmethnode5 = var_nodearraylist4;
8179 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
8180 cltype19 = type_nullable_parser_nodes__TKwmeth.color;
8181 idtype20 = type_nullable_parser_nodes__TKwmeth.id;
8182 if(var_tkwmethnode5 == NULL) {
8183 var18 = 1;
8184 } else {
8185 if(cltype19 >= var_tkwmethnode5->type->table_size) {
8186 var18 = 0;
8187 } else {
8188 var18 = var_tkwmethnode5->type->type_table[cltype19] == idtype20;
8189 }
8190 }
8191 if (!var18) {
8192 fprintf(stderr, "Runtime error: %s", "Assert failed");
8193 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15825);
8194 exit(1);
8195 }
8196 var_pmethidnode6 = var_nodearraylist5;
8197 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8198 cltype22 = type_nullable_parser_nodes__AMethid.color;
8199 idtype23 = type_nullable_parser_nodes__AMethid.id;
8200 if(var_pmethidnode6 == NULL) {
8201 var21 = 1;
8202 } else {
8203 if(cltype22 >= var_pmethidnode6->type->table_size) {
8204 var21 = 0;
8205 } else {
8206 var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
8207 }
8208 }
8209 if (!var21) {
8210 fprintf(stderr, "Runtime error: %s", "Assert failed");
8211 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15827);
8212 exit(1);
8213 }
8214 var_psignaturenode7 = var_nodearraylist6;
8215 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8216 cltype25 = type_nullable_parser_nodes__ASignature.color;
8217 idtype26 = type_nullable_parser_nodes__ASignature.id;
8218 if(var_psignaturenode7 == NULL) {
8219 var24 = 1;
8220 } else {
8221 if(cltype25 >= var_psignaturenode7->type->table_size) {
8222 var24 = 0;
8223 } else {
8224 var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
8225 }
8226 }
8227 if (!var24) {
8228 fprintf(stderr, "Runtime error: %s", "Assert failed");
8229 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15829);
8230 exit(1);
8231 }
8232 var_pannotationsnode8 = var_nodearraylist7;
8233 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
8234 cltype28 = type_nullable_parser_nodes__AAnnotations.color;
8235 idtype29 = type_nullable_parser_nodes__AAnnotations.id;
8236 if(var_pannotationsnode8 == NULL) {
8237 var27 = 1;
8238 } else {
8239 if(cltype28 >= var_pannotationsnode8->type->table_size) {
8240 var27 = 0;
8241 } else {
8242 var27 = var_pannotationsnode8->type->type_table[cltype28] == idtype29;
8243 }
8244 }
8245 if (!var27) {
8246 fprintf(stderr, "Runtime error: %s", "Assert failed");
8247 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15831);
8248 exit(1);
8249 }
8250 var_pexprnode9 = var_nodearraylist9;
8251 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
8252 cltype31 = type_nullable_parser_nodes__AExpr.color;
8253 idtype32 = type_nullable_parser_nodes__AExpr.id;
8254 if(var_pexprnode9 == NULL) {
8255 var30 = 1;
8256 } else {
8257 if(cltype31 >= var_pexprnode9->type->table_size) {
8258 var30 = 0;
8259 } else {
8260 var30 = var_pexprnode9->type->type_table[cltype31] == idtype32;
8261 }
8262 }
8263 if (!var30) {
8264 fprintf(stderr, "Runtime error: %s", "Assert failed");
8265 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15833);
8266 exit(1);
8267 }
8268 var33 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
8269 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcretemethpropdef on <var33:AConcreteMethPropdef>*/;
8270 CHECK_NEW_parser_nodes__AConcreteMethPropdef(var33);
8271 var_ppropdefnode1 = var33;
8272 var_node_list = var_ppropdefnode1;
8273 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction352> */
8274 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
8275 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
8276 RET_LABEL:;
8277 }
8278 /* method parser#ReduceAction352#action for (self: Object, Parser) */
8279 void VIRTUAL_parser__ReduceAction352__action(val* self, val* p0) {
8280 parser__ReduceAction352__action(self, p0);
8281 RET_LABEL:;
8282 }
8283 /* method parser#ReduceAction353#action for (self: ReduceAction353, Parser) */
8284 void parser__ReduceAction353__action(val* self, val* p0) {
8285 val* var_p /* var p: Parser */;
8286 val* var /* : null */;
8287 val* var_node_list /* var node_list: nullable Object */;
8288 val* var1 /* : nullable Object */;
8289 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8290 val* var2 /* : nullable Object */;
8291 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8292 val* var3 /* : nullable Object */;
8293 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8294 val* var4 /* : nullable Object */;
8295 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8296 val* var5 /* : nullable Object */;
8297 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8298 val* var6 /* : nullable Object */;
8299 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8300 val* var7 /* : nullable Object */;
8301 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8302 val* var8 /* : nullable Object */;
8303 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8304 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8305 short int var9 /* : Bool */;
8306 int cltype;
8307 int idtype;
8308 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8309 short int var10 /* : Bool */;
8310 int cltype11;
8311 int idtype12;
8312 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
8313 short int var13 /* : Bool */;
8314 int cltype14;
8315 int idtype15;
8316 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8317 short int var16 /* : Bool */;
8318 int cltype17;
8319 int idtype18;
8320 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8321 short int var19 /* : Bool */;
8322 int cltype20;
8323 int idtype21;
8324 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
8325 short int var22 /* : Bool */;
8326 int cltype23;
8327 int idtype24;
8328 val* var25 /* : AConcreteMethPropdef */;
8329 val* var26 /* : null */;
8330 val* var27 /* : null */;
8331 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
8332 long var28 /* : Int */;
8333 long var29 /* : Int */;
8334 var_p = p0;
8335 var = NULL;
8336 var_node_list = var;
8337 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8338 var_nodearraylist8 = var1;
8339 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8340 var_nodearraylist7 = var2;
8341 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8342 var_nodearraylist6 = var3;
8343 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8344 var_nodearraylist5 = var4;
8345 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8346 var_nodearraylist4 = var5;
8347 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8348 var_nodearraylist3 = var6;
8349 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8350 var_nodearraylist2 = var7;
8351 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8352 var_nodearraylist1 = var8;
8353 var_pdocnode2 = var_nodearraylist1;
8354 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8355 cltype = type_nullable_parser_nodes__ADoc.color;
8356 idtype = type_nullable_parser_nodes__ADoc.id;
8357 if(var_pdocnode2 == NULL) {
8358 var9 = 1;
8359 } else {
8360 if(cltype >= var_pdocnode2->type->table_size) {
8361 var9 = 0;
8362 } else {
8363 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
8364 }
8365 }
8366 if (!var9) {
8367 fprintf(stderr, "Runtime error: %s", "Assert failed");
8368 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15862);
8369 exit(1);
8370 }
8371 var_pvisibilitynode4 = var_nodearraylist2;
8372 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8373 cltype11 = type_nullable_parser_nodes__AVisibility.color;
8374 idtype12 = type_nullable_parser_nodes__AVisibility.id;
8375 if(var_pvisibilitynode4 == NULL) {
8376 var10 = 1;
8377 } else {
8378 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
8379 var10 = 0;
8380 } else {
8381 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
8382 }
8383 }
8384 if (!var10) {
8385 fprintf(stderr, "Runtime error: %s", "Assert failed");
8386 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15864);
8387 exit(1);
8388 }
8389 var_tkwmethnode5 = var_nodearraylist3;
8390 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
8391 cltype14 = type_nullable_parser_nodes__TKwmeth.color;
8392 idtype15 = type_nullable_parser_nodes__TKwmeth.id;
8393 if(var_tkwmethnode5 == NULL) {
8394 var13 = 1;
8395 } else {
8396 if(cltype14 >= var_tkwmethnode5->type->table_size) {
8397 var13 = 0;
8398 } else {
8399 var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15;
8400 }
8401 }
8402 if (!var13) {
8403 fprintf(stderr, "Runtime error: %s", "Assert failed");
8404 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15866);
8405 exit(1);
8406 }
8407 var_pmethidnode6 = var_nodearraylist4;
8408 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8409 cltype17 = type_nullable_parser_nodes__AMethid.color;
8410 idtype18 = type_nullable_parser_nodes__AMethid.id;
8411 if(var_pmethidnode6 == NULL) {
8412 var16 = 1;
8413 } else {
8414 if(cltype17 >= var_pmethidnode6->type->table_size) {
8415 var16 = 0;
8416 } else {
8417 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
8418 }
8419 }
8420 if (!var16) {
8421 fprintf(stderr, "Runtime error: %s", "Assert failed");
8422 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15868);
8423 exit(1);
8424 }
8425 var_psignaturenode7 = var_nodearraylist5;
8426 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8427 cltype20 = type_nullable_parser_nodes__ASignature.color;
8428 idtype21 = type_nullable_parser_nodes__ASignature.id;
8429 if(var_psignaturenode7 == NULL) {
8430 var19 = 1;
8431 } else {
8432 if(cltype20 >= var_psignaturenode7->type->table_size) {
8433 var19 = 0;
8434 } else {
8435 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
8436 }
8437 }
8438 if (!var19) {
8439 fprintf(stderr, "Runtime error: %s", "Assert failed");
8440 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15870);
8441 exit(1);
8442 }
8443 var_pexprnode9 = var_nodearraylist8;
8444 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
8445 cltype23 = type_nullable_parser_nodes__AExpr.color;
8446 idtype24 = type_nullable_parser_nodes__AExpr.id;
8447 if(var_pexprnode9 == NULL) {
8448 var22 = 1;
8449 } else {
8450 if(cltype23 >= var_pexprnode9->type->table_size) {
8451 var22 = 0;
8452 } else {
8453 var22 = var_pexprnode9->type->type_table[cltype23] == idtype24;
8454 }
8455 }
8456 if (!var22) {
8457 fprintf(stderr, "Runtime error: %s", "Assert failed");
8458 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15872);
8459 exit(1);
8460 }
8461 var25 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
8462 var26 = NULL;
8463 var27 = NULL;
8464 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var27, var_pexprnode9) /* init_aconcretemethpropdef on <var25:AConcreteMethPropdef>*/;
8465 CHECK_NEW_parser_nodes__AConcreteMethPropdef(var25);
8466 var_ppropdefnode1 = var25;
8467 var_node_list = var_ppropdefnode1;
8468 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction353> */
8469 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
8470 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
8471 RET_LABEL:;
8472 }
8473 /* method parser#ReduceAction353#action for (self: Object, Parser) */
8474 void VIRTUAL_parser__ReduceAction353__action(val* self, val* p0) {
8475 parser__ReduceAction353__action(self, p0);
8476 RET_LABEL:;
8477 }
8478 /* method parser#ReduceAction354#action for (self: ReduceAction354, Parser) */
8479 void parser__ReduceAction354__action(val* self, val* p0) {
8480 val* var_p /* var p: Parser */;
8481 val* var /* : null */;
8482 val* var_node_list /* var node_list: nullable Object */;
8483 val* var1 /* : nullable Object */;
8484 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8485 val* var2 /* : nullable Object */;
8486 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8487 val* var3 /* : nullable Object */;
8488 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8489 val* var4 /* : nullable Object */;
8490 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8491 val* var5 /* : nullable Object */;
8492 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8493 val* var6 /* : nullable Object */;
8494 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8495 val* var7 /* : nullable Object */;
8496 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8497 val* var8 /* : nullable Object */;
8498 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8499 val* var9 /* : nullable Object */;
8500 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8501 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8502 short int var10 /* : Bool */;
8503 int cltype;
8504 int idtype;
8505 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8506 short int var11 /* : Bool */;
8507 int cltype12;
8508 int idtype13;
8509 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8510 short int var14 /* : Bool */;
8511 int cltype15;
8512 int idtype16;
8513 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
8514 short int var17 /* : Bool */;
8515 int cltype18;
8516 int idtype19;
8517 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8518 short int var20 /* : Bool */;
8519 int cltype21;
8520 int idtype22;
8521 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8522 short int var23 /* : Bool */;
8523 int cltype24;
8524 int idtype25;
8525 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
8526 short int var26 /* : Bool */;
8527 int cltype27;
8528 int idtype28;
8529 val* var29 /* : AConcreteMethPropdef */;
8530 val* var30 /* : null */;
8531 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
8532 long var31 /* : Int */;
8533 long var32 /* : Int */;
8534 var_p = p0;
8535 var = NULL;
8536 var_node_list = var;
8537 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8538 var_nodearraylist9 = var1;
8539 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8540 var_nodearraylist8 = var2;
8541 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8542 var_nodearraylist7 = var3;
8543 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8544 var_nodearraylist6 = var4;
8545 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8546 var_nodearraylist5 = var5;
8547 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8548 var_nodearraylist4 = var6;
8549 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8550 var_nodearraylist3 = var7;
8551 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8552 var_nodearraylist2 = var8;
8553 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8554 var_nodearraylist1 = var9;
8555 var_pdocnode2 = var_nodearraylist1;
8556 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8557 cltype = type_nullable_parser_nodes__ADoc.color;
8558 idtype = type_nullable_parser_nodes__ADoc.id;
8559 if(var_pdocnode2 == NULL) {
8560 var10 = 1;
8561 } else {
8562 if(cltype >= var_pdocnode2->type->table_size) {
8563 var10 = 0;
8564 } else {
8565 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
8566 }
8567 }
8568 if (!var10) {
8569 fprintf(stderr, "Runtime error: %s", "Assert failed");
8570 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15902);
8571 exit(1);
8572 }
8573 var_tkwredefnode3 = var_nodearraylist2;
8574 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8575 cltype12 = type_nullable_parser_nodes__TKwredef.color;
8576 idtype13 = type_nullable_parser_nodes__TKwredef.id;
8577 if(var_tkwredefnode3 == NULL) {
8578 var11 = 1;
8579 } else {
8580 if(cltype12 >= var_tkwredefnode3->type->table_size) {
8581 var11 = 0;
8582 } else {
8583 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
8584 }
8585 }
8586 if (!var11) {
8587 fprintf(stderr, "Runtime error: %s", "Assert failed");
8588 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15904);
8589 exit(1);
8590 }
8591 var_pvisibilitynode4 = var_nodearraylist3;
8592 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8593 cltype15 = type_nullable_parser_nodes__AVisibility.color;
8594 idtype16 = type_nullable_parser_nodes__AVisibility.id;
8595 if(var_pvisibilitynode4 == NULL) {
8596 var14 = 1;
8597 } else {
8598 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
8599 var14 = 0;
8600 } else {
8601 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
8602 }
8603 }
8604 if (!var14) {
8605 fprintf(stderr, "Runtime error: %s", "Assert failed");
8606 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15906);
8607 exit(1);
8608 }
8609 var_tkwmethnode5 = var_nodearraylist4;
8610 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
8611 cltype18 = type_nullable_parser_nodes__TKwmeth.color;
8612 idtype19 = type_nullable_parser_nodes__TKwmeth.id;
8613 if(var_tkwmethnode5 == NULL) {
8614 var17 = 1;
8615 } else {
8616 if(cltype18 >= var_tkwmethnode5->type->table_size) {
8617 var17 = 0;
8618 } else {
8619 var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19;
8620 }
8621 }
8622 if (!var17) {
8623 fprintf(stderr, "Runtime error: %s", "Assert failed");
8624 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15908);
8625 exit(1);
8626 }
8627 var_pmethidnode6 = var_nodearraylist5;
8628 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8629 cltype21 = type_nullable_parser_nodes__AMethid.color;
8630 idtype22 = type_nullable_parser_nodes__AMethid.id;
8631 if(var_pmethidnode6 == NULL) {
8632 var20 = 1;
8633 } else {
8634 if(cltype21 >= var_pmethidnode6->type->table_size) {
8635 var20 = 0;
8636 } else {
8637 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
8638 }
8639 }
8640 if (!var20) {
8641 fprintf(stderr, "Runtime error: %s", "Assert failed");
8642 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15910);
8643 exit(1);
8644 }
8645 var_psignaturenode7 = var_nodearraylist6;
8646 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8647 cltype24 = type_nullable_parser_nodes__ASignature.color;
8648 idtype25 = type_nullable_parser_nodes__ASignature.id;
8649 if(var_psignaturenode7 == NULL) {
8650 var23 = 1;
8651 } else {
8652 if(cltype24 >= var_psignaturenode7->type->table_size) {
8653 var23 = 0;
8654 } else {
8655 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
8656 }
8657 }
8658 if (!var23) {
8659 fprintf(stderr, "Runtime error: %s", "Assert failed");
8660 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15912);
8661 exit(1);
8662 }
8663 var_pexprnode9 = var_nodearraylist9;
8664 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
8665 cltype27 = type_nullable_parser_nodes__AExpr.color;
8666 idtype28 = type_nullable_parser_nodes__AExpr.id;
8667 if(var_pexprnode9 == NULL) {
8668 var26 = 1;
8669 } else {
8670 if(cltype27 >= var_pexprnode9->type->table_size) {
8671 var26 = 0;
8672 } else {
8673 var26 = var_pexprnode9->type->type_table[cltype27] == idtype28;
8674 }
8675 }
8676 if (!var26) {
8677 fprintf(stderr, "Runtime error: %s", "Assert failed");
8678 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15914);
8679 exit(1);
8680 }
8681 var29 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
8682 var30 = NULL;
8683 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var30, var_pexprnode9) /* init_aconcretemethpropdef on <var29:AConcreteMethPropdef>*/;
8684 CHECK_NEW_parser_nodes__AConcreteMethPropdef(var29);
8685 var_ppropdefnode1 = var29;
8686 var_node_list = var_ppropdefnode1;
8687 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction354> */
8688 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
8689 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
8690 RET_LABEL:;
8691 }
8692 /* method parser#ReduceAction354#action for (self: Object, Parser) */
8693 void VIRTUAL_parser__ReduceAction354__action(val* self, val* p0) {
8694 parser__ReduceAction354__action(self, p0);
8695 RET_LABEL:;
8696 }
8697 /* method parser#ReduceAction355#action for (self: ReduceAction355, Parser) */
8698 void parser__ReduceAction355__action(val* self, val* p0) {
8699 val* var_p /* var p: Parser */;
8700 val* var /* : null */;
8701 val* var_node_list /* var node_list: nullable Object */;
8702 val* var1 /* : nullable Object */;
8703 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8704 val* var2 /* : nullable Object */;
8705 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8706 val* var3 /* : nullable Object */;
8707 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8708 val* var4 /* : nullable Object */;
8709 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8710 val* var5 /* : nullable Object */;
8711 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8712 val* var6 /* : nullable Object */;
8713 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8714 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8715 short int var7 /* : Bool */;
8716 int cltype;
8717 int idtype;
8718 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8719 short int var8 /* : Bool */;
8720 int cltype9;
8721 int idtype10;
8722 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
8723 short int var11 /* : Bool */;
8724 int cltype12;
8725 int idtype13;
8726 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8727 short int var14 /* : Bool */;
8728 int cltype15;
8729 int idtype16;
8730 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8731 short int var17 /* : Bool */;
8732 int cltype18;
8733 int idtype19;
8734 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
8735 short int var20 /* : Bool */;
8736 int cltype21;
8737 int idtype22;
8738 val* var23 /* : ADeferredMethPropdef */;
8739 val* var24 /* : null */;
8740 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ADeferredMethPropdef */;
8741 long var25 /* : Int */;
8742 long var26 /* : Int */;
8743 var_p = p0;
8744 var = NULL;
8745 var_node_list = var;
8746 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8747 var_nodearraylist6 = var1;
8748 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8749 var_nodearraylist5 = var2;
8750 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8751 var_nodearraylist4 = var3;
8752 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8753 var_nodearraylist3 = var4;
8754 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8755 var_nodearraylist2 = var5;
8756 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8757 var_nodearraylist1 = var6;
8758 var_pdocnode2 = var_nodearraylist1;
8759 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8760 cltype = type_nullable_parser_nodes__ADoc.color;
8761 idtype = type_nullable_parser_nodes__ADoc.id;
8762 if(var_pdocnode2 == NULL) {
8763 var7 = 1;
8764 } else {
8765 if(cltype >= var_pdocnode2->type->table_size) {
8766 var7 = 0;
8767 } else {
8768 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
8769 }
8770 }
8771 if (!var7) {
8772 fprintf(stderr, "Runtime error: %s", "Assert failed");
8773 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15941);
8774 exit(1);
8775 }
8776 var_pvisibilitynode4 = var_nodearraylist2;
8777 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8778 cltype9 = type_nullable_parser_nodes__AVisibility.color;
8779 idtype10 = type_nullable_parser_nodes__AVisibility.id;
8780 if(var_pvisibilitynode4 == NULL) {
8781 var8 = 1;
8782 } else {
8783 if(cltype9 >= var_pvisibilitynode4->type->table_size) {
8784 var8 = 0;
8785 } else {
8786 var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
8787 }
8788 }
8789 if (!var8) {
8790 fprintf(stderr, "Runtime error: %s", "Assert failed");
8791 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15943);
8792 exit(1);
8793 }
8794 var_tkwmethnode5 = var_nodearraylist3;
8795 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
8796 cltype12 = type_nullable_parser_nodes__TKwmeth.color;
8797 idtype13 = type_nullable_parser_nodes__TKwmeth.id;
8798 if(var_tkwmethnode5 == NULL) {
8799 var11 = 1;
8800 } else {
8801 if(cltype12 >= var_tkwmethnode5->type->table_size) {
8802 var11 = 0;
8803 } else {
8804 var11 = var_tkwmethnode5->type->type_table[cltype12] == idtype13;
8805 }
8806 }
8807 if (!var11) {
8808 fprintf(stderr, "Runtime error: %s", "Assert failed");
8809 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15945);
8810 exit(1);
8811 }
8812 var_pmethidnode6 = var_nodearraylist4;
8813 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8814 cltype15 = type_nullable_parser_nodes__AMethid.color;
8815 idtype16 = type_nullable_parser_nodes__AMethid.id;
8816 if(var_pmethidnode6 == NULL) {
8817 var14 = 1;
8818 } else {
8819 if(cltype15 >= var_pmethidnode6->type->table_size) {
8820 var14 = 0;
8821 } else {
8822 var14 = var_pmethidnode6->type->type_table[cltype15] == idtype16;
8823 }
8824 }
8825 if (!var14) {
8826 fprintf(stderr, "Runtime error: %s", "Assert failed");
8827 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15947);
8828 exit(1);
8829 }
8830 var_psignaturenode7 = var_nodearraylist5;
8831 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8832 cltype18 = type_nullable_parser_nodes__ASignature.color;
8833 idtype19 = type_nullable_parser_nodes__ASignature.id;
8834 if(var_psignaturenode7 == NULL) {
8835 var17 = 1;
8836 } else {
8837 if(cltype18 >= var_psignaturenode7->type->table_size) {
8838 var17 = 0;
8839 } else {
8840 var17 = var_psignaturenode7->type->type_table[cltype18] == idtype19;
8841 }
8842 }
8843 if (!var17) {
8844 fprintf(stderr, "Runtime error: %s", "Assert failed");
8845 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15949);
8846 exit(1);
8847 }
8848 var_pannotationsnode8 = var_nodearraylist6;
8849 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
8850 cltype21 = type_nullable_parser_nodes__AAnnotations.color;
8851 idtype22 = type_nullable_parser_nodes__AAnnotations.id;
8852 if(var_pannotationsnode8 == NULL) {
8853 var20 = 1;
8854 } else {
8855 if(cltype21 >= var_pannotationsnode8->type->table_size) {
8856 var20 = 0;
8857 } else {
8858 var20 = var_pannotationsnode8->type->type_table[cltype21] == idtype22;
8859 }
8860 }
8861 if (!var20) {
8862 fprintf(stderr, "Runtime error: %s", "Assert failed");
8863 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15951);
8864 exit(1);
8865 }
8866 var23 = NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef);
8867 var24 = NULL;
8868 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef]))(var23, var_pdocnode2, var24, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8) /* init_adeferredmethpropdef on <var23:ADeferredMethPropdef>*/;
8869 CHECK_NEW_parser_nodes__ADeferredMethPropdef(var23);
8870 var_ppropdefnode1 = var23;
8871 var_node_list = var_ppropdefnode1;
8872 var25 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction355> */
8873 var26 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var25) /* go_to on <var_p:Parser>*/;
8874 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var26, var_node_list) /* push on <var_p:Parser>*/;
8875 RET_LABEL:;
8876 }
8877 /* method parser#ReduceAction355#action for (self: Object, Parser) */
8878 void VIRTUAL_parser__ReduceAction355__action(val* self, val* p0) {
8879 parser__ReduceAction355__action(self, p0);
8880 RET_LABEL:;
8881 }
8882 /* method parser#ReduceAction356#action for (self: ReduceAction356, Parser) */
8883 void parser__ReduceAction356__action(val* self, val* p0) {
8884 val* var_p /* var p: Parser */;
8885 val* var /* : null */;
8886 val* var_node_list /* var node_list: nullable Object */;
8887 val* var1 /* : nullable Object */;
8888 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8889 val* var2 /* : nullable Object */;
8890 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8891 val* var3 /* : nullable Object */;
8892 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8893 val* var4 /* : nullable Object */;
8894 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8895 val* var5 /* : nullable Object */;
8896 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8897 val* var6 /* : nullable Object */;
8898 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8899 val* var7 /* : nullable Object */;
8900 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8901 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8902 short int var8 /* : Bool */;
8903 int cltype;
8904 int idtype;
8905 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8906 short int var9 /* : Bool */;
8907 int cltype10;
8908 int idtype11;
8909 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8910 short int var12 /* : Bool */;
8911 int cltype13;
8912 int idtype14;
8913 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
8914 short int var15 /* : Bool */;
8915 int cltype16;
8916 int idtype17;
8917 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8918 short int var18 /* : Bool */;
8919 int cltype19;
8920 int idtype20;
8921 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8922 short int var21 /* : Bool */;
8923 int cltype22;
8924 int idtype23;
8925 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
8926 short int var24 /* : Bool */;
8927 int cltype25;
8928 int idtype26;
8929 val* var27 /* : ADeferredMethPropdef */;
8930 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ADeferredMethPropdef */;
8931 long var28 /* : Int */;
8932 long var29 /* : Int */;
8933 var_p = p0;
8934 var = NULL;
8935 var_node_list = var;
8936 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8937 var_nodearraylist7 = var1;
8938 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8939 var_nodearraylist6 = var2;
8940 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8941 var_nodearraylist5 = var3;
8942 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8943 var_nodearraylist4 = var4;
8944 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8945 var_nodearraylist3 = var5;
8946 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8947 var_nodearraylist2 = var6;
8948 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8949 var_nodearraylist1 = var7;
8950 var_pdocnode2 = var_nodearraylist1;
8951 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8952 cltype = type_nullable_parser_nodes__ADoc.color;
8953 idtype = type_nullable_parser_nodes__ADoc.id;
8954 if(var_pdocnode2 == NULL) {
8955 var8 = 1;
8956 } else {
8957 if(cltype >= var_pdocnode2->type->table_size) {
8958 var8 = 0;
8959 } else {
8960 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
8961 }
8962 }
8963 if (!var8) {
8964 fprintf(stderr, "Runtime error: %s", "Assert failed");
8965 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15978);
8966 exit(1);
8967 }
8968 var_tkwredefnode3 = var_nodearraylist2;
8969 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8970 cltype10 = type_nullable_parser_nodes__TKwredef.color;
8971 idtype11 = type_nullable_parser_nodes__TKwredef.id;
8972 if(var_tkwredefnode3 == NULL) {
8973 var9 = 1;
8974 } else {
8975 if(cltype10 >= var_tkwredefnode3->type->table_size) {
8976 var9 = 0;
8977 } else {
8978 var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
8979 }
8980 }
8981 if (!var9) {
8982 fprintf(stderr, "Runtime error: %s", "Assert failed");
8983 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15980);
8984 exit(1);
8985 }
8986 var_pvisibilitynode4 = var_nodearraylist3;
8987 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8988 cltype13 = type_nullable_parser_nodes__AVisibility.color;
8989 idtype14 = type_nullable_parser_nodes__AVisibility.id;
8990 if(var_pvisibilitynode4 == NULL) {
8991 var12 = 1;
8992 } else {
8993 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
8994 var12 = 0;
8995 } else {
8996 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
8997 }
8998 }
8999 if (!var12) {
9000 fprintf(stderr, "Runtime error: %s", "Assert failed");
9001 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15982);
9002 exit(1);
9003 }
9004 var_tkwmethnode5 = var_nodearraylist4;
9005 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
9006 cltype16 = type_nullable_parser_nodes__TKwmeth.color;
9007 idtype17 = type_nullable_parser_nodes__TKwmeth.id;
9008 if(var_tkwmethnode5 == NULL) {
9009 var15 = 1;
9010 } else {
9011 if(cltype16 >= var_tkwmethnode5->type->table_size) {
9012 var15 = 0;
9013 } else {
9014 var15 = var_tkwmethnode5->type->type_table[cltype16] == idtype17;
9015 }
9016 }
9017 if (!var15) {
9018 fprintf(stderr, "Runtime error: %s", "Assert failed");
9019 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15984);
9020 exit(1);
9021 }
9022 var_pmethidnode6 = var_nodearraylist5;
9023 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9024 cltype19 = type_nullable_parser_nodes__AMethid.color;
9025 idtype20 = type_nullable_parser_nodes__AMethid.id;
9026 if(var_pmethidnode6 == NULL) {
9027 var18 = 1;
9028 } else {
9029 if(cltype19 >= var_pmethidnode6->type->table_size) {
9030 var18 = 0;
9031 } else {
9032 var18 = var_pmethidnode6->type->type_table[cltype19] == idtype20;
9033 }
9034 }
9035 if (!var18) {
9036 fprintf(stderr, "Runtime error: %s", "Assert failed");
9037 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15986);
9038 exit(1);
9039 }
9040 var_psignaturenode7 = var_nodearraylist6;
9041 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9042 cltype22 = type_nullable_parser_nodes__ASignature.color;
9043 idtype23 = type_nullable_parser_nodes__ASignature.id;
9044 if(var_psignaturenode7 == NULL) {
9045 var21 = 1;
9046 } else {
9047 if(cltype22 >= var_psignaturenode7->type->table_size) {
9048 var21 = 0;
9049 } else {
9050 var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23;
9051 }
9052 }
9053 if (!var21) {
9054 fprintf(stderr, "Runtime error: %s", "Assert failed");
9055 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15988);
9056 exit(1);
9057 }
9058 var_pannotationsnode8 = var_nodearraylist7;
9059 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
9060 cltype25 = type_nullable_parser_nodes__AAnnotations.color;
9061 idtype26 = type_nullable_parser_nodes__AAnnotations.id;
9062 if(var_pannotationsnode8 == NULL) {
9063 var24 = 1;
9064 } else {
9065 if(cltype25 >= var_pannotationsnode8->type->table_size) {
9066 var24 = 0;
9067 } else {
9068 var24 = var_pannotationsnode8->type->type_table[cltype25] == idtype26;
9069 }
9070 }
9071 if (!var24) {
9072 fprintf(stderr, "Runtime error: %s", "Assert failed");
9073 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15990);
9074 exit(1);
9075 }
9076 var27 = NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef);
9077 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef]))(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8) /* init_adeferredmethpropdef on <var27:ADeferredMethPropdef>*/;
9078 CHECK_NEW_parser_nodes__ADeferredMethPropdef(var27);
9079 var_ppropdefnode1 = var27;
9080 var_node_list = var_ppropdefnode1;
9081 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction356> */
9082 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
9083 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
9084 RET_LABEL:;
9085 }
9086 /* method parser#ReduceAction356#action for (self: Object, Parser) */
9087 void VIRTUAL_parser__ReduceAction356__action(val* self, val* p0) {
9088 parser__ReduceAction356__action(self, p0);
9089 RET_LABEL:;
9090 }
9091 /* method parser#ReduceAction357#action for (self: ReduceAction357, Parser) */
9092 void parser__ReduceAction357__action(val* self, val* p0) {
9093 val* var_p /* var p: Parser */;
9094 val* var /* : null */;
9095 val* var_node_list /* var node_list: nullable Object */;
9096 val* var1 /* : nullable Object */;
9097 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9098 val* var2 /* : nullable Object */;
9099 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9100 val* var3 /* : nullable Object */;
9101 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9102 val* var4 /* : nullable Object */;
9103 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9104 val* var5 /* : nullable Object */;
9105 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9106 val* var6 /* : nullable Object */;
9107 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9108 val* var7 /* : nullable Object */;
9109 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9110 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9111 short int var8 /* : Bool */;
9112 int cltype;
9113 int idtype;
9114 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9115 short int var9 /* : Bool */;
9116 int cltype10;
9117 int idtype11;
9118 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
9119 short int var12 /* : Bool */;
9120 int cltype13;
9121 int idtype14;
9122 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
9123 short int var15 /* : Bool */;
9124 int cltype16;
9125 int idtype17;
9126 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9127 short int var18 /* : Bool */;
9128 int cltype19;
9129 int idtype20;
9130 val* var21 /* : ADeferredMethPropdef */;
9131 val* var22 /* : null */;
9132 val* var23 /* : null */;
9133 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ADeferredMethPropdef */;
9134 long var24 /* : Int */;
9135 long var25 /* : Int */;
9136 var_p = p0;
9137 var = NULL;
9138 var_node_list = var;
9139 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9140 var_nodearraylist7 = var1;
9141 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9142 var_nodearraylist6 = var2;
9143 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9144 var_nodearraylist5 = var3;
9145 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9146 var_nodearraylist4 = var4;
9147 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9148 var_nodearraylist3 = var5;
9149 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9150 var_nodearraylist2 = var6;
9151 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9152 var_nodearraylist1 = var7;
9153 var_pdocnode2 = var_nodearraylist1;
9154 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9155 cltype = type_nullable_parser_nodes__ADoc.color;
9156 idtype = type_nullable_parser_nodes__ADoc.id;
9157 if(var_pdocnode2 == NULL) {
9158 var8 = 1;
9159 } else {
9160 if(cltype >= var_pdocnode2->type->table_size) {
9161 var8 = 0;
9162 } else {
9163 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
9164 }
9165 }
9166 if (!var8) {
9167 fprintf(stderr, "Runtime error: %s", "Assert failed");
9168 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16017);
9169 exit(1);
9170 }
9171 var_pvisibilitynode4 = var_nodearraylist2;
9172 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9173 cltype10 = type_nullable_parser_nodes__AVisibility.color;
9174 idtype11 = type_nullable_parser_nodes__AVisibility.id;
9175 if(var_pvisibilitynode4 == NULL) {
9176 var9 = 1;
9177 } else {
9178 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
9179 var9 = 0;
9180 } else {
9181 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
9182 }
9183 }
9184 if (!var9) {
9185 fprintf(stderr, "Runtime error: %s", "Assert failed");
9186 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16019);
9187 exit(1);
9188 }
9189 var_tkwmethnode5 = var_nodearraylist3;
9190 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
9191 cltype13 = type_nullable_parser_nodes__TKwmeth.color;
9192 idtype14 = type_nullable_parser_nodes__TKwmeth.id;
9193 if(var_tkwmethnode5 == NULL) {
9194 var12 = 1;
9195 } else {
9196 if(cltype13 >= var_tkwmethnode5->type->table_size) {
9197 var12 = 0;
9198 } else {
9199 var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14;
9200 }
9201 }
9202 if (!var12) {
9203 fprintf(stderr, "Runtime error: %s", "Assert failed");
9204 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16021);
9205 exit(1);
9206 }
9207 var_pmethidnode6 = var_nodearraylist4;
9208 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9209 cltype16 = type_nullable_parser_nodes__AMethid.color;
9210 idtype17 = type_nullable_parser_nodes__AMethid.id;
9211 if(var_pmethidnode6 == NULL) {
9212 var15 = 1;
9213 } else {
9214 if(cltype16 >= var_pmethidnode6->type->table_size) {
9215 var15 = 0;
9216 } else {
9217 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
9218 }
9219 }
9220 if (!var15) {
9221 fprintf(stderr, "Runtime error: %s", "Assert failed");
9222 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16023);
9223 exit(1);
9224 }
9225 var_psignaturenode7 = var_nodearraylist5;
9226 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9227 cltype19 = type_nullable_parser_nodes__ASignature.color;
9228 idtype20 = type_nullable_parser_nodes__ASignature.id;
9229 if(var_psignaturenode7 == NULL) {
9230 var18 = 1;
9231 } else {
9232 if(cltype19 >= var_psignaturenode7->type->table_size) {
9233 var18 = 0;
9234 } else {
9235 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
9236 }
9237 }
9238 if (!var18) {
9239 fprintf(stderr, "Runtime error: %s", "Assert failed");
9240 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16025);
9241 exit(1);
9242 }
9243 var21 = NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef);
9244 var22 = NULL;
9245 var23 = NULL;
9246 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var23) /* init_adeferredmethpropdef on <var21:ADeferredMethPropdef>*/;
9247 CHECK_NEW_parser_nodes__ADeferredMethPropdef(var21);
9248 var_ppropdefnode1 = var21;
9249 var_node_list = var_ppropdefnode1;
9250 var24 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction357> */
9251 var25 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var24) /* go_to on <var_p:Parser>*/;
9252 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var25, var_node_list) /* push on <var_p:Parser>*/;
9253 RET_LABEL:;
9254 }
9255 /* method parser#ReduceAction357#action for (self: Object, Parser) */
9256 void VIRTUAL_parser__ReduceAction357__action(val* self, val* p0) {
9257 parser__ReduceAction357__action(self, p0);
9258 RET_LABEL:;
9259 }
9260 /* method parser#ReduceAction358#action for (self: ReduceAction358, Parser) */
9261 void parser__ReduceAction358__action(val* self, val* p0) {
9262 val* var_p /* var p: Parser */;
9263 val* var /* : null */;
9264 val* var_node_list /* var node_list: nullable Object */;
9265 val* var1 /* : nullable Object */;
9266 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9267 val* var2 /* : nullable Object */;
9268 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9269 val* var3 /* : nullable Object */;
9270 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9271 val* var4 /* : nullable Object */;
9272 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9273 val* var5 /* : nullable Object */;
9274 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9275 val* var6 /* : nullable Object */;
9276 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9277 val* var7 /* : nullable Object */;
9278 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9279 val* var8 /* : nullable Object */;
9280 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9281 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9282 short int var9 /* : Bool */;
9283 int cltype;
9284 int idtype;
9285 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9286 short int var10 /* : Bool */;
9287 int cltype11;
9288 int idtype12;
9289 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9290 short int var13 /* : Bool */;
9291 int cltype14;
9292 int idtype15;
9293 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
9294 short int var16 /* : Bool */;
9295 int cltype17;
9296 int idtype18;
9297 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
9298 short int var19 /* : Bool */;
9299 int cltype20;
9300 int idtype21;
9301 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9302 short int var22 /* : Bool */;
9303 int cltype23;
9304 int idtype24;
9305 val* var25 /* : ADeferredMethPropdef */;
9306 val* var26 /* : null */;
9307 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ADeferredMethPropdef */;
9308 long var27 /* : Int */;
9309 long var28 /* : Int */;
9310 var_p = p0;
9311 var = NULL;
9312 var_node_list = var;
9313 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9314 var_nodearraylist8 = var1;
9315 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9316 var_nodearraylist7 = var2;
9317 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9318 var_nodearraylist6 = var3;
9319 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9320 var_nodearraylist5 = var4;
9321 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9322 var_nodearraylist4 = var5;
9323 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9324 var_nodearraylist3 = var6;
9325 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9326 var_nodearraylist2 = var7;
9327 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9328 var_nodearraylist1 = var8;
9329 var_pdocnode2 = var_nodearraylist1;
9330 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9331 cltype = type_nullable_parser_nodes__ADoc.color;
9332 idtype = type_nullable_parser_nodes__ADoc.id;
9333 if(var_pdocnode2 == NULL) {
9334 var9 = 1;
9335 } else {
9336 if(cltype >= var_pdocnode2->type->table_size) {
9337 var9 = 0;
9338 } else {
9339 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
9340 }
9341 }
9342 if (!var9) {
9343 fprintf(stderr, "Runtime error: %s", "Assert failed");
9344 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16053);
9345 exit(1);
9346 }
9347 var_tkwredefnode3 = var_nodearraylist2;
9348 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9349 cltype11 = type_nullable_parser_nodes__TKwredef.color;
9350 idtype12 = type_nullable_parser_nodes__TKwredef.id;
9351 if(var_tkwredefnode3 == NULL) {
9352 var10 = 1;
9353 } else {
9354 if(cltype11 >= var_tkwredefnode3->type->table_size) {
9355 var10 = 0;
9356 } else {
9357 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
9358 }
9359 }
9360 if (!var10) {
9361 fprintf(stderr, "Runtime error: %s", "Assert failed");
9362 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16055);
9363 exit(1);
9364 }
9365 var_pvisibilitynode4 = var_nodearraylist3;
9366 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9367 cltype14 = type_nullable_parser_nodes__AVisibility.color;
9368 idtype15 = type_nullable_parser_nodes__AVisibility.id;
9369 if(var_pvisibilitynode4 == NULL) {
9370 var13 = 1;
9371 } else {
9372 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
9373 var13 = 0;
9374 } else {
9375 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
9376 }
9377 }
9378 if (!var13) {
9379 fprintf(stderr, "Runtime error: %s", "Assert failed");
9380 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16057);
9381 exit(1);
9382 }
9383 var_tkwmethnode5 = var_nodearraylist4;
9384 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
9385 cltype17 = type_nullable_parser_nodes__TKwmeth.color;
9386 idtype18 = type_nullable_parser_nodes__TKwmeth.id;
9387 if(var_tkwmethnode5 == NULL) {
9388 var16 = 1;
9389 } else {
9390 if(cltype17 >= var_tkwmethnode5->type->table_size) {
9391 var16 = 0;
9392 } else {
9393 var16 = var_tkwmethnode5->type->type_table[cltype17] == idtype18;
9394 }
9395 }
9396 if (!var16) {
9397 fprintf(stderr, "Runtime error: %s", "Assert failed");
9398 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16059);
9399 exit(1);
9400 }
9401 var_pmethidnode6 = var_nodearraylist5;
9402 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9403 cltype20 = type_nullable_parser_nodes__AMethid.color;
9404 idtype21 = type_nullable_parser_nodes__AMethid.id;
9405 if(var_pmethidnode6 == NULL) {
9406 var19 = 1;
9407 } else {
9408 if(cltype20 >= var_pmethidnode6->type->table_size) {
9409 var19 = 0;
9410 } else {
9411 var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
9412 }
9413 }
9414 if (!var19) {
9415 fprintf(stderr, "Runtime error: %s", "Assert failed");
9416 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16061);
9417 exit(1);
9418 }
9419 var_psignaturenode7 = var_nodearraylist6;
9420 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9421 cltype23 = type_nullable_parser_nodes__ASignature.color;
9422 idtype24 = type_nullable_parser_nodes__ASignature.id;
9423 if(var_psignaturenode7 == NULL) {
9424 var22 = 1;
9425 } else {
9426 if(cltype23 >= var_psignaturenode7->type->table_size) {
9427 var22 = 0;
9428 } else {
9429 var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
9430 }
9431 }
9432 if (!var22) {
9433 fprintf(stderr, "Runtime error: %s", "Assert failed");
9434 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16063);
9435 exit(1);
9436 }
9437 var25 = NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef);
9438 var26 = NULL;
9439 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var26) /* init_adeferredmethpropdef on <var25:ADeferredMethPropdef>*/;
9440 CHECK_NEW_parser_nodes__ADeferredMethPropdef(var25);
9441 var_ppropdefnode1 = var25;
9442 var_node_list = var_ppropdefnode1;
9443 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction358> */
9444 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
9445 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
9446 RET_LABEL:;
9447 }
9448 /* method parser#ReduceAction358#action for (self: Object, Parser) */
9449 void VIRTUAL_parser__ReduceAction358__action(val* self, val* p0) {
9450 parser__ReduceAction358__action(self, p0);
9451 RET_LABEL:;
9452 }
9453 /* method parser#ReduceAction359#action for (self: ReduceAction359, Parser) */
9454 void parser__ReduceAction359__action(val* self, val* p0) {
9455 val* var_p /* var p: Parser */;
9456 val* var /* : null */;
9457 val* var_node_list /* var node_list: nullable Object */;
9458 val* var1 /* : nullable Object */;
9459 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9460 val* var2 /* : nullable Object */;
9461 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9462 val* var3 /* : nullable Object */;
9463 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9464 val* var4 /* : nullable Object */;
9465 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9466 val* var5 /* : nullable Object */;
9467 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9468 val* var6 /* : nullable Object */;
9469 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9470 val* var7 /* : nullable Object */;
9471 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9472 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9473 short int var8 /* : Bool */;
9474 int cltype;
9475 int idtype;
9476 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9477 short int var9 /* : Bool */;
9478 int cltype10;
9479 int idtype11;
9480 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
9481 short int var12 /* : Bool */;
9482 int cltype13;
9483 int idtype14;
9484 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
9485 short int var15 /* : Bool */;
9486 int cltype16;
9487 int idtype17;
9488 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9489 short int var18 /* : Bool */;
9490 int cltype19;
9491 int idtype20;
9492 val* var21 /* : AInternMethPropdef */;
9493 val* var22 /* : null */;
9494 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AInternMethPropdef */;
9495 long var23 /* : Int */;
9496 long var24 /* : Int */;
9497 var_p = p0;
9498 var = NULL;
9499 var_node_list = var;
9500 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9501 var_nodearraylist7 = var1;
9502 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9503 var_nodearraylist6 = var2;
9504 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9505 var_nodearraylist5 = var3;
9506 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9507 var_nodearraylist4 = var4;
9508 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9509 var_nodearraylist3 = var5;
9510 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9511 var_nodearraylist2 = var6;
9512 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9513 var_nodearraylist1 = var7;
9514 var_pdocnode2 = var_nodearraylist1;
9515 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9516 cltype = type_nullable_parser_nodes__ADoc.color;
9517 idtype = type_nullable_parser_nodes__ADoc.id;
9518 if(var_pdocnode2 == NULL) {
9519 var8 = 1;
9520 } else {
9521 if(cltype >= var_pdocnode2->type->table_size) {
9522 var8 = 0;
9523 } else {
9524 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
9525 }
9526 }
9527 if (!var8) {
9528 fprintf(stderr, "Runtime error: %s", "Assert failed");
9529 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16090);
9530 exit(1);
9531 }
9532 var_pvisibilitynode4 = var_nodearraylist2;
9533 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9534 cltype10 = type_nullable_parser_nodes__AVisibility.color;
9535 idtype11 = type_nullable_parser_nodes__AVisibility.id;
9536 if(var_pvisibilitynode4 == NULL) {
9537 var9 = 1;
9538 } else {
9539 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
9540 var9 = 0;
9541 } else {
9542 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
9543 }
9544 }
9545 if (!var9) {
9546 fprintf(stderr, "Runtime error: %s", "Assert failed");
9547 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16092);
9548 exit(1);
9549 }
9550 var_tkwmethnode5 = var_nodearraylist3;
9551 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
9552 cltype13 = type_nullable_parser_nodes__TKwmeth.color;
9553 idtype14 = type_nullable_parser_nodes__TKwmeth.id;
9554 if(var_tkwmethnode5 == NULL) {
9555 var12 = 1;
9556 } else {
9557 if(cltype13 >= var_tkwmethnode5->type->table_size) {
9558 var12 = 0;
9559 } else {
9560 var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14;
9561 }
9562 }
9563 if (!var12) {
9564 fprintf(stderr, "Runtime error: %s", "Assert failed");
9565 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16094);
9566 exit(1);
9567 }
9568 var_pmethidnode6 = var_nodearraylist4;
9569 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9570 cltype16 = type_nullable_parser_nodes__AMethid.color;
9571 idtype17 = type_nullable_parser_nodes__AMethid.id;
9572 if(var_pmethidnode6 == NULL) {
9573 var15 = 1;
9574 } else {
9575 if(cltype16 >= var_pmethidnode6->type->table_size) {
9576 var15 = 0;
9577 } else {
9578 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
9579 }
9580 }
9581 if (!var15) {
9582 fprintf(stderr, "Runtime error: %s", "Assert failed");
9583 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16096);
9584 exit(1);
9585 }
9586 var_psignaturenode7 = var_nodearraylist5;
9587 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9588 cltype19 = type_nullable_parser_nodes__ASignature.color;
9589 idtype20 = type_nullable_parser_nodes__ASignature.id;
9590 if(var_psignaturenode7 == NULL) {
9591 var18 = 1;
9592 } else {
9593 if(cltype19 >= var_psignaturenode7->type->table_size) {
9594 var18 = 0;
9595 } else {
9596 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
9597 }
9598 }
9599 if (!var18) {
9600 fprintf(stderr, "Runtime error: %s", "Assert failed");
9601 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16098);
9602 exit(1);
9603 }
9604 var21 = NEW_parser_nodes__AInternMethPropdef(&type_parser_nodes__AInternMethPropdef);
9605 var22 = NULL;
9606 ((void (*)(val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AInternMethPropdef__init_ainternmethpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7) /* init_ainternmethpropdef on <var21:AInternMethPropdef>*/;
9607 CHECK_NEW_parser_nodes__AInternMethPropdef(var21);
9608 var_ppropdefnode1 = var21;
9609 var_node_list = var_ppropdefnode1;
9610 var23 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction359> */
9611 var24 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var23) /* go_to on <var_p:Parser>*/;
9612 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var24, var_node_list) /* push on <var_p:Parser>*/;
9613 RET_LABEL:;
9614 }
9615 /* method parser#ReduceAction359#action for (self: Object, Parser) */
9616 void VIRTUAL_parser__ReduceAction359__action(val* self, val* p0) {
9617 parser__ReduceAction359__action(self, p0);
9618 RET_LABEL:;
9619 }
9620 /* method parser#ReduceAction360#action for (self: ReduceAction360, Parser) */
9621 void parser__ReduceAction360__action(val* self, val* p0) {
9622 val* var_p /* var p: Parser */;
9623 val* var /* : null */;
9624 val* var_node_list /* var node_list: nullable Object */;
9625 val* var1 /* : nullable Object */;
9626 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9627 val* var2 /* : nullable Object */;
9628 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9629 val* var3 /* : nullable Object */;
9630 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9631 val* var4 /* : nullable Object */;
9632 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9633 val* var5 /* : nullable Object */;
9634 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9635 val* var6 /* : nullable Object */;
9636 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9637 val* var7 /* : nullable Object */;
9638 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9639 val* var8 /* : nullable Object */;
9640 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9641 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9642 short int var9 /* : Bool */;
9643 int cltype;
9644 int idtype;
9645 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9646 short int var10 /* : Bool */;
9647 int cltype11;
9648 int idtype12;
9649 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9650 short int var13 /* : Bool */;
9651 int cltype14;
9652 int idtype15;
9653 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
9654 short int var16 /* : Bool */;
9655 int cltype17;
9656 int idtype18;
9657 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
9658 short int var19 /* : Bool */;
9659 int cltype20;
9660 int idtype21;
9661 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9662 short int var22 /* : Bool */;
9663 int cltype23;
9664 int idtype24;
9665 val* var25 /* : AInternMethPropdef */;
9666 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AInternMethPropdef */;
9667 long var26 /* : Int */;
9668 long var27 /* : Int */;
9669 var_p = p0;
9670 var = NULL;
9671 var_node_list = var;
9672 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9673 var_nodearraylist8 = var1;
9674 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9675 var_nodearraylist7 = var2;
9676 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9677 var_nodearraylist6 = var3;
9678 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9679 var_nodearraylist5 = var4;
9680 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9681 var_nodearraylist4 = var5;
9682 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9683 var_nodearraylist3 = var6;
9684 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9685 var_nodearraylist2 = var7;
9686 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9687 var_nodearraylist1 = var8;
9688 var_pdocnode2 = var_nodearraylist1;
9689 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9690 cltype = type_nullable_parser_nodes__ADoc.color;
9691 idtype = type_nullable_parser_nodes__ADoc.id;
9692 if(var_pdocnode2 == NULL) {
9693 var9 = 1;
9694 } else {
9695 if(cltype >= var_pdocnode2->type->table_size) {
9696 var9 = 0;
9697 } else {
9698 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
9699 }
9700 }
9701 if (!var9) {
9702 fprintf(stderr, "Runtime error: %s", "Assert failed");
9703 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16125);
9704 exit(1);
9705 }
9706 var_tkwredefnode3 = var_nodearraylist2;
9707 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9708 cltype11 = type_nullable_parser_nodes__TKwredef.color;
9709 idtype12 = type_nullable_parser_nodes__TKwredef.id;
9710 if(var_tkwredefnode3 == NULL) {
9711 var10 = 1;
9712 } else {
9713 if(cltype11 >= var_tkwredefnode3->type->table_size) {
9714 var10 = 0;
9715 } else {
9716 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
9717 }
9718 }
9719 if (!var10) {
9720 fprintf(stderr, "Runtime error: %s", "Assert failed");
9721 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16127);
9722 exit(1);
9723 }
9724 var_pvisibilitynode4 = var_nodearraylist3;
9725 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9726 cltype14 = type_nullable_parser_nodes__AVisibility.color;
9727 idtype15 = type_nullable_parser_nodes__AVisibility.id;
9728 if(var_pvisibilitynode4 == NULL) {
9729 var13 = 1;
9730 } else {
9731 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
9732 var13 = 0;
9733 } else {
9734 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
9735 }
9736 }
9737 if (!var13) {
9738 fprintf(stderr, "Runtime error: %s", "Assert failed");
9739 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16129);
9740 exit(1);
9741 }
9742 var_tkwmethnode5 = var_nodearraylist4;
9743 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
9744 cltype17 = type_nullable_parser_nodes__TKwmeth.color;
9745 idtype18 = type_nullable_parser_nodes__TKwmeth.id;
9746 if(var_tkwmethnode5 == NULL) {
9747 var16 = 1;
9748 } else {
9749 if(cltype17 >= var_tkwmethnode5->type->table_size) {
9750 var16 = 0;
9751 } else {
9752 var16 = var_tkwmethnode5->type->type_table[cltype17] == idtype18;
9753 }
9754 }
9755 if (!var16) {
9756 fprintf(stderr, "Runtime error: %s", "Assert failed");
9757 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16131);
9758 exit(1);
9759 }
9760 var_pmethidnode6 = var_nodearraylist5;
9761 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9762 cltype20 = type_nullable_parser_nodes__AMethid.color;
9763 idtype21 = type_nullable_parser_nodes__AMethid.id;
9764 if(var_pmethidnode6 == NULL) {
9765 var19 = 1;
9766 } else {
9767 if(cltype20 >= var_pmethidnode6->type->table_size) {
9768 var19 = 0;
9769 } else {
9770 var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
9771 }
9772 }
9773 if (!var19) {
9774 fprintf(stderr, "Runtime error: %s", "Assert failed");
9775 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16133);
9776 exit(1);
9777 }
9778 var_psignaturenode7 = var_nodearraylist6;
9779 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9780 cltype23 = type_nullable_parser_nodes__ASignature.color;
9781 idtype24 = type_nullable_parser_nodes__ASignature.id;
9782 if(var_psignaturenode7 == NULL) {
9783 var22 = 1;
9784 } else {
9785 if(cltype23 >= var_psignaturenode7->type->table_size) {
9786 var22 = 0;
9787 } else {
9788 var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
9789 }
9790 }
9791 if (!var22) {
9792 fprintf(stderr, "Runtime error: %s", "Assert failed");
9793 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16135);
9794 exit(1);
9795 }
9796 var25 = NEW_parser_nodes__AInternMethPropdef(&type_parser_nodes__AInternMethPropdef);
9797 ((void (*)(val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AInternMethPropdef__init_ainternmethpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7) /* init_ainternmethpropdef on <var25:AInternMethPropdef>*/;
9798 CHECK_NEW_parser_nodes__AInternMethPropdef(var25);
9799 var_ppropdefnode1 = var25;
9800 var_node_list = var_ppropdefnode1;
9801 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction360> */
9802 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
9803 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
9804 RET_LABEL:;
9805 }
9806 /* method parser#ReduceAction360#action for (self: Object, Parser) */
9807 void VIRTUAL_parser__ReduceAction360__action(val* self, val* p0) {
9808 parser__ReduceAction360__action(self, p0);
9809 RET_LABEL:;
9810 }
9811 /* method parser#ReduceAction361#action for (self: ReduceAction361, Parser) */
9812 void parser__ReduceAction361__action(val* self, val* p0) {
9813 val* var_p /* var p: Parser */;
9814 val* var /* : null */;
9815 val* var_node_list /* var node_list: nullable Object */;
9816 val* var1 /* : nullable Object */;
9817 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9818 val* var2 /* : nullable Object */;
9819 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9820 val* var3 /* : nullable Object */;
9821 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9822 val* var4 /* : nullable Object */;
9823 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9824 val* var5 /* : nullable Object */;
9825 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9826 val* var6 /* : nullable Object */;
9827 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9828 val* var7 /* : nullable Object */;
9829 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9830 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9831 short int var8 /* : Bool */;
9832 int cltype;
9833 int idtype;
9834 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9835 short int var9 /* : Bool */;
9836 int cltype10;
9837 int idtype11;
9838 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
9839 short int var12 /* : Bool */;
9840 int cltype13;
9841 int idtype14;
9842 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
9843 short int var15 /* : Bool */;
9844 int cltype16;
9845 int idtype17;
9846 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9847 short int var18 /* : Bool */;
9848 int cltype19;
9849 int idtype20;
9850 val* var21 /* : AExternMethPropdef */;
9851 val* var22 /* : null */;
9852 val* var23 /* : null */;
9853 val* var24 /* : null */;
9854 val* var25 /* : null */;
9855 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
9856 long var26 /* : Int */;
9857 long var27 /* : Int */;
9858 var_p = p0;
9859 var = NULL;
9860 var_node_list = var;
9861 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9862 var_nodearraylist7 = var1;
9863 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9864 var_nodearraylist6 = var2;
9865 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9866 var_nodearraylist5 = var3;
9867 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9868 var_nodearraylist4 = var4;
9869 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9870 var_nodearraylist3 = var5;
9871 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9872 var_nodearraylist2 = var6;
9873 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9874 var_nodearraylist1 = var7;
9875 var_pdocnode2 = var_nodearraylist1;
9876 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9877 cltype = type_nullable_parser_nodes__ADoc.color;
9878 idtype = type_nullable_parser_nodes__ADoc.id;
9879 if(var_pdocnode2 == NULL) {
9880 var8 = 1;
9881 } else {
9882 if(cltype >= var_pdocnode2->type->table_size) {
9883 var8 = 0;
9884 } else {
9885 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
9886 }
9887 }
9888 if (!var8) {
9889 fprintf(stderr, "Runtime error: %s", "Assert failed");
9890 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16161);
9891 exit(1);
9892 }
9893 var_pvisibilitynode4 = var_nodearraylist2;
9894 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9895 cltype10 = type_nullable_parser_nodes__AVisibility.color;
9896 idtype11 = type_nullable_parser_nodes__AVisibility.id;
9897 if(var_pvisibilitynode4 == NULL) {
9898 var9 = 1;
9899 } else {
9900 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
9901 var9 = 0;
9902 } else {
9903 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
9904 }
9905 }
9906 if (!var9) {
9907 fprintf(stderr, "Runtime error: %s", "Assert failed");
9908 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16163);
9909 exit(1);
9910 }
9911 var_tkwmethnode5 = var_nodearraylist3;
9912 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
9913 cltype13 = type_nullable_parser_nodes__TKwmeth.color;
9914 idtype14 = type_nullable_parser_nodes__TKwmeth.id;
9915 if(var_tkwmethnode5 == NULL) {
9916 var12 = 1;
9917 } else {
9918 if(cltype13 >= var_tkwmethnode5->type->table_size) {
9919 var12 = 0;
9920 } else {
9921 var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14;
9922 }
9923 }
9924 if (!var12) {
9925 fprintf(stderr, "Runtime error: %s", "Assert failed");
9926 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16165);
9927 exit(1);
9928 }
9929 var_pmethidnode6 = var_nodearraylist4;
9930 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9931 cltype16 = type_nullable_parser_nodes__AMethid.color;
9932 idtype17 = type_nullable_parser_nodes__AMethid.id;
9933 if(var_pmethidnode6 == NULL) {
9934 var15 = 1;
9935 } else {
9936 if(cltype16 >= var_pmethidnode6->type->table_size) {
9937 var15 = 0;
9938 } else {
9939 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
9940 }
9941 }
9942 if (!var15) {
9943 fprintf(stderr, "Runtime error: %s", "Assert failed");
9944 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16167);
9945 exit(1);
9946 }
9947 var_psignaturenode7 = var_nodearraylist5;
9948 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9949 cltype19 = type_nullable_parser_nodes__ASignature.color;
9950 idtype20 = type_nullable_parser_nodes__ASignature.id;
9951 if(var_psignaturenode7 == NULL) {
9952 var18 = 1;
9953 } else {
9954 if(cltype19 >= var_psignaturenode7->type->table_size) {
9955 var18 = 0;
9956 } else {
9957 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
9958 }
9959 }
9960 if (!var18) {
9961 fprintf(stderr, "Runtime error: %s", "Assert failed");
9962 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16169);
9963 exit(1);
9964 }
9965 var21 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
9966 var22 = NULL;
9967 var23 = NULL;
9968 var24 = NULL;
9969 var25 = NULL;
9970 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var23, var24, var25) /* init_aexternmethpropdef on <var21:AExternMethPropdef>*/;
9971 CHECK_NEW_parser_nodes__AExternMethPropdef(var21);
9972 var_ppropdefnode1 = var21;
9973 var_node_list = var_ppropdefnode1;
9974 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction361> */
9975 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
9976 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
9977 RET_LABEL:;
9978 }
9979 /* method parser#ReduceAction361#action for (self: Object, Parser) */
9980 void VIRTUAL_parser__ReduceAction361__action(val* self, val* p0) {
9981 parser__ReduceAction361__action(self, p0);
9982 RET_LABEL:;
9983 }