Merge branch 'killclosures' into killnitc
[nit.git] / c_src / parser.sep.10.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction370#action for (self: ReduceAction370, Parser) */
3 void parser__ReduceAction370__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_nodearraylist9 /* var nodearraylist9: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
19 val* var7 /* : nullable Object */;
20 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
21 val* var8 /* : nullable Object */;
22 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
23 val* var9 /* : nullable Object */;
24 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
25 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
26 short int var10 /* : Bool */;
27 int cltype;
28 int idtype;
29 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
30 short int var11 /* : Bool */;
31 int cltype12;
32 int idtype13;
33 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
34 short int var14 /* : Bool */;
35 int cltype15;
36 int idtype16;
37 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
38 short int var17 /* : Bool */;
39 int cltype18;
40 int idtype19;
41 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
42 short int var20 /* : Bool */;
43 int cltype21;
44 int idtype22;
45 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
46 short int var23 /* : Bool */;
47 int cltype24;
48 int idtype25;
49 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
50 short int var26 /* : Bool */;
51 int cltype27;
52 int idtype28;
53 val* var29 /* : AExternMethPropdef */;
54 val* var30 /* : null */;
55 val* var31 /* : null */;
56 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
57 long var32 /* : Int */;
58 long var33 /* : Int */;
59 var_p = p0;
60 var = NULL;
61 var_node_list = var;
62 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
63 var_nodearraylist9 = var1;
64 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
65 var_nodearraylist8 = var2;
66 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
67 var_nodearraylist7 = var3;
68 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
69 var_nodearraylist6 = var4;
70 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
71 var_nodearraylist5 = var5;
72 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
73 var_nodearraylist4 = var6;
74 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
75 var_nodearraylist3 = var7;
76 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
77 var_nodearraylist2 = var8;
78 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
79 var_nodearraylist1 = var9;
80 var_pdocnode2 = var_nodearraylist1;
81 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
82 cltype = type_nullable_parser_nodes__ADoc.color;
83 idtype = type_nullable_parser_nodes__ADoc.id;
84 if(var_pdocnode2 == NULL) {
85 var10 = 1;
86 } else {
87 if(cltype >= var_pdocnode2->type->table_size) {
88 var10 = 0;
89 } else {
90 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
91 }
92 }
93 if (!var10) {
94 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16771);
95 exit(1);
96 }
97 var_tkwredefnode3 = var_nodearraylist2;
98 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
99 cltype12 = type_nullable_parser_nodes__TKwredef.color;
100 idtype13 = type_nullable_parser_nodes__TKwredef.id;
101 if(var_tkwredefnode3 == NULL) {
102 var11 = 1;
103 } else {
104 if(cltype12 >= var_tkwredefnode3->type->table_size) {
105 var11 = 0;
106 } else {
107 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
108 }
109 }
110 if (!var11) {
111 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16773);
112 exit(1);
113 }
114 var_pvisibilitynode4 = var_nodearraylist3;
115 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
116 cltype15 = type_nullable_parser_nodes__AVisibility.color;
117 idtype16 = type_nullable_parser_nodes__AVisibility.id;
118 if(var_pvisibilitynode4 == NULL) {
119 var14 = 1;
120 } else {
121 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
122 var14 = 0;
123 } else {
124 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
125 }
126 }
127 if (!var14) {
128 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16775);
129 exit(1);
130 }
131 var_tkwmethnode5 = var_nodearraylist4;
132 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
133 cltype18 = type_nullable_parser_nodes__TKwmeth.color;
134 idtype19 = type_nullable_parser_nodes__TKwmeth.id;
135 if(var_tkwmethnode5 == NULL) {
136 var17 = 1;
137 } else {
138 if(cltype18 >= var_tkwmethnode5->type->table_size) {
139 var17 = 0;
140 } else {
141 var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19;
142 }
143 }
144 if (!var17) {
145 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16777);
146 exit(1);
147 }
148 var_pmethidnode6 = var_nodearraylist5;
149 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
150 cltype21 = type_nullable_parser_nodes__AMethid.color;
151 idtype22 = type_nullable_parser_nodes__AMethid.id;
152 if(var_pmethidnode6 == NULL) {
153 var20 = 1;
154 } else {
155 if(cltype21 >= var_pmethidnode6->type->table_size) {
156 var20 = 0;
157 } else {
158 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
159 }
160 }
161 if (!var20) {
162 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16779);
163 exit(1);
164 }
165 var_psignaturenode7 = var_nodearraylist6;
166 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
167 cltype24 = type_nullable_parser_nodes__ASignature.color;
168 idtype25 = type_nullable_parser_nodes__ASignature.id;
169 if(var_psignaturenode7 == NULL) {
170 var23 = 1;
171 } else {
172 if(cltype24 >= var_psignaturenode7->type->table_size) {
173 var23 = 0;
174 } else {
175 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
176 }
177 }
178 if (!var23) {
179 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16781);
180 exit(1);
181 }
182 var_pexterncodeblocknode10 = var_nodearraylist9;
183 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
184 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
185 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
186 if(var_pexterncodeblocknode10 == NULL) {
187 var26 = 1;
188 } else {
189 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
190 var26 = 0;
191 } else {
192 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
193 }
194 }
195 if (!var26) {
196 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16783);
197 exit(1);
198 }
199 var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
200 var30 = NULL;
201 var31 = NULL;
202 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var30, var31, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var29:AExternMethPropdef>*/;
203 CHECK_NEW_parser_nodes__AExternMethPropdef(var29);
204 var_ppropdefnode1 = var29;
205 var_node_list = var_ppropdefnode1;
206 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction370> */
207 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
208 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
209 RET_LABEL:;
210 }
211 /* method parser#ReduceAction370#action for (self: Object, Parser) */
212 void VIRTUAL_parser__ReduceAction370__action(val* self, val* p0) {
213 parser__ReduceAction370__action(self, p0);
214 RET_LABEL:;
215 }
216 /* method parser#ReduceAction371#action for (self: ReduceAction371, Parser) */
217 void parser__ReduceAction371__action(val* self, val* p0) {
218 val* var_p /* var p: Parser */;
219 val* var /* : null */;
220 val* var_node_list /* var node_list: nullable Object */;
221 val* var1 /* : nullable Object */;
222 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
223 val* var2 /* : nullable Object */;
224 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
225 val* var3 /* : nullable Object */;
226 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
227 val* var4 /* : nullable Object */;
228 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
229 val* var5 /* : nullable Object */;
230 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
231 val* var6 /* : nullable Object */;
232 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
233 val* var7 /* : nullable Object */;
234 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
235 val* var8 /* : nullable Object */;
236 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
237 val* var9 /* : nullable Object */;
238 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
239 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
240 short int var10 /* : Bool */;
241 int cltype;
242 int idtype;
243 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
244 short int var11 /* : Bool */;
245 int cltype12;
246 int idtype13;
247 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
248 short int var14 /* : Bool */;
249 int cltype15;
250 int idtype16;
251 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
252 short int var17 /* : Bool */;
253 int cltype18;
254 int idtype19;
255 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
256 short int var20 /* : Bool */;
257 int cltype21;
258 int idtype22;
259 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
260 short int var23 /* : Bool */;
261 int cltype24;
262 int idtype25;
263 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
264 short int var26 /* : Bool */;
265 int cltype27;
266 int idtype28;
267 val* var29 /* : AExternMethPropdef */;
268 val* var30 /* : null */;
269 val* var31 /* : null */;
270 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
271 long var32 /* : Int */;
272 long var33 /* : Int */;
273 var_p = p0;
274 var = NULL;
275 var_node_list = var;
276 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
277 var_nodearraylist9 = var1;
278 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
279 var_nodearraylist8 = var2;
280 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
281 var_nodearraylist7 = var3;
282 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
283 var_nodearraylist6 = var4;
284 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
285 var_nodearraylist5 = var5;
286 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
287 var_nodearraylist4 = var6;
288 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
289 var_nodearraylist3 = var7;
290 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
291 var_nodearraylist2 = var8;
292 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
293 var_nodearraylist1 = var9;
294 var_pdocnode2 = var_nodearraylist1;
295 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
296 cltype = type_nullable_parser_nodes__ADoc.color;
297 idtype = type_nullable_parser_nodes__ADoc.id;
298 if(var_pdocnode2 == NULL) {
299 var10 = 1;
300 } else {
301 if(cltype >= var_pdocnode2->type->table_size) {
302 var10 = 0;
303 } else {
304 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
305 }
306 }
307 if (!var10) {
308 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16814);
309 exit(1);
310 }
311 var_pvisibilitynode4 = var_nodearraylist2;
312 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
313 cltype12 = type_nullable_parser_nodes__AVisibility.color;
314 idtype13 = type_nullable_parser_nodes__AVisibility.id;
315 if(var_pvisibilitynode4 == NULL) {
316 var11 = 1;
317 } else {
318 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
319 var11 = 0;
320 } else {
321 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
322 }
323 }
324 if (!var11) {
325 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16816);
326 exit(1);
327 }
328 var_tkwmethnode5 = var_nodearraylist3;
329 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
330 cltype15 = type_nullable_parser_nodes__TKwmeth.color;
331 idtype16 = type_nullable_parser_nodes__TKwmeth.id;
332 if(var_tkwmethnode5 == NULL) {
333 var14 = 1;
334 } else {
335 if(cltype15 >= var_tkwmethnode5->type->table_size) {
336 var14 = 0;
337 } else {
338 var14 = var_tkwmethnode5->type->type_table[cltype15] == idtype16;
339 }
340 }
341 if (!var14) {
342 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16818);
343 exit(1);
344 }
345 var_pmethidnode6 = var_nodearraylist4;
346 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
347 cltype18 = type_nullable_parser_nodes__AMethid.color;
348 idtype19 = type_nullable_parser_nodes__AMethid.id;
349 if(var_pmethidnode6 == NULL) {
350 var17 = 1;
351 } else {
352 if(cltype18 >= var_pmethidnode6->type->table_size) {
353 var17 = 0;
354 } else {
355 var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
356 }
357 }
358 if (!var17) {
359 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16820);
360 exit(1);
361 }
362 var_psignaturenode7 = var_nodearraylist5;
363 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
364 cltype21 = type_nullable_parser_nodes__ASignature.color;
365 idtype22 = type_nullable_parser_nodes__ASignature.id;
366 if(var_psignaturenode7 == NULL) {
367 var20 = 1;
368 } else {
369 if(cltype21 >= var_psignaturenode7->type->table_size) {
370 var20 = 0;
371 } else {
372 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
373 }
374 }
375 if (!var20) {
376 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16822);
377 exit(1);
378 }
379 var_tstringnode8 = var_nodearraylist8;
380 /* <var_tstringnode8:nullable Object> isa nullable TString */
381 cltype24 = type_nullable_parser_nodes__TString.color;
382 idtype25 = type_nullable_parser_nodes__TString.id;
383 if(var_tstringnode8 == NULL) {
384 var23 = 1;
385 } else {
386 if(cltype24 >= var_tstringnode8->type->table_size) {
387 var23 = 0;
388 } else {
389 var23 = var_tstringnode8->type->type_table[cltype24] == idtype25;
390 }
391 }
392 if (!var23) {
393 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16824);
394 exit(1);
395 }
396 var_pexterncodeblocknode10 = var_nodearraylist9;
397 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
398 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
399 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
400 if(var_pexterncodeblocknode10 == NULL) {
401 var26 = 1;
402 } else {
403 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
404 var26 = 0;
405 } else {
406 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
407 }
408 }
409 if (!var26) {
410 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16826);
411 exit(1);
412 }
413 var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
414 var30 = NULL;
415 var31 = NULL;
416 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var31, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var29:AExternMethPropdef>*/;
417 CHECK_NEW_parser_nodes__AExternMethPropdef(var29);
418 var_ppropdefnode1 = var29;
419 var_node_list = var_ppropdefnode1;
420 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction371> */
421 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
422 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
423 RET_LABEL:;
424 }
425 /* method parser#ReduceAction371#action for (self: Object, Parser) */
426 void VIRTUAL_parser__ReduceAction371__action(val* self, val* p0) {
427 parser__ReduceAction371__action(self, p0);
428 RET_LABEL:;
429 }
430 /* method parser#ReduceAction372#action for (self: ReduceAction372, Parser) */
431 void parser__ReduceAction372__action(val* self, val* p0) {
432 val* var_p /* var p: Parser */;
433 val* var /* : null */;
434 val* var_node_list /* var node_list: nullable Object */;
435 val* var1 /* : nullable Object */;
436 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
437 val* var2 /* : nullable Object */;
438 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
439 val* var3 /* : nullable Object */;
440 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
441 val* var4 /* : nullable Object */;
442 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
443 val* var5 /* : nullable Object */;
444 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
445 val* var6 /* : nullable Object */;
446 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
447 val* var7 /* : nullable Object */;
448 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
449 val* var8 /* : nullable Object */;
450 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
451 val* var9 /* : nullable Object */;
452 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
453 val* var10 /* : nullable Object */;
454 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
455 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
456 short int var11 /* : Bool */;
457 int cltype;
458 int idtype;
459 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
460 short int var12 /* : Bool */;
461 int cltype13;
462 int idtype14;
463 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
464 short int var15 /* : Bool */;
465 int cltype16;
466 int idtype17;
467 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
468 short int var18 /* : Bool */;
469 int cltype19;
470 int idtype20;
471 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
472 short int var21 /* : Bool */;
473 int cltype22;
474 int idtype23;
475 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
476 short int var24 /* : Bool */;
477 int cltype25;
478 int idtype26;
479 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
480 short int var27 /* : Bool */;
481 int cltype28;
482 int idtype29;
483 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
484 short int var30 /* : Bool */;
485 int cltype31;
486 int idtype32;
487 val* var33 /* : AExternMethPropdef */;
488 val* var34 /* : null */;
489 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
490 long var35 /* : Int */;
491 long var36 /* : Int */;
492 var_p = p0;
493 var = NULL;
494 var_node_list = var;
495 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
496 var_nodearraylist10 = var1;
497 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
498 var_nodearraylist9 = var2;
499 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
500 var_nodearraylist8 = var3;
501 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
502 var_nodearraylist7 = var4;
503 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
504 var_nodearraylist6 = var5;
505 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
506 var_nodearraylist5 = var6;
507 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
508 var_nodearraylist4 = var7;
509 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
510 var_nodearraylist3 = var8;
511 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
512 var_nodearraylist2 = var9;
513 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
514 var_nodearraylist1 = var10;
515 var_pdocnode2 = var_nodearraylist1;
516 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
517 cltype = type_nullable_parser_nodes__ADoc.color;
518 idtype = type_nullable_parser_nodes__ADoc.id;
519 if(var_pdocnode2 == NULL) {
520 var11 = 1;
521 } else {
522 if(cltype >= var_pdocnode2->type->table_size) {
523 var11 = 0;
524 } else {
525 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
526 }
527 }
528 if (!var11) {
529 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16858);
530 exit(1);
531 }
532 var_tkwredefnode3 = var_nodearraylist2;
533 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
534 cltype13 = type_nullable_parser_nodes__TKwredef.color;
535 idtype14 = type_nullable_parser_nodes__TKwredef.id;
536 if(var_tkwredefnode3 == NULL) {
537 var12 = 1;
538 } else {
539 if(cltype13 >= var_tkwredefnode3->type->table_size) {
540 var12 = 0;
541 } else {
542 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
543 }
544 }
545 if (!var12) {
546 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16860);
547 exit(1);
548 }
549 var_pvisibilitynode4 = var_nodearraylist3;
550 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
551 cltype16 = type_nullable_parser_nodes__AVisibility.color;
552 idtype17 = type_nullable_parser_nodes__AVisibility.id;
553 if(var_pvisibilitynode4 == NULL) {
554 var15 = 1;
555 } else {
556 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
557 var15 = 0;
558 } else {
559 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
560 }
561 }
562 if (!var15) {
563 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16862);
564 exit(1);
565 }
566 var_tkwmethnode5 = var_nodearraylist4;
567 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
568 cltype19 = type_nullable_parser_nodes__TKwmeth.color;
569 idtype20 = type_nullable_parser_nodes__TKwmeth.id;
570 if(var_tkwmethnode5 == NULL) {
571 var18 = 1;
572 } else {
573 if(cltype19 >= var_tkwmethnode5->type->table_size) {
574 var18 = 0;
575 } else {
576 var18 = var_tkwmethnode5->type->type_table[cltype19] == idtype20;
577 }
578 }
579 if (!var18) {
580 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16864);
581 exit(1);
582 }
583 var_pmethidnode6 = var_nodearraylist5;
584 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
585 cltype22 = type_nullable_parser_nodes__AMethid.color;
586 idtype23 = type_nullable_parser_nodes__AMethid.id;
587 if(var_pmethidnode6 == NULL) {
588 var21 = 1;
589 } else {
590 if(cltype22 >= var_pmethidnode6->type->table_size) {
591 var21 = 0;
592 } else {
593 var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
594 }
595 }
596 if (!var21) {
597 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16866);
598 exit(1);
599 }
600 var_psignaturenode7 = var_nodearraylist6;
601 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
602 cltype25 = type_nullable_parser_nodes__ASignature.color;
603 idtype26 = type_nullable_parser_nodes__ASignature.id;
604 if(var_psignaturenode7 == NULL) {
605 var24 = 1;
606 } else {
607 if(cltype25 >= var_psignaturenode7->type->table_size) {
608 var24 = 0;
609 } else {
610 var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
611 }
612 }
613 if (!var24) {
614 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16868);
615 exit(1);
616 }
617 var_tstringnode8 = var_nodearraylist9;
618 /* <var_tstringnode8:nullable Object> isa nullable TString */
619 cltype28 = type_nullable_parser_nodes__TString.color;
620 idtype29 = type_nullable_parser_nodes__TString.id;
621 if(var_tstringnode8 == NULL) {
622 var27 = 1;
623 } else {
624 if(cltype28 >= var_tstringnode8->type->table_size) {
625 var27 = 0;
626 } else {
627 var27 = var_tstringnode8->type->type_table[cltype28] == idtype29;
628 }
629 }
630 if (!var27) {
631 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16870);
632 exit(1);
633 }
634 var_pexterncodeblocknode10 = var_nodearraylist10;
635 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
636 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
637 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
638 if(var_pexterncodeblocknode10 == NULL) {
639 var30 = 1;
640 } else {
641 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
642 var30 = 0;
643 } else {
644 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
645 }
646 }
647 if (!var30) {
648 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16872);
649 exit(1);
650 }
651 var33 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
652 var34 = NULL;
653 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var34, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var33:AExternMethPropdef>*/;
654 CHECK_NEW_parser_nodes__AExternMethPropdef(var33);
655 var_ppropdefnode1 = var33;
656 var_node_list = var_ppropdefnode1;
657 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction372> */
658 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
659 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
660 RET_LABEL:;
661 }
662 /* method parser#ReduceAction372#action for (self: Object, Parser) */
663 void VIRTUAL_parser__ReduceAction372__action(val* self, val* p0) {
664 parser__ReduceAction372__action(self, p0);
665 RET_LABEL:;
666 }
667 /* method parser#ReduceAction373#action for (self: ReduceAction373, Parser) */
668 void parser__ReduceAction373__action(val* self, val* p0) {
669 val* var_p /* var p: Parser */;
670 val* var /* : null */;
671 val* var_node_list /* var node_list: nullable Object */;
672 val* var1 /* : nullable Object */;
673 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
674 val* var2 /* : nullable Object */;
675 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
676 val* var3 /* : nullable Object */;
677 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
678 val* var4 /* : nullable Object */;
679 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
680 val* var5 /* : nullable Object */;
681 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
682 val* var6 /* : nullable Object */;
683 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
684 val* var7 /* : nullable Object */;
685 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
686 val* var8 /* : nullable Object */;
687 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
688 val* var9 /* : nullable Object */;
689 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
690 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
691 short int var10 /* : Bool */;
692 int cltype;
693 int idtype;
694 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
695 short int var11 /* : Bool */;
696 int cltype12;
697 int idtype13;
698 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
699 short int var14 /* : Bool */;
700 int cltype15;
701 int idtype16;
702 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
703 short int var17 /* : Bool */;
704 int cltype18;
705 int idtype19;
706 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
707 short int var20 /* : Bool */;
708 int cltype21;
709 int idtype22;
710 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
711 short int var23 /* : Bool */;
712 int cltype24;
713 int idtype25;
714 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
715 short int var26 /* : Bool */;
716 int cltype27;
717 int idtype28;
718 val* var29 /* : AExternMethPropdef */;
719 val* var30 /* : null */;
720 val* var31 /* : null */;
721 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
722 long var32 /* : Int */;
723 long var33 /* : Int */;
724 var_p = p0;
725 var = NULL;
726 var_node_list = var;
727 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
728 var_nodearraylist9 = var1;
729 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
730 var_nodearraylist8 = var2;
731 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
732 var_nodearraylist7 = var3;
733 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
734 var_nodearraylist6 = var4;
735 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
736 var_nodearraylist5 = var5;
737 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
738 var_nodearraylist4 = var6;
739 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
740 var_nodearraylist3 = var7;
741 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
742 var_nodearraylist2 = var8;
743 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
744 var_nodearraylist1 = var9;
745 var_pdocnode2 = var_nodearraylist1;
746 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
747 cltype = type_nullable_parser_nodes__ADoc.color;
748 idtype = type_nullable_parser_nodes__ADoc.id;
749 if(var_pdocnode2 == NULL) {
750 var10 = 1;
751 } else {
752 if(cltype >= var_pdocnode2->type->table_size) {
753 var10 = 0;
754 } else {
755 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
756 }
757 }
758 if (!var10) {
759 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16903);
760 exit(1);
761 }
762 var_pvisibilitynode4 = var_nodearraylist2;
763 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
764 cltype12 = type_nullable_parser_nodes__AVisibility.color;
765 idtype13 = type_nullable_parser_nodes__AVisibility.id;
766 if(var_pvisibilitynode4 == NULL) {
767 var11 = 1;
768 } else {
769 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
770 var11 = 0;
771 } else {
772 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
773 }
774 }
775 if (!var11) {
776 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16905);
777 exit(1);
778 }
779 var_tkwmethnode5 = var_nodearraylist3;
780 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
781 cltype15 = type_nullable_parser_nodes__TKwmeth.color;
782 idtype16 = type_nullable_parser_nodes__TKwmeth.id;
783 if(var_tkwmethnode5 == NULL) {
784 var14 = 1;
785 } else {
786 if(cltype15 >= var_tkwmethnode5->type->table_size) {
787 var14 = 0;
788 } else {
789 var14 = var_tkwmethnode5->type->type_table[cltype15] == idtype16;
790 }
791 }
792 if (!var14) {
793 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16907);
794 exit(1);
795 }
796 var_pmethidnode6 = var_nodearraylist4;
797 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
798 cltype18 = type_nullable_parser_nodes__AMethid.color;
799 idtype19 = type_nullable_parser_nodes__AMethid.id;
800 if(var_pmethidnode6 == NULL) {
801 var17 = 1;
802 } else {
803 if(cltype18 >= var_pmethidnode6->type->table_size) {
804 var17 = 0;
805 } else {
806 var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
807 }
808 }
809 if (!var17) {
810 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16909);
811 exit(1);
812 }
813 var_psignaturenode7 = var_nodearraylist5;
814 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
815 cltype21 = type_nullable_parser_nodes__ASignature.color;
816 idtype22 = type_nullable_parser_nodes__ASignature.id;
817 if(var_psignaturenode7 == NULL) {
818 var20 = 1;
819 } else {
820 if(cltype21 >= var_psignaturenode7->type->table_size) {
821 var20 = 0;
822 } else {
823 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
824 }
825 }
826 if (!var20) {
827 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16911);
828 exit(1);
829 }
830 var_pexterncallsnode9 = var_nodearraylist8;
831 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
832 cltype24 = type_nullable_parser_nodes__AExternCalls.color;
833 idtype25 = type_nullable_parser_nodes__AExternCalls.id;
834 if(var_pexterncallsnode9 == NULL) {
835 var23 = 1;
836 } else {
837 if(cltype24 >= var_pexterncallsnode9->type->table_size) {
838 var23 = 0;
839 } else {
840 var23 = var_pexterncallsnode9->type->type_table[cltype24] == idtype25;
841 }
842 }
843 if (!var23) {
844 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16913);
845 exit(1);
846 }
847 var_pexterncodeblocknode10 = var_nodearraylist9;
848 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
849 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
850 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
851 if(var_pexterncodeblocknode10 == NULL) {
852 var26 = 1;
853 } else {
854 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
855 var26 = 0;
856 } else {
857 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
858 }
859 }
860 if (!var26) {
861 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16915);
862 exit(1);
863 }
864 var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
865 var30 = NULL;
866 var31 = NULL;
867 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var31, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var29:AExternMethPropdef>*/;
868 CHECK_NEW_parser_nodes__AExternMethPropdef(var29);
869 var_ppropdefnode1 = var29;
870 var_node_list = var_ppropdefnode1;
871 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction373> */
872 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
873 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
874 RET_LABEL:;
875 }
876 /* method parser#ReduceAction373#action for (self: Object, Parser) */
877 void VIRTUAL_parser__ReduceAction373__action(val* self, val* p0) {
878 parser__ReduceAction373__action(self, p0);
879 RET_LABEL:;
880 }
881 /* method parser#ReduceAction374#action for (self: ReduceAction374, Parser) */
882 void parser__ReduceAction374__action(val* self, val* p0) {
883 val* var_p /* var p: Parser */;
884 val* var /* : null */;
885 val* var_node_list /* var node_list: nullable Object */;
886 val* var1 /* : nullable Object */;
887 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
888 val* var2 /* : nullable Object */;
889 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
890 val* var3 /* : nullable Object */;
891 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
892 val* var4 /* : nullable Object */;
893 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
894 val* var5 /* : nullable Object */;
895 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
896 val* var6 /* : nullable Object */;
897 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
898 val* var7 /* : nullable Object */;
899 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
900 val* var8 /* : nullable Object */;
901 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
902 val* var9 /* : nullable Object */;
903 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
904 val* var10 /* : nullable Object */;
905 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
906 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
907 short int var11 /* : Bool */;
908 int cltype;
909 int idtype;
910 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
911 short int var12 /* : Bool */;
912 int cltype13;
913 int idtype14;
914 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
915 short int var15 /* : Bool */;
916 int cltype16;
917 int idtype17;
918 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
919 short int var18 /* : Bool */;
920 int cltype19;
921 int idtype20;
922 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
923 short int var21 /* : Bool */;
924 int cltype22;
925 int idtype23;
926 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
927 short int var24 /* : Bool */;
928 int cltype25;
929 int idtype26;
930 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
931 short int var27 /* : Bool */;
932 int cltype28;
933 int idtype29;
934 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
935 short int var30 /* : Bool */;
936 int cltype31;
937 int idtype32;
938 val* var33 /* : AExternMethPropdef */;
939 val* var34 /* : null */;
940 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
941 long var35 /* : Int */;
942 long var36 /* : Int */;
943 var_p = p0;
944 var = NULL;
945 var_node_list = var;
946 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
947 var_nodearraylist10 = var1;
948 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
949 var_nodearraylist9 = var2;
950 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
951 var_nodearraylist8 = var3;
952 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
953 var_nodearraylist7 = var4;
954 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
955 var_nodearraylist6 = var5;
956 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
957 var_nodearraylist5 = var6;
958 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
959 var_nodearraylist4 = var7;
960 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
961 var_nodearraylist3 = var8;
962 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
963 var_nodearraylist2 = var9;
964 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
965 var_nodearraylist1 = var10;
966 var_pdocnode2 = var_nodearraylist1;
967 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
968 cltype = type_nullable_parser_nodes__ADoc.color;
969 idtype = type_nullable_parser_nodes__ADoc.id;
970 if(var_pdocnode2 == NULL) {
971 var11 = 1;
972 } else {
973 if(cltype >= var_pdocnode2->type->table_size) {
974 var11 = 0;
975 } else {
976 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
977 }
978 }
979 if (!var11) {
980 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16947);
981 exit(1);
982 }
983 var_tkwredefnode3 = var_nodearraylist2;
984 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
985 cltype13 = type_nullable_parser_nodes__TKwredef.color;
986 idtype14 = type_nullable_parser_nodes__TKwredef.id;
987 if(var_tkwredefnode3 == NULL) {
988 var12 = 1;
989 } else {
990 if(cltype13 >= var_tkwredefnode3->type->table_size) {
991 var12 = 0;
992 } else {
993 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
994 }
995 }
996 if (!var12) {
997 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16949);
998 exit(1);
999 }
1000 var_pvisibilitynode4 = var_nodearraylist3;
1001 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1002 cltype16 = type_nullable_parser_nodes__AVisibility.color;
1003 idtype17 = type_nullable_parser_nodes__AVisibility.id;
1004 if(var_pvisibilitynode4 == NULL) {
1005 var15 = 1;
1006 } else {
1007 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
1008 var15 = 0;
1009 } else {
1010 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
1011 }
1012 }
1013 if (!var15) {
1014 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16951);
1015 exit(1);
1016 }
1017 var_tkwmethnode5 = var_nodearraylist4;
1018 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
1019 cltype19 = type_nullable_parser_nodes__TKwmeth.color;
1020 idtype20 = type_nullable_parser_nodes__TKwmeth.id;
1021 if(var_tkwmethnode5 == NULL) {
1022 var18 = 1;
1023 } else {
1024 if(cltype19 >= var_tkwmethnode5->type->table_size) {
1025 var18 = 0;
1026 } else {
1027 var18 = var_tkwmethnode5->type->type_table[cltype19] == idtype20;
1028 }
1029 }
1030 if (!var18) {
1031 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16953);
1032 exit(1);
1033 }
1034 var_pmethidnode6 = var_nodearraylist5;
1035 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
1036 cltype22 = type_nullable_parser_nodes__AMethid.color;
1037 idtype23 = type_nullable_parser_nodes__AMethid.id;
1038 if(var_pmethidnode6 == NULL) {
1039 var21 = 1;
1040 } else {
1041 if(cltype22 >= var_pmethidnode6->type->table_size) {
1042 var21 = 0;
1043 } else {
1044 var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
1045 }
1046 }
1047 if (!var21) {
1048 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16955);
1049 exit(1);
1050 }
1051 var_psignaturenode7 = var_nodearraylist6;
1052 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1053 cltype25 = type_nullable_parser_nodes__ASignature.color;
1054 idtype26 = type_nullable_parser_nodes__ASignature.id;
1055 if(var_psignaturenode7 == NULL) {
1056 var24 = 1;
1057 } else {
1058 if(cltype25 >= var_psignaturenode7->type->table_size) {
1059 var24 = 0;
1060 } else {
1061 var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
1062 }
1063 }
1064 if (!var24) {
1065 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16957);
1066 exit(1);
1067 }
1068 var_pexterncallsnode9 = var_nodearraylist9;
1069 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
1070 cltype28 = type_nullable_parser_nodes__AExternCalls.color;
1071 idtype29 = type_nullable_parser_nodes__AExternCalls.id;
1072 if(var_pexterncallsnode9 == NULL) {
1073 var27 = 1;
1074 } else {
1075 if(cltype28 >= var_pexterncallsnode9->type->table_size) {
1076 var27 = 0;
1077 } else {
1078 var27 = var_pexterncallsnode9->type->type_table[cltype28] == idtype29;
1079 }
1080 }
1081 if (!var27) {
1082 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16959);
1083 exit(1);
1084 }
1085 var_pexterncodeblocknode10 = var_nodearraylist10;
1086 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1087 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
1088 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
1089 if(var_pexterncodeblocknode10 == NULL) {
1090 var30 = 1;
1091 } else {
1092 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
1093 var30 = 0;
1094 } else {
1095 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
1096 }
1097 }
1098 if (!var30) {
1099 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16961);
1100 exit(1);
1101 }
1102 var33 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
1103 var34 = NULL;
1104 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var34, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var33:AExternMethPropdef>*/;
1105 CHECK_NEW_parser_nodes__AExternMethPropdef(var33);
1106 var_ppropdefnode1 = var33;
1107 var_node_list = var_ppropdefnode1;
1108 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction374> */
1109 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
1110 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
1111 RET_LABEL:;
1112 }
1113 /* method parser#ReduceAction374#action for (self: Object, Parser) */
1114 void VIRTUAL_parser__ReduceAction374__action(val* self, val* p0) {
1115 parser__ReduceAction374__action(self, p0);
1116 RET_LABEL:;
1117 }
1118 /* method parser#ReduceAction375#action for (self: ReduceAction375, Parser) */
1119 void parser__ReduceAction375__action(val* self, val* p0) {
1120 val* var_p /* var p: Parser */;
1121 val* var /* : null */;
1122 val* var_node_list /* var node_list: nullable Object */;
1123 val* var1 /* : nullable Object */;
1124 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1125 val* var2 /* : nullable Object */;
1126 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1127 val* var3 /* : nullable Object */;
1128 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1129 val* var4 /* : nullable Object */;
1130 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1131 val* var5 /* : nullable Object */;
1132 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1133 val* var6 /* : nullable Object */;
1134 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1135 val* var7 /* : nullable Object */;
1136 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1137 val* var8 /* : nullable Object */;
1138 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1139 val* var9 /* : nullable Object */;
1140 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1141 val* var10 /* : nullable Object */;
1142 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1143 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1144 short int var11 /* : Bool */;
1145 int cltype;
1146 int idtype;
1147 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1148 short int var12 /* : Bool */;
1149 int cltype13;
1150 int idtype14;
1151 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
1152 short int var15 /* : Bool */;
1153 int cltype16;
1154 int idtype17;
1155 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
1156 short int var18 /* : Bool */;
1157 int cltype19;
1158 int idtype20;
1159 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
1160 short int var21 /* : Bool */;
1161 int cltype22;
1162 int idtype23;
1163 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
1164 short int var24 /* : Bool */;
1165 int cltype25;
1166 int idtype26;
1167 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
1168 short int var27 /* : Bool */;
1169 int cltype28;
1170 int idtype29;
1171 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1172 short int var30 /* : Bool */;
1173 int cltype31;
1174 int idtype32;
1175 val* var33 /* : AExternMethPropdef */;
1176 val* var34 /* : null */;
1177 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
1178 long var35 /* : Int */;
1179 long var36 /* : Int */;
1180 var_p = p0;
1181 var = NULL;
1182 var_node_list = var;
1183 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1184 var_nodearraylist10 = var1;
1185 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1186 var_nodearraylist9 = var2;
1187 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1188 var_nodearraylist8 = var3;
1189 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1190 var_nodearraylist7 = var4;
1191 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1192 var_nodearraylist6 = var5;
1193 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1194 var_nodearraylist5 = var6;
1195 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1196 var_nodearraylist4 = var7;
1197 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1198 var_nodearraylist3 = var8;
1199 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1200 var_nodearraylist2 = var9;
1201 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1202 var_nodearraylist1 = var10;
1203 var_pdocnode2 = var_nodearraylist1;
1204 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1205 cltype = type_nullable_parser_nodes__ADoc.color;
1206 idtype = type_nullable_parser_nodes__ADoc.id;
1207 if(var_pdocnode2 == NULL) {
1208 var11 = 1;
1209 } else {
1210 if(cltype >= var_pdocnode2->type->table_size) {
1211 var11 = 0;
1212 } else {
1213 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
1214 }
1215 }
1216 if (!var11) {
1217 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16993);
1218 exit(1);
1219 }
1220 var_pvisibilitynode4 = var_nodearraylist2;
1221 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1222 cltype13 = type_nullable_parser_nodes__AVisibility.color;
1223 idtype14 = type_nullable_parser_nodes__AVisibility.id;
1224 if(var_pvisibilitynode4 == NULL) {
1225 var12 = 1;
1226 } else {
1227 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
1228 var12 = 0;
1229 } else {
1230 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
1231 }
1232 }
1233 if (!var12) {
1234 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16995);
1235 exit(1);
1236 }
1237 var_tkwmethnode5 = var_nodearraylist3;
1238 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
1239 cltype16 = type_nullable_parser_nodes__TKwmeth.color;
1240 idtype17 = type_nullable_parser_nodes__TKwmeth.id;
1241 if(var_tkwmethnode5 == NULL) {
1242 var15 = 1;
1243 } else {
1244 if(cltype16 >= var_tkwmethnode5->type->table_size) {
1245 var15 = 0;
1246 } else {
1247 var15 = var_tkwmethnode5->type->type_table[cltype16] == idtype17;
1248 }
1249 }
1250 if (!var15) {
1251 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16997);
1252 exit(1);
1253 }
1254 var_pmethidnode6 = var_nodearraylist4;
1255 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
1256 cltype19 = type_nullable_parser_nodes__AMethid.color;
1257 idtype20 = type_nullable_parser_nodes__AMethid.id;
1258 if(var_pmethidnode6 == NULL) {
1259 var18 = 1;
1260 } else {
1261 if(cltype19 >= var_pmethidnode6->type->table_size) {
1262 var18 = 0;
1263 } else {
1264 var18 = var_pmethidnode6->type->type_table[cltype19] == idtype20;
1265 }
1266 }
1267 if (!var18) {
1268 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 16999);
1269 exit(1);
1270 }
1271 var_psignaturenode7 = var_nodearraylist5;
1272 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1273 cltype22 = type_nullable_parser_nodes__ASignature.color;
1274 idtype23 = type_nullable_parser_nodes__ASignature.id;
1275 if(var_psignaturenode7 == NULL) {
1276 var21 = 1;
1277 } else {
1278 if(cltype22 >= var_psignaturenode7->type->table_size) {
1279 var21 = 0;
1280 } else {
1281 var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23;
1282 }
1283 }
1284 if (!var21) {
1285 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17001);
1286 exit(1);
1287 }
1288 var_tstringnode8 = var_nodearraylist8;
1289 /* <var_tstringnode8:nullable Object> isa nullable TString */
1290 cltype25 = type_nullable_parser_nodes__TString.color;
1291 idtype26 = type_nullable_parser_nodes__TString.id;
1292 if(var_tstringnode8 == NULL) {
1293 var24 = 1;
1294 } else {
1295 if(cltype25 >= var_tstringnode8->type->table_size) {
1296 var24 = 0;
1297 } else {
1298 var24 = var_tstringnode8->type->type_table[cltype25] == idtype26;
1299 }
1300 }
1301 if (!var24) {
1302 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17003);
1303 exit(1);
1304 }
1305 var_pexterncallsnode9 = var_nodearraylist9;
1306 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
1307 cltype28 = type_nullable_parser_nodes__AExternCalls.color;
1308 idtype29 = type_nullable_parser_nodes__AExternCalls.id;
1309 if(var_pexterncallsnode9 == NULL) {
1310 var27 = 1;
1311 } else {
1312 if(cltype28 >= var_pexterncallsnode9->type->table_size) {
1313 var27 = 0;
1314 } else {
1315 var27 = var_pexterncallsnode9->type->type_table[cltype28] == idtype29;
1316 }
1317 }
1318 if (!var27) {
1319 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17005);
1320 exit(1);
1321 }
1322 var_pexterncodeblocknode10 = var_nodearraylist10;
1323 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1324 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
1325 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
1326 if(var_pexterncodeblocknode10 == NULL) {
1327 var30 = 1;
1328 } else {
1329 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
1330 var30 = 0;
1331 } else {
1332 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
1333 }
1334 }
1335 if (!var30) {
1336 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17007);
1337 exit(1);
1338 }
1339 var33 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
1340 var34 = NULL;
1341 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var33, var_pdocnode2, var34, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var33:AExternMethPropdef>*/;
1342 CHECK_NEW_parser_nodes__AExternMethPropdef(var33);
1343 var_ppropdefnode1 = var33;
1344 var_node_list = var_ppropdefnode1;
1345 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction375> */
1346 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
1347 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
1348 RET_LABEL:;
1349 }
1350 /* method parser#ReduceAction375#action for (self: Object, Parser) */
1351 void VIRTUAL_parser__ReduceAction375__action(val* self, val* p0) {
1352 parser__ReduceAction375__action(self, p0);
1353 RET_LABEL:;
1354 }
1355 /* method parser#ReduceAction376#action for (self: ReduceAction376, Parser) */
1356 void parser__ReduceAction376__action(val* self, val* p0) {
1357 val* var_p /* var p: Parser */;
1358 val* var /* : null */;
1359 val* var_node_list /* var node_list: nullable Object */;
1360 val* var1 /* : nullable Object */;
1361 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1362 val* var2 /* : nullable Object */;
1363 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1364 val* var3 /* : nullable Object */;
1365 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1366 val* var4 /* : nullable Object */;
1367 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1368 val* var5 /* : nullable Object */;
1369 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1370 val* var6 /* : nullable Object */;
1371 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1372 val* var7 /* : nullable Object */;
1373 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1374 val* var8 /* : nullable Object */;
1375 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1376 val* var9 /* : nullable Object */;
1377 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1378 val* var10 /* : nullable Object */;
1379 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1380 val* var11 /* : nullable Object */;
1381 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1382 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1383 short int var12 /* : Bool */;
1384 int cltype;
1385 int idtype;
1386 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1387 short int var13 /* : Bool */;
1388 int cltype14;
1389 int idtype15;
1390 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1391 short int var16 /* : Bool */;
1392 int cltype17;
1393 int idtype18;
1394 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
1395 short int var19 /* : Bool */;
1396 int cltype20;
1397 int idtype21;
1398 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
1399 short int var22 /* : Bool */;
1400 int cltype23;
1401 int idtype24;
1402 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
1403 short int var25 /* : Bool */;
1404 int cltype26;
1405 int idtype27;
1406 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
1407 short int var28 /* : Bool */;
1408 int cltype29;
1409 int idtype30;
1410 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
1411 short int var31 /* : Bool */;
1412 int cltype32;
1413 int idtype33;
1414 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1415 short int var34 /* : Bool */;
1416 int cltype35;
1417 int idtype36;
1418 val* var37 /* : AExternMethPropdef */;
1419 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
1420 long var38 /* : Int */;
1421 long var39 /* : Int */;
1422 var_p = p0;
1423 var = NULL;
1424 var_node_list = var;
1425 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1426 var_nodearraylist11 = var1;
1427 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1428 var_nodearraylist10 = var2;
1429 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1430 var_nodearraylist9 = var3;
1431 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1432 var_nodearraylist8 = var4;
1433 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1434 var_nodearraylist7 = var5;
1435 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1436 var_nodearraylist6 = var6;
1437 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1438 var_nodearraylist5 = var7;
1439 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1440 var_nodearraylist4 = var8;
1441 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1442 var_nodearraylist3 = var9;
1443 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1444 var_nodearraylist2 = var10;
1445 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1446 var_nodearraylist1 = var11;
1447 var_pdocnode2 = var_nodearraylist1;
1448 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1449 cltype = type_nullable_parser_nodes__ADoc.color;
1450 idtype = type_nullable_parser_nodes__ADoc.id;
1451 if(var_pdocnode2 == NULL) {
1452 var12 = 1;
1453 } else {
1454 if(cltype >= var_pdocnode2->type->table_size) {
1455 var12 = 0;
1456 } else {
1457 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
1458 }
1459 }
1460 if (!var12) {
1461 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17040);
1462 exit(1);
1463 }
1464 var_tkwredefnode3 = var_nodearraylist2;
1465 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1466 cltype14 = type_nullable_parser_nodes__TKwredef.color;
1467 idtype15 = type_nullable_parser_nodes__TKwredef.id;
1468 if(var_tkwredefnode3 == NULL) {
1469 var13 = 1;
1470 } else {
1471 if(cltype14 >= var_tkwredefnode3->type->table_size) {
1472 var13 = 0;
1473 } else {
1474 var13 = var_tkwredefnode3->type->type_table[cltype14] == idtype15;
1475 }
1476 }
1477 if (!var13) {
1478 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17042);
1479 exit(1);
1480 }
1481 var_pvisibilitynode4 = var_nodearraylist3;
1482 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1483 cltype17 = type_nullable_parser_nodes__AVisibility.color;
1484 idtype18 = type_nullable_parser_nodes__AVisibility.id;
1485 if(var_pvisibilitynode4 == NULL) {
1486 var16 = 1;
1487 } else {
1488 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
1489 var16 = 0;
1490 } else {
1491 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
1492 }
1493 }
1494 if (!var16) {
1495 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17044);
1496 exit(1);
1497 }
1498 var_tkwmethnode5 = var_nodearraylist4;
1499 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
1500 cltype20 = type_nullable_parser_nodes__TKwmeth.color;
1501 idtype21 = type_nullable_parser_nodes__TKwmeth.id;
1502 if(var_tkwmethnode5 == NULL) {
1503 var19 = 1;
1504 } else {
1505 if(cltype20 >= var_tkwmethnode5->type->table_size) {
1506 var19 = 0;
1507 } else {
1508 var19 = var_tkwmethnode5->type->type_table[cltype20] == idtype21;
1509 }
1510 }
1511 if (!var19) {
1512 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17046);
1513 exit(1);
1514 }
1515 var_pmethidnode6 = var_nodearraylist5;
1516 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
1517 cltype23 = type_nullable_parser_nodes__AMethid.color;
1518 idtype24 = type_nullable_parser_nodes__AMethid.id;
1519 if(var_pmethidnode6 == NULL) {
1520 var22 = 1;
1521 } else {
1522 if(cltype23 >= var_pmethidnode6->type->table_size) {
1523 var22 = 0;
1524 } else {
1525 var22 = var_pmethidnode6->type->type_table[cltype23] == idtype24;
1526 }
1527 }
1528 if (!var22) {
1529 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17048);
1530 exit(1);
1531 }
1532 var_psignaturenode7 = var_nodearraylist6;
1533 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1534 cltype26 = type_nullable_parser_nodes__ASignature.color;
1535 idtype27 = type_nullable_parser_nodes__ASignature.id;
1536 if(var_psignaturenode7 == NULL) {
1537 var25 = 1;
1538 } else {
1539 if(cltype26 >= var_psignaturenode7->type->table_size) {
1540 var25 = 0;
1541 } else {
1542 var25 = var_psignaturenode7->type->type_table[cltype26] == idtype27;
1543 }
1544 }
1545 if (!var25) {
1546 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17050);
1547 exit(1);
1548 }
1549 var_tstringnode8 = var_nodearraylist9;
1550 /* <var_tstringnode8:nullable Object> isa nullable TString */
1551 cltype29 = type_nullable_parser_nodes__TString.color;
1552 idtype30 = type_nullable_parser_nodes__TString.id;
1553 if(var_tstringnode8 == NULL) {
1554 var28 = 1;
1555 } else {
1556 if(cltype29 >= var_tstringnode8->type->table_size) {
1557 var28 = 0;
1558 } else {
1559 var28 = var_tstringnode8->type->type_table[cltype29] == idtype30;
1560 }
1561 }
1562 if (!var28) {
1563 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17052);
1564 exit(1);
1565 }
1566 var_pexterncallsnode9 = var_nodearraylist10;
1567 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
1568 cltype32 = type_nullable_parser_nodes__AExternCalls.color;
1569 idtype33 = type_nullable_parser_nodes__AExternCalls.id;
1570 if(var_pexterncallsnode9 == NULL) {
1571 var31 = 1;
1572 } else {
1573 if(cltype32 >= var_pexterncallsnode9->type->table_size) {
1574 var31 = 0;
1575 } else {
1576 var31 = var_pexterncallsnode9->type->type_table[cltype32] == idtype33;
1577 }
1578 }
1579 if (!var31) {
1580 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17054);
1581 exit(1);
1582 }
1583 var_pexterncodeblocknode10 = var_nodearraylist11;
1584 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1585 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
1586 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
1587 if(var_pexterncodeblocknode10 == NULL) {
1588 var34 = 1;
1589 } else {
1590 if(cltype35 >= var_pexterncodeblocknode10->type->table_size) {
1591 var34 = 0;
1592 } else {
1593 var34 = var_pexterncodeblocknode10->type->type_table[cltype35] == idtype36;
1594 }
1595 }
1596 if (!var34) {
1597 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17056);
1598 exit(1);
1599 }
1600 var37 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
1601 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var37, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var37:AExternMethPropdef>*/;
1602 CHECK_NEW_parser_nodes__AExternMethPropdef(var37);
1603 var_ppropdefnode1 = var37;
1604 var_node_list = var_ppropdefnode1;
1605 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction376> */
1606 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
1607 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
1608 RET_LABEL:;
1609 }
1610 /* method parser#ReduceAction376#action for (self: Object, Parser) */
1611 void VIRTUAL_parser__ReduceAction376__action(val* self, val* p0) {
1612 parser__ReduceAction376__action(self, p0);
1613 RET_LABEL:;
1614 }
1615 /* method parser#ReduceAction377#action for (self: ReduceAction377, Parser) */
1616 void parser__ReduceAction377__action(val* self, val* p0) {
1617 val* var_p /* var p: Parser */;
1618 val* var /* : null */;
1619 val* var_node_list /* var node_list: nullable Object */;
1620 val* var1 /* : nullable Object */;
1621 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1622 val* var2 /* : nullable Object */;
1623 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1624 val* var3 /* : nullable Object */;
1625 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1626 val* var4 /* : nullable Object */;
1627 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1628 val* var5 /* : nullable Object */;
1629 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1630 val* var6 /* : nullable Object */;
1631 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1632 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1633 short int var7 /* : Bool */;
1634 int cltype;
1635 int idtype;
1636 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1637 short int var8 /* : Bool */;
1638 int cltype9;
1639 int idtype10;
1640 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
1641 short int var11 /* : Bool */;
1642 int cltype12;
1643 int idtype13;
1644 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
1645 short int var14 /* : Bool */;
1646 int cltype15;
1647 int idtype16;
1648 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
1649 short int var17 /* : Bool */;
1650 int cltype18;
1651 int idtype19;
1652 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1653 short int var20 /* : Bool */;
1654 int cltype21;
1655 int idtype22;
1656 val* var23 /* : AExternMethPropdef */;
1657 val* var24 /* : null */;
1658 val* var25 /* : null */;
1659 val* var26 /* : null */;
1660 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
1661 long var27 /* : Int */;
1662 long var28 /* : Int */;
1663 var_p = p0;
1664 var = NULL;
1665 var_node_list = var;
1666 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1667 var_nodearraylist6 = var1;
1668 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1669 var_nodearraylist5 = var2;
1670 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1671 var_nodearraylist4 = var3;
1672 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1673 var_nodearraylist3 = var4;
1674 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1675 var_nodearraylist2 = var5;
1676 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1677 var_nodearraylist1 = var6;
1678 var_pdocnode2 = var_nodearraylist1;
1679 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1680 cltype = type_nullable_parser_nodes__ADoc.color;
1681 idtype = type_nullable_parser_nodes__ADoc.id;
1682 if(var_pdocnode2 == NULL) {
1683 var7 = 1;
1684 } else {
1685 if(cltype >= var_pdocnode2->type->table_size) {
1686 var7 = 0;
1687 } else {
1688 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
1689 }
1690 }
1691 if (!var7) {
1692 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17084);
1693 exit(1);
1694 }
1695 var_pvisibilitynode4 = var_nodearraylist2;
1696 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1697 cltype9 = type_nullable_parser_nodes__AVisibility.color;
1698 idtype10 = type_nullable_parser_nodes__AVisibility.id;
1699 if(var_pvisibilitynode4 == NULL) {
1700 var8 = 1;
1701 } else {
1702 if(cltype9 >= var_pvisibilitynode4->type->table_size) {
1703 var8 = 0;
1704 } else {
1705 var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
1706 }
1707 }
1708 if (!var8) {
1709 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17086);
1710 exit(1);
1711 }
1712 var_tkwmethnode5 = var_nodearraylist3;
1713 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
1714 cltype12 = type_nullable_parser_nodes__TKwmeth.color;
1715 idtype13 = type_nullable_parser_nodes__TKwmeth.id;
1716 if(var_tkwmethnode5 == NULL) {
1717 var11 = 1;
1718 } else {
1719 if(cltype12 >= var_tkwmethnode5->type->table_size) {
1720 var11 = 0;
1721 } else {
1722 var11 = var_tkwmethnode5->type->type_table[cltype12] == idtype13;
1723 }
1724 }
1725 if (!var11) {
1726 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17088);
1727 exit(1);
1728 }
1729 var_pmethidnode6 = var_nodearraylist4;
1730 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
1731 cltype15 = type_nullable_parser_nodes__AMethid.color;
1732 idtype16 = type_nullable_parser_nodes__AMethid.id;
1733 if(var_pmethidnode6 == NULL) {
1734 var14 = 1;
1735 } else {
1736 if(cltype15 >= var_pmethidnode6->type->table_size) {
1737 var14 = 0;
1738 } else {
1739 var14 = var_pmethidnode6->type->type_table[cltype15] == idtype16;
1740 }
1741 }
1742 if (!var14) {
1743 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17090);
1744 exit(1);
1745 }
1746 var_psignaturenode7 = var_nodearraylist5;
1747 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1748 cltype18 = type_nullable_parser_nodes__ASignature.color;
1749 idtype19 = type_nullable_parser_nodes__ASignature.id;
1750 if(var_psignaturenode7 == NULL) {
1751 var17 = 1;
1752 } else {
1753 if(cltype18 >= var_psignaturenode7->type->table_size) {
1754 var17 = 0;
1755 } else {
1756 var17 = var_psignaturenode7->type->type_table[cltype18] == idtype19;
1757 }
1758 }
1759 if (!var17) {
1760 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17092);
1761 exit(1);
1762 }
1763 var_pexterncodeblocknode10 = var_nodearraylist6;
1764 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1765 cltype21 = type_nullable_parser_nodes__AExternCodeBlock.color;
1766 idtype22 = type_nullable_parser_nodes__AExternCodeBlock.id;
1767 if(var_pexterncodeblocknode10 == NULL) {
1768 var20 = 1;
1769 } else {
1770 if(cltype21 >= var_pexterncodeblocknode10->type->table_size) {
1771 var20 = 0;
1772 } else {
1773 var20 = var_pexterncodeblocknode10->type->type_table[cltype21] == idtype22;
1774 }
1775 }
1776 if (!var20) {
1777 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17094);
1778 exit(1);
1779 }
1780 var23 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
1781 var24 = NULL;
1782 var25 = NULL;
1783 var26 = NULL;
1784 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var23, var_pdocnode2, var24, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var25, var26, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var23:AExternMethPropdef>*/;
1785 CHECK_NEW_parser_nodes__AExternMethPropdef(var23);
1786 var_ppropdefnode1 = var23;
1787 var_node_list = var_ppropdefnode1;
1788 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction377> */
1789 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
1790 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
1791 RET_LABEL:;
1792 }
1793 /* method parser#ReduceAction377#action for (self: Object, Parser) */
1794 void VIRTUAL_parser__ReduceAction377__action(val* self, val* p0) {
1795 parser__ReduceAction377__action(self, p0);
1796 RET_LABEL:;
1797 }
1798 /* method parser#ReduceAction378#action for (self: ReduceAction378, Parser) */
1799 void parser__ReduceAction378__action(val* self, val* p0) {
1800 val* var_p /* var p: Parser */;
1801 val* var /* : null */;
1802 val* var_node_list /* var node_list: nullable Object */;
1803 val* var1 /* : nullable Object */;
1804 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1805 val* var2 /* : nullable Object */;
1806 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1807 val* var3 /* : nullable Object */;
1808 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1809 val* var4 /* : nullable Object */;
1810 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1811 val* var5 /* : nullable Object */;
1812 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1813 val* var6 /* : nullable Object */;
1814 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1815 val* var7 /* : nullable Object */;
1816 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1817 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1818 short int var8 /* : Bool */;
1819 int cltype;
1820 int idtype;
1821 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1822 short int var9 /* : Bool */;
1823 int cltype10;
1824 int idtype11;
1825 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1826 short int var12 /* : Bool */;
1827 int cltype13;
1828 int idtype14;
1829 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
1830 short int var15 /* : Bool */;
1831 int cltype16;
1832 int idtype17;
1833 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
1834 short int var18 /* : Bool */;
1835 int cltype19;
1836 int idtype20;
1837 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
1838 short int var21 /* : Bool */;
1839 int cltype22;
1840 int idtype23;
1841 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1842 short int var24 /* : Bool */;
1843 int cltype25;
1844 int idtype26;
1845 val* var27 /* : AExternMethPropdef */;
1846 val* var28 /* : null */;
1847 val* var29 /* : null */;
1848 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
1849 long var30 /* : Int */;
1850 long var31 /* : Int */;
1851 var_p = p0;
1852 var = NULL;
1853 var_node_list = var;
1854 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1855 var_nodearraylist7 = var1;
1856 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1857 var_nodearraylist6 = var2;
1858 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1859 var_nodearraylist5 = var3;
1860 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1861 var_nodearraylist4 = var4;
1862 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1863 var_nodearraylist3 = var5;
1864 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1865 var_nodearraylist2 = var6;
1866 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1867 var_nodearraylist1 = var7;
1868 var_pdocnode2 = var_nodearraylist1;
1869 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1870 cltype = type_nullable_parser_nodes__ADoc.color;
1871 idtype = type_nullable_parser_nodes__ADoc.id;
1872 if(var_pdocnode2 == NULL) {
1873 var8 = 1;
1874 } else {
1875 if(cltype >= var_pdocnode2->type->table_size) {
1876 var8 = 0;
1877 } else {
1878 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
1879 }
1880 }
1881 if (!var8) {
1882 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17123);
1883 exit(1);
1884 }
1885 var_tkwredefnode3 = var_nodearraylist2;
1886 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1887 cltype10 = type_nullable_parser_nodes__TKwredef.color;
1888 idtype11 = type_nullable_parser_nodes__TKwredef.id;
1889 if(var_tkwredefnode3 == NULL) {
1890 var9 = 1;
1891 } else {
1892 if(cltype10 >= var_tkwredefnode3->type->table_size) {
1893 var9 = 0;
1894 } else {
1895 var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
1896 }
1897 }
1898 if (!var9) {
1899 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17125);
1900 exit(1);
1901 }
1902 var_pvisibilitynode4 = var_nodearraylist3;
1903 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1904 cltype13 = type_nullable_parser_nodes__AVisibility.color;
1905 idtype14 = type_nullable_parser_nodes__AVisibility.id;
1906 if(var_pvisibilitynode4 == NULL) {
1907 var12 = 1;
1908 } else {
1909 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
1910 var12 = 0;
1911 } else {
1912 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
1913 }
1914 }
1915 if (!var12) {
1916 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17127);
1917 exit(1);
1918 }
1919 var_tkwmethnode5 = var_nodearraylist4;
1920 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
1921 cltype16 = type_nullable_parser_nodes__TKwmeth.color;
1922 idtype17 = type_nullable_parser_nodes__TKwmeth.id;
1923 if(var_tkwmethnode5 == NULL) {
1924 var15 = 1;
1925 } else {
1926 if(cltype16 >= var_tkwmethnode5->type->table_size) {
1927 var15 = 0;
1928 } else {
1929 var15 = var_tkwmethnode5->type->type_table[cltype16] == idtype17;
1930 }
1931 }
1932 if (!var15) {
1933 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17129);
1934 exit(1);
1935 }
1936 var_pmethidnode6 = var_nodearraylist5;
1937 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
1938 cltype19 = type_nullable_parser_nodes__AMethid.color;
1939 idtype20 = type_nullable_parser_nodes__AMethid.id;
1940 if(var_pmethidnode6 == NULL) {
1941 var18 = 1;
1942 } else {
1943 if(cltype19 >= var_pmethidnode6->type->table_size) {
1944 var18 = 0;
1945 } else {
1946 var18 = var_pmethidnode6->type->type_table[cltype19] == idtype20;
1947 }
1948 }
1949 if (!var18) {
1950 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17131);
1951 exit(1);
1952 }
1953 var_psignaturenode7 = var_nodearraylist6;
1954 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1955 cltype22 = type_nullable_parser_nodes__ASignature.color;
1956 idtype23 = type_nullable_parser_nodes__ASignature.id;
1957 if(var_psignaturenode7 == NULL) {
1958 var21 = 1;
1959 } else {
1960 if(cltype22 >= var_psignaturenode7->type->table_size) {
1961 var21 = 0;
1962 } else {
1963 var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23;
1964 }
1965 }
1966 if (!var21) {
1967 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17133);
1968 exit(1);
1969 }
1970 var_pexterncodeblocknode10 = var_nodearraylist7;
1971 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1972 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
1973 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
1974 if(var_pexterncodeblocknode10 == NULL) {
1975 var24 = 1;
1976 } else {
1977 if(cltype25 >= var_pexterncodeblocknode10->type->table_size) {
1978 var24 = 0;
1979 } else {
1980 var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
1981 }
1982 }
1983 if (!var24) {
1984 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17135);
1985 exit(1);
1986 }
1987 var27 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
1988 var28 = NULL;
1989 var29 = NULL;
1990 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var28, var29, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var27:AExternMethPropdef>*/;
1991 CHECK_NEW_parser_nodes__AExternMethPropdef(var27);
1992 var_ppropdefnode1 = var27;
1993 var_node_list = var_ppropdefnode1;
1994 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction378> */
1995 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
1996 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
1997 RET_LABEL:;
1998 }
1999 /* method parser#ReduceAction378#action for (self: Object, Parser) */
2000 void VIRTUAL_parser__ReduceAction378__action(val* self, val* p0) {
2001 parser__ReduceAction378__action(self, p0);
2002 RET_LABEL:;
2003 }
2004 /* method parser#ReduceAction379#action for (self: ReduceAction379, Parser) */
2005 void parser__ReduceAction379__action(val* self, val* p0) {
2006 val* var_p /* var p: Parser */;
2007 val* var /* : null */;
2008 val* var_node_list /* var node_list: nullable Object */;
2009 val* var1 /* : nullable Object */;
2010 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2011 val* var2 /* : nullable Object */;
2012 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2013 val* var3 /* : nullable Object */;
2014 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2015 val* var4 /* : nullable Object */;
2016 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2017 val* var5 /* : nullable Object */;
2018 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2019 val* var6 /* : nullable Object */;
2020 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2021 val* var7 /* : nullable Object */;
2022 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2023 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2024 short int var8 /* : Bool */;
2025 int cltype;
2026 int idtype;
2027 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2028 short int var9 /* : Bool */;
2029 int cltype10;
2030 int idtype11;
2031 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
2032 short int var12 /* : Bool */;
2033 int cltype13;
2034 int idtype14;
2035 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
2036 short int var15 /* : Bool */;
2037 int cltype16;
2038 int idtype17;
2039 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
2040 short int var18 /* : Bool */;
2041 int cltype19;
2042 int idtype20;
2043 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
2044 short int var21 /* : Bool */;
2045 int cltype22;
2046 int idtype23;
2047 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
2048 short int var24 /* : Bool */;
2049 int cltype25;
2050 int idtype26;
2051 val* var27 /* : AExternMethPropdef */;
2052 val* var28 /* : null */;
2053 val* var29 /* : null */;
2054 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
2055 long var30 /* : Int */;
2056 long var31 /* : Int */;
2057 var_p = p0;
2058 var = NULL;
2059 var_node_list = var;
2060 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2061 var_nodearraylist7 = var1;
2062 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2063 var_nodearraylist6 = var2;
2064 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2065 var_nodearraylist5 = var3;
2066 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2067 var_nodearraylist4 = var4;
2068 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2069 var_nodearraylist3 = var5;
2070 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2071 var_nodearraylist2 = var6;
2072 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2073 var_nodearraylist1 = var7;
2074 var_pdocnode2 = var_nodearraylist1;
2075 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2076 cltype = type_nullable_parser_nodes__ADoc.color;
2077 idtype = type_nullable_parser_nodes__ADoc.id;
2078 if(var_pdocnode2 == NULL) {
2079 var8 = 1;
2080 } else {
2081 if(cltype >= var_pdocnode2->type->table_size) {
2082 var8 = 0;
2083 } else {
2084 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
2085 }
2086 }
2087 if (!var8) {
2088 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17164);
2089 exit(1);
2090 }
2091 var_pvisibilitynode4 = var_nodearraylist2;
2092 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2093 cltype10 = type_nullable_parser_nodes__AVisibility.color;
2094 idtype11 = type_nullable_parser_nodes__AVisibility.id;
2095 if(var_pvisibilitynode4 == NULL) {
2096 var9 = 1;
2097 } else {
2098 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
2099 var9 = 0;
2100 } else {
2101 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
2102 }
2103 }
2104 if (!var9) {
2105 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17166);
2106 exit(1);
2107 }
2108 var_tkwmethnode5 = var_nodearraylist3;
2109 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
2110 cltype13 = type_nullable_parser_nodes__TKwmeth.color;
2111 idtype14 = type_nullable_parser_nodes__TKwmeth.id;
2112 if(var_tkwmethnode5 == NULL) {
2113 var12 = 1;
2114 } else {
2115 if(cltype13 >= var_tkwmethnode5->type->table_size) {
2116 var12 = 0;
2117 } else {
2118 var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14;
2119 }
2120 }
2121 if (!var12) {
2122 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17168);
2123 exit(1);
2124 }
2125 var_pmethidnode6 = var_nodearraylist4;
2126 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
2127 cltype16 = type_nullable_parser_nodes__AMethid.color;
2128 idtype17 = type_nullable_parser_nodes__AMethid.id;
2129 if(var_pmethidnode6 == NULL) {
2130 var15 = 1;
2131 } else {
2132 if(cltype16 >= var_pmethidnode6->type->table_size) {
2133 var15 = 0;
2134 } else {
2135 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
2136 }
2137 }
2138 if (!var15) {
2139 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17170);
2140 exit(1);
2141 }
2142 var_psignaturenode7 = var_nodearraylist5;
2143 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2144 cltype19 = type_nullable_parser_nodes__ASignature.color;
2145 idtype20 = type_nullable_parser_nodes__ASignature.id;
2146 if(var_psignaturenode7 == NULL) {
2147 var18 = 1;
2148 } else {
2149 if(cltype19 >= var_psignaturenode7->type->table_size) {
2150 var18 = 0;
2151 } else {
2152 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
2153 }
2154 }
2155 if (!var18) {
2156 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17172);
2157 exit(1);
2158 }
2159 var_pexterncallsnode9 = var_nodearraylist6;
2160 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
2161 cltype22 = type_nullable_parser_nodes__AExternCalls.color;
2162 idtype23 = type_nullable_parser_nodes__AExternCalls.id;
2163 if(var_pexterncallsnode9 == NULL) {
2164 var21 = 1;
2165 } else {
2166 if(cltype22 >= var_pexterncallsnode9->type->table_size) {
2167 var21 = 0;
2168 } else {
2169 var21 = var_pexterncallsnode9->type->type_table[cltype22] == idtype23;
2170 }
2171 }
2172 if (!var21) {
2173 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17174);
2174 exit(1);
2175 }
2176 var_pexterncodeblocknode10 = var_nodearraylist7;
2177 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
2178 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
2179 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
2180 if(var_pexterncodeblocknode10 == NULL) {
2181 var24 = 1;
2182 } else {
2183 if(cltype25 >= var_pexterncodeblocknode10->type->table_size) {
2184 var24 = 0;
2185 } else {
2186 var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
2187 }
2188 }
2189 if (!var24) {
2190 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17176);
2191 exit(1);
2192 }
2193 var27 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
2194 var28 = NULL;
2195 var29 = NULL;
2196 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var27, var_pdocnode2, var28, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var29, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var27:AExternMethPropdef>*/;
2197 CHECK_NEW_parser_nodes__AExternMethPropdef(var27);
2198 var_ppropdefnode1 = var27;
2199 var_node_list = var_ppropdefnode1;
2200 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction379> */
2201 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
2202 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
2203 RET_LABEL:;
2204 }
2205 /* method parser#ReduceAction379#action for (self: Object, Parser) */
2206 void VIRTUAL_parser__ReduceAction379__action(val* self, val* p0) {
2207 parser__ReduceAction379__action(self, p0);
2208 RET_LABEL:;
2209 }
2210 /* method parser#ReduceAction380#action for (self: ReduceAction380, Parser) */
2211 void parser__ReduceAction380__action(val* self, val* p0) {
2212 val* var_p /* var p: Parser */;
2213 val* var /* : null */;
2214 val* var_node_list /* var node_list: nullable Object */;
2215 val* var1 /* : nullable Object */;
2216 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2217 val* var2 /* : nullable Object */;
2218 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2219 val* var3 /* : nullable Object */;
2220 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2221 val* var4 /* : nullable Object */;
2222 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2223 val* var5 /* : nullable Object */;
2224 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2225 val* var6 /* : nullable Object */;
2226 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2227 val* var7 /* : nullable Object */;
2228 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2229 val* var8 /* : nullable Object */;
2230 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2231 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2232 short int var9 /* : Bool */;
2233 int cltype;
2234 int idtype;
2235 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2236 short int var10 /* : Bool */;
2237 int cltype11;
2238 int idtype12;
2239 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2240 short int var13 /* : Bool */;
2241 int cltype14;
2242 int idtype15;
2243 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
2244 short int var16 /* : Bool */;
2245 int cltype17;
2246 int idtype18;
2247 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
2248 short int var19 /* : Bool */;
2249 int cltype20;
2250 int idtype21;
2251 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
2252 short int var22 /* : Bool */;
2253 int cltype23;
2254 int idtype24;
2255 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
2256 short int var25 /* : Bool */;
2257 int cltype26;
2258 int idtype27;
2259 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
2260 short int var28 /* : Bool */;
2261 int cltype29;
2262 int idtype30;
2263 val* var31 /* : AExternMethPropdef */;
2264 val* var32 /* : null */;
2265 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
2266 long var33 /* : Int */;
2267 long var34 /* : Int */;
2268 var_p = p0;
2269 var = NULL;
2270 var_node_list = var;
2271 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2272 var_nodearraylist8 = var1;
2273 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2274 var_nodearraylist7 = var2;
2275 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2276 var_nodearraylist6 = var3;
2277 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2278 var_nodearraylist5 = var4;
2279 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2280 var_nodearraylist4 = var5;
2281 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2282 var_nodearraylist3 = var6;
2283 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2284 var_nodearraylist2 = var7;
2285 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2286 var_nodearraylist1 = var8;
2287 var_pdocnode2 = var_nodearraylist1;
2288 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2289 cltype = type_nullable_parser_nodes__ADoc.color;
2290 idtype = type_nullable_parser_nodes__ADoc.id;
2291 if(var_pdocnode2 == NULL) {
2292 var9 = 1;
2293 } else {
2294 if(cltype >= var_pdocnode2->type->table_size) {
2295 var9 = 0;
2296 } else {
2297 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
2298 }
2299 }
2300 if (!var9) {
2301 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17206);
2302 exit(1);
2303 }
2304 var_tkwredefnode3 = var_nodearraylist2;
2305 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2306 cltype11 = type_nullable_parser_nodes__TKwredef.color;
2307 idtype12 = type_nullable_parser_nodes__TKwredef.id;
2308 if(var_tkwredefnode3 == NULL) {
2309 var10 = 1;
2310 } else {
2311 if(cltype11 >= var_tkwredefnode3->type->table_size) {
2312 var10 = 0;
2313 } else {
2314 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
2315 }
2316 }
2317 if (!var10) {
2318 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17208);
2319 exit(1);
2320 }
2321 var_pvisibilitynode4 = var_nodearraylist3;
2322 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2323 cltype14 = type_nullable_parser_nodes__AVisibility.color;
2324 idtype15 = type_nullable_parser_nodes__AVisibility.id;
2325 if(var_pvisibilitynode4 == NULL) {
2326 var13 = 1;
2327 } else {
2328 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
2329 var13 = 0;
2330 } else {
2331 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
2332 }
2333 }
2334 if (!var13) {
2335 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17210);
2336 exit(1);
2337 }
2338 var_tkwmethnode5 = var_nodearraylist4;
2339 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
2340 cltype17 = type_nullable_parser_nodes__TKwmeth.color;
2341 idtype18 = type_nullable_parser_nodes__TKwmeth.id;
2342 if(var_tkwmethnode5 == NULL) {
2343 var16 = 1;
2344 } else {
2345 if(cltype17 >= var_tkwmethnode5->type->table_size) {
2346 var16 = 0;
2347 } else {
2348 var16 = var_tkwmethnode5->type->type_table[cltype17] == idtype18;
2349 }
2350 }
2351 if (!var16) {
2352 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17212);
2353 exit(1);
2354 }
2355 var_pmethidnode6 = var_nodearraylist5;
2356 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
2357 cltype20 = type_nullable_parser_nodes__AMethid.color;
2358 idtype21 = type_nullable_parser_nodes__AMethid.id;
2359 if(var_pmethidnode6 == NULL) {
2360 var19 = 1;
2361 } else {
2362 if(cltype20 >= var_pmethidnode6->type->table_size) {
2363 var19 = 0;
2364 } else {
2365 var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
2366 }
2367 }
2368 if (!var19) {
2369 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17214);
2370 exit(1);
2371 }
2372 var_psignaturenode7 = var_nodearraylist6;
2373 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2374 cltype23 = type_nullable_parser_nodes__ASignature.color;
2375 idtype24 = type_nullable_parser_nodes__ASignature.id;
2376 if(var_psignaturenode7 == NULL) {
2377 var22 = 1;
2378 } else {
2379 if(cltype23 >= var_psignaturenode7->type->table_size) {
2380 var22 = 0;
2381 } else {
2382 var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
2383 }
2384 }
2385 if (!var22) {
2386 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17216);
2387 exit(1);
2388 }
2389 var_pexterncallsnode9 = var_nodearraylist7;
2390 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
2391 cltype26 = type_nullable_parser_nodes__AExternCalls.color;
2392 idtype27 = type_nullable_parser_nodes__AExternCalls.id;
2393 if(var_pexterncallsnode9 == NULL) {
2394 var25 = 1;
2395 } else {
2396 if(cltype26 >= var_pexterncallsnode9->type->table_size) {
2397 var25 = 0;
2398 } else {
2399 var25 = var_pexterncallsnode9->type->type_table[cltype26] == idtype27;
2400 }
2401 }
2402 if (!var25) {
2403 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17218);
2404 exit(1);
2405 }
2406 var_pexterncodeblocknode10 = var_nodearraylist8;
2407 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
2408 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
2409 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
2410 if(var_pexterncodeblocknode10 == NULL) {
2411 var28 = 1;
2412 } else {
2413 if(cltype29 >= var_pexterncodeblocknode10->type->table_size) {
2414 var28 = 0;
2415 } else {
2416 var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30;
2417 }
2418 }
2419 if (!var28) {
2420 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17220);
2421 exit(1);
2422 }
2423 var31 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
2424 var32 = NULL;
2425 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var31, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var32, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var31:AExternMethPropdef>*/;
2426 CHECK_NEW_parser_nodes__AExternMethPropdef(var31);
2427 var_ppropdefnode1 = var31;
2428 var_node_list = var_ppropdefnode1;
2429 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction380> */
2430 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
2431 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
2432 RET_LABEL:;
2433 }
2434 /* method parser#ReduceAction380#action for (self: Object, Parser) */
2435 void VIRTUAL_parser__ReduceAction380__action(val* self, val* p0) {
2436 parser__ReduceAction380__action(self, p0);
2437 RET_LABEL:;
2438 }
2439 /* method parser#ReduceAction381#action for (self: ReduceAction381, Parser) */
2440 void parser__ReduceAction381__action(val* self, val* p0) {
2441 val* var_p /* var p: Parser */;
2442 val* var /* : null */;
2443 val* var_node_list /* var node_list: nullable Object */;
2444 val* var1 /* : nullable Object */;
2445 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2446 val* var2 /* : nullable Object */;
2447 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2448 val* var3 /* : nullable Object */;
2449 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2450 val* var4 /* : nullable Object */;
2451 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2452 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2453 short int var5 /* : Bool */;
2454 int cltype;
2455 int idtype;
2456 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2457 short int var6 /* : Bool */;
2458 int cltype7;
2459 int idtype8;
2460 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2461 short int var9 /* : Bool */;
2462 int cltype10;
2463 int idtype11;
2464 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
2465 short int var12 /* : Bool */;
2466 int cltype13;
2467 int idtype14;
2468 val* var15 /* : AAttrPropdef */;
2469 val* var16 /* : null */;
2470 val* var17 /* : null */;
2471 val* var18 /* : null */;
2472 val* var19 /* : null */;
2473 val* var20 /* : null */;
2474 val* var21 /* : null */;
2475 val* var22 /* : null */;
2476 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2477 long var23 /* : Int */;
2478 long var24 /* : Int */;
2479 var_p = p0;
2480 var = NULL;
2481 var_node_list = var;
2482 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2483 var_nodearraylist4 = var1;
2484 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2485 var_nodearraylist3 = var2;
2486 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2487 var_nodearraylist2 = var3;
2488 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2489 var_nodearraylist1 = var4;
2490 var_pdocnode2 = var_nodearraylist1;
2491 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2492 cltype = type_nullable_parser_nodes__ADoc.color;
2493 idtype = type_nullable_parser_nodes__ADoc.id;
2494 if(var_pdocnode2 == NULL) {
2495 var5 = 1;
2496 } else {
2497 if(cltype >= var_pdocnode2->type->table_size) {
2498 var5 = 0;
2499 } else {
2500 var5 = var_pdocnode2->type->type_table[cltype] == idtype;
2501 }
2502 }
2503 if (!var5) {
2504 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17246);
2505 exit(1);
2506 }
2507 var_pvisibilitynode6 = var_nodearraylist2;
2508 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2509 cltype7 = type_nullable_parser_nodes__AVisibility.color;
2510 idtype8 = type_nullable_parser_nodes__AVisibility.id;
2511 if(var_pvisibilitynode6 == NULL) {
2512 var6 = 1;
2513 } else {
2514 if(cltype7 >= var_pvisibilitynode6->type->table_size) {
2515 var6 = 0;
2516 } else {
2517 var6 = var_pvisibilitynode6->type->type_table[cltype7] == idtype8;
2518 }
2519 }
2520 if (!var6) {
2521 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17248);
2522 exit(1);
2523 }
2524 var_tkwvarnode7 = var_nodearraylist3;
2525 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2526 cltype10 = type_nullable_parser_nodes__TKwvar.color;
2527 idtype11 = type_nullable_parser_nodes__TKwvar.id;
2528 if(var_tkwvarnode7 == NULL) {
2529 var9 = 1;
2530 } else {
2531 if(cltype10 >= var_tkwvarnode7->type->table_size) {
2532 var9 = 0;
2533 } else {
2534 var9 = var_tkwvarnode7->type->type_table[cltype10] == idtype11;
2535 }
2536 }
2537 if (!var9) {
2538 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17250);
2539 exit(1);
2540 }
2541 var_tattridnode8 = var_nodearraylist4;
2542 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
2543 cltype13 = type_nullable_parser_nodes__TAttrid.color;
2544 idtype14 = type_nullable_parser_nodes__TAttrid.id;
2545 if(var_tattridnode8 == NULL) {
2546 var12 = 1;
2547 } else {
2548 if(cltype13 >= var_tattridnode8->type->table_size) {
2549 var12 = 0;
2550 } else {
2551 var12 = var_tattridnode8->type->type_table[cltype13] == idtype14;
2552 }
2553 }
2554 if (!var12) {
2555 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17252);
2556 exit(1);
2557 }
2558 var15 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2559 var16 = NULL;
2560 var17 = NULL;
2561 var18 = NULL;
2562 var19 = NULL;
2563 var20 = NULL;
2564 var21 = NULL;
2565 var22 = NULL;
2566 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var15->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var15, var_pdocnode2, var16, var17, var18, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var19, var20, var21, var22) /* init_aattrpropdef on <var15:AAttrPropdef>*/;
2567 CHECK_NEW_parser_nodes__AAttrPropdef(var15);
2568 var_ppropdefnode1 = var15;
2569 var_node_list = var_ppropdefnode1;
2570 var23 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction381> */
2571 var24 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var23) /* go_to on <var_p:Parser>*/;
2572 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var24, var_node_list) /* push on <var_p:Parser>*/;
2573 RET_LABEL:;
2574 }
2575 /* method parser#ReduceAction381#action for (self: Object, Parser) */
2576 void VIRTUAL_parser__ReduceAction381__action(val* self, val* p0) {
2577 parser__ReduceAction381__action(self, p0);
2578 RET_LABEL:;
2579 }
2580 /* method parser#ReduceAction382#action for (self: ReduceAction382, Parser) */
2581 void parser__ReduceAction382__action(val* self, val* p0) {
2582 val* var_p /* var p: Parser */;
2583 val* var /* : null */;
2584 val* var_node_list /* var node_list: nullable Object */;
2585 val* var1 /* : nullable Object */;
2586 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2587 val* var2 /* : nullable Object */;
2588 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2589 val* var3 /* : nullable Object */;
2590 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2591 val* var4 /* : nullable Object */;
2592 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2593 val* var5 /* : nullable Object */;
2594 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2595 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2596 short int var6 /* : Bool */;
2597 int cltype;
2598 int idtype;
2599 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
2600 short int var7 /* : Bool */;
2601 int cltype8;
2602 int idtype9;
2603 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2604 short int var10 /* : Bool */;
2605 int cltype11;
2606 int idtype12;
2607 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2608 short int var13 /* : Bool */;
2609 int cltype14;
2610 int idtype15;
2611 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
2612 short int var16 /* : Bool */;
2613 int cltype17;
2614 int idtype18;
2615 val* var19 /* : AAttrPropdef */;
2616 val* var20 /* : null */;
2617 val* var21 /* : null */;
2618 val* var22 /* : null */;
2619 val* var23 /* : null */;
2620 val* var24 /* : null */;
2621 val* var25 /* : null */;
2622 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2623 long var26 /* : Int */;
2624 long var27 /* : Int */;
2625 var_p = p0;
2626 var = NULL;
2627 var_node_list = var;
2628 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2629 var_nodearraylist5 = var1;
2630 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2631 var_nodearraylist4 = var2;
2632 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2633 var_nodearraylist3 = var3;
2634 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2635 var_nodearraylist2 = var4;
2636 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2637 var_nodearraylist1 = var5;
2638 var_pdocnode2 = var_nodearraylist1;
2639 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2640 cltype = type_nullable_parser_nodes__ADoc.color;
2641 idtype = type_nullable_parser_nodes__ADoc.id;
2642 if(var_pdocnode2 == NULL) {
2643 var6 = 1;
2644 } else {
2645 if(cltype >= var_pdocnode2->type->table_size) {
2646 var6 = 0;
2647 } else {
2648 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
2649 }
2650 }
2651 if (!var6) {
2652 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17281);
2653 exit(1);
2654 }
2655 var_tkwredefnode5 = var_nodearraylist2;
2656 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
2657 cltype8 = type_nullable_parser_nodes__TKwredef.color;
2658 idtype9 = type_nullable_parser_nodes__TKwredef.id;
2659 if(var_tkwredefnode5 == NULL) {
2660 var7 = 1;
2661 } else {
2662 if(cltype8 >= var_tkwredefnode5->type->table_size) {
2663 var7 = 0;
2664 } else {
2665 var7 = var_tkwredefnode5->type->type_table[cltype8] == idtype9;
2666 }
2667 }
2668 if (!var7) {
2669 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17283);
2670 exit(1);
2671 }
2672 var_pvisibilitynode6 = var_nodearraylist3;
2673 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2674 cltype11 = type_nullable_parser_nodes__AVisibility.color;
2675 idtype12 = type_nullable_parser_nodes__AVisibility.id;
2676 if(var_pvisibilitynode6 == NULL) {
2677 var10 = 1;
2678 } else {
2679 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
2680 var10 = 0;
2681 } else {
2682 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
2683 }
2684 }
2685 if (!var10) {
2686 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17285);
2687 exit(1);
2688 }
2689 var_tkwvarnode7 = var_nodearraylist4;
2690 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2691 cltype14 = type_nullable_parser_nodes__TKwvar.color;
2692 idtype15 = type_nullable_parser_nodes__TKwvar.id;
2693 if(var_tkwvarnode7 == NULL) {
2694 var13 = 1;
2695 } else {
2696 if(cltype14 >= var_tkwvarnode7->type->table_size) {
2697 var13 = 0;
2698 } else {
2699 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
2700 }
2701 }
2702 if (!var13) {
2703 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17287);
2704 exit(1);
2705 }
2706 var_tattridnode8 = var_nodearraylist5;
2707 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
2708 cltype17 = type_nullable_parser_nodes__TAttrid.color;
2709 idtype18 = type_nullable_parser_nodes__TAttrid.id;
2710 if(var_tattridnode8 == NULL) {
2711 var16 = 1;
2712 } else {
2713 if(cltype17 >= var_tattridnode8->type->table_size) {
2714 var16 = 0;
2715 } else {
2716 var16 = var_tattridnode8->type->type_table[cltype17] == idtype18;
2717 }
2718 }
2719 if (!var16) {
2720 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17289);
2721 exit(1);
2722 }
2723 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2724 var20 = NULL;
2725 var21 = NULL;
2726 var22 = NULL;
2727 var23 = NULL;
2728 var24 = NULL;
2729 var25 = NULL;
2730 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var20, var21, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var22, var23, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
2731 CHECK_NEW_parser_nodes__AAttrPropdef(var19);
2732 var_ppropdefnode1 = var19;
2733 var_node_list = var_ppropdefnode1;
2734 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction382> */
2735 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
2736 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
2737 RET_LABEL:;
2738 }
2739 /* method parser#ReduceAction382#action for (self: Object, Parser) */
2740 void VIRTUAL_parser__ReduceAction382__action(val* self, val* p0) {
2741 parser__ReduceAction382__action(self, p0);
2742 RET_LABEL:;
2743 }
2744 /* method parser#ReduceAction383#action for (self: ReduceAction383, Parser) */
2745 void parser__ReduceAction383__action(val* self, val* p0) {
2746 val* var_p /* var p: Parser */;
2747 val* var /* : null */;
2748 val* var_node_list /* var node_list: nullable Object */;
2749 val* var1 /* : nullable Object */;
2750 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2751 val* var2 /* : nullable Object */;
2752 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2753 val* var3 /* : nullable Object */;
2754 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2755 val* var4 /* : nullable Object */;
2756 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2757 val* var5 /* : nullable Object */;
2758 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2759 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2760 short int var6 /* : Bool */;
2761 int cltype;
2762 int idtype;
2763 val* var_pablenode3 /* var pablenode3: nullable Object */;
2764 short int var7 /* : Bool */;
2765 int cltype8;
2766 int idtype9;
2767 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2768 short int var10 /* : Bool */;
2769 int cltype11;
2770 int idtype12;
2771 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2772 short int var13 /* : Bool */;
2773 int cltype14;
2774 int idtype15;
2775 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
2776 short int var16 /* : Bool */;
2777 int cltype17;
2778 int idtype18;
2779 val* var19 /* : AAttrPropdef */;
2780 val* var20 /* : null */;
2781 val* var21 /* : null */;
2782 val* var22 /* : null */;
2783 val* var23 /* : null */;
2784 val* var24 /* : null */;
2785 val* var25 /* : null */;
2786 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2787 long var26 /* : Int */;
2788 long var27 /* : Int */;
2789 var_p = p0;
2790 var = NULL;
2791 var_node_list = var;
2792 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2793 var_nodearraylist5 = var1;
2794 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2795 var_nodearraylist4 = var2;
2796 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2797 var_nodearraylist3 = var3;
2798 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2799 var_nodearraylist2 = var4;
2800 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2801 var_nodearraylist1 = var5;
2802 var_pdocnode2 = var_nodearraylist1;
2803 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2804 cltype = type_nullable_parser_nodes__ADoc.color;
2805 idtype = type_nullable_parser_nodes__ADoc.id;
2806 if(var_pdocnode2 == NULL) {
2807 var6 = 1;
2808 } else {
2809 if(cltype >= var_pdocnode2->type->table_size) {
2810 var6 = 0;
2811 } else {
2812 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
2813 }
2814 }
2815 if (!var6) {
2816 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17318);
2817 exit(1);
2818 }
2819 var_pablenode3 = var_nodearraylist2;
2820 /* <var_pablenode3:nullable Object> isa nullable AAble */
2821 cltype8 = type_nullable_parser_nodes__AAble.color;
2822 idtype9 = type_nullable_parser_nodes__AAble.id;
2823 if(var_pablenode3 == NULL) {
2824 var7 = 1;
2825 } else {
2826 if(cltype8 >= var_pablenode3->type->table_size) {
2827 var7 = 0;
2828 } else {
2829 var7 = var_pablenode3->type->type_table[cltype8] == idtype9;
2830 }
2831 }
2832 if (!var7) {
2833 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17320);
2834 exit(1);
2835 }
2836 var_pvisibilitynode6 = var_nodearraylist3;
2837 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2838 cltype11 = type_nullable_parser_nodes__AVisibility.color;
2839 idtype12 = type_nullable_parser_nodes__AVisibility.id;
2840 if(var_pvisibilitynode6 == NULL) {
2841 var10 = 1;
2842 } else {
2843 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
2844 var10 = 0;
2845 } else {
2846 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
2847 }
2848 }
2849 if (!var10) {
2850 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17322);
2851 exit(1);
2852 }
2853 var_tkwvarnode7 = var_nodearraylist4;
2854 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2855 cltype14 = type_nullable_parser_nodes__TKwvar.color;
2856 idtype15 = type_nullable_parser_nodes__TKwvar.id;
2857 if(var_tkwvarnode7 == NULL) {
2858 var13 = 1;
2859 } else {
2860 if(cltype14 >= var_tkwvarnode7->type->table_size) {
2861 var13 = 0;
2862 } else {
2863 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
2864 }
2865 }
2866 if (!var13) {
2867 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17324);
2868 exit(1);
2869 }
2870 var_tattridnode8 = var_nodearraylist5;
2871 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
2872 cltype17 = type_nullable_parser_nodes__TAttrid.color;
2873 idtype18 = type_nullable_parser_nodes__TAttrid.id;
2874 if(var_tattridnode8 == NULL) {
2875 var16 = 1;
2876 } else {
2877 if(cltype17 >= var_tattridnode8->type->table_size) {
2878 var16 = 0;
2879 } else {
2880 var16 = var_tattridnode8->type->type_table[cltype17] == idtype18;
2881 }
2882 }
2883 if (!var16) {
2884 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17326);
2885 exit(1);
2886 }
2887 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2888 var20 = NULL;
2889 var21 = NULL;
2890 var22 = NULL;
2891 var23 = NULL;
2892 var24 = NULL;
2893 var25 = NULL;
2894 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var_pablenode3, var20, var21, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var22, var23, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
2895 CHECK_NEW_parser_nodes__AAttrPropdef(var19);
2896 var_ppropdefnode1 = var19;
2897 var_node_list = var_ppropdefnode1;
2898 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction383> */
2899 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
2900 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
2901 RET_LABEL:;
2902 }
2903 /* method parser#ReduceAction383#action for (self: Object, Parser) */
2904 void VIRTUAL_parser__ReduceAction383__action(val* self, val* p0) {
2905 parser__ReduceAction383__action(self, p0);
2906 RET_LABEL:;
2907 }
2908 /* method parser#ReduceAction384#action for (self: ReduceAction384, Parser) */
2909 void parser__ReduceAction384__action(val* self, val* p0) {
2910 val* var_p /* var p: Parser */;
2911 val* var /* : null */;
2912 val* var_node_list /* var node_list: nullable Object */;
2913 val* var1 /* : nullable Object */;
2914 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2915 val* var2 /* : nullable Object */;
2916 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2917 val* var3 /* : nullable Object */;
2918 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2919 val* var4 /* : nullable Object */;
2920 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2921 val* var5 /* : nullable Object */;
2922 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2923 val* var6 /* : nullable Object */;
2924 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2925 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2926 short int var7 /* : Bool */;
2927 int cltype;
2928 int idtype;
2929 val* var_pablenode3 /* var pablenode3: nullable Object */;
2930 short int var8 /* : Bool */;
2931 int cltype9;
2932 int idtype10;
2933 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
2934 short int var11 /* : Bool */;
2935 int cltype12;
2936 int idtype13;
2937 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2938 short int var14 /* : Bool */;
2939 int cltype15;
2940 int idtype16;
2941 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2942 short int var17 /* : Bool */;
2943 int cltype18;
2944 int idtype19;
2945 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
2946 short int var20 /* : Bool */;
2947 int cltype21;
2948 int idtype22;
2949 val* var23 /* : AAttrPropdef */;
2950 val* var24 /* : null */;
2951 val* var25 /* : null */;
2952 val* var26 /* : null */;
2953 val* var27 /* : null */;
2954 val* var28 /* : null */;
2955 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2956 long var29 /* : Int */;
2957 long var30 /* : Int */;
2958 var_p = p0;
2959 var = NULL;
2960 var_node_list = var;
2961 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2962 var_nodearraylist6 = var1;
2963 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2964 var_nodearraylist5 = var2;
2965 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2966 var_nodearraylist4 = var3;
2967 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2968 var_nodearraylist3 = var4;
2969 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2970 var_nodearraylist2 = var5;
2971 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2972 var_nodearraylist1 = var6;
2973 var_pdocnode2 = var_nodearraylist1;
2974 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2975 cltype = type_nullable_parser_nodes__ADoc.color;
2976 idtype = type_nullable_parser_nodes__ADoc.id;
2977 if(var_pdocnode2 == NULL) {
2978 var7 = 1;
2979 } else {
2980 if(cltype >= var_pdocnode2->type->table_size) {
2981 var7 = 0;
2982 } else {
2983 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
2984 }
2985 }
2986 if (!var7) {
2987 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17356);
2988 exit(1);
2989 }
2990 var_pablenode3 = var_nodearraylist2;
2991 /* <var_pablenode3:nullable Object> isa nullable AAble */
2992 cltype9 = type_nullable_parser_nodes__AAble.color;
2993 idtype10 = type_nullable_parser_nodes__AAble.id;
2994 if(var_pablenode3 == NULL) {
2995 var8 = 1;
2996 } else {
2997 if(cltype9 >= var_pablenode3->type->table_size) {
2998 var8 = 0;
2999 } else {
3000 var8 = var_pablenode3->type->type_table[cltype9] == idtype10;
3001 }
3002 }
3003 if (!var8) {
3004 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17358);
3005 exit(1);
3006 }
3007 var_tkwredefnode5 = var_nodearraylist3;
3008 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
3009 cltype12 = type_nullable_parser_nodes__TKwredef.color;
3010 idtype13 = type_nullable_parser_nodes__TKwredef.id;
3011 if(var_tkwredefnode5 == NULL) {
3012 var11 = 1;
3013 } else {
3014 if(cltype12 >= var_tkwredefnode5->type->table_size) {
3015 var11 = 0;
3016 } else {
3017 var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
3018 }
3019 }
3020 if (!var11) {
3021 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17360);
3022 exit(1);
3023 }
3024 var_pvisibilitynode6 = var_nodearraylist4;
3025 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3026 cltype15 = type_nullable_parser_nodes__AVisibility.color;
3027 idtype16 = type_nullable_parser_nodes__AVisibility.id;
3028 if(var_pvisibilitynode6 == NULL) {
3029 var14 = 1;
3030 } else {
3031 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
3032 var14 = 0;
3033 } else {
3034 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
3035 }
3036 }
3037 if (!var14) {
3038 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17362);
3039 exit(1);
3040 }
3041 var_tkwvarnode7 = var_nodearraylist5;
3042 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3043 cltype18 = type_nullable_parser_nodes__TKwvar.color;
3044 idtype19 = type_nullable_parser_nodes__TKwvar.id;
3045 if(var_tkwvarnode7 == NULL) {
3046 var17 = 1;
3047 } else {
3048 if(cltype18 >= var_tkwvarnode7->type->table_size) {
3049 var17 = 0;
3050 } else {
3051 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
3052 }
3053 }
3054 if (!var17) {
3055 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17364);
3056 exit(1);
3057 }
3058 var_tattridnode8 = var_nodearraylist6;
3059 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
3060 cltype21 = type_nullable_parser_nodes__TAttrid.color;
3061 idtype22 = type_nullable_parser_nodes__TAttrid.id;
3062 if(var_tattridnode8 == NULL) {
3063 var20 = 1;
3064 } else {
3065 if(cltype21 >= var_tattridnode8->type->table_size) {
3066 var20 = 0;
3067 } else {
3068 var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
3069 }
3070 }
3071 if (!var20) {
3072 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17366);
3073 exit(1);
3074 }
3075 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3076 var24 = NULL;
3077 var25 = NULL;
3078 var26 = NULL;
3079 var27 = NULL;
3080 var28 = NULL;
3081 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var_pablenode3, var24, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var25, var26, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
3082 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
3083 var_ppropdefnode1 = var23;
3084 var_node_list = var_ppropdefnode1;
3085 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction384> */
3086 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
3087 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
3088 RET_LABEL:;
3089 }
3090 /* method parser#ReduceAction384#action for (self: Object, Parser) */
3091 void VIRTUAL_parser__ReduceAction384__action(val* self, val* p0) {
3092 parser__ReduceAction384__action(self, p0);
3093 RET_LABEL:;
3094 }
3095 /* method parser#ReduceAction385#action for (self: ReduceAction385, Parser) */
3096 void parser__ReduceAction385__action(val* self, val* p0) {
3097 val* var_p /* var p: Parser */;
3098 val* var /* : null */;
3099 val* var_node_list /* var node_list: nullable Object */;
3100 val* var1 /* : nullable Object */;
3101 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3102 val* var2 /* : nullable Object */;
3103 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3104 val* var3 /* : nullable Object */;
3105 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3106 val* var4 /* : nullable Object */;
3107 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3108 val* var5 /* : nullable Object */;
3109 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3110 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3111 short int var6 /* : Bool */;
3112 int cltype;
3113 int idtype;
3114 val* var_pablenode4 /* var pablenode4: nullable Object */;
3115 short int var7 /* : Bool */;
3116 int cltype8;
3117 int idtype9;
3118 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3119 short int var10 /* : Bool */;
3120 int cltype11;
3121 int idtype12;
3122 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3123 short int var13 /* : Bool */;
3124 int cltype14;
3125 int idtype15;
3126 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
3127 short int var16 /* : Bool */;
3128 int cltype17;
3129 int idtype18;
3130 val* var19 /* : AAttrPropdef */;
3131 val* var20 /* : null */;
3132 val* var21 /* : null */;
3133 val* var22 /* : null */;
3134 val* var23 /* : null */;
3135 val* var24 /* : null */;
3136 val* var25 /* : null */;
3137 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3138 long var26 /* : Int */;
3139 long var27 /* : Int */;
3140 var_p = p0;
3141 var = NULL;
3142 var_node_list = var;
3143 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3144 var_nodearraylist5 = var1;
3145 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3146 var_nodearraylist4 = var2;
3147 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3148 var_nodearraylist3 = var3;
3149 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3150 var_nodearraylist2 = var4;
3151 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3152 var_nodearraylist1 = var5;
3153 var_pdocnode2 = var_nodearraylist1;
3154 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3155 cltype = type_nullable_parser_nodes__ADoc.color;
3156 idtype = type_nullable_parser_nodes__ADoc.id;
3157 if(var_pdocnode2 == NULL) {
3158 var6 = 1;
3159 } else {
3160 if(cltype >= var_pdocnode2->type->table_size) {
3161 var6 = 0;
3162 } else {
3163 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
3164 }
3165 }
3166 if (!var6) {
3167 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17395);
3168 exit(1);
3169 }
3170 var_pablenode4 = var_nodearraylist2;
3171 /* <var_pablenode4:nullable Object> isa nullable AAble */
3172 cltype8 = type_nullable_parser_nodes__AAble.color;
3173 idtype9 = type_nullable_parser_nodes__AAble.id;
3174 if(var_pablenode4 == NULL) {
3175 var7 = 1;
3176 } else {
3177 if(cltype8 >= var_pablenode4->type->table_size) {
3178 var7 = 0;
3179 } else {
3180 var7 = var_pablenode4->type->type_table[cltype8] == idtype9;
3181 }
3182 }
3183 if (!var7) {
3184 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17397);
3185 exit(1);
3186 }
3187 var_pvisibilitynode6 = var_nodearraylist3;
3188 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3189 cltype11 = type_nullable_parser_nodes__AVisibility.color;
3190 idtype12 = type_nullable_parser_nodes__AVisibility.id;
3191 if(var_pvisibilitynode6 == NULL) {
3192 var10 = 1;
3193 } else {
3194 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
3195 var10 = 0;
3196 } else {
3197 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
3198 }
3199 }
3200 if (!var10) {
3201 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17399);
3202 exit(1);
3203 }
3204 var_tkwvarnode7 = var_nodearraylist4;
3205 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3206 cltype14 = type_nullable_parser_nodes__TKwvar.color;
3207 idtype15 = type_nullable_parser_nodes__TKwvar.id;
3208 if(var_tkwvarnode7 == NULL) {
3209 var13 = 1;
3210 } else {
3211 if(cltype14 >= var_tkwvarnode7->type->table_size) {
3212 var13 = 0;
3213 } else {
3214 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
3215 }
3216 }
3217 if (!var13) {
3218 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17401);
3219 exit(1);
3220 }
3221 var_tattridnode8 = var_nodearraylist5;
3222 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
3223 cltype17 = type_nullable_parser_nodes__TAttrid.color;
3224 idtype18 = type_nullable_parser_nodes__TAttrid.id;
3225 if(var_tattridnode8 == NULL) {
3226 var16 = 1;
3227 } else {
3228 if(cltype17 >= var_tattridnode8->type->table_size) {
3229 var16 = 0;
3230 } else {
3231 var16 = var_tattridnode8->type->type_table[cltype17] == idtype18;
3232 }
3233 }
3234 if (!var16) {
3235 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17403);
3236 exit(1);
3237 }
3238 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3239 var20 = NULL;
3240 var21 = NULL;
3241 var22 = NULL;
3242 var23 = NULL;
3243 var24 = NULL;
3244 var25 = NULL;
3245 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var20, var_pablenode4, var21, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var22, var23, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
3246 CHECK_NEW_parser_nodes__AAttrPropdef(var19);
3247 var_ppropdefnode1 = var19;
3248 var_node_list = var_ppropdefnode1;
3249 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction385> */
3250 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
3251 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
3252 RET_LABEL:;
3253 }
3254 /* method parser#ReduceAction385#action for (self: Object, Parser) */
3255 void VIRTUAL_parser__ReduceAction385__action(val* self, val* p0) {
3256 parser__ReduceAction385__action(self, p0);
3257 RET_LABEL:;
3258 }
3259 /* method parser#ReduceAction386#action for (self: ReduceAction386, Parser) */
3260 void parser__ReduceAction386__action(val* self, val* p0) {
3261 val* var_p /* var p: Parser */;
3262 val* var /* : null */;
3263 val* var_node_list /* var node_list: nullable Object */;
3264 val* var1 /* : nullable Object */;
3265 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3266 val* var2 /* : nullable Object */;
3267 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3268 val* var3 /* : nullable Object */;
3269 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3270 val* var4 /* : nullable Object */;
3271 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3272 val* var5 /* : nullable Object */;
3273 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3274 val* var6 /* : nullable Object */;
3275 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3276 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3277 short int var7 /* : Bool */;
3278 int cltype;
3279 int idtype;
3280 val* var_pablenode4 /* var pablenode4: nullable Object */;
3281 short int var8 /* : Bool */;
3282 int cltype9;
3283 int idtype10;
3284 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
3285 short int var11 /* : Bool */;
3286 int cltype12;
3287 int idtype13;
3288 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3289 short int var14 /* : Bool */;
3290 int cltype15;
3291 int idtype16;
3292 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3293 short int var17 /* : Bool */;
3294 int cltype18;
3295 int idtype19;
3296 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
3297 short int var20 /* : Bool */;
3298 int cltype21;
3299 int idtype22;
3300 val* var23 /* : AAttrPropdef */;
3301 val* var24 /* : null */;
3302 val* var25 /* : null */;
3303 val* var26 /* : null */;
3304 val* var27 /* : null */;
3305 val* var28 /* : null */;
3306 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3307 long var29 /* : Int */;
3308 long var30 /* : Int */;
3309 var_p = p0;
3310 var = NULL;
3311 var_node_list = var;
3312 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3313 var_nodearraylist6 = var1;
3314 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3315 var_nodearraylist5 = var2;
3316 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3317 var_nodearraylist4 = var3;
3318 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3319 var_nodearraylist3 = var4;
3320 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3321 var_nodearraylist2 = var5;
3322 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3323 var_nodearraylist1 = var6;
3324 var_pdocnode2 = var_nodearraylist1;
3325 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3326 cltype = type_nullable_parser_nodes__ADoc.color;
3327 idtype = type_nullable_parser_nodes__ADoc.id;
3328 if(var_pdocnode2 == NULL) {
3329 var7 = 1;
3330 } else {
3331 if(cltype >= var_pdocnode2->type->table_size) {
3332 var7 = 0;
3333 } else {
3334 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
3335 }
3336 }
3337 if (!var7) {
3338 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17433);
3339 exit(1);
3340 }
3341 var_pablenode4 = var_nodearraylist2;
3342 /* <var_pablenode4:nullable Object> isa nullable AAble */
3343 cltype9 = type_nullable_parser_nodes__AAble.color;
3344 idtype10 = type_nullable_parser_nodes__AAble.id;
3345 if(var_pablenode4 == NULL) {
3346 var8 = 1;
3347 } else {
3348 if(cltype9 >= var_pablenode4->type->table_size) {
3349 var8 = 0;
3350 } else {
3351 var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
3352 }
3353 }
3354 if (!var8) {
3355 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17435);
3356 exit(1);
3357 }
3358 var_tkwredefnode5 = var_nodearraylist3;
3359 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
3360 cltype12 = type_nullable_parser_nodes__TKwredef.color;
3361 idtype13 = type_nullable_parser_nodes__TKwredef.id;
3362 if(var_tkwredefnode5 == NULL) {
3363 var11 = 1;
3364 } else {
3365 if(cltype12 >= var_tkwredefnode5->type->table_size) {
3366 var11 = 0;
3367 } else {
3368 var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
3369 }
3370 }
3371 if (!var11) {
3372 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17437);
3373 exit(1);
3374 }
3375 var_pvisibilitynode6 = var_nodearraylist4;
3376 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3377 cltype15 = type_nullable_parser_nodes__AVisibility.color;
3378 idtype16 = type_nullable_parser_nodes__AVisibility.id;
3379 if(var_pvisibilitynode6 == NULL) {
3380 var14 = 1;
3381 } else {
3382 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
3383 var14 = 0;
3384 } else {
3385 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
3386 }
3387 }
3388 if (!var14) {
3389 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17439);
3390 exit(1);
3391 }
3392 var_tkwvarnode7 = var_nodearraylist5;
3393 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3394 cltype18 = type_nullable_parser_nodes__TKwvar.color;
3395 idtype19 = type_nullable_parser_nodes__TKwvar.id;
3396 if(var_tkwvarnode7 == NULL) {
3397 var17 = 1;
3398 } else {
3399 if(cltype18 >= var_tkwvarnode7->type->table_size) {
3400 var17 = 0;
3401 } else {
3402 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
3403 }
3404 }
3405 if (!var17) {
3406 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17441);
3407 exit(1);
3408 }
3409 var_tattridnode8 = var_nodearraylist6;
3410 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
3411 cltype21 = type_nullable_parser_nodes__TAttrid.color;
3412 idtype22 = type_nullable_parser_nodes__TAttrid.id;
3413 if(var_tattridnode8 == NULL) {
3414 var20 = 1;
3415 } else {
3416 if(cltype21 >= var_tattridnode8->type->table_size) {
3417 var20 = 0;
3418 } else {
3419 var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
3420 }
3421 }
3422 if (!var20) {
3423 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17443);
3424 exit(1);
3425 }
3426 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3427 var24 = NULL;
3428 var25 = NULL;
3429 var26 = NULL;
3430 var27 = NULL;
3431 var28 = NULL;
3432 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var25, var26, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
3433 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
3434 var_ppropdefnode1 = var23;
3435 var_node_list = var_ppropdefnode1;
3436 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction386> */
3437 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
3438 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
3439 RET_LABEL:;
3440 }
3441 /* method parser#ReduceAction386#action for (self: Object, Parser) */
3442 void VIRTUAL_parser__ReduceAction386__action(val* self, val* p0) {
3443 parser__ReduceAction386__action(self, p0);
3444 RET_LABEL:;
3445 }
3446 /* method parser#ReduceAction387#action for (self: ReduceAction387, Parser) */
3447 void parser__ReduceAction387__action(val* self, val* p0) {
3448 val* var_p /* var p: Parser */;
3449 val* var /* : null */;
3450 val* var_node_list /* var node_list: nullable Object */;
3451 val* var1 /* : nullable Object */;
3452 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3453 val* var2 /* : nullable Object */;
3454 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3455 val* var3 /* : nullable Object */;
3456 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3457 val* var4 /* : nullable Object */;
3458 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3459 val* var5 /* : nullable Object */;
3460 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3461 val* var6 /* : nullable Object */;
3462 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3463 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3464 short int var7 /* : Bool */;
3465 int cltype;
3466 int idtype;
3467 val* var_pablenode3 /* var pablenode3: nullable Object */;
3468 short int var8 /* : Bool */;
3469 int cltype9;
3470 int idtype10;
3471 val* var_pablenode4 /* var pablenode4: nullable Object */;
3472 short int var11 /* : Bool */;
3473 int cltype12;
3474 int idtype13;
3475 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3476 short int var14 /* : Bool */;
3477 int cltype15;
3478 int idtype16;
3479 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3480 short int var17 /* : Bool */;
3481 int cltype18;
3482 int idtype19;
3483 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
3484 short int var20 /* : Bool */;
3485 int cltype21;
3486 int idtype22;
3487 val* var23 /* : AAttrPropdef */;
3488 val* var24 /* : null */;
3489 val* var25 /* : null */;
3490 val* var26 /* : null */;
3491 val* var27 /* : null */;
3492 val* var28 /* : null */;
3493 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3494 long var29 /* : Int */;
3495 long var30 /* : Int */;
3496 var_p = p0;
3497 var = NULL;
3498 var_node_list = var;
3499 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3500 var_nodearraylist6 = var1;
3501 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3502 var_nodearraylist5 = var2;
3503 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3504 var_nodearraylist4 = var3;
3505 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3506 var_nodearraylist3 = var4;
3507 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3508 var_nodearraylist2 = var5;
3509 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3510 var_nodearraylist1 = var6;
3511 var_pdocnode2 = var_nodearraylist1;
3512 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3513 cltype = type_nullable_parser_nodes__ADoc.color;
3514 idtype = type_nullable_parser_nodes__ADoc.id;
3515 if(var_pdocnode2 == NULL) {
3516 var7 = 1;
3517 } else {
3518 if(cltype >= var_pdocnode2->type->table_size) {
3519 var7 = 0;
3520 } else {
3521 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
3522 }
3523 }
3524 if (!var7) {
3525 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17473);
3526 exit(1);
3527 }
3528 var_pablenode3 = var_nodearraylist2;
3529 /* <var_pablenode3:nullable Object> isa nullable AAble */
3530 cltype9 = type_nullable_parser_nodes__AAble.color;
3531 idtype10 = type_nullable_parser_nodes__AAble.id;
3532 if(var_pablenode3 == NULL) {
3533 var8 = 1;
3534 } else {
3535 if(cltype9 >= var_pablenode3->type->table_size) {
3536 var8 = 0;
3537 } else {
3538 var8 = var_pablenode3->type->type_table[cltype9] == idtype10;
3539 }
3540 }
3541 if (!var8) {
3542 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17475);
3543 exit(1);
3544 }
3545 var_pablenode4 = var_nodearraylist3;
3546 /* <var_pablenode4:nullable Object> isa nullable AAble */
3547 cltype12 = type_nullable_parser_nodes__AAble.color;
3548 idtype13 = type_nullable_parser_nodes__AAble.id;
3549 if(var_pablenode4 == NULL) {
3550 var11 = 1;
3551 } else {
3552 if(cltype12 >= var_pablenode4->type->table_size) {
3553 var11 = 0;
3554 } else {
3555 var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
3556 }
3557 }
3558 if (!var11) {
3559 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17477);
3560 exit(1);
3561 }
3562 var_pvisibilitynode6 = var_nodearraylist4;
3563 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3564 cltype15 = type_nullable_parser_nodes__AVisibility.color;
3565 idtype16 = type_nullable_parser_nodes__AVisibility.id;
3566 if(var_pvisibilitynode6 == NULL) {
3567 var14 = 1;
3568 } else {
3569 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
3570 var14 = 0;
3571 } else {
3572 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
3573 }
3574 }
3575 if (!var14) {
3576 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17479);
3577 exit(1);
3578 }
3579 var_tkwvarnode7 = var_nodearraylist5;
3580 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3581 cltype18 = type_nullable_parser_nodes__TKwvar.color;
3582 idtype19 = type_nullable_parser_nodes__TKwvar.id;
3583 if(var_tkwvarnode7 == NULL) {
3584 var17 = 1;
3585 } else {
3586 if(cltype18 >= var_tkwvarnode7->type->table_size) {
3587 var17 = 0;
3588 } else {
3589 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
3590 }
3591 }
3592 if (!var17) {
3593 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17481);
3594 exit(1);
3595 }
3596 var_tattridnode8 = var_nodearraylist6;
3597 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
3598 cltype21 = type_nullable_parser_nodes__TAttrid.color;
3599 idtype22 = type_nullable_parser_nodes__TAttrid.id;
3600 if(var_tattridnode8 == NULL) {
3601 var20 = 1;
3602 } else {
3603 if(cltype21 >= var_tattridnode8->type->table_size) {
3604 var20 = 0;
3605 } else {
3606 var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
3607 }
3608 }
3609 if (!var20) {
3610 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17483);
3611 exit(1);
3612 }
3613 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3614 var24 = NULL;
3615 var25 = NULL;
3616 var26 = NULL;
3617 var27 = NULL;
3618 var28 = NULL;
3619 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var_pablenode3, var_pablenode4, var24, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var25, var26, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
3620 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
3621 var_ppropdefnode1 = var23;
3622 var_node_list = var_ppropdefnode1;
3623 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction387> */
3624 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
3625 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
3626 RET_LABEL:;
3627 }
3628 /* method parser#ReduceAction387#action for (self: Object, Parser) */
3629 void VIRTUAL_parser__ReduceAction387__action(val* self, val* p0) {
3630 parser__ReduceAction387__action(self, p0);
3631 RET_LABEL:;
3632 }
3633 /* method parser#ReduceAction388#action for (self: ReduceAction388, Parser) */
3634 void parser__ReduceAction388__action(val* self, val* p0) {
3635 val* var_p /* var p: Parser */;
3636 val* var /* : null */;
3637 val* var_node_list /* var node_list: nullable Object */;
3638 val* var1 /* : nullable Object */;
3639 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3640 val* var2 /* : nullable Object */;
3641 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3642 val* var3 /* : nullable Object */;
3643 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3644 val* var4 /* : nullable Object */;
3645 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3646 val* var5 /* : nullable Object */;
3647 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3648 val* var6 /* : nullable Object */;
3649 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3650 val* var7 /* : nullable Object */;
3651 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3652 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3653 short int var8 /* : Bool */;
3654 int cltype;
3655 int idtype;
3656 val* var_pablenode3 /* var pablenode3: nullable Object */;
3657 short int var9 /* : Bool */;
3658 int cltype10;
3659 int idtype11;
3660 val* var_pablenode4 /* var pablenode4: nullable Object */;
3661 short int var12 /* : Bool */;
3662 int cltype13;
3663 int idtype14;
3664 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
3665 short int var15 /* : Bool */;
3666 int cltype16;
3667 int idtype17;
3668 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3669 short int var18 /* : Bool */;
3670 int cltype19;
3671 int idtype20;
3672 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3673 short int var21 /* : Bool */;
3674 int cltype22;
3675 int idtype23;
3676 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
3677 short int var24 /* : Bool */;
3678 int cltype25;
3679 int idtype26;
3680 val* var27 /* : AAttrPropdef */;
3681 val* var28 /* : null */;
3682 val* var29 /* : null */;
3683 val* var30 /* : null */;
3684 val* var31 /* : null */;
3685 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3686 long var32 /* : Int */;
3687 long var33 /* : Int */;
3688 var_p = p0;
3689 var = NULL;
3690 var_node_list = var;
3691 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3692 var_nodearraylist7 = var1;
3693 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3694 var_nodearraylist6 = var2;
3695 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3696 var_nodearraylist5 = var3;
3697 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3698 var_nodearraylist4 = var4;
3699 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3700 var_nodearraylist3 = var5;
3701 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3702 var_nodearraylist2 = var6;
3703 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3704 var_nodearraylist1 = var7;
3705 var_pdocnode2 = var_nodearraylist1;
3706 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3707 cltype = type_nullable_parser_nodes__ADoc.color;
3708 idtype = type_nullable_parser_nodes__ADoc.id;
3709 if(var_pdocnode2 == NULL) {
3710 var8 = 1;
3711 } else {
3712 if(cltype >= var_pdocnode2->type->table_size) {
3713 var8 = 0;
3714 } else {
3715 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
3716 }
3717 }
3718 if (!var8) {
3719 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17514);
3720 exit(1);
3721 }
3722 var_pablenode3 = var_nodearraylist2;
3723 /* <var_pablenode3:nullable Object> isa nullable AAble */
3724 cltype10 = type_nullable_parser_nodes__AAble.color;
3725 idtype11 = type_nullable_parser_nodes__AAble.id;
3726 if(var_pablenode3 == NULL) {
3727 var9 = 1;
3728 } else {
3729 if(cltype10 >= var_pablenode3->type->table_size) {
3730 var9 = 0;
3731 } else {
3732 var9 = var_pablenode3->type->type_table[cltype10] == idtype11;
3733 }
3734 }
3735 if (!var9) {
3736 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17516);
3737 exit(1);
3738 }
3739 var_pablenode4 = var_nodearraylist3;
3740 /* <var_pablenode4:nullable Object> isa nullable AAble */
3741 cltype13 = type_nullable_parser_nodes__AAble.color;
3742 idtype14 = type_nullable_parser_nodes__AAble.id;
3743 if(var_pablenode4 == NULL) {
3744 var12 = 1;
3745 } else {
3746 if(cltype13 >= var_pablenode4->type->table_size) {
3747 var12 = 0;
3748 } else {
3749 var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
3750 }
3751 }
3752 if (!var12) {
3753 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17518);
3754 exit(1);
3755 }
3756 var_tkwredefnode5 = var_nodearraylist4;
3757 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
3758 cltype16 = type_nullable_parser_nodes__TKwredef.color;
3759 idtype17 = type_nullable_parser_nodes__TKwredef.id;
3760 if(var_tkwredefnode5 == NULL) {
3761 var15 = 1;
3762 } else {
3763 if(cltype16 >= var_tkwredefnode5->type->table_size) {
3764 var15 = 0;
3765 } else {
3766 var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
3767 }
3768 }
3769 if (!var15) {
3770 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17520);
3771 exit(1);
3772 }
3773 var_pvisibilitynode6 = var_nodearraylist5;
3774 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3775 cltype19 = type_nullable_parser_nodes__AVisibility.color;
3776 idtype20 = type_nullable_parser_nodes__AVisibility.id;
3777 if(var_pvisibilitynode6 == NULL) {
3778 var18 = 1;
3779 } else {
3780 if(cltype19 >= var_pvisibilitynode6->type->table_size) {
3781 var18 = 0;
3782 } else {
3783 var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
3784 }
3785 }
3786 if (!var18) {
3787 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17522);
3788 exit(1);
3789 }
3790 var_tkwvarnode7 = var_nodearraylist6;
3791 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3792 cltype22 = type_nullable_parser_nodes__TKwvar.color;
3793 idtype23 = type_nullable_parser_nodes__TKwvar.id;
3794 if(var_tkwvarnode7 == NULL) {
3795 var21 = 1;
3796 } else {
3797 if(cltype22 >= var_tkwvarnode7->type->table_size) {
3798 var21 = 0;
3799 } else {
3800 var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
3801 }
3802 }
3803 if (!var21) {
3804 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17524);
3805 exit(1);
3806 }
3807 var_tattridnode8 = var_nodearraylist7;
3808 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
3809 cltype25 = type_nullable_parser_nodes__TAttrid.color;
3810 idtype26 = type_nullable_parser_nodes__TAttrid.id;
3811 if(var_tattridnode8 == NULL) {
3812 var24 = 1;
3813 } else {
3814 if(cltype25 >= var_tattridnode8->type->table_size) {
3815 var24 = 0;
3816 } else {
3817 var24 = var_tattridnode8->type->type_table[cltype25] == idtype26;
3818 }
3819 }
3820 if (!var24) {
3821 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17526);
3822 exit(1);
3823 }
3824 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3825 var28 = NULL;
3826 var29 = NULL;
3827 var30 = NULL;
3828 var31 = NULL;
3829 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var_pablenode3, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var28, var29, var30, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
3830 CHECK_NEW_parser_nodes__AAttrPropdef(var27);
3831 var_ppropdefnode1 = var27;
3832 var_node_list = var_ppropdefnode1;
3833 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction388> */
3834 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
3835 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
3836 RET_LABEL:;
3837 }
3838 /* method parser#ReduceAction388#action for (self: Object, Parser) */
3839 void VIRTUAL_parser__ReduceAction388__action(val* self, val* p0) {
3840 parser__ReduceAction388__action(self, p0);
3841 RET_LABEL:;
3842 }
3843 /* method parser#ReduceAction389#action for (self: ReduceAction389, Parser) */
3844 void parser__ReduceAction389__action(val* self, val* p0) {
3845 val* var_p /* var p: Parser */;
3846 val* var /* : null */;
3847 val* var_node_list /* var node_list: nullable Object */;
3848 val* var1 /* : nullable Object */;
3849 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3850 val* var2 /* : nullable Object */;
3851 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3852 val* var3 /* : nullable Object */;
3853 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3854 val* var4 /* : nullable Object */;
3855 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3856 val* var5 /* : nullable Object */;
3857 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3858 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3859 short int var6 /* : Bool */;
3860 int cltype;
3861 int idtype;
3862 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3863 short int var7 /* : Bool */;
3864 int cltype8;
3865 int idtype9;
3866 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3867 short int var10 /* : Bool */;
3868 int cltype11;
3869 int idtype12;
3870 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
3871 short int var13 /* : Bool */;
3872 int cltype14;
3873 int idtype15;
3874 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
3875 short int var16 /* : Bool */;
3876 int cltype17;
3877 int idtype18;
3878 val* var19 /* : AAttrPropdef */;
3879 val* var20 /* : null */;
3880 val* var21 /* : null */;
3881 val* var22 /* : null */;
3882 val* var23 /* : null */;
3883 val* var24 /* : null */;
3884 val* var25 /* : null */;
3885 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3886 long var26 /* : Int */;
3887 long var27 /* : Int */;
3888 var_p = p0;
3889 var = NULL;
3890 var_node_list = var;
3891 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3892 var_nodearraylist5 = var1;
3893 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3894 var_nodearraylist4 = var2;
3895 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3896 var_nodearraylist3 = var3;
3897 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3898 var_nodearraylist2 = var4;
3899 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3900 var_nodearraylist1 = var5;
3901 var_pdocnode2 = var_nodearraylist1;
3902 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3903 cltype = type_nullable_parser_nodes__ADoc.color;
3904 idtype = type_nullable_parser_nodes__ADoc.id;
3905 if(var_pdocnode2 == NULL) {
3906 var6 = 1;
3907 } else {
3908 if(cltype >= var_pdocnode2->type->table_size) {
3909 var6 = 0;
3910 } else {
3911 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
3912 }
3913 }
3914 if (!var6) {
3915 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17555);
3916 exit(1);
3917 }
3918 var_pvisibilitynode6 = var_nodearraylist2;
3919 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3920 cltype8 = type_nullable_parser_nodes__AVisibility.color;
3921 idtype9 = type_nullable_parser_nodes__AVisibility.id;
3922 if(var_pvisibilitynode6 == NULL) {
3923 var7 = 1;
3924 } else {
3925 if(cltype8 >= var_pvisibilitynode6->type->table_size) {
3926 var7 = 0;
3927 } else {
3928 var7 = var_pvisibilitynode6->type->type_table[cltype8] == idtype9;
3929 }
3930 }
3931 if (!var7) {
3932 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17557);
3933 exit(1);
3934 }
3935 var_tkwvarnode7 = var_nodearraylist3;
3936 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3937 cltype11 = type_nullable_parser_nodes__TKwvar.color;
3938 idtype12 = type_nullable_parser_nodes__TKwvar.id;
3939 if(var_tkwvarnode7 == NULL) {
3940 var10 = 1;
3941 } else {
3942 if(cltype11 >= var_tkwvarnode7->type->table_size) {
3943 var10 = 0;
3944 } else {
3945 var10 = var_tkwvarnode7->type->type_table[cltype11] == idtype12;
3946 }
3947 }
3948 if (!var10) {
3949 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17559);
3950 exit(1);
3951 }
3952 var_tattridnode8 = var_nodearraylist4;
3953 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
3954 cltype14 = type_nullable_parser_nodes__TAttrid.color;
3955 idtype15 = type_nullable_parser_nodes__TAttrid.id;
3956 if(var_tattridnode8 == NULL) {
3957 var13 = 1;
3958 } else {
3959 if(cltype14 >= var_tattridnode8->type->table_size) {
3960 var13 = 0;
3961 } else {
3962 var13 = var_tattridnode8->type->type_table[cltype14] == idtype15;
3963 }
3964 }
3965 if (!var13) {
3966 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17561);
3967 exit(1);
3968 }
3969 var_ptypenode10 = var_nodearraylist5;
3970 /* <var_ptypenode10:nullable Object> isa nullable AType */
3971 cltype17 = type_nullable_parser_nodes__AType.color;
3972 idtype18 = type_nullable_parser_nodes__AType.id;
3973 if(var_ptypenode10 == NULL) {
3974 var16 = 1;
3975 } else {
3976 if(cltype17 >= var_ptypenode10->type->table_size) {
3977 var16 = 0;
3978 } else {
3979 var16 = var_ptypenode10->type->type_table[cltype17] == idtype18;
3980 }
3981 }
3982 if (!var16) {
3983 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17563);
3984 exit(1);
3985 }
3986 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3987 var20 = NULL;
3988 var21 = NULL;
3989 var22 = NULL;
3990 var23 = NULL;
3991 var24 = NULL;
3992 var25 = NULL;
3993 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var20, var21, var22, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var23, var_ptypenode10, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
3994 CHECK_NEW_parser_nodes__AAttrPropdef(var19);
3995 var_ppropdefnode1 = var19;
3996 var_node_list = var_ppropdefnode1;
3997 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction389> */
3998 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
3999 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
4000 RET_LABEL:;
4001 }
4002 /* method parser#ReduceAction389#action for (self: Object, Parser) */
4003 void VIRTUAL_parser__ReduceAction389__action(val* self, val* p0) {
4004 parser__ReduceAction389__action(self, p0);
4005 RET_LABEL:;
4006 }
4007 /* method parser#ReduceAction390#action for (self: ReduceAction390, Parser) */
4008 void parser__ReduceAction390__action(val* self, val* p0) {
4009 val* var_p /* var p: Parser */;
4010 val* var /* : null */;
4011 val* var_node_list /* var node_list: nullable Object */;
4012 val* var1 /* : nullable Object */;
4013 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4014 val* var2 /* : nullable Object */;
4015 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4016 val* var3 /* : nullable Object */;
4017 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4018 val* var4 /* : nullable Object */;
4019 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4020 val* var5 /* : nullable Object */;
4021 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4022 val* var6 /* : nullable Object */;
4023 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4024 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4025 short int var7 /* : Bool */;
4026 int cltype;
4027 int idtype;
4028 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
4029 short int var8 /* : Bool */;
4030 int cltype9;
4031 int idtype10;
4032 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4033 short int var11 /* : Bool */;
4034 int cltype12;
4035 int idtype13;
4036 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4037 short int var14 /* : Bool */;
4038 int cltype15;
4039 int idtype16;
4040 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
4041 short int var17 /* : Bool */;
4042 int cltype18;
4043 int idtype19;
4044 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
4045 short int var20 /* : Bool */;
4046 int cltype21;
4047 int idtype22;
4048 val* var23 /* : AAttrPropdef */;
4049 val* var24 /* : null */;
4050 val* var25 /* : null */;
4051 val* var26 /* : null */;
4052 val* var27 /* : null */;
4053 val* var28 /* : null */;
4054 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4055 long var29 /* : Int */;
4056 long var30 /* : Int */;
4057 var_p = p0;
4058 var = NULL;
4059 var_node_list = var;
4060 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4061 var_nodearraylist6 = var1;
4062 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4063 var_nodearraylist5 = var2;
4064 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4065 var_nodearraylist4 = var3;
4066 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4067 var_nodearraylist3 = var4;
4068 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4069 var_nodearraylist2 = var5;
4070 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4071 var_nodearraylist1 = var6;
4072 var_pdocnode2 = var_nodearraylist1;
4073 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4074 cltype = type_nullable_parser_nodes__ADoc.color;
4075 idtype = type_nullable_parser_nodes__ADoc.id;
4076 if(var_pdocnode2 == NULL) {
4077 var7 = 1;
4078 } else {
4079 if(cltype >= var_pdocnode2->type->table_size) {
4080 var7 = 0;
4081 } else {
4082 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
4083 }
4084 }
4085 if (!var7) {
4086 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17593);
4087 exit(1);
4088 }
4089 var_tkwredefnode5 = var_nodearraylist2;
4090 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
4091 cltype9 = type_nullable_parser_nodes__TKwredef.color;
4092 idtype10 = type_nullable_parser_nodes__TKwredef.id;
4093 if(var_tkwredefnode5 == NULL) {
4094 var8 = 1;
4095 } else {
4096 if(cltype9 >= var_tkwredefnode5->type->table_size) {
4097 var8 = 0;
4098 } else {
4099 var8 = var_tkwredefnode5->type->type_table[cltype9] == idtype10;
4100 }
4101 }
4102 if (!var8) {
4103 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17595);
4104 exit(1);
4105 }
4106 var_pvisibilitynode6 = var_nodearraylist3;
4107 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4108 cltype12 = type_nullable_parser_nodes__AVisibility.color;
4109 idtype13 = type_nullable_parser_nodes__AVisibility.id;
4110 if(var_pvisibilitynode6 == NULL) {
4111 var11 = 1;
4112 } else {
4113 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
4114 var11 = 0;
4115 } else {
4116 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
4117 }
4118 }
4119 if (!var11) {
4120 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17597);
4121 exit(1);
4122 }
4123 var_tkwvarnode7 = var_nodearraylist4;
4124 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4125 cltype15 = type_nullable_parser_nodes__TKwvar.color;
4126 idtype16 = type_nullable_parser_nodes__TKwvar.id;
4127 if(var_tkwvarnode7 == NULL) {
4128 var14 = 1;
4129 } else {
4130 if(cltype15 >= var_tkwvarnode7->type->table_size) {
4131 var14 = 0;
4132 } else {
4133 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
4134 }
4135 }
4136 if (!var14) {
4137 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17599);
4138 exit(1);
4139 }
4140 var_tattridnode8 = var_nodearraylist5;
4141 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
4142 cltype18 = type_nullable_parser_nodes__TAttrid.color;
4143 idtype19 = type_nullable_parser_nodes__TAttrid.id;
4144 if(var_tattridnode8 == NULL) {
4145 var17 = 1;
4146 } else {
4147 if(cltype18 >= var_tattridnode8->type->table_size) {
4148 var17 = 0;
4149 } else {
4150 var17 = var_tattridnode8->type->type_table[cltype18] == idtype19;
4151 }
4152 }
4153 if (!var17) {
4154 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17601);
4155 exit(1);
4156 }
4157 var_ptypenode10 = var_nodearraylist6;
4158 /* <var_ptypenode10:nullable Object> isa nullable AType */
4159 cltype21 = type_nullable_parser_nodes__AType.color;
4160 idtype22 = type_nullable_parser_nodes__AType.id;
4161 if(var_ptypenode10 == NULL) {
4162 var20 = 1;
4163 } else {
4164 if(cltype21 >= var_ptypenode10->type->table_size) {
4165 var20 = 0;
4166 } else {
4167 var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
4168 }
4169 }
4170 if (!var20) {
4171 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17603);
4172 exit(1);
4173 }
4174 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4175 var24 = NULL;
4176 var25 = NULL;
4177 var26 = NULL;
4178 var27 = NULL;
4179 var28 = NULL;
4180 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var25, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var26, var_ptypenode10, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
4181 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
4182 var_ppropdefnode1 = var23;
4183 var_node_list = var_ppropdefnode1;
4184 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction390> */
4185 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
4186 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
4187 RET_LABEL:;
4188 }
4189 /* method parser#ReduceAction390#action for (self: Object, Parser) */
4190 void VIRTUAL_parser__ReduceAction390__action(val* self, val* p0) {
4191 parser__ReduceAction390__action(self, p0);
4192 RET_LABEL:;
4193 }
4194 /* method parser#ReduceAction391#action for (self: ReduceAction391, Parser) */
4195 void parser__ReduceAction391__action(val* self, val* p0) {
4196 val* var_p /* var p: Parser */;
4197 val* var /* : null */;
4198 val* var_node_list /* var node_list: nullable Object */;
4199 val* var1 /* : nullable Object */;
4200 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4201 val* var2 /* : nullable Object */;
4202 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4203 val* var3 /* : nullable Object */;
4204 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4205 val* var4 /* : nullable Object */;
4206 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4207 val* var5 /* : nullable Object */;
4208 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4209 val* var6 /* : nullable Object */;
4210 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4211 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4212 short int var7 /* : Bool */;
4213 int cltype;
4214 int idtype;
4215 val* var_pablenode3 /* var pablenode3: nullable Object */;
4216 short int var8 /* : Bool */;
4217 int cltype9;
4218 int idtype10;
4219 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4220 short int var11 /* : Bool */;
4221 int cltype12;
4222 int idtype13;
4223 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4224 short int var14 /* : Bool */;
4225 int cltype15;
4226 int idtype16;
4227 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
4228 short int var17 /* : Bool */;
4229 int cltype18;
4230 int idtype19;
4231 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
4232 short int var20 /* : Bool */;
4233 int cltype21;
4234 int idtype22;
4235 val* var23 /* : AAttrPropdef */;
4236 val* var24 /* : null */;
4237 val* var25 /* : null */;
4238 val* var26 /* : null */;
4239 val* var27 /* : null */;
4240 val* var28 /* : null */;
4241 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4242 long var29 /* : Int */;
4243 long var30 /* : Int */;
4244 var_p = p0;
4245 var = NULL;
4246 var_node_list = var;
4247 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4248 var_nodearraylist6 = var1;
4249 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4250 var_nodearraylist5 = var2;
4251 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4252 var_nodearraylist4 = var3;
4253 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4254 var_nodearraylist3 = var4;
4255 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4256 var_nodearraylist2 = var5;
4257 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4258 var_nodearraylist1 = var6;
4259 var_pdocnode2 = var_nodearraylist1;
4260 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4261 cltype = type_nullable_parser_nodes__ADoc.color;
4262 idtype = type_nullable_parser_nodes__ADoc.id;
4263 if(var_pdocnode2 == NULL) {
4264 var7 = 1;
4265 } else {
4266 if(cltype >= var_pdocnode2->type->table_size) {
4267 var7 = 0;
4268 } else {
4269 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
4270 }
4271 }
4272 if (!var7) {
4273 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17633);
4274 exit(1);
4275 }
4276 var_pablenode3 = var_nodearraylist2;
4277 /* <var_pablenode3:nullable Object> isa nullable AAble */
4278 cltype9 = type_nullable_parser_nodes__AAble.color;
4279 idtype10 = type_nullable_parser_nodes__AAble.id;
4280 if(var_pablenode3 == NULL) {
4281 var8 = 1;
4282 } else {
4283 if(cltype9 >= var_pablenode3->type->table_size) {
4284 var8 = 0;
4285 } else {
4286 var8 = var_pablenode3->type->type_table[cltype9] == idtype10;
4287 }
4288 }
4289 if (!var8) {
4290 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17635);
4291 exit(1);
4292 }
4293 var_pvisibilitynode6 = var_nodearraylist3;
4294 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4295 cltype12 = type_nullable_parser_nodes__AVisibility.color;
4296 idtype13 = type_nullable_parser_nodes__AVisibility.id;
4297 if(var_pvisibilitynode6 == NULL) {
4298 var11 = 1;
4299 } else {
4300 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
4301 var11 = 0;
4302 } else {
4303 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
4304 }
4305 }
4306 if (!var11) {
4307 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17637);
4308 exit(1);
4309 }
4310 var_tkwvarnode7 = var_nodearraylist4;
4311 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4312 cltype15 = type_nullable_parser_nodes__TKwvar.color;
4313 idtype16 = type_nullable_parser_nodes__TKwvar.id;
4314 if(var_tkwvarnode7 == NULL) {
4315 var14 = 1;
4316 } else {
4317 if(cltype15 >= var_tkwvarnode7->type->table_size) {
4318 var14 = 0;
4319 } else {
4320 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
4321 }
4322 }
4323 if (!var14) {
4324 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17639);
4325 exit(1);
4326 }
4327 var_tattridnode8 = var_nodearraylist5;
4328 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
4329 cltype18 = type_nullable_parser_nodes__TAttrid.color;
4330 idtype19 = type_nullable_parser_nodes__TAttrid.id;
4331 if(var_tattridnode8 == NULL) {
4332 var17 = 1;
4333 } else {
4334 if(cltype18 >= var_tattridnode8->type->table_size) {
4335 var17 = 0;
4336 } else {
4337 var17 = var_tattridnode8->type->type_table[cltype18] == idtype19;
4338 }
4339 }
4340 if (!var17) {
4341 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17641);
4342 exit(1);
4343 }
4344 var_ptypenode10 = var_nodearraylist6;
4345 /* <var_ptypenode10:nullable Object> isa nullable AType */
4346 cltype21 = type_nullable_parser_nodes__AType.color;
4347 idtype22 = type_nullable_parser_nodes__AType.id;
4348 if(var_ptypenode10 == NULL) {
4349 var20 = 1;
4350 } else {
4351 if(cltype21 >= var_ptypenode10->type->table_size) {
4352 var20 = 0;
4353 } else {
4354 var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
4355 }
4356 }
4357 if (!var20) {
4358 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17643);
4359 exit(1);
4360 }
4361 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4362 var24 = NULL;
4363 var25 = NULL;
4364 var26 = NULL;
4365 var27 = NULL;
4366 var28 = NULL;
4367 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var_pablenode3, var24, var25, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var26, var_ptypenode10, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
4368 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
4369 var_ppropdefnode1 = var23;
4370 var_node_list = var_ppropdefnode1;
4371 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction391> */
4372 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
4373 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
4374 RET_LABEL:;
4375 }
4376 /* method parser#ReduceAction391#action for (self: Object, Parser) */
4377 void VIRTUAL_parser__ReduceAction391__action(val* self, val* p0) {
4378 parser__ReduceAction391__action(self, p0);
4379 RET_LABEL:;
4380 }
4381 /* method parser#ReduceAction392#action for (self: ReduceAction392, Parser) */
4382 void parser__ReduceAction392__action(val* self, val* p0) {
4383 val* var_p /* var p: Parser */;
4384 val* var /* : null */;
4385 val* var_node_list /* var node_list: nullable Object */;
4386 val* var1 /* : nullable Object */;
4387 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4388 val* var2 /* : nullable Object */;
4389 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4390 val* var3 /* : nullable Object */;
4391 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4392 val* var4 /* : nullable Object */;
4393 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4394 val* var5 /* : nullable Object */;
4395 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4396 val* var6 /* : nullable Object */;
4397 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4398 val* var7 /* : nullable Object */;
4399 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4400 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4401 short int var8 /* : Bool */;
4402 int cltype;
4403 int idtype;
4404 val* var_pablenode3 /* var pablenode3: nullable Object */;
4405 short int var9 /* : Bool */;
4406 int cltype10;
4407 int idtype11;
4408 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
4409 short int var12 /* : Bool */;
4410 int cltype13;
4411 int idtype14;
4412 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4413 short int var15 /* : Bool */;
4414 int cltype16;
4415 int idtype17;
4416 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4417 short int var18 /* : Bool */;
4418 int cltype19;
4419 int idtype20;
4420 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
4421 short int var21 /* : Bool */;
4422 int cltype22;
4423 int idtype23;
4424 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
4425 short int var24 /* : Bool */;
4426 int cltype25;
4427 int idtype26;
4428 val* var27 /* : AAttrPropdef */;
4429 val* var28 /* : null */;
4430 val* var29 /* : null */;
4431 val* var30 /* : null */;
4432 val* var31 /* : null */;
4433 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4434 long var32 /* : Int */;
4435 long var33 /* : Int */;
4436 var_p = p0;
4437 var = NULL;
4438 var_node_list = var;
4439 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4440 var_nodearraylist7 = var1;
4441 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4442 var_nodearraylist6 = var2;
4443 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4444 var_nodearraylist5 = var3;
4445 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4446 var_nodearraylist4 = var4;
4447 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4448 var_nodearraylist3 = var5;
4449 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4450 var_nodearraylist2 = var6;
4451 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4452 var_nodearraylist1 = var7;
4453 var_pdocnode2 = var_nodearraylist1;
4454 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4455 cltype = type_nullable_parser_nodes__ADoc.color;
4456 idtype = type_nullable_parser_nodes__ADoc.id;
4457 if(var_pdocnode2 == NULL) {
4458 var8 = 1;
4459 } else {
4460 if(cltype >= var_pdocnode2->type->table_size) {
4461 var8 = 0;
4462 } else {
4463 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
4464 }
4465 }
4466 if (!var8) {
4467 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17674);
4468 exit(1);
4469 }
4470 var_pablenode3 = var_nodearraylist2;
4471 /* <var_pablenode3:nullable Object> isa nullable AAble */
4472 cltype10 = type_nullable_parser_nodes__AAble.color;
4473 idtype11 = type_nullable_parser_nodes__AAble.id;
4474 if(var_pablenode3 == NULL) {
4475 var9 = 1;
4476 } else {
4477 if(cltype10 >= var_pablenode3->type->table_size) {
4478 var9 = 0;
4479 } else {
4480 var9 = var_pablenode3->type->type_table[cltype10] == idtype11;
4481 }
4482 }
4483 if (!var9) {
4484 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17676);
4485 exit(1);
4486 }
4487 var_tkwredefnode5 = var_nodearraylist3;
4488 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
4489 cltype13 = type_nullable_parser_nodes__TKwredef.color;
4490 idtype14 = type_nullable_parser_nodes__TKwredef.id;
4491 if(var_tkwredefnode5 == NULL) {
4492 var12 = 1;
4493 } else {
4494 if(cltype13 >= var_tkwredefnode5->type->table_size) {
4495 var12 = 0;
4496 } else {
4497 var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
4498 }
4499 }
4500 if (!var12) {
4501 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17678);
4502 exit(1);
4503 }
4504 var_pvisibilitynode6 = var_nodearraylist4;
4505 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4506 cltype16 = type_nullable_parser_nodes__AVisibility.color;
4507 idtype17 = type_nullable_parser_nodes__AVisibility.id;
4508 if(var_pvisibilitynode6 == NULL) {
4509 var15 = 1;
4510 } else {
4511 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
4512 var15 = 0;
4513 } else {
4514 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
4515 }
4516 }
4517 if (!var15) {
4518 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17680);
4519 exit(1);
4520 }
4521 var_tkwvarnode7 = var_nodearraylist5;
4522 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4523 cltype19 = type_nullable_parser_nodes__TKwvar.color;
4524 idtype20 = type_nullable_parser_nodes__TKwvar.id;
4525 if(var_tkwvarnode7 == NULL) {
4526 var18 = 1;
4527 } else {
4528 if(cltype19 >= var_tkwvarnode7->type->table_size) {
4529 var18 = 0;
4530 } else {
4531 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
4532 }
4533 }
4534 if (!var18) {
4535 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17682);
4536 exit(1);
4537 }
4538 var_tattridnode8 = var_nodearraylist6;
4539 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
4540 cltype22 = type_nullable_parser_nodes__TAttrid.color;
4541 idtype23 = type_nullable_parser_nodes__TAttrid.id;
4542 if(var_tattridnode8 == NULL) {
4543 var21 = 1;
4544 } else {
4545 if(cltype22 >= var_tattridnode8->type->table_size) {
4546 var21 = 0;
4547 } else {
4548 var21 = var_tattridnode8->type->type_table[cltype22] == idtype23;
4549 }
4550 }
4551 if (!var21) {
4552 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17684);
4553 exit(1);
4554 }
4555 var_ptypenode10 = var_nodearraylist7;
4556 /* <var_ptypenode10:nullable Object> isa nullable AType */
4557 cltype25 = type_nullable_parser_nodes__AType.color;
4558 idtype26 = type_nullable_parser_nodes__AType.id;
4559 if(var_ptypenode10 == NULL) {
4560 var24 = 1;
4561 } else {
4562 if(cltype25 >= var_ptypenode10->type->table_size) {
4563 var24 = 0;
4564 } else {
4565 var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
4566 }
4567 }
4568 if (!var24) {
4569 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17686);
4570 exit(1);
4571 }
4572 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4573 var28 = NULL;
4574 var29 = NULL;
4575 var30 = NULL;
4576 var31 = NULL;
4577 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var_pablenode3, var28, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var29, var_ptypenode10, var30, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
4578 CHECK_NEW_parser_nodes__AAttrPropdef(var27);
4579 var_ppropdefnode1 = var27;
4580 var_node_list = var_ppropdefnode1;
4581 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction392> */
4582 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
4583 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
4584 RET_LABEL:;
4585 }
4586 /* method parser#ReduceAction392#action for (self: Object, Parser) */
4587 void VIRTUAL_parser__ReduceAction392__action(val* self, val* p0) {
4588 parser__ReduceAction392__action(self, p0);
4589 RET_LABEL:;
4590 }
4591 /* method parser#ReduceAction393#action for (self: ReduceAction393, Parser) */
4592 void parser__ReduceAction393__action(val* self, val* p0) {
4593 val* var_p /* var p: Parser */;
4594 val* var /* : null */;
4595 val* var_node_list /* var node_list: nullable Object */;
4596 val* var1 /* : nullable Object */;
4597 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4598 val* var2 /* : nullable Object */;
4599 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4600 val* var3 /* : nullable Object */;
4601 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4602 val* var4 /* : nullable Object */;
4603 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4604 val* var5 /* : nullable Object */;
4605 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4606 val* var6 /* : nullable Object */;
4607 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4608 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4609 short int var7 /* : Bool */;
4610 int cltype;
4611 int idtype;
4612 val* var_pablenode4 /* var pablenode4: nullable Object */;
4613 short int var8 /* : Bool */;
4614 int cltype9;
4615 int idtype10;
4616 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4617 short int var11 /* : Bool */;
4618 int cltype12;
4619 int idtype13;
4620 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4621 short int var14 /* : Bool */;
4622 int cltype15;
4623 int idtype16;
4624 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
4625 short int var17 /* : Bool */;
4626 int cltype18;
4627 int idtype19;
4628 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
4629 short int var20 /* : Bool */;
4630 int cltype21;
4631 int idtype22;
4632 val* var23 /* : AAttrPropdef */;
4633 val* var24 /* : null */;
4634 val* var25 /* : null */;
4635 val* var26 /* : null */;
4636 val* var27 /* : null */;
4637 val* var28 /* : null */;
4638 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4639 long var29 /* : Int */;
4640 long var30 /* : Int */;
4641 var_p = p0;
4642 var = NULL;
4643 var_node_list = var;
4644 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4645 var_nodearraylist6 = var1;
4646 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4647 var_nodearraylist5 = var2;
4648 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4649 var_nodearraylist4 = var3;
4650 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4651 var_nodearraylist3 = var4;
4652 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4653 var_nodearraylist2 = var5;
4654 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4655 var_nodearraylist1 = var6;
4656 var_pdocnode2 = var_nodearraylist1;
4657 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4658 cltype = type_nullable_parser_nodes__ADoc.color;
4659 idtype = type_nullable_parser_nodes__ADoc.id;
4660 if(var_pdocnode2 == NULL) {
4661 var7 = 1;
4662 } else {
4663 if(cltype >= var_pdocnode2->type->table_size) {
4664 var7 = 0;
4665 } else {
4666 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
4667 }
4668 }
4669 if (!var7) {
4670 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17716);
4671 exit(1);
4672 }
4673 var_pablenode4 = var_nodearraylist2;
4674 /* <var_pablenode4:nullable Object> isa nullable AAble */
4675 cltype9 = type_nullable_parser_nodes__AAble.color;
4676 idtype10 = type_nullable_parser_nodes__AAble.id;
4677 if(var_pablenode4 == NULL) {
4678 var8 = 1;
4679 } else {
4680 if(cltype9 >= var_pablenode4->type->table_size) {
4681 var8 = 0;
4682 } else {
4683 var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
4684 }
4685 }
4686 if (!var8) {
4687 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17718);
4688 exit(1);
4689 }
4690 var_pvisibilitynode6 = var_nodearraylist3;
4691 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4692 cltype12 = type_nullable_parser_nodes__AVisibility.color;
4693 idtype13 = type_nullable_parser_nodes__AVisibility.id;
4694 if(var_pvisibilitynode6 == NULL) {
4695 var11 = 1;
4696 } else {
4697 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
4698 var11 = 0;
4699 } else {
4700 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
4701 }
4702 }
4703 if (!var11) {
4704 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17720);
4705 exit(1);
4706 }
4707 var_tkwvarnode7 = var_nodearraylist4;
4708 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4709 cltype15 = type_nullable_parser_nodes__TKwvar.color;
4710 idtype16 = type_nullable_parser_nodes__TKwvar.id;
4711 if(var_tkwvarnode7 == NULL) {
4712 var14 = 1;
4713 } else {
4714 if(cltype15 >= var_tkwvarnode7->type->table_size) {
4715 var14 = 0;
4716 } else {
4717 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
4718 }
4719 }
4720 if (!var14) {
4721 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17722);
4722 exit(1);
4723 }
4724 var_tattridnode8 = var_nodearraylist5;
4725 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
4726 cltype18 = type_nullable_parser_nodes__TAttrid.color;
4727 idtype19 = type_nullable_parser_nodes__TAttrid.id;
4728 if(var_tattridnode8 == NULL) {
4729 var17 = 1;
4730 } else {
4731 if(cltype18 >= var_tattridnode8->type->table_size) {
4732 var17 = 0;
4733 } else {
4734 var17 = var_tattridnode8->type->type_table[cltype18] == idtype19;
4735 }
4736 }
4737 if (!var17) {
4738 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17724);
4739 exit(1);
4740 }
4741 var_ptypenode10 = var_nodearraylist6;
4742 /* <var_ptypenode10:nullable Object> isa nullable AType */
4743 cltype21 = type_nullable_parser_nodes__AType.color;
4744 idtype22 = type_nullable_parser_nodes__AType.id;
4745 if(var_ptypenode10 == NULL) {
4746 var20 = 1;
4747 } else {
4748 if(cltype21 >= var_ptypenode10->type->table_size) {
4749 var20 = 0;
4750 } else {
4751 var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
4752 }
4753 }
4754 if (!var20) {
4755 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17726);
4756 exit(1);
4757 }
4758 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4759 var24 = NULL;
4760 var25 = NULL;
4761 var26 = NULL;
4762 var27 = NULL;
4763 var28 = NULL;
4764 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var_pablenode4, var25, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var26, var_ptypenode10, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
4765 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
4766 var_ppropdefnode1 = var23;
4767 var_node_list = var_ppropdefnode1;
4768 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction393> */
4769 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
4770 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
4771 RET_LABEL:;
4772 }
4773 /* method parser#ReduceAction393#action for (self: Object, Parser) */
4774 void VIRTUAL_parser__ReduceAction393__action(val* self, val* p0) {
4775 parser__ReduceAction393__action(self, p0);
4776 RET_LABEL:;
4777 }
4778 /* method parser#ReduceAction394#action for (self: ReduceAction394, Parser) */
4779 void parser__ReduceAction394__action(val* self, val* p0) {
4780 val* var_p /* var p: Parser */;
4781 val* var /* : null */;
4782 val* var_node_list /* var node_list: nullable Object */;
4783 val* var1 /* : nullable Object */;
4784 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4785 val* var2 /* : nullable Object */;
4786 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4787 val* var3 /* : nullable Object */;
4788 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4789 val* var4 /* : nullable Object */;
4790 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4791 val* var5 /* : nullable Object */;
4792 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4793 val* var6 /* : nullable Object */;
4794 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4795 val* var7 /* : nullable Object */;
4796 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4797 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4798 short int var8 /* : Bool */;
4799 int cltype;
4800 int idtype;
4801 val* var_pablenode4 /* var pablenode4: nullable Object */;
4802 short int var9 /* : Bool */;
4803 int cltype10;
4804 int idtype11;
4805 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
4806 short int var12 /* : Bool */;
4807 int cltype13;
4808 int idtype14;
4809 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4810 short int var15 /* : Bool */;
4811 int cltype16;
4812 int idtype17;
4813 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4814 short int var18 /* : Bool */;
4815 int cltype19;
4816 int idtype20;
4817 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
4818 short int var21 /* : Bool */;
4819 int cltype22;
4820 int idtype23;
4821 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
4822 short int var24 /* : Bool */;
4823 int cltype25;
4824 int idtype26;
4825 val* var27 /* : AAttrPropdef */;
4826 val* var28 /* : null */;
4827 val* var29 /* : null */;
4828 val* var30 /* : null */;
4829 val* var31 /* : null */;
4830 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4831 long var32 /* : Int */;
4832 long var33 /* : Int */;
4833 var_p = p0;
4834 var = NULL;
4835 var_node_list = var;
4836 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4837 var_nodearraylist7 = var1;
4838 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4839 var_nodearraylist6 = var2;
4840 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4841 var_nodearraylist5 = var3;
4842 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4843 var_nodearraylist4 = var4;
4844 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4845 var_nodearraylist3 = var5;
4846 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4847 var_nodearraylist2 = var6;
4848 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4849 var_nodearraylist1 = var7;
4850 var_pdocnode2 = var_nodearraylist1;
4851 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4852 cltype = type_nullable_parser_nodes__ADoc.color;
4853 idtype = type_nullable_parser_nodes__ADoc.id;
4854 if(var_pdocnode2 == NULL) {
4855 var8 = 1;
4856 } else {
4857 if(cltype >= var_pdocnode2->type->table_size) {
4858 var8 = 0;
4859 } else {
4860 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
4861 }
4862 }
4863 if (!var8) {
4864 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17757);
4865 exit(1);
4866 }
4867 var_pablenode4 = var_nodearraylist2;
4868 /* <var_pablenode4:nullable Object> isa nullable AAble */
4869 cltype10 = type_nullable_parser_nodes__AAble.color;
4870 idtype11 = type_nullable_parser_nodes__AAble.id;
4871 if(var_pablenode4 == NULL) {
4872 var9 = 1;
4873 } else {
4874 if(cltype10 >= var_pablenode4->type->table_size) {
4875 var9 = 0;
4876 } else {
4877 var9 = var_pablenode4->type->type_table[cltype10] == idtype11;
4878 }
4879 }
4880 if (!var9) {
4881 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17759);
4882 exit(1);
4883 }
4884 var_tkwredefnode5 = var_nodearraylist3;
4885 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
4886 cltype13 = type_nullable_parser_nodes__TKwredef.color;
4887 idtype14 = type_nullable_parser_nodes__TKwredef.id;
4888 if(var_tkwredefnode5 == NULL) {
4889 var12 = 1;
4890 } else {
4891 if(cltype13 >= var_tkwredefnode5->type->table_size) {
4892 var12 = 0;
4893 } else {
4894 var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
4895 }
4896 }
4897 if (!var12) {
4898 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17761);
4899 exit(1);
4900 }
4901 var_pvisibilitynode6 = var_nodearraylist4;
4902 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4903 cltype16 = type_nullable_parser_nodes__AVisibility.color;
4904 idtype17 = type_nullable_parser_nodes__AVisibility.id;
4905 if(var_pvisibilitynode6 == NULL) {
4906 var15 = 1;
4907 } else {
4908 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
4909 var15 = 0;
4910 } else {
4911 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
4912 }
4913 }
4914 if (!var15) {
4915 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17763);
4916 exit(1);
4917 }
4918 var_tkwvarnode7 = var_nodearraylist5;
4919 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4920 cltype19 = type_nullable_parser_nodes__TKwvar.color;
4921 idtype20 = type_nullable_parser_nodes__TKwvar.id;
4922 if(var_tkwvarnode7 == NULL) {
4923 var18 = 1;
4924 } else {
4925 if(cltype19 >= var_tkwvarnode7->type->table_size) {
4926 var18 = 0;
4927 } else {
4928 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
4929 }
4930 }
4931 if (!var18) {
4932 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17765);
4933 exit(1);
4934 }
4935 var_tattridnode8 = var_nodearraylist6;
4936 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
4937 cltype22 = type_nullable_parser_nodes__TAttrid.color;
4938 idtype23 = type_nullable_parser_nodes__TAttrid.id;
4939 if(var_tattridnode8 == NULL) {
4940 var21 = 1;
4941 } else {
4942 if(cltype22 >= var_tattridnode8->type->table_size) {
4943 var21 = 0;
4944 } else {
4945 var21 = var_tattridnode8->type->type_table[cltype22] == idtype23;
4946 }
4947 }
4948 if (!var21) {
4949 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17767);
4950 exit(1);
4951 }
4952 var_ptypenode10 = var_nodearraylist7;
4953 /* <var_ptypenode10:nullable Object> isa nullable AType */
4954 cltype25 = type_nullable_parser_nodes__AType.color;
4955 idtype26 = type_nullable_parser_nodes__AType.id;
4956 if(var_ptypenode10 == NULL) {
4957 var24 = 1;
4958 } else {
4959 if(cltype25 >= var_ptypenode10->type->table_size) {
4960 var24 = 0;
4961 } else {
4962 var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
4963 }
4964 }
4965 if (!var24) {
4966 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17769);
4967 exit(1);
4968 }
4969 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4970 var28 = NULL;
4971 var29 = NULL;
4972 var30 = NULL;
4973 var31 = NULL;
4974 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var28, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var29, var_ptypenode10, var30, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
4975 CHECK_NEW_parser_nodes__AAttrPropdef(var27);
4976 var_ppropdefnode1 = var27;
4977 var_node_list = var_ppropdefnode1;
4978 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction394> */
4979 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
4980 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
4981 RET_LABEL:;
4982 }
4983 /* method parser#ReduceAction394#action for (self: Object, Parser) */
4984 void VIRTUAL_parser__ReduceAction394__action(val* self, val* p0) {
4985 parser__ReduceAction394__action(self, p0);
4986 RET_LABEL:;
4987 }
4988 /* method parser#ReduceAction395#action for (self: ReduceAction395, Parser) */
4989 void parser__ReduceAction395__action(val* self, val* p0) {
4990 val* var_p /* var p: Parser */;
4991 val* var /* : null */;
4992 val* var_node_list /* var node_list: nullable Object */;
4993 val* var1 /* : nullable Object */;
4994 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4995 val* var2 /* : nullable Object */;
4996 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4997 val* var3 /* : nullable Object */;
4998 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4999 val* var4 /* : nullable Object */;
5000 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5001 val* var5 /* : nullable Object */;
5002 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5003 val* var6 /* : nullable Object */;
5004 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5005 val* var7 /* : nullable Object */;
5006 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5007 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5008 short int var8 /* : Bool */;
5009 int cltype;
5010 int idtype;
5011 val* var_pablenode3 /* var pablenode3: nullable Object */;
5012 short int var9 /* : Bool */;
5013 int cltype10;
5014 int idtype11;
5015 val* var_pablenode4 /* var pablenode4: nullable Object */;
5016 short int var12 /* : Bool */;
5017 int cltype13;
5018 int idtype14;
5019 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5020 short int var15 /* : Bool */;
5021 int cltype16;
5022 int idtype17;
5023 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5024 short int var18 /* : Bool */;
5025 int cltype19;
5026 int idtype20;
5027 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
5028 short int var21 /* : Bool */;
5029 int cltype22;
5030 int idtype23;
5031 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
5032 short int var24 /* : Bool */;
5033 int cltype25;
5034 int idtype26;
5035 val* var27 /* : AAttrPropdef */;
5036 val* var28 /* : null */;
5037 val* var29 /* : null */;
5038 val* var30 /* : null */;
5039 val* var31 /* : null */;
5040 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5041 long var32 /* : Int */;
5042 long var33 /* : Int */;
5043 var_p = p0;
5044 var = NULL;
5045 var_node_list = var;
5046 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5047 var_nodearraylist7 = var1;
5048 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5049 var_nodearraylist6 = var2;
5050 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5051 var_nodearraylist5 = var3;
5052 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5053 var_nodearraylist4 = var4;
5054 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5055 var_nodearraylist3 = var5;
5056 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5057 var_nodearraylist2 = var6;
5058 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5059 var_nodearraylist1 = var7;
5060 var_pdocnode2 = var_nodearraylist1;
5061 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5062 cltype = type_nullable_parser_nodes__ADoc.color;
5063 idtype = type_nullable_parser_nodes__ADoc.id;
5064 if(var_pdocnode2 == NULL) {
5065 var8 = 1;
5066 } else {
5067 if(cltype >= var_pdocnode2->type->table_size) {
5068 var8 = 0;
5069 } else {
5070 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
5071 }
5072 }
5073 if (!var8) {
5074 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17800);
5075 exit(1);
5076 }
5077 var_pablenode3 = var_nodearraylist2;
5078 /* <var_pablenode3:nullable Object> isa nullable AAble */
5079 cltype10 = type_nullable_parser_nodes__AAble.color;
5080 idtype11 = type_nullable_parser_nodes__AAble.id;
5081 if(var_pablenode3 == NULL) {
5082 var9 = 1;
5083 } else {
5084 if(cltype10 >= var_pablenode3->type->table_size) {
5085 var9 = 0;
5086 } else {
5087 var9 = var_pablenode3->type->type_table[cltype10] == idtype11;
5088 }
5089 }
5090 if (!var9) {
5091 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17802);
5092 exit(1);
5093 }
5094 var_pablenode4 = var_nodearraylist3;
5095 /* <var_pablenode4:nullable Object> isa nullable AAble */
5096 cltype13 = type_nullable_parser_nodes__AAble.color;
5097 idtype14 = type_nullable_parser_nodes__AAble.id;
5098 if(var_pablenode4 == NULL) {
5099 var12 = 1;
5100 } else {
5101 if(cltype13 >= var_pablenode4->type->table_size) {
5102 var12 = 0;
5103 } else {
5104 var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
5105 }
5106 }
5107 if (!var12) {
5108 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17804);
5109 exit(1);
5110 }
5111 var_pvisibilitynode6 = var_nodearraylist4;
5112 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5113 cltype16 = type_nullable_parser_nodes__AVisibility.color;
5114 idtype17 = type_nullable_parser_nodes__AVisibility.id;
5115 if(var_pvisibilitynode6 == NULL) {
5116 var15 = 1;
5117 } else {
5118 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
5119 var15 = 0;
5120 } else {
5121 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
5122 }
5123 }
5124 if (!var15) {
5125 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17806);
5126 exit(1);
5127 }
5128 var_tkwvarnode7 = var_nodearraylist5;
5129 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5130 cltype19 = type_nullable_parser_nodes__TKwvar.color;
5131 idtype20 = type_nullable_parser_nodes__TKwvar.id;
5132 if(var_tkwvarnode7 == NULL) {
5133 var18 = 1;
5134 } else {
5135 if(cltype19 >= var_tkwvarnode7->type->table_size) {
5136 var18 = 0;
5137 } else {
5138 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
5139 }
5140 }
5141 if (!var18) {
5142 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17808);
5143 exit(1);
5144 }
5145 var_tattridnode8 = var_nodearraylist6;
5146 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
5147 cltype22 = type_nullable_parser_nodes__TAttrid.color;
5148 idtype23 = type_nullable_parser_nodes__TAttrid.id;
5149 if(var_tattridnode8 == NULL) {
5150 var21 = 1;
5151 } else {
5152 if(cltype22 >= var_tattridnode8->type->table_size) {
5153 var21 = 0;
5154 } else {
5155 var21 = var_tattridnode8->type->type_table[cltype22] == idtype23;
5156 }
5157 }
5158 if (!var21) {
5159 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17810);
5160 exit(1);
5161 }
5162 var_ptypenode10 = var_nodearraylist7;
5163 /* <var_ptypenode10:nullable Object> isa nullable AType */
5164 cltype25 = type_nullable_parser_nodes__AType.color;
5165 idtype26 = type_nullable_parser_nodes__AType.id;
5166 if(var_ptypenode10 == NULL) {
5167 var24 = 1;
5168 } else {
5169 if(cltype25 >= var_ptypenode10->type->table_size) {
5170 var24 = 0;
5171 } else {
5172 var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
5173 }
5174 }
5175 if (!var24) {
5176 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17812);
5177 exit(1);
5178 }
5179 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5180 var28 = NULL;
5181 var29 = NULL;
5182 var30 = NULL;
5183 var31 = NULL;
5184 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var27, var_pdocnode2, var_pablenode3, var_pablenode4, var28, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var29, var_ptypenode10, var30, var31) /* init_aattrpropdef on <var27:AAttrPropdef>*/;
5185 CHECK_NEW_parser_nodes__AAttrPropdef(var27);
5186 var_ppropdefnode1 = var27;
5187 var_node_list = var_ppropdefnode1;
5188 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction395> */
5189 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
5190 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
5191 RET_LABEL:;
5192 }
5193 /* method parser#ReduceAction395#action for (self: Object, Parser) */
5194 void VIRTUAL_parser__ReduceAction395__action(val* self, val* p0) {
5195 parser__ReduceAction395__action(self, p0);
5196 RET_LABEL:;
5197 }
5198 /* method parser#ReduceAction396#action for (self: ReduceAction396, Parser) */
5199 void parser__ReduceAction396__action(val* self, val* p0) {
5200 val* var_p /* var p: Parser */;
5201 val* var /* : null */;
5202 val* var_node_list /* var node_list: nullable Object */;
5203 val* var1 /* : nullable Object */;
5204 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5205 val* var2 /* : nullable Object */;
5206 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5207 val* var3 /* : nullable Object */;
5208 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5209 val* var4 /* : nullable Object */;
5210 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5211 val* var5 /* : nullable Object */;
5212 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5213 val* var6 /* : nullable Object */;
5214 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5215 val* var7 /* : nullable Object */;
5216 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5217 val* var8 /* : nullable Object */;
5218 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5219 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5220 short int var9 /* : Bool */;
5221 int cltype;
5222 int idtype;
5223 val* var_pablenode3 /* var pablenode3: nullable Object */;
5224 short int var10 /* : Bool */;
5225 int cltype11;
5226 int idtype12;
5227 val* var_pablenode4 /* var pablenode4: nullable Object */;
5228 short int var13 /* : Bool */;
5229 int cltype14;
5230 int idtype15;
5231 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
5232 short int var16 /* : Bool */;
5233 int cltype17;
5234 int idtype18;
5235 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5236 short int var19 /* : Bool */;
5237 int cltype20;
5238 int idtype21;
5239 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5240 short int var22 /* : Bool */;
5241 int cltype23;
5242 int idtype24;
5243 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
5244 short int var25 /* : Bool */;
5245 int cltype26;
5246 int idtype27;
5247 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
5248 short int var28 /* : Bool */;
5249 int cltype29;
5250 int idtype30;
5251 val* var31 /* : AAttrPropdef */;
5252 val* var32 /* : null */;
5253 val* var33 /* : null */;
5254 val* var34 /* : null */;
5255 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5256 long var35 /* : Int */;
5257 long var36 /* : Int */;
5258 var_p = p0;
5259 var = NULL;
5260 var_node_list = var;
5261 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5262 var_nodearraylist8 = var1;
5263 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5264 var_nodearraylist7 = var2;
5265 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5266 var_nodearraylist6 = var3;
5267 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5268 var_nodearraylist5 = var4;
5269 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5270 var_nodearraylist4 = var5;
5271 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5272 var_nodearraylist3 = var6;
5273 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5274 var_nodearraylist2 = var7;
5275 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5276 var_nodearraylist1 = var8;
5277 var_pdocnode2 = var_nodearraylist1;
5278 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5279 cltype = type_nullable_parser_nodes__ADoc.color;
5280 idtype = type_nullable_parser_nodes__ADoc.id;
5281 if(var_pdocnode2 == NULL) {
5282 var9 = 1;
5283 } else {
5284 if(cltype >= var_pdocnode2->type->table_size) {
5285 var9 = 0;
5286 } else {
5287 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
5288 }
5289 }
5290 if (!var9) {
5291 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17844);
5292 exit(1);
5293 }
5294 var_pablenode3 = var_nodearraylist2;
5295 /* <var_pablenode3:nullable Object> isa nullable AAble */
5296 cltype11 = type_nullable_parser_nodes__AAble.color;
5297 idtype12 = type_nullable_parser_nodes__AAble.id;
5298 if(var_pablenode3 == NULL) {
5299 var10 = 1;
5300 } else {
5301 if(cltype11 >= var_pablenode3->type->table_size) {
5302 var10 = 0;
5303 } else {
5304 var10 = var_pablenode3->type->type_table[cltype11] == idtype12;
5305 }
5306 }
5307 if (!var10) {
5308 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17846);
5309 exit(1);
5310 }
5311 var_pablenode4 = var_nodearraylist3;
5312 /* <var_pablenode4:nullable Object> isa nullable AAble */
5313 cltype14 = type_nullable_parser_nodes__AAble.color;
5314 idtype15 = type_nullable_parser_nodes__AAble.id;
5315 if(var_pablenode4 == NULL) {
5316 var13 = 1;
5317 } else {
5318 if(cltype14 >= var_pablenode4->type->table_size) {
5319 var13 = 0;
5320 } else {
5321 var13 = var_pablenode4->type->type_table[cltype14] == idtype15;
5322 }
5323 }
5324 if (!var13) {
5325 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17848);
5326 exit(1);
5327 }
5328 var_tkwredefnode5 = var_nodearraylist4;
5329 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
5330 cltype17 = type_nullable_parser_nodes__TKwredef.color;
5331 idtype18 = type_nullable_parser_nodes__TKwredef.id;
5332 if(var_tkwredefnode5 == NULL) {
5333 var16 = 1;
5334 } else {
5335 if(cltype17 >= var_tkwredefnode5->type->table_size) {
5336 var16 = 0;
5337 } else {
5338 var16 = var_tkwredefnode5->type->type_table[cltype17] == idtype18;
5339 }
5340 }
5341 if (!var16) {
5342 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17850);
5343 exit(1);
5344 }
5345 var_pvisibilitynode6 = var_nodearraylist5;
5346 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5347 cltype20 = type_nullable_parser_nodes__AVisibility.color;
5348 idtype21 = type_nullable_parser_nodes__AVisibility.id;
5349 if(var_pvisibilitynode6 == NULL) {
5350 var19 = 1;
5351 } else {
5352 if(cltype20 >= var_pvisibilitynode6->type->table_size) {
5353 var19 = 0;
5354 } else {
5355 var19 = var_pvisibilitynode6->type->type_table[cltype20] == idtype21;
5356 }
5357 }
5358 if (!var19) {
5359 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17852);
5360 exit(1);
5361 }
5362 var_tkwvarnode7 = var_nodearraylist6;
5363 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5364 cltype23 = type_nullable_parser_nodes__TKwvar.color;
5365 idtype24 = type_nullable_parser_nodes__TKwvar.id;
5366 if(var_tkwvarnode7 == NULL) {
5367 var22 = 1;
5368 } else {
5369 if(cltype23 >= var_tkwvarnode7->type->table_size) {
5370 var22 = 0;
5371 } else {
5372 var22 = var_tkwvarnode7->type->type_table[cltype23] == idtype24;
5373 }
5374 }
5375 if (!var22) {
5376 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17854);
5377 exit(1);
5378 }
5379 var_tattridnode8 = var_nodearraylist7;
5380 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
5381 cltype26 = type_nullable_parser_nodes__TAttrid.color;
5382 idtype27 = type_nullable_parser_nodes__TAttrid.id;
5383 if(var_tattridnode8 == NULL) {
5384 var25 = 1;
5385 } else {
5386 if(cltype26 >= var_tattridnode8->type->table_size) {
5387 var25 = 0;
5388 } else {
5389 var25 = var_tattridnode8->type->type_table[cltype26] == idtype27;
5390 }
5391 }
5392 if (!var25) {
5393 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17856);
5394 exit(1);
5395 }
5396 var_ptypenode10 = var_nodearraylist8;
5397 /* <var_ptypenode10:nullable Object> isa nullable AType */
5398 cltype29 = type_nullable_parser_nodes__AType.color;
5399 idtype30 = type_nullable_parser_nodes__AType.id;
5400 if(var_ptypenode10 == NULL) {
5401 var28 = 1;
5402 } else {
5403 if(cltype29 >= var_ptypenode10->type->table_size) {
5404 var28 = 0;
5405 } else {
5406 var28 = var_ptypenode10->type->type_table[cltype29] == idtype30;
5407 }
5408 }
5409 if (!var28) {
5410 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17858);
5411 exit(1);
5412 }
5413 var31 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5414 var32 = NULL;
5415 var33 = NULL;
5416 var34 = NULL;
5417 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var31, var_pdocnode2, var_pablenode3, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var32, var_ptypenode10, var33, var34) /* init_aattrpropdef on <var31:AAttrPropdef>*/;
5418 CHECK_NEW_parser_nodes__AAttrPropdef(var31);
5419 var_ppropdefnode1 = var31;
5420 var_node_list = var_ppropdefnode1;
5421 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction396> */
5422 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
5423 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
5424 RET_LABEL:;
5425 }
5426 /* method parser#ReduceAction396#action for (self: Object, Parser) */
5427 void VIRTUAL_parser__ReduceAction396__action(val* self, val* p0) {
5428 parser__ReduceAction396__action(self, p0);
5429 RET_LABEL:;
5430 }
5431 /* method parser#ReduceAction397#action for (self: ReduceAction397, Parser) */
5432 void parser__ReduceAction397__action(val* self, val* p0) {
5433 val* var_p /* var p: Parser */;
5434 val* var /* : null */;
5435 val* var_node_list /* var node_list: nullable Object */;
5436 val* var1 /* : nullable Object */;
5437 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5438 val* var2 /* : nullable Object */;
5439 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5440 val* var3 /* : nullable Object */;
5441 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5442 val* var4 /* : nullable Object */;
5443 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5444 val* var5 /* : nullable Object */;
5445 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5446 val* var6 /* : nullable Object */;
5447 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5448 val* var7 /* : nullable Object */;
5449 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5450 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5451 short int var8 /* : Bool */;
5452 int cltype;
5453 int idtype;
5454 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5455 short int var9 /* : Bool */;
5456 int cltype10;
5457 int idtype11;
5458 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5459 short int var12 /* : Bool */;
5460 int cltype13;
5461 int idtype14;
5462 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
5463 short int var15 /* : Bool */;
5464 int cltype16;
5465 int idtype17;
5466 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
5467 short int var18 /* : Bool */;
5468 int cltype19;
5469 int idtype20;
5470 val* var21 /* : AAttrPropdef */;
5471 val* var22 /* : null */;
5472 val* var23 /* : null */;
5473 val* var24 /* : null */;
5474 val* var25 /* : null */;
5475 val* var26 /* : null */;
5476 val* var27 /* : null */;
5477 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5478 long var28 /* : Int */;
5479 long var29 /* : Int */;
5480 var_p = p0;
5481 var = NULL;
5482 var_node_list = var;
5483 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5484 var_nodearraylist7 = var1;
5485 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5486 var_nodearraylist6 = var2;
5487 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5488 var_nodearraylist5 = var3;
5489 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5490 var_nodearraylist4 = var4;
5491 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5492 var_nodearraylist3 = var5;
5493 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5494 var_nodearraylist2 = var6;
5495 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5496 var_nodearraylist1 = var7;
5497 var_pdocnode2 = var_nodearraylist1;
5498 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5499 cltype = type_nullable_parser_nodes__ADoc.color;
5500 idtype = type_nullable_parser_nodes__ADoc.id;
5501 if(var_pdocnode2 == NULL) {
5502 var8 = 1;
5503 } else {
5504 if(cltype >= var_pdocnode2->type->table_size) {
5505 var8 = 0;
5506 } else {
5507 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
5508 }
5509 }
5510 if (!var8) {
5511 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17889);
5512 exit(1);
5513 }
5514 var_pvisibilitynode6 = var_nodearraylist2;
5515 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5516 cltype10 = type_nullable_parser_nodes__AVisibility.color;
5517 idtype11 = type_nullable_parser_nodes__AVisibility.id;
5518 if(var_pvisibilitynode6 == NULL) {
5519 var9 = 1;
5520 } else {
5521 if(cltype10 >= var_pvisibilitynode6->type->table_size) {
5522 var9 = 0;
5523 } else {
5524 var9 = var_pvisibilitynode6->type->type_table[cltype10] == idtype11;
5525 }
5526 }
5527 if (!var9) {
5528 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17891);
5529 exit(1);
5530 }
5531 var_tkwvarnode7 = var_nodearraylist3;
5532 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5533 cltype13 = type_nullable_parser_nodes__TKwvar.color;
5534 idtype14 = type_nullable_parser_nodes__TKwvar.id;
5535 if(var_tkwvarnode7 == NULL) {
5536 var12 = 1;
5537 } else {
5538 if(cltype13 >= var_tkwvarnode7->type->table_size) {
5539 var12 = 0;
5540 } else {
5541 var12 = var_tkwvarnode7->type->type_table[cltype13] == idtype14;
5542 }
5543 }
5544 if (!var12) {
5545 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17893);
5546 exit(1);
5547 }
5548 var_tattridnode8 = var_nodearraylist4;
5549 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
5550 cltype16 = type_nullable_parser_nodes__TAttrid.color;
5551 idtype17 = type_nullable_parser_nodes__TAttrid.id;
5552 if(var_tattridnode8 == NULL) {
5553 var15 = 1;
5554 } else {
5555 if(cltype16 >= var_tattridnode8->type->table_size) {
5556 var15 = 0;
5557 } else {
5558 var15 = var_tattridnode8->type->type_table[cltype16] == idtype17;
5559 }
5560 }
5561 if (!var15) {
5562 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17895);
5563 exit(1);
5564 }
5565 var_pexprnode12 = var_nodearraylist7;
5566 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
5567 cltype19 = type_nullable_parser_nodes__AExpr.color;
5568 idtype20 = type_nullable_parser_nodes__AExpr.id;
5569 if(var_pexprnode12 == NULL) {
5570 var18 = 1;
5571 } else {
5572 if(cltype19 >= var_pexprnode12->type->table_size) {
5573 var18 = 0;
5574 } else {
5575 var18 = var_pexprnode12->type->type_table[cltype19] == idtype20;
5576 }
5577 }
5578 if (!var18) {
5579 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17897);
5580 exit(1);
5581 }
5582 var21 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5583 var22 = NULL;
5584 var23 = NULL;
5585 var24 = NULL;
5586 var25 = NULL;
5587 var26 = NULL;
5588 var27 = NULL;
5589 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var21, var_pdocnode2, var22, var23, var24, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var25, var26, var27, var_pexprnode12) /* init_aattrpropdef on <var21:AAttrPropdef>*/;
5590 CHECK_NEW_parser_nodes__AAttrPropdef(var21);
5591 var_ppropdefnode1 = var21;
5592 var_node_list = var_ppropdefnode1;
5593 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction397> */
5594 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
5595 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
5596 RET_LABEL:;
5597 }
5598 /* method parser#ReduceAction397#action for (self: Object, Parser) */
5599 void VIRTUAL_parser__ReduceAction397__action(val* self, val* p0) {
5600 parser__ReduceAction397__action(self, p0);
5601 RET_LABEL:;
5602 }
5603 /* method parser#ReduceAction398#action for (self: ReduceAction398, Parser) */
5604 void parser__ReduceAction398__action(val* self, val* p0) {
5605 val* var_p /* var p: Parser */;
5606 val* var /* : null */;
5607 val* var_node_list /* var node_list: nullable Object */;
5608 val* var1 /* : nullable Object */;
5609 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5610 val* var2 /* : nullable Object */;
5611 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5612 val* var3 /* : nullable Object */;
5613 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5614 val* var4 /* : nullable Object */;
5615 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5616 val* var5 /* : nullable Object */;
5617 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5618 val* var6 /* : nullable Object */;
5619 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5620 val* var7 /* : nullable Object */;
5621 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5622 val* var8 /* : nullable Object */;
5623 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5624 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5625 short int var9 /* : Bool */;
5626 int cltype;
5627 int idtype;
5628 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
5629 short int var10 /* : Bool */;
5630 int cltype11;
5631 int idtype12;
5632 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5633 short int var13 /* : Bool */;
5634 int cltype14;
5635 int idtype15;
5636 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5637 short int var16 /* : Bool */;
5638 int cltype17;
5639 int idtype18;
5640 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
5641 short int var19 /* : Bool */;
5642 int cltype20;
5643 int idtype21;
5644 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
5645 short int var22 /* : Bool */;
5646 int cltype23;
5647 int idtype24;
5648 val* var25 /* : AAttrPropdef */;
5649 val* var26 /* : null */;
5650 val* var27 /* : null */;
5651 val* var28 /* : null */;
5652 val* var29 /* : null */;
5653 val* var30 /* : null */;
5654 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5655 long var31 /* : Int */;
5656 long var32 /* : Int */;
5657 var_p = p0;
5658 var = NULL;
5659 var_node_list = var;
5660 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5661 var_nodearraylist8 = var1;
5662 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5663 var_nodearraylist7 = var2;
5664 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5665 var_nodearraylist6 = var3;
5666 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5667 var_nodearraylist5 = var4;
5668 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5669 var_nodearraylist4 = var5;
5670 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5671 var_nodearraylist3 = var6;
5672 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5673 var_nodearraylist2 = var7;
5674 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5675 var_nodearraylist1 = var8;
5676 var_pdocnode2 = var_nodearraylist1;
5677 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5678 cltype = type_nullable_parser_nodes__ADoc.color;
5679 idtype = type_nullable_parser_nodes__ADoc.id;
5680 if(var_pdocnode2 == NULL) {
5681 var9 = 1;
5682 } else {
5683 if(cltype >= var_pdocnode2->type->table_size) {
5684 var9 = 0;
5685 } else {
5686 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
5687 }
5688 }
5689 if (!var9) {
5690 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17929);
5691 exit(1);
5692 }
5693 var_tkwredefnode5 = var_nodearraylist2;
5694 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
5695 cltype11 = type_nullable_parser_nodes__TKwredef.color;
5696 idtype12 = type_nullable_parser_nodes__TKwredef.id;
5697 if(var_tkwredefnode5 == NULL) {
5698 var10 = 1;
5699 } else {
5700 if(cltype11 >= var_tkwredefnode5->type->table_size) {
5701 var10 = 0;
5702 } else {
5703 var10 = var_tkwredefnode5->type->type_table[cltype11] == idtype12;
5704 }
5705 }
5706 if (!var10) {
5707 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17931);
5708 exit(1);
5709 }
5710 var_pvisibilitynode6 = var_nodearraylist3;
5711 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5712 cltype14 = type_nullable_parser_nodes__AVisibility.color;
5713 idtype15 = type_nullable_parser_nodes__AVisibility.id;
5714 if(var_pvisibilitynode6 == NULL) {
5715 var13 = 1;
5716 } else {
5717 if(cltype14 >= var_pvisibilitynode6->type->table_size) {
5718 var13 = 0;
5719 } else {
5720 var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
5721 }
5722 }
5723 if (!var13) {
5724 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17933);
5725 exit(1);
5726 }
5727 var_tkwvarnode7 = var_nodearraylist4;
5728 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5729 cltype17 = type_nullable_parser_nodes__TKwvar.color;
5730 idtype18 = type_nullable_parser_nodes__TKwvar.id;
5731 if(var_tkwvarnode7 == NULL) {
5732 var16 = 1;
5733 } else {
5734 if(cltype17 >= var_tkwvarnode7->type->table_size) {
5735 var16 = 0;
5736 } else {
5737 var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
5738 }
5739 }
5740 if (!var16) {
5741 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17935);
5742 exit(1);
5743 }
5744 var_tattridnode8 = var_nodearraylist5;
5745 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
5746 cltype20 = type_nullable_parser_nodes__TAttrid.color;
5747 idtype21 = type_nullable_parser_nodes__TAttrid.id;
5748 if(var_tattridnode8 == NULL) {
5749 var19 = 1;
5750 } else {
5751 if(cltype20 >= var_tattridnode8->type->table_size) {
5752 var19 = 0;
5753 } else {
5754 var19 = var_tattridnode8->type->type_table[cltype20] == idtype21;
5755 }
5756 }
5757 if (!var19) {
5758 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17937);
5759 exit(1);
5760 }
5761 var_pexprnode12 = var_nodearraylist8;
5762 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
5763 cltype23 = type_nullable_parser_nodes__AExpr.color;
5764 idtype24 = type_nullable_parser_nodes__AExpr.id;
5765 if(var_pexprnode12 == NULL) {
5766 var22 = 1;
5767 } else {
5768 if(cltype23 >= var_pexprnode12->type->table_size) {
5769 var22 = 0;
5770 } else {
5771 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
5772 }
5773 }
5774 if (!var22) {
5775 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17939);
5776 exit(1);
5777 }
5778 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5779 var26 = NULL;
5780 var27 = NULL;
5781 var28 = NULL;
5782 var29 = NULL;
5783 var30 = NULL;
5784 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var26, var27, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var28, var29, var30, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
5785 CHECK_NEW_parser_nodes__AAttrPropdef(var25);
5786 var_ppropdefnode1 = var25;
5787 var_node_list = var_ppropdefnode1;
5788 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction398> */
5789 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
5790 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
5791 RET_LABEL:;
5792 }
5793 /* method parser#ReduceAction398#action for (self: Object, Parser) */
5794 void VIRTUAL_parser__ReduceAction398__action(val* self, val* p0) {
5795 parser__ReduceAction398__action(self, p0);
5796 RET_LABEL:;
5797 }
5798 /* method parser#ReduceAction399#action for (self: ReduceAction399, Parser) */
5799 void parser__ReduceAction399__action(val* self, val* p0) {
5800 val* var_p /* var p: Parser */;
5801 val* var /* : null */;
5802 val* var_node_list /* var node_list: nullable Object */;
5803 val* var1 /* : nullable Object */;
5804 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5805 val* var2 /* : nullable Object */;
5806 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5807 val* var3 /* : nullable Object */;
5808 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5809 val* var4 /* : nullable Object */;
5810 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5811 val* var5 /* : nullable Object */;
5812 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5813 val* var6 /* : nullable Object */;
5814 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5815 val* var7 /* : nullable Object */;
5816 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5817 val* var8 /* : nullable Object */;
5818 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5819 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5820 short int var9 /* : Bool */;
5821 int cltype;
5822 int idtype;
5823 val* var_pablenode3 /* var pablenode3: nullable Object */;
5824 short int var10 /* : Bool */;
5825 int cltype11;
5826 int idtype12;
5827 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5828 short int var13 /* : Bool */;
5829 int cltype14;
5830 int idtype15;
5831 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5832 short int var16 /* : Bool */;
5833 int cltype17;
5834 int idtype18;
5835 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
5836 short int var19 /* : Bool */;
5837 int cltype20;
5838 int idtype21;
5839 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
5840 short int var22 /* : Bool */;
5841 int cltype23;
5842 int idtype24;
5843 val* var25 /* : AAttrPropdef */;
5844 val* var26 /* : null */;
5845 val* var27 /* : null */;
5846 val* var28 /* : null */;
5847 val* var29 /* : null */;
5848 val* var30 /* : null */;
5849 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5850 long var31 /* : Int */;
5851 long var32 /* : Int */;
5852 var_p = p0;
5853 var = NULL;
5854 var_node_list = var;
5855 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5856 var_nodearraylist8 = var1;
5857 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5858 var_nodearraylist7 = var2;
5859 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5860 var_nodearraylist6 = var3;
5861 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5862 var_nodearraylist5 = var4;
5863 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5864 var_nodearraylist4 = var5;
5865 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5866 var_nodearraylist3 = var6;
5867 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5868 var_nodearraylist2 = var7;
5869 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5870 var_nodearraylist1 = var8;
5871 var_pdocnode2 = var_nodearraylist1;
5872 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5873 cltype = type_nullable_parser_nodes__ADoc.color;
5874 idtype = type_nullable_parser_nodes__ADoc.id;
5875 if(var_pdocnode2 == NULL) {
5876 var9 = 1;
5877 } else {
5878 if(cltype >= var_pdocnode2->type->table_size) {
5879 var9 = 0;
5880 } else {
5881 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
5882 }
5883 }
5884 if (!var9) {
5885 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17971);
5886 exit(1);
5887 }
5888 var_pablenode3 = var_nodearraylist2;
5889 /* <var_pablenode3:nullable Object> isa nullable AAble */
5890 cltype11 = type_nullable_parser_nodes__AAble.color;
5891 idtype12 = type_nullable_parser_nodes__AAble.id;
5892 if(var_pablenode3 == NULL) {
5893 var10 = 1;
5894 } else {
5895 if(cltype11 >= var_pablenode3->type->table_size) {
5896 var10 = 0;
5897 } else {
5898 var10 = var_pablenode3->type->type_table[cltype11] == idtype12;
5899 }
5900 }
5901 if (!var10) {
5902 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17973);
5903 exit(1);
5904 }
5905 var_pvisibilitynode6 = var_nodearraylist3;
5906 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5907 cltype14 = type_nullable_parser_nodes__AVisibility.color;
5908 idtype15 = type_nullable_parser_nodes__AVisibility.id;
5909 if(var_pvisibilitynode6 == NULL) {
5910 var13 = 1;
5911 } else {
5912 if(cltype14 >= var_pvisibilitynode6->type->table_size) {
5913 var13 = 0;
5914 } else {
5915 var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
5916 }
5917 }
5918 if (!var13) {
5919 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17975);
5920 exit(1);
5921 }
5922 var_tkwvarnode7 = var_nodearraylist4;
5923 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5924 cltype17 = type_nullable_parser_nodes__TKwvar.color;
5925 idtype18 = type_nullable_parser_nodes__TKwvar.id;
5926 if(var_tkwvarnode7 == NULL) {
5927 var16 = 1;
5928 } else {
5929 if(cltype17 >= var_tkwvarnode7->type->table_size) {
5930 var16 = 0;
5931 } else {
5932 var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
5933 }
5934 }
5935 if (!var16) {
5936 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17977);
5937 exit(1);
5938 }
5939 var_tattridnode8 = var_nodearraylist5;
5940 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
5941 cltype20 = type_nullable_parser_nodes__TAttrid.color;
5942 idtype21 = type_nullable_parser_nodes__TAttrid.id;
5943 if(var_tattridnode8 == NULL) {
5944 var19 = 1;
5945 } else {
5946 if(cltype20 >= var_tattridnode8->type->table_size) {
5947 var19 = 0;
5948 } else {
5949 var19 = var_tattridnode8->type->type_table[cltype20] == idtype21;
5950 }
5951 }
5952 if (!var19) {
5953 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17979);
5954 exit(1);
5955 }
5956 var_pexprnode12 = var_nodearraylist8;
5957 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
5958 cltype23 = type_nullable_parser_nodes__AExpr.color;
5959 idtype24 = type_nullable_parser_nodes__AExpr.id;
5960 if(var_pexprnode12 == NULL) {
5961 var22 = 1;
5962 } else {
5963 if(cltype23 >= var_pexprnode12->type->table_size) {
5964 var22 = 0;
5965 } else {
5966 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
5967 }
5968 }
5969 if (!var22) {
5970 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 17981);
5971 exit(1);
5972 }
5973 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5974 var26 = NULL;
5975 var27 = NULL;
5976 var28 = NULL;
5977 var29 = NULL;
5978 var30 = NULL;
5979 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var_pablenode3, var26, var27, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var28, var29, var30, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
5980 CHECK_NEW_parser_nodes__AAttrPropdef(var25);
5981 var_ppropdefnode1 = var25;
5982 var_node_list = var_ppropdefnode1;
5983 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction399> */
5984 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
5985 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
5986 RET_LABEL:;
5987 }
5988 /* method parser#ReduceAction399#action for (self: Object, Parser) */
5989 void VIRTUAL_parser__ReduceAction399__action(val* self, val* p0) {
5990 parser__ReduceAction399__action(self, p0);
5991 RET_LABEL:;
5992 }
5993 /* method parser#ReduceAction400#action for (self: ReduceAction400, Parser) */
5994 void parser__ReduceAction400__action(val* self, val* p0) {
5995 val* var_p /* var p: Parser */;
5996 val* var /* : null */;
5997 val* var_node_list /* var node_list: nullable Object */;
5998 val* var1 /* : nullable Object */;
5999 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6000 val* var2 /* : nullable Object */;
6001 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6002 val* var3 /* : nullable Object */;
6003 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6004 val* var4 /* : nullable Object */;
6005 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6006 val* var5 /* : nullable Object */;
6007 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6008 val* var6 /* : nullable Object */;
6009 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6010 val* var7 /* : nullable Object */;
6011 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6012 val* var8 /* : nullable Object */;
6013 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6014 val* var9 /* : nullable Object */;
6015 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6016 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6017 short int var10 /* : Bool */;
6018 int cltype;
6019 int idtype;
6020 val* var_pablenode3 /* var pablenode3: nullable Object */;
6021 short int var11 /* : Bool */;
6022 int cltype12;
6023 int idtype13;
6024 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
6025 short int var14 /* : Bool */;
6026 int cltype15;
6027 int idtype16;
6028 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
6029 short int var17 /* : Bool */;
6030 int cltype18;
6031 int idtype19;
6032 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
6033 short int var20 /* : Bool */;
6034 int cltype21;
6035 int idtype22;
6036 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
6037 short int var23 /* : Bool */;
6038 int cltype24;
6039 int idtype25;
6040 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
6041 short int var26 /* : Bool */;
6042 int cltype27;
6043 int idtype28;
6044 val* var29 /* : AAttrPropdef */;
6045 val* var30 /* : null */;
6046 val* var31 /* : null */;
6047 val* var32 /* : null */;
6048 val* var33 /* : null */;
6049 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6050 long var34 /* : Int */;
6051 long var35 /* : Int */;
6052 var_p = p0;
6053 var = NULL;
6054 var_node_list = var;
6055 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6056 var_nodearraylist9 = var1;
6057 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6058 var_nodearraylist8 = var2;
6059 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6060 var_nodearraylist7 = var3;
6061 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6062 var_nodearraylist6 = var4;
6063 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6064 var_nodearraylist5 = var5;
6065 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6066 var_nodearraylist4 = var6;
6067 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6068 var_nodearraylist3 = var7;
6069 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6070 var_nodearraylist2 = var8;
6071 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6072 var_nodearraylist1 = var9;
6073 var_pdocnode2 = var_nodearraylist1;
6074 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6075 cltype = type_nullable_parser_nodes__ADoc.color;
6076 idtype = type_nullable_parser_nodes__ADoc.id;
6077 if(var_pdocnode2 == NULL) {
6078 var10 = 1;
6079 } else {
6080 if(cltype >= var_pdocnode2->type->table_size) {
6081 var10 = 0;
6082 } else {
6083 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
6084 }
6085 }
6086 if (!var10) {
6087 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18014);
6088 exit(1);
6089 }
6090 var_pablenode3 = var_nodearraylist2;
6091 /* <var_pablenode3:nullable Object> isa nullable AAble */
6092 cltype12 = type_nullable_parser_nodes__AAble.color;
6093 idtype13 = type_nullable_parser_nodes__AAble.id;
6094 if(var_pablenode3 == NULL) {
6095 var11 = 1;
6096 } else {
6097 if(cltype12 >= var_pablenode3->type->table_size) {
6098 var11 = 0;
6099 } else {
6100 var11 = var_pablenode3->type->type_table[cltype12] == idtype13;
6101 }
6102 }
6103 if (!var11) {
6104 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18016);
6105 exit(1);
6106 }
6107 var_tkwredefnode5 = var_nodearraylist3;
6108 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
6109 cltype15 = type_nullable_parser_nodes__TKwredef.color;
6110 idtype16 = type_nullable_parser_nodes__TKwredef.id;
6111 if(var_tkwredefnode5 == NULL) {
6112 var14 = 1;
6113 } else {
6114 if(cltype15 >= var_tkwredefnode5->type->table_size) {
6115 var14 = 0;
6116 } else {
6117 var14 = var_tkwredefnode5->type->type_table[cltype15] == idtype16;
6118 }
6119 }
6120 if (!var14) {
6121 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18018);
6122 exit(1);
6123 }
6124 var_pvisibilitynode6 = var_nodearraylist4;
6125 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
6126 cltype18 = type_nullable_parser_nodes__AVisibility.color;
6127 idtype19 = type_nullable_parser_nodes__AVisibility.id;
6128 if(var_pvisibilitynode6 == NULL) {
6129 var17 = 1;
6130 } else {
6131 if(cltype18 >= var_pvisibilitynode6->type->table_size) {
6132 var17 = 0;
6133 } else {
6134 var17 = var_pvisibilitynode6->type->type_table[cltype18] == idtype19;
6135 }
6136 }
6137 if (!var17) {
6138 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18020);
6139 exit(1);
6140 }
6141 var_tkwvarnode7 = var_nodearraylist5;
6142 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
6143 cltype21 = type_nullable_parser_nodes__TKwvar.color;
6144 idtype22 = type_nullable_parser_nodes__TKwvar.id;
6145 if(var_tkwvarnode7 == NULL) {
6146 var20 = 1;
6147 } else {
6148 if(cltype21 >= var_tkwvarnode7->type->table_size) {
6149 var20 = 0;
6150 } else {
6151 var20 = var_tkwvarnode7->type->type_table[cltype21] == idtype22;
6152 }
6153 }
6154 if (!var20) {
6155 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18022);
6156 exit(1);
6157 }
6158 var_tattridnode8 = var_nodearraylist6;
6159 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
6160 cltype24 = type_nullable_parser_nodes__TAttrid.color;
6161 idtype25 = type_nullable_parser_nodes__TAttrid.id;
6162 if(var_tattridnode8 == NULL) {
6163 var23 = 1;
6164 } else {
6165 if(cltype24 >= var_tattridnode8->type->table_size) {
6166 var23 = 0;
6167 } else {
6168 var23 = var_tattridnode8->type->type_table[cltype24] == idtype25;
6169 }
6170 }
6171 if (!var23) {
6172 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18024);
6173 exit(1);
6174 }
6175 var_pexprnode12 = var_nodearraylist9;
6176 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
6177 cltype27 = type_nullable_parser_nodes__AExpr.color;
6178 idtype28 = type_nullable_parser_nodes__AExpr.id;
6179 if(var_pexprnode12 == NULL) {
6180 var26 = 1;
6181 } else {
6182 if(cltype27 >= var_pexprnode12->type->table_size) {
6183 var26 = 0;
6184 } else {
6185 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
6186 }
6187 }
6188 if (!var26) {
6189 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18026);
6190 exit(1);
6191 }
6192 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
6193 var30 = NULL;
6194 var31 = NULL;
6195 var32 = NULL;
6196 var33 = NULL;
6197 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var_pablenode3, var30, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var31, var32, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
6198 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
6199 var_ppropdefnode1 = var29;
6200 var_node_list = var_ppropdefnode1;
6201 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction400> */
6202 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
6203 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
6204 RET_LABEL:;
6205 }
6206 /* method parser#ReduceAction400#action for (self: Object, Parser) */
6207 void VIRTUAL_parser__ReduceAction400__action(val* self, val* p0) {
6208 parser__ReduceAction400__action(self, p0);
6209 RET_LABEL:;
6210 }
6211 /* method parser#ReduceAction401#action for (self: ReduceAction401, Parser) */
6212 void parser__ReduceAction401__action(val* self, val* p0) {
6213 val* var_p /* var p: Parser */;
6214 val* var /* : null */;
6215 val* var_node_list /* var node_list: nullable Object */;
6216 val* var1 /* : nullable Object */;
6217 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6218 val* var2 /* : nullable Object */;
6219 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6220 val* var3 /* : nullable Object */;
6221 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6222 val* var4 /* : nullable Object */;
6223 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6224 val* var5 /* : nullable Object */;
6225 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6226 val* var6 /* : nullable Object */;
6227 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6228 val* var7 /* : nullable Object */;
6229 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6230 val* var8 /* : nullable Object */;
6231 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6232 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6233 short int var9 /* : Bool */;
6234 int cltype;
6235 int idtype;
6236 val* var_pablenode4 /* var pablenode4: nullable Object */;
6237 short int var10 /* : Bool */;
6238 int cltype11;
6239 int idtype12;
6240 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
6241 short int var13 /* : Bool */;
6242 int cltype14;
6243 int idtype15;
6244 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
6245 short int var16 /* : Bool */;
6246 int cltype17;
6247 int idtype18;
6248 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
6249 short int var19 /* : Bool */;
6250 int cltype20;
6251 int idtype21;
6252 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
6253 short int var22 /* : Bool */;
6254 int cltype23;
6255 int idtype24;
6256 val* var25 /* : AAttrPropdef */;
6257 val* var26 /* : null */;
6258 val* var27 /* : null */;
6259 val* var28 /* : null */;
6260 val* var29 /* : null */;
6261 val* var30 /* : null */;
6262 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6263 long var31 /* : Int */;
6264 long var32 /* : Int */;
6265 var_p = p0;
6266 var = NULL;
6267 var_node_list = var;
6268 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6269 var_nodearraylist8 = var1;
6270 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6271 var_nodearraylist7 = var2;
6272 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6273 var_nodearraylist6 = var3;
6274 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6275 var_nodearraylist5 = var4;
6276 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6277 var_nodearraylist4 = var5;
6278 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6279 var_nodearraylist3 = var6;
6280 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6281 var_nodearraylist2 = var7;
6282 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6283 var_nodearraylist1 = var8;
6284 var_pdocnode2 = var_nodearraylist1;
6285 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6286 cltype = type_nullable_parser_nodes__ADoc.color;
6287 idtype = type_nullable_parser_nodes__ADoc.id;
6288 if(var_pdocnode2 == NULL) {
6289 var9 = 1;
6290 } else {
6291 if(cltype >= var_pdocnode2->type->table_size) {
6292 var9 = 0;
6293 } else {
6294 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
6295 }
6296 }
6297 if (!var9) {
6298 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18058);
6299 exit(1);
6300 }
6301 var_pablenode4 = var_nodearraylist2;
6302 /* <var_pablenode4:nullable Object> isa nullable AAble */
6303 cltype11 = type_nullable_parser_nodes__AAble.color;
6304 idtype12 = type_nullable_parser_nodes__AAble.id;
6305 if(var_pablenode4 == NULL) {
6306 var10 = 1;
6307 } else {
6308 if(cltype11 >= var_pablenode4->type->table_size) {
6309 var10 = 0;
6310 } else {
6311 var10 = var_pablenode4->type->type_table[cltype11] == idtype12;
6312 }
6313 }
6314 if (!var10) {
6315 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18060);
6316 exit(1);
6317 }
6318 var_pvisibilitynode6 = var_nodearraylist3;
6319 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
6320 cltype14 = type_nullable_parser_nodes__AVisibility.color;
6321 idtype15 = type_nullable_parser_nodes__AVisibility.id;
6322 if(var_pvisibilitynode6 == NULL) {
6323 var13 = 1;
6324 } else {
6325 if(cltype14 >= var_pvisibilitynode6->type->table_size) {
6326 var13 = 0;
6327 } else {
6328 var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
6329 }
6330 }
6331 if (!var13) {
6332 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18062);
6333 exit(1);
6334 }
6335 var_tkwvarnode7 = var_nodearraylist4;
6336 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
6337 cltype17 = type_nullable_parser_nodes__TKwvar.color;
6338 idtype18 = type_nullable_parser_nodes__TKwvar.id;
6339 if(var_tkwvarnode7 == NULL) {
6340 var16 = 1;
6341 } else {
6342 if(cltype17 >= var_tkwvarnode7->type->table_size) {
6343 var16 = 0;
6344 } else {
6345 var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
6346 }
6347 }
6348 if (!var16) {
6349 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18064);
6350 exit(1);
6351 }
6352 var_tattridnode8 = var_nodearraylist5;
6353 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
6354 cltype20 = type_nullable_parser_nodes__TAttrid.color;
6355 idtype21 = type_nullable_parser_nodes__TAttrid.id;
6356 if(var_tattridnode8 == NULL) {
6357 var19 = 1;
6358 } else {
6359 if(cltype20 >= var_tattridnode8->type->table_size) {
6360 var19 = 0;
6361 } else {
6362 var19 = var_tattridnode8->type->type_table[cltype20] == idtype21;
6363 }
6364 }
6365 if (!var19) {
6366 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18066);
6367 exit(1);
6368 }
6369 var_pexprnode12 = var_nodearraylist8;
6370 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
6371 cltype23 = type_nullable_parser_nodes__AExpr.color;
6372 idtype24 = type_nullable_parser_nodes__AExpr.id;
6373 if(var_pexprnode12 == NULL) {
6374 var22 = 1;
6375 } else {
6376 if(cltype23 >= var_pexprnode12->type->table_size) {
6377 var22 = 0;
6378 } else {
6379 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
6380 }
6381 }
6382 if (!var22) {
6383 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18068);
6384 exit(1);
6385 }
6386 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
6387 var26 = NULL;
6388 var27 = NULL;
6389 var28 = NULL;
6390 var29 = NULL;
6391 var30 = NULL;
6392 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var26, var_pablenode4, var27, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var28, var29, var30, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
6393 CHECK_NEW_parser_nodes__AAttrPropdef(var25);
6394 var_ppropdefnode1 = var25;
6395 var_node_list = var_ppropdefnode1;
6396 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction401> */
6397 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
6398 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
6399 RET_LABEL:;
6400 }
6401 /* method parser#ReduceAction401#action for (self: Object, Parser) */
6402 void VIRTUAL_parser__ReduceAction401__action(val* self, val* p0) {
6403 parser__ReduceAction401__action(self, p0);
6404 RET_LABEL:;
6405 }
6406 /* method parser#ReduceAction402#action for (self: ReduceAction402, Parser) */
6407 void parser__ReduceAction402__action(val* self, val* p0) {
6408 val* var_p /* var p: Parser */;
6409 val* var /* : null */;
6410 val* var_node_list /* var node_list: nullable Object */;
6411 val* var1 /* : nullable Object */;
6412 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6413 val* var2 /* : nullable Object */;
6414 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6415 val* var3 /* : nullable Object */;
6416 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6417 val* var4 /* : nullable Object */;
6418 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6419 val* var5 /* : nullable Object */;
6420 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6421 val* var6 /* : nullable Object */;
6422 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6423 val* var7 /* : nullable Object */;
6424 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6425 val* var8 /* : nullable Object */;
6426 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6427 val* var9 /* : nullable Object */;
6428 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6429 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6430 short int var10 /* : Bool */;
6431 int cltype;
6432 int idtype;
6433 val* var_pablenode4 /* var pablenode4: nullable Object */;
6434 short int var11 /* : Bool */;
6435 int cltype12;
6436 int idtype13;
6437 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
6438 short int var14 /* : Bool */;
6439 int cltype15;
6440 int idtype16;
6441 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
6442 short int var17 /* : Bool */;
6443 int cltype18;
6444 int idtype19;
6445 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
6446 short int var20 /* : Bool */;
6447 int cltype21;
6448 int idtype22;
6449 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
6450 short int var23 /* : Bool */;
6451 int cltype24;
6452 int idtype25;
6453 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
6454 short int var26 /* : Bool */;
6455 int cltype27;
6456 int idtype28;
6457 val* var29 /* : AAttrPropdef */;
6458 val* var30 /* : null */;
6459 val* var31 /* : null */;
6460 val* var32 /* : null */;
6461 val* var33 /* : null */;
6462 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6463 long var34 /* : Int */;
6464 long var35 /* : Int */;
6465 var_p = p0;
6466 var = NULL;
6467 var_node_list = var;
6468 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6469 var_nodearraylist9 = var1;
6470 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6471 var_nodearraylist8 = var2;
6472 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6473 var_nodearraylist7 = var3;
6474 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6475 var_nodearraylist6 = var4;
6476 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6477 var_nodearraylist5 = var5;
6478 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6479 var_nodearraylist4 = var6;
6480 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6481 var_nodearraylist3 = var7;
6482 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6483 var_nodearraylist2 = var8;
6484 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6485 var_nodearraylist1 = var9;
6486 var_pdocnode2 = var_nodearraylist1;
6487 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6488 cltype = type_nullable_parser_nodes__ADoc.color;
6489 idtype = type_nullable_parser_nodes__ADoc.id;
6490 if(var_pdocnode2 == NULL) {
6491 var10 = 1;
6492 } else {
6493 if(cltype >= var_pdocnode2->type->table_size) {
6494 var10 = 0;
6495 } else {
6496 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
6497 }
6498 }
6499 if (!var10) {
6500 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18101);
6501 exit(1);
6502 }
6503 var_pablenode4 = var_nodearraylist2;
6504 /* <var_pablenode4:nullable Object> isa nullable AAble */
6505 cltype12 = type_nullable_parser_nodes__AAble.color;
6506 idtype13 = type_nullable_parser_nodes__AAble.id;
6507 if(var_pablenode4 == NULL) {
6508 var11 = 1;
6509 } else {
6510 if(cltype12 >= var_pablenode4->type->table_size) {
6511 var11 = 0;
6512 } else {
6513 var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
6514 }
6515 }
6516 if (!var11) {
6517 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18103);
6518 exit(1);
6519 }
6520 var_tkwredefnode5 = var_nodearraylist3;
6521 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
6522 cltype15 = type_nullable_parser_nodes__TKwredef.color;
6523 idtype16 = type_nullable_parser_nodes__TKwredef.id;
6524 if(var_tkwredefnode5 == NULL) {
6525 var14 = 1;
6526 } else {
6527 if(cltype15 >= var_tkwredefnode5->type->table_size) {
6528 var14 = 0;
6529 } else {
6530 var14 = var_tkwredefnode5->type->type_table[cltype15] == idtype16;
6531 }
6532 }
6533 if (!var14) {
6534 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18105);
6535 exit(1);
6536 }
6537 var_pvisibilitynode6 = var_nodearraylist4;
6538 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
6539 cltype18 = type_nullable_parser_nodes__AVisibility.color;
6540 idtype19 = type_nullable_parser_nodes__AVisibility.id;
6541 if(var_pvisibilitynode6 == NULL) {
6542 var17 = 1;
6543 } else {
6544 if(cltype18 >= var_pvisibilitynode6->type->table_size) {
6545 var17 = 0;
6546 } else {
6547 var17 = var_pvisibilitynode6->type->type_table[cltype18] == idtype19;
6548 }
6549 }
6550 if (!var17) {
6551 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18107);
6552 exit(1);
6553 }
6554 var_tkwvarnode7 = var_nodearraylist5;
6555 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
6556 cltype21 = type_nullable_parser_nodes__TKwvar.color;
6557 idtype22 = type_nullable_parser_nodes__TKwvar.id;
6558 if(var_tkwvarnode7 == NULL) {
6559 var20 = 1;
6560 } else {
6561 if(cltype21 >= var_tkwvarnode7->type->table_size) {
6562 var20 = 0;
6563 } else {
6564 var20 = var_tkwvarnode7->type->type_table[cltype21] == idtype22;
6565 }
6566 }
6567 if (!var20) {
6568 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18109);
6569 exit(1);
6570 }
6571 var_tattridnode8 = var_nodearraylist6;
6572 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
6573 cltype24 = type_nullable_parser_nodes__TAttrid.color;
6574 idtype25 = type_nullable_parser_nodes__TAttrid.id;
6575 if(var_tattridnode8 == NULL) {
6576 var23 = 1;
6577 } else {
6578 if(cltype24 >= var_tattridnode8->type->table_size) {
6579 var23 = 0;
6580 } else {
6581 var23 = var_tattridnode8->type->type_table[cltype24] == idtype25;
6582 }
6583 }
6584 if (!var23) {
6585 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18111);
6586 exit(1);
6587 }
6588 var_pexprnode12 = var_nodearraylist9;
6589 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
6590 cltype27 = type_nullable_parser_nodes__AExpr.color;
6591 idtype28 = type_nullable_parser_nodes__AExpr.id;
6592 if(var_pexprnode12 == NULL) {
6593 var26 = 1;
6594 } else {
6595 if(cltype27 >= var_pexprnode12->type->table_size) {
6596 var26 = 0;
6597 } else {
6598 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
6599 }
6600 }
6601 if (!var26) {
6602 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18113);
6603 exit(1);
6604 }
6605 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
6606 var30 = NULL;
6607 var31 = NULL;
6608 var32 = NULL;
6609 var33 = NULL;
6610 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var31, var32, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
6611 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
6612 var_ppropdefnode1 = var29;
6613 var_node_list = var_ppropdefnode1;
6614 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction402> */
6615 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
6616 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
6617 RET_LABEL:;
6618 }
6619 /* method parser#ReduceAction402#action for (self: Object, Parser) */
6620 void VIRTUAL_parser__ReduceAction402__action(val* self, val* p0) {
6621 parser__ReduceAction402__action(self, p0);
6622 RET_LABEL:;
6623 }
6624 /* method parser#ReduceAction403#action for (self: ReduceAction403, Parser) */
6625 void parser__ReduceAction403__action(val* self, val* p0) {
6626 val* var_p /* var p: Parser */;
6627 val* var /* : null */;
6628 val* var_node_list /* var node_list: nullable Object */;
6629 val* var1 /* : nullable Object */;
6630 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6631 val* var2 /* : nullable Object */;
6632 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6633 val* var3 /* : nullable Object */;
6634 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6635 val* var4 /* : nullable Object */;
6636 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6637 val* var5 /* : nullable Object */;
6638 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6639 val* var6 /* : nullable Object */;
6640 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6641 val* var7 /* : nullable Object */;
6642 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6643 val* var8 /* : nullable Object */;
6644 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6645 val* var9 /* : nullable Object */;
6646 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6647 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6648 short int var10 /* : Bool */;
6649 int cltype;
6650 int idtype;
6651 val* var_pablenode3 /* var pablenode3: nullable Object */;
6652 short int var11 /* : Bool */;
6653 int cltype12;
6654 int idtype13;
6655 val* var_pablenode4 /* var pablenode4: nullable Object */;
6656 short int var14 /* : Bool */;
6657 int cltype15;
6658 int idtype16;
6659 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
6660 short int var17 /* : Bool */;
6661 int cltype18;
6662 int idtype19;
6663 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
6664 short int var20 /* : Bool */;
6665 int cltype21;
6666 int idtype22;
6667 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
6668 short int var23 /* : Bool */;
6669 int cltype24;
6670 int idtype25;
6671 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
6672 short int var26 /* : Bool */;
6673 int cltype27;
6674 int idtype28;
6675 val* var29 /* : AAttrPropdef */;
6676 val* var30 /* : null */;
6677 val* var31 /* : null */;
6678 val* var32 /* : null */;
6679 val* var33 /* : null */;
6680 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6681 long var34 /* : Int */;
6682 long var35 /* : Int */;
6683 var_p = p0;
6684 var = NULL;
6685 var_node_list = var;
6686 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6687 var_nodearraylist9 = var1;
6688 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6689 var_nodearraylist8 = var2;
6690 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6691 var_nodearraylist7 = var3;
6692 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6693 var_nodearraylist6 = var4;
6694 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6695 var_nodearraylist5 = var5;
6696 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6697 var_nodearraylist4 = var6;
6698 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6699 var_nodearraylist3 = var7;
6700 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6701 var_nodearraylist2 = var8;
6702 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6703 var_nodearraylist1 = var9;
6704 var_pdocnode2 = var_nodearraylist1;
6705 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6706 cltype = type_nullable_parser_nodes__ADoc.color;
6707 idtype = type_nullable_parser_nodes__ADoc.id;
6708 if(var_pdocnode2 == NULL) {
6709 var10 = 1;
6710 } else {
6711 if(cltype >= var_pdocnode2->type->table_size) {
6712 var10 = 0;
6713 } else {
6714 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
6715 }
6716 }
6717 if (!var10) {
6718 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18146);
6719 exit(1);
6720 }
6721 var_pablenode3 = var_nodearraylist2;
6722 /* <var_pablenode3:nullable Object> isa nullable AAble */
6723 cltype12 = type_nullable_parser_nodes__AAble.color;
6724 idtype13 = type_nullable_parser_nodes__AAble.id;
6725 if(var_pablenode3 == NULL) {
6726 var11 = 1;
6727 } else {
6728 if(cltype12 >= var_pablenode3->type->table_size) {
6729 var11 = 0;
6730 } else {
6731 var11 = var_pablenode3->type->type_table[cltype12] == idtype13;
6732 }
6733 }
6734 if (!var11) {
6735 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18148);
6736 exit(1);
6737 }
6738 var_pablenode4 = var_nodearraylist3;
6739 /* <var_pablenode4:nullable Object> isa nullable AAble */
6740 cltype15 = type_nullable_parser_nodes__AAble.color;
6741 idtype16 = type_nullable_parser_nodes__AAble.id;
6742 if(var_pablenode4 == NULL) {
6743 var14 = 1;
6744 } else {
6745 if(cltype15 >= var_pablenode4->type->table_size) {
6746 var14 = 0;
6747 } else {
6748 var14 = var_pablenode4->type->type_table[cltype15] == idtype16;
6749 }
6750 }
6751 if (!var14) {
6752 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18150);
6753 exit(1);
6754 }
6755 var_pvisibilitynode6 = var_nodearraylist4;
6756 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
6757 cltype18 = type_nullable_parser_nodes__AVisibility.color;
6758 idtype19 = type_nullable_parser_nodes__AVisibility.id;
6759 if(var_pvisibilitynode6 == NULL) {
6760 var17 = 1;
6761 } else {
6762 if(cltype18 >= var_pvisibilitynode6->type->table_size) {
6763 var17 = 0;
6764 } else {
6765 var17 = var_pvisibilitynode6->type->type_table[cltype18] == idtype19;
6766 }
6767 }
6768 if (!var17) {
6769 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18152);
6770 exit(1);
6771 }
6772 var_tkwvarnode7 = var_nodearraylist5;
6773 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
6774 cltype21 = type_nullable_parser_nodes__TKwvar.color;
6775 idtype22 = type_nullable_parser_nodes__TKwvar.id;
6776 if(var_tkwvarnode7 == NULL) {
6777 var20 = 1;
6778 } else {
6779 if(cltype21 >= var_tkwvarnode7->type->table_size) {
6780 var20 = 0;
6781 } else {
6782 var20 = var_tkwvarnode7->type->type_table[cltype21] == idtype22;
6783 }
6784 }
6785 if (!var20) {
6786 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18154);
6787 exit(1);
6788 }
6789 var_tattridnode8 = var_nodearraylist6;
6790 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
6791 cltype24 = type_nullable_parser_nodes__TAttrid.color;
6792 idtype25 = type_nullable_parser_nodes__TAttrid.id;
6793 if(var_tattridnode8 == NULL) {
6794 var23 = 1;
6795 } else {
6796 if(cltype24 >= var_tattridnode8->type->table_size) {
6797 var23 = 0;
6798 } else {
6799 var23 = var_tattridnode8->type->type_table[cltype24] == idtype25;
6800 }
6801 }
6802 if (!var23) {
6803 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18156);
6804 exit(1);
6805 }
6806 var_pexprnode12 = var_nodearraylist9;
6807 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
6808 cltype27 = type_nullable_parser_nodes__AExpr.color;
6809 idtype28 = type_nullable_parser_nodes__AExpr.id;
6810 if(var_pexprnode12 == NULL) {
6811 var26 = 1;
6812 } else {
6813 if(cltype27 >= var_pexprnode12->type->table_size) {
6814 var26 = 0;
6815 } else {
6816 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
6817 }
6818 }
6819 if (!var26) {
6820 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18158);
6821 exit(1);
6822 }
6823 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
6824 var30 = NULL;
6825 var31 = NULL;
6826 var32 = NULL;
6827 var33 = NULL;
6828 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var_pablenode3, var_pablenode4, var30, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var31, var32, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
6829 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
6830 var_ppropdefnode1 = var29;
6831 var_node_list = var_ppropdefnode1;
6832 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction403> */
6833 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
6834 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
6835 RET_LABEL:;
6836 }
6837 /* method parser#ReduceAction403#action for (self: Object, Parser) */
6838 void VIRTUAL_parser__ReduceAction403__action(val* self, val* p0) {
6839 parser__ReduceAction403__action(self, p0);
6840 RET_LABEL:;
6841 }
6842 /* method parser#ReduceAction404#action for (self: ReduceAction404, Parser) */
6843 void parser__ReduceAction404__action(val* self, val* p0) {
6844 val* var_p /* var p: Parser */;
6845 val* var /* : null */;
6846 val* var_node_list /* var node_list: nullable Object */;
6847 val* var1 /* : nullable Object */;
6848 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6849 val* var2 /* : nullable Object */;
6850 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6851 val* var3 /* : nullable Object */;
6852 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6853 val* var4 /* : nullable Object */;
6854 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6855 val* var5 /* : nullable Object */;
6856 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6857 val* var6 /* : nullable Object */;
6858 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6859 val* var7 /* : nullable Object */;
6860 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6861 val* var8 /* : nullable Object */;
6862 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6863 val* var9 /* : nullable Object */;
6864 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6865 val* var10 /* : nullable Object */;
6866 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6867 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6868 short int var11 /* : Bool */;
6869 int cltype;
6870 int idtype;
6871 val* var_pablenode3 /* var pablenode3: nullable Object */;
6872 short int var12 /* : Bool */;
6873 int cltype13;
6874 int idtype14;
6875 val* var_pablenode4 /* var pablenode4: nullable Object */;
6876 short int var15 /* : Bool */;
6877 int cltype16;
6878 int idtype17;
6879 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
6880 short int var18 /* : Bool */;
6881 int cltype19;
6882 int idtype20;
6883 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
6884 short int var21 /* : Bool */;
6885 int cltype22;
6886 int idtype23;
6887 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
6888 short int var24 /* : Bool */;
6889 int cltype25;
6890 int idtype26;
6891 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
6892 short int var27 /* : Bool */;
6893 int cltype28;
6894 int idtype29;
6895 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
6896 short int var30 /* : Bool */;
6897 int cltype31;
6898 int idtype32;
6899 val* var33 /* : AAttrPropdef */;
6900 val* var34 /* : null */;
6901 val* var35 /* : null */;
6902 val* var36 /* : null */;
6903 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6904 long var37 /* : Int */;
6905 long var38 /* : Int */;
6906 var_p = p0;
6907 var = NULL;
6908 var_node_list = var;
6909 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6910 var_nodearraylist10 = var1;
6911 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6912 var_nodearraylist9 = var2;
6913 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6914 var_nodearraylist8 = var3;
6915 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6916 var_nodearraylist7 = var4;
6917 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6918 var_nodearraylist6 = var5;
6919 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6920 var_nodearraylist5 = var6;
6921 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6922 var_nodearraylist4 = var7;
6923 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6924 var_nodearraylist3 = var8;
6925 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6926 var_nodearraylist2 = var9;
6927 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6928 var_nodearraylist1 = var10;
6929 var_pdocnode2 = var_nodearraylist1;
6930 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6931 cltype = type_nullable_parser_nodes__ADoc.color;
6932 idtype = type_nullable_parser_nodes__ADoc.id;
6933 if(var_pdocnode2 == NULL) {
6934 var11 = 1;
6935 } else {
6936 if(cltype >= var_pdocnode2->type->table_size) {
6937 var11 = 0;
6938 } else {
6939 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
6940 }
6941 }
6942 if (!var11) {
6943 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18192);
6944 exit(1);
6945 }
6946 var_pablenode3 = var_nodearraylist2;
6947 /* <var_pablenode3:nullable Object> isa nullable AAble */
6948 cltype13 = type_nullable_parser_nodes__AAble.color;
6949 idtype14 = type_nullable_parser_nodes__AAble.id;
6950 if(var_pablenode3 == NULL) {
6951 var12 = 1;
6952 } else {
6953 if(cltype13 >= var_pablenode3->type->table_size) {
6954 var12 = 0;
6955 } else {
6956 var12 = var_pablenode3->type->type_table[cltype13] == idtype14;
6957 }
6958 }
6959 if (!var12) {
6960 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18194);
6961 exit(1);
6962 }
6963 var_pablenode4 = var_nodearraylist3;
6964 /* <var_pablenode4:nullable Object> isa nullable AAble */
6965 cltype16 = type_nullable_parser_nodes__AAble.color;
6966 idtype17 = type_nullable_parser_nodes__AAble.id;
6967 if(var_pablenode4 == NULL) {
6968 var15 = 1;
6969 } else {
6970 if(cltype16 >= var_pablenode4->type->table_size) {
6971 var15 = 0;
6972 } else {
6973 var15 = var_pablenode4->type->type_table[cltype16] == idtype17;
6974 }
6975 }
6976 if (!var15) {
6977 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18196);
6978 exit(1);
6979 }
6980 var_tkwredefnode5 = var_nodearraylist4;
6981 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
6982 cltype19 = type_nullable_parser_nodes__TKwredef.color;
6983 idtype20 = type_nullable_parser_nodes__TKwredef.id;
6984 if(var_tkwredefnode5 == NULL) {
6985 var18 = 1;
6986 } else {
6987 if(cltype19 >= var_tkwredefnode5->type->table_size) {
6988 var18 = 0;
6989 } else {
6990 var18 = var_tkwredefnode5->type->type_table[cltype19] == idtype20;
6991 }
6992 }
6993 if (!var18) {
6994 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18198);
6995 exit(1);
6996 }
6997 var_pvisibilitynode6 = var_nodearraylist5;
6998 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
6999 cltype22 = type_nullable_parser_nodes__AVisibility.color;
7000 idtype23 = type_nullable_parser_nodes__AVisibility.id;
7001 if(var_pvisibilitynode6 == NULL) {
7002 var21 = 1;
7003 } else {
7004 if(cltype22 >= var_pvisibilitynode6->type->table_size) {
7005 var21 = 0;
7006 } else {
7007 var21 = var_pvisibilitynode6->type->type_table[cltype22] == idtype23;
7008 }
7009 }
7010 if (!var21) {
7011 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18200);
7012 exit(1);
7013 }
7014 var_tkwvarnode7 = var_nodearraylist6;
7015 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
7016 cltype25 = type_nullable_parser_nodes__TKwvar.color;
7017 idtype26 = type_nullable_parser_nodes__TKwvar.id;
7018 if(var_tkwvarnode7 == NULL) {
7019 var24 = 1;
7020 } else {
7021 if(cltype25 >= var_tkwvarnode7->type->table_size) {
7022 var24 = 0;
7023 } else {
7024 var24 = var_tkwvarnode7->type->type_table[cltype25] == idtype26;
7025 }
7026 }
7027 if (!var24) {
7028 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18202);
7029 exit(1);
7030 }
7031 var_tattridnode8 = var_nodearraylist7;
7032 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
7033 cltype28 = type_nullable_parser_nodes__TAttrid.color;
7034 idtype29 = type_nullable_parser_nodes__TAttrid.id;
7035 if(var_tattridnode8 == NULL) {
7036 var27 = 1;
7037 } else {
7038 if(cltype28 >= var_tattridnode8->type->table_size) {
7039 var27 = 0;
7040 } else {
7041 var27 = var_tattridnode8->type->type_table[cltype28] == idtype29;
7042 }
7043 }
7044 if (!var27) {
7045 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18204);
7046 exit(1);
7047 }
7048 var_pexprnode12 = var_nodearraylist10;
7049 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
7050 cltype31 = type_nullable_parser_nodes__AExpr.color;
7051 idtype32 = type_nullable_parser_nodes__AExpr.id;
7052 if(var_pexprnode12 == NULL) {
7053 var30 = 1;
7054 } else {
7055 if(cltype31 >= var_pexprnode12->type->table_size) {
7056 var30 = 0;
7057 } else {
7058 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
7059 }
7060 }
7061 if (!var30) {
7062 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18206);
7063 exit(1);
7064 }
7065 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
7066 var34 = NULL;
7067 var35 = NULL;
7068 var36 = NULL;
7069 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var33, var_pdocnode2, var_pablenode3, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var34, var35, var36, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
7070 CHECK_NEW_parser_nodes__AAttrPropdef(var33);
7071 var_ppropdefnode1 = var33;
7072 var_node_list = var_ppropdefnode1;
7073 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction404> */
7074 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
7075 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
7076 RET_LABEL:;
7077 }
7078 /* method parser#ReduceAction404#action for (self: Object, Parser) */
7079 void VIRTUAL_parser__ReduceAction404__action(val* self, val* p0) {
7080 parser__ReduceAction404__action(self, p0);
7081 RET_LABEL:;
7082 }
7083 /* method parser#ReduceAction405#action for (self: ReduceAction405, Parser) */
7084 void parser__ReduceAction405__action(val* self, val* p0) {
7085 val* var_p /* var p: Parser */;
7086 val* var /* : null */;
7087 val* var_node_list /* var node_list: nullable Object */;
7088 val* var1 /* : nullable Object */;
7089 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7090 val* var2 /* : nullable Object */;
7091 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7092 val* var3 /* : nullable Object */;
7093 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7094 val* var4 /* : nullable Object */;
7095 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7096 val* var5 /* : nullable Object */;
7097 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7098 val* var6 /* : nullable Object */;
7099 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7100 val* var7 /* : nullable Object */;
7101 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7102 val* var8 /* : nullable Object */;
7103 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7104 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7105 short int var9 /* : Bool */;
7106 int cltype;
7107 int idtype;
7108 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
7109 short int var10 /* : Bool */;
7110 int cltype11;
7111 int idtype12;
7112 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
7113 short int var13 /* : Bool */;
7114 int cltype14;
7115 int idtype15;
7116 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
7117 short int var16 /* : Bool */;
7118 int cltype17;
7119 int idtype18;
7120 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
7121 short int var19 /* : Bool */;
7122 int cltype20;
7123 int idtype21;
7124 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
7125 short int var22 /* : Bool */;
7126 int cltype23;
7127 int idtype24;
7128 val* var25 /* : AAttrPropdef */;
7129 val* var26 /* : null */;
7130 val* var27 /* : null */;
7131 val* var28 /* : null */;
7132 val* var29 /* : null */;
7133 val* var30 /* : null */;
7134 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
7135 long var31 /* : Int */;
7136 long var32 /* : Int */;
7137 var_p = p0;
7138 var = NULL;
7139 var_node_list = var;
7140 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7141 var_nodearraylist8 = var1;
7142 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7143 var_nodearraylist7 = var2;
7144 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7145 var_nodearraylist6 = var3;
7146 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7147 var_nodearraylist5 = var4;
7148 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7149 var_nodearraylist4 = var5;
7150 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7151 var_nodearraylist3 = var6;
7152 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7153 var_nodearraylist2 = var7;
7154 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7155 var_nodearraylist1 = var8;
7156 var_pdocnode2 = var_nodearraylist1;
7157 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7158 cltype = type_nullable_parser_nodes__ADoc.color;
7159 idtype = type_nullable_parser_nodes__ADoc.id;
7160 if(var_pdocnode2 == NULL) {
7161 var9 = 1;
7162 } else {
7163 if(cltype >= var_pdocnode2->type->table_size) {
7164 var9 = 0;
7165 } else {
7166 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
7167 }
7168 }
7169 if (!var9) {
7170 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18238);
7171 exit(1);
7172 }
7173 var_pvisibilitynode6 = var_nodearraylist2;
7174 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
7175 cltype11 = type_nullable_parser_nodes__AVisibility.color;
7176 idtype12 = type_nullable_parser_nodes__AVisibility.id;
7177 if(var_pvisibilitynode6 == NULL) {
7178 var10 = 1;
7179 } else {
7180 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
7181 var10 = 0;
7182 } else {
7183 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
7184 }
7185 }
7186 if (!var10) {
7187 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18240);
7188 exit(1);
7189 }
7190 var_tkwvarnode7 = var_nodearraylist3;
7191 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
7192 cltype14 = type_nullable_parser_nodes__TKwvar.color;
7193 idtype15 = type_nullable_parser_nodes__TKwvar.id;
7194 if(var_tkwvarnode7 == NULL) {
7195 var13 = 1;
7196 } else {
7197 if(cltype14 >= var_tkwvarnode7->type->table_size) {
7198 var13 = 0;
7199 } else {
7200 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
7201 }
7202 }
7203 if (!var13) {
7204 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18242);
7205 exit(1);
7206 }
7207 var_tattridnode8 = var_nodearraylist4;
7208 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
7209 cltype17 = type_nullable_parser_nodes__TAttrid.color;
7210 idtype18 = type_nullable_parser_nodes__TAttrid.id;
7211 if(var_tattridnode8 == NULL) {
7212 var16 = 1;
7213 } else {
7214 if(cltype17 >= var_tattridnode8->type->table_size) {
7215 var16 = 0;
7216 } else {
7217 var16 = var_tattridnode8->type->type_table[cltype17] == idtype18;
7218 }
7219 }
7220 if (!var16) {
7221 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18244);
7222 exit(1);
7223 }
7224 var_ptypenode10 = var_nodearraylist5;
7225 /* <var_ptypenode10:nullable Object> isa nullable AType */
7226 cltype20 = type_nullable_parser_nodes__AType.color;
7227 idtype21 = type_nullable_parser_nodes__AType.id;
7228 if(var_ptypenode10 == NULL) {
7229 var19 = 1;
7230 } else {
7231 if(cltype20 >= var_ptypenode10->type->table_size) {
7232 var19 = 0;
7233 } else {
7234 var19 = var_ptypenode10->type->type_table[cltype20] == idtype21;
7235 }
7236 }
7237 if (!var19) {
7238 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18246);
7239 exit(1);
7240 }
7241 var_pexprnode12 = var_nodearraylist8;
7242 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
7243 cltype23 = type_nullable_parser_nodes__AExpr.color;
7244 idtype24 = type_nullable_parser_nodes__AExpr.id;
7245 if(var_pexprnode12 == NULL) {
7246 var22 = 1;
7247 } else {
7248 if(cltype23 >= var_pexprnode12->type->table_size) {
7249 var22 = 0;
7250 } else {
7251 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
7252 }
7253 }
7254 if (!var22) {
7255 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18248);
7256 exit(1);
7257 }
7258 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
7259 var26 = NULL;
7260 var27 = NULL;
7261 var28 = NULL;
7262 var29 = NULL;
7263 var30 = NULL;
7264 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var25, var_pdocnode2, var26, var27, var28, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var29, var_ptypenode10, var30, var_pexprnode12) /* init_aattrpropdef on <var25:AAttrPropdef>*/;
7265 CHECK_NEW_parser_nodes__AAttrPropdef(var25);
7266 var_ppropdefnode1 = var25;
7267 var_node_list = var_ppropdefnode1;
7268 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction405> */
7269 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
7270 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
7271 RET_LABEL:;
7272 }
7273 /* method parser#ReduceAction405#action for (self: Object, Parser) */
7274 void VIRTUAL_parser__ReduceAction405__action(val* self, val* p0) {
7275 parser__ReduceAction405__action(self, p0);
7276 RET_LABEL:;
7277 }
7278 /* method parser#ReduceAction406#action for (self: ReduceAction406, Parser) */
7279 void parser__ReduceAction406__action(val* self, val* p0) {
7280 val* var_p /* var p: Parser */;
7281 val* var /* : null */;
7282 val* var_node_list /* var node_list: nullable Object */;
7283 val* var1 /* : nullable Object */;
7284 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7285 val* var2 /* : nullable Object */;
7286 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7287 val* var3 /* : nullable Object */;
7288 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7289 val* var4 /* : nullable Object */;
7290 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7291 val* var5 /* : nullable Object */;
7292 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7293 val* var6 /* : nullable Object */;
7294 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7295 val* var7 /* : nullable Object */;
7296 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7297 val* var8 /* : nullable Object */;
7298 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7299 val* var9 /* : nullable Object */;
7300 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7301 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7302 short int var10 /* : Bool */;
7303 int cltype;
7304 int idtype;
7305 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
7306 short int var11 /* : Bool */;
7307 int cltype12;
7308 int idtype13;
7309 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
7310 short int var14 /* : Bool */;
7311 int cltype15;
7312 int idtype16;
7313 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
7314 short int var17 /* : Bool */;
7315 int cltype18;
7316 int idtype19;
7317 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
7318 short int var20 /* : Bool */;
7319 int cltype21;
7320 int idtype22;
7321 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
7322 short int var23 /* : Bool */;
7323 int cltype24;
7324 int idtype25;
7325 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
7326 short int var26 /* : Bool */;
7327 int cltype27;
7328 int idtype28;
7329 val* var29 /* : AAttrPropdef */;
7330 val* var30 /* : null */;
7331 val* var31 /* : null */;
7332 val* var32 /* : null */;
7333 val* var33 /* : null */;
7334 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
7335 long var34 /* : Int */;
7336 long var35 /* : Int */;
7337 var_p = p0;
7338 var = NULL;
7339 var_node_list = var;
7340 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7341 var_nodearraylist9 = var1;
7342 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7343 var_nodearraylist8 = var2;
7344 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7345 var_nodearraylist7 = var3;
7346 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7347 var_nodearraylist6 = var4;
7348 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7349 var_nodearraylist5 = var5;
7350 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7351 var_nodearraylist4 = var6;
7352 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7353 var_nodearraylist3 = var7;
7354 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7355 var_nodearraylist2 = var8;
7356 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7357 var_nodearraylist1 = var9;
7358 var_pdocnode2 = var_nodearraylist1;
7359 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7360 cltype = type_nullable_parser_nodes__ADoc.color;
7361 idtype = type_nullable_parser_nodes__ADoc.id;
7362 if(var_pdocnode2 == NULL) {
7363 var10 = 1;
7364 } else {
7365 if(cltype >= var_pdocnode2->type->table_size) {
7366 var10 = 0;
7367 } else {
7368 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
7369 }
7370 }
7371 if (!var10) {
7372 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18281);
7373 exit(1);
7374 }
7375 var_tkwredefnode5 = var_nodearraylist2;
7376 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
7377 cltype12 = type_nullable_parser_nodes__TKwredef.color;
7378 idtype13 = type_nullable_parser_nodes__TKwredef.id;
7379 if(var_tkwredefnode5 == NULL) {
7380 var11 = 1;
7381 } else {
7382 if(cltype12 >= var_tkwredefnode5->type->table_size) {
7383 var11 = 0;
7384 } else {
7385 var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
7386 }
7387 }
7388 if (!var11) {
7389 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18283);
7390 exit(1);
7391 }
7392 var_pvisibilitynode6 = var_nodearraylist3;
7393 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
7394 cltype15 = type_nullable_parser_nodes__AVisibility.color;
7395 idtype16 = type_nullable_parser_nodes__AVisibility.id;
7396 if(var_pvisibilitynode6 == NULL) {
7397 var14 = 1;
7398 } else {
7399 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
7400 var14 = 0;
7401 } else {
7402 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
7403 }
7404 }
7405 if (!var14) {
7406 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18285);
7407 exit(1);
7408 }
7409 var_tkwvarnode7 = var_nodearraylist4;
7410 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
7411 cltype18 = type_nullable_parser_nodes__TKwvar.color;
7412 idtype19 = type_nullable_parser_nodes__TKwvar.id;
7413 if(var_tkwvarnode7 == NULL) {
7414 var17 = 1;
7415 } else {
7416 if(cltype18 >= var_tkwvarnode7->type->table_size) {
7417 var17 = 0;
7418 } else {
7419 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
7420 }
7421 }
7422 if (!var17) {
7423 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18287);
7424 exit(1);
7425 }
7426 var_tattridnode8 = var_nodearraylist5;
7427 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
7428 cltype21 = type_nullable_parser_nodes__TAttrid.color;
7429 idtype22 = type_nullable_parser_nodes__TAttrid.id;
7430 if(var_tattridnode8 == NULL) {
7431 var20 = 1;
7432 } else {
7433 if(cltype21 >= var_tattridnode8->type->table_size) {
7434 var20 = 0;
7435 } else {
7436 var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
7437 }
7438 }
7439 if (!var20) {
7440 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18289);
7441 exit(1);
7442 }
7443 var_ptypenode10 = var_nodearraylist6;
7444 /* <var_ptypenode10:nullable Object> isa nullable AType */
7445 cltype24 = type_nullable_parser_nodes__AType.color;
7446 idtype25 = type_nullable_parser_nodes__AType.id;
7447 if(var_ptypenode10 == NULL) {
7448 var23 = 1;
7449 } else {
7450 if(cltype24 >= var_ptypenode10->type->table_size) {
7451 var23 = 0;
7452 } else {
7453 var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
7454 }
7455 }
7456 if (!var23) {
7457 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18291);
7458 exit(1);
7459 }
7460 var_pexprnode12 = var_nodearraylist9;
7461 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
7462 cltype27 = type_nullable_parser_nodes__AExpr.color;
7463 idtype28 = type_nullable_parser_nodes__AExpr.id;
7464 if(var_pexprnode12 == NULL) {
7465 var26 = 1;
7466 } else {
7467 if(cltype27 >= var_pexprnode12->type->table_size) {
7468 var26 = 0;
7469 } else {
7470 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
7471 }
7472 }
7473 if (!var26) {
7474 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18293);
7475 exit(1);
7476 }
7477 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
7478 var30 = NULL;
7479 var31 = NULL;
7480 var32 = NULL;
7481 var33 = NULL;
7482 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var31, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var32, var_ptypenode10, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
7483 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
7484 var_ppropdefnode1 = var29;
7485 var_node_list = var_ppropdefnode1;
7486 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction406> */
7487 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
7488 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
7489 RET_LABEL:;
7490 }
7491 /* method parser#ReduceAction406#action for (self: Object, Parser) */
7492 void VIRTUAL_parser__ReduceAction406__action(val* self, val* p0) {
7493 parser__ReduceAction406__action(self, p0);
7494 RET_LABEL:;
7495 }
7496 /* method parser#ReduceAction407#action for (self: ReduceAction407, Parser) */
7497 void parser__ReduceAction407__action(val* self, val* p0) {
7498 val* var_p /* var p: Parser */;
7499 val* var /* : null */;
7500 val* var_node_list /* var node_list: nullable Object */;
7501 val* var1 /* : nullable Object */;
7502 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7503 val* var2 /* : nullable Object */;
7504 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7505 val* var3 /* : nullable Object */;
7506 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7507 val* var4 /* : nullable Object */;
7508 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7509 val* var5 /* : nullable Object */;
7510 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7511 val* var6 /* : nullable Object */;
7512 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7513 val* var7 /* : nullable Object */;
7514 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7515 val* var8 /* : nullable Object */;
7516 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7517 val* var9 /* : nullable Object */;
7518 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7519 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7520 short int var10 /* : Bool */;
7521 int cltype;
7522 int idtype;
7523 val* var_pablenode3 /* var pablenode3: nullable Object */;
7524 short int var11 /* : Bool */;
7525 int cltype12;
7526 int idtype13;
7527 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
7528 short int var14 /* : Bool */;
7529 int cltype15;
7530 int idtype16;
7531 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
7532 short int var17 /* : Bool */;
7533 int cltype18;
7534 int idtype19;
7535 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
7536 short int var20 /* : Bool */;
7537 int cltype21;
7538 int idtype22;
7539 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
7540 short int var23 /* : Bool */;
7541 int cltype24;
7542 int idtype25;
7543 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
7544 short int var26 /* : Bool */;
7545 int cltype27;
7546 int idtype28;
7547 val* var29 /* : AAttrPropdef */;
7548 val* var30 /* : null */;
7549 val* var31 /* : null */;
7550 val* var32 /* : null */;
7551 val* var33 /* : null */;
7552 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
7553 long var34 /* : Int */;
7554 long var35 /* : Int */;
7555 var_p = p0;
7556 var = NULL;
7557 var_node_list = var;
7558 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7559 var_nodearraylist9 = var1;
7560 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7561 var_nodearraylist8 = var2;
7562 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7563 var_nodearraylist7 = var3;
7564 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7565 var_nodearraylist6 = var4;
7566 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7567 var_nodearraylist5 = var5;
7568 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7569 var_nodearraylist4 = var6;
7570 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7571 var_nodearraylist3 = var7;
7572 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7573 var_nodearraylist2 = var8;
7574 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7575 var_nodearraylist1 = var9;
7576 var_pdocnode2 = var_nodearraylist1;
7577 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7578 cltype = type_nullable_parser_nodes__ADoc.color;
7579 idtype = type_nullable_parser_nodes__ADoc.id;
7580 if(var_pdocnode2 == NULL) {
7581 var10 = 1;
7582 } else {
7583 if(cltype >= var_pdocnode2->type->table_size) {
7584 var10 = 0;
7585 } else {
7586 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
7587 }
7588 }
7589 if (!var10) {
7590 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18326);
7591 exit(1);
7592 }
7593 var_pablenode3 = var_nodearraylist2;
7594 /* <var_pablenode3:nullable Object> isa nullable AAble */
7595 cltype12 = type_nullable_parser_nodes__AAble.color;
7596 idtype13 = type_nullable_parser_nodes__AAble.id;
7597 if(var_pablenode3 == NULL) {
7598 var11 = 1;
7599 } else {
7600 if(cltype12 >= var_pablenode3->type->table_size) {
7601 var11 = 0;
7602 } else {
7603 var11 = var_pablenode3->type->type_table[cltype12] == idtype13;
7604 }
7605 }
7606 if (!var11) {
7607 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18328);
7608 exit(1);
7609 }
7610 var_pvisibilitynode6 = var_nodearraylist3;
7611 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
7612 cltype15 = type_nullable_parser_nodes__AVisibility.color;
7613 idtype16 = type_nullable_parser_nodes__AVisibility.id;
7614 if(var_pvisibilitynode6 == NULL) {
7615 var14 = 1;
7616 } else {
7617 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
7618 var14 = 0;
7619 } else {
7620 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
7621 }
7622 }
7623 if (!var14) {
7624 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18330);
7625 exit(1);
7626 }
7627 var_tkwvarnode7 = var_nodearraylist4;
7628 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
7629 cltype18 = type_nullable_parser_nodes__TKwvar.color;
7630 idtype19 = type_nullable_parser_nodes__TKwvar.id;
7631 if(var_tkwvarnode7 == NULL) {
7632 var17 = 1;
7633 } else {
7634 if(cltype18 >= var_tkwvarnode7->type->table_size) {
7635 var17 = 0;
7636 } else {
7637 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
7638 }
7639 }
7640 if (!var17) {
7641 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18332);
7642 exit(1);
7643 }
7644 var_tattridnode8 = var_nodearraylist5;
7645 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
7646 cltype21 = type_nullable_parser_nodes__TAttrid.color;
7647 idtype22 = type_nullable_parser_nodes__TAttrid.id;
7648 if(var_tattridnode8 == NULL) {
7649 var20 = 1;
7650 } else {
7651 if(cltype21 >= var_tattridnode8->type->table_size) {
7652 var20 = 0;
7653 } else {
7654 var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
7655 }
7656 }
7657 if (!var20) {
7658 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18334);
7659 exit(1);
7660 }
7661 var_ptypenode10 = var_nodearraylist6;
7662 /* <var_ptypenode10:nullable Object> isa nullable AType */
7663 cltype24 = type_nullable_parser_nodes__AType.color;
7664 idtype25 = type_nullable_parser_nodes__AType.id;
7665 if(var_ptypenode10 == NULL) {
7666 var23 = 1;
7667 } else {
7668 if(cltype24 >= var_ptypenode10->type->table_size) {
7669 var23 = 0;
7670 } else {
7671 var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
7672 }
7673 }
7674 if (!var23) {
7675 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18336);
7676 exit(1);
7677 }
7678 var_pexprnode12 = var_nodearraylist9;
7679 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
7680 cltype27 = type_nullable_parser_nodes__AExpr.color;
7681 idtype28 = type_nullable_parser_nodes__AExpr.id;
7682 if(var_pexprnode12 == NULL) {
7683 var26 = 1;
7684 } else {
7685 if(cltype27 >= var_pexprnode12->type->table_size) {
7686 var26 = 0;
7687 } else {
7688 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
7689 }
7690 }
7691 if (!var26) {
7692 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18338);
7693 exit(1);
7694 }
7695 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
7696 var30 = NULL;
7697 var31 = NULL;
7698 var32 = NULL;
7699 var33 = NULL;
7700 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var_pablenode3, var30, var31, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var32, var_ptypenode10, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
7701 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
7702 var_ppropdefnode1 = var29;
7703 var_node_list = var_ppropdefnode1;
7704 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction407> */
7705 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
7706 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
7707 RET_LABEL:;
7708 }
7709 /* method parser#ReduceAction407#action for (self: Object, Parser) */
7710 void VIRTUAL_parser__ReduceAction407__action(val* self, val* p0) {
7711 parser__ReduceAction407__action(self, p0);
7712 RET_LABEL:;
7713 }
7714 /* method parser#ReduceAction408#action for (self: ReduceAction408, Parser) */
7715 void parser__ReduceAction408__action(val* self, val* p0) {
7716 val* var_p /* var p: Parser */;
7717 val* var /* : null */;
7718 val* var_node_list /* var node_list: nullable Object */;
7719 val* var1 /* : nullable Object */;
7720 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7721 val* var2 /* : nullable Object */;
7722 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7723 val* var3 /* : nullable Object */;
7724 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7725 val* var4 /* : nullable Object */;
7726 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7727 val* var5 /* : nullable Object */;
7728 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7729 val* var6 /* : nullable Object */;
7730 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7731 val* var7 /* : nullable Object */;
7732 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7733 val* var8 /* : nullable Object */;
7734 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7735 val* var9 /* : nullable Object */;
7736 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7737 val* var10 /* : nullable Object */;
7738 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7739 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7740 short int var11 /* : Bool */;
7741 int cltype;
7742 int idtype;
7743 val* var_pablenode3 /* var pablenode3: nullable Object */;
7744 short int var12 /* : Bool */;
7745 int cltype13;
7746 int idtype14;
7747 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
7748 short int var15 /* : Bool */;
7749 int cltype16;
7750 int idtype17;
7751 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
7752 short int var18 /* : Bool */;
7753 int cltype19;
7754 int idtype20;
7755 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
7756 short int var21 /* : Bool */;
7757 int cltype22;
7758 int idtype23;
7759 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
7760 short int var24 /* : Bool */;
7761 int cltype25;
7762 int idtype26;
7763 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
7764 short int var27 /* : Bool */;
7765 int cltype28;
7766 int idtype29;
7767 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
7768 short int var30 /* : Bool */;
7769 int cltype31;
7770 int idtype32;
7771 val* var33 /* : AAttrPropdef */;
7772 val* var34 /* : null */;
7773 val* var35 /* : null */;
7774 val* var36 /* : null */;
7775 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
7776 long var37 /* : Int */;
7777 long var38 /* : Int */;
7778 var_p = p0;
7779 var = NULL;
7780 var_node_list = var;
7781 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7782 var_nodearraylist10 = var1;
7783 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7784 var_nodearraylist9 = var2;
7785 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7786 var_nodearraylist8 = var3;
7787 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7788 var_nodearraylist7 = var4;
7789 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7790 var_nodearraylist6 = var5;
7791 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7792 var_nodearraylist5 = var6;
7793 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7794 var_nodearraylist4 = var7;
7795 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7796 var_nodearraylist3 = var8;
7797 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7798 var_nodearraylist2 = var9;
7799 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7800 var_nodearraylist1 = var10;
7801 var_pdocnode2 = var_nodearraylist1;
7802 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7803 cltype = type_nullable_parser_nodes__ADoc.color;
7804 idtype = type_nullable_parser_nodes__ADoc.id;
7805 if(var_pdocnode2 == NULL) {
7806 var11 = 1;
7807 } else {
7808 if(cltype >= var_pdocnode2->type->table_size) {
7809 var11 = 0;
7810 } else {
7811 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
7812 }
7813 }
7814 if (!var11) {
7815 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18372);
7816 exit(1);
7817 }
7818 var_pablenode3 = var_nodearraylist2;
7819 /* <var_pablenode3:nullable Object> isa nullable AAble */
7820 cltype13 = type_nullable_parser_nodes__AAble.color;
7821 idtype14 = type_nullable_parser_nodes__AAble.id;
7822 if(var_pablenode3 == NULL) {
7823 var12 = 1;
7824 } else {
7825 if(cltype13 >= var_pablenode3->type->table_size) {
7826 var12 = 0;
7827 } else {
7828 var12 = var_pablenode3->type->type_table[cltype13] == idtype14;
7829 }
7830 }
7831 if (!var12) {
7832 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18374);
7833 exit(1);
7834 }
7835 var_tkwredefnode5 = var_nodearraylist3;
7836 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
7837 cltype16 = type_nullable_parser_nodes__TKwredef.color;
7838 idtype17 = type_nullable_parser_nodes__TKwredef.id;
7839 if(var_tkwredefnode5 == NULL) {
7840 var15 = 1;
7841 } else {
7842 if(cltype16 >= var_tkwredefnode5->type->table_size) {
7843 var15 = 0;
7844 } else {
7845 var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
7846 }
7847 }
7848 if (!var15) {
7849 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18376);
7850 exit(1);
7851 }
7852 var_pvisibilitynode6 = var_nodearraylist4;
7853 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
7854 cltype19 = type_nullable_parser_nodes__AVisibility.color;
7855 idtype20 = type_nullable_parser_nodes__AVisibility.id;
7856 if(var_pvisibilitynode6 == NULL) {
7857 var18 = 1;
7858 } else {
7859 if(cltype19 >= var_pvisibilitynode6->type->table_size) {
7860 var18 = 0;
7861 } else {
7862 var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
7863 }
7864 }
7865 if (!var18) {
7866 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18378);
7867 exit(1);
7868 }
7869 var_tkwvarnode7 = var_nodearraylist5;
7870 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
7871 cltype22 = type_nullable_parser_nodes__TKwvar.color;
7872 idtype23 = type_nullable_parser_nodes__TKwvar.id;
7873 if(var_tkwvarnode7 == NULL) {
7874 var21 = 1;
7875 } else {
7876 if(cltype22 >= var_tkwvarnode7->type->table_size) {
7877 var21 = 0;
7878 } else {
7879 var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
7880 }
7881 }
7882 if (!var21) {
7883 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18380);
7884 exit(1);
7885 }
7886 var_tattridnode8 = var_nodearraylist6;
7887 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
7888 cltype25 = type_nullable_parser_nodes__TAttrid.color;
7889 idtype26 = type_nullable_parser_nodes__TAttrid.id;
7890 if(var_tattridnode8 == NULL) {
7891 var24 = 1;
7892 } else {
7893 if(cltype25 >= var_tattridnode8->type->table_size) {
7894 var24 = 0;
7895 } else {
7896 var24 = var_tattridnode8->type->type_table[cltype25] == idtype26;
7897 }
7898 }
7899 if (!var24) {
7900 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18382);
7901 exit(1);
7902 }
7903 var_ptypenode10 = var_nodearraylist7;
7904 /* <var_ptypenode10:nullable Object> isa nullable AType */
7905 cltype28 = type_nullable_parser_nodes__AType.color;
7906 idtype29 = type_nullable_parser_nodes__AType.id;
7907 if(var_ptypenode10 == NULL) {
7908 var27 = 1;
7909 } else {
7910 if(cltype28 >= var_ptypenode10->type->table_size) {
7911 var27 = 0;
7912 } else {
7913 var27 = var_ptypenode10->type->type_table[cltype28] == idtype29;
7914 }
7915 }
7916 if (!var27) {
7917 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18384);
7918 exit(1);
7919 }
7920 var_pexprnode12 = var_nodearraylist10;
7921 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
7922 cltype31 = type_nullable_parser_nodes__AExpr.color;
7923 idtype32 = type_nullable_parser_nodes__AExpr.id;
7924 if(var_pexprnode12 == NULL) {
7925 var30 = 1;
7926 } else {
7927 if(cltype31 >= var_pexprnode12->type->table_size) {
7928 var30 = 0;
7929 } else {
7930 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
7931 }
7932 }
7933 if (!var30) {
7934 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18386);
7935 exit(1);
7936 }
7937 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
7938 var34 = NULL;
7939 var35 = NULL;
7940 var36 = NULL;
7941 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var33, var_pdocnode2, var_pablenode3, var34, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var35, var_ptypenode10, var36, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
7942 CHECK_NEW_parser_nodes__AAttrPropdef(var33);
7943 var_ppropdefnode1 = var33;
7944 var_node_list = var_ppropdefnode1;
7945 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction408> */
7946 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
7947 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
7948 RET_LABEL:;
7949 }
7950 /* method parser#ReduceAction408#action for (self: Object, Parser) */
7951 void VIRTUAL_parser__ReduceAction408__action(val* self, val* p0) {
7952 parser__ReduceAction408__action(self, p0);
7953 RET_LABEL:;
7954 }
7955 /* method parser#ReduceAction409#action for (self: ReduceAction409, Parser) */
7956 void parser__ReduceAction409__action(val* self, val* p0) {
7957 val* var_p /* var p: Parser */;
7958 val* var /* : null */;
7959 val* var_node_list /* var node_list: nullable Object */;
7960 val* var1 /* : nullable Object */;
7961 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7962 val* var2 /* : nullable Object */;
7963 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7964 val* var3 /* : nullable Object */;
7965 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7966 val* var4 /* : nullable Object */;
7967 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7968 val* var5 /* : nullable Object */;
7969 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7970 val* var6 /* : nullable Object */;
7971 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7972 val* var7 /* : nullable Object */;
7973 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7974 val* var8 /* : nullable Object */;
7975 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7976 val* var9 /* : nullable Object */;
7977 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7978 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7979 short int var10 /* : Bool */;
7980 int cltype;
7981 int idtype;
7982 val* var_pablenode4 /* var pablenode4: nullable Object */;
7983 short int var11 /* : Bool */;
7984 int cltype12;
7985 int idtype13;
7986 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
7987 short int var14 /* : Bool */;
7988 int cltype15;
7989 int idtype16;
7990 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
7991 short int var17 /* : Bool */;
7992 int cltype18;
7993 int idtype19;
7994 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
7995 short int var20 /* : Bool */;
7996 int cltype21;
7997 int idtype22;
7998 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
7999 short int var23 /* : Bool */;
8000 int cltype24;
8001 int idtype25;
8002 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
8003 short int var26 /* : Bool */;
8004 int cltype27;
8005 int idtype28;
8006 val* var29 /* : AAttrPropdef */;
8007 val* var30 /* : null */;
8008 val* var31 /* : null */;
8009 val* var32 /* : null */;
8010 val* var33 /* : null */;
8011 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
8012 long var34 /* : Int */;
8013 long var35 /* : Int */;
8014 var_p = p0;
8015 var = NULL;
8016 var_node_list = var;
8017 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8018 var_nodearraylist9 = var1;
8019 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8020 var_nodearraylist8 = var2;
8021 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8022 var_nodearraylist7 = var3;
8023 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8024 var_nodearraylist6 = var4;
8025 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8026 var_nodearraylist5 = var5;
8027 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8028 var_nodearraylist4 = var6;
8029 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8030 var_nodearraylist3 = var7;
8031 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8032 var_nodearraylist2 = var8;
8033 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8034 var_nodearraylist1 = var9;
8035 var_pdocnode2 = var_nodearraylist1;
8036 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8037 cltype = type_nullable_parser_nodes__ADoc.color;
8038 idtype = type_nullable_parser_nodes__ADoc.id;
8039 if(var_pdocnode2 == NULL) {
8040 var10 = 1;
8041 } else {
8042 if(cltype >= var_pdocnode2->type->table_size) {
8043 var10 = 0;
8044 } else {
8045 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
8046 }
8047 }
8048 if (!var10) {
8049 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18419);
8050 exit(1);
8051 }
8052 var_pablenode4 = var_nodearraylist2;
8053 /* <var_pablenode4:nullable Object> isa nullable AAble */
8054 cltype12 = type_nullable_parser_nodes__AAble.color;
8055 idtype13 = type_nullable_parser_nodes__AAble.id;
8056 if(var_pablenode4 == NULL) {
8057 var11 = 1;
8058 } else {
8059 if(cltype12 >= var_pablenode4->type->table_size) {
8060 var11 = 0;
8061 } else {
8062 var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
8063 }
8064 }
8065 if (!var11) {
8066 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18421);
8067 exit(1);
8068 }
8069 var_pvisibilitynode6 = var_nodearraylist3;
8070 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
8071 cltype15 = type_nullable_parser_nodes__AVisibility.color;
8072 idtype16 = type_nullable_parser_nodes__AVisibility.id;
8073 if(var_pvisibilitynode6 == NULL) {
8074 var14 = 1;
8075 } else {
8076 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
8077 var14 = 0;
8078 } else {
8079 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
8080 }
8081 }
8082 if (!var14) {
8083 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18423);
8084 exit(1);
8085 }
8086 var_tkwvarnode7 = var_nodearraylist4;
8087 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
8088 cltype18 = type_nullable_parser_nodes__TKwvar.color;
8089 idtype19 = type_nullable_parser_nodes__TKwvar.id;
8090 if(var_tkwvarnode7 == NULL) {
8091 var17 = 1;
8092 } else {
8093 if(cltype18 >= var_tkwvarnode7->type->table_size) {
8094 var17 = 0;
8095 } else {
8096 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
8097 }
8098 }
8099 if (!var17) {
8100 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18425);
8101 exit(1);
8102 }
8103 var_tattridnode8 = var_nodearraylist5;
8104 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
8105 cltype21 = type_nullable_parser_nodes__TAttrid.color;
8106 idtype22 = type_nullable_parser_nodes__TAttrid.id;
8107 if(var_tattridnode8 == NULL) {
8108 var20 = 1;
8109 } else {
8110 if(cltype21 >= var_tattridnode8->type->table_size) {
8111 var20 = 0;
8112 } else {
8113 var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
8114 }
8115 }
8116 if (!var20) {
8117 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18427);
8118 exit(1);
8119 }
8120 var_ptypenode10 = var_nodearraylist6;
8121 /* <var_ptypenode10:nullable Object> isa nullable AType */
8122 cltype24 = type_nullable_parser_nodes__AType.color;
8123 idtype25 = type_nullable_parser_nodes__AType.id;
8124 if(var_ptypenode10 == NULL) {
8125 var23 = 1;
8126 } else {
8127 if(cltype24 >= var_ptypenode10->type->table_size) {
8128 var23 = 0;
8129 } else {
8130 var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
8131 }
8132 }
8133 if (!var23) {
8134 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18429);
8135 exit(1);
8136 }
8137 var_pexprnode12 = var_nodearraylist9;
8138 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
8139 cltype27 = type_nullable_parser_nodes__AExpr.color;
8140 idtype28 = type_nullable_parser_nodes__AExpr.id;
8141 if(var_pexprnode12 == NULL) {
8142 var26 = 1;
8143 } else {
8144 if(cltype27 >= var_pexprnode12->type->table_size) {
8145 var26 = 0;
8146 } else {
8147 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
8148 }
8149 }
8150 if (!var26) {
8151 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18431);
8152 exit(1);
8153 }
8154 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
8155 var30 = NULL;
8156 var31 = NULL;
8157 var32 = NULL;
8158 var33 = NULL;
8159 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var29, var_pdocnode2, var30, var_pablenode4, var31, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var32, var_ptypenode10, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
8160 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
8161 var_ppropdefnode1 = var29;
8162 var_node_list = var_ppropdefnode1;
8163 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction409> */
8164 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
8165 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
8166 RET_LABEL:;
8167 }
8168 /* method parser#ReduceAction409#action for (self: Object, Parser) */
8169 void VIRTUAL_parser__ReduceAction409__action(val* self, val* p0) {
8170 parser__ReduceAction409__action(self, p0);
8171 RET_LABEL:;
8172 }
8173 /* method parser#ReduceAction410#action for (self: ReduceAction410, Parser) */
8174 void parser__ReduceAction410__action(val* self, val* p0) {
8175 val* var_p /* var p: Parser */;
8176 val* var /* : null */;
8177 val* var_node_list /* var node_list: nullable Object */;
8178 val* var1 /* : nullable Object */;
8179 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8180 val* var2 /* : nullable Object */;
8181 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8182 val* var3 /* : nullable Object */;
8183 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8184 val* var4 /* : nullable Object */;
8185 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8186 val* var5 /* : nullable Object */;
8187 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8188 val* var6 /* : nullable Object */;
8189 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8190 val* var7 /* : nullable Object */;
8191 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8192 val* var8 /* : nullable Object */;
8193 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8194 val* var9 /* : nullable Object */;
8195 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8196 val* var10 /* : nullable Object */;
8197 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8198 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8199 short int var11 /* : Bool */;
8200 int cltype;
8201 int idtype;
8202 val* var_pablenode4 /* var pablenode4: nullable Object */;
8203 short int var12 /* : Bool */;
8204 int cltype13;
8205 int idtype14;
8206 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
8207 short int var15 /* : Bool */;
8208 int cltype16;
8209 int idtype17;
8210 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
8211 short int var18 /* : Bool */;
8212 int cltype19;
8213 int idtype20;
8214 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
8215 short int var21 /* : Bool */;
8216 int cltype22;
8217 int idtype23;
8218 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
8219 short int var24 /* : Bool */;
8220 int cltype25;
8221 int idtype26;
8222 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
8223 short int var27 /* : Bool */;
8224 int cltype28;
8225 int idtype29;
8226 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
8227 short int var30 /* : Bool */;
8228 int cltype31;
8229 int idtype32;
8230 val* var33 /* : AAttrPropdef */;
8231 val* var34 /* : null */;
8232 val* var35 /* : null */;
8233 val* var36 /* : null */;
8234 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
8235 long var37 /* : Int */;
8236 long var38 /* : Int */;
8237 var_p = p0;
8238 var = NULL;
8239 var_node_list = var;
8240 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8241 var_nodearraylist10 = var1;
8242 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8243 var_nodearraylist9 = var2;
8244 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8245 var_nodearraylist8 = var3;
8246 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8247 var_nodearraylist7 = var4;
8248 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8249 var_nodearraylist6 = var5;
8250 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8251 var_nodearraylist5 = var6;
8252 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8253 var_nodearraylist4 = var7;
8254 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8255 var_nodearraylist3 = var8;
8256 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8257 var_nodearraylist2 = var9;
8258 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8259 var_nodearraylist1 = var10;
8260 var_pdocnode2 = var_nodearraylist1;
8261 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8262 cltype = type_nullable_parser_nodes__ADoc.color;
8263 idtype = type_nullable_parser_nodes__ADoc.id;
8264 if(var_pdocnode2 == NULL) {
8265 var11 = 1;
8266 } else {
8267 if(cltype >= var_pdocnode2->type->table_size) {
8268 var11 = 0;
8269 } else {
8270 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
8271 }
8272 }
8273 if (!var11) {
8274 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18465);
8275 exit(1);
8276 }
8277 var_pablenode4 = var_nodearraylist2;
8278 /* <var_pablenode4:nullable Object> isa nullable AAble */
8279 cltype13 = type_nullable_parser_nodes__AAble.color;
8280 idtype14 = type_nullable_parser_nodes__AAble.id;
8281 if(var_pablenode4 == NULL) {
8282 var12 = 1;
8283 } else {
8284 if(cltype13 >= var_pablenode4->type->table_size) {
8285 var12 = 0;
8286 } else {
8287 var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
8288 }
8289 }
8290 if (!var12) {
8291 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18467);
8292 exit(1);
8293 }
8294 var_tkwredefnode5 = var_nodearraylist3;
8295 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
8296 cltype16 = type_nullable_parser_nodes__TKwredef.color;
8297 idtype17 = type_nullable_parser_nodes__TKwredef.id;
8298 if(var_tkwredefnode5 == NULL) {
8299 var15 = 1;
8300 } else {
8301 if(cltype16 >= var_tkwredefnode5->type->table_size) {
8302 var15 = 0;
8303 } else {
8304 var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
8305 }
8306 }
8307 if (!var15) {
8308 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18469);
8309 exit(1);
8310 }
8311 var_pvisibilitynode6 = var_nodearraylist4;
8312 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
8313 cltype19 = type_nullable_parser_nodes__AVisibility.color;
8314 idtype20 = type_nullable_parser_nodes__AVisibility.id;
8315 if(var_pvisibilitynode6 == NULL) {
8316 var18 = 1;
8317 } else {
8318 if(cltype19 >= var_pvisibilitynode6->type->table_size) {
8319 var18 = 0;
8320 } else {
8321 var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
8322 }
8323 }
8324 if (!var18) {
8325 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18471);
8326 exit(1);
8327 }
8328 var_tkwvarnode7 = var_nodearraylist5;
8329 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
8330 cltype22 = type_nullable_parser_nodes__TKwvar.color;
8331 idtype23 = type_nullable_parser_nodes__TKwvar.id;
8332 if(var_tkwvarnode7 == NULL) {
8333 var21 = 1;
8334 } else {
8335 if(cltype22 >= var_tkwvarnode7->type->table_size) {
8336 var21 = 0;
8337 } else {
8338 var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
8339 }
8340 }
8341 if (!var21) {
8342 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18473);
8343 exit(1);
8344 }
8345 var_tattridnode8 = var_nodearraylist6;
8346 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
8347 cltype25 = type_nullable_parser_nodes__TAttrid.color;
8348 idtype26 = type_nullable_parser_nodes__TAttrid.id;
8349 if(var_tattridnode8 == NULL) {
8350 var24 = 1;
8351 } else {
8352 if(cltype25 >= var_tattridnode8->type->table_size) {
8353 var24 = 0;
8354 } else {
8355 var24 = var_tattridnode8->type->type_table[cltype25] == idtype26;
8356 }
8357 }
8358 if (!var24) {
8359 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18475);
8360 exit(1);
8361 }
8362 var_ptypenode10 = var_nodearraylist7;
8363 /* <var_ptypenode10:nullable Object> isa nullable AType */
8364 cltype28 = type_nullable_parser_nodes__AType.color;
8365 idtype29 = type_nullable_parser_nodes__AType.id;
8366 if(var_ptypenode10 == NULL) {
8367 var27 = 1;
8368 } else {
8369 if(cltype28 >= var_ptypenode10->type->table_size) {
8370 var27 = 0;
8371 } else {
8372 var27 = var_ptypenode10->type->type_table[cltype28] == idtype29;
8373 }
8374 }
8375 if (!var27) {
8376 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18477);
8377 exit(1);
8378 }
8379 var_pexprnode12 = var_nodearraylist10;
8380 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
8381 cltype31 = type_nullable_parser_nodes__AExpr.color;
8382 idtype32 = type_nullable_parser_nodes__AExpr.id;
8383 if(var_pexprnode12 == NULL) {
8384 var30 = 1;
8385 } else {
8386 if(cltype31 >= var_pexprnode12->type->table_size) {
8387 var30 = 0;
8388 } else {
8389 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
8390 }
8391 }
8392 if (!var30) {
8393 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18479);
8394 exit(1);
8395 }
8396 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
8397 var34 = NULL;
8398 var35 = NULL;
8399 var36 = NULL;
8400 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var33, var_pdocnode2, var34, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var35, var_ptypenode10, var36, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
8401 CHECK_NEW_parser_nodes__AAttrPropdef(var33);
8402 var_ppropdefnode1 = var33;
8403 var_node_list = var_ppropdefnode1;
8404 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction410> */
8405 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
8406 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
8407 RET_LABEL:;
8408 }
8409 /* method parser#ReduceAction410#action for (self: Object, Parser) */
8410 void VIRTUAL_parser__ReduceAction410__action(val* self, val* p0) {
8411 parser__ReduceAction410__action(self, p0);
8412 RET_LABEL:;
8413 }
8414 /* method parser#ReduceAction411#action for (self: ReduceAction411, Parser) */
8415 void parser__ReduceAction411__action(val* self, val* p0) {
8416 val* var_p /* var p: Parser */;
8417 val* var /* : null */;
8418 val* var_node_list /* var node_list: nullable Object */;
8419 val* var1 /* : nullable Object */;
8420 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8421 val* var2 /* : nullable Object */;
8422 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8423 val* var3 /* : nullable Object */;
8424 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8425 val* var4 /* : nullable Object */;
8426 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8427 val* var5 /* : nullable Object */;
8428 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8429 val* var6 /* : nullable Object */;
8430 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8431 val* var7 /* : nullable Object */;
8432 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8433 val* var8 /* : nullable Object */;
8434 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8435 val* var9 /* : nullable Object */;
8436 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8437 val* var10 /* : nullable Object */;
8438 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8439 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8440 short int var11 /* : Bool */;
8441 int cltype;
8442 int idtype;
8443 val* var_pablenode3 /* var pablenode3: nullable Object */;
8444 short int var12 /* : Bool */;
8445 int cltype13;
8446 int idtype14;
8447 val* var_pablenode4 /* var pablenode4: nullable Object */;
8448 short int var15 /* : Bool */;
8449 int cltype16;
8450 int idtype17;
8451 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
8452 short int var18 /* : Bool */;
8453 int cltype19;
8454 int idtype20;
8455 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
8456 short int var21 /* : Bool */;
8457 int cltype22;
8458 int idtype23;
8459 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
8460 short int var24 /* : Bool */;
8461 int cltype25;
8462 int idtype26;
8463 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
8464 short int var27 /* : Bool */;
8465 int cltype28;
8466 int idtype29;
8467 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
8468 short int var30 /* : Bool */;
8469 int cltype31;
8470 int idtype32;
8471 val* var33 /* : AAttrPropdef */;
8472 val* var34 /* : null */;
8473 val* var35 /* : null */;
8474 val* var36 /* : null */;
8475 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
8476 long var37 /* : Int */;
8477 long var38 /* : Int */;
8478 var_p = p0;
8479 var = NULL;
8480 var_node_list = var;
8481 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8482 var_nodearraylist10 = var1;
8483 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8484 var_nodearraylist9 = var2;
8485 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8486 var_nodearraylist8 = var3;
8487 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8488 var_nodearraylist7 = var4;
8489 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8490 var_nodearraylist6 = var5;
8491 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8492 var_nodearraylist5 = var6;
8493 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8494 var_nodearraylist4 = var7;
8495 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8496 var_nodearraylist3 = var8;
8497 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8498 var_nodearraylist2 = var9;
8499 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8500 var_nodearraylist1 = var10;
8501 var_pdocnode2 = var_nodearraylist1;
8502 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8503 cltype = type_nullable_parser_nodes__ADoc.color;
8504 idtype = type_nullable_parser_nodes__ADoc.id;
8505 if(var_pdocnode2 == NULL) {
8506 var11 = 1;
8507 } else {
8508 if(cltype >= var_pdocnode2->type->table_size) {
8509 var11 = 0;
8510 } else {
8511 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
8512 }
8513 }
8514 if (!var11) {
8515 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18513);
8516 exit(1);
8517 }
8518 var_pablenode3 = var_nodearraylist2;
8519 /* <var_pablenode3:nullable Object> isa nullable AAble */
8520 cltype13 = type_nullable_parser_nodes__AAble.color;
8521 idtype14 = type_nullable_parser_nodes__AAble.id;
8522 if(var_pablenode3 == NULL) {
8523 var12 = 1;
8524 } else {
8525 if(cltype13 >= var_pablenode3->type->table_size) {
8526 var12 = 0;
8527 } else {
8528 var12 = var_pablenode3->type->type_table[cltype13] == idtype14;
8529 }
8530 }
8531 if (!var12) {
8532 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18515);
8533 exit(1);
8534 }
8535 var_pablenode4 = var_nodearraylist3;
8536 /* <var_pablenode4:nullable Object> isa nullable AAble */
8537 cltype16 = type_nullable_parser_nodes__AAble.color;
8538 idtype17 = type_nullable_parser_nodes__AAble.id;
8539 if(var_pablenode4 == NULL) {
8540 var15 = 1;
8541 } else {
8542 if(cltype16 >= var_pablenode4->type->table_size) {
8543 var15 = 0;
8544 } else {
8545 var15 = var_pablenode4->type->type_table[cltype16] == idtype17;
8546 }
8547 }
8548 if (!var15) {
8549 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18517);
8550 exit(1);
8551 }
8552 var_pvisibilitynode6 = var_nodearraylist4;
8553 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
8554 cltype19 = type_nullable_parser_nodes__AVisibility.color;
8555 idtype20 = type_nullable_parser_nodes__AVisibility.id;
8556 if(var_pvisibilitynode6 == NULL) {
8557 var18 = 1;
8558 } else {
8559 if(cltype19 >= var_pvisibilitynode6->type->table_size) {
8560 var18 = 0;
8561 } else {
8562 var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
8563 }
8564 }
8565 if (!var18) {
8566 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18519);
8567 exit(1);
8568 }
8569 var_tkwvarnode7 = var_nodearraylist5;
8570 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
8571 cltype22 = type_nullable_parser_nodes__TKwvar.color;
8572 idtype23 = type_nullable_parser_nodes__TKwvar.id;
8573 if(var_tkwvarnode7 == NULL) {
8574 var21 = 1;
8575 } else {
8576 if(cltype22 >= var_tkwvarnode7->type->table_size) {
8577 var21 = 0;
8578 } else {
8579 var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
8580 }
8581 }
8582 if (!var21) {
8583 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18521);
8584 exit(1);
8585 }
8586 var_tattridnode8 = var_nodearraylist6;
8587 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
8588 cltype25 = type_nullable_parser_nodes__TAttrid.color;
8589 idtype26 = type_nullable_parser_nodes__TAttrid.id;
8590 if(var_tattridnode8 == NULL) {
8591 var24 = 1;
8592 } else {
8593 if(cltype25 >= var_tattridnode8->type->table_size) {
8594 var24 = 0;
8595 } else {
8596 var24 = var_tattridnode8->type->type_table[cltype25] == idtype26;
8597 }
8598 }
8599 if (!var24) {
8600 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18523);
8601 exit(1);
8602 }
8603 var_ptypenode10 = var_nodearraylist7;
8604 /* <var_ptypenode10:nullable Object> isa nullable AType */
8605 cltype28 = type_nullable_parser_nodes__AType.color;
8606 idtype29 = type_nullable_parser_nodes__AType.id;
8607 if(var_ptypenode10 == NULL) {
8608 var27 = 1;
8609 } else {
8610 if(cltype28 >= var_ptypenode10->type->table_size) {
8611 var27 = 0;
8612 } else {
8613 var27 = var_ptypenode10->type->type_table[cltype28] == idtype29;
8614 }
8615 }
8616 if (!var27) {
8617 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18525);
8618 exit(1);
8619 }
8620 var_pexprnode12 = var_nodearraylist10;
8621 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
8622 cltype31 = type_nullable_parser_nodes__AExpr.color;
8623 idtype32 = type_nullable_parser_nodes__AExpr.id;
8624 if(var_pexprnode12 == NULL) {
8625 var30 = 1;
8626 } else {
8627 if(cltype31 >= var_pexprnode12->type->table_size) {
8628 var30 = 0;
8629 } else {
8630 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
8631 }
8632 }
8633 if (!var30) {
8634 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18527);
8635 exit(1);
8636 }
8637 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
8638 var34 = NULL;
8639 var35 = NULL;
8640 var36 = NULL;
8641 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var33, var_pdocnode2, var_pablenode3, var_pablenode4, var34, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var35, var_ptypenode10, var36, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
8642 CHECK_NEW_parser_nodes__AAttrPropdef(var33);
8643 var_ppropdefnode1 = var33;
8644 var_node_list = var_ppropdefnode1;
8645 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction411> */
8646 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
8647 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
8648 RET_LABEL:;
8649 }
8650 /* method parser#ReduceAction411#action for (self: Object, Parser) */
8651 void VIRTUAL_parser__ReduceAction411__action(val* self, val* p0) {
8652 parser__ReduceAction411__action(self, p0);
8653 RET_LABEL:;
8654 }
8655 /* method parser#ReduceAction412#action for (self: ReduceAction412, Parser) */
8656 void parser__ReduceAction412__action(val* self, val* p0) {
8657 val* var_p /* var p: Parser */;
8658 val* var /* : null */;
8659 val* var_node_list /* var node_list: nullable Object */;
8660 val* var1 /* : nullable Object */;
8661 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8662 val* var2 /* : nullable Object */;
8663 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8664 val* var3 /* : nullable Object */;
8665 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8666 val* var4 /* : nullable Object */;
8667 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8668 val* var5 /* : nullable Object */;
8669 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8670 val* var6 /* : nullable Object */;
8671 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8672 val* var7 /* : nullable Object */;
8673 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8674 val* var8 /* : nullable Object */;
8675 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8676 val* var9 /* : nullable Object */;
8677 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8678 val* var10 /* : nullable Object */;
8679 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8680 val* var11 /* : nullable Object */;
8681 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8682 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8683 short int var12 /* : Bool */;
8684 int cltype;
8685 int idtype;
8686 val* var_pablenode3 /* var pablenode3: nullable Object */;
8687 short int var13 /* : Bool */;
8688 int cltype14;
8689 int idtype15;
8690 val* var_pablenode4 /* var pablenode4: nullable Object */;
8691 short int var16 /* : Bool */;
8692 int cltype17;
8693 int idtype18;
8694 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
8695 short int var19 /* : Bool */;
8696 int cltype20;
8697 int idtype21;
8698 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
8699 short int var22 /* : Bool */;
8700 int cltype23;
8701 int idtype24;
8702 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
8703 short int var25 /* : Bool */;
8704 int cltype26;
8705 int idtype27;
8706 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
8707 short int var28 /* : Bool */;
8708 int cltype29;
8709 int idtype30;
8710 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
8711 short int var31 /* : Bool */;
8712 int cltype32;
8713 int idtype33;
8714 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
8715 short int var34 /* : Bool */;
8716 int cltype35;
8717 int idtype36;
8718 val* var37 /* : AAttrPropdef */;
8719 val* var38 /* : null */;
8720 val* var39 /* : null */;
8721 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
8722 long var40 /* : Int */;
8723 long var41 /* : Int */;
8724 var_p = p0;
8725 var = NULL;
8726 var_node_list = var;
8727 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8728 var_nodearraylist11 = var1;
8729 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8730 var_nodearraylist10 = var2;
8731 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8732 var_nodearraylist9 = var3;
8733 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8734 var_nodearraylist8 = var4;
8735 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8736 var_nodearraylist7 = var5;
8737 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8738 var_nodearraylist6 = var6;
8739 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8740 var_nodearraylist5 = var7;
8741 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8742 var_nodearraylist4 = var8;
8743 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8744 var_nodearraylist3 = var9;
8745 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8746 var_nodearraylist2 = var10;
8747 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8748 var_nodearraylist1 = var11;
8749 var_pdocnode2 = var_nodearraylist1;
8750 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8751 cltype = type_nullable_parser_nodes__ADoc.color;
8752 idtype = type_nullable_parser_nodes__ADoc.id;
8753 if(var_pdocnode2 == NULL) {
8754 var12 = 1;
8755 } else {
8756 if(cltype >= var_pdocnode2->type->table_size) {
8757 var12 = 0;
8758 } else {
8759 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
8760 }
8761 }
8762 if (!var12) {
8763 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18562);
8764 exit(1);
8765 }
8766 var_pablenode3 = var_nodearraylist2;
8767 /* <var_pablenode3:nullable Object> isa nullable AAble */
8768 cltype14 = type_nullable_parser_nodes__AAble.color;
8769 idtype15 = type_nullable_parser_nodes__AAble.id;
8770 if(var_pablenode3 == NULL) {
8771 var13 = 1;
8772 } else {
8773 if(cltype14 >= var_pablenode3->type->table_size) {
8774 var13 = 0;
8775 } else {
8776 var13 = var_pablenode3->type->type_table[cltype14] == idtype15;
8777 }
8778 }
8779 if (!var13) {
8780 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18564);
8781 exit(1);
8782 }
8783 var_pablenode4 = var_nodearraylist3;
8784 /* <var_pablenode4:nullable Object> isa nullable AAble */
8785 cltype17 = type_nullable_parser_nodes__AAble.color;
8786 idtype18 = type_nullable_parser_nodes__AAble.id;
8787 if(var_pablenode4 == NULL) {
8788 var16 = 1;
8789 } else {
8790 if(cltype17 >= var_pablenode4->type->table_size) {
8791 var16 = 0;
8792 } else {
8793 var16 = var_pablenode4->type->type_table[cltype17] == idtype18;
8794 }
8795 }
8796 if (!var16) {
8797 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18566);
8798 exit(1);
8799 }
8800 var_tkwredefnode5 = var_nodearraylist4;
8801 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
8802 cltype20 = type_nullable_parser_nodes__TKwredef.color;
8803 idtype21 = type_nullable_parser_nodes__TKwredef.id;
8804 if(var_tkwredefnode5 == NULL) {
8805 var19 = 1;
8806 } else {
8807 if(cltype20 >= var_tkwredefnode5->type->table_size) {
8808 var19 = 0;
8809 } else {
8810 var19 = var_tkwredefnode5->type->type_table[cltype20] == idtype21;
8811 }
8812 }
8813 if (!var19) {
8814 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18568);
8815 exit(1);
8816 }
8817 var_pvisibilitynode6 = var_nodearraylist5;
8818 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
8819 cltype23 = type_nullable_parser_nodes__AVisibility.color;
8820 idtype24 = type_nullable_parser_nodes__AVisibility.id;
8821 if(var_pvisibilitynode6 == NULL) {
8822 var22 = 1;
8823 } else {
8824 if(cltype23 >= var_pvisibilitynode6->type->table_size) {
8825 var22 = 0;
8826 } else {
8827 var22 = var_pvisibilitynode6->type->type_table[cltype23] == idtype24;
8828 }
8829 }
8830 if (!var22) {
8831 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18570);
8832 exit(1);
8833 }
8834 var_tkwvarnode7 = var_nodearraylist6;
8835 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
8836 cltype26 = type_nullable_parser_nodes__TKwvar.color;
8837 idtype27 = type_nullable_parser_nodes__TKwvar.id;
8838 if(var_tkwvarnode7 == NULL) {
8839 var25 = 1;
8840 } else {
8841 if(cltype26 >= var_tkwvarnode7->type->table_size) {
8842 var25 = 0;
8843 } else {
8844 var25 = var_tkwvarnode7->type->type_table[cltype26] == idtype27;
8845 }
8846 }
8847 if (!var25) {
8848 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18572);
8849 exit(1);
8850 }
8851 var_tattridnode8 = var_nodearraylist7;
8852 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
8853 cltype29 = type_nullable_parser_nodes__TAttrid.color;
8854 idtype30 = type_nullable_parser_nodes__TAttrid.id;
8855 if(var_tattridnode8 == NULL) {
8856 var28 = 1;
8857 } else {
8858 if(cltype29 >= var_tattridnode8->type->table_size) {
8859 var28 = 0;
8860 } else {
8861 var28 = var_tattridnode8->type->type_table[cltype29] == idtype30;
8862 }
8863 }
8864 if (!var28) {
8865 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18574);
8866 exit(1);
8867 }
8868 var_ptypenode10 = var_nodearraylist8;
8869 /* <var_ptypenode10:nullable Object> isa nullable AType */
8870 cltype32 = type_nullable_parser_nodes__AType.color;
8871 idtype33 = type_nullable_parser_nodes__AType.id;
8872 if(var_ptypenode10 == NULL) {
8873 var31 = 1;
8874 } else {
8875 if(cltype32 >= var_ptypenode10->type->table_size) {
8876 var31 = 0;
8877 } else {
8878 var31 = var_ptypenode10->type->type_table[cltype32] == idtype33;
8879 }
8880 }
8881 if (!var31) {
8882 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18576);
8883 exit(1);
8884 }
8885 var_pexprnode12 = var_nodearraylist11;
8886 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
8887 cltype35 = type_nullable_parser_nodes__AExpr.color;
8888 idtype36 = type_nullable_parser_nodes__AExpr.id;
8889 if(var_pexprnode12 == NULL) {
8890 var34 = 1;
8891 } else {
8892 if(cltype35 >= var_pexprnode12->type->table_size) {
8893 var34 = 0;
8894 } else {
8895 var34 = var_pexprnode12->type->type_table[cltype35] == idtype36;
8896 }
8897 }
8898 if (!var34) {
8899 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18578);
8900 exit(1);
8901 }
8902 var37 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
8903 var38 = NULL;
8904 var39 = NULL;
8905 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var37, var_pdocnode2, var_pablenode3, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var38, var_ptypenode10, var39, var_pexprnode12) /* init_aattrpropdef on <var37:AAttrPropdef>*/;
8906 CHECK_NEW_parser_nodes__AAttrPropdef(var37);
8907 var_ppropdefnode1 = var37;
8908 var_node_list = var_ppropdefnode1;
8909 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction412> */
8910 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
8911 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
8912 RET_LABEL:;
8913 }
8914 /* method parser#ReduceAction412#action for (self: Object, Parser) */
8915 void VIRTUAL_parser__ReduceAction412__action(val* self, val* p0) {
8916 parser__ReduceAction412__action(self, p0);
8917 RET_LABEL:;
8918 }
8919 /* method parser#ReduceAction413#action for (self: ReduceAction413, Parser) */
8920 void parser__ReduceAction413__action(val* self, val* p0) {
8921 val* var_p /* var p: Parser */;
8922 val* var /* : null */;
8923 val* var_node_list /* var node_list: nullable Object */;
8924 val* var1 /* : nullable Object */;
8925 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8926 val* var2 /* : nullable Object */;
8927 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8928 val* var3 /* : nullable Object */;
8929 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8930 val* var4 /* : nullable Object */;
8931 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8932 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8933 short int var5 /* : Bool */;
8934 int cltype;
8935 int idtype;
8936 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
8937 short int var6 /* : Bool */;
8938 int cltype7;
8939 int idtype8;
8940 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
8941 short int var9 /* : Bool */;
8942 int cltype10;
8943 int idtype11;
8944 val* var_tidnode9 /* var tidnode9: nullable Object */;
8945 short int var12 /* : Bool */;
8946 int cltype13;
8947 int idtype14;
8948 val* var15 /* : AAttrPropdef */;
8949 val* var16 /* : null */;
8950 val* var17 /* : null */;
8951 val* var18 /* : null */;
8952 val* var19 /* : null */;
8953 val* var20 /* : null */;
8954 val* var21 /* : null */;
8955 val* var22 /* : null */;
8956 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
8957 long var23 /* : Int */;
8958 long var24 /* : Int */;
8959 var_p = p0;
8960 var = NULL;
8961 var_node_list = var;
8962 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8963 var_nodearraylist4 = var1;
8964 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8965 var_nodearraylist3 = var2;
8966 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8967 var_nodearraylist2 = var3;
8968 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8969 var_nodearraylist1 = var4;
8970 var_pdocnode2 = var_nodearraylist1;
8971 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8972 cltype = type_nullable_parser_nodes__ADoc.color;
8973 idtype = type_nullable_parser_nodes__ADoc.id;
8974 if(var_pdocnode2 == NULL) {
8975 var5 = 1;
8976 } else {
8977 if(cltype >= var_pdocnode2->type->table_size) {
8978 var5 = 0;
8979 } else {
8980 var5 = var_pdocnode2->type->type_table[cltype] == idtype;
8981 }
8982 }
8983 if (!var5) {
8984 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18606);
8985 exit(1);
8986 }
8987 var_pvisibilitynode6 = var_nodearraylist2;
8988 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
8989 cltype7 = type_nullable_parser_nodes__AVisibility.color;
8990 idtype8 = type_nullable_parser_nodes__AVisibility.id;
8991 if(var_pvisibilitynode6 == NULL) {
8992 var6 = 1;
8993 } else {
8994 if(cltype7 >= var_pvisibilitynode6->type->table_size) {
8995 var6 = 0;
8996 } else {
8997 var6 = var_pvisibilitynode6->type->type_table[cltype7] == idtype8;
8998 }
8999 }
9000 if (!var6) {
9001 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18608);
9002 exit(1);
9003 }
9004 var_tkwvarnode7 = var_nodearraylist3;
9005 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
9006 cltype10 = type_nullable_parser_nodes__TKwvar.color;
9007 idtype11 = type_nullable_parser_nodes__TKwvar.id;
9008 if(var_tkwvarnode7 == NULL) {
9009 var9 = 1;
9010 } else {
9011 if(cltype10 >= var_tkwvarnode7->type->table_size) {
9012 var9 = 0;
9013 } else {
9014 var9 = var_tkwvarnode7->type->type_table[cltype10] == idtype11;
9015 }
9016 }
9017 if (!var9) {
9018 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18610);
9019 exit(1);
9020 }
9021 var_tidnode9 = var_nodearraylist4;
9022 /* <var_tidnode9:nullable Object> isa nullable TId */
9023 cltype13 = type_nullable_parser_nodes__TId.color;
9024 idtype14 = type_nullable_parser_nodes__TId.id;
9025 if(var_tidnode9 == NULL) {
9026 var12 = 1;
9027 } else {
9028 if(cltype13 >= var_tidnode9->type->table_size) {
9029 var12 = 0;
9030 } else {
9031 var12 = var_tidnode9->type->type_table[cltype13] == idtype14;
9032 }
9033 }
9034 if (!var12) {
9035 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18612);
9036 exit(1);
9037 }
9038 var15 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
9039 var16 = NULL;
9040 var17 = NULL;
9041 var18 = NULL;
9042 var19 = NULL;
9043 var20 = NULL;
9044 var21 = NULL;
9045 var22 = NULL;
9046 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var15->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var15, var_pdocnode2, var16, var17, var18, var_pvisibilitynode6, var_tkwvarnode7, var19, var_tidnode9, var20, var21, var22) /* init_aattrpropdef on <var15:AAttrPropdef>*/;
9047 CHECK_NEW_parser_nodes__AAttrPropdef(var15);
9048 var_ppropdefnode1 = var15;
9049 var_node_list = var_ppropdefnode1;
9050 var23 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction413> */
9051 var24 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var23) /* go_to on <var_p:Parser>*/;
9052 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var24, var_node_list) /* push on <var_p:Parser>*/;
9053 RET_LABEL:;
9054 }
9055 /* method parser#ReduceAction413#action for (self: Object, Parser) */
9056 void VIRTUAL_parser__ReduceAction413__action(val* self, val* p0) {
9057 parser__ReduceAction413__action(self, p0);
9058 RET_LABEL:;
9059 }
9060 /* method parser#ReduceAction414#action for (self: ReduceAction414, Parser) */
9061 void parser__ReduceAction414__action(val* self, val* p0) {
9062 val* var_p /* var p: Parser */;
9063 val* var /* : null */;
9064 val* var_node_list /* var node_list: nullable Object */;
9065 val* var1 /* : nullable Object */;
9066 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9067 val* var2 /* : nullable Object */;
9068 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9069 val* var3 /* : nullable Object */;
9070 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9071 val* var4 /* : nullable Object */;
9072 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9073 val* var5 /* : nullable Object */;
9074 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9075 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9076 short int var6 /* : Bool */;
9077 int cltype;
9078 int idtype;
9079 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
9080 short int var7 /* : Bool */;
9081 int cltype8;
9082 int idtype9;
9083 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
9084 short int var10 /* : Bool */;
9085 int cltype11;
9086 int idtype12;
9087 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
9088 short int var13 /* : Bool */;
9089 int cltype14;
9090 int idtype15;
9091 val* var_tidnode9 /* var tidnode9: nullable Object */;
9092 short int var16 /* : Bool */;
9093 int cltype17;
9094 int idtype18;
9095 val* var19 /* : AAttrPropdef */;
9096 val* var20 /* : null */;
9097 val* var21 /* : null */;
9098 val* var22 /* : null */;
9099 val* var23 /* : null */;
9100 val* var24 /* : null */;
9101 val* var25 /* : null */;
9102 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
9103 long var26 /* : Int */;
9104 long var27 /* : Int */;
9105 var_p = p0;
9106 var = NULL;
9107 var_node_list = var;
9108 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9109 var_nodearraylist5 = var1;
9110 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9111 var_nodearraylist4 = var2;
9112 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9113 var_nodearraylist3 = var3;
9114 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9115 var_nodearraylist2 = var4;
9116 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9117 var_nodearraylist1 = var5;
9118 var_pdocnode2 = var_nodearraylist1;
9119 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9120 cltype = type_nullable_parser_nodes__ADoc.color;
9121 idtype = type_nullable_parser_nodes__ADoc.id;
9122 if(var_pdocnode2 == NULL) {
9123 var6 = 1;
9124 } else {
9125 if(cltype >= var_pdocnode2->type->table_size) {
9126 var6 = 0;
9127 } else {
9128 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
9129 }
9130 }
9131 if (!var6) {
9132 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18641);
9133 exit(1);
9134 }
9135 var_tkwredefnode5 = var_nodearraylist2;
9136 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
9137 cltype8 = type_nullable_parser_nodes__TKwredef.color;
9138 idtype9 = type_nullable_parser_nodes__TKwredef.id;
9139 if(var_tkwredefnode5 == NULL) {
9140 var7 = 1;
9141 } else {
9142 if(cltype8 >= var_tkwredefnode5->type->table_size) {
9143 var7 = 0;
9144 } else {
9145 var7 = var_tkwredefnode5->type->type_table[cltype8] == idtype9;
9146 }
9147 }
9148 if (!var7) {
9149 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18643);
9150 exit(1);
9151 }
9152 var_pvisibilitynode6 = var_nodearraylist3;
9153 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
9154 cltype11 = type_nullable_parser_nodes__AVisibility.color;
9155 idtype12 = type_nullable_parser_nodes__AVisibility.id;
9156 if(var_pvisibilitynode6 == NULL) {
9157 var10 = 1;
9158 } else {
9159 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
9160 var10 = 0;
9161 } else {
9162 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
9163 }
9164 }
9165 if (!var10) {
9166 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18645);
9167 exit(1);
9168 }
9169 var_tkwvarnode7 = var_nodearraylist4;
9170 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
9171 cltype14 = type_nullable_parser_nodes__TKwvar.color;
9172 idtype15 = type_nullable_parser_nodes__TKwvar.id;
9173 if(var_tkwvarnode7 == NULL) {
9174 var13 = 1;
9175 } else {
9176 if(cltype14 >= var_tkwvarnode7->type->table_size) {
9177 var13 = 0;
9178 } else {
9179 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
9180 }
9181 }
9182 if (!var13) {
9183 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18647);
9184 exit(1);
9185 }
9186 var_tidnode9 = var_nodearraylist5;
9187 /* <var_tidnode9:nullable Object> isa nullable TId */
9188 cltype17 = type_nullable_parser_nodes__TId.color;
9189 idtype18 = type_nullable_parser_nodes__TId.id;
9190 if(var_tidnode9 == NULL) {
9191 var16 = 1;
9192 } else {
9193 if(cltype17 >= var_tidnode9->type->table_size) {
9194 var16 = 0;
9195 } else {
9196 var16 = var_tidnode9->type->type_table[cltype17] == idtype18;
9197 }
9198 }
9199 if (!var16) {
9200 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18649);
9201 exit(1);
9202 }
9203 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
9204 var20 = NULL;
9205 var21 = NULL;
9206 var22 = NULL;
9207 var23 = NULL;
9208 var24 = NULL;
9209 var25 = NULL;
9210 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var20, var21, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var22, var_tidnode9, var23, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
9211 CHECK_NEW_parser_nodes__AAttrPropdef(var19);
9212 var_ppropdefnode1 = var19;
9213 var_node_list = var_ppropdefnode1;
9214 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction414> */
9215 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
9216 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
9217 RET_LABEL:;
9218 }
9219 /* method parser#ReduceAction414#action for (self: Object, Parser) */
9220 void VIRTUAL_parser__ReduceAction414__action(val* self, val* p0) {
9221 parser__ReduceAction414__action(self, p0);
9222 RET_LABEL:;
9223 }
9224 /* method parser#ReduceAction415#action for (self: ReduceAction415, Parser) */
9225 void parser__ReduceAction415__action(val* self, val* p0) {
9226 val* var_p /* var p: Parser */;
9227 val* var /* : null */;
9228 val* var_node_list /* var node_list: nullable Object */;
9229 val* var1 /* : nullable Object */;
9230 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9231 val* var2 /* : nullable Object */;
9232 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9233 val* var3 /* : nullable Object */;
9234 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9235 val* var4 /* : nullable Object */;
9236 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9237 val* var5 /* : nullable Object */;
9238 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9239 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9240 short int var6 /* : Bool */;
9241 int cltype;
9242 int idtype;
9243 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
9244 short int var7 /* : Bool */;
9245 int cltype8;
9246 int idtype9;
9247 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
9248 short int var10 /* : Bool */;
9249 int cltype11;
9250 int idtype12;
9251 val* var_tidnode9 /* var tidnode9: nullable Object */;
9252 short int var13 /* : Bool */;
9253 int cltype14;
9254 int idtype15;
9255 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
9256 short int var16 /* : Bool */;
9257 int cltype17;
9258 int idtype18;
9259 val* var19 /* : AAttrPropdef */;
9260 val* var20 /* : null */;
9261 val* var21 /* : null */;
9262 val* var22 /* : null */;
9263 val* var23 /* : null */;
9264 val* var24 /* : null */;
9265 val* var25 /* : null */;
9266 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
9267 long var26 /* : Int */;
9268 long var27 /* : Int */;
9269 var_p = p0;
9270 var = NULL;
9271 var_node_list = var;
9272 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9273 var_nodearraylist5 = var1;
9274 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9275 var_nodearraylist4 = var2;
9276 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9277 var_nodearraylist3 = var3;
9278 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9279 var_nodearraylist2 = var4;
9280 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9281 var_nodearraylist1 = var5;
9282 var_pdocnode2 = var_nodearraylist1;
9283 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9284 cltype = type_nullable_parser_nodes__ADoc.color;
9285 idtype = type_nullable_parser_nodes__ADoc.id;
9286 if(var_pdocnode2 == NULL) {
9287 var6 = 1;
9288 } else {
9289 if(cltype >= var_pdocnode2->type->table_size) {
9290 var6 = 0;
9291 } else {
9292 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
9293 }
9294 }
9295 if (!var6) {
9296 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18678);
9297 exit(1);
9298 }
9299 var_pvisibilitynode6 = var_nodearraylist2;
9300 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
9301 cltype8 = type_nullable_parser_nodes__AVisibility.color;
9302 idtype9 = type_nullable_parser_nodes__AVisibility.id;
9303 if(var_pvisibilitynode6 == NULL) {
9304 var7 = 1;
9305 } else {
9306 if(cltype8 >= var_pvisibilitynode6->type->table_size) {
9307 var7 = 0;
9308 } else {
9309 var7 = var_pvisibilitynode6->type->type_table[cltype8] == idtype9;
9310 }
9311 }
9312 if (!var7) {
9313 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18680);
9314 exit(1);
9315 }
9316 var_tkwvarnode7 = var_nodearraylist3;
9317 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
9318 cltype11 = type_nullable_parser_nodes__TKwvar.color;
9319 idtype12 = type_nullable_parser_nodes__TKwvar.id;
9320 if(var_tkwvarnode7 == NULL) {
9321 var10 = 1;
9322 } else {
9323 if(cltype11 >= var_tkwvarnode7->type->table_size) {
9324 var10 = 0;
9325 } else {
9326 var10 = var_tkwvarnode7->type->type_table[cltype11] == idtype12;
9327 }
9328 }
9329 if (!var10) {
9330 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18682);
9331 exit(1);
9332 }
9333 var_tidnode9 = var_nodearraylist4;
9334 /* <var_tidnode9:nullable Object> isa nullable TId */
9335 cltype14 = type_nullable_parser_nodes__TId.color;
9336 idtype15 = type_nullable_parser_nodes__TId.id;
9337 if(var_tidnode9 == NULL) {
9338 var13 = 1;
9339 } else {
9340 if(cltype14 >= var_tidnode9->type->table_size) {
9341 var13 = 0;
9342 } else {
9343 var13 = var_tidnode9->type->type_table[cltype14] == idtype15;
9344 }
9345 }
9346 if (!var13) {
9347 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18684);
9348 exit(1);
9349 }
9350 var_ptypenode10 = var_nodearraylist5;
9351 /* <var_ptypenode10:nullable Object> isa nullable AType */
9352 cltype17 = type_nullable_parser_nodes__AType.color;
9353 idtype18 = type_nullable_parser_nodes__AType.id;
9354 if(var_ptypenode10 == NULL) {
9355 var16 = 1;
9356 } else {
9357 if(cltype17 >= var_ptypenode10->type->table_size) {
9358 var16 = 0;
9359 } else {
9360 var16 = var_ptypenode10->type->type_table[cltype17] == idtype18;
9361 }
9362 }
9363 if (!var16) {
9364 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18686);
9365 exit(1);
9366 }
9367 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
9368 var20 = NULL;
9369 var21 = NULL;
9370 var22 = NULL;
9371 var23 = NULL;
9372 var24 = NULL;
9373 var25 = NULL;
9374 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var20, var21, var22, var_pvisibilitynode6, var_tkwvarnode7, var23, var_tidnode9, var_ptypenode10, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
9375 CHECK_NEW_parser_nodes__AAttrPropdef(var19);
9376 var_ppropdefnode1 = var19;
9377 var_node_list = var_ppropdefnode1;
9378 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction415> */
9379 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
9380 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
9381 RET_LABEL:;
9382 }
9383 /* method parser#ReduceAction415#action for (self: Object, Parser) */
9384 void VIRTUAL_parser__ReduceAction415__action(val* self, val* p0) {
9385 parser__ReduceAction415__action(self, p0);
9386 RET_LABEL:;
9387 }
9388 /* method parser#ReduceAction416#action for (self: ReduceAction416, Parser) */
9389 void parser__ReduceAction416__action(val* self, val* p0) {
9390 val* var_p /* var p: Parser */;
9391 val* var /* : null */;
9392 val* var_node_list /* var node_list: nullable Object */;
9393 val* var1 /* : nullable Object */;
9394 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9395 val* var2 /* : nullable Object */;
9396 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9397 val* var3 /* : nullable Object */;
9398 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9399 val* var4 /* : nullable Object */;
9400 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9401 val* var5 /* : nullable Object */;
9402 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9403 val* var6 /* : nullable Object */;
9404 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9405 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9406 short int var7 /* : Bool */;
9407 int cltype;
9408 int idtype;
9409 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
9410 short int var8 /* : Bool */;
9411 int cltype9;
9412 int idtype10;
9413 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
9414 short int var11 /* : Bool */;
9415 int cltype12;
9416 int idtype13;
9417 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
9418 short int var14 /* : Bool */;
9419 int cltype15;
9420 int idtype16;
9421 val* var_tidnode9 /* var tidnode9: nullable Object */;
9422 short int var17 /* : Bool */;
9423 int cltype18;
9424 int idtype19;
9425 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
9426 short int var20 /* : Bool */;
9427 int cltype21;
9428 int idtype22;
9429 val* var23 /* : AAttrPropdef */;
9430 val* var24 /* : null */;
9431 val* var25 /* : null */;
9432 val* var26 /* : null */;
9433 val* var27 /* : null */;
9434 val* var28 /* : null */;
9435 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
9436 long var29 /* : Int */;
9437 long var30 /* : Int */;
9438 var_p = p0;
9439 var = NULL;
9440 var_node_list = var;
9441 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9442 var_nodearraylist6 = var1;
9443 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9444 var_nodearraylist5 = var2;
9445 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9446 var_nodearraylist4 = var3;
9447 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9448 var_nodearraylist3 = var4;
9449 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9450 var_nodearraylist2 = var5;
9451 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9452 var_nodearraylist1 = var6;
9453 var_pdocnode2 = var_nodearraylist1;
9454 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9455 cltype = type_nullable_parser_nodes__ADoc.color;
9456 idtype = type_nullable_parser_nodes__ADoc.id;
9457 if(var_pdocnode2 == NULL) {
9458 var7 = 1;
9459 } else {
9460 if(cltype >= var_pdocnode2->type->table_size) {
9461 var7 = 0;
9462 } else {
9463 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
9464 }
9465 }
9466 if (!var7) {
9467 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18716);
9468 exit(1);
9469 }
9470 var_tkwredefnode5 = var_nodearraylist2;
9471 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
9472 cltype9 = type_nullable_parser_nodes__TKwredef.color;
9473 idtype10 = type_nullable_parser_nodes__TKwredef.id;
9474 if(var_tkwredefnode5 == NULL) {
9475 var8 = 1;
9476 } else {
9477 if(cltype9 >= var_tkwredefnode5->type->table_size) {
9478 var8 = 0;
9479 } else {
9480 var8 = var_tkwredefnode5->type->type_table[cltype9] == idtype10;
9481 }
9482 }
9483 if (!var8) {
9484 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18718);
9485 exit(1);
9486 }
9487 var_pvisibilitynode6 = var_nodearraylist3;
9488 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
9489 cltype12 = type_nullable_parser_nodes__AVisibility.color;
9490 idtype13 = type_nullable_parser_nodes__AVisibility.id;
9491 if(var_pvisibilitynode6 == NULL) {
9492 var11 = 1;
9493 } else {
9494 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
9495 var11 = 0;
9496 } else {
9497 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
9498 }
9499 }
9500 if (!var11) {
9501 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18720);
9502 exit(1);
9503 }
9504 var_tkwvarnode7 = var_nodearraylist4;
9505 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
9506 cltype15 = type_nullable_parser_nodes__TKwvar.color;
9507 idtype16 = type_nullable_parser_nodes__TKwvar.id;
9508 if(var_tkwvarnode7 == NULL) {
9509 var14 = 1;
9510 } else {
9511 if(cltype15 >= var_tkwvarnode7->type->table_size) {
9512 var14 = 0;
9513 } else {
9514 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
9515 }
9516 }
9517 if (!var14) {
9518 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18722);
9519 exit(1);
9520 }
9521 var_tidnode9 = var_nodearraylist5;
9522 /* <var_tidnode9:nullable Object> isa nullable TId */
9523 cltype18 = type_nullable_parser_nodes__TId.color;
9524 idtype19 = type_nullable_parser_nodes__TId.id;
9525 if(var_tidnode9 == NULL) {
9526 var17 = 1;
9527 } else {
9528 if(cltype18 >= var_tidnode9->type->table_size) {
9529 var17 = 0;
9530 } else {
9531 var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
9532 }
9533 }
9534 if (!var17) {
9535 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18724);
9536 exit(1);
9537 }
9538 var_ptypenode10 = var_nodearraylist6;
9539 /* <var_ptypenode10:nullable Object> isa nullable AType */
9540 cltype21 = type_nullable_parser_nodes__AType.color;
9541 idtype22 = type_nullable_parser_nodes__AType.id;
9542 if(var_ptypenode10 == NULL) {
9543 var20 = 1;
9544 } else {
9545 if(cltype21 >= var_ptypenode10->type->table_size) {
9546 var20 = 0;
9547 } else {
9548 var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
9549 }
9550 }
9551 if (!var20) {
9552 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18726);
9553 exit(1);
9554 }
9555 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
9556 var24 = NULL;
9557 var25 = NULL;
9558 var26 = NULL;
9559 var27 = NULL;
9560 var28 = NULL;
9561 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var25, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var26, var_tidnode9, var_ptypenode10, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
9562 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
9563 var_ppropdefnode1 = var23;
9564 var_node_list = var_ppropdefnode1;
9565 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction416> */
9566 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
9567 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
9568 RET_LABEL:;
9569 }
9570 /* method parser#ReduceAction416#action for (self: Object, Parser) */
9571 void VIRTUAL_parser__ReduceAction416__action(val* self, val* p0) {
9572 parser__ReduceAction416__action(self, p0);
9573 RET_LABEL:;
9574 }
9575 /* method parser#ReduceAction417#action for (self: ReduceAction417, Parser) */
9576 void parser__ReduceAction417__action(val* self, val* p0) {
9577 val* var_p /* var p: Parser */;
9578 val* var /* : null */;
9579 val* var_node_list /* var node_list: nullable Object */;
9580 val* var1 /* : nullable Object */;
9581 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9582 val* var2 /* : nullable Object */;
9583 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9584 val* var3 /* : nullable Object */;
9585 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9586 val* var4 /* : nullable Object */;
9587 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9588 val* var5 /* : nullable Object */;
9589 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9590 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9591 short int var6 /* : Bool */;
9592 int cltype;
9593 int idtype;
9594 val* var_pablenode4 /* var pablenode4: nullable Object */;
9595 short int var7 /* : Bool */;
9596 int cltype8;
9597 int idtype9;
9598 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
9599 short int var10 /* : Bool */;
9600 int cltype11;
9601 int idtype12;
9602 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
9603 short int var13 /* : Bool */;
9604 int cltype14;
9605 int idtype15;
9606 val* var_tidnode9 /* var tidnode9: nullable Object */;
9607 short int var16 /* : Bool */;
9608 int cltype17;
9609 int idtype18;
9610 val* var19 /* : AAttrPropdef */;
9611 val* var20 /* : null */;
9612 val* var21 /* : null */;
9613 val* var22 /* : null */;
9614 val* var23 /* : null */;
9615 val* var24 /* : null */;
9616 val* var25 /* : null */;
9617 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
9618 long var26 /* : Int */;
9619 long var27 /* : Int */;
9620 var_p = p0;
9621 var = NULL;
9622 var_node_list = var;
9623 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9624 var_nodearraylist5 = var1;
9625 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9626 var_nodearraylist4 = var2;
9627 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9628 var_nodearraylist3 = var3;
9629 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9630 var_nodearraylist2 = var4;
9631 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9632 var_nodearraylist1 = var5;
9633 var_pdocnode2 = var_nodearraylist1;
9634 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9635 cltype = type_nullable_parser_nodes__ADoc.color;
9636 idtype = type_nullable_parser_nodes__ADoc.id;
9637 if(var_pdocnode2 == NULL) {
9638 var6 = 1;
9639 } else {
9640 if(cltype >= var_pdocnode2->type->table_size) {
9641 var6 = 0;
9642 } else {
9643 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
9644 }
9645 }
9646 if (!var6) {
9647 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18755);
9648 exit(1);
9649 }
9650 var_pablenode4 = var_nodearraylist5;
9651 /* <var_pablenode4:nullable Object> isa nullable AAble */
9652 cltype8 = type_nullable_parser_nodes__AAble.color;
9653 idtype9 = type_nullable_parser_nodes__AAble.id;
9654 if(var_pablenode4 == NULL) {
9655 var7 = 1;
9656 } else {
9657 if(cltype8 >= var_pablenode4->type->table_size) {
9658 var7 = 0;
9659 } else {
9660 var7 = var_pablenode4->type->type_table[cltype8] == idtype9;
9661 }
9662 }
9663 if (!var7) {
9664 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18757);
9665 exit(1);
9666 }
9667 var_pvisibilitynode6 = var_nodearraylist2;
9668 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
9669 cltype11 = type_nullable_parser_nodes__AVisibility.color;
9670 idtype12 = type_nullable_parser_nodes__AVisibility.id;
9671 if(var_pvisibilitynode6 == NULL) {
9672 var10 = 1;
9673 } else {
9674 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
9675 var10 = 0;
9676 } else {
9677 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
9678 }
9679 }
9680 if (!var10) {
9681 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18759);
9682 exit(1);
9683 }
9684 var_tkwvarnode7 = var_nodearraylist3;
9685 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
9686 cltype14 = type_nullable_parser_nodes__TKwvar.color;
9687 idtype15 = type_nullable_parser_nodes__TKwvar.id;
9688 if(var_tkwvarnode7 == NULL) {
9689 var13 = 1;
9690 } else {
9691 if(cltype14 >= var_tkwvarnode7->type->table_size) {
9692 var13 = 0;
9693 } else {
9694 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
9695 }
9696 }
9697 if (!var13) {
9698 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18761);
9699 exit(1);
9700 }
9701 var_tidnode9 = var_nodearraylist4;
9702 /* <var_tidnode9:nullable Object> isa nullable TId */
9703 cltype17 = type_nullable_parser_nodes__TId.color;
9704 idtype18 = type_nullable_parser_nodes__TId.id;
9705 if(var_tidnode9 == NULL) {
9706 var16 = 1;
9707 } else {
9708 if(cltype17 >= var_tidnode9->type->table_size) {
9709 var16 = 0;
9710 } else {
9711 var16 = var_tidnode9->type->type_table[cltype17] == idtype18;
9712 }
9713 }
9714 if (!var16) {
9715 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18763);
9716 exit(1);
9717 }
9718 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
9719 var20 = NULL;
9720 var21 = NULL;
9721 var22 = NULL;
9722 var23 = NULL;
9723 var24 = NULL;
9724 var25 = NULL;
9725 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var19, var_pdocnode2, var20, var_pablenode4, var21, var_pvisibilitynode6, var_tkwvarnode7, var22, var_tidnode9, var23, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
9726 CHECK_NEW_parser_nodes__AAttrPropdef(var19);
9727 var_ppropdefnode1 = var19;
9728 var_node_list = var_ppropdefnode1;
9729 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction417> */
9730 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
9731 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
9732 RET_LABEL:;
9733 }
9734 /* method parser#ReduceAction417#action for (self: Object, Parser) */
9735 void VIRTUAL_parser__ReduceAction417__action(val* self, val* p0) {
9736 parser__ReduceAction417__action(self, p0);
9737 RET_LABEL:;
9738 }
9739 /* method parser#ReduceAction418#action for (self: ReduceAction418, Parser) */
9740 void parser__ReduceAction418__action(val* self, val* p0) {
9741 val* var_p /* var p: Parser */;
9742 val* var /* : null */;
9743 val* var_node_list /* var node_list: nullable Object */;
9744 val* var1 /* : nullable Object */;
9745 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9746 val* var2 /* : nullable Object */;
9747 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9748 val* var3 /* : nullable Object */;
9749 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9750 val* var4 /* : nullable Object */;
9751 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9752 val* var5 /* : nullable Object */;
9753 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9754 val* var6 /* : nullable Object */;
9755 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9756 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9757 short int var7 /* : Bool */;
9758 int cltype;
9759 int idtype;
9760 val* var_pablenode4 /* var pablenode4: nullable Object */;
9761 short int var8 /* : Bool */;
9762 int cltype9;
9763 int idtype10;
9764 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
9765 short int var11 /* : Bool */;
9766 int cltype12;
9767 int idtype13;
9768 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
9769 short int var14 /* : Bool */;
9770 int cltype15;
9771 int idtype16;
9772 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
9773 short int var17 /* : Bool */;
9774 int cltype18;
9775 int idtype19;
9776 val* var_tidnode9 /* var tidnode9: nullable Object */;
9777 short int var20 /* : Bool */;
9778 int cltype21;
9779 int idtype22;
9780 val* var23 /* : AAttrPropdef */;
9781 val* var24 /* : null */;
9782 val* var25 /* : null */;
9783 val* var26 /* : null */;
9784 val* var27 /* : null */;
9785 val* var28 /* : null */;
9786 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
9787 long var29 /* : Int */;
9788 long var30 /* : Int */;
9789 var_p = p0;
9790 var = NULL;
9791 var_node_list = var;
9792 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9793 var_nodearraylist6 = var1;
9794 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9795 var_nodearraylist5 = var2;
9796 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9797 var_nodearraylist4 = var3;
9798 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9799 var_nodearraylist3 = var4;
9800 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9801 var_nodearraylist2 = var5;
9802 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9803 var_nodearraylist1 = var6;
9804 var_pdocnode2 = var_nodearraylist1;
9805 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9806 cltype = type_nullable_parser_nodes__ADoc.color;
9807 idtype = type_nullable_parser_nodes__ADoc.id;
9808 if(var_pdocnode2 == NULL) {
9809 var7 = 1;
9810 } else {
9811 if(cltype >= var_pdocnode2->type->table_size) {
9812 var7 = 0;
9813 } else {
9814 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
9815 }
9816 }
9817 if (!var7) {
9818 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18793);
9819 exit(1);
9820 }
9821 var_pablenode4 = var_nodearraylist6;
9822 /* <var_pablenode4:nullable Object> isa nullable AAble */
9823 cltype9 = type_nullable_parser_nodes__AAble.color;
9824 idtype10 = type_nullable_parser_nodes__AAble.id;
9825 if(var_pablenode4 == NULL) {
9826 var8 = 1;
9827 } else {
9828 if(cltype9 >= var_pablenode4->type->table_size) {
9829 var8 = 0;
9830 } else {
9831 var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
9832 }
9833 }
9834 if (!var8) {
9835 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18795);
9836 exit(1);
9837 }
9838 var_tkwredefnode5 = var_nodearraylist2;
9839 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
9840 cltype12 = type_nullable_parser_nodes__TKwredef.color;
9841 idtype13 = type_nullable_parser_nodes__TKwredef.id;
9842 if(var_tkwredefnode5 == NULL) {
9843 var11 = 1;
9844 } else {
9845 if(cltype12 >= var_tkwredefnode5->type->table_size) {
9846 var11 = 0;
9847 } else {
9848 var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
9849 }
9850 }
9851 if (!var11) {
9852 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18797);
9853 exit(1);
9854 }
9855 var_pvisibilitynode6 = var_nodearraylist3;
9856 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
9857 cltype15 = type_nullable_parser_nodes__AVisibility.color;
9858 idtype16 = type_nullable_parser_nodes__AVisibility.id;
9859 if(var_pvisibilitynode6 == NULL) {
9860 var14 = 1;
9861 } else {
9862 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
9863 var14 = 0;
9864 } else {
9865 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
9866 }
9867 }
9868 if (!var14) {
9869 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18799);
9870 exit(1);
9871 }
9872 var_tkwvarnode7 = var_nodearraylist4;
9873 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
9874 cltype18 = type_nullable_parser_nodes__TKwvar.color;
9875 idtype19 = type_nullable_parser_nodes__TKwvar.id;
9876 if(var_tkwvarnode7 == NULL) {
9877 var17 = 1;
9878 } else {
9879 if(cltype18 >= var_tkwvarnode7->type->table_size) {
9880 var17 = 0;
9881 } else {
9882 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
9883 }
9884 }
9885 if (!var17) {
9886 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18801);
9887 exit(1);
9888 }
9889 var_tidnode9 = var_nodearraylist5;
9890 /* <var_tidnode9:nullable Object> isa nullable TId */
9891 cltype21 = type_nullable_parser_nodes__TId.color;
9892 idtype22 = type_nullable_parser_nodes__TId.id;
9893 if(var_tidnode9 == NULL) {
9894 var20 = 1;
9895 } else {
9896 if(cltype21 >= var_tidnode9->type->table_size) {
9897 var20 = 0;
9898 } else {
9899 var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
9900 }
9901 }
9902 if (!var20) {
9903 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18803);
9904 exit(1);
9905 }
9906 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
9907 var24 = NULL;
9908 var25 = NULL;
9909 var26 = NULL;
9910 var27 = NULL;
9911 var28 = NULL;
9912 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var23, var_pdocnode2, var24, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var25, var_tidnode9, var26, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
9913 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
9914 var_ppropdefnode1 = var23;
9915 var_node_list = var_ppropdefnode1;
9916 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction418> */
9917 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
9918 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
9919 RET_LABEL:;
9920 }
9921 /* method parser#ReduceAction418#action for (self: Object, Parser) */
9922 void VIRTUAL_parser__ReduceAction418__action(val* self, val* p0) {
9923 parser__ReduceAction418__action(self, p0);
9924 RET_LABEL:;
9925 }